From 8eec65caf491f326f937090bdc52156d4f86bd99 Mon Sep 17 00:00:00 2001 From: walbourn_cp Date: Mon, 5 Aug 2013 10:58:54 -0700 Subject: [PATCH] DirectXTex: BC6H / BC7 DirectCompute codec integration --- DirectXTex/BCDirectCompute.cpp | 599 + DirectXTex/BCDirectCompute.h | 70 + DirectXTex/DirectXTex.h | 7 +- DirectXTex/DirectXTexCompressGPU.cpp | 383 + DirectXTex/DirectXTex_Desktop_2010.vcxproj | 3 + .../DirectXTex_Desktop_2010.vcxproj.filters | 6 +- .../DirectXTex_Desktop_2010_SDK80.vcxproj | 3 + ...ectXTex_Desktop_2010_SDK80.vcxproj.filters | 6 +- DirectXTex/DirectXTex_Desktop_2012.vcxproj | 4 +- .../DirectXTex_Desktop_2012.vcxproj.filters | 9 +- DirectXTex/DirectXTex_Desktop_2013.vcxproj | 3 + .../DirectXTex_Desktop_2013.vcxproj.filters | 9 +- DirectXTex/DirectXTex_Windows8.vcxproj | 3 + .../DirectXTex_Windows8.vcxproj.filters | 6 +- .../DirectXTex_Windows81Preview.vcxproj | 3 + ...irectXTex_Windows81Preview.vcxproj.filters | 6 +- DirectXTex/Shaders/BC6HEncode.hlsl | 2566 ++ DirectXTex/Shaders/BC7Encode.hlsl | 1907 ++ DirectXTex/Shaders/CompileShaders.cmd | 37 + .../Compiled/BC6HEncode_EncodeBlockCS.inc | 22215 ++++++++++++++++ .../Compiled/BC6HEncode_TryModeG10CS.inc | 3375 +++ .../Compiled/BC6HEncode_TryModeLE10CS.inc | 5103 ++++ .../Compiled/BC7Encode_EncodeBlockCS.inc | 10152 +++++++ .../Compiled/BC7Encode_TryMode02CS.inc | 3824 +++ .../Compiled/BC7Encode_TryMode137CS.inc | 3962 +++ .../Compiled/BC7Encode_TryMode456CS.inc | 3027 +++ DirectXTex/scoped.h | 8 +- Texconv/texconv.cpp | 116 +- 28 files changed, 57379 insertions(+), 33 deletions(-) create mode 100644 DirectXTex/BCDirectCompute.cpp create mode 100644 DirectXTex/BCDirectCompute.h create mode 100644 DirectXTex/DirectXTexCompressGPU.cpp create mode 100644 DirectXTex/Shaders/BC6HEncode.hlsl create mode 100644 DirectXTex/Shaders/BC7Encode.hlsl create mode 100644 DirectXTex/Shaders/CompileShaders.cmd create mode 100644 DirectXTex/Shaders/Compiled/BC6HEncode_EncodeBlockCS.inc create mode 100644 DirectXTex/Shaders/Compiled/BC6HEncode_TryModeG10CS.inc create mode 100644 DirectXTex/Shaders/Compiled/BC6HEncode_TryModeLE10CS.inc create mode 100644 DirectXTex/Shaders/Compiled/BC7Encode_EncodeBlockCS.inc create mode 100644 DirectXTex/Shaders/Compiled/BC7Encode_TryMode02CS.inc create mode 100644 DirectXTex/Shaders/Compiled/BC7Encode_TryMode137CS.inc create mode 100644 DirectXTex/Shaders/Compiled/BC7Encode_TryMode456CS.inc diff --git a/DirectXTex/BCDirectCompute.cpp b/DirectXTex/BCDirectCompute.cpp new file mode 100644 index 0000000..6665377 --- /dev/null +++ b/DirectXTex/BCDirectCompute.cpp @@ -0,0 +1,599 @@ +//------------------------------------------------------------------------------------- +// BCDirectCompute.cpp +// +// Direct3D 11 Compute Shader BC Compressor +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +//------------------------------------------------------------------------------------- + +#include "directxtexp.h" + +#include "BCDirectCompute.h" + +#if defined(_DEBUG) || defined(PROFILE) +#pragma comment(lib,"dxguid.lib") +#endif + +namespace +{ + #include "Shaders\Compiled\BC7Encode_EncodeBlockCS.inc" + #include "Shaders\Compiled\BC7Encode_TryMode02CS.inc" + #include "Shaders\Compiled\BC7Encode_TryMode137CS.inc" + #include "Shaders\Compiled\BC7Encode_TryMode456CS.inc" + #include "Shaders\Compiled\BC6HEncode_EncodeBlockCS.inc" + #include "Shaders\Compiled\BC6HEncode_TryModeG10CS.inc" + #include "Shaders\Compiled\BC6HEncode_TryModeLE10CS.inc" + + struct BufferBC6HBC7 + { + UINT color[4]; + }; + + struct ConstantsBC6HBC7 + { + UINT tex_width; + UINT num_block_x; + UINT format; + UINT mode_id; + UINT start_block_id; + UINT num_total_blocks; + float alpha_weight; + UINT reserved; + }; + + static_assert( sizeof(ConstantsBC6HBC7) == sizeof(UINT)*8, "Constant buffer size mismatch" ); + + inline void RunComputeShader( ID3D11DeviceContext* pContext, + ID3D11ComputeShader* shader, + ID3D11ShaderResourceView** pSRVs, + UINT srvCount, + ID3D11Buffer* pCB, + ID3D11UnorderedAccessView* pUAV, + UINT X ) + { + // Force UAV to nullptr before setting SRV since we are swapping buffers + ID3D11UnorderedAccessView* nullUAV = nullptr; + pContext->CSSetUnorderedAccessViews( 0, 1, &nullUAV, nullptr ); + + pContext->CSSetShader( shader, nullptr, 0 ); + pContext->CSSetShaderResources( 0, srvCount, pSRVs ); + pContext->CSSetUnorderedAccessViews( 0, 1, &pUAV, nullptr ); + pContext->CSSetConstantBuffers( 0, 1, &pCB ); + pContext->Dispatch( X, 1, 1 ); + } + + inline void ResetContext( ID3D11DeviceContext* pContext ) + { + ID3D11UnorderedAccessView* nullUAV = nullptr; + pContext->CSSetUnorderedAccessViews( 0, 1, &nullUAV, nullptr ); + + ID3D11ShaderResourceView* nullSRV[3] = { nullptr, nullptr, nullptr }; + pContext->CSSetShaderResources( 0, 3, nullSRV ); + + ID3D11Buffer* nullBuffer[1] = { nullptr }; + pContext->CSSetConstantBuffers( 0, 1, nullBuffer ); + } +}; + +namespace DirectX +{ + +GPUCompressBC::GPUCompressBC() : + m_bcformat(DXGI_FORMAT_UNKNOWN), + m_srcformat(DXGI_FORMAT_UNKNOWN), + m_alphaWeight(1.f), + m_width(0), + m_height(0) +{ +} + + +//------------------------------------------------------------------------------------- +_Use_decl_annotations_ +HRESULT GPUCompressBC::Initialize( ID3D11Device* pDevice ) +{ + if ( !pDevice ) + return E_INVALIDARG; + + // Check for DirectCompute support + D3D_FEATURE_LEVEL fl = pDevice->GetFeatureLevel(); + + if ( fl < D3D_FEATURE_LEVEL_10_0 ) + { + // DirectCompute not supported on Feature Level 9.x hardware + return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); + } + + if ( fl < D3D_FEATURE_LEVEL_11_0 ) + { + // DirectCompute support on Feature Level 10.x hardware is optional, and this function needs it + D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS hwopts; + HRESULT hr = pDevice->CheckFeatureSupport( D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS, &hwopts, sizeof(hwopts) ); + if ( FAILED(hr) ) + { + memset( &hwopts, 0, sizeof(hwopts) ); + } + + if ( !hwopts.ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x ) + { + return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); + } + } + + // Save a device reference and obtain immediate context + m_device = pDevice; + + pDevice->GetImmediateContext( m_context.ReleaseAndGetAddressOf() ); + assert( m_context ); + + //--- Create compute shader library: BC6H ----------------------------------------- + + // Modes 11-14 + HRESULT hr = pDevice->CreateComputeShader( BC6HEncode_TryModeG10CS, sizeof(BC6HEncode_TryModeG10CS), nullptr, m_BC6H_tryModeG10CS.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + return hr; + + // Modes 1-10 + hr = pDevice->CreateComputeShader( BC6HEncode_TryModeLE10CS, sizeof(BC6HEncode_TryModeLE10CS), nullptr, m_BC6H_tryModeLE10CS.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + return hr; + + // Encode + hr = pDevice->CreateComputeShader( BC6HEncode_EncodeBlockCS, sizeof(BC6HEncode_EncodeBlockCS), nullptr, m_BC6H_encodeBlockCS.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + return hr; + + //--- Create compute shader library: BC7 ------------------------------------------ + + // Modes 4, 5, 6 + hr = pDevice->CreateComputeShader( BC7Encode_TryMode456CS, sizeof(BC7Encode_TryMode456CS), nullptr, m_BC7_tryMode456CS.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + return hr; + + // Modes 1, 3, 7 + hr = pDevice->CreateComputeShader( BC7Encode_TryMode137CS, sizeof(BC7Encode_TryMode137CS), nullptr, m_BC7_tryMode137CS.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + return hr; + + // Modes 0, 2 + hr = pDevice->CreateComputeShader( BC7Encode_TryMode02CS, sizeof(BC7Encode_TryMode02CS), nullptr, m_BC7_tryMode02CS.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + return hr; + + // Encode + hr = pDevice->CreateComputeShader( BC7Encode_EncodeBlockCS, sizeof(BC7Encode_EncodeBlockCS), nullptr, m_BC7_encodeBlockCS.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + return hr; + + return S_OK; +} + + +//------------------------------------------------------------------------------------- +_Use_decl_annotations_ +HRESULT GPUCompressBC::Prepare( size_t width, size_t height, DXGI_FORMAT format, float alphaWeight ) +{ + if ( !width || !height || alphaWeight < 0.f ) + return E_INVALIDARG; + +#ifdef _M_X64 + if ( (width > 0xFFFFFFFF) || (height > 0xFFFFFFFF) ) + return E_INVALIDARG; +#endif + + m_width = width; + m_height = height; + + size_t xblocks = std::max( 1, (width + 3) >> 2 ); + size_t yblocks = std::max( 1, (height + 3) >> 2 ); + size_t num_blocks = xblocks * yblocks; + + switch( format ) + { + // BC6H GPU compressor takes RGBAF32 as input + case DXGI_FORMAT_BC6H_TYPELESS: + case DXGI_FORMAT_BC6H_UF16: + case DXGI_FORMAT_BC6H_SF16: + m_srcformat = DXGI_FORMAT_R32G32B32A32_FLOAT; + break; + + // BC7 GPU compressor takes RGBA32 as input + case DXGI_FORMAT_BC7_TYPELESS: + case DXGI_FORMAT_BC7_UNORM: + m_srcformat = DXGI_FORMAT_R8G8B8A8_UNORM; + break; + + case DXGI_FORMAT_BC7_UNORM_SRGB: + m_srcformat = DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; + break; + + default: + m_bcformat = m_srcformat = DXGI_FORMAT_UNKNOWN; + return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); + } + + m_bcformat = format; + + auto pDevice = m_device.Get(); + if ( !pDevice ) + return E_POINTER; + + // Create structured buffers + size_t bufferSize = num_blocks * sizeof( BufferBC6HBC7 ); + { + D3D11_BUFFER_DESC desc; + memset( &desc, 0, sizeof(desc) ); + desc.BindFlags = D3D11_BIND_UNORDERED_ACCESS | D3D11_BIND_SHADER_RESOURCE; + desc.Usage = D3D11_USAGE_DEFAULT; + desc.MiscFlags = D3D11_RESOURCE_MISC_BUFFER_STRUCTURED; + desc.StructureByteStride = sizeof( BufferBC6HBC7 ); + desc.ByteWidth = static_cast( bufferSize ); + + HRESULT hr = pDevice->CreateBuffer( &desc, nullptr, m_output.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + { + return hr; + } + + hr = pDevice->CreateBuffer( &desc, nullptr, m_err1.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + { + return hr; + } + + hr = pDevice->CreateBuffer( &desc, nullptr, m_err2.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + { + return hr; + } + } + + // Create staging output buffer + { + D3D11_BUFFER_DESC desc; + memset( &desc, 0, sizeof(desc) ); + desc.Usage = D3D11_USAGE_STAGING; + desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ; + desc.ByteWidth = static_cast( bufferSize ); + + HRESULT hr = pDevice->CreateBuffer( &desc, nullptr, m_outputCPU.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + { + return hr; + } + } + + // Create constant buffer + { + D3D11_BUFFER_DESC desc; + memset( &desc, 0, sizeof(desc) ); + desc.BindFlags = D3D11_BIND_CONSTANT_BUFFER; + desc.Usage = D3D11_USAGE_DYNAMIC; + desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; + desc.ByteWidth = sizeof( ConstantsBC6HBC7 ); + + HRESULT hr = pDevice->CreateBuffer( &desc, nullptr, m_constBuffer.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + { + return hr; + } + } + + // Create shader resource views + { + D3D11_SHADER_RESOURCE_VIEW_DESC desc; + memset( &desc, 0, sizeof(desc) ); + desc.Buffer.NumElements = static_cast( num_blocks ); + desc.ViewDimension = D3D11_SRV_DIMENSION_BUFFER; + + HRESULT hr = pDevice->CreateShaderResourceView( m_err1.Get(), &desc, m_err1SRV.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + { + return hr; + } + + hr = pDevice->CreateShaderResourceView( m_err2.Get(), &desc, m_err2SRV.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + { + return hr; + } + } + + // Create unordered access views + { + D3D11_UNORDERED_ACCESS_VIEW_DESC desc; + memset( &desc, 0, sizeof(desc) ); + desc.Buffer.NumElements = static_cast( num_blocks ); + desc.ViewDimension = D3D11_UAV_DIMENSION_BUFFER; + + HRESULT hr = pDevice->CreateUnorderedAccessView( m_output.Get(), &desc, m_outputUAV.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + { + return hr; + } + + hr = pDevice->CreateUnorderedAccessView( m_err1.Get(), &desc, m_err1UAV.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + { + return hr; + } + + hr = pDevice->CreateUnorderedAccessView( m_err2.Get(), &desc, m_err2UAV.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + { + return hr; + } + } + + return S_OK; +} + + +//------------------------------------------------------------------------------------- +_Use_decl_annotations_ +HRESULT GPUCompressBC::Compress( const Image& srcImage, const Image& destImage ) +{ + if ( !srcImage.pixels || !destImage.pixels ) + return E_INVALIDARG; + + if ( srcImage.width != destImage.width + || srcImage.height != destImage.height + || srcImage.width != m_width + || srcImage.height != m_height + || srcImage.format != m_srcformat + || destImage.format != m_bcformat ) + { + return E_UNEXPECTED; + } + + //--- Create input texture -------------------------------------------------------- + // TODO - non-power-of-2 BCs require handling non-multiple of 4 cases + + auto pDevice = m_device.Get(); + if ( !pDevice ) + return E_POINTER; + + ScopedObject sourceTex; + { + D3D11_TEXTURE2D_DESC desc; + memset( &desc, 0, sizeof(desc) ); + desc.Width = static_cast( srcImage.width ); + desc.Height = static_cast( srcImage.height ); + desc.MipLevels = 1; + desc.ArraySize = 1; + desc.Format = srcImage.format; + desc.SampleDesc.Count = 1; + desc.Usage = D3D11_USAGE_DEFAULT; + desc.BindFlags = D3D11_BIND_SHADER_RESOURCE; + + D3D11_SUBRESOURCE_DATA initData; + initData.pSysMem = srcImage.pixels; + initData.SysMemPitch = static_cast( srcImage.rowPitch ); + initData.SysMemSlicePitch = static_cast( srcImage.slicePitch ); + + HRESULT hr = pDevice->CreateTexture2D( &desc, &initData, sourceTex.GetAddressOf() ); + if ( FAILED(hr) ) + { + return hr; + } + } + + ScopedObject sourceSRV; + { + D3D11_SHADER_RESOURCE_VIEW_DESC desc; + memset( &desc, 0, sizeof(desc) ); + desc.Texture2D.MipLevels = 1; + desc.Format = m_srcformat; + desc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; + + HRESULT hr = pDevice->CreateShaderResourceView( sourceTex.Get(), &desc, sourceSRV.ReleaseAndGetAddressOf() ); + if ( FAILED(hr) ) + { + return hr; + } + } + + //--- Compress using DirectCompute ------------------------------------------------ + bool isbc7 = false; + switch( m_bcformat ) + { + case DXGI_FORMAT_BC6H_TYPELESS: + case DXGI_FORMAT_BC6H_UF16: + case DXGI_FORMAT_BC6H_SF16: + break; + + case DXGI_FORMAT_BC7_TYPELESS: + case DXGI_FORMAT_BC7_UNORM: + case DXGI_FORMAT_BC7_UNORM_SRGB: + isbc7 = true; + break; + + default: + return E_UNEXPECTED; + } + + const UINT MAX_BLOCK_BATCH = 64; + + auto pContext = m_context.Get(); + if ( !pContext ) + return E_UNEXPECTED; + + size_t xblocks = std::max( 1, (m_width + 3) >> 2 ); + size_t yblocks = std::max( 1, (m_height + 3) >> 2 ); + + UINT num_total_blocks = static_cast( xblocks * yblocks ); + UINT num_blocks = num_total_blocks; + int start_block_id = 0; + while (num_blocks > 0) + { + UINT n = std::min( num_blocks, MAX_BLOCK_BATCH ); + UINT uThreadGroupCount = n; + + { + D3D11_MAPPED_SUBRESOURCE mapped; + HRESULT hr = pContext->Map( m_constBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &mapped ); + if ( FAILED(hr) ) + return hr; + + ConstantsBC6HBC7 param; + param.tex_width = static_cast( srcImage.width ); + param.num_block_x = static_cast( xblocks ); + param.format = m_bcformat; + param.mode_id = 0; + param.start_block_id = start_block_id; + param.num_total_blocks = num_total_blocks; + param.alpha_weight = m_alphaWeight; + memcpy( mapped.pData, ¶m, sizeof( param ) ); + + pContext->Unmap( m_constBuffer.Get(), 0 ); + } + + if ( isbc7 ) + { + //--- BC7 ----------------------------------------------------------------- + ID3D11ShaderResourceView* pSRVs[] = { sourceSRV.Get(), nullptr }; + RunComputeShader( pContext, m_BC7_tryMode456CS.Get(), pSRVs, 2, m_constBuffer.Get(), + m_err1UAV.Get(), std::max(uThreadGroupCount / 4, 1) ); + + for ( UINT i = 0; i < 3; ++i ) + { + static const UINT modes[] = { 1, 3, 7 }; + { + D3D11_MAPPED_SUBRESOURCE mapped; + HRESULT hr = pContext->Map( m_constBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &mapped ); + if ( FAILED(hr) ) + { + ResetContext( pContext ); + return hr; + } + + ConstantsBC6HBC7 param; + param.tex_width = static_cast( srcImage.width ); + param.num_block_x = static_cast( xblocks ); + param.format = m_bcformat; + param.mode_id = modes[i]; + param.start_block_id = start_block_id; + param.num_total_blocks = num_total_blocks; + param.alpha_weight = m_alphaWeight; + memcpy( mapped.pData, ¶m, sizeof( param ) ); + pContext->Unmap( m_constBuffer.Get(), 0 ); + } + + pSRVs[1] = (i & 1) ? m_err2SRV.Get() : m_err1SRV.Get(); + RunComputeShader( pContext, m_BC7_tryMode137CS.Get(), pSRVs, 2, m_constBuffer.Get(), + (i & 1) ? m_err1UAV.Get() : m_err2UAV.Get(), uThreadGroupCount ); + } + + for ( UINT i = 0; i < 2; ++i ) + { + static const UINT modes[] = { 0, 2 }; + { + D3D11_MAPPED_SUBRESOURCE mapped; + HRESULT hr = pContext->Map( m_constBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &mapped ); + if ( FAILED(hr) ) + { + ResetContext( pContext ); + return hr; + } + + ConstantsBC6HBC7 param; + param.tex_width = static_cast( srcImage.width ); + param.num_block_x = static_cast( xblocks ); + param.format = m_bcformat; + param.mode_id = modes[i]; + param.start_block_id = start_block_id; + param.num_total_blocks = num_total_blocks; + param.alpha_weight = m_alphaWeight; + memcpy( mapped.pData, ¶m, sizeof( param ) ); + pContext->Unmap( m_constBuffer.Get(), 0 ); + } + + pSRVs[1] = (i & 1) ? m_err1SRV.Get() : m_err2SRV.Get(); + RunComputeShader( pContext, m_BC7_tryMode02CS.Get(), pSRVs, 2, m_constBuffer.Get(), + (i & 1) ? m_err2UAV.Get() : m_err1UAV.Get(), uThreadGroupCount ); + } + + pSRVs[1] = m_err2SRV.Get(); + RunComputeShader( pContext, m_BC7_encodeBlockCS.Get(), pSRVs, 2, m_constBuffer.Get(), + m_outputUAV.Get(), std::max(uThreadGroupCount / 4, 1) ); + } + else + { + //--- BC6H ---------------------------------------------------------------- + ID3D11ShaderResourceView* pSRVs[] = { sourceSRV.Get(), nullptr }; + RunComputeShader( pContext, m_BC6H_tryModeG10CS.Get(), pSRVs, 2, m_constBuffer.Get(), + m_err1UAV.Get(), std::max(uThreadGroupCount / 4, 1) ); + + for ( UINT i = 0; i < 10; ++i ) + { + { + D3D11_MAPPED_SUBRESOURCE mapped; + HRESULT hr = pContext->Map( m_constBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &mapped ); + if ( FAILED(hr) ) + { + ResetContext( pContext ); + return hr; + } + + ConstantsBC6HBC7 param; + param.tex_width = static_cast( srcImage.width ); + param.num_block_x = static_cast( xblocks ); + param.format = m_bcformat; + param.mode_id = i; + param.start_block_id = start_block_id; + param.num_total_blocks = num_total_blocks; + memcpy( mapped.pData, ¶m, sizeof( param ) ); + pContext->Unmap( m_constBuffer.Get(), 0 ); + } + + pSRVs[1] = (i & 1) ? m_err2SRV.Get() : m_err1SRV.Get(); + RunComputeShader( pContext, m_BC6H_tryModeLE10CS.Get(), pSRVs, 2, m_constBuffer.Get(), + (i & 1) ? m_err1UAV.Get() : m_err2UAV.Get(), std::max(uThreadGroupCount / 2, 1) ); + } + + pSRVs[1] = m_err1SRV.Get(); + RunComputeShader( pContext, m_BC6H_encodeBlockCS.Get(), pSRVs, 2, m_constBuffer.Get(), + m_outputUAV.Get(), std::max(uThreadGroupCount / 2, 1) ); + } + + start_block_id += n; + num_blocks -= n; + } + + ResetContext( pContext ); + + //--- Copy output texture back to CPU --------------------------------------------- + + pContext->CopyResource( m_outputCPU.Get(), m_output.Get() ); + + D3D11_MAPPED_SUBRESOURCE mapped; + HRESULT hr = pContext->Map( m_outputCPU.Get(), 0, D3D11_MAP_READ, 0, &mapped ); + if ( SUCCEEDED(hr) ) + { + const uint8_t *pSrc = reinterpret_cast( mapped.pData ); + uint8_t *pDest = destImage.pixels; + + size_t pitch = xblocks * sizeof( BufferBC6HBC7 ); + + size_t rows = std::max( 1, ( destImage.height + 3 ) >> 2 ); + + for( size_t h = 0; h < rows; ++h ) + { + memcpy( pDest, pSrc, destImage.rowPitch ); + + pSrc += pitch; + pDest += destImage.rowPitch; + } + + pContext->Unmap( m_outputCPU.Get(), 0 ); + } + + return hr; +} + +}; // namespace \ No newline at end of file diff --git a/DirectXTex/BCDirectCompute.h b/DirectXTex/BCDirectCompute.h new file mode 100644 index 0000000..87ea360 --- /dev/null +++ b/DirectXTex/BCDirectCompute.h @@ -0,0 +1,70 @@ +//------------------------------------------------------------------------------------- +// BCDirectCompute.h +// +// Direct3D 11 Compute Shader BC Compressor +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +//------------------------------------------------------------------------------------- + +#if defined(_MSC_VER) && (_MSC_VER > 1000) +#pragma once +#endif + +#include "scoped.h" + +namespace DirectX +{ + +class GPUCompressBC +{ +public: + GPUCompressBC(); + + HRESULT Initialize( _In_ ID3D11Device* pDevice ); + + HRESULT Prepare( _In_ size_t width, _In_ size_t height, _In_ DXGI_FORMAT format, _In_ float alphaWeight = 1.f ); + + HRESULT Compress( _In_ const Image& srcImage, _In_ const Image& destImage ); + + DXGI_FORMAT GetSourceFormat() const { return m_srcformat; } + +private: + DXGI_FORMAT m_bcformat; + DXGI_FORMAT m_srcformat; + float m_alphaWeight; + size_t m_width; + size_t m_height; + + ScopedObject m_device; + ScopedObject m_context; + + ScopedObject m_err1; + ScopedObject m_err1UAV; + ScopedObject m_err1SRV; + + ScopedObject m_err2; + ScopedObject m_err2UAV; + ScopedObject m_err2SRV; + + ScopedObject m_output; + ScopedObject m_outputCPU; + ScopedObject m_outputUAV; + ScopedObject m_constBuffer; + + // Compute shader library + ScopedObject m_BC6H_tryModeG10CS; + ScopedObject m_BC6H_tryModeLE10CS; + ScopedObject m_BC6H_encodeBlockCS; + + ScopedObject m_BC7_tryMode456CS; + ScopedObject m_BC7_tryMode137CS; + ScopedObject m_BC7_tryMode02CS; + ScopedObject m_BC7_encodeBlockCS; +}; + +}; // namespace \ No newline at end of file diff --git a/DirectXTex/DirectXTex.h b/DirectXTex/DirectXTex.h index 9a44038..c8bd361 100644 --- a/DirectXTex/DirectXTex.h +++ b/DirectXTex/DirectXTex.h @@ -30,7 +30,7 @@ #include -#define DIRECTX_TEX_VERSION 110 +#define DIRECTX_TEX_VERSION 120 #if defined(_MSC_VER) && (_MSC_VER<1610) && !defined(_In_reads_) #define _Analysis_assume_(exp) @@ -484,6 +484,11 @@ namespace DirectX _In_ DXGI_FORMAT format, _In_ DWORD compress, _In_ float alphaRef, _Out_ ScratchImage& cImages ); // Note that alphaRef is only used by BC1. 0.5f is a typical value to use + HRESULT Compress( _In_ ID3D11Device* pDevice, _In_ const Image& srcImage, _In_ DXGI_FORMAT format, _Out_ ScratchImage& image ); + HRESULT Compress( _In_ ID3D11Device* pDevice, _In_ const Image* srcImages, _In_ size_t nimages, _In_ const TexMetadata& metadata, + _In_ DXGI_FORMAT format, _Out_ ScratchImage& cImages ); + // DirectCompute-based compression + HRESULT Decompress( _In_ const Image& cImage, _In_ DXGI_FORMAT format, _Out_ ScratchImage& image ); HRESULT Decompress( _In_reads_(nimages) const Image* cImages, _In_ size_t nimages, _In_ const TexMetadata& metadata, _In_ DXGI_FORMAT format, _Out_ ScratchImage& images ); diff --git a/DirectXTex/DirectXTexCompressGPU.cpp b/DirectXTex/DirectXTexCompressGPU.cpp new file mode 100644 index 0000000..e9d2b92 --- /dev/null +++ b/DirectXTex/DirectXTexCompressGPU.cpp @@ -0,0 +1,383 @@ +//------------------------------------------------------------------------------------- +// DirectXTexCompressGPU.cpp +// +// DirectX Texture Library - DirectCompute-based texture compression +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +// http://go.microsoft.com/fwlink/?LinkId=248926 +//------------------------------------------------------------------------------------- + +#include "directxtexp.h" + +#include "bcdirectcompute.h" + +namespace DirectX +{ + +//------------------------------------------------------------------------------------- +// Converts to R8G8B8A8_UNORM or R8G8B8A8_UNORM_SRGB doing any conversion logic needed +//------------------------------------------------------------------------------------- +static HRESULT _ConvertToRGBA32( _In_ const Image& srcImage, _In_ ScratchImage& image, bool srgb ) +{ + if ( !srcImage.pixels ) + return E_POINTER; + + DXGI_FORMAT format = srgb ? DXGI_FORMAT_R8G8B8A8_UNORM_SRGB : DXGI_FORMAT_R8G8B8A8_UNORM; + + HRESULT hr = image.Initialize2D( format, srcImage.width, srcImage.height, 1, 1 ); + if ( FAILED(hr) ) + return hr; + + const Image *img = image.GetImage( 0, 0, 0 ); + if ( !img ) + { + image.Release(); + return E_POINTER; + } + + uint8_t* pDest = img->pixels; + if ( !pDest ) + { + image.Release(); + return E_POINTER; + } + + ScopedAlignedArrayXMVECTOR scanline( reinterpret_cast( _aligned_malloc( ( sizeof(XMVECTOR) * srcImage.width ), 16 ) ) ); + if ( !scanline ) + { + image.Release(); + return E_OUTOFMEMORY; + } + + const uint8_t *pSrc = srcImage.pixels; + for( size_t h = 0; h < srcImage.height; ++h ) + { + if ( !_LoadScanline( scanline.get(), srcImage.width, pSrc, srcImage.rowPitch, srcImage.format ) ) + { + image.Release(); + return E_FAIL; + } + + _ConvertScanline( scanline.get(), srcImage.width, format, srcImage.format, 0 ); + + if ( !_StoreScanline( pDest, img->rowPitch, format, scanline.get(), srcImage.width ) ) + { + image.Release(); + return E_FAIL; + } + + pSrc += srcImage.rowPitch; + pDest += img->rowPitch; + } + + return S_OK; +} + + +//------------------------------------------------------------------------------------- +// Converts to DXGI_FORMAT_R32G32B32A32_FLOAT doing any conversion logic needed +//------------------------------------------------------------------------------------- +static HRESULT _ConvertToRGBAF32( const Image& srcImage, ScratchImage& image ) +{ + if ( !srcImage.pixels ) + return E_POINTER; + + HRESULT hr = image.Initialize2D( DXGI_FORMAT_R32G32B32A32_FLOAT, srcImage.width, srcImage.height, 1, 1 ); + if ( FAILED(hr) ) + return hr; + + const Image *img = image.GetImage( 0, 0, 0 ); + if ( !img ) + { + image.Release(); + return E_POINTER; + } + + uint8_t* pDest = img->pixels; + if ( !pDest ) + { + image.Release(); + return E_POINTER; + } + + const uint8_t *pSrc = srcImage.pixels; + for( size_t h = 0; h < srcImage.height; ++h ) + { + if ( !_LoadScanline( reinterpret_cast(pDest), srcImage.width, pSrc, srcImage.rowPitch, srcImage.format ) ) + { + image.Release(); + return E_FAIL; + } + + _ConvertScanline( reinterpret_cast(pDest), srcImage.width, DXGI_FORMAT_R32G32B32A32_FLOAT, srcImage.format, 0 ); + + pSrc += srcImage.rowPitch; + pDest += img->rowPitch; + } + + return S_OK; +} + + +//------------------------------------------------------------------------------------- +// Compress using GPU, converting to the proper input format for the shader if needed +//------------------------------------------------------------------------------------- +inline static HRESULT _GPUCompress( _In_ GPUCompressBC* gpubc, _In_ const Image& srcImage, _In_ const Image& destImage ) +{ + if ( !gpubc ) + return E_POINTER; + + assert( srcImage.pixels && destImage.pixels ); + + DXGI_FORMAT format = gpubc->GetSourceFormat(); + + if ( srcImage.format == format ) + { + // Input is already in our required source format + return gpubc->Compress( srcImage, destImage ); + } + else + { + // Convert format and then use as the source image + ScratchImage image; + HRESULT hr; + + switch( format ) + { + case DXGI_FORMAT_R8G8B8A8_UNORM: + hr = _ConvertToRGBA32( srcImage, image, false ); + break; + + case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: + hr = _ConvertToRGBA32( srcImage, image, true ); + break; + + case DXGI_FORMAT_R32G32B32A32_FLOAT: + hr = _ConvertToRGBAF32( srcImage, image ); + break; + + default: + hr = E_UNEXPECTED; + break; + } + + if ( FAILED(hr) ) + return hr; + + const Image *img = image.GetImage( 0, 0, 0 ); + if ( !img ) + return E_POINTER; + + return gpubc->Compress( *img, destImage ); + } +} + + +//===================================================================================== +// Entry-points +//===================================================================================== + +//------------------------------------------------------------------------------------- +// Compression +//------------------------------------------------------------------------------------- +_Use_decl_annotations_ +HRESULT Compress( ID3D11Device* pDevice, const Image& srcImage, DXGI_FORMAT format, ScratchImage& image ) +{ + if ( !pDevice || IsCompressed(srcImage.format) || !IsCompressed(format) || IsTypeless(format) ) + return E_INVALIDARG; + + // Setup GPU compressor + std::unique_ptr gpubc( new (std::nothrow) GPUCompressBC ); + if ( !gpubc ) + return E_OUTOFMEMORY; + + HRESULT hr = gpubc->Initialize( pDevice ); + if ( FAILED(hr) ) + return hr; + + hr = gpubc->Prepare( srcImage.width, srcImage.height, format ); + if ( FAILED(hr) ) + return hr; + + // Create workspace for result + hr = image.Initialize2D( format, srcImage.width, srcImage.height, 1, 1 ); + if ( FAILED(hr) ) + return hr; + + const Image *img = image.GetImage( 0, 0, 0 ); + if ( !img ) + { + image.Release(); + return E_POINTER; + } + + hr = _GPUCompress( gpubc.get(), srcImage, *img ); + if ( FAILED(hr) ) + image.Release(); + + return hr; +} + +_Use_decl_annotations_ +HRESULT Compress( ID3D11Device* pDevice, const Image* srcImages, size_t nimages, const TexMetadata& metadata, + DXGI_FORMAT format, ScratchImage& cImages ) +{ + if ( !pDevice || !srcImages || !nimages ) + return E_INVALIDARG; + + if ( !IsCompressed(format) || IsTypeless(format) ) + return E_INVALIDARG; + + cImages.Release(); + + // Setup GPU compressor + std::unique_ptr gpubc( new (std::nothrow) GPUCompressBC ); + if ( !gpubc ) + return E_OUTOFMEMORY; + + HRESULT hr = gpubc->Initialize( pDevice ); + if ( FAILED(hr) ) + return hr; + + // Create workspace for result + TexMetadata mdata2 = metadata; + mdata2.format = format; + hr = cImages.Initialize( mdata2 ); + if ( FAILED(hr) ) + return hr; + + if ( nimages != cImages.GetImageCount() ) + { + cImages.Release(); + return E_FAIL; + } + + const Image* dest = cImages.GetImages(); + if ( !dest ) + { + cImages.Release(); + return E_POINTER; + } + + // Process images (ordered by size) + switch( metadata.dimension ) + { + case TEX_DIMENSION_TEXTURE1D: + case TEX_DIMENSION_TEXTURE2D: + { + size_t w = metadata.width; + size_t h = metadata.height; + + for( size_t level=0; level < metadata.mipLevels; ++level ) + { + hr = gpubc->Prepare( w, h, format ); + if ( FAILED(hr) ) + { + cImages.Release(); + return hr; + } + + for( size_t item = 0; item < metadata.arraySize; ++item ) + { + size_t index = metadata.ComputeIndex( level, item, 0 ); + if ( index >= nimages ) + { + cImages.Release(); + return E_FAIL; + } + + assert( dest[ index ].format == format ); + + const Image& src = srcImages[ index ]; + + if ( src.width != dest[ index ].width || src.height != dest[ index ].height ) + { + cImages.Release(); + return E_FAIL; + } + + hr = _GPUCompress( gpubc.get(), src, dest[ index ] ); + if ( FAILED(hr) ) + { + cImages.Release(); + return hr; + } + } + + if ( h > 1 ) + h >>= 1; + + if ( w > 1 ) + w >>= 1; + } + } + break; + + case TEX_DIMENSION_TEXTURE3D: + { + size_t w = metadata.width; + size_t h = metadata.height; + size_t d = metadata.depth; + + for( size_t level=0; level < metadata.mipLevels; ++level ) + { + hr = gpubc->Prepare( w, h, format ); + if ( FAILED(hr) ) + { + cImages.Release(); + return hr; + } + + for( size_t slice=0; slice < d; ++slice ) + { + size_t index = metadata.ComputeIndex( level, 0, slice ); + if ( index >= nimages ) + { + cImages.Release(); + return E_FAIL; + } + + assert( dest[ index ].format == format ); + + const Image& src = srcImages[ index ]; + + if ( src.width != dest[ index ].width || src.height != dest[ index ].height ) + { + cImages.Release(); + return E_FAIL; + } + + hr = _GPUCompress( gpubc.get(), src, dest[ index ] ); + if ( FAILED(hr) ) + { + cImages.Release(); + return hr; + } + } + + if ( h > 1 ) + h >>= 1; + + if ( w > 1 ) + w >>= 1; + + if ( d > 1 ) + d >>= 1; + } + } + break; + + default: + return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); + } + + return S_OK; +} + +}; // namespace diff --git a/DirectXTex/DirectXTex_Desktop_2010.vcxproj b/DirectXTex/DirectXTex_Desktop_2010.vcxproj index f4ea68b..13deb6f 100644 --- a/DirectXTex/DirectXTex_Desktop_2010.vcxproj +++ b/DirectXTex/DirectXTex_Desktop_2010.vcxproj @@ -406,13 +406,16 @@ + + + diff --git a/DirectXTex/DirectXTex_Desktop_2010.vcxproj.filters b/DirectXTex/DirectXTex_Desktop_2010.vcxproj.filters index 478006b..ceb3b91 100644 --- a/DirectXTex/DirectXTex_Desktop_2010.vcxproj.filters +++ b/DirectXTex/DirectXTex_Desktop_2010.vcxproj.filters @@ -32,8 +32,8 @@ + + + - - - diff --git a/DirectXTex/DirectXTex_Desktop_2010_SDK80.vcxproj b/DirectXTex/DirectXTex_Desktop_2010_SDK80.vcxproj index 1c639d7..ed69c49 100644 --- a/DirectXTex/DirectXTex_Desktop_2010_SDK80.vcxproj +++ b/DirectXTex/DirectXTex_Desktop_2010_SDK80.vcxproj @@ -388,13 +388,16 @@ + + + diff --git a/DirectXTex/DirectXTex_Desktop_2010_SDK80.vcxproj.filters b/DirectXTex/DirectXTex_Desktop_2010_SDK80.vcxproj.filters index 478006b..ceb3b91 100644 --- a/DirectXTex/DirectXTex_Desktop_2010_SDK80.vcxproj.filters +++ b/DirectXTex/DirectXTex_Desktop_2010_SDK80.vcxproj.filters @@ -32,8 +32,8 @@ + + + - - - diff --git a/DirectXTex/DirectXTex_Desktop_2012.vcxproj b/DirectXTex/DirectXTex_Desktop_2012.vcxproj index 8681450..96188b4 100644 --- a/DirectXTex/DirectXTex_Desktop_2012.vcxproj +++ b/DirectXTex/DirectXTex_Desktop_2012.vcxproj @@ -383,19 +383,21 @@ - + + + diff --git a/DirectXTex/DirectXTex_Desktop_2012.vcxproj.filters b/DirectXTex/DirectXTex_Desktop_2012.vcxproj.filters index 26a320b..8cc092d 100644 --- a/DirectXTex/DirectXTex_Desktop_2012.vcxproj.filters +++ b/DirectXTex/DirectXTex_Desktop_2012.vcxproj.filters @@ -31,11 +31,8 @@ - - - - - - + + + \ No newline at end of file diff --git a/DirectXTex/DirectXTex_Desktop_2013.vcxproj b/DirectXTex/DirectXTex_Desktop_2013.vcxproj index 7fa1575..ef15e0d 100644 --- a/DirectXTex/DirectXTex_Desktop_2013.vcxproj +++ b/DirectXTex/DirectXTex_Desktop_2013.vcxproj @@ -389,13 +389,16 @@ + + + diff --git a/DirectXTex/DirectXTex_Desktop_2013.vcxproj.filters b/DirectXTex/DirectXTex_Desktop_2013.vcxproj.filters index 26a320b..8cc092d 100644 --- a/DirectXTex/DirectXTex_Desktop_2013.vcxproj.filters +++ b/DirectXTex/DirectXTex_Desktop_2013.vcxproj.filters @@ -31,11 +31,8 @@ - - - - - - + + + \ No newline at end of file diff --git a/DirectXTex/DirectXTex_Windows8.vcxproj b/DirectXTex/DirectXTex_Windows8.vcxproj index 9165345..58a66ac 100644 --- a/DirectXTex/DirectXTex_Windows8.vcxproj +++ b/DirectXTex/DirectXTex_Windows8.vcxproj @@ -598,13 +598,16 @@ + + + diff --git a/DirectXTex/DirectXTex_Windows8.vcxproj.filters b/DirectXTex/DirectXTex_Windows8.vcxproj.filters index 478006b..ceb3b91 100644 --- a/DirectXTex/DirectXTex_Windows8.vcxproj.filters +++ b/DirectXTex/DirectXTex_Windows8.vcxproj.filters @@ -32,8 +32,8 @@ + + + - - - diff --git a/DirectXTex/DirectXTex_Windows81Preview.vcxproj b/DirectXTex/DirectXTex_Windows81Preview.vcxproj index e569b0d..f532a19 100644 --- a/DirectXTex/DirectXTex_Windows81Preview.vcxproj +++ b/DirectXTex/DirectXTex_Windows81Preview.vcxproj @@ -600,13 +600,16 @@ + + + diff --git a/DirectXTex/DirectXTex_Windows81Preview.vcxproj.filters b/DirectXTex/DirectXTex_Windows81Preview.vcxproj.filters index 478006b..ceb3b91 100644 --- a/DirectXTex/DirectXTex_Windows81Preview.vcxproj.filters +++ b/DirectXTex/DirectXTex_Windows81Preview.vcxproj.filters @@ -32,8 +32,8 @@ + + + - - - diff --git a/DirectXTex/Shaders/BC6HEncode.hlsl b/DirectXTex/Shaders/BC6HEncode.hlsl new file mode 100644 index 0000000..7b38c47 --- /dev/null +++ b/DirectXTex/Shaders/BC6HEncode.hlsl @@ -0,0 +1,2566 @@ +//-------------------------------------------------------------------------------------- +// File: BC6HEncode.hlsl +// +// The Compute Shader for BC6H Encoder +// +// Copyright (c) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +//#define REF_DEVICE + +#define UINTLENGTH 32 +#define NCHANNELS 3 +#define SIGNED_F16 96 +#define UNSIGNED_F16 95 +#define MAX_FLOAT asfloat(0x7F7FFFFF) +#define MIN_FLOAT asfloat(0xFF7FFFFF) +#define MAX_INT asint(0x7FFFFFFF) +#define MIN_INT asint(0x80000000) + +cbuffer cbCS : register( b0 ) +{ + uint g_tex_width; + uint g_num_block_x; + uint g_format; //either SIGNED_F16 for DXGI_FORMAT_BC6H_SF16 or UNSIGNED_F16 for DXGI_FORMAT_BC6H_UF16 + uint g_mode_id; + uint g_start_block_id; + uint g_num_total_blocks; +}; + +static const uint candidateModeMemory[14] = { 0x00, 0x01, 0x02, 0x06, 0x0A, 0x0E, 0x12, 0x16, 0x1A, 0x1E, 0x03, 0x07, 0x0B, 0x0F }; +static const uint candidateModeFlag[14] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }; +static const bool candidateModeTransformed[14] = { true, true, true, true, true, true, true, true, true, false, false, true, true, true }; +static const uint4 candidateModePrec[14] = { uint4(10,5,5,5), uint4(7,6,6,6), + uint4(11,5,4,4), uint4(11,4,5,4), uint4(11,4,4,5), uint4(9,5,5,5), + uint4(8,6,5,5), uint4(8,5,6,5), uint4(8,5,5,6), uint4(6,6,6,6), + uint4(10,10,10,10), uint4(11,9,9,9), uint4(12,8,8,8), uint4(16,4,4,4) }; + +/*static const uint4x4 candidateSection[32] = +{ + {0,0,1,1, 0,0,1,1, 0,0,1,1, 0,0,1,1}, {0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1}, {0,1,1,1, 0,1,1,1, 0,1,1,1, 0,1,1,1}, {0,0,0,1, 0,0,1,1, 0,0,1,1, 0,1,1,1}, + {0,0,0,0, 0,0,0,1, 0,0,0,1, 0,0,1,1}, {0,0,1,1, 0,1,1,1, 0,1,1,1, 1,1,1,1}, {0,0,0,1, 0,0,1,1, 0,1,1,1, 1,1,1,1}, {0,0,0,0, 0,0,0,1, 0,0,1,1, 0,1,1,1}, + {0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,1,1}, {0,0,1,1, 0,1,1,1, 1,1,1,1, 1,1,1,1}, {0,0,0,0, 0,0,0,1, 0,1,1,1, 1,1,1,1}, {0,0,0,0, 0,0,0,0, 0,0,0,1, 0,1,1,1}, + {0,0,0,1, 0,1,1,1, 1,1,1,1, 1,1,1,1}, {0,0,0,0, 0,0,0,0, 1,1,1,1, 1,1,1,1}, {0,0,0,0, 1,1,1,1, 1,1,1,1, 1,1,1,1}, {0,0,0,0, 0,0,0,0, 0,0,0,0, 1,1,1,1}, + {0,0,0,0, 1,0,0,0, 1,1,1,0, 1,1,1,1}, {0,1,1,1, 0,0,0,1, 0,0,0,0, 0,0,0,0}, {0,0,0,0, 0,0,0,0, 1,0,0,0, 1,1,1,0}, {0,1,1,1, 0,0,1,1, 0,0,0,1, 0,0,0,0}, + {0,0,1,1, 0,0,0,1, 0,0,0,0, 0,0,0,0}, {0,0,0,0, 1,0,0,0, 1,1,0,0, 1,1,1,0}, {0,0,0,0, 0,0,0,0, 1,0,0,0, 1,1,0,0}, {0,1,1,1, 0,0,1,1, 0,0,1,1, 0,0,0,1}, + {0,0,1,1, 0,0,0,1, 0,0,0,1, 0,0,0,0}, {0,0,0,0, 1,0,0,0, 1,0,0,0, 1,1,0,0}, {0,1,1,0, 0,1,1,0, 0,1,1,0, 0,1,1,0}, {0,0,1,1, 0,1,1,0, 0,1,1,0, 1,1,0,0}, + {0,0,0,1, 0,1,1,1, 1,1,1,0, 1,0,0,0}, {0,0,0,0, 1,1,1,1, 1,1,1,1, 0,0,0,0}, {0,1,1,1, 0,0,0,1, 1,0,0,0, 1,1,1,0}, {0,0,1,1, 1,0,0,1, 1,0,0,1, 1,1,0,0} +};*/ + +static const uint candidateSectionBit[32] = +{ + 0xCCCC, 0x8888, 0xEEEE, 0xECC8, + 0xC880, 0xFEEC, 0xFEC8, 0xEC80, + 0xC800, 0xFFEC, 0xFE80, 0xE800, + 0xFFE8, 0xFF00, 0xFFF0, 0xF000, + 0xF710, 0x008E, 0x7100, 0x08CE, + 0x008C, 0x7310, 0x3100, 0x8CCE, + 0x088C, 0x3110, 0x6666, 0x366C, + 0x17E8, 0x0FF0, 0x718E, 0x399C +}; + +static const uint candidateFixUpIndex1D[32] = +{ + 15,15,15,15, + 15,15,15,15, + 15,15,15,15, + 15,15,15,15, + 15, 2, 8, 2, + 2, 8, 8,15, + 2, 8, 2, 2, + 8, 8, 2, 2 +}; + +//0, 9, 18, 27, 37, 46, 55, 64 +static const uint aStep1[64] = {0,0,0,0,0,1,1,1, + 1,1,1,1,1,1,2,2, + 2,2,2,2,2,2,2,3, + 3,3,3,3,3,3,3,3, + 3,4,4,4,4,4,4,4, + 4,4,5,5,5,5,5,5, + 5,5,5,6,6,6,6,6, + 6,6,6,6,7,7,7,7}; + +//0, 4, 9, 13, 17, 21, 26, 30, 34, 38, 43, 47, 51, 55, 60, 64 +static const uint aStep2[64] = { 0, 0, 0, 1, 1, 1, 1, 2, + 2, 2, 2, 2, 3, 3, 3, 3, + 4, 4, 4, 4, 5, 5, 5, 5, + 6, 6, 6, 6, 6, 7, 7, 7, + 7, 8, 8, 8, 8, 9, 9, 9, + 9,10,10,10,10,10,11,11, + 11,11,12,12,12,12,13,13, + 13,13,14,14,14,14,15,15}; + +static const float3 RGB2LUM = float3(0.2126f, 0.7152f, 0.0722f); + +#define THREAD_GROUP_SIZE 64 +#define BLOCK_SIZE_Y 4 +#define BLOCK_SIZE_X 4 +#define BLOCK_SIZE (BLOCK_SIZE_Y * BLOCK_SIZE_X) + + +//Forward declaration +uint3 float2half( float3 pixel_f ); +int3 start_quantize( uint3 pixel_h ); +void quantize( inout int2x3 endPoint, uint prec ); +void finish_quantize_0( inout int bBadQuantize, inout int2x3 endPoint, uint4 prec, bool transformed ); +void finish_quantize_1( inout int bBadQuantize, inout int2x3 endPoint, uint4 prec, bool transformed ); +void finish_quantize( out bool bBadQuantize, inout int2x3 endPoint, uint4 prec, bool transformed ); + +void start_unquantize( inout int2x3 endPoint[2], uint4 prec, bool transformed ); +void start_unquantize( inout int2x3 endPoint, uint4 prec, bool transformed ); +void unquantize( inout int2x3 color, uint prec ); +uint3 finish_unquantize( int3 color ); +void generate_palette_unquantized8( out uint3 palette, int3 low, int3 high, int i ); +void generate_palette_unquantized16( out uint3 palette, int3 low, int3 high, int i ); +float3 half2float(uint3 color_h ); + +void block_package( inout uint4 block, int2x3 endPoint[2], uint mode_type, uint partition_index ); +void block_package( inout uint4 block, int2x3 endPoint, uint mode_type ); + +void swap(inout int3 lhs, inout int3 rhs) +{ + int3 tmp = lhs; + lhs = rhs; + rhs = tmp; +} + +Texture2D g_Input : register( t0 ); +StructuredBuffer g_InBuff : register( t1 ); + +RWStructuredBuffer g_OutBuff : register( u0 ); + +struct SharedData +{ + float3 pixel; + int3 pixel_ph; + float3 pixel_hr; + float pixel_lum; + float error; + uint best_mode; + uint best_partition; + int3 endPoint_low; + int3 endPoint_high; + float endPoint_lum_low; + float endPoint_lum_high; +}; + +groupshared SharedData shared_temp[THREAD_GROUP_SIZE]; + +[numthreads( THREAD_GROUP_SIZE, 1, 1 )] +void TryModeG10CS( uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID ) +{ + const uint MAX_USED_THREAD = 16; + uint BLOCK_IN_GROUP = THREAD_GROUP_SIZE / MAX_USED_THREAD; + uint blockInGroup = GI / MAX_USED_THREAD; + uint blockID = g_start_block_id + groupID.x * BLOCK_IN_GROUP + blockInGroup; + uint threadBase = blockInGroup * MAX_USED_THREAD; + uint threadInBlock = GI - threadBase; + +#ifndef REF_DEVICE + if (blockID >= g_num_total_blocks) + { + return; + } +#endif + + uint block_y = blockID / g_num_block_x; + uint block_x = blockID - block_y * g_num_block_x; + uint base_x = block_x * BLOCK_SIZE_X; + uint base_y = block_y * BLOCK_SIZE_Y; + + if (threadInBlock < 16) + { + shared_temp[GI].pixel = g_Input.Load( uint3( base_x + threadInBlock % 4, base_y + threadInBlock / 4, 0 ) ).rgb; + uint3 pixel_h = float2half( shared_temp[GI].pixel ); + shared_temp[GI].pixel_hr = half2float(pixel_h); + shared_temp[GI].pixel_lum = dot(shared_temp[GI].pixel_hr, RGB2LUM); + shared_temp[GI].pixel_ph = start_quantize( pixel_h ); + + shared_temp[GI].endPoint_low = shared_temp[GI].pixel_ph; + shared_temp[GI].endPoint_high = shared_temp[GI].pixel_ph; + shared_temp[GI].endPoint_lum_low = shared_temp[GI].pixel_lum; + shared_temp[GI].endPoint_lum_high = shared_temp[GI].pixel_lum; + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + if (threadInBlock < 8) + { + if (shared_temp[GI].endPoint_lum_low > shared_temp[GI + 8].endPoint_lum_low) + { + shared_temp[GI].endPoint_low = shared_temp[GI + 8].endPoint_low; + shared_temp[GI].endPoint_lum_low = shared_temp[GI + 8].endPoint_lum_low; + } + if (shared_temp[GI].endPoint_lum_high < shared_temp[GI + 8].endPoint_lum_high) + { + shared_temp[GI].endPoint_high = shared_temp[GI + 8].endPoint_high; + shared_temp[GI].endPoint_lum_high = shared_temp[GI + 8].endPoint_lum_high; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 4) + { + if (shared_temp[GI].endPoint_lum_low > shared_temp[GI + 4].endPoint_lum_low) + { + shared_temp[GI].endPoint_low = shared_temp[GI + 4].endPoint_low; + shared_temp[GI].endPoint_lum_low = shared_temp[GI + 4].endPoint_lum_low; + } + if (shared_temp[GI].endPoint_lum_high < shared_temp[GI + 4].endPoint_lum_high) + { + shared_temp[GI].endPoint_high = shared_temp[GI + 4].endPoint_high; + shared_temp[GI].endPoint_lum_high = shared_temp[GI + 4].endPoint_lum_high; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 2) + { + if (shared_temp[GI].endPoint_lum_low > shared_temp[GI + 2].endPoint_lum_low) + { + shared_temp[GI].endPoint_low = shared_temp[GI + 2].endPoint_low; + shared_temp[GI].endPoint_lum_low = shared_temp[GI + 2].endPoint_lum_low; + } + if (shared_temp[GI].endPoint_lum_high < shared_temp[GI + 2].endPoint_lum_high) + { + shared_temp[GI].endPoint_high = shared_temp[GI + 2].endPoint_high; + shared_temp[GI].endPoint_lum_high = shared_temp[GI + 2].endPoint_lum_high; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 1) + { + if (shared_temp[GI].endPoint_lum_low > shared_temp[GI + 1].endPoint_lum_low) + { + shared_temp[GI].endPoint_low = shared_temp[GI + 1].endPoint_low; + shared_temp[GI].endPoint_lum_low = shared_temp[GI + 1].endPoint_lum_low; + } + if (shared_temp[GI].endPoint_lum_high < shared_temp[GI + 1].endPoint_lum_high) + { + shared_temp[GI].endPoint_high = shared_temp[GI + 1].endPoint_high; + shared_temp[GI].endPoint_lum_high = shared_temp[GI + 1].endPoint_lum_high; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + //ergod mode_type 11:14 + if ( threadInBlock == 0 ) + { + int2x3 endPoint; + // find_axis + endPoint[0] = shared_temp[threadBase + 0].endPoint_low; + endPoint[1] = shared_temp[threadBase + 0].endPoint_high; + + //compute_index + float3 span = endPoint[1] - endPoint[0];// fixed a bug in v0.2 + float span_norm_sqr = dot( span, span );// fixed a bug in v0.2 + float dotProduct = dot( span, shared_temp[threadBase + 0].pixel_ph - endPoint[0] );// fixed a bug in v0.2 + if ( span_norm_sqr > 0 && dotProduct >= 0 && uint( dotProduct * 63.49999 / span_norm_sqr ) > 32 ) + { + swap(endPoint[0], endPoint[1]); + + shared_temp[GI].endPoint_low = endPoint[0]; + shared_temp[GI].endPoint_high = endPoint[1]; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + if (threadInBlock < 4) + { + int2x3 endPoint; + endPoint[0] = shared_temp[threadBase + 0].endPoint_low; + endPoint[1] = shared_temp[threadBase + 0].endPoint_high; + + float3 span = endPoint[1] - endPoint[0]; + float span_norm_sqr = dot( span, span ); + + uint4 prec = candidateModePrec[threadInBlock + 10]; + int2x3 endPoint_q = endPoint; + quantize( endPoint_q, prec.x ); + + bool transformed = candidateModeTransformed[threadInBlock + 10]; + if (transformed) + { + endPoint_q[1] -= endPoint_q[0]; + } + + bool bBadQuantize; + finish_quantize( bBadQuantize, endPoint_q, prec, transformed ); + + start_unquantize( endPoint_q, prec, transformed ); + + unquantize( endPoint_q, prec.x ); + + float error = 0; + [loop]for ( uint j = 0; j < 16; j ++ ) + { + float dotProduct = dot( span, shared_temp[threadBase + j].pixel_ph - endPoint[0] );// fixed a bug in v0.2 + uint index = ( span_norm_sqr <= 0 || dotProduct <= 0 ) ? 0 + : ( ( dotProduct < span_norm_sqr ) ? aStep2[ uint( dotProduct * 63.49999 / span_norm_sqr ) ] : aStep2[63] ); + + uint3 pixel_rh; + generate_palette_unquantized16( pixel_rh, endPoint_q[0], endPoint_q[1], index ); + float3 pixel_r = half2float( pixel_rh ); + pixel_r -= shared_temp[threadBase + j].pixel_hr; + error += dot(pixel_r, pixel_r); + } + if ( bBadQuantize ) + error = 1e20f; + + shared_temp[GI].error = error; + shared_temp[GI].best_mode = candidateModeFlag[threadInBlock + 10]; + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + if (threadInBlock < 2) + { + if ( shared_temp[GI].error > shared_temp[GI + 2].error ) + { + shared_temp[GI].error = shared_temp[GI + 2].error; + shared_temp[GI].best_mode = shared_temp[GI + 2].best_mode; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 1) + { + if ( shared_temp[GI].error > shared_temp[GI + 1].error ) + { + shared_temp[GI].error = shared_temp[GI + 1].error; + shared_temp[GI].best_mode = shared_temp[GI + 1].best_mode; + } + + g_OutBuff[blockID] = uint4(asuint(shared_temp[GI].error), shared_temp[GI].best_mode, 0, 0); + } +} + +[numthreads( THREAD_GROUP_SIZE, 1, 1 )] +void TryModeLE10CS( uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID ) +{ + const uint MAX_USED_THREAD = 32; + uint BLOCK_IN_GROUP = THREAD_GROUP_SIZE / MAX_USED_THREAD; + uint blockInGroup = GI / MAX_USED_THREAD; + uint blockID = g_start_block_id + groupID.x * BLOCK_IN_GROUP + blockInGroup; + uint threadBase = blockInGroup * MAX_USED_THREAD; + uint threadInBlock = GI - threadBase; + +#ifndef REF_DEVICE + if (blockID >= g_num_total_blocks) + { + return; + } + + if (asfloat(g_InBuff[blockID].x) < 1e-6f) + { + g_OutBuff[blockID] = g_InBuff[blockID]; + return; + } +#endif + + uint block_y = blockID / g_num_block_x; + uint block_x = blockID - block_y * g_num_block_x; + uint base_x = block_x * BLOCK_SIZE_X; + uint base_y = block_y * BLOCK_SIZE_Y; + + if (threadInBlock < 16) + { + shared_temp[GI].pixel = g_Input.Load( uint3( base_x + threadInBlock % 4, base_y + threadInBlock / 4, 0 ) ).rgb; + uint3 pixel_h = float2half( shared_temp[GI].pixel ); + shared_temp[GI].pixel_hr = half2float(pixel_h); + shared_temp[GI].pixel_lum = dot(shared_temp[GI].pixel_hr, RGB2LUM); + shared_temp[GI].pixel_ph = start_quantize( pixel_h ); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + //ergod mode_type 1:10 + if (threadInBlock < 32) + { + // find_axis + int2x3 endPoint[2]; + endPoint[0][0] = MAX_INT; + endPoint[0][1] = MIN_INT; + endPoint[1][0] = MAX_INT; + endPoint[1][1] = MIN_INT; + + float2 endPoint_lum[2]; + endPoint_lum[0][0] = MAX_FLOAT; + endPoint_lum[0][1] = MIN_FLOAT; + endPoint_lum[1][0] = MAX_FLOAT; + endPoint_lum[1][1] = MIN_FLOAT; + + uint bit = candidateSectionBit[threadInBlock]; + for ( uint i = 0; i < 16; i ++ ) + { + int3 pixel_ph = shared_temp[threadBase + i].pixel_ph; + float pixel_lum = shared_temp[threadBase + i].pixel_lum; + if ( (bit >> i) & 1 ) //It gets error when using "candidateSection" as "endPoint_ph" index + { + if (endPoint_lum[1][0] > pixel_lum) + { + endPoint[1][0] = pixel_ph; + endPoint_lum[1][0] = pixel_lum; + } + if (endPoint_lum[1][1] < pixel_lum) + { + endPoint[1][1] = pixel_ph; + endPoint_lum[1][1] = pixel_lum; + } + } + else + { + if (endPoint_lum[0][0] > pixel_lum) + { + endPoint[0][0] = pixel_ph; + endPoint_lum[0][0] = pixel_lum; + } + if (endPoint_lum[0][1] < pixel_lum) + { + endPoint[0][1] = pixel_ph; + endPoint_lum[0][1] = pixel_lum; + } + } + } + + //compute_index + float3 span[2];// fixed a bug in v0.2 + float span_norm_sqr[2];// fixed a bug in v0.2 + [unroll] + for (uint p = 0; p < 2; ++ p) + { + span[p] = endPoint[p][1] - endPoint[p][0]; + span_norm_sqr[p] = dot( span[p], span[p] ); + + float dotProduct = dot( span[p], shared_temp[threadBase + (0 == p ? 0 : candidateFixUpIndex1D[threadInBlock])].pixel_ph - endPoint[p][0] );// fixed a bug in v0.2 + if ( span_norm_sqr[p] > 0 && dotProduct >= 0 && uint( dotProduct * 63.49999 / span_norm_sqr[p] ) > 32 ) + { + span[p] = -span[p]; + swap(endPoint[p][0], endPoint[p][1]); + } + } + + uint4 prec = candidateModePrec[g_mode_id]; + int2x3 endPoint_q[2] = endPoint; + quantize( endPoint_q[0], prec.x ); + quantize( endPoint_q[1], prec.x ); + + bool transformed = candidateModeTransformed[g_mode_id]; + if (transformed) + { + endPoint_q[0][1] -= endPoint_q[0][0]; + endPoint_q[1][0] -= endPoint_q[0][0]; + endPoint_q[1][1] -= endPoint_q[0][0]; + } + + int bBadQuantize = 0; + finish_quantize_0( bBadQuantize, endPoint_q[0], prec, transformed ); + finish_quantize_1( bBadQuantize, endPoint_q[1], prec, transformed ); + + start_unquantize( endPoint_q, prec, transformed ); + + unquantize( endPoint_q[0], prec.x ); + unquantize( endPoint_q[1], prec.x ); + + float error = 0; + for ( uint j = 0; j < 16; j ++ ) + { + uint3 pixel_rh; + if ((bit >> j) & 1) + { + float dotProduct = dot( span[1], shared_temp[threadBase + j].pixel_ph - endPoint[1][0] );// fixed a bug in v0.2 + uint index = ( span_norm_sqr[1] <= 0 || dotProduct <= 0 ) ? 0 + : ( ( dotProduct < span_norm_sqr[1] ) ? aStep1[ uint( dotProduct * 63.49999 / span_norm_sqr[1] ) ] : aStep1[63] ); + generate_palette_unquantized8( pixel_rh, endPoint_q[1][0], endPoint_q[1][1], index ); + } + else + { + float dotProduct = dot( span[0], shared_temp[threadBase + j].pixel_ph - endPoint[0][0] );// fixed a bug in v0.2 + uint index = ( span_norm_sqr[0] <= 0 || dotProduct <= 0 ) ? 0 + : ( ( dotProduct < span_norm_sqr[0] ) ? aStep1[ uint( dotProduct * 63.49999 / span_norm_sqr[0] ) ] : aStep1[63] ); + generate_palette_unquantized8( pixel_rh, endPoint_q[0][0], endPoint_q[0][1], index ); + } + + float3 pixel_r = half2float( pixel_rh ); + pixel_r -= shared_temp[threadBase + j].pixel_hr; + error += dot(pixel_r, pixel_r); + } + if ( bBadQuantize ) + error = 1e20f; + + shared_temp[GI].error = error; + shared_temp[GI].best_mode = candidateModeFlag[g_mode_id]; + shared_temp[GI].best_partition = threadInBlock; + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + if (threadInBlock < 16) + { + if ( shared_temp[GI].error > shared_temp[GI + 16].error ) + { + shared_temp[GI].error = shared_temp[GI + 16].error; + shared_temp[GI].best_mode = shared_temp[GI + 16].best_mode; + shared_temp[GI].best_partition = shared_temp[GI + 16].best_partition; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 8) + { + if ( shared_temp[GI].error > shared_temp[GI + 8].error ) + { + shared_temp[GI].error = shared_temp[GI + 8].error; + shared_temp[GI].best_mode = shared_temp[GI + 8].best_mode; + shared_temp[GI].best_partition = shared_temp[GI + 8].best_partition; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 4) + { + if ( shared_temp[GI].error > shared_temp[GI + 4].error ) + { + shared_temp[GI].error = shared_temp[GI + 4].error; + shared_temp[GI].best_mode = shared_temp[GI + 4].best_mode; + shared_temp[GI].best_partition = shared_temp[GI + 4].best_partition; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 2) + { + if ( shared_temp[GI].error > shared_temp[GI + 2].error ) + { + shared_temp[GI].error = shared_temp[GI + 2].error; + shared_temp[GI].best_mode = shared_temp[GI + 2].best_mode; + shared_temp[GI].best_partition = shared_temp[GI + 2].best_partition; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 1) + { + if ( shared_temp[GI].error > shared_temp[GI + 1].error ) + { + shared_temp[GI].error = shared_temp[GI + 1].error; + shared_temp[GI].best_mode = shared_temp[GI + 1].best_mode; + shared_temp[GI].best_partition = shared_temp[GI + 1].best_partition; + } + + if (asfloat(g_InBuff[blockID].x) > shared_temp[GI].error) + { + g_OutBuff[blockID] = uint4(asuint(shared_temp[GI].error), shared_temp[GI].best_mode, shared_temp[GI].best_partition, 0); + } + else + { + g_OutBuff[blockID] = g_InBuff[blockID]; + } + } +} + +[numthreads( THREAD_GROUP_SIZE, 1, 1 )] +void EncodeBlockCS(uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID) +{ + const uint MAX_USED_THREAD = 32; + uint BLOCK_IN_GROUP = THREAD_GROUP_SIZE / MAX_USED_THREAD; + uint blockInGroup = GI / MAX_USED_THREAD; + uint blockID = g_start_block_id + groupID.x * BLOCK_IN_GROUP + blockInGroup; + uint threadBase = blockInGroup * MAX_USED_THREAD; + uint threadInBlock = GI - threadBase; + +#ifndef REF_DEVICE + if (blockID >= g_num_total_blocks) + { + return; + } +#endif + + uint block_y = blockID / g_num_block_x; + uint block_x = blockID - block_y * g_num_block_x; + uint base_x = block_x * BLOCK_SIZE_X; + uint base_y = block_y * BLOCK_SIZE_Y; + + if (threadInBlock < 16) + { + shared_temp[GI].pixel = g_Input.Load( uint3( base_x + threadInBlock % 4, base_y + threadInBlock / 4, 0 ) ).rgb; + shared_temp[GI].pixel_lum = dot(shared_temp[GI].pixel, RGB2LUM); + uint3 pixel_h = float2half( shared_temp[GI].pixel ); + shared_temp[GI].pixel_ph = start_quantize( pixel_h ); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + uint best_mode = g_InBuff[blockID].y; + uint best_partition = g_InBuff[blockID].z; + + uint4 block = 0; + + if (threadInBlock < 32) + { + int2x3 endPoint; + endPoint[0] = MAX_INT; + endPoint[1] = MIN_INT; + + float2 endPoint_lum; + endPoint_lum[0] = MAX_FLOAT; + endPoint_lum[1] = MIN_FLOAT; + + int2 endPoint_lum_index; + endPoint_lum_index[0] = -1; + endPoint_lum_index[1] = -1; + + int3 pixel_ph = shared_temp[threadBase + (threadInBlock & 0xF)].pixel_ph; + float pixel_lum = shared_temp[threadBase + (threadInBlock & 0xF)].pixel_lum; + if (threadInBlock < 16) + { + if (best_mode > 10) + { + endPoint[0] = endPoint[1] = pixel_ph; + endPoint_lum[0] = endPoint_lum[1] = pixel_lum; + } + else + { + uint bits = candidateSectionBit[best_partition]; + if (0 == ((bits >> threadInBlock) & 1)) + { + endPoint[0] = endPoint[1] = pixel_ph; + endPoint_lum[0] = endPoint_lum[1] = pixel_lum; + } + } + } + else + { + if (best_mode <= 10) + { + uint bits = candidateSectionBit[best_partition]; + if (1 == ((bits >> (threadInBlock & 0xF)) & 1)) + { + endPoint[0] = endPoint[1] = pixel_ph; + endPoint_lum[0] = endPoint_lum[1] = pixel_lum; + } + } + } + + shared_temp[GI].endPoint_low = endPoint[0]; + shared_temp[GI].endPoint_high = endPoint[1]; + + shared_temp[GI].endPoint_lum_low = endPoint_lum[0]; + shared_temp[GI].endPoint_lum_high = endPoint_lum[1]; + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if ((threadInBlock & 0xF) < 8) + { + if (shared_temp[GI].endPoint_lum_low > shared_temp[GI + 8].endPoint_lum_low) + { + shared_temp[GI].endPoint_low = shared_temp[GI + 8].endPoint_low; + shared_temp[GI].endPoint_lum_low = shared_temp[GI + 8].endPoint_lum_low; + } + if (shared_temp[GI].endPoint_lum_high < shared_temp[GI + 8].endPoint_lum_high) + { + shared_temp[GI].endPoint_high = shared_temp[GI + 8].endPoint_high; + shared_temp[GI].endPoint_lum_high = shared_temp[GI + 8].endPoint_lum_high; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if ((threadInBlock & 0xF) < 4) + { + if (shared_temp[GI].endPoint_lum_low > shared_temp[GI + 4].endPoint_lum_low) + { + shared_temp[GI].endPoint_low = shared_temp[GI + 4].endPoint_low; + shared_temp[GI].endPoint_lum_low = shared_temp[GI + 4].endPoint_lum_low; + } + if (shared_temp[GI].endPoint_lum_high < shared_temp[GI + 4].endPoint_lum_high) + { + shared_temp[GI].endPoint_high = shared_temp[GI + 4].endPoint_high; + shared_temp[GI].endPoint_lum_high = shared_temp[GI + 4].endPoint_lum_high; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if ((threadInBlock & 0xF) < 2) + { + if (shared_temp[GI].endPoint_lum_low > shared_temp[GI + 2].endPoint_lum_low) + { + shared_temp[GI].endPoint_low = shared_temp[GI + 2].endPoint_low; + shared_temp[GI].endPoint_lum_low = shared_temp[GI + 2].endPoint_lum_low; + } + if (shared_temp[GI].endPoint_lum_high < shared_temp[GI + 2].endPoint_lum_high) + { + shared_temp[GI].endPoint_high = shared_temp[GI + 2].endPoint_high; + shared_temp[GI].endPoint_lum_high = shared_temp[GI + 2].endPoint_lum_high; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if ((threadInBlock & 0xF) < 1) + { + if (shared_temp[GI].endPoint_lum_low > shared_temp[GI + 1].endPoint_lum_low) + { + shared_temp[GI].endPoint_low = shared_temp[GI + 1].endPoint_low; + shared_temp[GI].endPoint_lum_low = shared_temp[GI + 1].endPoint_lum_low; + } + if (shared_temp[GI].endPoint_lum_high < shared_temp[GI + 1].endPoint_lum_high) + { + shared_temp[GI].endPoint_high = shared_temp[GI + 1].endPoint_high; + shared_temp[GI].endPoint_lum_high = shared_temp[GI + 1].endPoint_lum_high; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + if (threadInBlock < 2) + { + // find_axis + int2x3 endPoint; + endPoint[0] = shared_temp[threadBase + threadInBlock * 16].endPoint_low; + endPoint[1] = shared_temp[threadBase + threadInBlock * 16].endPoint_high; + + uint fixup = 0; + if ((1 == threadInBlock) && (best_mode <= 10)) + { + fixup = candidateFixUpIndex1D[best_partition]; + } + + float3 span = endPoint[1] - endPoint[0]; + float span_norm_sqr = dot( span, span ); + float dotProduct = dot( span, shared_temp[threadBase + fixup].pixel_ph - endPoint[0] ); + if ( span_norm_sqr > 0 && dotProduct >= 0 && uint( dotProduct * 63.49999 / span_norm_sqr ) > 32 ) + { + swap(endPoint[0], endPoint[1]); + } + + shared_temp[GI].endPoint_low = endPoint[0]; + shared_temp[GI].endPoint_high = endPoint[1]; + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + if (threadInBlock < 16) + { + uint bits; + if (best_mode > 10) + { + bits = 0; + } + else + { + bits = candidateSectionBit[best_partition]; + } + + float3 span; + float dotProduct; + if ((bits >> threadInBlock) & 1) + { + span = shared_temp[threadBase + 1].endPoint_high - shared_temp[threadBase + 1].endPoint_low; + dotProduct = dot( span, shared_temp[threadBase + threadInBlock].pixel_ph - shared_temp[threadBase + 1].endPoint_low ); + } + else + { + span = shared_temp[threadBase + 0].endPoint_high - shared_temp[threadBase + 0].endPoint_low; + dotProduct = dot( span, shared_temp[threadBase + threadInBlock].pixel_ph - shared_temp[threadBase + 0].endPoint_low ); + } + float span_norm_sqr = dot( span, span ); + + if (best_mode > 10) + { + uint index = ( span_norm_sqr <= 0 || dotProduct <= 0 ) ? 0 + : ( ( dotProduct < span_norm_sqr ) ? aStep2[ uint( dotProduct * 63.49999 / span_norm_sqr ) ] : aStep2[63] ); + if (threadInBlock == 0) + { + block.z |= index << 1; + } + else if (threadInBlock < 8) + { + block.z |= index << (threadInBlock * 4); + } + else + { + block.w |= index << ((threadInBlock - 8) * 4); + } + } + else + { + uint index = ( span_norm_sqr <= 0 || dotProduct <= 0 ) ? 0 + : ( ( dotProduct < span_norm_sqr ) ? aStep1[ uint( dotProduct * 63.49999 / span_norm_sqr ) ] : aStep1[63] ); + + uint fixup = candidateFixUpIndex1D[best_partition]; + int2 offset = int2((fixup != 2), (fixup == 15)); + + if (threadInBlock == 0) + { + block.z |= index << 18; + } + else if (threadInBlock < 3) + { + block.z |= index << (20 + (threadInBlock - 1) * 3); + } + else if (threadInBlock < 5) + { + block.z |= index << (25 + (threadInBlock - 3) * 3 + offset.x); + } + else if (threadInBlock == 5) + { + block.w |= index >> !offset.x; + if (!offset.x) + { + block.z |= index << 31; + } + } + else if (threadInBlock < 9) + { + block.w |= index << (2 + (threadInBlock - 6) * 3 + offset.x); + } + else + { + block.w |= index << (11 + (threadInBlock - 9) * 3 + offset.y); + } + } + + shared_temp[GI].pixel_hr.xy = asfloat(block.zw); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 8) + { + shared_temp[GI].pixel_hr.xy = asfloat(asuint(shared_temp[GI].pixel_hr.xy) | asuint(shared_temp[GI + 8].pixel_hr.xy)); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 4) + { + shared_temp[GI].pixel_hr.xy = asfloat(asuint(shared_temp[GI].pixel_hr.xy) | asuint(shared_temp[GI + 4].pixel_hr.xy)); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 2) + { + shared_temp[GI].pixel_hr.xy = asfloat(asuint(shared_temp[GI].pixel_hr.xy) | asuint(shared_temp[GI + 2].pixel_hr.xy)); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 1) + { + shared_temp[GI].pixel_hr.xy = asfloat(asuint(shared_temp[GI].pixel_hr.xy) | asuint(shared_temp[GI + 1].pixel_hr.xy)); + + block.zw = asuint(shared_temp[GI].pixel_hr.xy); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + bool transformed = candidateModeTransformed[best_mode - 1]; + uint4 prec = candidateModePrec[best_mode - 1]; + if (threadInBlock == 2) + { + int2x3 endPoint_q; + endPoint_q[0] = shared_temp[threadBase + 0].endPoint_low; + endPoint_q[1] = shared_temp[threadBase + 0].endPoint_high; + + quantize( endPoint_q, prec.x ); + if (transformed) + { + endPoint_q[1] -= endPoint_q[0]; + } + + shared_temp[GI].endPoint_low = endPoint_q[0]; + shared_temp[GI].endPoint_high = endPoint_q[1]; + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock == 3) + { + int3 ep0 = shared_temp[threadBase + 2].endPoint_low; + int2x3 endPoint_q; + endPoint_q[0] = shared_temp[threadBase + 1].endPoint_low; + endPoint_q[1] = shared_temp[threadBase + 1].endPoint_high; + + if (best_mode <= 10) + { + quantize( endPoint_q, prec.x ); + if (transformed) + { + endPoint_q[0] -= ep0; + endPoint_q[1] -= ep0; + } + + shared_temp[GI].endPoint_low = endPoint_q[0]; + shared_temp[GI].endPoint_high = endPoint_q[1]; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + if (threadInBlock < 2) + { + int2x3 endPoint_q; + endPoint_q[0] = shared_temp[threadBase + threadInBlock + 2].endPoint_low; + endPoint_q[1] = shared_temp[threadBase + threadInBlock + 2].endPoint_high; + + int bBadQuantize = 0; + if (threadInBlock == 0) + { + if (best_mode > 10) + { + finish_quantize( bBadQuantize, endPoint_q, prec, transformed ); + } + else + { + finish_quantize_0( bBadQuantize, endPoint_q, prec, transformed ); + } + } + else // if (threadInBlock == 1) + { + if (best_mode <= 10) + { + finish_quantize_1( bBadQuantize, endPoint_q, prec, transformed ); + } + } + + shared_temp[GI].endPoint_low = endPoint_q[0]; + shared_temp[GI].endPoint_high = endPoint_q[1]; + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + if ( threadInBlock == 0 ) + { + int2x3 endPoint_q[2]; + endPoint_q[0][0] = shared_temp[threadBase + 0].endPoint_low; + endPoint_q[0][1] = shared_temp[threadBase + 0].endPoint_high; + endPoint_q[1][0] = shared_temp[threadBase + 1].endPoint_low; + endPoint_q[1][1] = shared_temp[threadBase + 1].endPoint_high; + + if ( best_mode > 10 ) + { + block_package( block, endPoint_q[0], best_mode ); + } + else + { + block_package( block, endPoint_q, best_mode, best_partition ); + } + + g_OutBuff[blockID] = block; + } +} + +uint float2half1( float f ) +{ + uint Result; + + uint IValue = asuint(f); + uint Sign = (IValue & 0x80000000U) >> 16U; + IValue = IValue & 0x7FFFFFFFU; + + if (IValue > 0x47FFEFFFU) + { + // The number is too large to be represented as a half. Saturate to infinity. + Result = 0x7FFFU; + } + else + { + if (IValue < 0x38800000U) + { + // The number is too small to be represented as a normalized half. + // Convert it to a denormalized value. + uint Shift = 113U - (IValue >> 23U); + IValue = (0x800000U | (IValue & 0x7FFFFFU)) >> Shift; + } + else + { + // Rebias the exponent to represent the value as a normalized half. + IValue += 0xC8000000U; + } + + Result = ((IValue + 0x0FFFU + ((IValue >> 13U) & 1U)) >> 13U)&0x7FFFU; + } + return (Result|Sign); +} + +uint3 float2half( float3 endPoint_f ) +{ + //uint3 sign = asuint(endPoint_f) & 0x80000000; + //uint3 expo = asuint(endPoint_f) & 0x7F800000; + //uint3 base = asuint(endPoint_f) & 0x007FFFFF; + //return ( expo < 0x33800000 ) ? 0 + // //0x33800000 indicating 2^-24, which is minimal denormalized number that half can present + // : ( ( expo < 0x38800000 ) ? ( sign >> 16 ) | ( ( base + 0x00800000 ) >> ( 23 - ( ( expo - 0x33800000 ) >> 23 ) ) )//fixed a bug in v0.2 + // //0x38800000 indicating 2^-14, which is minimal normalized number that half can present, so need to use denormalized half presentation + // : ( ( expo == 0x7F800000 || expo > 0x47000000 ) ? ( ( sign >> 16 ) | 0x7bff ) + // // treat NaN as INF, treat INF (including NaN) as the maximum/minimum number that half can present + // // 0x47000000 indicating 2^15, which is maximum exponent that half can present, so cut to 0x7bff which is the maximum half number + // : ( ( sign >> 16 ) | ( ( ( expo - 0x38000000 ) | base ) >> 13 ) ) ) ); + + + return uint3( float2half1( endPoint_f.x ), float2half1( endPoint_f.y ), float2half1( endPoint_f.z ) ); +} +int3 start_quantize( uint3 pixel_h ) +{ + if ( g_format == UNSIGNED_F16 ) + { + return asint( ( pixel_h << 6 ) / 31 ); + } + else + { + return ( pixel_h < 0x8000 ) ? ( ( pixel_h == 0x7bff ) ? 0x7fff : asint( ( pixel_h << 5 ) / 31 ) )// fixed a bug in v0.2 + : ( ( pixel_h == 0x7bff ) ? 0xffff8001 : -asint( ( ( 0x00007fff & pixel_h ) << 5 ) / 31 ) );// fixed a bug in v0.2 + } +} +void quantize( inout int2x3 endPoint, uint prec ) +{ + int iprec = asint( prec ); + if ( g_format == UNSIGNED_F16 ) + { + endPoint = ( ( iprec >= 15 ) | ( endPoint == 0 ) ) ? endPoint + : ( ( endPoint == asint(0xFFFF) ) ? ( ( 1 << iprec ) - 1 ) + : ( ( ( endPoint << iprec ) + asint(0x0000) ) >> 16 ) ); + } + else + { + endPoint = ( ( iprec >= 16 ) | ( endPoint == 0 ) ) ? endPoint + : ( ( endPoint >= 0 ) ? ( ( endPoint == asint(0x7FFF) ) ? ( ( 1 << ( iprec - 1 ) ) - 1 ) : ( ( ( endPoint << ( iprec - 1 ) ) + asint(0x0000) ) >> 15 ) ) + : ( ( -endPoint == asint(0x7FFF) ) ? -( ( 1 << ( iprec - 1 ) ) - 1 ) : -( ( ( -endPoint << ( iprec - 1 ) ) + asint(0x0000) ) >> 15 ) ) ); + } +} +void finish_quantize_0( inout int bBadQuantize, inout int2x3 endPoint, uint4 prec, bool transformed ) +{ + if ( transformed ) + { + bool3 bBadComponent = ( endPoint[1] >= 0 ) ? ( endPoint[1] >= ( 1 << ( prec.yzw - 1 ) ) ) + : ( -endPoint[1] > ( 1 << ( prec.yzw - 1 ) ) ); + bBadQuantize |= any(bBadComponent); + + endPoint[0] = endPoint[0] & ( ( 1 << prec.x ) - 1 ); + endPoint[1] = ( endPoint[1] >= 0 ) ? ( ( endPoint[1] >= ( 1 << ( prec.yzw - 1 ) ) ) ? ( ( 1 << ( prec.yzw - 1 ) ) - 1 ) : endPoint[1] ) + : ( ( -endPoint[1] > ( 1 << ( prec.yzw - 1 ) ) ) ? ( 1 << ( prec.yzw - 1 ) ) : ( endPoint[1] & ( ( 1 << prec.yzw ) - 1 ) ) ); + } + else + { + endPoint &= ( ( 1 << prec.x ) - 1 ); + } +} +void finish_quantize_1( inout int bBadQuantize, inout int2x3 endPoint, uint4 prec, bool transformed ) +{ + if ( transformed ) + { + bool2x3 bBadComponent; + bBadComponent[0] = ( endPoint[0] >= 0 ) ? ( endPoint[0] >= ( 1 << ( prec.yzw - 1 ) ) ) + : ( -endPoint[0] > ( 1 << ( prec.yzw - 1 ) ) ); + bBadComponent[1] = ( endPoint[1] >= 0 ) ? ( endPoint[1] >= ( 1 << ( prec.yzw - 1 ) ) ) + : ( -endPoint[1] > ( 1 << ( prec.yzw - 1 ) ) ); + bBadQuantize |= any(bBadComponent); + + endPoint[0] = ( endPoint[0] >= 0 ) ? ( ( endPoint[0] >= ( 1 << ( prec.yzw - 1 ) ) ) ? ( ( 1 << ( prec.yzw - 1 ) ) - 1 ) : endPoint[0] ) + : ( ( -endPoint[0] > ( 1 << ( prec.yzw - 1 ) ) ) ? ( 1 << ( prec.yzw - 1 ) ) : ( endPoint[0] & ( ( 1 << prec.yzw ) - 1 ) ) ); + endPoint[1] = ( endPoint[1] >= 0 ) ? ( ( endPoint[1] >= ( 1 << ( prec.yzw - 1 ) ) ) ? ( ( 1 << ( prec.yzw - 1 ) ) - 1 ) : endPoint[1] ) + : ( ( -endPoint[1] > ( 1 << ( prec.yzw - 1 ) ) ) ? ( 1 << ( prec.yzw - 1 ) ) : ( endPoint[1] & ( ( 1 << prec.yzw ) - 1 ) ) ); + } + else + { + endPoint &= ( ( 1 << prec.x ) - 1 ); + } +} +void finish_quantize( out bool bBadQuantize, inout int2x3 endPoint, uint4 prec, bool transformed ) +{ + if ( transformed ) + { + bool3 bBadComponent; + bBadComponent = ( endPoint[1] >= 0 ) ? ( endPoint[1] >= ( 1 << ( prec.yzw - 1 ) ) ) + : ( -endPoint[1] > ( 1 << ( prec.yzw - 1 ) ) ); + bBadQuantize = any( bBadComponent ); + + endPoint[0] = endPoint[0] & ( ( 1 << prec.x ) - 1 ); + endPoint[1] = ( endPoint[1] >= 0 ) ? ( ( endPoint[1] >= ( 1 << ( prec.yzw - 1 ) ) ) ? ( ( 1 << ( prec.yzw - 1 ) ) - 1 ) : endPoint[1] ) + : ( ( -endPoint[1] > ( 1 << ( prec.yzw - 1 ) ) ) ? ( 1 << ( prec.yzw - 1 ) ) : ( endPoint[1] & ( ( 1 << prec.yzw ) - 1 ) ) ); + } + else + { + endPoint &= ( ( 1 << prec.x ) - 1 ); + + bBadQuantize = 0; + } +} + +void SIGN_EXTEND( uint3 prec, inout int3 color ) +{ + uint3 p = 1 << (prec - 1); + color = (color & p) ? (color & (p - 1)) - p : color; +} + +void sign_extend( bool transformed, uint4 prec, inout int2x3 endPoint ) +{ + if ( g_format == SIGNED_F16 ) + SIGN_EXTEND( prec.x, endPoint[0] ); + if ( g_format == SIGNED_F16 || transformed ) + SIGN_EXTEND( prec.yzw, endPoint[1] ); +} + +void sign_extend( bool transformed, uint4 prec, inout int2x3 endPoint[2] ) +{ + if ( g_format == SIGNED_F16 ) + SIGN_EXTEND( prec.x, endPoint[0][0] ); + if ( g_format == SIGNED_F16 || transformed ) + { + SIGN_EXTEND( prec.yzw, endPoint[0][1] ); + SIGN_EXTEND( prec.yzw, endPoint[1][0] ); + SIGN_EXTEND( prec.yzw, endPoint[1][1] ); + } +} +void start_unquantize( inout int2x3 endPoint[2], uint4 prec, bool transformed ) +{ + sign_extend( transformed, prec, endPoint ); + if ( transformed ) + { + endPoint[0][1] += endPoint[0][0]; + endPoint[1][0] += endPoint[0][0]; + endPoint[1][1] += endPoint[0][0]; + } +} +void start_unquantize( inout int2x3 endPoint, uint4 prec, bool transformed ) +{ + sign_extend( transformed, prec, endPoint ); + if ( transformed ) + endPoint[1] += endPoint[0]; +} +void unquantize( inout int2x3 color, uint prec ) +{ + int iprec = asint( prec ); + if (g_format == UNSIGNED_F16 ) + { + if (prec < 15) + { + color = (color != 0) ? (color == ((1 << iprec) - 1) ? 0xFFFF : (((color << 16) + 0x8000) >> iprec)) : color; + } + } + else + { + if (prec < 16) + { + uint2x3 s = color >= 0 ? 0 : 1; + color = abs(color); + color = (color != 0) ? (color >= ((1 << (iprec - 1)) - 1) ? 0x7FFF : (((color << 15) + 0x4000) >> (iprec - 1))) : color; + color = s > 0 ? -color : color; + } + } +} +uint3 finish_unquantize( int3 color ) +{ + if ( g_format == UNSIGNED_F16 ) + color = ( color * 31 ) >> 6; + else + { + color = ( color < 0 ) ? -( ( -color * 31 ) >> 5 ) : ( color * 31 ) >> 5; + color = ( color < 0 ) ? ( ( -color ) | 0x8000 ) : color; + } + return asuint(color); +} +void generate_palette_unquantized8( out uint3 palette, int3 low, int3 high, int i ) +{ + static const int aWeight3[] = {0, 9, 18, 27, 37, 46, 55, 64}; + + int3 tmp = ( low * ( 64 - aWeight3[i] ) + high * aWeight3[i] + 32 ) >> 6; + palette = finish_unquantize( tmp ); +} +void generate_palette_unquantized16( out uint3 palette, int3 low, int3 high, int i ) +{ + static const int aWeight4[] = {0, 4, 9, 13, 17, 21, 26, 30, 34, 38, 43, 47, 51, 55, 60, 64}; + + int3 tmp = ( low * ( 64 - aWeight4[i] ) + high * aWeight4[i] + 32 ) >> 6; + palette = finish_unquantize( tmp ); +} + +float half2float1( uint Value ) +{ + uint Mantissa = (uint)(Value & 0x03FF); + + uint Exponent; + if ((Value & 0x7C00) != 0) // The value is normalized + { + Exponent = (uint)((Value >> 10) & 0x1F); + } + else if (Mantissa != 0) // The value is denormalized + { + // Normalize the value in the resulting float + Exponent = 1; + + do + { + Exponent--; + Mantissa <<= 1; + } while ((Mantissa & 0x0400) == 0); + + Mantissa &= 0x03FF; + } + else // The value is zero + { + Exponent = (uint)(-112); + } + + uint Result = ((Value & 0x8000) << 16) | // Sign + ((Exponent + 112) << 23) | // Exponent + (Mantissa << 13); // Mantissa + + return asfloat(Result); +} + +float3 half2float(uint3 color_h ) +{ + //uint3 sign = color_h & 0x8000; + //uint3 expo = color_h & 0x7C00; + //uint3 base = color_h & 0x03FF; + //return ( expo == 0 ) ? asfloat( ( sign << 16 ) | asuint( float3(base) / 16777216 ) ) //16777216 = 2^24 + // : asfloat( ( sign << 16 ) | ( ( ( expo + 0x1C000 ) | base ) << 13 ) ); //0x1C000 = 0x1FC00 - 0x3C00 + + return float3( half2float1( color_h.x ), half2float1( color_h.y ), half2float1( color_h.z ) ); +} + +void block_package( inout uint4 block, int2x3 endPoint[2], uint mode_type, uint partition_index ) // for mode 1 - 10 +{ + block.xy = 0; + block.z &= 0xFFFC0000; + + //block.z |= (partition_index & 0x1f) << 13; + + if ( mode_type == candidateModeFlag[0]) + { + /*block.x = candidateModeMemory[0]; + block.x |= ( ( endPoint[0][0].r << 5 ) & 0x00007FE0 ) | ( ( endPoint[0][0].g << 15 ) & 0x01FF8000 ) | ( ( endPoint[0][0].b << 25 ) & 0xFE000000 ); + block.x |= ( endPoint[1][0].g >> 2 ) & 0x00000004; + block.x |= ( endPoint[1][0].b >> 1 ) & 0x00000008; + block.x |= endPoint[1][1].b & 0x00000010; + block.y |= ( ( endPoint[0][0].b >> 7 ) & 0x00000007 ); + block.y |= ( ( endPoint[0][1].r << 3 ) & 0x000000F8 ) | ( ( endPoint[0][1].g << 13 ) & 0x0003E000 ) | ( ( endPoint[0][1].b << 23 ) & 0x0F800000 ); + block.yz |= ( endPoint[1][0].gr << uint2(9, 1) ) & uint2(0x00001E00, 0x0000003E); + block.y |= ( endPoint[1][0].b << 29 ) & 0xE0000000; + block.y |= ( ( endPoint[1][1].g << 4 ) & 0x00000100 ); + block.yz |= ( endPoint[1][1].gr << uint2(19, 7) ) & uint2(0x00780000, 0x00000F80); + block.yz |= ( ( endPoint[1][1].b << uint2(27, 9) ) & uint2(0x10000000, 0x00001000) ) | ( ( endPoint[1][1].b << uint2(18, 4) ) & uint2(0x00040000, 0x00000040) ); + block.z |= ( endPoint[1][0].b >> 3 ) & 0x00000001;*/ + + block.x |= ((candidateModeMemory[0] >> 0) & 1) << 0; + block.x |= ((candidateModeMemory[0] >> 1) & 1) << 1; + block.x |= ((endPoint[1][0].g >> 4) & 1) << 2; + block.x |= ((endPoint[1][0].b >> 4) & 1) << 3; + block.x |= ((endPoint[1][1].b >> 4) & 1) << 4; + block.x |= ((endPoint[0][0].r >> 0) & 1) << 5; + block.x |= ((endPoint[0][0].r >> 1) & 1) << 6; + block.x |= ((endPoint[0][0].r >> 2) & 1) << 7; + block.x |= ((endPoint[0][0].r >> 3) & 1) << 8; + block.x |= ((endPoint[0][0].r >> 4) & 1) << 9; + block.x |= ((endPoint[0][0].r >> 5) & 1) << 10; + block.x |= ((endPoint[0][0].r >> 6) & 1) << 11; + block.x |= ((endPoint[0][0].r >> 7) & 1) << 12; + block.x |= ((endPoint[0][0].r >> 8) & 1) << 13; + block.x |= ((endPoint[0][0].r >> 9) & 1) << 14; + block.x |= ((endPoint[0][0].g >> 0) & 1) << 15; + block.x |= ((endPoint[0][0].g >> 1) & 1) << 16; + block.x |= ((endPoint[0][0].g >> 2) & 1) << 17; + block.x |= ((endPoint[0][0].g >> 3) & 1) << 18; + block.x |= ((endPoint[0][0].g >> 4) & 1) << 19; + block.x |= ((endPoint[0][0].g >> 5) & 1) << 20; + block.x |= ((endPoint[0][0].g >> 6) & 1) << 21; + block.x |= ((endPoint[0][0].g >> 7) & 1) << 22; + block.x |= ((endPoint[0][0].g >> 8) & 1) << 23; + block.x |= ((endPoint[0][0].g >> 9) & 1) << 24; + block.x |= ((endPoint[0][0].b >> 0) & 1) << 25; + block.x |= ((endPoint[0][0].b >> 1) & 1) << 26; + block.x |= ((endPoint[0][0].b >> 2) & 1) << 27; + block.x |= ((endPoint[0][0].b >> 3) & 1) << 28; + block.x |= ((endPoint[0][0].b >> 4) & 1) << 29; + block.x |= ((endPoint[0][0].b >> 5) & 1) << 30; + block.x |= ((endPoint[0][0].b >> 6) & 1) << 31; + block.y |= ((endPoint[0][0].b >> 7) & 1) << 0; + block.y |= ((endPoint[0][0].b >> 8) & 1) << 1; + block.y |= ((endPoint[0][0].b >> 9) & 1) << 2; + block.y |= ((endPoint[0][1].r >> 0) & 1) << 3; + block.y |= ((endPoint[0][1].r >> 1) & 1) << 4; + block.y |= ((endPoint[0][1].r >> 2) & 1) << 5; + block.y |= ((endPoint[0][1].r >> 3) & 1) << 6; + block.y |= ((endPoint[0][1].r >> 4) & 1) << 7; + block.y |= ((endPoint[1][1].g >> 4) & 1) << 8; + block.y |= ((endPoint[1][0].g >> 0) & 1) << 9; + block.y |= ((endPoint[1][0].g >> 1) & 1) << 10; + block.y |= ((endPoint[1][0].g >> 2) & 1) << 11; + block.y |= ((endPoint[1][0].g >> 3) & 1) << 12; + block.y |= ((endPoint[0][1].g >> 0) & 1) << 13; + block.y |= ((endPoint[0][1].g >> 1) & 1) << 14; + block.y |= ((endPoint[0][1].g >> 2) & 1) << 15; + block.y |= ((endPoint[0][1].g >> 3) & 1) << 16; + block.y |= ((endPoint[0][1].g >> 4) & 1) << 17; + block.y |= ((endPoint[1][1].b >> 0) & 1) << 18; + block.y |= ((endPoint[1][1].g >> 0) & 1) << 19; + block.y |= ((endPoint[1][1].g >> 1) & 1) << 20; + block.y |= ((endPoint[1][1].g >> 2) & 1) << 21; + block.y |= ((endPoint[1][1].g >> 3) & 1) << 22; + block.y |= ((endPoint[0][1].b >> 0) & 1) << 23; + block.y |= ((endPoint[0][1].b >> 1) & 1) << 24; + block.y |= ((endPoint[0][1].b >> 2) & 1) << 25; + block.y |= ((endPoint[0][1].b >> 3) & 1) << 26; + block.y |= ((endPoint[0][1].b >> 4) & 1) << 27; + block.y |= ((endPoint[1][1].b >> 1) & 1) << 28; + block.y |= ((endPoint[1][0].b >> 0) & 1) << 29; + block.y |= ((endPoint[1][0].b >> 1) & 1) << 30; + block.y |= ((endPoint[1][0].b >> 2) & 1) << 31; + block.z |= ((endPoint[1][0].b >> 3) & 1) << 0; + block.z |= ((endPoint[1][0].r >> 0) & 1) << 1; + block.z |= ((endPoint[1][0].r >> 1) & 1) << 2; + block.z |= ((endPoint[1][0].r >> 2) & 1) << 3; + block.z |= ((endPoint[1][0].r >> 3) & 1) << 4; + block.z |= ((endPoint[1][0].r >> 4) & 1) << 5; + block.z |= ((endPoint[1][1].b >> 2) & 1) << 6; + block.z |= ((endPoint[1][1].r >> 0) & 1) << 7; + block.z |= ((endPoint[1][1].r >> 1) & 1) << 8; + block.z |= ((endPoint[1][1].r >> 2) & 1) << 9; + block.z |= ((endPoint[1][1].r >> 3) & 1) << 10; + block.z |= ((endPoint[1][1].r >> 4) & 1) << 11; + block.z |= ((endPoint[1][1].b >> 3) & 1) << 12; + block.z |= ((partition_index >> 0) & 1) << 13; + block.z |= ((partition_index >> 1) & 1) << 14; + block.z |= ((partition_index >> 2) & 1) << 15; + block.z |= ((partition_index >> 3) & 1) << 16; + block.z |= ((partition_index >> 4) & 1) << 17; + } + else if ( mode_type == candidateModeFlag[1]) + { + /*block.x = candidateModeMemory[1]; + block.x |= ( ( endPoint[0][0].r << 5 ) & 0x00000FE0 ) | ( ( endPoint[0][0].g << 15 ) & 0x003F8000 ) | ( ( endPoint[0][0].b << 25 ) & 0xFE000000 ); + block.y |= ( ( endPoint[0][1].r << 3 ) & 0x000001F8 ) | ( ( endPoint[0][1].g << 13 ) & 0x0007E000 ) | ( ( endPoint[0][1].b << 23 ) & 0x1F800000 ); + block.x |= ( ( endPoint[1][0].g >> 3 ) & 0x00000004 ) | ( ( endPoint[1][0].g << 20 ) & 0x01000000 ); + block.x |= ( endPoint[1][1].g >> 1 ) & 0x00000018; + block.x |= ( ( endPoint[1][1].b << 21 ) & 0x00800000 ) | ( ( endPoint[1][1].b << 12 ) & 0x00003000 ); + block.x |= ( ( endPoint[1][0].b << 17 ) & 0x00400000 ) | ( ( endPoint[1][0].b << 10 ) & 0x00004000 ); + block.yz |= ( endPoint[1][0].gr << uint2(9, 1) ) & uint2(0x00001E00, 0x0000007E); + block.y |= ( endPoint[1][0].b << 29 ) & 0xE0000000; + block.yz |= ( endPoint[1][1].gr << uint2(19, 7) ) & uint2(0x00780000, 0x00001F80); + block.y |= ( ( endPoint[1][1].b >> 4 ) & 0x00000002 ) | ( ( endPoint[1][1].b >> 2 ) & 0x00000004 ) | ( ( endPoint[1][1].b >> 3 ) & 0x00000001 ); + block.z |= ( endPoint[1][0].b >> 3 ) & 0x00000001;*/ + + block.x |= ((candidateModeMemory[1] >> 0) & 1) << 0; + block.x |= ((candidateModeMemory[1] >> 1) & 1) << 1; + block.x |= ((endPoint[1][0].g >> 5) & 1) << 2; + block.x |= ((endPoint[1][1].g >> 4) & 1) << 3; + block.x |= ((endPoint[1][1].g >> 5) & 1) << 4; + block.x |= ((endPoint[0][0].r >> 0) & 1) << 5; + block.x |= ((endPoint[0][0].r >> 1) & 1) << 6; + block.x |= ((endPoint[0][0].r >> 2) & 1) << 7; + block.x |= ((endPoint[0][0].r >> 3) & 1) << 8; + block.x |= ((endPoint[0][0].r >> 4) & 1) << 9; + block.x |= ((endPoint[0][0].r >> 5) & 1) << 10; + block.x |= ((endPoint[0][0].r >> 6) & 1) << 11; + block.x |= ((endPoint[1][1].b >> 0) & 1) << 12; + block.x |= ((endPoint[1][1].b >> 1) & 1) << 13; + block.x |= ((endPoint[1][0].b >> 4) & 1) << 14; + block.x |= ((endPoint[0][0].g >> 0) & 1) << 15; + block.x |= ((endPoint[0][0].g >> 1) & 1) << 16; + block.x |= ((endPoint[0][0].g >> 2) & 1) << 17; + block.x |= ((endPoint[0][0].g >> 3) & 1) << 18; + block.x |= ((endPoint[0][0].g >> 4) & 1) << 19; + block.x |= ((endPoint[0][0].g >> 5) & 1) << 20; + block.x |= ((endPoint[0][0].g >> 6) & 1) << 21; + block.x |= ((endPoint[1][0].b >> 5) & 1) << 22; + block.x |= ((endPoint[1][1].b >> 2) & 1) << 23; + block.x |= ((endPoint[1][0].g >> 4) & 1) << 24; + block.x |= ((endPoint[0][0].b >> 0) & 1) << 25; + block.x |= ((endPoint[0][0].b >> 1) & 1) << 26; + block.x |= ((endPoint[0][0].b >> 2) & 1) << 27; + block.x |= ((endPoint[0][0].b >> 3) & 1) << 28; + block.x |= ((endPoint[0][0].b >> 4) & 1) << 29; + block.x |= ((endPoint[0][0].b >> 5) & 1) << 30; + block.x |= ((endPoint[0][0].b >> 6) & 1) << 31; + block.y |= ((endPoint[1][1].b >> 3) & 1) << 0; + block.y |= ((endPoint[1][1].b >> 5) & 1) << 1; + block.y |= ((endPoint[1][1].b >> 4) & 1) << 2; + block.y |= ((endPoint[0][1].r >> 0) & 1) << 3; + block.y |= ((endPoint[0][1].r >> 1) & 1) << 4; + block.y |= ((endPoint[0][1].r >> 2) & 1) << 5; + block.y |= ((endPoint[0][1].r >> 3) & 1) << 6; + block.y |= ((endPoint[0][1].r >> 4) & 1) << 7; + block.y |= ((endPoint[0][1].r >> 5) & 1) << 8; + block.y |= ((endPoint[1][0].g >> 0) & 1) << 9; + block.y |= ((endPoint[1][0].g >> 1) & 1) << 10; + block.y |= ((endPoint[1][0].g >> 2) & 1) << 11; + block.y |= ((endPoint[1][0].g >> 3) & 1) << 12; + block.y |= ((endPoint[0][1].g >> 0) & 1) << 13; + block.y |= ((endPoint[0][1].g >> 1) & 1) << 14; + block.y |= ((endPoint[0][1].g >> 2) & 1) << 15; + block.y |= ((endPoint[0][1].g >> 3) & 1) << 16; + block.y |= ((endPoint[0][1].g >> 4) & 1) << 17; + block.y |= ((endPoint[0][1].g >> 5) & 1) << 18; + block.y |= ((endPoint[1][1].g >> 0) & 1) << 19; + block.y |= ((endPoint[1][1].g >> 1) & 1) << 20; + block.y |= ((endPoint[1][1].g >> 2) & 1) << 21; + block.y |= ((endPoint[1][1].g >> 3) & 1) << 22; + block.y |= ((endPoint[0][1].b >> 0) & 1) << 23; + block.y |= ((endPoint[0][1].b >> 1) & 1) << 24; + block.y |= ((endPoint[0][1].b >> 2) & 1) << 25; + block.y |= ((endPoint[0][1].b >> 3) & 1) << 26; + block.y |= ((endPoint[0][1].b >> 4) & 1) << 27; + block.y |= ((endPoint[0][1].b >> 5) & 1) << 28; + block.y |= ((endPoint[1][0].b >> 0) & 1) << 29; + block.y |= ((endPoint[1][0].b >> 1) & 1) << 30; + block.y |= ((endPoint[1][0].b >> 2) & 1) << 31; + block.z |= ((endPoint[1][0].b >> 3) & 1) << 0; + block.z |= ((endPoint[1][0].r >> 0) & 1) << 1; + block.z |= ((endPoint[1][0].r >> 1) & 1) << 2; + block.z |= ((endPoint[1][0].r >> 2) & 1) << 3; + block.z |= ((endPoint[1][0].r >> 3) & 1) << 4; + block.z |= ((endPoint[1][0].r >> 4) & 1) << 5; + block.z |= ((endPoint[1][0].r >> 5) & 1) << 6; + block.z |= ((endPoint[1][1].r >> 0) & 1) << 7; + block.z |= ((endPoint[1][1].r >> 1) & 1) << 8; + block.z |= ((endPoint[1][1].r >> 2) & 1) << 9; + block.z |= ((endPoint[1][1].r >> 3) & 1) << 10; + block.z |= ((endPoint[1][1].r >> 4) & 1) << 11; + block.z |= ((endPoint[1][1].r >> 5) & 1) << 12; + block.z |= ((partition_index >> 0) & 1) << 13; + block.z |= ((partition_index >> 1) & 1) << 14; + block.z |= ((partition_index >> 2) & 1) << 15; + block.z |= ((partition_index >> 3) & 1) << 16; + block.z |= ((partition_index >> 4) & 1) << 17; + } + else if ( mode_type == candidateModeFlag[2]) + { + /*block.x = candidateModeMemory[2]; + block.x |= ( ( endPoint[0][0].r << 5 ) & 0x00007FE0 ) | ( ( endPoint[0][0].g << 15 ) & 0x01FF8000 ) | ( ( endPoint[0][0].b << 25 ) & 0xFE000000 ); + block.y |= ( endPoint[0][0].r >> 2 ) & 0x00000100; + block.y |= ( endPoint[0][0].g << 7 ) & 0x00020000; + block.y |= ( ( endPoint[0][0].b << 17 ) & 0x08000000 ) | ( ( endPoint[0][0].b >> 7 ) & 0x00000007 ); + block.y |= ( ( endPoint[0][1].r << 3 ) & 0x000000F8 ) | ( ( endPoint[0][1].g << 13 ) & 0x0001E000 ) | ( ( endPoint[0][1].b << 23 ) & 0x07800000 ); + block.yz |= ( endPoint[1][0].gr << uint2(9, 1) ) & uint2(0x00001E00, 0x0000003E); + block.y |= ( endPoint[1][0].b << 29 ) & 0xE0000000; + block.yz |= ( endPoint[1][1].gr << uint2(19, 7) ) & uint2(0x00780000, 0x00000F80); + block.yz |= ( ( endPoint[1][1].b << uint2(27, 9) ) & uint2(0x10000000, 0x00001000) ) | ( ( endPoint[1][1].b << uint2(18, 4) ) & uint2(0x00040000, 0x00000040) ); + block.z |= ( endPoint[1][0].b >> 3 ) & 0x00000001;*/ + + block.x |= ((candidateModeMemory[2] >> 0) & 1) << 0; + block.x |= ((candidateModeMemory[2] >> 1) & 1) << 1; + block.x |= ((candidateModeMemory[2] >> 2) & 1) << 2; + block.x |= ((candidateModeMemory[2] >> 3) & 1) << 3; + block.x |= ((candidateModeMemory[2] >> 4) & 1) << 4; + block.x |= ((endPoint[0][0].r >> 0) & 1) << 5; + block.x |= ((endPoint[0][0].r >> 1) & 1) << 6; + block.x |= ((endPoint[0][0].r >> 2) & 1) << 7; + block.x |= ((endPoint[0][0].r >> 3) & 1) << 8; + block.x |= ((endPoint[0][0].r >> 4) & 1) << 9; + block.x |= ((endPoint[0][0].r >> 5) & 1) << 10; + block.x |= ((endPoint[0][0].r >> 6) & 1) << 11; + block.x |= ((endPoint[0][0].r >> 7) & 1) << 12; + block.x |= ((endPoint[0][0].r >> 8) & 1) << 13; + block.x |= ((endPoint[0][0].r >> 9) & 1) << 14; + block.x |= ((endPoint[0][0].g >> 0) & 1) << 15; + block.x |= ((endPoint[0][0].g >> 1) & 1) << 16; + block.x |= ((endPoint[0][0].g >> 2) & 1) << 17; + block.x |= ((endPoint[0][0].g >> 3) & 1) << 18; + block.x |= ((endPoint[0][0].g >> 4) & 1) << 19; + block.x |= ((endPoint[0][0].g >> 5) & 1) << 20; + block.x |= ((endPoint[0][0].g >> 6) & 1) << 21; + block.x |= ((endPoint[0][0].g >> 7) & 1) << 22; + block.x |= ((endPoint[0][0].g >> 8) & 1) << 23; + block.x |= ((endPoint[0][0].g >> 9) & 1) << 24; + block.x |= ((endPoint[0][0].b >> 0) & 1) << 25; + block.x |= ((endPoint[0][0].b >> 1) & 1) << 26; + block.x |= ((endPoint[0][0].b >> 2) & 1) << 27; + block.x |= ((endPoint[0][0].b >> 3) & 1) << 28; + block.x |= ((endPoint[0][0].b >> 4) & 1) << 29; + block.x |= ((endPoint[0][0].b >> 5) & 1) << 30; + block.x |= ((endPoint[0][0].b >> 6) & 1) << 31; + block.y |= ((endPoint[0][0].b >> 7) & 1) << 0; + block.y |= ((endPoint[0][0].b >> 8) & 1) << 1; + block.y |= ((endPoint[0][0].b >> 9) & 1) << 2; + block.y |= ((endPoint[0][1].r >> 0) & 1) << 3; + block.y |= ((endPoint[0][1].r >> 1) & 1) << 4; + block.y |= ((endPoint[0][1].r >> 2) & 1) << 5; + block.y |= ((endPoint[0][1].r >> 3) & 1) << 6; + block.y |= ((endPoint[0][1].r >> 4) & 1) << 7; + block.y |= ((endPoint[0][0].r >> 10) & 1) << 8; + block.y |= ((endPoint[1][0].g >> 0) & 1) << 9; + block.y |= ((endPoint[1][0].g >> 1) & 1) << 10; + block.y |= ((endPoint[1][0].g >> 2) & 1) << 11; + block.y |= ((endPoint[1][0].g >> 3) & 1) << 12; + block.y |= ((endPoint[0][1].g >> 0) & 1) << 13; + block.y |= ((endPoint[0][1].g >> 1) & 1) << 14; + block.y |= ((endPoint[0][1].g >> 2) & 1) << 15; + block.y |= ((endPoint[0][1].g >> 3) & 1) << 16; + block.y |= ((endPoint[0][0].g >> 10) & 1) << 17; + block.y |= ((endPoint[1][1].b >> 0) & 1) << 18; + block.y |= ((endPoint[1][1].g >> 0) & 1) << 19; + block.y |= ((endPoint[1][1].g >> 1) & 1) << 20; + block.y |= ((endPoint[1][1].g >> 2) & 1) << 21; + block.y |= ((endPoint[1][1].g >> 3) & 1) << 22; + block.y |= ((endPoint[0][1].b >> 0) & 1) << 23; + block.y |= ((endPoint[0][1].b >> 1) & 1) << 24; + block.y |= ((endPoint[0][1].b >> 2) & 1) << 25; + block.y |= ((endPoint[0][1].b >> 3) & 1) << 26; + block.y |= ((endPoint[0][0].b >> 10) & 1) << 27; + block.y |= ((endPoint[1][1].b >> 1) & 1) << 28; + block.y |= ((endPoint[1][0].b >> 0) & 1) << 29; + block.y |= ((endPoint[1][0].b >> 1) & 1) << 30; + block.y |= ((endPoint[1][0].b >> 2) & 1) << 31; + block.z |= ((endPoint[1][0].b >> 3) & 1) << 0; + block.z |= ((endPoint[1][0].r >> 0) & 1) << 1; + block.z |= ((endPoint[1][0].r >> 1) & 1) << 2; + block.z |= ((endPoint[1][0].r >> 2) & 1) << 3; + block.z |= ((endPoint[1][0].r >> 3) & 1) << 4; + block.z |= ((endPoint[1][0].r >> 4) & 1) << 5; + block.z |= ((endPoint[1][1].b >> 2) & 1) << 6; + block.z |= ((endPoint[1][1].r >> 0) & 1) << 7; + block.z |= ((endPoint[1][1].r >> 1) & 1) << 8; + block.z |= ((endPoint[1][1].r >> 2) & 1) << 9; + block.z |= ((endPoint[1][1].r >> 3) & 1) << 10; + block.z |= ((endPoint[1][1].r >> 4) & 1) << 11; + block.z |= ((endPoint[1][1].b >> 3) & 1) << 12; + block.z |= ((partition_index >> 0) & 1) << 13; + block.z |= ((partition_index >> 1) & 1) << 14; + block.z |= ((partition_index >> 2) & 1) << 15; + block.z |= ((partition_index >> 3) & 1) << 16; + block.z |= ((partition_index >> 4) & 1) << 17; + } + else if ( mode_type == candidateModeFlag[3]) + { + /*block.x = candidateModeMemory[3]; + block.x |= ( ( endPoint[0][0].r << 5 ) & 0x00007FE0 ) | ( ( endPoint[0][0].g << 15 ) & 0x01FF8000 ) | ( ( endPoint[0][0].b << 25 ) & 0xFE000000 ); + block.y |= ( endPoint[0][0].r >> 3 ) & 0x00000080; + block.y |= ( endPoint[0][0].g << 8 ) & 0x00040000; + block.y |= ( ( endPoint[0][0].b << 17 ) & 0x08000000 ) | ( ( endPoint[0][0].b >> 7 ) & 0x00000007 ); + block.y |= ( ( endPoint[0][1].r << 3 ) & 0x00000078 ) | ( ( endPoint[0][1].g << 13 ) & 0x0003E000 ) | ( ( endPoint[0][1].b << 23 ) & 0x07800000 ); + block.yz |= ( endPoint[1][0].gr << uint2(9, 1) ) & uint2(0x00001E00, 0x0000001E); + block.y |= ( endPoint[1][0].b << 29 ) & 0xE0000000; + block.y |= ( ( endPoint[1][1].g << 4 ) & 0x00000100 ); + block.yz |= ( endPoint[1][1].gr << uint2(19, 7) ) & uint2(0x00780000, 0x00000780); + block.yz |= ( endPoint[1][1].b << uint2(27, 9) ) & uint2(0x10000000, 0x00001000); + block.z |= ( ( endPoint[1][0].g << 7 ) & 0x00000800 ); + block.z |= ( endPoint[1][0].b >> 3 ) & 0x00000001; + block.z |= ( endPoint[1][1].b << 4 ) & 0x00000040; + block.z |= ( endPoint[1][1].b << 5 ) & 0x00000020;*/ + + block.x |= ((candidateModeMemory[3] >> 0) & 1) << 0; + block.x |= ((candidateModeMemory[3] >> 1) & 1) << 1; + block.x |= ((candidateModeMemory[3] >> 2) & 1) << 2; + block.x |= ((candidateModeMemory[3] >> 3) & 1) << 3; + block.x |= ((candidateModeMemory[3] >> 4) & 1) << 4; + block.x |= ((endPoint[0][0].r >> 0) & 1) << 5; + block.x |= ((endPoint[0][0].r >> 1) & 1) << 6; + block.x |= ((endPoint[0][0].r >> 2) & 1) << 7; + block.x |= ((endPoint[0][0].r >> 3) & 1) << 8; + block.x |= ((endPoint[0][0].r >> 4) & 1) << 9; + block.x |= ((endPoint[0][0].r >> 5) & 1) << 10; + block.x |= ((endPoint[0][0].r >> 6) & 1) << 11; + block.x |= ((endPoint[0][0].r >> 7) & 1) << 12; + block.x |= ((endPoint[0][0].r >> 8) & 1) << 13; + block.x |= ((endPoint[0][0].r >> 9) & 1) << 14; + block.x |= ((endPoint[0][0].g >> 0) & 1) << 15; + block.x |= ((endPoint[0][0].g >> 1) & 1) << 16; + block.x |= ((endPoint[0][0].g >> 2) & 1) << 17; + block.x |= ((endPoint[0][0].g >> 3) & 1) << 18; + block.x |= ((endPoint[0][0].g >> 4) & 1) << 19; + block.x |= ((endPoint[0][0].g >> 5) & 1) << 20; + block.x |= ((endPoint[0][0].g >> 6) & 1) << 21; + block.x |= ((endPoint[0][0].g >> 7) & 1) << 22; + block.x |= ((endPoint[0][0].g >> 8) & 1) << 23; + block.x |= ((endPoint[0][0].g >> 9) & 1) << 24; + block.x |= ((endPoint[0][0].b >> 0) & 1) << 25; + block.x |= ((endPoint[0][0].b >> 1) & 1) << 26; + block.x |= ((endPoint[0][0].b >> 2) & 1) << 27; + block.x |= ((endPoint[0][0].b >> 3) & 1) << 28; + block.x |= ((endPoint[0][0].b >> 4) & 1) << 29; + block.x |= ((endPoint[0][0].b >> 5) & 1) << 30; + block.x |= ((endPoint[0][0].b >> 6) & 1) << 31; + block.y |= ((endPoint[0][0].b >> 7) & 1) << 0; + block.y |= ((endPoint[0][0].b >> 8) & 1) << 1; + block.y |= ((endPoint[0][0].b >> 9) & 1) << 2; + block.y |= ((endPoint[0][1].r >> 0) & 1) << 3; + block.y |= ((endPoint[0][1].r >> 1) & 1) << 4; + block.y |= ((endPoint[0][1].r >> 2) & 1) << 5; + block.y |= ((endPoint[0][1].r >> 3) & 1) << 6; + block.y |= ((endPoint[0][0].r >> 10) & 1) << 7; + block.y |= ((endPoint[1][1].g >> 4) & 1) << 8; + block.y |= ((endPoint[1][0].g >> 0) & 1) << 9; + block.y |= ((endPoint[1][0].g >> 1) & 1) << 10; + block.y |= ((endPoint[1][0].g >> 2) & 1) << 11; + block.y |= ((endPoint[1][0].g >> 3) & 1) << 12; + block.y |= ((endPoint[0][1].g >> 0) & 1) << 13; + block.y |= ((endPoint[0][1].g >> 1) & 1) << 14; + block.y |= ((endPoint[0][1].g >> 2) & 1) << 15; + block.y |= ((endPoint[0][1].g >> 3) & 1) << 16; + block.y |= ((endPoint[0][1].g >> 4) & 1) << 17; + block.y |= ((endPoint[0][0].g >> 10) & 1) << 18; + block.y |= ((endPoint[1][1].g >> 0) & 1) << 19; + block.y |= ((endPoint[1][1].g >> 1) & 1) << 20; + block.y |= ((endPoint[1][1].g >> 2) & 1) << 21; + block.y |= ((endPoint[1][1].g >> 3) & 1) << 22; + block.y |= ((endPoint[0][1].b >> 0) & 1) << 23; + block.y |= ((endPoint[0][1].b >> 1) & 1) << 24; + block.y |= ((endPoint[0][1].b >> 2) & 1) << 25; + block.y |= ((endPoint[0][1].b >> 3) & 1) << 26; + block.y |= ((endPoint[0][0].b >> 10) & 1) << 27; + block.y |= ((endPoint[1][1].b >> 1) & 1) << 28; + block.y |= ((endPoint[1][0].b >> 0) & 1) << 29; + block.y |= ((endPoint[1][0].b >> 1) & 1) << 30; + block.y |= ((endPoint[1][0].b >> 2) & 1) << 31; + block.z |= ((endPoint[1][0].b >> 3) & 1) << 0; + block.z |= ((endPoint[1][0].r >> 0) & 1) << 1; + block.z |= ((endPoint[1][0].r >> 1) & 1) << 2; + block.z |= ((endPoint[1][0].r >> 2) & 1) << 3; + block.z |= ((endPoint[1][0].r >> 3) & 1) << 4; + block.z |= ((endPoint[1][1].b >> 0) & 1) << 5; + block.z |= ((endPoint[1][1].b >> 2) & 1) << 6; + block.z |= ((endPoint[1][1].r >> 0) & 1) << 7; + block.z |= ((endPoint[1][1].r >> 1) & 1) << 8; + block.z |= ((endPoint[1][1].r >> 2) & 1) << 9; + block.z |= ((endPoint[1][1].r >> 3) & 1) << 10; + block.z |= ((endPoint[1][0].g >> 4) & 1) << 11; + block.z |= ((endPoint[1][1].b >> 3) & 1) << 12; + block.z |= ((partition_index >> 0) & 1) << 13; + block.z |= ((partition_index >> 1) & 1) << 14; + block.z |= ((partition_index >> 2) & 1) << 15; + block.z |= ((partition_index >> 3) & 1) << 16; + block.z |= ((partition_index >> 4) & 1) << 17; + } + else if ( mode_type == candidateModeFlag[4]) + { + /*block.x = candidateModeMemory[4]; + block.x |= ( ( endPoint[0][0].r << 5 ) & 0x00007FE0 ) | ( ( endPoint[0][0].g << 15 ) & 0x01FF8000 ) | ( ( endPoint[0][0].b << 25 ) & 0xFE000000 ); + block.y |= ( endPoint[0][0].r >> 3 ) & 0x00000080; + block.y |= ( endPoint[0][0].g << 7 ) & 0x00020000; + block.y |= ( ( endPoint[0][0].b << 18 ) & 0x10000000 ) | ( ( endPoint[0][0].b >> 7 ) & 0x00000007 ); + block.y |= ( ( endPoint[0][1].r << 3 ) & 0x00000078 ) | ( ( endPoint[0][1].g << 13 ) & 0x0001E000 ) | ( ( endPoint[0][1].b << 23 ) & 0x0F800000 ); + block.y |= ( ( endPoint[1][0].g << 9 ) & 0x00001E00 ) | ( ( endPoint[1][0].b << 4 ) & 0x00000100 ); + block.y |= ( endPoint[1][0].b << 29 ) & 0xE0000000; + block.yz |= ( endPoint[1][1].gr << uint2(19, 7) ) & uint2(0x00780000, 0x00000780); + block.yz |= ( endPoint[1][1].b << uint2(18, 4) ) & uint2(0x00040000, 0x00000060); + block.z |= ( endPoint[1][0].r << 1 ) & 0x0000001E; + block.z |= ( endPoint[1][0].b >> 3 ) & 0x00000001; + block.z |= ( ( endPoint[1][1].b << 7 ) & 0x00000800 ) | ( ( endPoint[1][1].b << 9 ) & 0x00001000 );*/ + + block.x |= ((candidateModeMemory[4] >> 0) & 1) << 0; + block.x |= ((candidateModeMemory[4] >> 1) & 1) << 1; + block.x |= ((candidateModeMemory[4] >> 2) & 1) << 2; + block.x |= ((candidateModeMemory[4] >> 3) & 1) << 3; + block.x |= ((candidateModeMemory[4] >> 4) & 1) << 4; + block.x |= ((endPoint[0][0].r >> 0) & 1) << 5; + block.x |= ((endPoint[0][0].r >> 1) & 1) << 6; + block.x |= ((endPoint[0][0].r >> 2) & 1) << 7; + block.x |= ((endPoint[0][0].r >> 3) & 1) << 8; + block.x |= ((endPoint[0][0].r >> 4) & 1) << 9; + block.x |= ((endPoint[0][0].r >> 5) & 1) << 10; + block.x |= ((endPoint[0][0].r >> 6) & 1) << 11; + block.x |= ((endPoint[0][0].r >> 7) & 1) << 12; + block.x |= ((endPoint[0][0].r >> 8) & 1) << 13; + block.x |= ((endPoint[0][0].r >> 9) & 1) << 14; + block.x |= ((endPoint[0][0].g >> 0) & 1) << 15; + block.x |= ((endPoint[0][0].g >> 1) & 1) << 16; + block.x |= ((endPoint[0][0].g >> 2) & 1) << 17; + block.x |= ((endPoint[0][0].g >> 3) & 1) << 18; + block.x |= ((endPoint[0][0].g >> 4) & 1) << 19; + block.x |= ((endPoint[0][0].g >> 5) & 1) << 20; + block.x |= ((endPoint[0][0].g >> 6) & 1) << 21; + block.x |= ((endPoint[0][0].g >> 7) & 1) << 22; + block.x |= ((endPoint[0][0].g >> 8) & 1) << 23; + block.x |= ((endPoint[0][0].g >> 9) & 1) << 24; + block.x |= ((endPoint[0][0].b >> 0) & 1) << 25; + block.x |= ((endPoint[0][0].b >> 1) & 1) << 26; + block.x |= ((endPoint[0][0].b >> 2) & 1) << 27; + block.x |= ((endPoint[0][0].b >> 3) & 1) << 28; + block.x |= ((endPoint[0][0].b >> 4) & 1) << 29; + block.x |= ((endPoint[0][0].b >> 5) & 1) << 30; + block.x |= ((endPoint[0][0].b >> 6) & 1) << 31; + block.y |= ((endPoint[0][0].b >> 7) & 1) << 0; + block.y |= ((endPoint[0][0].b >> 8) & 1) << 1; + block.y |= ((endPoint[0][0].b >> 9) & 1) << 2; + block.y |= ((endPoint[0][1].r >> 0) & 1) << 3; + block.y |= ((endPoint[0][1].r >> 1) & 1) << 4; + block.y |= ((endPoint[0][1].r >> 2) & 1) << 5; + block.y |= ((endPoint[0][1].r >> 3) & 1) << 6; + block.y |= ((endPoint[0][0].r >> 10) & 1) << 7; + block.y |= ((endPoint[1][0].b >> 4) & 1) << 8; + block.y |= ((endPoint[1][0].g >> 0) & 1) << 9; + block.y |= ((endPoint[1][0].g >> 1) & 1) << 10; + block.y |= ((endPoint[1][0].g >> 2) & 1) << 11; + block.y |= ((endPoint[1][0].g >> 3) & 1) << 12; + block.y |= ((endPoint[0][1].g >> 0) & 1) << 13; + block.y |= ((endPoint[0][1].g >> 1) & 1) << 14; + block.y |= ((endPoint[0][1].g >> 2) & 1) << 15; + block.y |= ((endPoint[0][1].g >> 3) & 1) << 16; + block.y |= ((endPoint[0][0].g >> 10) & 1) << 17; + block.y |= ((endPoint[1][1].b >> 0) & 1) << 18; + block.y |= ((endPoint[1][1].g >> 0) & 1) << 19; + block.y |= ((endPoint[1][1].g >> 1) & 1) << 20; + block.y |= ((endPoint[1][1].g >> 2) & 1) << 21; + block.y |= ((endPoint[1][1].g >> 3) & 1) << 22; + block.y |= ((endPoint[0][1].b >> 0) & 1) << 23; + block.y |= ((endPoint[0][1].b >> 1) & 1) << 24; + block.y |= ((endPoint[0][1].b >> 2) & 1) << 25; + block.y |= ((endPoint[0][1].b >> 3) & 1) << 26; + block.y |= ((endPoint[0][1].b >> 4) & 1) << 27; + block.y |= ((endPoint[0][0].b >> 10) & 1) << 28; + block.y |= ((endPoint[1][0].b >> 0) & 1) << 29; + block.y |= ((endPoint[1][0].b >> 1) & 1) << 30; + block.y |= ((endPoint[1][0].b >> 2) & 1) << 31; + block.z |= ((endPoint[1][0].b >> 3) & 1) << 0; + block.z |= ((endPoint[1][0].r >> 0) & 1) << 1; + block.z |= ((endPoint[1][0].r >> 1) & 1) << 2; + block.z |= ((endPoint[1][0].r >> 2) & 1) << 3; + block.z |= ((endPoint[1][0].r >> 3) & 1) << 4; + block.z |= ((endPoint[1][1].b >> 1) & 1) << 5; + block.z |= ((endPoint[1][1].b >> 2) & 1) << 6; + block.z |= ((endPoint[1][1].r >> 0) & 1) << 7; + block.z |= ((endPoint[1][1].r >> 1) & 1) << 8; + block.z |= ((endPoint[1][1].r >> 2) & 1) << 9; + block.z |= ((endPoint[1][1].r >> 3) & 1) << 10; + block.z |= ((endPoint[1][1].b >> 4) & 1) << 11; + block.z |= ((endPoint[1][1].b >> 3) & 1) << 12; + block.z |= ((partition_index >> 0) & 1) << 13; + block.z |= ((partition_index >> 1) & 1) << 14; + block.z |= ((partition_index >> 2) & 1) << 15; + block.z |= ((partition_index >> 3) & 1) << 16; + block.z |= ((partition_index >> 4) & 1) << 17; + } + else if ( mode_type == candidateModeFlag[5]) + { + /*block.x = candidateModeMemory[5]; + block.x |= ( ( endPoint[0][0].r << 5 ) & 0x00003FE0 ) | ( ( endPoint[0][0].g << 15 ) & 0x00FF8000 ) | ( ( endPoint[0][0].b << 25 ) & 0xFE000000); + block.y |= ( endPoint[0][0].b >> 7 ) & 0x00000003; + block.y |= ( ( endPoint[0][1].r << 3 ) & 0x000000F8 ) | ( ( endPoint[0][1].g << 13 ) & 0x0003E000 ) | ( ( endPoint[0][1].b << 23 ) & 0x0F800000 ); + block.x |= ( ( endPoint[1][0].g << 20 ) & 0x01000000 ) | ( ( endPoint[1][0].b << 10 ) & 0x00004000 ); + block.yz |= ( endPoint[1][0].gr << uint2(9, 1) ) & uint2(0x00001E00, 0x0000003E); + block.y |= ( endPoint[1][0].b << 29 ) & 0xE0000000; + block.y |= ( ( endPoint[1][1].g << 4 ) & 0x00000100 ) | ( ( endPoint[1][1].b >> 2 ) & 0x00000004 ); + block.y |= ( ( endPoint[1][1].b << 27 ) & 0x10000000 ); + block.yz |= ( endPoint[1][1].gr << uint2(19, 7) ) & uint2(0x00780000, 0x00000F80); + block.yz |= ( endPoint[1][1].b << uint2(18, 4) ) & uint2(0x00040000, 0x00000040); + block.z |= ( endPoint[1][0].b >> 3 ) & 0x00000001; + block.z |= ( ( endPoint[1][1].b << 9 ) & 0x00001000 );*/ + + block.x |= ((candidateModeMemory[5] >> 0) & 1) << 0; + block.x |= ((candidateModeMemory[5] >> 1) & 1) << 1; + block.x |= ((candidateModeMemory[5] >> 2) & 1) << 2; + block.x |= ((candidateModeMemory[5] >> 3) & 1) << 3; + block.x |= ((candidateModeMemory[5] >> 4) & 1) << 4; + block.x |= ((endPoint[0][0].r >> 0) & 1) << 5; + block.x |= ((endPoint[0][0].r >> 1) & 1) << 6; + block.x |= ((endPoint[0][0].r >> 2) & 1) << 7; + block.x |= ((endPoint[0][0].r >> 3) & 1) << 8; + block.x |= ((endPoint[0][0].r >> 4) & 1) << 9; + block.x |= ((endPoint[0][0].r >> 5) & 1) << 10; + block.x |= ((endPoint[0][0].r >> 6) & 1) << 11; + block.x |= ((endPoint[0][0].r >> 7) & 1) << 12; + block.x |= ((endPoint[0][0].r >> 8) & 1) << 13; + block.x |= ((endPoint[1][0].b >> 4) & 1) << 14; + block.x |= ((endPoint[0][0].g >> 0) & 1) << 15; + block.x |= ((endPoint[0][0].g >> 1) & 1) << 16; + block.x |= ((endPoint[0][0].g >> 2) & 1) << 17; + block.x |= ((endPoint[0][0].g >> 3) & 1) << 18; + block.x |= ((endPoint[0][0].g >> 4) & 1) << 19; + block.x |= ((endPoint[0][0].g >> 5) & 1) << 20; + block.x |= ((endPoint[0][0].g >> 6) & 1) << 21; + block.x |= ((endPoint[0][0].g >> 7) & 1) << 22; + block.x |= ((endPoint[0][0].g >> 8) & 1) << 23; + block.x |= ((endPoint[1][0].g >> 4) & 1) << 24; + block.x |= ((endPoint[0][0].b >> 0) & 1) << 25; + block.x |= ((endPoint[0][0].b >> 1) & 1) << 26; + block.x |= ((endPoint[0][0].b >> 2) & 1) << 27; + block.x |= ((endPoint[0][0].b >> 3) & 1) << 28; + block.x |= ((endPoint[0][0].b >> 4) & 1) << 29; + block.x |= ((endPoint[0][0].b >> 5) & 1) << 30; + block.x |= ((endPoint[0][0].b >> 6) & 1) << 31; + block.y |= ((endPoint[0][0].b >> 7) & 1) << 0; + block.y |= ((endPoint[0][0].b >> 8) & 1) << 1; + block.y |= ((endPoint[1][1].b >> 4) & 1) << 2; + block.y |= ((endPoint[0][1].r >> 0) & 1) << 3; + block.y |= ((endPoint[0][1].r >> 1) & 1) << 4; + block.y |= ((endPoint[0][1].r >> 2) & 1) << 5; + block.y |= ((endPoint[0][1].r >> 3) & 1) << 6; + block.y |= ((endPoint[0][1].r >> 4) & 1) << 7; + block.y |= ((endPoint[1][1].g >> 4) & 1) << 8; + block.y |= ((endPoint[1][0].g >> 0) & 1) << 9; + block.y |= ((endPoint[1][0].g >> 1) & 1) << 10; + block.y |= ((endPoint[1][0].g >> 2) & 1) << 11; + block.y |= ((endPoint[1][0].g >> 3) & 1) << 12; + block.y |= ((endPoint[0][1].g >> 0) & 1) << 13; + block.y |= ((endPoint[0][1].g >> 1) & 1) << 14; + block.y |= ((endPoint[0][1].g >> 2) & 1) << 15; + block.y |= ((endPoint[0][1].g >> 3) & 1) << 16; + block.y |= ((endPoint[0][1].g >> 4) & 1) << 17; + block.y |= ((endPoint[1][1].b >> 0) & 1) << 18; + block.y |= ((endPoint[1][1].g >> 0) & 1) << 19; + block.y |= ((endPoint[1][1].g >> 1) & 1) << 20; + block.y |= ((endPoint[1][1].g >> 2) & 1) << 21; + block.y |= ((endPoint[1][1].g >> 3) & 1) << 22; + block.y |= ((endPoint[0][1].b >> 0) & 1) << 23; + block.y |= ((endPoint[0][1].b >> 1) & 1) << 24; + block.y |= ((endPoint[0][1].b >> 2) & 1) << 25; + block.y |= ((endPoint[0][1].b >> 3) & 1) << 26; + block.y |= ((endPoint[0][1].b >> 4) & 1) << 27; + block.y |= ((endPoint[1][1].b >> 1) & 1) << 28; + block.y |= ((endPoint[1][0].b >> 0) & 1) << 29; + block.y |= ((endPoint[1][0].b >> 1) & 1) << 30; + block.y |= ((endPoint[1][0].b >> 2) & 1) << 31; + block.z |= ((endPoint[1][0].b >> 3) & 1) << 0; + block.z |= ((endPoint[1][0].r >> 0) & 1) << 1; + block.z |= ((endPoint[1][0].r >> 1) & 1) << 2; + block.z |= ((endPoint[1][0].r >> 2) & 1) << 3; + block.z |= ((endPoint[1][0].r >> 3) & 1) << 4; + block.z |= ((endPoint[1][0].r >> 4) & 1) << 5; + block.z |= ((endPoint[1][1].b >> 2) & 1) << 6; + block.z |= ((endPoint[1][1].r >> 0) & 1) << 7; + block.z |= ((endPoint[1][1].r >> 1) & 1) << 8; + block.z |= ((endPoint[1][1].r >> 2) & 1) << 9; + block.z |= ((endPoint[1][1].r >> 3) & 1) << 10; + block.z |= ((endPoint[1][1].r >> 4) & 1) << 11; + block.z |= ((endPoint[1][1].b >> 3) & 1) << 12; + block.z |= ((partition_index >> 0) & 1) << 13; + block.z |= ((partition_index >> 1) & 1) << 14; + block.z |= ((partition_index >> 2) & 1) << 15; + block.z |= ((partition_index >> 3) & 1) << 16; + block.z |= ((partition_index >> 4) & 1) << 17; + } + else if ( mode_type == candidateModeFlag[6]) + { + /*block.x = candidateModeMemory[6]; + block.x |= ( ( endPoint[0][0].r << 5 ) & 0x00001FE0 ) | ( ( endPoint[0][0].g << 15 ) & 0x007F8000 ) | ( ( endPoint[0][0].b << 25 ) & 0xFE000000 ); + block.y |= ( endPoint[0][0].b >> 7 ) & 0x00000001; + block.y |= ( ( endPoint[0][1].r << 3 ) & 0x000001F8 ) | ( ( endPoint[0][1].g << 13 ) & 0x0003E000 ) | ( ( endPoint[0][1].b << 23 ) & 0x0F800000 ); + block.x |= ( ( endPoint[1][0].g << 20 ) & 0x01000000 ) | ( ( endPoint[1][0].b << 10 ) & 0x00004000); + block.x |= ( ( endPoint[1][1].g << 9 ) & 0x00002000 ) | ( ( endPoint[1][1].b << 21 ) & 0x00800000); + block.yz |= ( endPoint[1][0].gr << uint2(9, 1) ) & uint2(0x00001E00, 0x0000007E); + block.y |= ( endPoint[1][0].b << 29 ) & 0xE0000000; + block.yz |= ( endPoint[1][1].gr << uint2(19, 7) ) & uint2(0x00780000, 0x00001F80); + block.y |= ( ( endPoint[1][1].b >> 2 ) & 0x00000006 ); + block.y |= ( ( endPoint[1][1].b << 27 ) & 0x10000000 ) | ( ( endPoint[1][1].b << 18 ) & 0x00040000 ); + block.z |= ( endPoint[1][0].b >> 3 ) & 0x00000001;*/ + + block.x |= ((candidateModeMemory[6] >> 0) & 1) << 0; + block.x |= ((candidateModeMemory[6] >> 1) & 1) << 1; + block.x |= ((candidateModeMemory[6] >> 2) & 1) << 2; + block.x |= ((candidateModeMemory[6] >> 3) & 1) << 3; + block.x |= ((candidateModeMemory[6] >> 4) & 1) << 4; + block.x |= ((endPoint[0][0].r >> 0) & 1) << 5; + block.x |= ((endPoint[0][0].r >> 1) & 1) << 6; + block.x |= ((endPoint[0][0].r >> 2) & 1) << 7; + block.x |= ((endPoint[0][0].r >> 3) & 1) << 8; + block.x |= ((endPoint[0][0].r >> 4) & 1) << 9; + block.x |= ((endPoint[0][0].r >> 5) & 1) << 10; + block.x |= ((endPoint[0][0].r >> 6) & 1) << 11; + block.x |= ((endPoint[0][0].r >> 7) & 1) << 12; + block.x |= ((endPoint[1][1].g >> 4) & 1) << 13; + block.x |= ((endPoint[1][0].b >> 4) & 1) << 14; + block.x |= ((endPoint[0][0].g >> 0) & 1) << 15; + block.x |= ((endPoint[0][0].g >> 1) & 1) << 16; + block.x |= ((endPoint[0][0].g >> 2) & 1) << 17; + block.x |= ((endPoint[0][0].g >> 3) & 1) << 18; + block.x |= ((endPoint[0][0].g >> 4) & 1) << 19; + block.x |= ((endPoint[0][0].g >> 5) & 1) << 20; + block.x |= ((endPoint[0][0].g >> 6) & 1) << 21; + block.x |= ((endPoint[0][0].g >> 7) & 1) << 22; + block.x |= ((endPoint[1][1].b >> 2) & 1) << 23; + block.x |= ((endPoint[1][0].g >> 4) & 1) << 24; + block.x |= ((endPoint[0][0].b >> 0) & 1) << 25; + block.x |= ((endPoint[0][0].b >> 1) & 1) << 26; + block.x |= ((endPoint[0][0].b >> 2) & 1) << 27; + block.x |= ((endPoint[0][0].b >> 3) & 1) << 28; + block.x |= ((endPoint[0][0].b >> 4) & 1) << 29; + block.x |= ((endPoint[0][0].b >> 5) & 1) << 30; + block.x |= ((endPoint[0][0].b >> 6) & 1) << 31; + block.y |= ((endPoint[0][0].b >> 7) & 1) << 0; + block.y |= ((endPoint[1][1].b >> 3) & 1) << 1; + block.y |= ((endPoint[1][1].b >> 4) & 1) << 2; + block.y |= ((endPoint[0][1].r >> 0) & 1) << 3; + block.y |= ((endPoint[0][1].r >> 1) & 1) << 4; + block.y |= ((endPoint[0][1].r >> 2) & 1) << 5; + block.y |= ((endPoint[0][1].r >> 3) & 1) << 6; + block.y |= ((endPoint[0][1].r >> 4) & 1) << 7; + block.y |= ((endPoint[0][1].r >> 5) & 1) << 8; + block.y |= ((endPoint[1][0].g >> 0) & 1) << 9; + block.y |= ((endPoint[1][0].g >> 1) & 1) << 10; + block.y |= ((endPoint[1][0].g >> 2) & 1) << 11; + block.y |= ((endPoint[1][0].g >> 3) & 1) << 12; + block.y |= ((endPoint[0][1].g >> 0) & 1) << 13; + block.y |= ((endPoint[0][1].g >> 1) & 1) << 14; + block.y |= ((endPoint[0][1].g >> 2) & 1) << 15; + block.y |= ((endPoint[0][1].g >> 3) & 1) << 16; + block.y |= ((endPoint[0][1].g >> 4) & 1) << 17; + block.y |= ((endPoint[1][1].b >> 0) & 1) << 18; + block.y |= ((endPoint[1][1].g >> 0) & 1) << 19; + block.y |= ((endPoint[1][1].g >> 1) & 1) << 20; + block.y |= ((endPoint[1][1].g >> 2) & 1) << 21; + block.y |= ((endPoint[1][1].g >> 3) & 1) << 22; + block.y |= ((endPoint[0][1].b >> 0) & 1) << 23; + block.y |= ((endPoint[0][1].b >> 1) & 1) << 24; + block.y |= ((endPoint[0][1].b >> 2) & 1) << 25; + block.y |= ((endPoint[0][1].b >> 3) & 1) << 26; + block.y |= ((endPoint[0][1].b >> 4) & 1) << 27; + block.y |= ((endPoint[1][1].b >> 1) & 1) << 28; + block.y |= ((endPoint[1][0].b >> 0) & 1) << 29; + block.y |= ((endPoint[1][0].b >> 1) & 1) << 30; + block.y |= ((endPoint[1][0].b >> 2) & 1) << 31; + block.z |= ((endPoint[1][0].b >> 3) & 1) << 0; + block.z |= ((endPoint[1][0].r >> 0) & 1) << 1; + block.z |= ((endPoint[1][0].r >> 1) & 1) << 2; + block.z |= ((endPoint[1][0].r >> 2) & 1) << 3; + block.z |= ((endPoint[1][0].r >> 3) & 1) << 4; + block.z |= ((endPoint[1][0].r >> 4) & 1) << 5; + block.z |= ((endPoint[1][0].r >> 5) & 1) << 6; + block.z |= ((endPoint[1][1].r >> 0) & 1) << 7; + block.z |= ((endPoint[1][1].r >> 1) & 1) << 8; + block.z |= ((endPoint[1][1].r >> 2) & 1) << 9; + block.z |= ((endPoint[1][1].r >> 3) & 1) << 10; + block.z |= ((endPoint[1][1].r >> 4) & 1) << 11; + block.z |= ((endPoint[1][1].r >> 5) & 1) << 12; + block.z |= ((partition_index >> 0) & 1) << 13; + block.z |= ((partition_index >> 1) & 1) << 14; + block.z |= ((partition_index >> 2) & 1) << 15; + block.z |= ((partition_index >> 3) & 1) << 16; + block.z |= ((partition_index >> 4) & 1) << 17; + } + else if ( mode_type == candidateModeFlag[7]) + { + /*block.x = candidateModeMemory[7]; + block.x |= ( ( endPoint[0][0].r << 5 ) & 0x00001FE0 ) | ( ( endPoint[0][0].g << 15 ) & 0x007F8000 ) | ( ( endPoint[0][0].b << 25 ) & 0xFE000000 ); + block.y |= ( endPoint[0][0].b >> 7 ) & 0x00000001; + block.y |= ( ( endPoint[0][1].r << 3 ) & 0x000000F8 ) | ( ( endPoint[0][1].g << 13 ) & 0x0007E000 ) | ( ( endPoint[0][1].b << 23 ) & 0x0F800000 ); + block.x |= ( ( endPoint[1][0].g << 20 ) & 0x01000000 ) | ( ( endPoint[1][0].b << 10 ) & 0x00004000 ); + block.x |= ( ( endPoint[1][0].g << 18 ) & 0x00800000 ); + block.x |= ( ( endPoint[1][1].b << 13 ) & 0x00002000 ); + block.yz |= ( endPoint[1][0].gr << uint2(9, 1) ) & uint2(0x00001E00, 0x0000003E); + block.yz |= ( endPoint[1][1].gr << uint2(19, 7) ) & uint2(0x00780000, 0x00000F80); + block.y |= ( endPoint[1][0].b << 29 ) & 0xE0000000; + block.y |= ( ( endPoint[1][1].g >> 4 ) & 0x00000002 ) | ( ( endPoint[1][1].g << 4 ) & 0x00000100 ) | ( ( endPoint[1][1].b >> 2 ) & 0x00000004 ); + block.y |= ( endPoint[1][1].b << 27 ) & 0x10000000; + block.z |= ( endPoint[1][0].b >> 3 ) & 0x00000001; + block.z |= ( ( endPoint[1][1].b << 9 ) & 0x00001000 ) | ( ( endPoint[1][1].b << 4 ) & 0x00000040 );*/ + + block.x |= ((candidateModeMemory[7] >> 0) & 1) << 0; + block.x |= ((candidateModeMemory[7] >> 1) & 1) << 1; + block.x |= ((candidateModeMemory[7] >> 2) & 1) << 2; + block.x |= ((candidateModeMemory[7] >> 3) & 1) << 3; + block.x |= ((candidateModeMemory[7] >> 4) & 1) << 4; + block.x |= ((endPoint[0][0].r >> 0) & 1) << 5; + block.x |= ((endPoint[0][0].r >> 1) & 1) << 6; + block.x |= ((endPoint[0][0].r >> 2) & 1) << 7; + block.x |= ((endPoint[0][0].r >> 3) & 1) << 8; + block.x |= ((endPoint[0][0].r >> 4) & 1) << 9; + block.x |= ((endPoint[0][0].r >> 5) & 1) << 10; + block.x |= ((endPoint[0][0].r >> 6) & 1) << 11; + block.x |= ((endPoint[0][0].r >> 7) & 1) << 12; + block.x |= ((endPoint[1][1].b >> 0) & 1) << 13; + block.x |= ((endPoint[1][0].b >> 4) & 1) << 14; + block.x |= ((endPoint[0][0].g >> 0) & 1) << 15; + block.x |= ((endPoint[0][0].g >> 1) & 1) << 16; + block.x |= ((endPoint[0][0].g >> 2) & 1) << 17; + block.x |= ((endPoint[0][0].g >> 3) & 1) << 18; + block.x |= ((endPoint[0][0].g >> 4) & 1) << 19; + block.x |= ((endPoint[0][0].g >> 5) & 1) << 20; + block.x |= ((endPoint[0][0].g >> 6) & 1) << 21; + block.x |= ((endPoint[0][0].g >> 7) & 1) << 22; + block.x |= ((endPoint[1][0].g >> 5) & 1) << 23; + block.x |= ((endPoint[1][0].g >> 4) & 1) << 24; + block.x |= ((endPoint[0][0].b >> 0) & 1) << 25; + block.x |= ((endPoint[0][0].b >> 1) & 1) << 26; + block.x |= ((endPoint[0][0].b >> 2) & 1) << 27; + block.x |= ((endPoint[0][0].b >> 3) & 1) << 28; + block.x |= ((endPoint[0][0].b >> 4) & 1) << 29; + block.x |= ((endPoint[0][0].b >> 5) & 1) << 30; + block.x |= ((endPoint[0][0].b >> 6) & 1) << 31; + block.y |= ((endPoint[0][0].b >> 7) & 1) << 0; + block.y |= ((endPoint[1][1].g >> 5) & 1) << 1; + block.y |= ((endPoint[1][1].b >> 4) & 1) << 2; + block.y |= ((endPoint[0][1].r >> 0) & 1) << 3; + block.y |= ((endPoint[0][1].r >> 1) & 1) << 4; + block.y |= ((endPoint[0][1].r >> 2) & 1) << 5; + block.y |= ((endPoint[0][1].r >> 3) & 1) << 6; + block.y |= ((endPoint[0][1].r >> 4) & 1) << 7; + block.y |= ((endPoint[1][1].g >> 4) & 1) << 8; + block.y |= ((endPoint[1][0].g >> 0) & 1) << 9; + block.y |= ((endPoint[1][0].g >> 1) & 1) << 10; + block.y |= ((endPoint[1][0].g >> 2) & 1) << 11; + block.y |= ((endPoint[1][0].g >> 3) & 1) << 12; + block.y |= ((endPoint[0][1].g >> 0) & 1) << 13; + block.y |= ((endPoint[0][1].g >> 1) & 1) << 14; + block.y |= ((endPoint[0][1].g >> 2) & 1) << 15; + block.y |= ((endPoint[0][1].g >> 3) & 1) << 16; + block.y |= ((endPoint[0][1].g >> 4) & 1) << 17; + block.y |= ((endPoint[0][1].g >> 5) & 1) << 18; + block.y |= ((endPoint[1][1].g >> 0) & 1) << 19; + block.y |= ((endPoint[1][1].g >> 1) & 1) << 20; + block.y |= ((endPoint[1][1].g >> 2) & 1) << 21; + block.y |= ((endPoint[1][1].g >> 3) & 1) << 22; + block.y |= ((endPoint[0][1].b >> 0) & 1) << 23; + block.y |= ((endPoint[0][1].b >> 1) & 1) << 24; + block.y |= ((endPoint[0][1].b >> 2) & 1) << 25; + block.y |= ((endPoint[0][1].b >> 3) & 1) << 26; + block.y |= ((endPoint[0][1].b >> 4) & 1) << 27; + block.y |= ((endPoint[1][1].b >> 1) & 1) << 28; + block.y |= ((endPoint[1][0].b >> 0) & 1) << 29; + block.y |= ((endPoint[1][0].b >> 1) & 1) << 30; + block.y |= ((endPoint[1][0].b >> 2) & 1) << 31; + block.z |= ((endPoint[1][0].b >> 3) & 1) << 0; + block.z |= ((endPoint[1][0].r >> 0) & 1) << 1; + block.z |= ((endPoint[1][0].r >> 1) & 1) << 2; + block.z |= ((endPoint[1][0].r >> 2) & 1) << 3; + block.z |= ((endPoint[1][0].r >> 3) & 1) << 4; + block.z |= ((endPoint[1][0].r >> 4) & 1) << 5; + block.z |= ((endPoint[1][1].b >> 2) & 1) << 6; + block.z |= ((endPoint[1][1].r >> 0) & 1) << 7; + block.z |= ((endPoint[1][1].r >> 1) & 1) << 8; + block.z |= ((endPoint[1][1].r >> 2) & 1) << 9; + block.z |= ((endPoint[1][1].r >> 3) & 1) << 10; + block.z |= ((endPoint[1][1].r >> 4) & 1) << 11; + block.z |= ((endPoint[1][1].b >> 3) & 1) << 12; + block.z |= ((partition_index >> 0) & 1) << 13; + block.z |= ((partition_index >> 1) & 1) << 14; + block.z |= ((partition_index >> 2) & 1) << 15; + block.z |= ((partition_index >> 3) & 1) << 16; + block.z |= ((partition_index >> 4) & 1) << 17; + } + else if ( mode_type == candidateModeFlag[8]) + { + /*block.x = candidateModeMemory[8]; + block.x |= ( ( endPoint[0][0].r << 5 ) & 0x00001FE0 ) | ( ( endPoint[0][0].g << 15 ) & 0x007F8000 ) | ( ( endPoint[0][0].b << 25 ) & 0xFE000000 ); + block.y |= ( endPoint[0][0].b >> 7 ) & 0x00000001; + block.y |= ( ( endPoint[0][1].r << 3 ) & 0x000000F8 ) | ( ( endPoint[0][1].g << 13 ) & 0x0003E000 ) | ( ( endPoint[0][1].b << 23 ) & 0x1F800000 ); + block.x |= ( ( endPoint[1][0].g << 20 ) & 0x01000000 ) | ( ( endPoint[1][0].b << 10 ) & 0x00004000 ); + block.x |= ( ( endPoint[1][0].b << 18 ) & 0x00800000 ); + block.x |= ( endPoint[1][1].b << 12 ) & 0x00002000; + block.y |= ( endPoint[1][0].b << 29 ) & 0xE0000000; + block.y |= ( ( endPoint[1][1].g << 4 ) & 0x00000100 ) | ( ( endPoint[1][1].b >> 4 ) & 0x00000002 ) | ( ( endPoint[1][1].b >> 2 ) & 0x00000004 ); + block.yz |= ( endPoint[1][0].gr << uint2(9, 1) ) & uint2(0x00001E00, 0x0000003E); + block.yz |= ( endPoint[1][1].gr << uint2(19, 7) ) & uint2(0x00780000, 0x00000F80); + block.y |= ( endPoint[1][1].b << 18 ) & 0x00040000; + block.z |= ( endPoint[1][0].b >> 3 ) & 0x00000001; + block.z |= ( ( endPoint[1][1].b << 9 ) & 0x00001000 ) | ( ( endPoint[1][1].b << 4 ) & 0x00000040 );*/ + + block.x |= ((candidateModeMemory[8] >> 0) & 1) << 0; + block.x |= ((candidateModeMemory[8] >> 1) & 1) << 1; + block.x |= ((candidateModeMemory[8] >> 2) & 1) << 2; + block.x |= ((candidateModeMemory[8] >> 3) & 1) << 3; + block.x |= ((candidateModeMemory[8] >> 4) & 1) << 4; + block.x |= ((endPoint[0][0].r >> 0) & 1) << 5; + block.x |= ((endPoint[0][0].r >> 1) & 1) << 6; + block.x |= ((endPoint[0][0].r >> 2) & 1) << 7; + block.x |= ((endPoint[0][0].r >> 3) & 1) << 8; + block.x |= ((endPoint[0][0].r >> 4) & 1) << 9; + block.x |= ((endPoint[0][0].r >> 5) & 1) << 10; + block.x |= ((endPoint[0][0].r >> 6) & 1) << 11; + block.x |= ((endPoint[0][0].r >> 7) & 1) << 12; + block.x |= ((endPoint[1][1].b >> 1) & 1) << 13; + block.x |= ((endPoint[1][0].b >> 4) & 1) << 14; + block.x |= ((endPoint[0][0].g >> 0) & 1) << 15; + block.x |= ((endPoint[0][0].g >> 1) & 1) << 16; + block.x |= ((endPoint[0][0].g >> 2) & 1) << 17; + block.x |= ((endPoint[0][0].g >> 3) & 1) << 18; + block.x |= ((endPoint[0][0].g >> 4) & 1) << 19; + block.x |= ((endPoint[0][0].g >> 5) & 1) << 20; + block.x |= ((endPoint[0][0].g >> 6) & 1) << 21; + block.x |= ((endPoint[0][0].g >> 7) & 1) << 22; + block.x |= ((endPoint[1][0].b >> 5) & 1) << 23; + block.x |= ((endPoint[1][0].g >> 4) & 1) << 24; + block.x |= ((endPoint[0][0].b >> 0) & 1) << 25; + block.x |= ((endPoint[0][0].b >> 1) & 1) << 26; + block.x |= ((endPoint[0][0].b >> 2) & 1) << 27; + block.x |= ((endPoint[0][0].b >> 3) & 1) << 28; + block.x |= ((endPoint[0][0].b >> 4) & 1) << 29; + block.x |= ((endPoint[0][0].b >> 5) & 1) << 30; + block.x |= ((endPoint[0][0].b >> 6) & 1) << 31; + block.y |= ((endPoint[0][0].b >> 7) & 1) << 0; + block.y |= ((endPoint[1][1].b >> 5) & 1) << 1; + block.y |= ((endPoint[1][1].b >> 4) & 1) << 2; + block.y |= ((endPoint[0][1].r >> 0) & 1) << 3; + block.y |= ((endPoint[0][1].r >> 1) & 1) << 4; + block.y |= ((endPoint[0][1].r >> 2) & 1) << 5; + block.y |= ((endPoint[0][1].r >> 3) & 1) << 6; + block.y |= ((endPoint[0][1].r >> 4) & 1) << 7; + block.y |= ((endPoint[1][1].g >> 4) & 1) << 8; + block.y |= ((endPoint[1][0].g >> 0) & 1) << 9; + block.y |= ((endPoint[1][0].g >> 1) & 1) << 10; + block.y |= ((endPoint[1][0].g >> 2) & 1) << 11; + block.y |= ((endPoint[1][0].g >> 3) & 1) << 12; + block.y |= ((endPoint[0][1].g >> 0) & 1) << 13; + block.y |= ((endPoint[0][1].g >> 1) & 1) << 14; + block.y |= ((endPoint[0][1].g >> 2) & 1) << 15; + block.y |= ((endPoint[0][1].g >> 3) & 1) << 16; + block.y |= ((endPoint[0][1].g >> 4) & 1) << 17; + block.y |= ((endPoint[1][1].b >> 0) & 1) << 18; + block.y |= ((endPoint[1][1].g >> 0) & 1) << 19; + block.y |= ((endPoint[1][1].g >> 1) & 1) << 20; + block.y |= ((endPoint[1][1].g >> 2) & 1) << 21; + block.y |= ((endPoint[1][1].g >> 3) & 1) << 22; + block.y |= ((endPoint[0][1].b >> 0) & 1) << 23; + block.y |= ((endPoint[0][1].b >> 1) & 1) << 24; + block.y |= ((endPoint[0][1].b >> 2) & 1) << 25; + block.y |= ((endPoint[0][1].b >> 3) & 1) << 26; + block.y |= ((endPoint[0][1].b >> 4) & 1) << 27; + block.y |= ((endPoint[0][1].b >> 5) & 1) << 28; + block.y |= ((endPoint[1][0].b >> 0) & 1) << 29; + block.y |= ((endPoint[1][0].b >> 1) & 1) << 30; + block.y |= ((endPoint[1][0].b >> 2) & 1) << 31; + block.z |= ((endPoint[1][0].b >> 3) & 1) << 0; + block.z |= ((endPoint[1][0].r >> 0) & 1) << 1; + block.z |= ((endPoint[1][0].r >> 1) & 1) << 2; + block.z |= ((endPoint[1][0].r >> 2) & 1) << 3; + block.z |= ((endPoint[1][0].r >> 3) & 1) << 4; + block.z |= ((endPoint[1][0].r >> 4) & 1) << 5; + block.z |= ((endPoint[1][1].b >> 2) & 1) << 6; + block.z |= ((endPoint[1][1].r >> 0) & 1) << 7; + block.z |= ((endPoint[1][1].r >> 1) & 1) << 8; + block.z |= ((endPoint[1][1].r >> 2) & 1) << 9; + block.z |= ((endPoint[1][1].r >> 3) & 1) << 10; + block.z |= ((endPoint[1][1].r >> 4) & 1) << 11; + block.z |= ((endPoint[1][1].b >> 3) & 1) << 12; + block.z |= ((partition_index >> 0) & 1) << 13; + block.z |= ((partition_index >> 1) & 1) << 14; + block.z |= ((partition_index >> 2) & 1) << 15; + block.z |= ((partition_index >> 3) & 1) << 16; + block.z |= ((partition_index >> 4) & 1) << 17; + } + else if ( mode_type == candidateModeFlag[9]) + { + /*block.x = candidateModeMemory[9]; + block.x |= ( ( endPoint[0][0].r << 5 ) & 0x000007E0 ) | ( ( endPoint[0][0].g << 15 ) & 0x001F8000 ) | ( ( endPoint[0][0].b << 25 ) & 0x7E000000 ); + block.y |= ( ( endPoint[0][1].r << 3 ) & 0x000001F8 ) | ( ( endPoint[0][1].g << 13 ) & 0x0007E000 ) | ( ( endPoint[0][1].b << 23 ) & 0x1F800000 ); + block.x |= ( ( endPoint[1][0].g << 16 ) & 0x00200000 ) | ( ( endPoint[1][0].g << 20 ) & 0x01000000 ); + block.x |= ( ( endPoint[1][0].b << 17 ) & 0x00400000 ) | ( ( endPoint[1][0].b << 10 ) & 0x00004000 ); + block.x |= ( ( endPoint[1][1].b << 21 ) & 0x00800000 ) | ( ( endPoint[1][1].b << 12 ) & 0x00003000 ); + block.x |= ( ( endPoint[1][1].g << 26 ) & 0x80000000 ) | ( ( endPoint[1][1].g << 7 ) & 0x00000800 ); + block.yz |= ( endPoint[1][0].gr << uint2(9, 1) ) & uint2(0x00001E00, 0x0000007E); + block.yz |= ( endPoint[1][1].gr << uint2(19, 7) ) & uint2(0x00780000, 0x00001F80); + block.y |= ( endPoint[1][0].b << 29 ) & 0xE0000000; + block.y |= ( ( endPoint[1][1].b >> 4 ) & 0x00000002 ) | ( ( endPoint[1][1].b >> 2 ) & 0x00000004 ) | ( ( endPoint[1][1].b >> 3 ) & 0x00000001 ); + block.z |= ( endPoint[1][0].b >> 3 ) & 0x00000001;*/ + + block.x |= ((candidateModeMemory[9] >> 0) & 1) << 0; + block.x |= ((candidateModeMemory[9] >> 1) & 1) << 1; + block.x |= ((candidateModeMemory[9] >> 2) & 1) << 2; + block.x |= ((candidateModeMemory[9] >> 3) & 1) << 3; + block.x |= ((candidateModeMemory[9] >> 4) & 1) << 4; + block.x |= ((endPoint[0][0].r >> 0) & 1) << 5; + block.x |= ((endPoint[0][0].r >> 1) & 1) << 6; + block.x |= ((endPoint[0][0].r >> 2) & 1) << 7; + block.x |= ((endPoint[0][0].r >> 3) & 1) << 8; + block.x |= ((endPoint[0][0].r >> 4) & 1) << 9; + block.x |= ((endPoint[0][0].r >> 5) & 1) << 10; + block.x |= ((endPoint[1][1].g >> 4) & 1) << 11; + block.x |= ((endPoint[1][1].b >> 0) & 1) << 12; + block.x |= ((endPoint[1][1].b >> 1) & 1) << 13; + block.x |= ((endPoint[1][0].b >> 4) & 1) << 14; + block.x |= ((endPoint[0][0].g >> 0) & 1) << 15; + block.x |= ((endPoint[0][0].g >> 1) & 1) << 16; + block.x |= ((endPoint[0][0].g >> 2) & 1) << 17; + block.x |= ((endPoint[0][0].g >> 3) & 1) << 18; + block.x |= ((endPoint[0][0].g >> 4) & 1) << 19; + block.x |= ((endPoint[0][0].g >> 5) & 1) << 20; + block.x |= ((endPoint[1][0].g >> 5) & 1) << 21; + block.x |= ((endPoint[1][0].b >> 5) & 1) << 22; + block.x |= ((endPoint[1][1].b >> 2) & 1) << 23; + block.x |= ((endPoint[1][0].g >> 4) & 1) << 24; + block.x |= ((endPoint[0][0].b >> 0) & 1) << 25; + block.x |= ((endPoint[0][0].b >> 1) & 1) << 26; + block.x |= ((endPoint[0][0].b >> 2) & 1) << 27; + block.x |= ((endPoint[0][0].b >> 3) & 1) << 28; + block.x |= ((endPoint[0][0].b >> 4) & 1) << 29; + block.x |= ((endPoint[0][0].b >> 5) & 1) << 30; + block.x |= ((endPoint[1][1].g >> 5) & 1) << 31; + block.y |= ((endPoint[1][1].b >> 3) & 1) << 0; + block.y |= ((endPoint[1][1].b >> 5) & 1) << 1; + block.y |= ((endPoint[1][1].b >> 4) & 1) << 2; + block.y |= ((endPoint[0][1].r >> 0) & 1) << 3; + block.y |= ((endPoint[0][1].r >> 1) & 1) << 4; + block.y |= ((endPoint[0][1].r >> 2) & 1) << 5; + block.y |= ((endPoint[0][1].r >> 3) & 1) << 6; + block.y |= ((endPoint[0][1].r >> 4) & 1) << 7; + block.y |= ((endPoint[0][1].r >> 5) & 1) << 8; + block.y |= ((endPoint[1][0].g >> 0) & 1) << 9; + block.y |= ((endPoint[1][0].g >> 1) & 1) << 10; + block.y |= ((endPoint[1][0].g >> 2) & 1) << 11; + block.y |= ((endPoint[1][0].g >> 3) & 1) << 12; + block.y |= ((endPoint[0][1].g >> 0) & 1) << 13; + block.y |= ((endPoint[0][1].g >> 1) & 1) << 14; + block.y |= ((endPoint[0][1].g >> 2) & 1) << 15; + block.y |= ((endPoint[0][1].g >> 3) & 1) << 16; + block.y |= ((endPoint[0][1].g >> 4) & 1) << 17; + block.y |= ((endPoint[0][1].g >> 5) & 1) << 18; + block.y |= ((endPoint[1][1].g >> 0) & 1) << 19; + block.y |= ((endPoint[1][1].g >> 1) & 1) << 20; + block.y |= ((endPoint[1][1].g >> 2) & 1) << 21; + block.y |= ((endPoint[1][1].g >> 3) & 1) << 22; + block.y |= ((endPoint[0][1].b >> 0) & 1) << 23; + block.y |= ((endPoint[0][1].b >> 1) & 1) << 24; + block.y |= ((endPoint[0][1].b >> 2) & 1) << 25; + block.y |= ((endPoint[0][1].b >> 3) & 1) << 26; + block.y |= ((endPoint[0][1].b >> 4) & 1) << 27; + block.y |= ((endPoint[0][1].b >> 5) & 1) << 28; + block.y |= ((endPoint[1][0].b >> 0) & 1) << 29; + block.y |= ((endPoint[1][0].b >> 1) & 1) << 30; + block.y |= ((endPoint[1][0].b >> 2) & 1) << 31; + block.z |= ((endPoint[1][0].b >> 3) & 1) << 0; + block.z |= ((endPoint[1][0].r >> 0) & 1) << 1; + block.z |= ((endPoint[1][0].r >> 1) & 1) << 2; + block.z |= ((endPoint[1][0].r >> 2) & 1) << 3; + block.z |= ((endPoint[1][0].r >> 3) & 1) << 4; + block.z |= ((endPoint[1][0].r >> 4) & 1) << 5; + block.z |= ((endPoint[1][0].r >> 5) & 1) << 6; + block.z |= ((endPoint[1][1].r >> 0) & 1) << 7; + block.z |= ((endPoint[1][1].r >> 1) & 1) << 8; + block.z |= ((endPoint[1][1].r >> 2) & 1) << 9; + block.z |= ((endPoint[1][1].r >> 3) & 1) << 10; + block.z |= ((endPoint[1][1].r >> 4) & 1) << 11; + block.z |= ((endPoint[1][1].r >> 5) & 1) << 12; + block.z |= ((partition_index >> 0) & 1) << 13; + block.z |= ((partition_index >> 1) & 1) << 14; + block.z |= ((partition_index >> 2) & 1) << 15; + block.z |= ((partition_index >> 3) & 1) << 16; + block.z |= ((partition_index >> 4) & 1) << 17; + } +} +void block_package( inout uint4 block, int2x3 endPoint, uint mode_type ) // for mode 11 - 14 +{ + /*block.x = ( ( endPoint[0].r << 5 ) & 0x00007FE0 ) | ( ( endPoint[0].g << 15 ) & 0x01FF8000 ) | ( ( endPoint[0].b << 25 ) & 0xFE000000 ); + block.y |= ( endPoint[0].b >> 7 ) & 0x00000007;*/ + + block.xy = 0; + block.z &= 0xFFFFFFFE; + + + if ( mode_type == candidateModeFlag[10]) + { + /* block.x |= candidateModeMemory[10]; + block.y |= ( ( endPoint[1].r << 3 ) & 0x00001FF8 ) | ( ( endPoint[1].g << 13 ) & 0x007FE000 ) | ( ( endPoint[1].b << 23 ) & 0xFF800000 ); + block.z |= ( endPoint[1].b >> 9 ) & 0x00000001;*/ + + block.x |= ((candidateModeMemory[10] >> 0) & 1) << 0; + block.x |= ((candidateModeMemory[10] >> 1) & 1) << 1; + block.x |= ((candidateModeMemory[10] >> 2) & 1) << 2; + block.x |= ((candidateModeMemory[10] >> 3) & 1) << 3; + block.x |= ((candidateModeMemory[10] >> 4) & 1) << 4; + block.x |= ((endPoint[0].r >> 0) & 1) << 5; + block.x |= ((endPoint[0].r >> 1) & 1) << 6; + block.x |= ((endPoint[0].r >> 2) & 1) << 7; + block.x |= ((endPoint[0].r >> 3) & 1) << 8; + block.x |= ((endPoint[0].r >> 4) & 1) << 9; + block.x |= ((endPoint[0].r >> 5) & 1) << 10; + block.x |= ((endPoint[0].r >> 6) & 1) << 11; + block.x |= ((endPoint[0].r >> 7) & 1) << 12; + block.x |= ((endPoint[0].r >> 8) & 1) << 13; + block.x |= ((endPoint[0].r >> 9) & 1) << 14; + block.x |= ((endPoint[0].g >> 0) & 1) << 15; + block.x |= ((endPoint[0].g >> 1) & 1) << 16; + block.x |= ((endPoint[0].g >> 2) & 1) << 17; + block.x |= ((endPoint[0].g >> 3) & 1) << 18; + block.x |= ((endPoint[0].g >> 4) & 1) << 19; + block.x |= ((endPoint[0].g >> 5) & 1) << 20; + block.x |= ((endPoint[0].g >> 6) & 1) << 21; + block.x |= ((endPoint[0].g >> 7) & 1) << 22; + block.x |= ((endPoint[0].g >> 8) & 1) << 23; + block.x |= ((endPoint[0].g >> 9) & 1) << 24; + block.x |= ((endPoint[0].b >> 0) & 1) << 25; + block.x |= ((endPoint[0].b >> 1) & 1) << 26; + block.x |= ((endPoint[0].b >> 2) & 1) << 27; + block.x |= ((endPoint[0].b >> 3) & 1) << 28; + block.x |= ((endPoint[0].b >> 4) & 1) << 29; + block.x |= ((endPoint[0].b >> 5) & 1) << 30; + block.x |= ((endPoint[0].b >> 6) & 1) << 31; + block.y |= ((endPoint[0].b >> 7) & 1) << 0; + block.y |= ((endPoint[0].b >> 8) & 1) << 1; + block.y |= ((endPoint[0].b >> 9) & 1) << 2; + block.y |= ((endPoint[1].r >> 0) & 1) << 3; + block.y |= ((endPoint[1].r >> 1) & 1) << 4; + block.y |= ((endPoint[1].r >> 2) & 1) << 5; + block.y |= ((endPoint[1].r >> 3) & 1) << 6; + block.y |= ((endPoint[1].r >> 4) & 1) << 7; + block.y |= ((endPoint[1].r >> 5) & 1) << 8; + block.y |= ((endPoint[1].r >> 6) & 1) << 9; + block.y |= ((endPoint[1].r >> 7) & 1) << 10; + block.y |= ((endPoint[1].r >> 8) & 1) << 11; + block.y |= ((endPoint[1].r >> 9) & 1) << 12; + block.y |= ((endPoint[1].g >> 0) & 1) << 13; + block.y |= ((endPoint[1].g >> 1) & 1) << 14; + block.y |= ((endPoint[1].g >> 2) & 1) << 15; + block.y |= ((endPoint[1].g >> 3) & 1) << 16; + block.y |= ((endPoint[1].g >> 4) & 1) << 17; + block.y |= ((endPoint[1].g >> 5) & 1) << 18; + block.y |= ((endPoint[1].g >> 6) & 1) << 19; + block.y |= ((endPoint[1].g >> 7) & 1) << 20; + block.y |= ((endPoint[1].g >> 8) & 1) << 21; + block.y |= ((endPoint[1].g >> 9) & 1) << 22; + block.y |= ((endPoint[1].b >> 0) & 1) << 23; + block.y |= ((endPoint[1].b >> 1) & 1) << 24; + block.y |= ((endPoint[1].b >> 2) & 1) << 25; + block.y |= ((endPoint[1].b >> 3) & 1) << 26; + block.y |= ((endPoint[1].b >> 4) & 1) << 27; + block.y |= ((endPoint[1].b >> 5) & 1) << 28; + block.y |= ((endPoint[1].b >> 6) & 1) << 29; + block.y |= ((endPoint[1].b >> 7) & 1) << 30; + block.y |= ((endPoint[1].b >> 8) & 1) << 31; + block.z |= ((endPoint[1].b >> 9) & 1) << 0; + } + else if (mode_type == candidateModeFlag[11]) + { + /*block.x |= candidateModeMemory[11]; + block.y |= ( ( endPoint[0].r << 2 ) & 0x00001000 ) | ( ( endPoint[0].g << 12 ) & 0x00400000 ); + block.y |= ( ( endPoint[1].r << 3 ) & 0x00000FF8 ) | ( ( endPoint[1].g << 13 ) & 0x003FE000 ) | ( ( endPoint[1].b << 23 ) & 0xFF800000 ); + block.z |= ( endPoint[0].b >> 10 ) & 0x00000001;*/ + + block.x |= ((candidateModeMemory[11] >> 0) & 1) << 0; + block.x |= ((candidateModeMemory[11] >> 1) & 1) << 1; + block.x |= ((candidateModeMemory[11] >> 2) & 1) << 2; + block.x |= ((candidateModeMemory[11] >> 3) & 1) << 3; + block.x |= ((candidateModeMemory[11] >> 4) & 1) << 4; + block.x |= ((endPoint[0].r >> 0) & 1) << 5; + block.x |= ((endPoint[0].r >> 1) & 1) << 6; + block.x |= ((endPoint[0].r >> 2) & 1) << 7; + block.x |= ((endPoint[0].r >> 3) & 1) << 8; + block.x |= ((endPoint[0].r >> 4) & 1) << 9; + block.x |= ((endPoint[0].r >> 5) & 1) << 10; + block.x |= ((endPoint[0].r >> 6) & 1) << 11; + block.x |= ((endPoint[0].r >> 7) & 1) << 12; + block.x |= ((endPoint[0].r >> 8) & 1) << 13; + block.x |= ((endPoint[0].r >> 9) & 1) << 14; + block.x |= ((endPoint[0].g >> 0) & 1) << 15; + block.x |= ((endPoint[0].g >> 1) & 1) << 16; + block.x |= ((endPoint[0].g >> 2) & 1) << 17; + block.x |= ((endPoint[0].g >> 3) & 1) << 18; + block.x |= ((endPoint[0].g >> 4) & 1) << 19; + block.x |= ((endPoint[0].g >> 5) & 1) << 20; + block.x |= ((endPoint[0].g >> 6) & 1) << 21; + block.x |= ((endPoint[0].g >> 7) & 1) << 22; + block.x |= ((endPoint[0].g >> 8) & 1) << 23; + block.x |= ((endPoint[0].g >> 9) & 1) << 24; + block.x |= ((endPoint[0].b >> 0) & 1) << 25; + block.x |= ((endPoint[0].b >> 1) & 1) << 26; + block.x |= ((endPoint[0].b >> 2) & 1) << 27; + block.x |= ((endPoint[0].b >> 3) & 1) << 28; + block.x |= ((endPoint[0].b >> 4) & 1) << 29; + block.x |= ((endPoint[0].b >> 5) & 1) << 30; + block.x |= ((endPoint[0].b >> 6) & 1) << 31; + block.y |= ((endPoint[0].b >> 7) & 1) << 0; + block.y |= ((endPoint[0].b >> 8) & 1) << 1; + block.y |= ((endPoint[0].b >> 9) & 1) << 2; + block.y |= ((endPoint[1].r >> 0) & 1) << 3; + block.y |= ((endPoint[1].r >> 1) & 1) << 4; + block.y |= ((endPoint[1].r >> 2) & 1) << 5; + block.y |= ((endPoint[1].r >> 3) & 1) << 6; + block.y |= ((endPoint[1].r >> 4) & 1) << 7; + block.y |= ((endPoint[1].r >> 5) & 1) << 8; + block.y |= ((endPoint[1].r >> 6) & 1) << 9; + block.y |= ((endPoint[1].r >> 7) & 1) << 10; + block.y |= ((endPoint[1].r >> 8) & 1) << 11; + block.y |= ((endPoint[0].r >> 10) & 1) << 12; + block.y |= ((endPoint[1].g >> 0) & 1) << 13; + block.y |= ((endPoint[1].g >> 1) & 1) << 14; + block.y |= ((endPoint[1].g >> 2) & 1) << 15; + block.y |= ((endPoint[1].g >> 3) & 1) << 16; + block.y |= ((endPoint[1].g >> 4) & 1) << 17; + block.y |= ((endPoint[1].g >> 5) & 1) << 18; + block.y |= ((endPoint[1].g >> 6) & 1) << 19; + block.y |= ((endPoint[1].g >> 7) & 1) << 20; + block.y |= ((endPoint[1].g >> 8) & 1) << 21; + block.y |= ((endPoint[0].g >> 10) & 1) << 22; + block.y |= ((endPoint[1].b >> 0) & 1) << 23; + block.y |= ((endPoint[1].b >> 1) & 1) << 24; + block.y |= ((endPoint[1].b >> 2) & 1) << 25; + block.y |= ((endPoint[1].b >> 3) & 1) << 26; + block.y |= ((endPoint[1].b >> 4) & 1) << 27; + block.y |= ((endPoint[1].b >> 5) & 1) << 28; + block.y |= ((endPoint[1].b >> 6) & 1) << 29; + block.y |= ((endPoint[1].b >> 7) & 1) << 30; + block.y |= ((endPoint[1].b >> 8) & 1) << 31; + block.z |= ((endPoint[0].b >> 10) & 1) << 0; + } + else if (mode_type == candidateModeFlag[12])// violate the spec in [0].low + { + /*block.x |= candidateModeMemory[12]; + block.y |= ( ( endPoint[0].r << 2 ) & 0x00001000 ) | ( ( endPoint[0].g << 12 ) & 0x00400000 ); + block.y |= ( ( endPoint[0].r << 0 ) & 0x00000800 ) | ( ( endPoint[0].g << 10 ) & 0x00200000 ); + block.y |= ( endPoint[0].b << 20 ) & 0x80000000; + block.y |= ( ( endPoint[1].r << 3 ) & 0x000007F8 ) | ( ( endPoint[1].g << 13 ) & 0x001FE000 ) | ( ( endPoint[1].b << 23 ) & 0x7F800000 ); + block.z |= ( endPoint[0].b >> 10 ) & 0x00000001;*/ + + block.x |= ((candidateModeMemory[12] >> 0) & 1) << 0; + block.x |= ((candidateModeMemory[12] >> 1) & 1) << 1; + block.x |= ((candidateModeMemory[12] >> 2) & 1) << 2; + block.x |= ((candidateModeMemory[12] >> 3) & 1) << 3; + block.x |= ((candidateModeMemory[12] >> 4) & 1) << 4; + block.x |= ((endPoint[0].r >> 0) & 1) << 5; + block.x |= ((endPoint[0].r >> 1) & 1) << 6; + block.x |= ((endPoint[0].r >> 2) & 1) << 7; + block.x |= ((endPoint[0].r >> 3) & 1) << 8; + block.x |= ((endPoint[0].r >> 4) & 1) << 9; + block.x |= ((endPoint[0].r >> 5) & 1) << 10; + block.x |= ((endPoint[0].r >> 6) & 1) << 11; + block.x |= ((endPoint[0].r >> 7) & 1) << 12; + block.x |= ((endPoint[0].r >> 8) & 1) << 13; + block.x |= ((endPoint[0].r >> 9) & 1) << 14; + block.x |= ((endPoint[0].g >> 0) & 1) << 15; + block.x |= ((endPoint[0].g >> 1) & 1) << 16; + block.x |= ((endPoint[0].g >> 2) & 1) << 17; + block.x |= ((endPoint[0].g >> 3) & 1) << 18; + block.x |= ((endPoint[0].g >> 4) & 1) << 19; + block.x |= ((endPoint[0].g >> 5) & 1) << 20; + block.x |= ((endPoint[0].g >> 6) & 1) << 21; + block.x |= ((endPoint[0].g >> 7) & 1) << 22; + block.x |= ((endPoint[0].g >> 8) & 1) << 23; + block.x |= ((endPoint[0].g >> 9) & 1) << 24; + block.x |= ((endPoint[0].b >> 0) & 1) << 25; + block.x |= ((endPoint[0].b >> 1) & 1) << 26; + block.x |= ((endPoint[0].b >> 2) & 1) << 27; + block.x |= ((endPoint[0].b >> 3) & 1) << 28; + block.x |= ((endPoint[0].b >> 4) & 1) << 29; + block.x |= ((endPoint[0].b >> 5) & 1) << 30; + block.x |= ((endPoint[0].b >> 6) & 1) << 31; + block.y |= ((endPoint[0].b >> 7) & 1) << 0; + block.y |= ((endPoint[0].b >> 8) & 1) << 1; + block.y |= ((endPoint[0].b >> 9) & 1) << 2; + block.y |= ((endPoint[1].r >> 0) & 1) << 3; + block.y |= ((endPoint[1].r >> 1) & 1) << 4; + block.y |= ((endPoint[1].r >> 2) & 1) << 5; + block.y |= ((endPoint[1].r >> 3) & 1) << 6; + block.y |= ((endPoint[1].r >> 4) & 1) << 7; + block.y |= ((endPoint[1].r >> 5) & 1) << 8; + block.y |= ((endPoint[1].r >> 6) & 1) << 9; + block.y |= ((endPoint[1].r >> 7) & 1) << 10; + block.y |= ((endPoint[0].r >> 11) & 1) << 11; + block.y |= ((endPoint[0].r >> 10) & 1) << 12; + block.y |= ((endPoint[1].g >> 0) & 1) << 13; + block.y |= ((endPoint[1].g >> 1) & 1) << 14; + block.y |= ((endPoint[1].g >> 2) & 1) << 15; + block.y |= ((endPoint[1].g >> 3) & 1) << 16; + block.y |= ((endPoint[1].g >> 4) & 1) << 17; + block.y |= ((endPoint[1].g >> 5) & 1) << 18; + block.y |= ((endPoint[1].g >> 6) & 1) << 19; + block.y |= ((endPoint[1].g >> 7) & 1) << 20; + block.y |= ((endPoint[0].g >> 11) & 1) << 21; + block.y |= ((endPoint[0].g >> 10) & 1) << 22; + block.y |= ((endPoint[1].b >> 0) & 1) << 23; + block.y |= ((endPoint[1].b >> 1) & 1) << 24; + block.y |= ((endPoint[1].b >> 2) & 1) << 25; + block.y |= ((endPoint[1].b >> 3) & 1) << 26; + block.y |= ((endPoint[1].b >> 4) & 1) << 27; + block.y |= ((endPoint[1].b >> 5) & 1) << 28; + block.y |= ((endPoint[1].b >> 6) & 1) << 29; + block.y |= ((endPoint[1].b >> 7) & 1) << 30; + block.y |= ((endPoint[0].b >> 11) & 1) << 31; + block.z |= ((endPoint[0].b >> 10) & 1) << 0; + } + else if (mode_type == candidateModeFlag[13]) + { + /*block.x |= candidateModeMemory[13]; + block.y |= ( ( endPoint[0].r >> 8 ) & 0x00000080 ); + block.y |= ( ( endPoint[0].r >> 6 ) & 0x00000100 ); + block.y |= ( ( endPoint[0].r >> 4 ) & 0x00000200 ); + block.y |= ( ( endPoint[0].r >> 2 ) & 0x00000400 ); + block.y |= ( ( endPoint[0].r >> 0 ) & 0x00000800 ); + block.y |= ( ( endPoint[0].r << 2 ) & 0x00001000 ); + block.y |= ( ( endPoint[0].g << 2 ) & 0x00020000 ); + block.y |= ( ( endPoint[0].g << 4 ) & 0x00040000 ); + block.y |= ( ( endPoint[0].g << 6 ) & 0x00080000 ); + block.y |= ( ( endPoint[0].g << 8 ) & 0x00100000 ); + block.y |= ( ( endPoint[0].g << 10 ) & 0x00200000 ); + block.y |= ( ( endPoint[0].g << 12 ) & 0x00400000 ); + block.y |= ( ( endPoint[0].b << 12 ) & 0x08000000 ); + block.y |= ( ( endPoint[0].b << 14 ) & 0x10000000 ); + block.y |= ( ( endPoint[0].b << 16 ) & 0x20000000 ); + block.y |= ( ( endPoint[0].b << 18 ) & 0x40000000 ); + block.y |= ( ( endPoint[0].b << 20 ) & 0x80000000 ); + block.y |= ( ( endPoint[1].r << 3 ) & 0x00000078 ) | ( ( endPoint[1].g << 13 ) & 0x0001E000 ) | ( ( endPoint[1].b << 23 ) & 0x07800000 ); + block.z |= ( endPoint[0].b >> 10 ) & 0x00000001;*/ + + block.x |= ((candidateModeMemory[13] >> 0) & 1) << 0; + block.x |= ((candidateModeMemory[13] >> 1) & 1) << 1; + block.x |= ((candidateModeMemory[13] >> 2) & 1) << 2; + block.x |= ((candidateModeMemory[13] >> 3) & 1) << 3; + block.x |= ((candidateModeMemory[13] >> 4) & 1) << 4; + block.x |= ((endPoint[0].r >> 0) & 1) << 5; + block.x |= ((endPoint[0].r >> 1) & 1) << 6; + block.x |= ((endPoint[0].r >> 2) & 1) << 7; + block.x |= ((endPoint[0].r >> 3) & 1) << 8; + block.x |= ((endPoint[0].r >> 4) & 1) << 9; + block.x |= ((endPoint[0].r >> 5) & 1) << 10; + block.x |= ((endPoint[0].r >> 6) & 1) << 11; + block.x |= ((endPoint[0].r >> 7) & 1) << 12; + block.x |= ((endPoint[0].r >> 8) & 1) << 13; + block.x |= ((endPoint[0].r >> 9) & 1) << 14; + block.x |= ((endPoint[0].g >> 0) & 1) << 15; + block.x |= ((endPoint[0].g >> 1) & 1) << 16; + block.x |= ((endPoint[0].g >> 2) & 1) << 17; + block.x |= ((endPoint[0].g >> 3) & 1) << 18; + block.x |= ((endPoint[0].g >> 4) & 1) << 19; + block.x |= ((endPoint[0].g >> 5) & 1) << 20; + block.x |= ((endPoint[0].g >> 6) & 1) << 21; + block.x |= ((endPoint[0].g >> 7) & 1) << 22; + block.x |= ((endPoint[0].g >> 8) & 1) << 23; + block.x |= ((endPoint[0].g >> 9) & 1) << 24; + block.x |= ((endPoint[0].b >> 0) & 1) << 25; + block.x |= ((endPoint[0].b >> 1) & 1) << 26; + block.x |= ((endPoint[0].b >> 2) & 1) << 27; + block.x |= ((endPoint[0].b >> 3) & 1) << 28; + block.x |= ((endPoint[0].b >> 4) & 1) << 29; + block.x |= ((endPoint[0].b >> 5) & 1) << 30; + block.x |= ((endPoint[0].b >> 6) & 1) << 31; + block.y |= ((endPoint[0].b >> 7) & 1) << 0; + block.y |= ((endPoint[0].b >> 8) & 1) << 1; + block.y |= ((endPoint[0].b >> 9) & 1) << 2; + block.y |= ((endPoint[1].r >> 0) & 1) << 3; + block.y |= ((endPoint[1].r >> 1) & 1) << 4; + block.y |= ((endPoint[1].r >> 2) & 1) << 5; + block.y |= ((endPoint[1].r >> 3) & 1) << 6; + block.y |= ((endPoint[0].r >> 15) & 1) << 7; + block.y |= ((endPoint[0].r >> 14) & 1) << 8; + block.y |= ((endPoint[0].r >> 13) & 1) << 9; + block.y |= ((endPoint[0].r >> 12) & 1) << 10; + block.y |= ((endPoint[0].r >> 11) & 1) << 11; + block.y |= ((endPoint[0].r >> 10) & 1) << 12; + block.y |= ((endPoint[1].g >> 0) & 1) << 13; + block.y |= ((endPoint[1].g >> 1) & 1) << 14; + block.y |= ((endPoint[1].g >> 2) & 1) << 15; + block.y |= ((endPoint[1].g >> 3) & 1) << 16; + block.y |= ((endPoint[0].g >> 15) & 1) << 17; + block.y |= ((endPoint[0].g >> 14) & 1) << 18; + block.y |= ((endPoint[0].g >> 13) & 1) << 19; + block.y |= ((endPoint[0].g >> 12) & 1) << 20; + block.y |= ((endPoint[0].g >> 11) & 1) << 21; + block.y |= ((endPoint[0].g >> 10) & 1) << 22; + block.y |= ((endPoint[1].b >> 0) & 1) << 23; + block.y |= ((endPoint[1].b >> 1) & 1) << 24; + block.y |= ((endPoint[1].b >> 2) & 1) << 25; + block.y |= ((endPoint[1].b >> 3) & 1) << 26; + block.y |= ((endPoint[0].b >> 15) & 1) << 27; + block.y |= ((endPoint[0].b >> 14) & 1) << 28; + block.y |= ((endPoint[0].b >> 13) & 1) << 29; + block.y |= ((endPoint[0].b >> 12) & 1) << 30; + block.y |= ((endPoint[0].b >> 11) & 1) << 31; + block.z |= ((endPoint[0].b >> 10) & 1) << 0; + } +} diff --git a/DirectXTex/Shaders/BC7Encode.hlsl b/DirectXTex/Shaders/BC7Encode.hlsl new file mode 100644 index 0000000..f09580e --- /dev/null +++ b/DirectXTex/Shaders/BC7Encode.hlsl @@ -0,0 +1,1907 @@ +//-------------------------------------------------------------------------------------- +// File: BC7Encode.hlsl +// +// The Compute Shader for BC7 Encoder +// +// Copyright (c) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +//#define REF_DEVICE + +#define CHAR_LENGTH 8 +#define NCHANNELS 4 +#define BC7_UNORM 98 +#define MAX_UINT 0xFFFFFFFF +#define MIN_UINT 0 + +static const uint candidateSectionBit[64] = //Associated to partition 0-63 +{ + 0xCCCC, 0x8888, 0xEEEE, 0xECC8, + 0xC880, 0xFEEC, 0xFEC8, 0xEC80, + 0xC800, 0xFFEC, 0xFE80, 0xE800, + 0xFFE8, 0xFF00, 0xFFF0, 0xF000, + 0xF710, 0x008E, 0x7100, 0x08CE, + 0x008C, 0x7310, 0x3100, 0x8CCE, + 0x088C, 0x3110, 0x6666, 0x366C, + 0x17E8, 0x0FF0, 0x718E, 0x399C, + 0xaaaa, 0xf0f0, 0x5a5a, 0x33cc, + 0x3c3c, 0x55aa, 0x9696, 0xa55a, + 0x73ce, 0x13c8, 0x324c, 0x3bdc, + 0x6996, 0xc33c, 0x9966, 0x660, + 0x272, 0x4e4, 0x4e40, 0x2720, + 0xc936, 0x936c, 0x39c6, 0x639c, + 0x9336, 0x9cc6, 0x817e, 0xe718, + 0xccf0, 0xfcc, 0x7744, 0xee22, +}; +static const uint candidateSectionBit2[64] = //Associated to partition 64-127 +{ + 0xaa685050, 0x6a5a5040, 0x5a5a4200, 0x5450a0a8, + 0xa5a50000, 0xa0a05050, 0x5555a0a0, 0x5a5a5050, + 0xaa550000, 0xaa555500, 0xaaaa5500, 0x90909090, + 0x94949494, 0xa4a4a4a4, 0xa9a59450, 0x2a0a4250, + 0xa5945040, 0x0a425054, 0xa5a5a500, 0x55a0a0a0, + 0xa8a85454, 0x6a6a4040, 0xa4a45000, 0x1a1a0500, + 0x0050a4a4, 0xaaa59090, 0x14696914, 0x69691400, + 0xa08585a0, 0xaa821414, 0x50a4a450, 0x6a5a0200, + 0xa9a58000, 0x5090a0a8, 0xa8a09050, 0x24242424, + 0x00aa5500, 0x24924924, 0x24499224, 0x50a50a50, + 0x500aa550, 0xaaaa4444, 0x66660000, 0xa5a0a5a0, + 0x50a050a0, 0x69286928, 0x44aaaa44, 0x66666600, + 0xaa444444, 0x54a854a8, 0x95809580, 0x96969600, + 0xa85454a8, 0x80959580, 0xaa141414, 0x96960000, + 0xaaaa1414, 0xa05050a0, 0xa0a5a5a0, 0x96000000, + 0x40804080, 0xa9a8a9a8, 0xaaaaaa44, 0x2a4a5254, +}; +static const uint2 candidateFixUpIndex1D[128] = +{ + {15, 0},{15, 0},{15, 0},{15, 0}, + {15, 0},{15, 0},{15, 0},{15, 0}, + {15, 0},{15, 0},{15, 0},{15, 0}, + {15, 0},{15, 0},{15, 0},{15, 0}, + {15, 0},{ 2, 0},{ 8, 0},{ 2, 0}, + { 2, 0},{ 8, 0},{ 8, 0},{15, 0}, + { 2, 0},{ 8, 0},{ 2, 0},{ 2, 0}, + { 8, 0},{ 8, 0},{ 2, 0},{ 2, 0}, + + {15, 0},{15, 0},{ 6, 0},{ 8, 0}, + { 2, 0},{ 8, 0},{15, 0},{15, 0}, + { 2, 0},{ 8, 0},{ 2, 0},{ 2, 0}, + { 2, 0},{15, 0},{15, 0},{ 6, 0}, + { 6, 0},{ 2, 0},{ 6, 0},{ 8, 0}, + {15, 0},{15, 0},{ 2, 0},{ 2, 0}, + {15, 0},{15, 0},{15, 0},{15, 0}, + {15, 0},{ 2, 0},{ 2, 0},{15, 0}, + //candidateFixUpIndex1D[i][1], i < 64 should not be used + + { 3,15},{ 3, 8},{15, 8},{15, 3}, + { 8,15},{ 3,15},{15, 3},{15, 8}, + { 8,15},{ 8,15},{ 6,15},{ 6,15}, + { 6,15},{ 5,15},{ 3,15},{ 3, 8}, + { 3,15},{ 3, 8},{ 8,15},{15, 3}, + { 3,15},{ 3, 8},{ 6,15},{10, 8}, + { 5, 3},{ 8,15},{ 8, 6},{ 6,10}, + { 8,15},{ 5,15},{15,10},{15, 8}, + + { 8,15},{15, 3},{ 3,15},{ 5,10}, + { 6,10},{10, 8},{ 8, 9},{15,10}, + {15, 6},{ 3,15},{15, 8},{ 5,15}, + {15, 3},{15, 6},{15, 6},{15, 8}, //The Spec doesn't mark the first fixed up index in this row, so I apply 15 for them, and seems correct + { 3,15},{15, 3},{ 5,15},{ 5,15}, + { 5,15},{ 8,15},{ 5,15},{10,15}, + { 5,15},{10,15},{ 8,15},{13,15}, + {15, 3},{12,15},{ 3,15},{ 3, 8}, +}; +static const uint2 candidateFixUpIndex1DOrdered[128] = //Same with candidateFixUpIndex1D but order the result when i >= 64 +{ + {15, 0},{15, 0},{15, 0},{15, 0}, + {15, 0},{15, 0},{15, 0},{15, 0}, + {15, 0},{15, 0},{15, 0},{15, 0}, + {15, 0},{15, 0},{15, 0},{15, 0}, + {15, 0},{ 2, 0},{ 8, 0},{ 2, 0}, + { 2, 0},{ 8, 0},{ 8, 0},{15, 0}, + { 2, 0},{ 8, 0},{ 2, 0},{ 2, 0}, + { 8, 0},{ 8, 0},{ 2, 0},{ 2, 0}, + + {15, 0},{15, 0},{ 6, 0},{ 8, 0}, + { 2, 0},{ 8, 0},{15, 0},{15, 0}, + { 2, 0},{ 8, 0},{ 2, 0},{ 2, 0}, + { 2, 0},{15, 0},{15, 0},{ 6, 0}, + { 6, 0},{ 2, 0},{ 6, 0},{ 8, 0}, + {15, 0},{15, 0},{ 2, 0},{ 2, 0}, + {15, 0},{15, 0},{15, 0},{15, 0}, + {15, 0},{ 2, 0},{ 2, 0},{15, 0}, + //candidateFixUpIndex1DOrdered[i][1], i < 64 should not be used + + { 3,15},{ 3, 8},{ 8,15},{ 3,15}, + { 8,15},{ 3,15},{ 3,15},{ 8,15}, + { 8,15},{ 8,15},{ 6,15},{ 6,15}, + { 6,15},{ 5,15},{ 3,15},{ 3, 8}, + { 3,15},{ 3, 8},{ 8,15},{ 3,15}, + { 3,15},{ 3, 8},{ 6,15},{ 8,10}, + { 3, 5},{ 8,15},{ 6, 8},{ 6,10}, + { 8,15},{ 5,15},{10,15},{ 8,15}, + + { 8,15},{ 3,15},{ 3,15},{ 5,10}, + { 6,10},{ 8,10},{ 8, 9},{10,15}, + { 6,15},{ 3,15},{ 8,15},{ 5,15}, + { 3,15},{ 6,15},{ 6,15},{ 8,15}, //The Spec doesn't mark the first fixed up index in this row, so I apply 15 for them, and seems correct + { 3,15},{ 3,15},{ 5,15},{ 5,15}, + { 5,15},{ 8,15},{ 5,15},{10,15}, + { 5,15},{10,15},{ 8,15},{13,15}, + { 3,15},{12,15},{ 3,15},{ 3, 8}, +}; +//static const uint4x4 candidateRotation[4] = +//{ +// {1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}, +// {0,0,0,1},{0,1,0,0},{0,0,1,0},{1,0,0,0}, +// {1,0,0,0},{0,0,0,1},{0,0,1,0},{0,1,0,0}, +// {1,0,0,0},{0,1,0,0},{0,0,0,1},{0,0,1,0} +//}; +//static const uint2 candidateIndexPrec[8] = {{3,0},{3,0},{2,0},{2,0}, +// {2,3}, //color index and alpha index can exchange +// {2,2},{4,4},{2,2}}; + +static const uint aWeight[3][16] = { {0, 4, 9, 13, 17, 21, 26, 30, 34, 38, 43, 47, 51, 55, 60, 64}, + {0, 9, 18, 27, 37, 46, 55, 64, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 21, 43, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }; + + //4 bit index: 0, 4, 9, 13, 17, 21, 26, 30, 34, 38, 43, 47, 51, 55, 60, 64 +static const uint aStep[3][64] = { { 0, 0, 0, 1, 1, 1, 1, 2, + 2, 2, 2, 2, 3, 3, 3, 3, + 4, 4, 4, 4, 5, 5, 5, 5, + 6, 6, 6, 6, 6, 7, 7, 7, + 7, 8, 8, 8, 8, 9, 9, 9, + 9,10,10,10,10,10,11,11, + 11,11,12,12,12,12,13,13, + 13,13,14,14,14,14,15,15 }, + //3 bit index: 0, 9, 18, 27, 37, 46, 55, 64 + { 0,0,0,0,0,1,1,1, + 1,1,1,1,1,1,2,2, + 2,2,2,2,2,2,2,3, + 3,3,3,3,3,3,3,3, + 3,4,4,4,4,4,4,4, + 4,4,5,5,5,5,5,5, + 5,5,5,6,6,6,6,6, + 6,6,6,6,7,7,7,7 }, + //2 bit index: 0, 21, 43, 64 + { 0,0,0,0,0,0,0,0, + 0,0,0,1,1,1,1,1, + 1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1, + 1,2,2,2,2,2,2,2, + 2,2,2,2,2,2,2,2, + 2,2,2,2,2,2,3,3, + 3,3,3,3,3,3,3,3 } }; + +cbuffer cbCS : register( b0 ) +{ + uint g_tex_width; + uint g_num_block_x; + uint g_format; + uint g_mode_id; + uint g_start_block_id; + uint g_num_total_blocks; + float g_alpha_weight; +}; + +//Forward declaration +uint2x4 compress_endpoints0( inout uint2x4 endPoint, uint2 P ); //Mode = 0 +uint2x4 compress_endpoints1( inout uint2x4 endPoint, uint2 P ); //Mode = 1 +uint2x4 compress_endpoints2( inout uint2x4 endPoint ); //Mode = 2 +uint2x4 compress_endpoints3( inout uint2x4 endPoint, uint2 P ); //Mode = 3 +uint2x4 compress_endpoints7( inout uint2x4 endPoint, uint2 P ); //Mode = 7 +uint2x4 compress_endpoints6( inout uint2x4 endPoint, uint2 P ); //Mode = 6 +uint2x4 compress_endpoints4( inout uint2x4 endPoint ); //Mode = 4 +uint2x4 compress_endpoints5( inout uint2x4 endPoint ); //Mode = 5 + +void block_package0( out uint4 block, uint partition, uint threadBase ); //Mode0 +void block_package1( out uint4 block, uint partition, uint threadBase ); //Mode1 +void block_package2( out uint4 block, uint partition, uint threadBase ); //Mode2 +void block_package3( out uint4 block, uint partition, uint threadBase ); //Mode3 +void block_package4( out uint4 block, uint rotation, uint index_selector, uint threadBase ); //Mode4 +void block_package5( out uint4 block, uint rotation, uint threadBase ); //Mode5 +void block_package6( out uint4 block, uint threadBase ); //Mode6 +void block_package7( out uint4 block, uint partition, uint threadBase ); //Mode7 + + +void swap(inout uint4 lhs, inout uint4 rhs) +{ + uint4 tmp = lhs; + lhs = rhs; + rhs = tmp; +} +void swap(inout uint3 lhs, inout uint3 rhs) +{ + uint3 tmp = lhs; + lhs = rhs; + rhs = tmp; +} +void swap(inout uint lhs, inout uint rhs) +{ + uint tmp = lhs; + lhs = rhs; + rhs = tmp; +} + +uint ComputeError(in uint4 a, in uint4 b) +{ + return dot(a.rgb, b.rgb) + g_alpha_weight * a.a*b.a; +} + +void Ensure_A_Is_Larger( inout uint4 a, inout uint4 b ) +{ + if ( a.x < b.x ) + swap( a.x, b.x ); + if ( a.y < b.y ) + swap( a.y, b.y ); + if ( a.z < b.z ) + swap( a.z, b.z ); + if ( a.w < b.w ) + swap( a.w, b.w ); +} + + +Texture2D g_Input : register( t0 ); +StructuredBuffer g_InBuff : register( t1 ); + +RWStructuredBuffer g_OutBuff : register( u0 ); + +#define THREAD_GROUP_SIZE 64 +#define BLOCK_SIZE_Y 4 +#define BLOCK_SIZE_X 4 +#define BLOCK_SIZE (BLOCK_SIZE_Y * BLOCK_SIZE_X) + +struct BufferShared +{ + uint4 pixel; + uint error; + uint mode; + uint partition; + uint index_selector; + uint rotation; + uint4 endPoint_low; + uint4 endPoint_high; + uint4 endPoint_low_quantized; + uint4 endPoint_high_quantized; +}; +groupshared BufferShared shared_temp[THREAD_GROUP_SIZE]; + +[numthreads( THREAD_GROUP_SIZE, 1, 1 )] +void TryMode456CS( uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID ) // mode 4 5 6 all have 1 subset per block, and fix-up index is always index 0 +{ + // we process 4 BC blocks per thread group + const uint MAX_USED_THREAD = 16; // pixels in a BC (block compressed) block + uint BLOCK_IN_GROUP = THREAD_GROUP_SIZE / MAX_USED_THREAD; // the number of BC blocks a thread group processes = 64 / 16 = 4 + uint blockInGroup = GI / MAX_USED_THREAD; // what BC block this thread is on within this thread group + uint blockID = g_start_block_id + groupID.x * BLOCK_IN_GROUP + blockInGroup; // what global BC block this thread is on + uint threadBase = blockInGroup * MAX_USED_THREAD; // the first id of the pixel in this BC block in this thread group + uint threadInBlock = GI - threadBase; // id of the pixel in this BC block + +#ifndef REF_DEVICE + if (blockID >= g_num_total_blocks) + { + return; + } +#endif + + uint block_y = blockID / g_num_block_x; + uint block_x = blockID - block_y * g_num_block_x; + uint base_x = block_x * BLOCK_SIZE_X; + uint base_y = block_y * BLOCK_SIZE_Y; + + if (threadInBlock < 16) + { + shared_temp[GI].pixel = clamp(uint4(g_Input.Load( uint3( base_x + threadInBlock % 4, base_y + threadInBlock / 4, 0 ) ) * 255), 0, 255); + + shared_temp[GI].endPoint_low = shared_temp[GI].pixel; + shared_temp[GI].endPoint_high = shared_temp[GI].pixel; + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + if (threadInBlock < 8) + { + shared_temp[GI].endPoint_low = min(shared_temp[GI].endPoint_low, shared_temp[GI + 8].endPoint_low); + shared_temp[GI].endPoint_high = max(shared_temp[GI].endPoint_high, shared_temp[GI + 8].endPoint_high); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 4) + { + shared_temp[GI].endPoint_low = min(shared_temp[GI].endPoint_low, shared_temp[GI + 4].endPoint_low); + shared_temp[GI].endPoint_high = max(shared_temp[GI].endPoint_high, shared_temp[GI + 4].endPoint_high); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 2) + { + shared_temp[GI].endPoint_low = min(shared_temp[GI].endPoint_low, shared_temp[GI + 2].endPoint_low); + shared_temp[GI].endPoint_high = max(shared_temp[GI].endPoint_high, shared_temp[GI + 2].endPoint_high); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 1) + { + shared_temp[GI].endPoint_low = min(shared_temp[GI].endPoint_low, shared_temp[GI + 1].endPoint_low); + shared_temp[GI].endPoint_high = max(shared_temp[GI].endPoint_high, shared_temp[GI + 1].endPoint_high); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + uint2x4 endPoint; + endPoint[0] = shared_temp[threadBase].endPoint_low; + endPoint[1] = shared_temp[threadBase].endPoint_high; + + uint error = 0xFFFFFFFF; + uint mode = 0; + uint index_selector = 0; + uint rotation = 0; + + uint2 indexPrec; + if (threadInBlock < 8) // all threads of threadInBlock < 8 will be working on trying out mode 4, since only mode 4 has index selector bit + { + if (0 == (threadInBlock & 1)) // thread 0, 2, 4, 6 + { + //2 represents 2bit index precision; 1 represents 3bit index precision + index_selector = 0; + indexPrec = uint2( 2, 1 ); + } + else // thread 1, 3, 5, 7 + { + //2 represents 2bit index precision; 1 represents 3bit index precision + index_selector = 1; + indexPrec = uint2( 1, 2 ); + } + } + else + { + //2 represents 2bit index precision + indexPrec = uint2( 2, 2 ); + } + + uint4 pixel_r; + uint color_index; + uint alpha_index; + int4 span; + int2 span_norm_sqr; + int2 dotProduct; + if (threadInBlock < 12) // Try mode 4 5 in threads 0..11 + { + // mode 4 5 have component rotation + if ((threadInBlock < 2) || (8 == threadInBlock)) // rotation = 0 in thread 0, 1 + { + rotation = 0; + } + else if ((threadInBlock < 4) || (9 == threadInBlock)) // rotation = 1 in thread 2, 3 + { + endPoint[0].ra = endPoint[0].ar; + endPoint[1].ra = endPoint[1].ar; + + rotation = 1; + } + else if ((threadInBlock < 6) || (10 == threadInBlock)) // rotation = 2 in thread 4, 5 + { + endPoint[0].ga = endPoint[0].ag; + endPoint[1].ga = endPoint[1].ag; + + rotation = 2; + } + else if ((threadInBlock < 8) || (11 == threadInBlock)) // rotation = 3 in thread 6, 7 + { + endPoint[0].ba = endPoint[0].ab; + endPoint[1].ba = endPoint[1].ab; + + rotation = 3; + } + + if (threadInBlock < 8) // try mode 4 in threads 0..7 + { + // mode 4 thread distribution + // Thread 0 1 2 3 4 5 6 7 + // Rotation 0 0 1 1 2 2 3 3 + // Index selector 0 1 0 1 0 1 0 1 + + mode = 4; + compress_endpoints4( endPoint ); + } + else // try mode 5 in threads 8..11 + { + // mode 5 thread distribution + // Thread 8 9 10 11 + // Rotation 0 1 2 3 + + mode = 5; + compress_endpoints5( endPoint ); + } + + uint4 pixel = shared_temp[threadBase + 0].pixel; + if (1 == rotation) + { + pixel.ra = pixel.ar; + } + else if (2 == rotation) + { + pixel.ga = pixel.ag; + } + else if (3 == rotation) + { + pixel.ba = pixel.ab; + } + + span = endPoint[1] - endPoint[0]; + span_norm_sqr = uint2( dot( span.rgb, span.rgb ), span.a * span.a ); + + // in mode 4 5 6, end point 0 must be closer to pixel 0 than end point 1, because of the fix-up index is always index 0 + // TODO: this shouldn't be necessary here in error calculation + /* + dotProduct = int2( dot( span.rgb, pixel.rgb - endPoint[0].rgb ), span.a * ( pixel.a - endPoint[0].a ) ); + if ( span_norm_sqr.x > 0 && dotProduct.x > 0 && uint( dotProduct.x * 63.49999 ) > uint( 32 * span_norm_sqr.x ) ) + { + span.rgb = -span.rgb; + swap(endPoint[0].rgb, endPoint[1].rgb); + } + if ( span_norm_sqr.y > 0 && dotProduct.y > 0 && uint( dotProduct.y * 63.49999 ) > uint( 32 * span_norm_sqr.y ) ) + { + span.a = -span.a; + swap(endPoint[0].a, endPoint[1].a); + } + */ + + // should be the same as above + dotProduct = int2( dot( pixel.rgb - endPoint[0].rgb, pixel.rgb - endPoint[0].rgb ), dot( pixel.rgb - endPoint[1].rgb, pixel.rgb - endPoint[1].rgb ) ); + if ( dotProduct.x > dotProduct.y ) + { + span.rgb = -span.rgb; + swap(endPoint[0].rgb, endPoint[1].rgb); + } + dotProduct = int2( dot( pixel.a - endPoint[0].a, pixel.a - endPoint[0].a ), dot( pixel.a - endPoint[1].a, pixel.a - endPoint[1].a ) ); + if ( dotProduct.x > dotProduct.y ) + { + span.a = -span.a; + swap(endPoint[0].a, endPoint[1].a); + } + + error = 0; + for ( uint i = 0; i < 16; i ++ ) + { + pixel = shared_temp[threadBase + i].pixel; + if (1 == rotation) + { + pixel.ra = pixel.ar; + } + else if (2 == rotation) + { + pixel.ga = pixel.ag; + } + else if (3 == rotation) + { + pixel.ba = pixel.ab; + } + + dotProduct.x = dot( span.rgb, pixel.rgb - endPoint[0].rgb ); + color_index = ( span_norm_sqr.x <= 0 /*endPoint[0] == endPoint[1]*/ || dotProduct.x <= 0 /*pixel == endPoint[0]*/ ) ? 0 + : ( ( dotProduct.x < span_norm_sqr.x ) ? aStep[indexPrec.x][ uint( dotProduct.x * 63.49999 / span_norm_sqr.x ) ] : aStep[indexPrec.x][63] ); + dotProduct.y = dot( span.a, pixel.a - endPoint[0].a ); + alpha_index = ( span_norm_sqr.y <= 0 || dotProduct.y <= 0 ) ? 0 + : ( ( dotProduct.y < span_norm_sqr.y ) ? aStep[indexPrec.y][ uint( dotProduct.y * 63.49999 / span_norm_sqr.y ) ] : aStep[indexPrec.y][63] ); + + // the same color_index and alpha_index should be used for reconstruction, so this should be left commented out + /*if (index_selector) + { + swap(color_index, alpha_index); + }*/ + + pixel_r.rgb = ( ( 64 - aWeight[indexPrec.x][color_index] ) * endPoint[0].rgb + + aWeight[indexPrec.x][color_index] * endPoint[1].rgb + + 32 ) >> 6; + pixel_r.a = ( ( 64 - aWeight[indexPrec.y][alpha_index] ) * endPoint[0].a + + aWeight[indexPrec.y][alpha_index] * endPoint[1].a + + 32 ) >> 6; + + Ensure_A_Is_Larger( pixel_r, pixel ); + pixel_r -= pixel; + if (1 == rotation) + { + pixel_r.ra = pixel_r.ar; + } + else if (2 == rotation) + { + pixel_r.ga = pixel_r.ag; + } + else if (3 == rotation) + { + pixel_r.ba = pixel_r.ab; + } + error += ComputeError(pixel_r, pixel_r); + } + } + else if (threadInBlock < 16) // Try mode 6 in threads 12..15, since in mode 4 5 6, only mode 6 has p bit + { + uint p = threadInBlock - 12; + + compress_endpoints6( endPoint, uint2(p >> 0, p >> 1) & 1 ); + + uint4 pixel = shared_temp[threadBase + 0].pixel; + + span = endPoint[1] - endPoint[0]; + span_norm_sqr = dot( span, span ); + dotProduct = dot( span, pixel - endPoint[0] ); + if ( span_norm_sqr.x > 0 && dotProduct.x >= 0 && uint( dotProduct.x * 63.49999 ) > uint( 32 * span_norm_sqr.x ) ) + { + span = -span; + swap(endPoint[0], endPoint[1]); + } + + error = 0; + for ( uint i = 0; i < 16; i ++ ) + { + pixel = shared_temp[threadBase + i].pixel; + + dotProduct.x = dot( span, pixel - endPoint[0] ); + color_index = ( span_norm_sqr.x <= 0 || dotProduct.x <= 0 ) ? 0 + : ( ( dotProduct.x < span_norm_sqr.x ) ? aStep[0][ uint( dotProduct.x * 63.49999 / span_norm_sqr.x ) ] : aStep[0][63] ); + + pixel_r = ( ( 64 - aWeight[0][color_index] ) * endPoint[0] + + aWeight[0][color_index] * endPoint[1] + 32 ) >> 6; + + Ensure_A_Is_Larger( pixel_r, pixel ); + pixel_r -= pixel; + error += ComputeError(pixel_r, pixel_r); + } + + mode = 6; + rotation = p; // Borrow rotation for p + } + + shared_temp[GI].error = error; + shared_temp[GI].mode = mode; + shared_temp[GI].index_selector = index_selector; + shared_temp[GI].rotation = rotation; + +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + if (threadInBlock < 8) + { + if ( shared_temp[GI].error > shared_temp[GI + 8].error ) + { + shared_temp[GI].error = shared_temp[GI + 8].error; + shared_temp[GI].mode = shared_temp[GI + 8].mode; + shared_temp[GI].index_selector = shared_temp[GI + 8].index_selector; + shared_temp[GI].rotation = shared_temp[GI + 8].rotation; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 4) + { + if ( shared_temp[GI].error > shared_temp[GI + 4].error ) + { + shared_temp[GI].error = shared_temp[GI + 4].error; + shared_temp[GI].mode = shared_temp[GI + 4].mode; + shared_temp[GI].index_selector = shared_temp[GI + 4].index_selector; + shared_temp[GI].rotation = shared_temp[GI + 4].rotation; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 2) + { + if ( shared_temp[GI].error > shared_temp[GI + 2].error ) + { + shared_temp[GI].error = shared_temp[GI + 2].error; + shared_temp[GI].mode = shared_temp[GI + 2].mode; + shared_temp[GI].index_selector = shared_temp[GI + 2].index_selector; + shared_temp[GI].rotation = shared_temp[GI + 2].rotation; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 1) + { + if ( shared_temp[GI].error > shared_temp[GI + 1].error ) + { + shared_temp[GI].error = shared_temp[GI + 1].error; + shared_temp[GI].mode = shared_temp[GI + 1].mode; + shared_temp[GI].index_selector = shared_temp[GI + 1].index_selector; + shared_temp[GI].rotation = shared_temp[GI + 1].rotation; + } + + g_OutBuff[blockID] = uint4(shared_temp[GI].error, (shared_temp[GI].index_selector << 31) | shared_temp[GI].mode, + 0, shared_temp[GI].rotation); // rotation is indeed rotation for mode 4 5. for mode 6, rotation is p bit + } +} + +[numthreads( THREAD_GROUP_SIZE, 1, 1 )] +void TryMode137CS( uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID ) // mode 1 3 7 all have 2 subsets per block +{ + const uint MAX_USED_THREAD = 64; + uint BLOCK_IN_GROUP = THREAD_GROUP_SIZE / MAX_USED_THREAD; + uint blockInGroup = GI / MAX_USED_THREAD; + uint blockID = g_start_block_id + groupID.x * BLOCK_IN_GROUP + blockInGroup; + uint threadBase = blockInGroup * MAX_USED_THREAD; + uint threadInBlock = GI - threadBase; + + uint block_y = blockID / g_num_block_x; + uint block_x = blockID - block_y * g_num_block_x; + uint base_x = block_x * BLOCK_SIZE_X; + uint base_y = block_y * BLOCK_SIZE_Y; + + if (threadInBlock < 16) + { + shared_temp[GI].pixel = clamp(uint4(g_Input.Load( uint3( base_x + threadInBlock % 4, base_y + threadInBlock / 4, 0 ) ) * 255), 0, 255); + } + GroupMemoryBarrierWithGroupSync(); + + shared_temp[GI].error = 0xFFFFFFFF; + + uint4 pixel_r; + uint2x4 endPoint[2]; // endPoint[0..1 for subset id][0..1 for low and high in the subset] + uint2x4 endPointBackup[2]; + uint color_index; + if (threadInBlock < 64) + { + uint partition = threadInBlock; + + endPoint[0][0] = MAX_UINT; + endPoint[0][1] = MIN_UINT; + endPoint[1][0] = MAX_UINT; + endPoint[1][1] = MIN_UINT; + uint bits = candidateSectionBit[partition]; + for ( uint i = 0; i < 16; i ++ ) + { + uint4 pixel = shared_temp[threadBase + i].pixel; + if ( (( bits >> i ) & 0x01) == 1 ) + { + endPoint[1][0] = min( endPoint[1][0], pixel ); + endPoint[1][1] = max( endPoint[1][1], pixel ); + } + else + { + endPoint[0][0] = min( endPoint[0][0], pixel ); + endPoint[0][1] = max( endPoint[0][1], pixel ); + } + } + + endPointBackup[0] = endPoint[0]; + endPointBackup[1] = endPoint[1]; + + uint max_p; + if (1 == g_mode_id) + { + // in mode 1, there is only one p bit per subset + max_p = 4; + } + else + { + // in mode 3 7, there are two p bits per subset, one for each end point + max_p = 16; + } + + uint rotation = 0; + uint error = MAX_UINT; + for ( uint p = 0; p < max_p; p ++ ) + { + endPoint[0] = endPointBackup[0]; + endPoint[1] = endPointBackup[1]; + + for ( i = 0; i < 2; i ++ ) // loop through 2 subsets + { + if (g_mode_id == 1) + { + compress_endpoints1( endPoint[i], (p >> i) & 1 ); + } + else if (g_mode_id == 3) + { + compress_endpoints3( endPoint[i], uint2(p >> (i * 2 + 0), p >> (i * 2 + 1)) & 1 ); + } + else if (g_mode_id == 7) + { + compress_endpoints7( endPoint[i], uint2(p >> (i * 2 + 0), p >> (i * 2 + 1)) & 1 ); + } + } + + int4 span[2]; + span[0] = endPoint[0][1] - endPoint[0][0]; + span[1] = endPoint[1][1] - endPoint[1][0]; + + if (g_mode_id != 7) + { + span[0].w = span[1].w = 0; + } + + int span_norm_sqr[2]; + span_norm_sqr[0] = dot( span[0], span[0] ); + span_norm_sqr[1] = dot( span[1], span[1] ); + + // TODO: again, this shouldn't be necessary here in error calculation + int dotProduct = dot( span[0], shared_temp[threadBase + 0].pixel - endPoint[0][0] ); + if ( span_norm_sqr[0] > 0 && dotProduct > 0 && uint( dotProduct * 63.49999 ) > uint( 32 * span_norm_sqr[0] ) ) + { + span[0] = -span[0]; + swap(endPoint[0][0], endPoint[0][1]); + } + dotProduct = dot( span[1], shared_temp[threadBase + candidateFixUpIndex1D[partition].x].pixel - endPoint[1][0] ); + if ( span_norm_sqr[1] > 0 && dotProduct > 0 && uint( dotProduct * 63.49999 ) > uint( 32 * span_norm_sqr[1] ) ) + { + span[1] = -span[1]; + swap(endPoint[1][0], endPoint[1][1]); + } + + uint step_selector; + if (g_mode_id != 1) + { + step_selector = 2; // mode 3 7 have 2 bit index + } + else + { + step_selector = 1; // mode 1 has 3 bit index + } + + uint p_error = 0; + for ( i = 0; i < 16; i ++ ) + { + if (((bits >> i) & 0x01) == 1) + { + dotProduct = dot( span[1], shared_temp[threadBase + i].pixel - endPoint[1][0] ); + color_index = (span_norm_sqr[1] <= 0 || dotProduct <= 0) ? 0 + : ((dotProduct < span_norm_sqr[1]) ? aStep[step_selector][uint(dotProduct * 63.49999 / span_norm_sqr[1])] : aStep[step_selector][63]); + } + else + { + dotProduct = dot( span[0], shared_temp[threadBase + i].pixel - endPoint[0][0] ); + color_index = (span_norm_sqr[0] <= 0 || dotProduct <= 0) ? 0 + : ((dotProduct < span_norm_sqr[0]) ? aStep[step_selector][uint(dotProduct * 63.49999 / span_norm_sqr[0])] : aStep[step_selector][63]); + } + + uint subset_index = (bits >> i) & 0x01; + + pixel_r = ((64 - aWeight[step_selector][color_index]) * endPoint[subset_index][0] + + aWeight[step_selector][color_index] * endPoint[subset_index][1] + 32) >> 6; + if (g_mode_id != 7) + { + pixel_r.a = 255; + } + + uint4 pixel = shared_temp[threadBase + i].pixel; + Ensure_A_Is_Larger( pixel_r, pixel ); + pixel_r -= pixel; + p_error += ComputeError(pixel_r, pixel_r); + } + + if (p_error < error) + { + error = p_error; + rotation = p; + } + } + + shared_temp[GI].error = error; + shared_temp[GI].mode = g_mode_id; + shared_temp[GI].partition = partition; + shared_temp[GI].rotation = rotation; // mode 1 3 7 don't have rotation, we use rotation for p bits + } + GroupMemoryBarrierWithGroupSync(); + + if (threadInBlock < 32) + { + if ( shared_temp[GI].error > shared_temp[GI + 32].error ) + { + shared_temp[GI].error = shared_temp[GI + 32].error; + shared_temp[GI].mode = shared_temp[GI + 32].mode; + shared_temp[GI].partition = shared_temp[GI + 32].partition; + shared_temp[GI].rotation = shared_temp[GI + 32].rotation; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif +if (threadInBlock < 16) + { + if ( shared_temp[GI].error > shared_temp[GI + 16].error ) + { + shared_temp[GI].error = shared_temp[GI + 16].error; + shared_temp[GI].mode = shared_temp[GI + 16].mode; + shared_temp[GI].partition = shared_temp[GI + 16].partition; + shared_temp[GI].rotation = shared_temp[GI + 16].rotation; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 8) + { + if ( shared_temp[GI].error > shared_temp[GI + 8].error ) + { + shared_temp[GI].error = shared_temp[GI + 8].error; + shared_temp[GI].mode = shared_temp[GI + 8].mode; + shared_temp[GI].partition = shared_temp[GI + 8].partition; + shared_temp[GI].rotation = shared_temp[GI + 8].rotation; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 4) + { + if ( shared_temp[GI].error > shared_temp[GI + 4].error ) + { + shared_temp[GI].error = shared_temp[GI + 4].error; + shared_temp[GI].mode = shared_temp[GI + 4].mode; + shared_temp[GI].partition = shared_temp[GI + 4].partition; + shared_temp[GI].rotation = shared_temp[GI + 4].rotation; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 2) + { + if ( shared_temp[GI].error > shared_temp[GI + 2].error ) + { + shared_temp[GI].error = shared_temp[GI + 2].error; + shared_temp[GI].mode = shared_temp[GI + 2].mode; + shared_temp[GI].partition = shared_temp[GI + 2].partition; + shared_temp[GI].rotation = shared_temp[GI + 2].rotation; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 1) + { + if ( shared_temp[GI].error > shared_temp[GI + 1].error ) + { + shared_temp[GI].error = shared_temp[GI + 1].error; + shared_temp[GI].mode = shared_temp[GI + 1].mode; + shared_temp[GI].partition = shared_temp[GI + 1].partition; + shared_temp[GI].rotation = shared_temp[GI + 1].rotation; + } + + if (g_InBuff[blockID].x > shared_temp[GI].error) + { + g_OutBuff[blockID] = uint4(shared_temp[GI].error, shared_temp[GI].mode, shared_temp[GI].partition, shared_temp[GI].rotation); // mode 1 3 7 don't have rotation, we use rotation for p bits + } + else + { + g_OutBuff[blockID] = g_InBuff[blockID]; + } + } +} + +[numthreads( THREAD_GROUP_SIZE, 1, 1 )] +void TryMode02CS( uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID ) // mode 0 2 have 3 subsets per block +{ + const uint MAX_USED_THREAD = 64; + uint BLOCK_IN_GROUP = THREAD_GROUP_SIZE / MAX_USED_THREAD; + uint blockInGroup = GI / MAX_USED_THREAD; + uint blockID = g_start_block_id + groupID.x * BLOCK_IN_GROUP + blockInGroup; + uint threadBase = blockInGroup * MAX_USED_THREAD; + uint threadInBlock = GI - threadBase; + + uint block_y = blockID / g_num_block_x; + uint block_x = blockID - block_y * g_num_block_x; + uint base_x = block_x * BLOCK_SIZE_X; + uint base_y = block_y * BLOCK_SIZE_Y; + + if (threadInBlock < 16) + { + shared_temp[GI].pixel = clamp(uint4(g_Input.Load( uint3( base_x + threadInBlock % 4, base_y + threadInBlock / 4, 0 ) ) * 255), 0, 255); + } + GroupMemoryBarrierWithGroupSync(); + + shared_temp[GI].error = 0xFFFFFFFF; + + uint num_partitions; + if (0 == g_mode_id) + { + num_partitions = 16; + } + else + { + num_partitions = 64; + } + + uint4 pixel_r; + uint2x4 endPoint[3]; // endPoint[0..1 for subset id][0..1 for low and high in the subset] + uint2x4 endPointBackup[3]; + uint color_index[16]; + if (threadInBlock < num_partitions) + { + uint partition = threadInBlock + 64; + + endPoint[0][0] = MAX_UINT; + endPoint[0][1] = MIN_UINT; + endPoint[1][0] = MAX_UINT; + endPoint[1][1] = MIN_UINT; + endPoint[2][0] = MAX_UINT; + endPoint[2][1] = MIN_UINT; + uint bits2 = candidateSectionBit2[partition - 64]; + for ( uint i = 0; i < 16; i ++ ) + { + uint4 pixel = shared_temp[threadBase + i].pixel; + uint subset_index = ( bits2 >> ( i * 2 ) ) & 0x03; + if ( subset_index == 2 ) + { + endPoint[2][0] = min( endPoint[2][0], pixel ); + endPoint[2][1] = max( endPoint[2][1], pixel ); + } + else if ( subset_index == 1 ) + { + endPoint[1][0] = min( endPoint[1][0], pixel ); + endPoint[1][1] = max( endPoint[1][1], pixel ); + } + else + { + endPoint[0][0] = min( endPoint[0][0], pixel ); + endPoint[0][1] = max( endPoint[0][1], pixel ); + } + } + + endPointBackup[0] = endPoint[0]; + endPointBackup[1] = endPoint[1]; + endPointBackup[2] = endPoint[2]; + + uint max_p; + if (0 == g_mode_id) + { + max_p = 64; // changed from 32 to 64 + } + else + { + max_p = 1; + } + + uint rotation = 0; + uint error = MAX_UINT; + for ( uint p = 0; p < max_p; p ++ ) + { + endPoint[0] = endPointBackup[0]; + endPoint[1] = endPointBackup[1]; + endPoint[2] = endPointBackup[2]; + + for ( i = 0; i < 3; i ++ ) + { + if (0 == g_mode_id) + { + compress_endpoints0( endPoint[i], uint2(p >> (i * 2 + 0), p >> (i * 2 + 1)) & 1 ); + } + else + { + compress_endpoints2( endPoint[i] ); + } + } + + uint step_selector = 1 + (2 == g_mode_id); + + int4 span[3]; + span[0] = endPoint[0][1] - endPoint[0][0]; + span[1] = endPoint[1][1] - endPoint[1][0]; + span[2] = endPoint[2][1] - endPoint[2][0]; + span[0].w = span[1].w = span[2].w = 0; + int span_norm_sqr[3]; + span_norm_sqr[0] = dot( span[0], span[0] ); + span_norm_sqr[1] = dot( span[1], span[1] ); + span_norm_sqr[2] = dot( span[2], span[2] ); + + // TODO: again, this shouldn't be necessary here in error calculation + uint ci[3] = { 0, candidateFixUpIndex1D[partition].x, candidateFixUpIndex1D[partition].y }; + for (i = 0; i < 3; i ++) + { + int dotProduct = dot( span[i], shared_temp[threadBase + ci[i]].pixel - endPoint[i][0] ); + if ( span_norm_sqr[i] > 0 && dotProduct > 0 && uint( dotProduct * 63.49999 ) > uint( 32 * span_norm_sqr[i] ) ) + { + span[i] = -span[i]; + swap(endPoint[i][0], endPoint[i][1]); + } + } + + uint p_error = 0; + for ( i = 0; i < 16; i ++ ) + { + uint subset_index = ( bits2 >> ( i * 2 ) ) & 0x03; + if ( subset_index == 2 ) + { + int dotProduct = dot( span[2], shared_temp[threadBase + i].pixel - endPoint[2][0] ); + color_index[i] = ( span_norm_sqr[2] <= 0 || dotProduct <= 0 ) ? 0 + : ( ( dotProduct < span_norm_sqr[2] ) ? aStep[step_selector][ uint( dotProduct * 63.49999 / span_norm_sqr[2] ) ] : aStep[step_selector][63] ); + } + else if ( subset_index == 1 ) + { + int dotProduct = dot( span[1], shared_temp[threadBase + i].pixel - endPoint[1][0] ); + color_index[i] = ( span_norm_sqr[1] <= 0 || dotProduct <= 0 ) ? 0 + : ( ( dotProduct < span_norm_sqr[1] ) ? aStep[step_selector][ uint( dotProduct * 63.49999 / span_norm_sqr[1] ) ] : aStep[step_selector][63] ); + } + else + { + int dotProduct = dot( span[0], shared_temp[threadBase + i].pixel - endPoint[0][0] ); + color_index[i] = ( span_norm_sqr[0] <= 0 || dotProduct <= 0 ) ? 0 + : ( ( dotProduct < span_norm_sqr[0] ) ? aStep[step_selector][ uint( dotProduct * 63.49999 / span_norm_sqr[0] ) ] : aStep[step_selector][63] ); + } + + pixel_r = ( ( 64 - aWeight[step_selector][color_index[i]] ) * endPoint[subset_index][0] + + aWeight[step_selector][color_index[i]] * endPoint[subset_index][1] + 32 ) >> 6; + pixel_r.a = 255; + + uint4 pixel = shared_temp[threadBase + i].pixel; + Ensure_A_Is_Larger( pixel_r, pixel ); + pixel_r -= pixel; + p_error += ComputeError(pixel_r, pixel_r); + } + + if (p_error < error) + { + error = p_error; + rotation = p; // Borrow rotation for p + } + } + + shared_temp[GI].error = error; + shared_temp[GI].partition = partition; + shared_temp[GI].rotation = rotation; + } + GroupMemoryBarrierWithGroupSync(); + + if (threadInBlock < 32) + { + if ( shared_temp[GI].error > shared_temp[GI + 32].error ) + { + shared_temp[GI].error = shared_temp[GI + 32].error; + shared_temp[GI].partition = shared_temp[GI + 32].partition; + shared_temp[GI].rotation = shared_temp[GI + 32].rotation; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 16) + { + if ( shared_temp[GI].error > shared_temp[GI + 16].error ) + { + shared_temp[GI].error = shared_temp[GI + 16].error; + shared_temp[GI].partition = shared_temp[GI + 16].partition; + shared_temp[GI].rotation = shared_temp[GI + 16].rotation; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 8) + { + if ( shared_temp[GI].error > shared_temp[GI + 8].error ) + { + shared_temp[GI].error = shared_temp[GI + 8].error; + shared_temp[GI].partition = shared_temp[GI + 8].partition; + shared_temp[GI].rotation = shared_temp[GI + 8].rotation; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 4) + { + if ( shared_temp[GI].error > shared_temp[GI + 4].error ) + { + shared_temp[GI].error = shared_temp[GI + 4].error; + shared_temp[GI].partition = shared_temp[GI + 4].partition; + shared_temp[GI].rotation = shared_temp[GI + 4].rotation; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 2) + { + if ( shared_temp[GI].error > shared_temp[GI + 2].error ) + { + shared_temp[GI].error = shared_temp[GI + 2].error; + shared_temp[GI].partition = shared_temp[GI + 2].partition; + shared_temp[GI].rotation = shared_temp[GI + 2].rotation; + } + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 1) + { + if ( shared_temp[GI].error > shared_temp[GI + 1].error ) + { + shared_temp[GI].error = shared_temp[GI + 1].error; + shared_temp[GI].partition = shared_temp[GI + 1].partition; + shared_temp[GI].rotation = shared_temp[GI + 1].rotation; + } + + if (g_InBuff[blockID].x > shared_temp[GI].error) + { + g_OutBuff[blockID] = uint4(shared_temp[GI].error, g_mode_id, shared_temp[GI].partition, shared_temp[GI].rotation); // rotation is actually p bit for mode 0. for mode 2, rotation is always 0 + } + else + { + g_OutBuff[blockID] = g_InBuff[blockID]; + } + } +} + +[numthreads( THREAD_GROUP_SIZE, 1, 1 )] +void EncodeBlockCS(uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID) +{ + const uint MAX_USED_THREAD = 16; + uint BLOCK_IN_GROUP = THREAD_GROUP_SIZE / MAX_USED_THREAD; + uint blockInGroup = GI / MAX_USED_THREAD; + uint blockID = g_start_block_id + groupID.x * BLOCK_IN_GROUP + blockInGroup; + uint threadBase = blockInGroup * MAX_USED_THREAD; + uint threadInBlock = GI - threadBase; + +#ifndef REF_DEVICE + if (blockID >= g_num_total_blocks) + { + return; + } +#endif + + uint block_y = blockID / g_num_block_x; + uint block_x = blockID - block_y * g_num_block_x; + uint base_x = block_x * BLOCK_SIZE_X; + uint base_y = block_y * BLOCK_SIZE_Y; + + uint mode = g_InBuff[blockID].y & 0x7FFFFFFF; + uint partition = g_InBuff[blockID].z; + uint index_selector = (g_InBuff[blockID].y >> 31) & 1; + uint rotation = g_InBuff[blockID].w; + + if (threadInBlock < 16) + { + uint4 pixel = clamp(uint4(g_Input.Load( uint3( base_x + threadInBlock % 4, base_y + threadInBlock / 4, 0 ) ) * 255), 0, 255); + + if ((4 == mode) || (5 == mode)) + { + if (1 == rotation) + { + pixel.ra = pixel.ar; + } + else if (2 == rotation) + { + pixel.ga = pixel.ag; + } + else if (3 == rotation) + { + pixel.ba = pixel.ab; + } + } + + shared_temp[GI].pixel = pixel; + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + uint bits = candidateSectionBit[partition]; + uint bits2 = candidateSectionBit2[partition - 64]; + + uint2x4 ep; + uint2x4 ep_quantized; + [unroll] + for (int ii = 2; ii >= 0; -- ii) + { + if (threadInBlock < 16) + { + uint2x4 ep; + ep[0] = MAX_UINT; + ep[1] = MIN_UINT; + + uint4 pixel = shared_temp[GI].pixel; + + uint subset_index = ( bits >> threadInBlock ) & 0x01; + uint subset_index2 = ( bits2 >> ( threadInBlock * 2 ) ) & 0x03; + if (0 == ii) + { + if ((0 == mode) || (2 == mode)) + { + if (0 == subset_index2) + { + ep[0] = ep[1] = pixel; + } + } + else if ((1 == mode) || (3 == mode) || (7 == mode)) + { + if (0 == subset_index) + { + ep[0] = ep[1] = pixel; + } + } + else if ((4 == mode) || (5 == mode) || (6 == mode)) + { + ep[0] = ep[1] = pixel; + } + } + else if (1 == ii) + { + if ((0 == mode) || (2 == mode)) + { + if (1 == subset_index2) + { + ep[0] = ep[1] = pixel; + } + } + else if ((1 == mode) || (3 == mode) || (7 == mode)) + { + if (1 == subset_index) + { + ep[0] = ep[1] = pixel; + } + } + } + else + { + if ((0 == mode) || (2 == mode)) + { + if (2 == subset_index2) + { + ep[0] = ep[1] = pixel; + } + } + } + + shared_temp[GI].endPoint_low = ep[0]; + shared_temp[GI].endPoint_high = ep[1]; + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + if (threadInBlock < 8) + { + shared_temp[GI].endPoint_low = min(shared_temp[GI].endPoint_low, shared_temp[GI + 8].endPoint_low); + shared_temp[GI].endPoint_high = max(shared_temp[GI].endPoint_high, shared_temp[GI + 8].endPoint_high); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 4) + { + shared_temp[GI].endPoint_low = min(shared_temp[GI].endPoint_low, shared_temp[GI + 4].endPoint_low); + shared_temp[GI].endPoint_high = max(shared_temp[GI].endPoint_high, shared_temp[GI + 4].endPoint_high); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 2) + { + shared_temp[GI].endPoint_low = min(shared_temp[GI].endPoint_low, shared_temp[GI + 2].endPoint_low); + shared_temp[GI].endPoint_high = max(shared_temp[GI].endPoint_high, shared_temp[GI + 2].endPoint_high); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + if (threadInBlock < 1) + { + shared_temp[GI].endPoint_low = min(shared_temp[GI].endPoint_low, shared_temp[GI + 1].endPoint_low); + shared_temp[GI].endPoint_high = max(shared_temp[GI].endPoint_high, shared_temp[GI + 1].endPoint_high); + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + if (ii == (int)threadInBlock) + { + ep[0] = shared_temp[threadBase].endPoint_low; + ep[1] = shared_temp[threadBase].endPoint_high; + } + } + + if (threadInBlock < 3) + { + uint2 P; + if (1 == mode) + { + P = (rotation >> threadInBlock) & 1; + } + else + { + P = uint2(rotation >> (threadInBlock * 2 + 0), rotation >> (threadInBlock * 2 + 1)) & 1; + } + + if (0 == mode) + { + ep_quantized = compress_endpoints0( ep, P ); + } + else if (1 == mode) + { + ep_quantized = compress_endpoints1( ep, P ); + } + else if (2 == mode) + { + ep_quantized = compress_endpoints2( ep ); + } + else if (3 == mode) + { + ep_quantized = compress_endpoints3( ep, P ); + } + else if (4 == mode) + { + ep_quantized = compress_endpoints4( ep ); + } + else if (5 == mode) + { + ep_quantized = compress_endpoints5( ep ); + } + else if (6 == mode) + { + ep_quantized = compress_endpoints6( ep, P ); + } + else //if (7 == mode) + { + ep_quantized = compress_endpoints7( ep, P ); + } + + int4 span = ep[1] - ep[0]; + if (mode < 4) + { + span.w = 0; + } + + if ((4 == mode) || (5 == mode)) + { + if (0 == threadInBlock) + { + int2 span_norm_sqr = uint2( dot( span.rgb, span.rgb ), span.a * span.a ); + int2 dotProduct = int2( dot( span.rgb, shared_temp[threadBase + 0].pixel.rgb - ep[0].rgb ), span.a * ( shared_temp[threadBase + 0].pixel.a - ep[0].a ) ); + if ( span_norm_sqr.x > 0 && dotProduct.x > 0 && uint( dotProduct.x * 63.49999 ) > uint( 32 * span_norm_sqr.x ) ) + { + swap(ep[0].rgb, ep[1].rgb); + swap(ep_quantized[0].rgb, ep_quantized[1].rgb); + } + if ( span_norm_sqr.y > 0 && dotProduct.y > 0 && uint( dotProduct.y * 63.49999 ) > uint( 32 * span_norm_sqr.y ) ) + { + swap(ep[0].a, ep[1].a); + swap(ep_quantized[0].a, ep_quantized[1].a); + } + } + } + else //if ((0 == mode) || (2 == mode) || (1 == mode) || (3 == mode) || (7 == mode) || (6 == mode)) + { + int p; + if (0 == threadInBlock) + { + p = 0; + } + else if (1 == threadInBlock) + { + p = candidateFixUpIndex1D[partition].x; + } + else //if (2 == threadInBlock) + { + p = candidateFixUpIndex1D[partition].y; + } + + int span_norm_sqr = dot( span, span ); + int dotProduct = dot( span, shared_temp[threadBase + p].pixel - ep[0] ); + if ( span_norm_sqr > 0 && dotProduct > 0 && uint( dotProduct * 63.49999 ) > uint( 32 * span_norm_sqr ) ) + { + swap(ep[0], ep[1]); + swap(ep_quantized[0], ep_quantized[1]); + } + } + + shared_temp[GI].endPoint_low = ep[0]; + shared_temp[GI].endPoint_high = ep[1]; + shared_temp[GI].endPoint_low_quantized = ep_quantized[0]; + shared_temp[GI].endPoint_high_quantized = ep_quantized[1]; + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + if (threadInBlock < 16) + { + uint color_index = 0; + uint alpha_index = 0; + + uint2x4 ep; + + uint2 indexPrec; + if ((0 == mode) || (1 == mode)) + { + indexPrec = 1; + } + else if (6 == mode) + { + indexPrec = 0; + } + else if (4 == mode) + { + if (0 == index_selector) + { + indexPrec = uint2(2, 1); + } + else + { + indexPrec = uint2(1, 2); + } + } + else + { + indexPrec = 2; + } + + int subset_index; + if ((0 == mode) || (2 == mode)) + { + subset_index = (bits2 >> (threadInBlock * 2)) & 0x03; + } + else if ((1 == mode) || (3 == mode) || (7 == mode)) + { + subset_index = (bits >> threadInBlock) & 0x01; + } + else + { + subset_index = 0; + } + + ep[0] = shared_temp[threadBase + subset_index].endPoint_low; + ep[1] = shared_temp[threadBase + subset_index].endPoint_high; + + int4 span = ep[1] - ep[0]; + if (mode < 4) + { + span.w = 0; + } + + if ((4 == mode) || (5 == mode)) + { + int2 span_norm_sqr; + span_norm_sqr.x = dot( span.rgb, span.rgb ); + span_norm_sqr.y = span.a * span.a; + + int dotProduct = dot( span.rgb, shared_temp[threadBase + threadInBlock].pixel.rgb - ep[0].rgb ); + color_index = ( span_norm_sqr.x <= 0 || dotProduct <= 0 ) ? 0 + : ( ( dotProduct < span_norm_sqr.x ) ? aStep[indexPrec.x][ uint( dotProduct * 63.49999 / span_norm_sqr.x ) ] : aStep[indexPrec.x][63] ); + dotProduct = dot( span.a, shared_temp[threadBase + threadInBlock].pixel.a - ep[0].a ); + alpha_index = ( span_norm_sqr.y <= 0 || dotProduct <= 0 ) ? 0 + : ( ( dotProduct < span_norm_sqr.y ) ? aStep[indexPrec.y][ uint( dotProduct * 63.49999 / span_norm_sqr.y ) ] : aStep[indexPrec.y][63] ); + + if (index_selector) + { + swap(color_index, alpha_index); + } + } + else + { + int span_norm_sqr = dot( span, span ); + + int dotProduct = dot( span, shared_temp[threadBase + threadInBlock].pixel - ep[0] ); + color_index = ( span_norm_sqr <= 0 || dotProduct <= 0 ) ? 0 + : ( ( dotProduct < span_norm_sqr ) ? aStep[indexPrec.x][ uint( dotProduct * 63.49999 / span_norm_sqr ) ] : aStep[indexPrec.x][63] ); + } + + shared_temp[GI].error = color_index; + shared_temp[GI].mode = alpha_index; + } +#ifdef REF_DEVICE + GroupMemoryBarrierWithGroupSync(); +#endif + + if (0 == threadInBlock) + { + uint4 block; + if (0 == mode) + { + block_package0( block, partition, threadBase ); + } + else if (1 == mode) + { + block_package1( block, partition, threadBase ); + } + else if (2 == mode) + { + block_package2( block, partition, threadBase ); + } + else if (3 == mode) + { + block_package3( block, partition, threadBase ); + } + else if (4 == mode) + { + block_package4( block, rotation, index_selector, threadBase ); + } + else if (5 == mode) + { + block_package5( block, rotation, threadBase ); + } + else if (6 == mode) + { + block_package6( block, threadBase ); + } + else //if (7 == mode) + { + block_package7( block, partition, threadBase ); + } + + g_OutBuff[blockID] = block; + } +} + +//uint4 truncate_and_round( uint4 color, uint bits) +//{ +// uint precisionMask = ((1 << bits) - 1) << (8 - bits); +// uint precisionHalf = (1 << (7-bits)); +// +// uint4 truncated = color & precisionMask; +// uint4 rounded = min(255, color + precisionHalf) & precisionMask; +// +// uint4 truncated_bak = truncated = truncated | (truncated >> bits); +// uint4 rounded_bak = rounded = rounded | (rounded >> bits); +// +// uint4 color_bak = color; +// +// Ensure_A_Is_Larger( rounded, color ); +// Ensure_A_Is_Larger( truncated, color_bak ); +// +// if (dot(rounded - color, rounded - color) < +// dot(truncated - color_bak, truncated - color_bak)) +// { +// return rounded_bak; +// } +// else +// { +// return truncated_bak; +// } +//} + +uint4 quantize( uint4 color, uint uPrec ) +{ + uint4 rnd = min(255, color + (1 << (7 - uPrec))); + return rnd >> (8 - uPrec); +} + +uint4 unquantize( uint4 color, uint uPrec ) +{ + color = color << (8 - uPrec); + return color | (color >> uPrec); +} + +uint2x4 compress_endpoints0( inout uint2x4 endPoint, uint2 P ) +{ + uint2x4 quantized; + for ( uint j = 0; j < 2; j ++ ) + { + quantized[j].rgb = quantize(endPoint[j].rgbb, 5).rgb & 0xFFFFFFFE; + quantized[j].rgb |= P[j]; + quantized[j].a = 0xFF; + + endPoint[j].rgb = unquantize(quantized[j].rgbb, 5).rgb; + endPoint[j].a = 0xFF; + + quantized[j] <<= 3; + } + return quantized; +} +uint2x4 compress_endpoints1( inout uint2x4 endPoint, uint2 P ) +{ + uint2x4 quantized; + for ( uint j = 0; j < 2; j ++ ) + { + quantized[j].rgb = quantize(endPoint[j].rgbb, 7).rgb & 0xFFFFFFFE; + quantized[j].rgb |= P[j]; + quantized[j].a = 0xFF; + + endPoint[j].rgb = unquantize(quantized[j].rgbb, 7).rgb; + endPoint[j].a = 0xFF; + + quantized[j] <<= 1; + } + return quantized; +} +uint2x4 compress_endpoints2( inout uint2x4 endPoint ) +{ + uint2x4 quantized; + for ( uint j = 0; j < 2; j ++ ) + { + quantized[j].rgb = quantize(endPoint[j].rgbb, 5).rgb; + quantized[j].a = 0xFF; + + endPoint[j].rgb = unquantize(quantized[j].rgbb, 5).rgb; + endPoint[j].a = 0xFF; + + quantized[j] <<= 3; + } + return quantized; +} +uint2x4 compress_endpoints3( inout uint2x4 endPoint, uint2 P ) +{ + uint2x4 quantized; + for ( uint j = 0; j < 2; j ++ ) + { + quantized[j].rgb = endPoint[j].rgb & 0xFFFFFFFE; + quantized[j].rgb |= P[j]; + quantized[j].a = 0xFF; + + endPoint[j].rgb = quantized[j].rgb; + endPoint[j].a = 0xFF; + } + return quantized; +} +uint2x4 compress_endpoints4( inout uint2x4 endPoint ) +{ + uint2x4 quantized; + for ( uint j = 0; j < 2; j ++ ) + { + quantized[j].rgb = quantize(endPoint[j].rgbb, 5).rgb; + quantized[j].a = quantize(endPoint[j].a, 6).r; + + endPoint[j].rgb = unquantize(quantized[j].rgbb, 5).rgb; + endPoint[j].a = unquantize(quantized[j].a, 6).r; + + quantized[j].rgb <<= 3; + quantized[j].a <<= 2; + } + return quantized; +} +uint2x4 compress_endpoints5( inout uint2x4 endPoint ) +{ + uint2x4 quantized; + for ( uint j = 0; j < 2; j ++ ) + { + quantized[j].rgb = quantize(endPoint[j].rgbb, 7).rgb; + quantized[j].a = endPoint[j].a; + + endPoint[j].rgb = unquantize(quantized[j].rgbb, 7).rgb; + // endPoint[j].a Alpha is full precision + + quantized[j].rgb <<= 1; + } + return quantized; +} +uint2x4 compress_endpoints6( inout uint2x4 endPoint, uint2 P ) +{ + uint2x4 quantized; + for ( uint j = 0; j < 2; j ++ ) + { + quantized[j] = endPoint[j] & 0xFFFFFFFE; + quantized[j] |= P[j]; + + endPoint[j] = quantized[j]; + } + return quantized; +} +uint2x4 compress_endpoints7( inout uint2x4 endPoint, uint2 P ) +{ + uint2x4 quantized; + for ( uint j = 0; j < 2; j ++ ) + { + quantized[j] = quantize(endPoint[j], 6) & 0xFFFFFFFE; + quantized[j] |= P[j]; + + endPoint[j] = unquantize(quantized[j], 6); + } + return quantized << 2; +} + +#define get_end_point_l(subset) shared_temp[threadBase + subset].endPoint_low_quantized +#define get_end_point_h(subset) shared_temp[threadBase + subset].endPoint_high_quantized +#define get_color_index(index) shared_temp[threadBase + index].error +#define get_alpha_index(index) shared_temp[threadBase + index].mode + +void block_package0( out uint4 block, uint partition, uint threadBase ) +{ + block.x = 0x01 | ( (partition - 64) << 1 ) + | ( ( get_end_point_l(0).r & 0xF0 ) << 1 ) | ( ( get_end_point_h(0).r & 0xF0 ) << 5 ) + | ( ( get_end_point_l(1).r & 0xF0 ) << 9 ) | ( ( get_end_point_h(1).r & 0xF0 ) << 13 ) + | ( ( get_end_point_l(2).r & 0xF0 ) << 17 ) | ( ( get_end_point_h(2).r & 0xF0 ) << 21 ) + | ( ( get_end_point_l(0).g & 0xF0 ) << 25 ); + block.y = ( ( get_end_point_l(0).g & 0xF0 ) >> 7 ) | ( ( get_end_point_h(0).g & 0xF0 ) >> 3 ) + | ( ( get_end_point_l(1).g & 0xF0 ) << 1 ) | ( ( get_end_point_h(1).g & 0xF0 ) << 5 ) + | ( ( get_end_point_l(2).g & 0xF0 ) << 9 ) | ( ( get_end_point_h(2).g & 0xF0 ) << 13 ) + | ( ( get_end_point_l(0).b & 0xF0 ) << 17 ) | ( ( get_end_point_h(0).b & 0xF0 ) << 21 ) + | ( ( get_end_point_l(1).b & 0xF0 ) << 25 ); + block.z = ( ( get_end_point_l(1).b & 0xF0 ) >> 7 ) | ( ( get_end_point_h(1).b & 0xF0 ) >> 3 ) + | ( ( get_end_point_l(2).b & 0xF0 ) << 1 ) | ( ( get_end_point_h(2).b & 0xF0 ) << 5 ) + | ( ( get_end_point_l(0).r & 0x08 ) << 10 ) | ( ( get_end_point_h(0).r & 0x08 ) << 11 ) + | ( ( get_end_point_l(1).r & 0x08 ) << 12 ) | ( ( get_end_point_h(1).r & 0x08 ) << 13 ) + | ( ( get_end_point_l(2).r & 0x08 ) << 14 ) | ( ( get_end_point_h(2).r & 0x08 ) << 15 ) + | ( get_color_index(0) << 19 ); + block.w = 0; + uint i = 1; + for ( ; i <= min( candidateFixUpIndex1DOrdered[partition][0], 4 ); i ++ ) + { + block.z |= get_color_index(i) << ( i * 3 + 18 ); + } + if ( candidateFixUpIndex1DOrdered[partition][0] < 4 ) //i = 4 + { + block.z |= get_color_index(4) << 29; + i += 1; + } + else //i = 5 + { + block.w |= ( get_color_index(4) & 0x04 ) >> 2; + for ( ; i <= candidateFixUpIndex1DOrdered[partition][0]; i ++ ) + block.w |= get_color_index(i) << ( i * 3 - 14 ); + } + for ( ; i <= candidateFixUpIndex1DOrdered[partition][1]; i ++ ) + { + block.w |= get_color_index(i) << ( i * 3 - 15 ); + } + for ( ; i < 16; i ++ ) + { + block.w |= get_color_index(i) << ( i * 3 - 16 ); + } +} +void block_package1( out uint4 block, uint partition, uint threadBase ) +{ + block.x = 0x02 | ( partition << 2 ) + | ( ( get_end_point_l(0).r & 0xFC ) << 6 ) | ( ( get_end_point_h(0).r & 0xFC ) << 12 ) + | ( ( get_end_point_l(1).r & 0xFC ) << 18 ) | ( ( get_end_point_h(1).r & 0xFC ) << 24 ); + block.y = ( ( get_end_point_l(0).g & 0xFC ) >> 2 ) | ( ( get_end_point_h(0).g & 0xFC ) << 4 ) + | ( ( get_end_point_l(1).g & 0xFC ) << 10 ) | ( ( get_end_point_h(1).g & 0xFC ) << 16 ) + | ( ( get_end_point_l(0).b & 0xFC ) << 22 ) | ( ( get_end_point_h(0).b & 0xFC ) << 28 ); + block.z = ( ( get_end_point_h(0).b & 0xFC ) >> 4 ) | ( ( get_end_point_l(1).b & 0xFC ) << 2 ) + | ( ( get_end_point_h(1).b & 0xFC ) << 8 ) + | ( ( get_end_point_l(0).r & 0x02 ) << 15 ) | ( ( get_end_point_l(1).r & 0x02 ) << 16 ) + | ( get_color_index(0) << 18 ); + if ( candidateFixUpIndex1DOrdered[partition][0] == 15 ) + { + block.w = (get_color_index(15) << 30) | (get_color_index(14) << 27) | (get_color_index(13) << 24) | (get_color_index(12) << 21) | (get_color_index(11) << 18) | (get_color_index(10) << 15) + | (get_color_index(9) << 12) | (get_color_index(8) << 9) | (get_color_index(7) << 6) | (get_color_index(6) << 3) | get_color_index(5); + block.z |= (get_color_index(4) << 29) | (get_color_index(3) << 26) | (get_color_index(2) << 23) | (get_color_index(1) << 20) | (get_color_index(0) << 18); + } + else if ( candidateFixUpIndex1DOrdered[partition][0] == 2 ) + { + block.w = (get_color_index(15) << 29) | (get_color_index(14) << 26) | (get_color_index(13) << 23) | (get_color_index(12) << 20) | (get_color_index(11) << 17) | (get_color_index(10) << 14) + | (get_color_index(9) << 11) | (get_color_index(8) << 8) | (get_color_index(7) << 5) | (get_color_index(6) << 2) | (get_color_index(5) >> 1); + block.z |= (get_color_index(5) << 31) | (get_color_index(4) << 28) | (get_color_index(3) << 25) | (get_color_index(2) << 23) | (get_color_index(1) << 20) | (get_color_index(0) << 18); + } + else if ( candidateFixUpIndex1DOrdered[partition][0] == 8 ) + { + block.w = (get_color_index(15) << 29) | (get_color_index(14) << 26) | (get_color_index(13) << 23) | (get_color_index(12) << 20) | (get_color_index(11) << 17) | (get_color_index(10) << 14) + | (get_color_index(9) << 11) | (get_color_index(8) << 9) | (get_color_index(7) << 6) | (get_color_index(6) << 3) | get_color_index(5); + block.z |= (get_color_index(4) << 29) | (get_color_index(3) << 26) | (get_color_index(2) << 23) | (get_color_index(1) << 20) | (get_color_index(0) << 18); + } + else //candidateFixUpIndex1DOrdered[partition] == 6 + { + block.w = (get_color_index(15) << 29) | (get_color_index(14) << 26) | (get_color_index(13) << 23) | (get_color_index(12) << 20) | (get_color_index(11) << 17) | (get_color_index(10) << 14) + | (get_color_index(9) << 11) | (get_color_index(8) << 8) | (get_color_index(7) << 6) | (get_color_index(6) << 4) | get_color_index(5); + block.z |= (get_color_index(4) << 29) | (get_color_index(3) << 26) | (get_color_index(2) << 23) | (get_color_index(1) << 20) | (get_color_index(0) << 18); + } +} +void block_package2( out uint4 block, uint partition, uint threadBase ) +{ + block.x = 0x04 | ( (partition - 64) << 3 ) + | ( ( get_end_point_l(0).r & 0xF8 ) << 6 ) | ( ( get_end_point_h(0).r & 0xF8 ) << 11 ) + | ( ( get_end_point_l(1).r & 0xF8 ) << 16 ) | ( ( get_end_point_h(1).r & 0xF8 ) << 21 ) + | ( ( get_end_point_l(2).r & 0xF8 ) << 26 ); + block.y = ( ( get_end_point_l(2).r & 0xF8 ) >> 6 ) | ( ( get_end_point_h(2).r & 0xF8 ) >> 1 ) + | ( ( get_end_point_l(0).g & 0xF8 ) << 4 ) | ( ( get_end_point_h(0).g & 0xF8 ) << 9 ) + | ( ( get_end_point_l(1).g & 0xF8 ) << 14 ) | ( ( get_end_point_h(1).g & 0xF8 ) << 19 ) + | ( ( get_end_point_l(2).g & 0xF8 ) << 24 ); + block.z = ( ( get_end_point_h(2).g & 0xF8 ) >> 3 ) | ( ( get_end_point_l(0).b & 0xF8 ) << 2 ) + | ( ( get_end_point_h(0).b & 0xF8 ) << 7 ) | ( ( get_end_point_l(1).b & 0xF8 ) << 12 ) + | ( ( get_end_point_h(1).b & 0xF8 ) << 17 ) | ( ( get_end_point_l(2).b & 0xF8 ) << 22 ) + | ( ( get_end_point_h(2).b & 0xF8 ) << 27 ); + block.w = ( ( get_end_point_h(2).b & 0xF8 ) >> 5 ) + | ( get_color_index(0) << 3 ); + uint i = 1; + for ( ; i <= candidateFixUpIndex1DOrdered[partition][0]; i ++ ) + { + block.w |= get_color_index(i) << ( i * 2 + 2 ); + } + for ( ; i <= candidateFixUpIndex1DOrdered[partition][1]; i ++ ) + { + block.w |= get_color_index(i) << ( i * 2 + 1 ); + } + for ( ; i < 16; i ++ ) + { + block.w |= get_color_index(i) << ( i * 2 ); + } +} +void block_package3( out uint4 block, uint partition, uint threadBase ) +{ + block.x = 0x08 | ( partition << 4 ) + | ( ( get_end_point_l(0).r & 0xFE ) << 9 ) | ( ( get_end_point_h(0).r & 0xFE ) << 16 ) + | ( ( get_end_point_l(1).r & 0xFE ) << 23 ) | ( ( get_end_point_h(1).r & 0xFE ) << 30 ); + block.y = ( ( get_end_point_h(1).r & 0xFE ) >> 2 ) | ( ( get_end_point_l(0).g & 0xFE ) << 5 ) + | ( ( get_end_point_h(0).g & 0xFE ) << 12 ) | ( ( get_end_point_l(1).g & 0xFE ) << 19 ) + | ( ( get_end_point_h(1).g & 0xFE ) << 26 ); + block.z = ( ( get_end_point_h(1).g & 0xFE ) >> 6 ) | ( ( get_end_point_l(0).b & 0xFE ) << 1 ) + | ( ( get_end_point_h(0).b & 0xFE ) << 8 ) | ( ( get_end_point_l(1).b & 0xFE ) << 15 ) + | ( ( get_end_point_h(1).b & 0xFE ) << 22 ) + | ( ( get_end_point_l(0).r & 0x01 ) << 30 ) | ( ( get_end_point_h(0).r & 0x01 ) << 31 ); + block.w = ( ( get_end_point_l(1).r & 0x01 ) << 0 ) | ( ( get_end_point_h(1).r & 0x01 ) << 1 ) + | ( get_color_index(0) << 2 ); + uint i = 1; + for ( ; i <= candidateFixUpIndex1DOrdered[partition][0]; i ++ ) + { + block.w |= get_color_index(i) << ( i * 2 + 1 ); + } + for ( ; i < 16; i ++ ) + { + block.w |= get_color_index(i) << ( i * 2 ); + } +} +void block_package4( out uint4 block, uint rotation, uint index_selector, uint threadBase ) +{ + block.x = 0x10 | ( (rotation & 3) << 5 ) | ( (index_selector & 1) << 7 ) + | ( ( get_end_point_l(0).r & 0xF8 ) << 5 ) | ( ( get_end_point_h(0).r & 0xF8 ) << 10 ) + | ( ( get_end_point_l(0).g & 0xF8 ) << 15 ) | ( ( get_end_point_h(0).g & 0xF8 ) << 20 ) + | ( ( get_end_point_l(0).b & 0xF8 ) << 25 ); + + block.y = ( ( get_end_point_l(0).b & 0xF8 ) >> 7 ) | ( ( get_end_point_h(0).b & 0xF8 ) >> 2 ) + | ( ( get_end_point_l(0).a & 0xFC ) << 4 ) | ( ( get_end_point_h(0).a & 0xFC ) << 10 ) + | ( (get_color_index(0) & 1) << 18 ) | ( get_color_index(1) << 19 ) | ( get_color_index(2) << 21 ) | ( get_color_index(3) << 23 ) + | ( get_color_index(4) << 25 ) | ( get_color_index(5) << 27 ) | ( get_color_index(6) << 29 ) | ( get_color_index(7) << 31 ); + + block.z = ( get_color_index(7) >> 1 ) | ( get_color_index(8) << 1 ) | ( get_color_index(9) << 3 ) | ( get_color_index(10)<< 5 ) + | ( get_color_index(11)<< 7 ) | ( get_color_index(12)<< 9 ) | ( get_color_index(13)<< 11 ) | ( get_color_index(14)<< 13 ) + | ( get_color_index(15)<< 15 ) | ( (get_alpha_index(0) & 3) << 17 ) | ( get_alpha_index(1) << 19 ) | ( get_alpha_index(2) << 22 ) + | ( get_alpha_index(3) << 25 ) | ( get_alpha_index(4) << 28 ) | ( get_alpha_index(5) << 31 ); + + block.w = ( get_alpha_index(5) >> 1 ) | ( get_alpha_index(6) << 2 ) | ( get_alpha_index(7) << 5 ) | ( get_alpha_index(8) << 8 ) + | ( get_alpha_index(9) << 11 ) | ( get_alpha_index(10)<< 14 ) | ( get_alpha_index(11)<< 17 ) | ( get_alpha_index(12)<< 20 ) + | ( get_alpha_index(13)<< 23 ) | ( get_alpha_index(14)<< 26 ) | ( get_alpha_index(15)<< 29 ); +} +void block_package5( out uint4 block, uint rotation, uint threadBase ) +{ + block.x = 0x20 | ( rotation << 6 ) + | ( ( get_end_point_l(0).r & 0xFE ) << 7 ) | ( ( get_end_point_h(0).r & 0xFE ) << 14 ) + | ( ( get_end_point_l(0).g & 0xFE ) << 21 ) | ( ( get_end_point_h(0).g & 0xFE ) << 28 ); + block.y = ( ( get_end_point_h(0).g & 0xFE ) >> 4 ) | ( ( get_end_point_l(0).b & 0xFE ) << 3 ) + | ( ( get_end_point_h(0).b & 0xFE ) << 10 ) | ( get_end_point_l(0).a << 18 ) | ( get_end_point_h(0).a << 26 ); + block.z = ( get_end_point_h(0).a >> 6 ) + | ( get_color_index(0) << 2 ) | ( get_color_index(1) << 3 ) | ( get_color_index(2) << 5 ) | ( get_color_index(3) << 7 ) + | ( get_color_index(4) << 9 ) | ( get_color_index(5) << 11 ) | ( get_color_index(6) << 13 ) | ( get_color_index(7) << 15 ) + | ( get_color_index(8) << 17 ) | ( get_color_index(9) << 19 ) | ( get_color_index(10)<< 21 ) | ( get_color_index(11)<< 23 ) + | ( get_color_index(12)<< 25 ) | ( get_color_index(13)<< 27 ) | ( get_color_index(14)<< 29 ) | ( get_color_index(15)<< 31 ); + block.w = ( get_color_index(15)>> 1 ) | ( get_alpha_index(0) << 1 ) | ( get_alpha_index(1) << 2 ) | ( get_alpha_index(2) << 4 ) + | ( get_alpha_index(3) << 6 ) | ( get_alpha_index(4) << 8 ) | ( get_alpha_index(5) << 10 ) | ( get_alpha_index(6) << 12 ) + | ( get_alpha_index(7) << 14 ) | ( get_alpha_index(8) << 16 ) | ( get_alpha_index(9) << 18 ) | ( get_alpha_index(10)<< 20 ) + | ( get_alpha_index(11)<< 22 ) | ( get_alpha_index(12)<< 24 ) | ( get_alpha_index(13)<< 26 ) | ( get_alpha_index(14)<< 28 ) + | ( get_alpha_index(15)<< 30 ); +} +void block_package6( out uint4 block, uint threadBase ) +{ + block.x = 0x40 + | ( ( get_end_point_l(0).r & 0xFE ) << 6 ) | ( ( get_end_point_h(0).r & 0xFE ) << 13 ) + | ( ( get_end_point_l(0).g & 0xFE ) << 20 ) | ( ( get_end_point_h(0).g & 0xFE ) << 27 ); + block.y = ( ( get_end_point_h(0).g & 0xFE ) >> 5 ) | ( ( get_end_point_l(0).b & 0xFE ) << 2 ) + | ( ( get_end_point_h(0).b & 0xFE ) << 9 ) | ( ( get_end_point_l(0).a & 0xFE ) << 16 ) + | ( ( get_end_point_h(0).a & 0xFE ) << 23 ) + | ( get_end_point_l(0).r & 0x01 ) << 31; + block.z = ( get_end_point_h(0).r & 0x01 ) + | ( get_color_index(0) << 1 ) | ( get_color_index(1) << 4 ) | ( get_color_index(2) << 8 ) | ( get_color_index(3) << 12 ) + | ( get_color_index(4) << 16 ) | ( get_color_index(5) << 20 ) | ( get_color_index(6) << 24 ) | ( get_color_index(7) << 28 ); + block.w = ( get_color_index(8) << 0 ) | ( get_color_index(9) << 4 ) | ( get_color_index(10)<< 8 ) | ( get_color_index(11)<< 12 ) + | ( get_color_index(12)<< 16 ) | ( get_color_index(13)<< 20 ) | ( get_color_index(14)<< 24 ) | ( get_color_index(15)<< 28 ); +} +void block_package7( out uint4 block, uint partition, uint threadBase ) +{ + block.x = 0x80 | ( partition << 8 ) + | ( ( get_end_point_l(0).r & 0xF8 ) << 11 ) | ( ( get_end_point_h(0).r & 0xF8 ) << 16 ) + | ( ( get_end_point_l(1).r & 0xF8 ) << 21 ) | ( ( get_end_point_h(1).r & 0xF8 ) << 26 ); + block.y = ( ( get_end_point_h(1).r & 0xF8 ) >> 6 ) | ( ( get_end_point_l(0).g & 0xF8 ) >> 1 ) + | ( ( get_end_point_h(0).g & 0xF8 ) << 4 ) | ( ( get_end_point_l(1).g & 0xF8 ) << 9 ) + | ( ( get_end_point_h(1).g & 0xF8 ) << 14 ) | ( ( get_end_point_l(0).b & 0xF8 ) << 19 ) + | ( ( get_end_point_h(0).b & 0xF8 ) << 24 ); + block.z = ( ( get_end_point_l(1).b & 0xF8 ) >> 3 ) | ( ( get_end_point_h(1).b & 0xF8 ) << 2 ) + | ( ( get_end_point_l(0).a & 0xF8 ) << 7 ) | ( ( get_end_point_h(0).a & 0xF8 ) << 12 ) + | ( ( get_end_point_l(1).a & 0xF8 ) << 17 ) | ( ( get_end_point_h(1).a & 0xF8 ) << 22 ) + | ( ( get_end_point_l(0).r & 0x04 ) << 28 ) | ( ( get_end_point_h(0).r & 0x04 ) << 29 ); + block.w = ( ( get_end_point_l(1).r & 0x04 ) >> 2 ) | ( ( get_end_point_h(1).r & 0x04 ) >> 1 ) + | ( get_color_index(0) << 2 ); + uint i = 1; + for ( ; i <= candidateFixUpIndex1DOrdered[partition][0]; i ++ ) + { + block.w |= get_color_index(i) << ( i * 2 + 1 ); + } + for ( ; i < 16; i ++ ) + { + block.w |= get_color_index(i) << ( i * 2 ); + } +} \ No newline at end of file diff --git a/DirectXTex/Shaders/CompileShaders.cmd b/DirectXTex/Shaders/CompileShaders.cmd new file mode 100644 index 0000000..4c8fced --- /dev/null +++ b/DirectXTex/Shaders/CompileShaders.cmd @@ -0,0 +1,37 @@ +@echo off +rem THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +rem ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +rem THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +rem PARTICULAR PURPOSE. +rem +rem Copyright (c) Microsoft Corporation. All rights reserved. + +setlocal +set error=0 + +call :CompileShader BC7Encode TryMode456CS +call :CompileShader BC7Encode TryMode137CS +call :CompileShader BC7Encode TryMode02CS +call :CompileShader BC7Encode EncodeBlockCS + +call :CompileShader BC6HEncode TryModeG10CS +call :CompileShader BC6HEncode TryModeLE10CS +call :CompileShader BC6HEncode EncodeBlockCS + +echo. + +if %error% == 0 ( + echo Shaders compiled ok +) else ( + echo There were shader compilation errors! +) + +endlocal +exit /b + +:CompileShader +set fxc=fxc /nologo %1.hlsl /Tcs_4_0 /Zpc /Qstrip_reflect /Qstrip_debug /E%2 /FhCompiled\%1_%2.inc /Vn%1_%2 +echo. +echo %fxc% +%fxc% || set error=1 +exit /b diff --git a/DirectXTex/Shaders/Compiled/BC6HEncode_EncodeBlockCS.inc b/DirectXTex/Shaders/Compiled/BC6HEncode_EncodeBlockCS.inc new file mode 100644 index 0000000..1b56421 --- /dev/null +++ b/DirectXTex/Shaders/Compiled/BC6HEncode_EncodeBlockCS.inc @@ -0,0 +1,22215 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +/// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_4_0 +dcl_globalFlags refactoringAllowed +dcl_immediateConstantBuffer { { 0x0000cccc, 15, 0, 0}, + { 0x00008888, 15, 0, 0}, + { 0x0000eeee, 15, 0, 0}, + { 0x0000ecc8, 15, 1, 0}, + { 0x0000c880, 15, 1, 0}, + { 0x0000feec, 15, 1, 1}, + { 0x0000fec8, 15, 1, 1}, + { 0x0000ec80, 15, 2, 1}, + { 0x0000c800, 15, 2, 1}, + { 0x0000ffec, 15, 2, 1}, + { 0x0000fe80, 15, 2, 1}, + { 0x0000e800, 15, 2, 1}, + { 0x0000ffe8, 15, 3, 1}, + { 0x0000ff00, 15, 3, 1}, + { 0x0000fff0, 15, 3, 2}, + { 0x0000f000, 15, 3, 2}, + { 0x0000f710, 15, 4, 2}, + { 142, 2, 4, 2}, + { 0x00007100, 8, 4, 2}, + { 2254, 2, 4, 2}, + { 140, 2, 5, 2}, + { 0x00007310, 8, 5, 2}, + { 0x00003100, 8, 5, 2}, + { 0x00008cce, 15, 5, 3}, + { 2188, 2, 6, 3}, + { 0x00003110, 8, 6, 3}, + { 0x00006666, 2, 6, 3}, + { 0x0000366c, 2, 6, 3}, + { 6120, 8, 6, 3}, + { 4080, 8, 7, 3}, + { 0x0000718e, 2, 7, 3}, + { 0x0000399c, 2, 7, 3}, + { -1, 0, 7, 3}, + { -1, 0, 8, 4}, + { -1, 0, 8, 4}, + { -1, 0, 8, 4}, + { -1, 0, 8, 4}, + { -1, 0, 9, 4}, + { -1, 0, 9, 4}, + { -1, 0, 9, 4}, + { -1, 0, 9, 4}, + { 0, 0, 10, 4}, + { 0, 0, 10, 5}, + { -1, 0, 10, 5}, + { -1, 0, 10, 5}, + { -1, 0, 10, 5}, + { 0, 0, 11, 5}, + { 0, 0, 11, 5}, + { 0, 0, 11, 5}, + { 0, 0, 11, 5}, + { 0, 0, 12, 5}, + { 0, 0, 12, 6}, + { 0, 0, 12, 6}, + { 0, 0, 12, 6}, + { 0, 0, 13, 6}, + { 0, 0, 13, 6}, + { 0, 0, 13, 6}, + { 0, 0, 13, 6}, + { 0, 0, 14, 6}, + { 0, 0, 14, 6}, + { 0, 0, 14, 7}, + { 0, 0, 14, 7}, + { 0, 0, 15, 7}, + { 0, 0, 15, 7}, + { 10, 5, 5, 5}, + { 7, 6, 6, 6}, + { 11, 5, 4, 4}, + { 11, 4, 5, 4}, + { 11, 4, 4, 5}, + { 9, 5, 5, 5}, + { 8, 6, 5, 5}, + { 8, 5, 6, 5}, + { 8, 5, 5, 6}, + { 6, 6, 6, 6}, + { 10, 10, 10, 10}, + { 11, 9, 9, 9}, + { 12, 8, 8, 8}, + { 16, 4, 4, 4} } +dcl_constantbuffer cb0[2], immediateIndexed +dcl_resource_texture2d (float,float,float,float) t0 +dcl_resource_structured t1, 16 +dcl_uav_structured u0, 16 +dcl_input vThreadIDInGroupFlattened +dcl_input vThreadGroupID.x +dcl_temps 18 +dcl_tgsm_structured g0, 84, 64 +dcl_thread_group 64, 1, 1 +ushr r0.x, vThreadIDInGroupFlattened.x, l(5) +ishl r0.y, vThreadGroupID.x, l(1) +iadd r0.y, r0.y, cb0[1].x +iadd r0.x, r0.x, r0.y +uge r0.y, r0.x, cb0[1].y +if_nz r0.y + ret +endif +and r0.y, vThreadIDInGroupFlattened.x, l(32) +iadd r0.z, -r0.y, vThreadIDInGroupFlattened.x +ult r1.xyzw, r0.zzzz, l(16, 32, 2, 8) +if_nz r1.x + udiv r0.w, null, r0.x, cb0[0].y + imad r2.x, -r0.w, cb0[0].y, r0.x + ishl r2.x, r2.x, l(2) + ishl r0.w, r0.w, l(2) + and r2.y, r0.z, l(3) + iadd r2.x, r2.y, r2.x + ushr r3.x, r0.z, l(2) + iadd r2.y, r0.w, r3.x + mov r2.zw, l(0,0,0,0) + ld r2.xyzw, r2.xyzw, t0.xyzw + dp3 r0.w, r2.xyzx, l(0.212600, 0.715200, 0.072200, 0.000000) + store_structured g0.x, vThreadIDInGroupFlattened.x, l(36), r0.w + ushr r3.xyz, r2.xyzx, l(16) + and r3.xyz, r3.xyzx, l(0x00008000, 0x00008000, 0x00008000, 0) + and r4.xyzw, r2.xxyy, l(0x7fffffff, 0x007fffff, 0x7fffffff, 0x007fffff) + ult r2.xy, l(0x47ffefff, 0x47ffefff, 0, 0), r4.xzxx + ult r5.xy, r4.xzxx, l(0x38800000, 0x38800000, 0, 0) + ushr r5.zw, r4.xxxz, l(23) + iadd r5.zw, -r5.zzzw, l(0, 0, 113, 113) + iadd r4.yw, r4.yyyw, l(0, 0x00800000, 0, 0x00800000) + ushr r6.x, r4.y, r5.z + ushr r6.y, r4.w, r5.w + iadd r4.xy, r4.xzxx, l(0xc8000000, 0xc8000000, 0, 0) + movc r4.xy, r5.xyxx, r6.xyxx, r4.xyxx + iadd r4.zw, r4.xxxy, l(0, 0, 4095, 4095) + ushr r4.xy, r4.xyxx, l(13) + and r4.xy, r4.xyxx, l(1, 1, 0, 0) + iadd r4.xy, r4.xyxx, r4.zwzz + ushr r4.xy, r4.xyxx, l(13) + and r4.xy, r4.xyxx, l(0x00007fff, 0x00007fff, 0, 0) + movc r2.xy, r2.xyxx, l(0x00007fff,0x00007fff,0,0), r4.xyxx + iadd r4.xy, r3.xyxx, r2.xyxx + and r2.xy, r2.zzzz, l(0x7fffffff, 0x007fffff, 0, 0) + ult r0.w, l(0x47ffefff), r2.x + ult r2.z, r2.x, l(0x38800000) + ushr r2.w, r2.x, l(23) + iadd r2.w, -r2.w, l(113) + iadd r2.y, r2.y, l(0x00800000) + ushr r2.y, r2.y, r2.w + iadd r2.x, r2.x, l(0xc8000000) + movc r2.x, r2.z, r2.y, r2.x + iadd r2.y, r2.x, l(4095) + ushr r2.x, r2.x, l(13) + and r2.x, r2.x, l(1) + iadd r2.x, r2.x, r2.y + ushr r2.x, r2.x, l(13) + and r2.x, r2.x, l(0x00007fff) + movc r0.w, r0.w, l(0x00007fff), r2.x + iadd r4.z, r3.z, r0.w + ieq r0.w, cb0[0].z, l(95) + ishl r2.xyz, r4.xyzx, l(6) + udiv r2.xyz, null, r2.xyzx, l(31, 31, 31, 0) + ult r3.xyz, r4.xyzx, l(0x00008000, 0x00008000, 0x00008000, 0) + ieq r5.xyz, r4.xyzx, l(0x00007bff, 0x00007bff, 0x00007bff, 0) + ishl r4.xyz, r4.xyzx, l(5) + udiv r6.xyz, null, r4.xyzx, l(31, 31, 31, 0) + movc r6.xyz, r5.xyzx, l(0x00007fff,0x00007fff,0x00007fff,0), r6.xyzx + and r4.xyz, r4.xyzx, l(0x000fffe0, 0x000fffe0, 0x000fffe0, 0) + udiv r4.xyz, null, r4.xyzx, l(31, 31, 31, 0) + ineg r4.xyz, r4.xyzx + movc r4.xyz, r5.xyzx, l(0xffff8001,0xffff8001,0xffff8001,0), r4.xyzx + movc r3.xyz, r3.xyzx, r6.xyzx, r4.xyzx + movc r2.xyz, r0.wwww, r2.xyzx, r3.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(12), r2.xyzx +endif +ld_structured r2.xy, r0.x, l(4), t1.xyxx +if_nz r1.y + and r0.w, r0.z, l(15) + iadd r1.y, r0.w, r0.y + ld_structured r3.xyz, r1.y, l(12), g0.xyzx + ld_structured r3.w, r1.y, l(36), g0.xxxx + if_nz r1.x + ult r1.y, l(10), r2.x + if_nz r1.y + mov r4.xyzw, r3.xyzx + mov r5.xyzw, r3.yzww + else + ushr r1.y, icb[r2.y + 0].x, r0.z + and r1.y, r1.y, l(1) + movc r4.xyzw, r1.yyyy, l(0x7fffffff,0x7fffffff,0x7fffffff,-0.000000), r3.xyzx + movc r5.xyzw, r1.yyyy, l(-0.000000,-0.000000,340282346638528860000000000000000000000.000000,-340282346638528860000000000000000000000.000000), r3.yzww + endif + else + uge r1.y, l(10), r2.x + if_nz r1.y + ushr r0.w, icb[r2.y + 0].x, r0.w + and r0.w, r0.w, l(1) + ieq r0.w, r0.w, l(1) + movc r4.xyzw, r0.wwww, r3.xyzx, l(0x7fffffff,0x7fffffff,0x7fffffff,-0.000000) + movc r5.xyzw, r0.wwww, r3.yzww, l(-0.000000,-0.000000,340282346638528860000000000000000000000.000000,-340282346638528860000000000000000000000.000000) + else + mov r4.xyzw, l(0x7fffffff,0x7fffffff,0x7fffffff,-0.000000) + mov r5.xyzw, l(-0.000000,-0.000000,340282346638528860000000000000000000000.000000,-340282346638528860000000000000000000000.000000) + endif + endif + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r4.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(68), r5.xyzw +endif +and r0.w, r0.z, l(15) +ult r3.xyzw, r0.wwww, l(8, 4, 2, 1) +if_nz r3.x + ld_structured r4.x, vThreadIDInGroupFlattened.x, l(76), g0.xxxx + iadd r0.w, vThreadIDInGroupFlattened.x, l(8) + ld_structured r5.x, r0.w, l(76), g0.xxxx + lt r1.y, r5.x, r4.x + if_nz r1.y + ld_structured r4.xyz, r0.w, l(52), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(52), r4.xyzx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(76), r5.x + endif + ld_structured r4.x, vThreadIDInGroupFlattened.x, l(80), g0.xxxx + ld_structured r5.x, r0.w, l(80), g0.xxxx + lt r1.y, r4.x, r5.x + if_nz r1.y + ld_structured r4.xyz, r0.w, l(64), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(64), r4.xyzx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(80), r5.x + endif +endif +if_nz r3.y + ld_structured r4.x, vThreadIDInGroupFlattened.x, l(76), g0.xxxx + iadd r0.w, vThreadIDInGroupFlattened.x, l(4) + ld_structured r5.x, r0.w, l(76), g0.xxxx + lt r1.y, r5.x, r4.x + if_nz r1.y + ld_structured r4.xyz, r0.w, l(52), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(52), r4.xyzx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(76), r5.x + endif + ld_structured r4.x, vThreadIDInGroupFlattened.x, l(80), g0.xxxx + ld_structured r5.x, r0.w, l(80), g0.xxxx + lt r1.y, r4.x, r5.x + if_nz r1.y + ld_structured r4.xyz, r0.w, l(64), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(64), r4.xyzx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(80), r5.x + endif +endif +if_nz r3.z + ld_structured r4.x, vThreadIDInGroupFlattened.x, l(76), g0.xxxx + iadd r0.w, vThreadIDInGroupFlattened.x, l(2) + ld_structured r5.x, r0.w, l(76), g0.xxxx + lt r1.y, r5.x, r4.x + if_nz r1.y + ld_structured r4.xyz, r0.w, l(52), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(52), r4.xyzx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(76), r5.x + endif + ld_structured r4.x, vThreadIDInGroupFlattened.x, l(80), g0.xxxx + ld_structured r5.x, r0.w, l(80), g0.xxxx + lt r1.y, r4.x, r5.x + if_nz r1.y + ld_structured r4.xyz, r0.w, l(64), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(64), r4.xyzx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(80), r5.x + endif +endif +if_nz r3.w + ld_structured r3.x, vThreadIDInGroupFlattened.x, l(76), g0.xxxx + iadd r0.w, vThreadIDInGroupFlattened.x, l(1) + ld_structured r4.x, r0.w, l(76), g0.xxxx + lt r1.y, r4.x, r3.x + if_nz r1.y + ld_structured r3.xyz, r0.w, l(52), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(52), r3.xyzx + endif + ld_structured r3.x, vThreadIDInGroupFlattened.x, l(80), g0.xxxx + ld_structured r4.x, r0.w, l(80), g0.xxxx + lt r1.y, r3.x, r4.x + if_nz r1.y + ld_structured r3.xyz, r0.w, l(64), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(64), r3.xyzx + endif +endif +if_nz r1.z + ishl r0.w, r0.z, l(4) + iadd r0.w, r0.w, r0.y + ld_structured r3.xyz, r0.w, l(52), g0.xyzx + ld_structured r4.xyz, r0.w, l(64), g0.xyzx + ieq r0.w, r0.z, l(1) + uge r1.y, l(10), r2.x + and r0.w, r0.w, r1.y + if_nz r0.w + mov r0.w, icb[r2.y + 0].y + else + mov r0.w, l(0) + endif + iadd r5.xyz, -r3.xyzx, r4.xyzx + itof r5.xyz, r5.xyzx + dp3 r1.y, r5.xyzx, r5.xyzx + iadd r0.w, r0.w, r0.y + ld_structured r6.xyz, r0.w, l(12), g0.xyzx + iadd r6.xyz, -r3.xyzx, r6.xyzx + itof r6.xyz, r6.xyzx + dp3 r0.w, r5.xyzx, r6.xyzx + lt r2.z, l(0.000000), r1.y + ge r2.w, r0.w, l(0.000000) + and r2.z, r2.w, r2.z + mul r0.w, r0.w, l(63.499989) + div r0.w, r0.w, r1.y + ftou r0.w, r0.w + ult r0.w, l(32), r0.w + and r0.w, r0.w, r2.z + mov r4.w, r3.x + mov r3.w, r4.x + movc r5.xyzw, r0.wwww, r4.xyzw, r3.xyzw + movc r2.zw, r0.wwww, r3.yyyz, r4.yyyz + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r5.xyzw + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(68), r2.zwzz +endif +if_nz r1.x + ult r0.w, l(10), r2.x + if_nz r0.w + mov r1.x, l(0) + else + mov r1.x, icb[r2.y + 0].x + endif + ushr r1.x, r1.x, r0.z + and r1.x, r1.x, l(1) + if_nz r1.x + iadd r1.x, r0.y, l(1) + ld_structured r3.xyz, r1.x, l(64), g0.xyzx + ld_structured r4.xyz, r1.x, l(52), g0.xyzx + iadd r3.xyz, r3.xyzx, -r4.xyzx + itof r3.xyz, r3.xyzx + ld_structured r5.xyz, vThreadIDInGroupFlattened.x, l(12), g0.xyzx + iadd r4.xyz, -r4.xyzx, r5.xyzx + itof r4.xyz, r4.xyzx + dp3 r1.x, r3.xyzx, r4.xyzx + else + ld_structured r4.xyz, r0.y, l(64), g0.xyzx + ld_structured r5.xyz, r0.y, l(52), g0.xyzx + iadd r4.xyz, r4.xyzx, -r5.xyzx + itof r3.xyz, r4.xyzx + ld_structured r4.xyz, vThreadIDInGroupFlattened.x, l(12), g0.xyzx + iadd r4.xyz, -r5.xyzx, r4.xyzx + itof r4.xyz, r4.xyzx + dp3 r1.x, r3.xyzx, r4.xyzx + endif + dp3 r1.y, r3.xyzx, r3.xyzx + if_nz r0.w + ge r0.w, l(0.000000), r1.y + ge r2.z, l(0.000000), r1.x + or r0.w, r0.w, r2.z + lt r2.z, r1.x, r1.y + mul r2.w, r1.x, l(63.499989) + div r2.w, r2.w, r1.y + ftou r2.w, r2.w + movc r2.z, r2.z, icb[r2.w + 0].z, l(15) + movc r0.w, r0.w, l(0), r2.z + ishl r3.x, r0.w, l(1) + ult r2.z, r0.z, l(8) + ishl r2.w, r0.z, l(2) + ishl r4.x, r0.w, r2.w + iadd r2.w, r2.w, l(-32) + ishl r4.w, r0.w, r2.w + mov r4.yz, l(0,0,0,0) + movc r2.zw, r2.zzzz, r4.xxxy, r4.zzzw + mov r3.y, l(0) + movc r3.xy, r0.zzzz, r2.zwzz, r3.xyxx + else + ge r0.w, l(0.000000), r1.y + ge r2.z, l(0.000000), r1.x + or r0.w, r0.w, r2.z + lt r2.z, r1.x, r1.y + mul r1.x, r1.x, l(63.499989) + div r1.x, r1.x, r1.y + ftou r1.x, r1.x + movc r1.x, r2.z, icb[r1.x + 0].w, l(7) + movc r0.w, r0.w, l(0), r1.x + if_z r0.z + ishl r3.x, r0.w, l(18) + mov r3.y, l(0) + else + ult r1.x, r0.z, l(3) + if_nz r1.x + imad r1.x, r0.z, l(3), l(17) + ishl r3.x, r0.w, r1.x + mov r3.y, l(0) + else + ine r1.x, l(2), icb[r2.y + 0].y + ieq r1.y, l(15), icb[r2.y + 0].y + and r2.zw, r1.xxxy, l(0, 0, 1, 1) + ult r1.y, r0.z, l(5) + if_nz r1.y + imad r1.y, r0.z, l(3), r2.z + iadd r1.y, r1.y, l(16) + ishl r3.x, r0.w, r1.y + mov r3.y, l(0) + else + ieq r1.y, r0.z, l(5) + movc r4.x, r1.x, l(0), l(1) + ushr r4.y, r0.w, r4.x + ishl r4.z, r0.w, l(31) + movc r4.x, r1.x, l(0), r4.z + ult r1.x, r0.z, l(9) + imad r2.zw, r0.zzzz, l(0, 0, 3, 3), r2.zzzw + iadd r2.zw, r2.zzzw, l(0, 0, -16, -16) + ishl r2.z, r0.w, r2.z + ishl r0.w, r0.w, r2.w + movc r5.y, r1.x, r2.z, r0.w + mov r5.x, l(0) + movc r3.xy, r1.yyyy, r4.xyxx, r5.xyxx + endif + endif + endif + endif + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(24), r3.xyxx +else + mov r3.xy, l(0,0,0,0) +endif +if_nz r1.w + ld_structured r4.xy, vThreadIDInGroupFlattened.x, l(24), g0.xyxx + iadd r0.w, vThreadIDInGroupFlattened.x, l(8) + ld_structured r5.xy, r0.w, l(24), g0.xyxx + or r1.xy, r4.xyxx, r5.xyxx + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(24), r1.xyxx +endif +ult r1.xy, r0.zzzz, l(4, 1, 0, 0) +if_nz r1.x + ld_structured r4.xy, vThreadIDInGroupFlattened.x, l(24), g0.xyxx + iadd r0.w, vThreadIDInGroupFlattened.x, l(4) + ld_structured r5.xy, r0.w, l(24), g0.xyxx + or r1.xw, r4.xxxy, r5.xxxy + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(24), r1.xwxx +endif +if_nz r1.z + ld_structured r4.xy, vThreadIDInGroupFlattened.x, l(24), g0.xyxx + iadd r0.w, vThreadIDInGroupFlattened.x, l(2) + ld_structured r5.xy, r0.w, l(24), g0.xyxx + or r1.xw, r4.xxxy, r5.xxxy + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(24), r1.xwxx +endif +if_nz r1.y + ld_structured r4.xy, vThreadIDInGroupFlattened.x, l(24), g0.xyxx + iadd r0.w, vThreadIDInGroupFlattened.x, l(1) + ld_structured r5.xy, r0.w, l(24), g0.xyxx + or r3.xy, r4.xyxx, r5.xyxx +endif +iadd r0.w, r2.x, l(-1) +ieq r1.xy, r0.zzzz, l(2, 3, 0, 0) +if_nz r1.x + ld_structured r4.xyz, r0.y, l(52), g0.xyzx + ld_structured r5.xyz, r0.y, l(64), g0.xyzx + ieq r1.x, cb0[0].z, l(95) + if_nz r1.x + ige r1.x, icb[r0.w + 64].x, l(15) + and r1.x, r1.x, l(1) + movc r6.xyz, r4.xyzx, l(0,0,0,0), l(1,1,1,0) + movc r7.xyz, r5.xyzx, l(0,0,0,0), l(1,1,1,0) + or r6.xyz, r1.xxxx, r6.xyzx + or r7.xyz, r1.xxxx, r7.xyzx + ieq r8.xyz, r4.xyzx, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0) + ieq r9.xyz, r5.xyzx, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0) + ishl r1.x, l(1), icb[r0.w + 64].x + iadd r1.x, r1.x, l(-1) + ishl r10.xyz, r4.xyzx, icb[r0.w + 64].x + ishl r11.xyz, r5.xyzx, icb[r0.w + 64].x + ishr r10.xyz, r10.xyzx, l(16) + ishr r11.xyz, r11.xyzx, l(16) + movc r8.xyz, r8.xyzx, r1.xxxx, r10.xyzx + movc r9.xyz, r9.xyzx, r1.xxxx, r11.xyzx + movc r6.xyz, r6.xyzx, r4.xyzx, r8.xyzx + movc r7.xyz, r7.xyzx, r5.xyzx, r9.xyzx + else + ige r1.x, icb[r0.w + 64].x, l(16) + and r1.x, r1.x, l(1) + movc r8.xyz, r4.xyzx, l(0,0,0,0), l(1,1,1,0) + movc r9.xyz, r5.xyzx, l(0,0,0,0), l(1,1,1,0) + or r8.xyz, r1.xxxx, r8.xyzx + or r9.xyz, r1.xxxx, r9.xyzx + ige r10.xyz, r4.xyzx, l(0, 0, 0, 0) + ige r11.xyz, r5.xyzx, l(0, 0, 0, 0) + ieq r12.xyz, r4.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + ieq r13.xyz, r5.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + iadd r1.x, l(-1), icb[r0.w + 64].x + ishl r1.w, l(1), r1.x + iadd r2.z, r1.w, l(-1) + ishl r14.xyz, r4.xyzx, r1.x + ishl r15.xyz, r5.xyzx, r1.x + ishr r14.xyz, r14.xyzx, l(15) + ishr r15.xyz, r15.xyzx, l(15) + movc r12.xyz, r12.xyzx, r2.zzzz, r14.xyzx + movc r13.xyz, r13.xyzx, r2.zzzz, r15.xyzx + ineg r14.xyz, r4.xyzx + ineg r15.xyz, r5.xyzx + ieq r16.xyz, r14.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + ieq r17.xyz, r15.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + iadd r1.w, -r1.w, l(1) + ishl r14.xyz, r14.xyzx, r1.x + ishl r15.xyz, r15.xyzx, r1.x + ishr r14.xyz, r14.xyzx, l(15) + ishr r15.xyz, r15.xyzx, l(15) + ineg r14.xyz, r14.xyzx + ineg r15.xyz, r15.xyzx + movc r14.xyz, r16.xyzx, r1.wwww, r14.xyzx + movc r15.xyz, r17.xyzx, r1.wwww, r15.xyzx + movc r10.xyz, r10.xyzx, r12.xyzx, r14.xyzx + movc r11.xyz, r11.xyzx, r13.xyzx, r15.xyzx + movc r6.xyz, r8.xyzx, r4.xyzx, r10.xyzx + movc r7.xyz, r9.xyzx, r5.xyzx, r11.xyzx + endif + iadd r4.xyz, -r6.xyzx, r7.xyzx + movc r4.xyz, icb[r0.w + 32].xxxx, r4.xyzx, r7.xyzx + mov r6.w, r4.x + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r6.xyzw + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(68), r4.yzyy +endif +if_nz r1.y + iadd r1.xy, r0.yyyy, l(2, 1, 0, 0) + ld_structured r4.xyz, r1.x, l(52), g0.xyzx + ld_structured r5.xyz, r1.y, l(52), g0.xyzx + ld_structured r6.xyz, r1.y, l(64), g0.xyzx + uge r1.x, l(10), r2.x + if_nz r1.x + ieq r1.x, cb0[0].z, l(95) + if_nz r1.x + ige r1.x, icb[r0.w + 64].x, l(15) + and r1.x, r1.x, l(1) + movc r7.xyz, r5.xyzx, l(0,0,0,0), l(1,1,1,0) + movc r8.xyz, r6.xyzx, l(0,0,0,0), l(1,1,1,0) + or r7.xyz, r1.xxxx, r7.xyzx + or r1.xyw, r1.xxxx, r8.xyxz + ieq r8.xyz, r5.xyzx, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0) + ieq r9.xyz, r6.xyzx, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0) + ishl r2.z, l(1), icb[r0.w + 64].x + iadd r2.z, r2.z, l(-1) + ishl r10.xyz, r5.xyzx, icb[r0.w + 64].x + ishl r11.xyz, r6.xyzx, icb[r0.w + 64].x + ishr r10.xyz, r10.xyzx, l(16) + ishr r11.xyz, r11.xyzx, l(16) + movc r8.xyz, r8.xyzx, r2.zzzz, r10.xyzx + movc r9.xyz, r9.xyzx, r2.zzzz, r11.xyzx + movc r7.xyz, r7.xyzx, r5.xyzx, r8.xyzx + movc r1.xyw, r1.xyxw, r6.xyxz, r9.xyxz + else + ige r2.z, icb[r0.w + 64].x, l(16) + and r2.z, r2.z, l(1) + movc r8.xyz, r5.xyzx, l(0,0,0,0), l(1,1,1,0) + movc r9.xyz, r6.xyzx, l(0,0,0,0), l(1,1,1,0) + or r8.xyz, r2.zzzz, r8.xyzx + or r9.xyz, r2.zzzz, r9.xyzx + ige r10.xyz, r5.xyzx, l(0, 0, 0, 0) + ige r11.xyz, r6.xyzx, l(0, 0, 0, 0) + ieq r12.xyz, r5.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + ieq r13.xyz, r6.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + iadd r2.z, l(-1), icb[r0.w + 64].x + ishl r2.w, l(1), r2.z + iadd r4.w, r2.w, l(-1) + ishl r14.xyz, r5.xyzx, r2.z + ishl r15.xyz, r6.xyzx, r2.z + ishr r14.xyz, r14.xyzx, l(15) + ishr r15.xyz, r15.xyzx, l(15) + movc r12.xyz, r12.xyzx, r4.wwww, r14.xyzx + movc r13.xyz, r13.xyzx, r4.wwww, r15.xyzx + ineg r14.xyz, r5.xyzx + ineg r15.xyz, r6.xyzx + ieq r16.xyz, r14.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + ieq r17.xyz, r15.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + iadd r2.w, -r2.w, l(1) + ishl r14.xyz, r14.xyzx, r2.z + ishl r15.xyz, r15.xyzx, r2.z + ishr r14.xyz, r14.xyzx, l(15) + ishr r15.xyz, r15.xyzx, l(15) + ineg r14.xyz, r14.xyzx + ineg r15.xyz, r15.xyzx + movc r14.xyz, r16.xyzx, r2.wwww, r14.xyzx + movc r15.xyz, r17.xyzx, r2.wwww, r15.xyzx + movc r10.xyz, r10.xyzx, r12.xyzx, r14.xyzx + movc r11.xyz, r11.xyzx, r13.xyzx, r15.xyzx + movc r7.xyz, r8.xyzx, r5.xyzx, r10.xyzx + movc r1.xyw, r9.xyxz, r6.xyxz, r11.xyxz + endif + iadd r5.xyz, -r4.xyzx, r7.xyzx + iadd r4.xyz, -r4.xyzx, r1.xywx + mov r5.w, r4.x + mov r7.w, r1.x + movc r5.xyzw, icb[r0.w + 32].xxxx, r5.xyzw, r7.xyzw + movc r1.xy, icb[r0.w + 32].xxxx, r4.yzyy, r1.ywyy + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r5.xyzw + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(68), r1.xyxx + endif +endif +if_nz r1.z + iadd r1.x, vThreadIDInGroupFlattened.x, l(2) + ld_structured r4.xyz, r1.x, l(52), g0.xyzx + ld_structured r1.xyz, r1.x, l(64), g0.yzxx + if_z r0.z + ult r1.w, l(10), r2.x + if_nz r1.w + ishl r5.x, l(1), icb[r0.w + 64].x + ishl r5.y, l(1), icb[r0.w + 64].y + ishl r5.z, l(1), icb[r0.w + 64].z + ishl r5.w, l(1), icb[r0.w + 64].w + ige r6.xyz, r1.zxyz, l(0, 0, 0, 0) + iadd r7.xyz, l(-1, -1, -1, 0), icb[r0.w + 64].yzwy + ishl r8.x, l(1), r7.x + ishl r8.y, l(1), r7.y + ishl r8.z, l(1), r7.z + ige r7.xyz, r1.zxyz, r8.xyzx + iadd r9.xyz, r8.xyzx, l(-1, -1, -1, 0) + movc r7.xyz, r7.xyzx, r9.xyzx, r1.zxyz + ineg r9.xyz, r1.zxyz + ilt r9.xyz, r8.xyzx, r9.xyzx + iadd r5.xyzw, r5.xyzw, l(-1, -1, -1, -1) + and r5.yzw, r1.zzxy, r5.yyzw + movc r5.yzw, r9.xxyz, r8.xxyz, r5.yyzw + movc r5.yzw, r6.xxyz, r7.xxyz, r5.yyzw + mov r4.w, r1.z + and r6.xyzw, r4.xyzw, r5.xxxx + and r2.zw, r1.xxxy, r5.xxxx + mov r7.xyz, r6.xyzx + mov r7.w, r5.y + movc r4.xyzw, icb[r0.w + 32].xxxx, r7.xyzw, r6.xyzw + movc r1.xy, icb[r0.w + 32].xxxx, r5.zwzz, r2.zwzz + else + if_nz icb[r0.w + 32].x + ishl r5.x, l(1), icb[r0.w + 64].x + ishl r5.y, l(1), icb[r0.w + 64].y + ishl r5.z, l(1), icb[r0.w + 64].z + ishl r5.w, l(1), icb[r0.w + 64].w + iadd r5.xyzw, r5.xyzw, l(-1, -1, -1, -1) + and r4.xyz, r4.xyzx, r5.xxxx + ige r6.xyz, r1.zxyz, l(0, 0, 0, 0) + iadd r7.xyz, l(-1, -1, -1, 0), icb[r0.w + 64].yzwy + ishl r8.x, l(1), r7.x + ishl r8.y, l(1), r7.y + ishl r8.z, l(1), r7.z + ige r7.xyz, r1.zxyz, r8.xyzx + iadd r9.xyz, r8.xyzx, l(-1, -1, -1, 0) + movc r7.xyz, r7.xyzx, r9.xyzx, r1.zxyz + ineg r9.xyz, r1.zxyz + ilt r9.xyz, r8.xyzx, r9.xyzx + and r5.xyz, r1.zxyz, r5.yzwy + movc r5.xyz, r9.xyzx, r8.xyzx, r5.xyzx + movc r1.xyz, r6.yzxy, r7.yzxy, r5.yzxy + mov r4.w, r1.z + else + ishl r1.w, l(1), icb[r0.w + 64].x + iadd r1.w, r1.w, l(-1) + mov r4.w, r1.z + and r4.xyzw, r1.wwww, r4.xyzw + and r1.xy, r1.wwww, r1.xyxx + endif + endif + else + uge r1.w, l(10), r2.x + if_nz r1.w + if_nz icb[r0.w + 32].x + ige r5.xyz, r4.xyzx, l(0, 0, 0, 0) + iadd r6.xyz, l(-1, -1, -1, 0), icb[r0.w + 64].yzwy + ishl r7.x, l(1), r6.x + ishl r7.y, l(1), r6.y + ishl r7.z, l(1), r6.z + ige r6.xyz, r4.xyzx, r7.xyzx + iadd r8.xyz, r7.xyzx, l(-1, -1, -1, 0) + movc r6.xyz, r6.xyzx, r8.xyzx, r4.xyzx + ineg r9.xyz, r4.xyzx + ilt r9.xyz, r7.xyzx, r9.xyzx + ishl r10.x, l(1), icb[r0.w + 64].y + ishl r10.y, l(1), icb[r0.w + 64].z + ishl r10.z, l(1), icb[r0.w + 64].w + iadd r10.xyz, r10.xyzx, l(-1, -1, -1, 0) + and r11.xyz, r4.xyzx, r10.xyzx + movc r9.xyz, r9.xyzx, r7.xyzx, r11.xyzx + movc r4.xyz, r5.xyzx, r6.xyzx, r9.xyzx + ige r5.xyz, r1.zxyz, l(0, 0, 0, 0) + ige r6.xyz, r1.zxyz, r7.xyzx + movc r6.xyz, r6.xyzx, r8.xyzx, r1.zxyz + ineg r8.xyz, r1.zxyz + ilt r8.xyz, r7.xyzx, r8.xyzx + and r9.xyz, r1.zxyz, r10.xyzx + movc r7.xyz, r8.xyzx, r7.xyzx, r9.xyzx + movc r1.xyz, r5.yzxy, r6.yzxy, r7.yzxy + mov r4.w, r1.z + else + ishl r0.w, l(1), icb[r0.w + 64].x + iadd r0.w, r0.w, l(-1) + mov r4.w, r1.z + and r4.xyzw, r0.wwww, r4.xyzw + and r1.xy, r0.wwww, r1.xyxx + endif + else + mov r4.w, r1.z + endif + endif + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r4.xyzw + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(68), r1.xyxx +endif +if_z r0.z + ld_structured r1.xyzw, r0.y, l(52), g0.xyzw + ld_structured r4.xy, r0.y, l(68), g0.xyxx + ult r0.z, l(10), r2.x + if_nz r0.z + and r3.w, r3.x, l(-2) + ieq r0.z, r2.x, l(11) + if_nz r0.z + ishl r5.x, r1.x, l(5) + ishl r5.y, r1.y, l(15) + ishl r5.z, r1.z, l(25) + ishl r5.w, r1.w, l(3) + and r5.xyzw, r5.xyzw, l(32, 0x00008000, 0x02000000, 8) + iadd r0.z, r5.x, l(3) + ishr r0.w, r1.x, l(1) + ishr r2.z, r1.x, l(2) + ishr r2.w, r1.x, l(3) + ishr r4.z, r1.x, l(4) + ishl r6.x, r0.w, l(6) + ishl r6.y, r2.z, l(7) + ishl r6.z, r2.w, l(8) + ishl r6.w, r4.z, l(9) + and r6.xyzw, r6.xyzw, l(64, 128, 256, 512) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.x, l(5) + ishr r2.z, r1.x, l(6) + ishr r2.w, r1.x, l(7) + ishr r4.z, r1.x, l(8) + ishl r6.x, r0.w, l(10) + ishl r6.y, r2.z, l(11) + ishl r6.z, r2.w, l(12) + ishl r6.w, r4.z, l(13) + and r6.xyzw, r6.xyzw, l(1024, 2048, 4096, 8192) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.x, l(9) + ishr r2.z, r1.y, l(1) + ishr r2.w, r1.y, l(2) + ishr r4.z, r1.y, l(3) + ishl r6.x, r0.w, l(14) + ishl r6.y, r2.z, l(16) + ishl r6.z, r2.w, l(17) + ishl r6.w, r4.z, l(18) + and r6.xyzw, r6.xyzw, l(0x00004000, 0x00010000, 0x00020000, 0x00040000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.y, l(4) + ishr r2.z, r1.y, l(5) + ishr r2.w, r1.y, l(6) + ishr r4.z, r1.y, l(7) + ishl r6.x, r0.w, l(19) + ishl r6.y, r2.z, l(20) + ishl r6.z, r2.w, l(21) + ishl r6.w, r4.z, l(22) + and r6.xyzw, r6.xyzw, l(0x00080000, 0x00100000, 0x00200000, 0x00400000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.y, l(8) + ishr r2.z, r1.y, l(9) + ishr r2.w, r1.z, l(1) + ishr r4.z, r1.z, l(2) + ishl r6.x, r0.w, l(23) + ishl r6.y, r2.z, l(24) + ishl r6.z, r2.w, l(26) + ishl r6.w, r4.z, l(27) + and r6.xyzw, r6.xyzw, l(0x00800000, 0x01000000, 0x04000000, 0x08000000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.z, l(3) + ishr r2.z, r1.z, l(4) + ishr r2.w, r1.z, l(5) + ishr r4.z, r1.z, l(6) + ishl r5.x, r0.w, l(28) + ishl r5.y, r2.z, l(29) + ishl r5.z, r2.w, l(30) + ishl r0.w, r4.z, l(31) + and r5.xyz, r5.xyzx, l(0x10000000, 0x20000000, 0x40000000, 0) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r3.x, r0.w, r0.z + ishr r0.z, r1.z, l(7) + ishr r0.w, r1.z, l(8) + ishr r2.z, r1.z, l(9) + ishr r2.w, r1.w, l(1) + and r0.z, r0.z, l(1) + ishl r5.x, r0.w, l(1) + ishl r5.y, r2.z, l(2) + ishl r5.z, r2.w, l(4) + and r5.xyz, r5.xyzx, l(2, 4, 16, 0) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.w, r0.z + iadd r0.z, r5.z, r0.z + ishr r0.w, r1.w, l(2) + ishr r2.z, r1.w, l(3) + ishr r2.w, r1.w, l(4) + ishr r4.z, r1.w, l(5) + ishl r5.x, r0.w, l(5) + ishl r5.y, r2.z, l(6) + ishl r5.z, r2.w, l(7) + ishl r5.w, r4.z, l(8) + and r5.xyzw, r5.xyzw, l(32, 64, 128, 256) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r0.w, r1.w, l(6) + ishr r2.z, r1.w, l(7) + ishr r2.w, r1.w, l(8) + ishr r4.z, r1.w, l(9) + ishl r5.x, r0.w, l(9) + ishl r5.y, r2.z, l(10) + ishl r5.z, r2.w, l(11) + ishl r5.w, r4.z, l(12) + and r5.xyzw, r5.xyzw, l(512, 1024, 2048, 4096) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishl r5.x, r4.x, l(13) + ishl r5.y, r4.y, l(23) + and r2.zw, r5.xxxy, l(0, 0, 8192, 0x00800000) + iadd r0.z, r0.z, r2.z + ishr r0.w, r4.x, l(1) + ishr r2.z, r4.x, l(2) + ishr r4.z, r4.x, l(3) + ishr r4.w, r4.x, l(4) + ishl r5.x, r0.w, l(14) + ishl r5.y, r2.z, l(15) + ishl r5.z, r4.z, l(16) + ishl r5.w, r4.w, l(17) + and r5.xyzw, r5.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r0.w, r4.x, l(5) + ishr r2.z, r4.x, l(6) + ishr r4.z, r4.x, l(7) + ishr r4.w, r4.x, l(8) + ishl r5.x, r0.w, l(18) + ishl r5.y, r2.z, l(19) + ishl r5.z, r4.z, l(20) + ishl r5.w, r4.w, l(21) + and r5.xyzw, r5.xyzw, l(0x00040000, 0x00080000, 0x00100000, 0x00200000) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r0.w, r4.x, l(9) + ishr r2.z, r4.y, l(1) + ishr r4.z, r4.y, l(2) + ishr r4.w, r4.y, l(3) + ishl r5.x, r0.w, l(22) + ishl r5.y, r2.z, l(24) + ishl r5.z, r4.z, l(25) + ishl r5.w, r4.w, l(26) + and r5.xyzw, r5.xyzw, l(0x00400000, 0x01000000, 0x02000000, 0x04000000) + iadd r0.z, r0.z, r5.x + iadd r0.z, r2.w, r0.z + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r0.w, r4.y, l(4) + ishr r2.z, r4.y, l(5) + ishr r2.w, r4.y, l(6) + ishr r4.z, r4.y, l(7) + ishl r5.x, r0.w, l(27) + ishl r5.y, r2.z, l(28) + ishl r5.z, r2.w, l(29) + ishl r5.w, r4.z, l(30) + and r5.xyzw, r5.xyzw, l(0x08000000, 0x10000000, 0x20000000, 0x40000000) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r0.w, r4.y, l(8) + ishr r2.z, r4.y, l(9) + ishl r0.w, r0.w, l(31) + iadd r3.z, r0.w, r0.z + and r0.z, r2.z, l(1) + iadd r3.w, r0.z, r3.w + else + ieq r0.z, r2.x, l(12) + if_nz r0.z + ishl r5.x, r1.x, l(5) + ishl r5.y, r1.y, l(15) + ishl r5.z, r1.z, l(25) + ishl r5.w, r1.w, l(3) + and r5.xyzw, r5.xyzw, l(32, 0x00008000, 0x02000000, 8) + iadd r0.z, r5.x, l(7) + ishr r0.w, r1.x, l(1) + ishr r2.z, r1.x, l(2) + ishr r2.w, r1.x, l(3) + ishr r4.z, r1.x, l(4) + ishl r6.x, r0.w, l(6) + ishl r6.y, r2.z, l(7) + ishl r6.z, r2.w, l(8) + ishl r6.w, r4.z, l(9) + and r6.xyzw, r6.xyzw, l(64, 128, 256, 512) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.x, l(5) + ishr r2.z, r1.x, l(6) + ishr r2.w, r1.x, l(7) + ishr r4.z, r1.x, l(8) + ishl r6.x, r0.w, l(10) + ishl r6.y, r2.z, l(11) + ishl r6.z, r2.w, l(12) + ishl r6.w, r4.z, l(13) + and r6.xyzw, r6.xyzw, l(1024, 2048, 4096, 8192) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.x, l(9) + ishr r2.z, r1.y, l(1) + ishr r2.w, r1.y, l(2) + ishr r4.z, r1.y, l(3) + ishl r6.x, r0.w, l(14) + ishl r6.y, r2.z, l(16) + ishl r6.z, r2.w, l(17) + ishl r6.w, r4.z, l(18) + and r6.xyzw, r6.xyzw, l(0x00004000, 0x00010000, 0x00020000, 0x00040000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.y, l(4) + ishr r2.z, r1.y, l(5) + ishr r2.w, r1.y, l(6) + ishr r4.z, r1.y, l(7) + ishl r6.x, r0.w, l(19) + ishl r6.y, r2.z, l(20) + ishl r6.z, r2.w, l(21) + ishl r6.w, r4.z, l(22) + and r6.xyzw, r6.xyzw, l(0x00080000, 0x00100000, 0x00200000, 0x00400000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.y, l(8) + ishr r2.z, r1.y, l(9) + ishr r2.w, r1.z, l(1) + ishr r4.z, r1.z, l(2) + ishl r6.x, r0.w, l(23) + ishl r6.y, r2.z, l(24) + ishl r6.z, r2.w, l(26) + ishl r6.w, r4.z, l(27) + and r6.xyzw, r6.xyzw, l(0x00800000, 0x01000000, 0x04000000, 0x08000000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.z, l(3) + ishr r2.z, r1.z, l(4) + ishr r2.w, r1.z, l(5) + ishr r4.z, r1.z, l(6) + ishl r5.x, r0.w, l(28) + ishl r5.y, r2.z, l(29) + ishl r5.z, r2.w, l(30) + ishl r0.w, r4.z, l(31) + and r5.xyz, r5.xyzx, l(0x10000000, 0x20000000, 0x40000000, 0) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r3.x, r0.w, r0.z + ishr r0.z, r1.z, l(7) + ishr r0.w, r1.z, l(8) + ishr r2.z, r1.z, l(9) + ishr r2.w, r1.w, l(1) + and r0.z, r0.z, l(1) + ishl r5.x, r0.w, l(1) + ishl r5.y, r2.z, l(2) + ishl r5.z, r2.w, l(4) + and r5.xyz, r5.xyzx, l(2, 4, 16, 0) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.w, r0.z + iadd r0.z, r5.z, r0.z + ishr r0.w, r1.w, l(2) + ishr r2.z, r1.w, l(3) + ishr r2.w, r1.w, l(4) + ishr r4.z, r1.w, l(5) + ishl r5.x, r0.w, l(5) + ishl r5.y, r2.z, l(6) + ishl r5.z, r2.w, l(7) + ishl r5.w, r4.z, l(8) + and r5.xyzw, r5.xyzw, l(32, 64, 128, 256) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r0.w, r1.w, l(6) + ishr r2.z, r1.w, l(7) + ishr r2.w, r1.w, l(8) + ishr r4.z, r1.x, l(10) + ishl r5.x, r0.w, l(9) + ishl r5.y, r2.z, l(10) + ishl r5.z, r2.w, l(11) + ishl r5.w, r4.z, l(12) + and r5.xyzw, r5.xyzw, l(512, 1024, 2048, 4096) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishl r5.x, r4.x, l(13) + ishl r5.y, r4.y, l(23) + and r2.zw, r5.xxxy, l(0, 0, 8192, 0x00800000) + iadd r0.z, r0.z, r2.z + ishr r0.w, r4.x, l(1) + ishr r2.z, r4.x, l(2) + ishr r4.z, r4.x, l(3) + ishr r4.w, r4.x, l(4) + ishl r5.x, r0.w, l(14) + ishl r5.y, r2.z, l(15) + ishl r5.z, r4.z, l(16) + ishl r5.w, r4.w, l(17) + and r5.xyzw, r5.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r0.w, r4.x, l(5) + ishr r2.z, r4.x, l(6) + ishr r4.z, r4.x, l(7) + ishr r4.w, r4.x, l(8) + ishl r5.x, r0.w, l(18) + ishl r5.y, r2.z, l(19) + ishl r5.z, r4.z, l(20) + ishl r5.w, r4.w, l(21) + and r5.xyzw, r5.xyzw, l(0x00040000, 0x00080000, 0x00100000, 0x00200000) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r4.zw, r1.yyyz, l(10) + ishl r0.w, r4.z, l(22) + and r0.w, r0.w, l(0x00400000) + iadd r0.z, r0.w, r0.z + iadd r0.z, r2.w, r0.z + ishr r0.w, r4.y, l(1) + ishr r2.z, r4.y, l(2) + ishr r2.w, r4.y, l(3) + ishr r4.z, r4.y, l(4) + ishl r5.x, r0.w, l(24) + ishl r5.y, r2.z, l(25) + ishl r5.z, r2.w, l(26) + ishl r5.w, r4.z, l(27) + and r5.xyzw, r5.xyzw, l(0x01000000, 0x02000000, 0x04000000, 0x08000000) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r0.w, r4.y, l(5) + ishr r2.z, r4.y, l(6) + ishr r2.w, r4.y, l(7) + ishr r4.z, r4.y, l(8) + ishl r5.x, r0.w, l(28) + ishl r5.y, r2.z, l(29) + ishl r5.z, r2.w, l(30) + ishl r0.w, r4.z, l(31) + and r5.xyz, r5.xyzx, l(0x10000000, 0x20000000, 0x40000000, 0) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r3.z, r0.w, r0.z + and r0.z, r4.w, l(1) + iadd r3.w, r0.z, r3.w + else + ieq r0.z, r2.x, l(13) + if_nz r0.z + ishl r5.x, r1.x, l(5) + ishl r5.y, r1.y, l(15) + ishl r5.z, r1.z, l(25) + ishl r5.w, r1.w, l(3) + and r5.xyzw, r5.xyzw, l(32, 0x00008000, 0x02000000, 8) + iadd r0.z, r5.x, l(11) + ishr r0.w, r1.x, l(1) + ishr r2.z, r1.x, l(2) + ishr r2.w, r1.x, l(3) + ishr r4.z, r1.x, l(4) + ishl r6.x, r0.w, l(6) + ishl r6.y, r2.z, l(7) + ishl r6.z, r2.w, l(8) + ishl r6.w, r4.z, l(9) + and r6.xyzw, r6.xyzw, l(64, 128, 256, 512) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.x, l(5) + ishr r2.z, r1.x, l(6) + ishr r2.w, r1.x, l(7) + ishr r4.z, r1.x, l(8) + ishl r6.x, r0.w, l(10) + ishl r6.y, r2.z, l(11) + ishl r6.z, r2.w, l(12) + ishl r6.w, r4.z, l(13) + and r6.xyzw, r6.xyzw, l(1024, 2048, 4096, 8192) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.x, l(9) + ishr r2.z, r1.y, l(1) + ishr r2.w, r1.y, l(2) + ishr r4.z, r1.y, l(3) + ishl r6.x, r0.w, l(14) + ishl r6.y, r2.z, l(16) + ishl r6.z, r2.w, l(17) + ishl r6.w, r4.z, l(18) + and r6.xyzw, r6.xyzw, l(0x00004000, 0x00010000, 0x00020000, 0x00040000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.y, l(4) + ishr r2.z, r1.y, l(5) + ishr r2.w, r1.y, l(6) + ishr r4.z, r1.y, l(7) + ishl r6.x, r0.w, l(19) + ishl r6.y, r2.z, l(20) + ishl r6.z, r2.w, l(21) + ishl r6.w, r4.z, l(22) + and r6.xyzw, r6.xyzw, l(0x00080000, 0x00100000, 0x00200000, 0x00400000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.y, l(8) + ishr r2.z, r1.y, l(9) + ishr r2.w, r1.z, l(1) + ishr r4.z, r1.z, l(2) + ishl r6.x, r0.w, l(23) + ishl r6.y, r2.z, l(24) + ishl r6.z, r2.w, l(26) + ishl r6.w, r4.z, l(27) + and r6.xyzw, r6.xyzw, l(0x00800000, 0x01000000, 0x04000000, 0x08000000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.z, l(3) + ishr r2.z, r1.z, l(4) + ishr r2.w, r1.z, l(5) + ishr r4.z, r1.z, l(6) + ishl r5.x, r0.w, l(28) + ishl r5.y, r2.z, l(29) + ishl r5.z, r2.w, l(30) + ishl r0.w, r4.z, l(31) + and r5.xyz, r5.xyzx, l(0x10000000, 0x20000000, 0x40000000, 0) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r3.x, r0.w, r0.z + ishr r0.z, r1.z, l(7) + ishr r0.w, r1.z, l(8) + ishr r2.z, r1.z, l(9) + ishr r2.w, r1.w, l(1) + and r0.z, r0.z, l(1) + ishl r5.x, r0.w, l(1) + ishl r5.y, r2.z, l(2) + ishl r5.z, r2.w, l(4) + and r5.xyz, r5.xyzx, l(2, 4, 16, 0) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.w, r0.z + iadd r0.z, r5.z, r0.z + ishr r0.w, r1.w, l(2) + ishr r2.z, r1.w, l(3) + ishr r2.w, r1.w, l(4) + ishr r4.z, r1.w, l(5) + ishl r5.x, r0.w, l(5) + ishl r5.y, r2.z, l(6) + ishl r5.z, r2.w, l(7) + ishl r5.w, r4.z, l(8) + and r5.xyzw, r5.xyzw, l(32, 64, 128, 256) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r0.w, r1.w, l(6) + ishr r2.z, r1.w, l(7) + ishr r2.w, r1.x, l(10) + ishr r4.z, r1.y, l(11) + ishl r5.x, r0.w, l(9) + ishl r5.y, r2.z, l(10) + ishl r5.z, r2.w, l(12) + ishl r5.w, r4.z, l(21) + and r5.xyzw, r5.xyzw, l(512, 1024, 4096, 0x00200000) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + and r0.w, r1.x, l(2048) + iadd r0.z, r0.w, r0.z + iadd r0.z, r5.z, r0.z + ishl r5.x, r4.x, l(13) + ishl r5.y, r4.y, l(23) + and r2.zw, r5.xxxy, l(0, 0, 8192, 0x00800000) + iadd r0.z, r0.z, r2.z + ishr r0.w, r4.x, l(1) + ishr r2.z, r4.x, l(2) + ishr r4.z, r4.x, l(3) + ishr r4.w, r4.x, l(4) + ishl r6.x, r0.w, l(14) + ishl r6.y, r2.z, l(15) + ishl r6.z, r4.z, l(16) + ishl r6.w, r4.w, l(17) + and r6.xyzw, r6.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r4.x, l(5) + ishr r2.z, r4.x, l(6) + ishr r4.z, r4.x, l(7) + ishr r4.w, r4.y, l(1) + ishl r6.x, r0.w, l(18) + ishl r6.y, r2.z, l(19) + ishl r6.z, r4.z, l(20) + ishl r6.w, r4.w, l(24) + and r6.xyzw, r6.xyzw, l(0x00040000, 0x00080000, 0x00100000, 0x01000000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r4.zw, r1.yyyz, l(10) + ishr r0.w, r1.z, l(11) + ishl r2.z, r4.z, l(22) + ishl r0.w, r0.w, l(31) + and r2.z, r2.z, l(0x00400000) + iadd r0.z, r0.z, r2.z + iadd r0.z, r2.w, r0.z + iadd r0.z, r6.w, r0.z + ishr r2.z, r4.y, l(2) + ishr r2.w, r4.y, l(3) + ishr r4.z, r4.y, l(4) + ishr r5.x, r4.y, l(5) + ishl r6.x, r2.z, l(25) + ishl r6.y, r2.w, l(26) + ishl r6.z, r4.z, l(27) + ishl r6.w, r5.x, l(28) + and r5.xyzw, r6.xyzw, l(0x02000000, 0x04000000, 0x08000000, 0x10000000) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r2.z, r4.y, l(6) + ishr r2.w, r4.y, l(7) + ishl r5.x, r2.z, l(29) + ishl r5.y, r2.w, l(30) + and r2.zw, r5.xxxy, l(0, 0, 0x20000000, 0x40000000) + iadd r0.z, r0.z, r2.z + iadd r0.z, r2.w, r0.z + iadd r3.z, r0.w, r0.z + and r0.z, r4.w, l(1) + iadd r3.w, r0.z, r3.w + else + ieq r0.z, r2.x, l(14) + if_nz r0.z + ishl r5.x, r1.x, l(5) + ishl r5.y, r1.y, l(15) + ishl r5.z, r1.z, l(25) + ishl r5.w, r1.w, l(3) + and r5.xyzw, r5.xyzw, l(32, 0x00008000, 0x02000000, 8) + iadd r0.z, r5.x, l(15) + ishr r0.w, r1.x, l(1) + ishr r2.z, r1.x, l(2) + ishr r2.w, r1.x, l(3) + ishr r4.z, r1.x, l(4) + ishl r6.x, r0.w, l(6) + ishl r6.y, r2.z, l(7) + ishl r6.z, r2.w, l(8) + ishl r6.w, r4.z, l(9) + and r6.xyzw, r6.xyzw, l(64, 128, 256, 512) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.x, l(5) + ishr r2.z, r1.x, l(6) + ishr r2.w, r1.x, l(7) + ishr r4.z, r1.x, l(8) + ishl r6.x, r0.w, l(10) + ishl r6.y, r2.z, l(11) + ishl r6.z, r2.w, l(12) + ishl r6.w, r4.z, l(13) + and r6.xyzw, r6.xyzw, l(1024, 2048, 4096, 8192) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.x, l(9) + ishr r2.z, r1.y, l(1) + ishr r2.w, r1.y, l(2) + ishr r4.z, r1.y, l(3) + ishl r6.x, r0.w, l(14) + ishl r6.y, r2.z, l(16) + ishl r6.z, r2.w, l(17) + ishl r6.w, r4.z, l(18) + and r6.xyzw, r6.xyzw, l(0x00004000, 0x00010000, 0x00020000, 0x00040000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.y, l(4) + ishr r2.z, r1.y, l(5) + ishr r2.w, r1.y, l(6) + ishr r4.z, r1.y, l(7) + ishl r6.x, r0.w, l(19) + ishl r6.y, r2.z, l(20) + ishl r6.z, r2.w, l(21) + ishl r6.w, r4.z, l(22) + and r6.xyzw, r6.xyzw, l(0x00080000, 0x00100000, 0x00200000, 0x00400000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.y, l(8) + ishr r2.z, r1.y, l(9) + ishr r2.w, r1.z, l(1) + ishr r4.z, r1.z, l(2) + ishl r6.x, r0.w, l(23) + ishl r6.y, r2.z, l(24) + ishl r6.z, r2.w, l(26) + ishl r6.w, r4.z, l(27) + and r6.xyzw, r6.xyzw, l(0x00800000, 0x01000000, 0x04000000, 0x08000000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r1.z, l(3) + ishr r2.z, r1.z, l(4) + ishr r2.w, r1.z, l(5) + ishr r4.z, r1.z, l(6) + ishl r5.x, r0.w, l(28) + ishl r5.y, r2.z, l(29) + ishl r5.z, r2.w, l(30) + ishl r0.w, r4.z, l(31) + and r5.xyz, r5.xyzx, l(0x10000000, 0x20000000, 0x40000000, 0) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r3.x, r0.w, r0.z + ishr r0.z, r1.z, l(7) + ishr r0.w, r1.z, l(8) + ishr r2.z, r1.z, l(9) + ishr r2.w, r1.w, l(1) + and r0.z, r0.z, l(1) + ishl r5.x, r0.w, l(1) + ishl r5.y, r2.z, l(2) + ishl r5.z, r2.w, l(4) + and r5.xyz, r5.xyzx, l(2, 4, 16, 0) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.w, r0.z + iadd r0.z, r5.z, r0.z + ishr r0.w, r1.w, l(2) + ishr r2.z, r1.w, l(3) + ishr r2.w, r1.x, l(15) + ishr r4.z, r1.x, l(14) + ishl r5.x, r0.w, l(5) + ishl r5.y, r2.z, l(6) + ishl r5.z, r2.w, l(7) + ishl r5.w, r4.z, l(8) + and r5.xyzw, r5.xyzw, l(32, 64, 128, 256) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r0.w, r1.x, l(13) + ishr r2.z, r1.x, l(12) + ishr r2.w, r1.x, l(10) + ishr r4.z, r1.y, l(15) + ishl r5.x, r0.w, l(9) + ishl r5.y, r2.z, l(10) + ishl r5.z, r2.w, l(12) + ishl r5.w, r4.z, l(17) + and r5.xyzw, r5.xyzw, l(512, 1024, 4096, 0x00020000) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + and r0.w, r1.x, l(2048) + iadd r0.z, r0.w, r0.z + iadd r0.z, r5.z, r0.z + ishl r5.x, r4.x, l(13) + ishl r5.y, r4.y, l(23) + and r2.zw, r5.xxxy, l(0, 0, 8192, 0x00800000) + iadd r0.z, r0.z, r2.z + ishr r4.zw, r4.xxxy, l(1) + ishr r0.w, r4.x, l(2) + ishr r2.z, r4.x, l(3) + ishl r6.x, r4.z, l(14) + ishl r6.y, r0.w, l(15) + ishl r6.z, r2.z, l(16) + ishl r6.w, r4.w, l(24) + and r6.xyzw, r6.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x01000000) + iadd r0.z, r0.z, r6.x + iadd r0.z, r6.y, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r0.w, r1.y, l(14) + ishr r2.z, r1.y, l(13) + ishr r4.z, r1.y, l(12) + ishr r4.w, r1.y, l(11) + ishl r5.x, r0.w, l(18) + ishl r5.y, r2.z, l(19) + ishl r5.z, r4.z, l(20) + ishl r5.w, r4.w, l(21) + and r5.xyzw, r5.xyzw, l(0x00040000, 0x00080000, 0x00100000, 0x00200000) + iadd r0.z, r0.z, r5.x + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r0.w, r1.y, l(10) + ishr r2.z, r1.z, l(15) + ishr r4.z, r1.z, l(14) + ishr r4.w, r1.z, l(13) + ishl r5.x, r0.w, l(22) + ishl r5.y, r2.z, l(27) + ishl r5.z, r4.z, l(28) + ishl r5.w, r4.w, l(29) + and r5.xyzw, r5.xyzw, l(0x00400000, 0x08000000, 0x10000000, 0x20000000) + iadd r0.z, r0.z, r5.x + iadd r0.z, r2.w, r0.z + iadd r0.z, r6.w, r0.z + ishr r0.w, r4.y, l(2) + ishr r2.z, r4.y, l(3) + ishl r6.x, r0.w, l(25) + ishl r6.y, r2.z, l(26) + and r2.zw, r6.xxxy, l(0, 0, 0x02000000, 0x04000000) + iadd r0.z, r0.z, r2.z + iadd r0.z, r2.w, r0.z + iadd r0.z, r5.y, r0.z + iadd r0.z, r5.z, r0.z + iadd r0.z, r5.w, r0.z + ishr r0.w, r1.z, l(12) + ishr r2.z, r1.z, l(11) + ishr r2.w, r1.z, l(10) + ishl r0.w, r0.w, l(30) + ishl r2.z, r2.z, l(31) + and r0.w, r0.w, l(0x40000000) + iadd r0.z, r0.w, r0.z + iadd r3.z, r2.z, r0.z + and r0.z, r2.w, l(1) + iadd r3.w, r0.z, r3.w + else + mov r3.xz, l(0,0,0,0) + endif + endif + endif + endif + else + iadd r0.y, r0.y, l(1) + ld_structured r5.xyzw, r0.y, l(52), g0.xyzw + ld_structured r6.xy, r0.y, l(68), g0.xyxx + and r3.w, r3.x, l(0xfffc0000) + ieq r0.y, r2.x, l(1) + if_nz r0.y + ishr r0.yz, r5.yyzy, l(4) + ishr r0.w, r5.y, l(1) + ishr r2.z, r5.y, l(2) + ishl r7.x, r0.y, l(2) + ishl r7.y, r0.z, l(3) + ishl r7.z, r0.w, l(10) + ishl r7.w, r2.z, l(11) + and r7.xyzw, r7.xyzw, l(4, 8, 1024, 2048) + iadd r0.y, r7.y, r7.x + and r0.z, r6.y, l(16) + iadd r0.y, r0.z, r0.y + ishl r8.x, r1.x, l(5) + ishl r8.y, r1.y, l(15) + ishl r8.z, r1.z, l(25) + ishl r8.w, r1.w, l(3) + and r8.xyzw, r8.xyzw, l(32, 0x00008000, 0x02000000, 8) + iadd r0.y, r0.y, r8.x + ishr r0.z, r1.x, l(1) + ishr r0.w, r1.x, l(2) + ishr r2.z, r1.x, l(3) + ishr r2.w, r1.x, l(4) + ishl r9.x, r0.z, l(6) + ishl r9.y, r0.w, l(7) + ishl r9.z, r2.z, l(8) + ishl r9.w, r2.w, l(9) + and r9.xyzw, r9.xyzw, l(64, 128, 256, 512) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + ishr r0.z, r1.x, l(5) + ishr r0.w, r1.x, l(6) + ishr r2.z, r1.x, l(7) + ishr r2.w, r1.x, l(8) + ishl r9.x, r0.z, l(10) + ishl r9.y, r0.w, l(11) + ishl r9.z, r2.z, l(12) + ishl r9.w, r2.w, l(13) + and r9.xyzw, r9.xyzw, l(1024, 2048, 4096, 8192) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + ishr r0.z, r1.x, l(9) + ishr r0.w, r1.y, l(1) + ishr r2.z, r1.y, l(2) + ishr r2.w, r1.y, l(3) + ishl r9.x, r0.z, l(14) + ishl r9.y, r0.w, l(16) + ishl r9.z, r2.z, l(17) + ishl r9.w, r2.w, l(18) + and r9.xyzw, r9.xyzw, l(0x00004000, 0x00010000, 0x00020000, 0x00040000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + ishr r0.z, r1.y, l(4) + ishr r0.w, r1.y, l(5) + ishr r2.z, r1.y, l(6) + ishr r2.w, r1.y, l(7) + ishl r9.x, r0.z, l(19) + ishl r9.y, r0.w, l(20) + ishl r9.z, r2.z, l(21) + ishl r9.w, r2.w, l(22) + and r9.xyzw, r9.xyzw, l(0x00080000, 0x00100000, 0x00200000, 0x00400000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + ishr r0.z, r1.y, l(8) + ishr r0.w, r1.y, l(9) + ishr r2.z, r1.z, l(1) + ishr r2.w, r1.z, l(2) + ishl r9.x, r0.z, l(23) + ishl r9.y, r0.w, l(24) + ishl r9.z, r2.z, l(26) + ishl r9.w, r2.w, l(27) + and r9.xyzw, r9.xyzw, l(0x00800000, 0x01000000, 0x04000000, 0x08000000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + ishr r0.z, r1.z, l(3) + ishr r0.w, r1.z, l(4) + ishr r2.z, r1.z, l(5) + ishr r2.w, r1.z, l(6) + ishl r8.x, r0.z, l(28) + ishl r8.y, r0.w, l(29) + ishl r8.z, r2.z, l(30) + ishl r0.z, r2.w, l(31) + and r8.xyz, r8.xyzx, l(0x10000000, 0x20000000, 0x40000000, 0) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r3.x, r0.z, r0.y + ishr r0.y, r1.z, l(7) + ishr r0.z, r1.z, l(8) + ishr r0.w, r1.z, l(9) + ishr r2.z, r1.w, l(1) + and r0.y, r0.y, l(1) + ishl r8.x, r0.z, l(1) + ishl r8.y, r0.w, l(2) + ishl r8.z, r2.z, l(4) + and r8.xyz, r8.xyzx, l(2, 4, 16, 0) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.w, r0.y + iadd r0.y, r8.z, r0.y + ishr r0.z, r1.w, l(2) + ishr r0.w, r1.w, l(3) + ishr r2.z, r1.w, l(4) + ishl r8.x, r0.z, l(5) + ishl r8.y, r0.w, l(6) + ishl r8.z, r2.z, l(7) + and r8.xyz, r8.xyzx, l(32, 64, 128, 0) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + ishr r0.z, r6.x, l(4) + ishr r0.w, r6.x, l(1) + ishr r2.z, r6.x, l(2) + ishr r2.w, r6.x, l(3) + ishl r8.x, r0.z, l(8) + ishl r8.y, r0.w, l(20) + ishl r8.z, r2.z, l(21) + ishl r8.w, r2.w, l(22) + and r8.xyzw, r8.xyzw, l(256, 0x00100000, 0x00200000, 0x00400000) + iadd r0.y, r0.y, r8.x + ishl r9.x, r5.y, l(9) + ishl r9.y, r5.z, l(29) + ishl r9.z, r5.x, l(1) + ishl r9.w, r5.w, l(7) + and r9.xyzw, r9.xyzw, l(512, 0x20000000, 2, 128) + iadd r0.y, r0.y, r9.x + iadd r0.y, r7.z, r0.y + iadd r0.y, r7.w, r0.y + ishr r0.zw, r5.yyyz, l(3) + ishr r2.z, r5.z, l(1) + ishr r2.w, r5.z, l(2) + ishl r7.x, r0.z, l(12) + ishl r7.y, r2.z, l(30) + ishl r0.z, r2.w, l(31) + and r2.zw, r7.xxxy, l(0, 0, 4096, 0x40000000) + iadd r0.y, r0.y, r2.z + ishl r7.x, r4.x, l(13) + ishl r7.y, r4.y, l(23) + and r4.zw, r7.xxxy, l(0, 0, 8192, 0x00800000) + iadd r0.y, r0.y, r4.z + ishr r2.z, r4.x, l(1) + ishr r4.z, r4.x, l(2) + ishr r6.z, r4.x, l(3) + ishr r6.w, r4.x, l(4) + ishl r7.x, r2.z, l(14) + ishl r7.y, r4.z, l(15) + ishl r7.z, r6.z, l(16) + ishl r7.w, r6.w, l(17) + and r7.xyzw, r7.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r7.w, r0.y + ishl r7.x, r6.y, l(18) + ishl r7.y, r6.x, l(19) + and r6.zw, r7.xxxy, l(0, 0, 0x00040000, 0x00080000) + iadd r0.y, r0.y, r6.z + iadd r0.y, r6.w, r0.y + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + iadd r0.y, r4.w, r0.y + ishr r2.z, r4.y, l(1) + ishr r4.z, r4.y, l(2) + ishr r4.w, r4.y, l(3) + ishr r6.z, r4.y, l(4) + ishl r7.x, r2.z, l(24) + ishl r7.y, r4.z, l(25) + ishl r7.z, r4.w, l(26) + ishl r7.w, r6.z, l(27) + and r7.xyzw, r7.xyzw, l(0x01000000, 0x02000000, 0x04000000, 0x08000000) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r7.w, r0.y + ishr r2.z, r6.y, l(1) + ishr r4.z, r6.y, l(2) + ishr r4.w, r6.y, l(3) + ishl r7.x, r2.z, l(28) + ishl r7.y, r4.z, l(6) + ishl r7.z, r4.w, l(12) + and r7.xyz, r7.xyzx, l(0x10000000, 64, 4096, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r2.w, r0.y + iadd r3.z, r0.z, r0.y + and r0.y, r0.w, l(1) + iadd r0.y, r0.y, r3.w + iadd r0.y, r9.z, r0.y + ishr r0.z, r5.x, l(1) + ishr r0.w, r5.x, l(2) + ishr r2.z, r5.x, l(3) + ishr r2.w, r5.x, l(4) + ishl r8.x, r0.z, l(2) + ishl r8.y, r0.w, l(3) + ishl r8.z, r2.z, l(4) + ishl r8.w, r2.w, l(5) + and r8.xyzw, r8.xyzw, l(4, 8, 16, 32) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + iadd r0.y, r7.y, r0.y + iadd r0.y, r9.w, r0.y + ishr r0.z, r5.w, l(1) + ishr r0.w, r5.w, l(2) + ishr r2.z, r5.w, l(3) + ishr r2.w, r5.w, l(4) + ishl r8.x, r0.z, l(8) + ishl r8.y, r0.w, l(9) + ishl r8.z, r2.z, l(10) + ishl r8.w, r2.w, l(11) + and r8.xyzw, r8.xyzw, l(256, 512, 1024, 2048) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + iadd r0.y, r7.z, r0.y + ishl r0.z, r2.y, l(13) + and r0.z, r0.z, l(8192) + iadd r0.y, r0.z, r0.y + ushr r0.z, r2.y, l(1) + ushr r0.w, r2.y, l(2) + ushr r2.z, r2.y, l(3) + ushr r2.w, r2.y, l(4) + ishl r7.x, r0.z, l(14) + ishl r7.y, r0.w, l(15) + ishl r7.z, r2.z, l(16) + ishl r7.w, r2.w, l(17) + and r7.xyzw, r7.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.w, r7.w, r0.y + else + ieq r0.y, r2.x, l(2) + if_nz r0.y + ishr r0.yz, r5.yyzy, l(5) + ishr r2.zw, r5.zzzy, l(4) + ishl r7.x, r0.y, l(2) + ishl r7.y, r2.z, l(14) + ishl r7.z, r0.z, l(22) + ishl r7.w, r2.w, l(24) + and r7.xyzw, r7.xyzw, l(4, 0x00004000, 0x00400000, 0x01000000) + iadd r0.y, r7.x, l(1) + ishr r0.z, r6.x, l(4) + ishr r0.w, r6.x, l(5) + ishr r2.z, r6.y, l(1) + ishr r2.w, r6.y, l(2) + ishl r8.x, r0.z, l(3) + ishl r8.y, r0.w, l(4) + ishl r8.z, r2.z, l(13) + ishl r8.w, r2.w, l(23) + and r8.xyzw, r8.xyzw, l(8, 16, 8192, 0x00800000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + ishl r9.x, r1.x, l(5) + ishl r9.y, r1.y, l(15) + ishl r9.z, r1.z, l(25) + ishl r9.w, r1.w, l(3) + and r9.xyzw, r9.xyzw, l(32, 0x00008000, 0x02000000, 8) + iadd r0.y, r0.y, r9.x + ishr r0.z, r1.x, l(1) + ishr r0.w, r1.x, l(2) + ishr r2.z, r1.x, l(3) + ishr r2.w, r1.x, l(4) + ishl r10.x, r0.z, l(6) + ishl r10.y, r0.w, l(7) + ishl r10.z, r2.z, l(8) + ishl r10.w, r2.w, l(9) + and r10.xyzw, r10.xyzw, l(64, 128, 256, 512) + iadd r0.y, r0.y, r10.x + iadd r0.y, r10.y, r0.y + iadd r0.y, r10.z, r0.y + iadd r0.y, r10.w, r0.y + ishr r0.z, r1.x, l(5) + ishr r0.w, r1.x, l(6) + ishr r2.z, r1.y, l(1) + ishr r2.w, r1.y, l(2) + ishl r10.x, r0.z, l(10) + ishl r10.y, r0.w, l(11) + ishl r10.z, r2.z, l(16) + ishl r10.w, r2.w, l(17) + and r10.xyzw, r10.xyzw, l(1024, 2048, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r10.x + iadd r0.y, r10.y, r0.y + ishl r8.x, r6.y, l(12) + ishl r8.y, r6.x, l(19) + and r0.zw, r8.xxxy, l(0, 0, 4096, 0x00080000) + iadd r0.y, r0.z, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r7.y, r0.y + iadd r0.y, r9.y, r0.y + iadd r0.y, r10.z, r0.y + iadd r0.y, r10.w, r0.y + ishr r0.z, r1.y, l(3) + ishr r2.z, r1.y, l(4) + ishr r2.w, r1.y, l(5) + ishr r4.z, r1.y, l(6) + ishl r10.x, r0.z, l(18) + ishl r10.y, r2.z, l(19) + ishl r10.z, r2.w, l(20) + ishl r10.w, r4.z, l(21) + and r10.xyzw, r10.xyzw, l(0x00040000, 0x00080000, 0x00100000, 0x00200000) + iadd r0.y, r0.y, r10.x + iadd r0.y, r10.y, r0.y + iadd r0.y, r10.z, r0.y + iadd r0.y, r10.w, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r8.w, r0.y + iadd r0.y, r7.w, r0.y + iadd r0.y, r9.z, r0.y + ishr r0.z, r1.z, l(1) + ishr r2.z, r1.z, l(2) + ishr r2.w, r1.z, l(3) + ishr r4.z, r1.z, l(4) + ishl r7.x, r0.z, l(26) + ishl r7.y, r2.z, l(27) + ishl r7.z, r2.w, l(28) + ishl r7.w, r4.z, l(29) + and r7.xyzw, r7.xyzw, l(0x04000000, 0x08000000, 0x10000000, 0x20000000) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r7.w, r0.y + ishr r0.z, r1.z, l(5) + ishr r2.z, r1.z, l(6) + ishr r2.w, r1.w, l(1) + ishr r4.z, r1.w, l(2) + ishl r7.x, r0.z, l(30) + ishl r0.z, r2.z, l(31) + ishl r7.z, r2.w, l(4) + ishl r7.w, r4.z, l(5) + and r7.xyz, r7.xzwx, l(0x40000000, 16, 32, 0) + iadd r0.y, r0.y, r7.x + iadd r3.x, r0.z, r0.y + ishr r0.y, r6.y, l(3) + ishr r0.z, r6.y, l(5) + ishr r2.z, r6.y, l(4) + ishr r2.w, r6.x, l(1) + and r0.y, r0.y, l(1) + ishl r8.x, r0.z, l(1) + ishl r8.y, r2.z, l(2) + ishl r8.z, r2.w, l(20) + and r8.xyz, r8.xyzx, l(2, 4, 0x00100000, 0) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r9.w, r0.y + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + ishr r0.z, r1.w, l(3) + ishr r2.z, r1.w, l(4) + ishr r2.w, r1.w, l(5) + ishl r7.x, r0.z, l(6) + ishl r7.y, r2.z, l(7) + ishl r7.z, r2.w, l(8) + and r7.xyz, r7.xyzx, l(64, 128, 256, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + ishl r7.x, r5.y, l(9) + ishl r7.y, r5.z, l(29) + ishl r7.z, r5.x, l(1) + ishl r7.w, r5.w, l(7) + and r7.xyzw, r7.xyzw, l(512, 0x20000000, 2, 128) + iadd r0.y, r0.y, r7.x + ishr r2.zw, r5.yyyz, l(1) + ishr r0.z, r5.y, l(2) + ishr r4.z, r5.y, l(3) + ishl r9.x, r2.z, l(10) + ishl r9.y, r0.z, l(11) + ishl r9.z, r4.z, l(12) + ishl r9.w, r2.w, l(30) + and r9.xyzw, r9.xyzw, l(1024, 2048, 4096, 0x40000000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + ishl r8.x, r4.x, l(13) + ishl r8.y, r4.y, l(23) + and r2.zw, r8.xxxy, l(0, 0, 8192, 0x00800000) + iadd r0.y, r0.y, r2.z + ishr r0.z, r4.x, l(1) + ishr r2.z, r4.x, l(2) + ishr r4.z, r4.x, l(3) + ishr r4.w, r4.x, l(4) + ishl r10.x, r0.z, l(14) + ishl r10.y, r2.z, l(15) + ishl r10.z, r4.z, l(16) + ishl r10.w, r4.w, l(17) + and r10.xyzw, r10.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r10.x + iadd r0.y, r10.y, r0.y + iadd r0.y, r10.z, r0.y + iadd r0.y, r10.w, r0.y + ishr r0.z, r4.x, l(5) + ishr r2.z, r4.y, l(1) + ishr r4.z, r4.y, l(2) + ishr r4.w, r4.y, l(3) + ishl r10.x, r0.z, l(18) + ishl r10.y, r2.z, l(24) + ishl r10.z, r4.z, l(25) + ishl r10.w, r4.w, l(26) + and r10.xyzw, r10.xyzw, l(0x00040000, 0x01000000, 0x02000000, 0x04000000) + iadd r0.y, r0.y, r10.x + iadd r0.y, r0.w, r0.y + iadd r0.y, r8.z, r0.y + ishr r0.z, r6.x, l(2) + ishr r0.w, r6.x, l(3) + ishl r8.x, r0.z, l(21) + ishl r8.y, r0.w, l(22) + and r0.zw, r8.xxxy, l(0, 0, 0x00200000, 0x00400000) + iadd r0.y, r0.z, r0.y + iadd r0.y, r0.w, r0.y + iadd r0.y, r2.w, r0.y + iadd r0.y, r10.y, r0.y + iadd r0.y, r10.z, r0.y + iadd r0.y, r10.w, r0.y + ishr r0.z, r4.y, l(4) + ishr r0.w, r4.y, l(5) + ishl r8.x, r0.z, l(27) + ishl r8.y, r0.w, l(28) + and r0.zw, r8.xxxy, l(0, 0, 0x08000000, 0x10000000) + iadd r0.y, r0.z, r0.y + iadd r0.y, r0.w, r0.y + iadd r0.y, r7.y, r0.y + iadd r0.y, r9.w, r0.y + ishr r0.zw, r5.zzzx, l(2) + ishr r2.z, r5.z, l(3) + ishr r2.w, r5.x, l(1) + ishl r8.x, r0.z, l(31) + ishl r8.y, r2.w, l(2) + ishl r8.z, r0.w, l(3) + iadd r3.z, r0.y, r8.x + and r0.y, r2.z, l(1) + iadd r0.y, r0.y, r3.w + iadd r0.y, r7.z, r0.y + and r0.zw, r8.yyyz, l(0, 0, 4, 8) + iadd r0.y, r0.z, r0.y + iadd r0.y, r0.w, r0.y + ishr r0.z, r5.x, l(3) + ishr r0.w, r5.x, l(4) + ishr r2.z, r5.x, l(5) + ishr r2.w, r5.w, l(1) + ishl r8.x, r0.z, l(4) + ishl r8.y, r0.w, l(5) + ishl r8.z, r2.z, l(6) + ishl r8.w, r2.w, l(8) + and r8.xyzw, r8.xyzw, l(16, 32, 64, 256) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r7.w, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r5.w, l(2) + ishr r0.w, r5.w, l(3) + ishr r2.z, r5.w, l(4) + ishr r2.w, r5.w, l(5) + ishl r7.x, r0.z, l(9) + ishl r7.y, r0.w, l(10) + ishl r7.z, r2.z, l(11) + ishl r7.w, r2.w, l(12) + and r7.xyzw, r7.xyzw, l(512, 1024, 2048, 4096) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r7.w, r0.y + ishl r0.z, r2.y, l(13) + and r0.z, r0.z, l(8192) + iadd r0.y, r0.z, r0.y + ushr r0.z, r2.y, l(1) + ushr r0.w, r2.y, l(2) + ushr r2.z, r2.y, l(3) + ushr r2.w, r2.y, l(4) + ishl r7.x, r0.z, l(14) + ishl r7.y, r0.w, l(15) + ishl r7.z, r2.z, l(16) + ishl r7.w, r2.w, l(17) + and r7.xyzw, r7.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.w, r7.w, r0.y + else + ieq r0.y, r2.x, l(3) + if_nz r0.y + ishl r7.x, r1.x, l(5) + ishl r7.y, r1.y, l(15) + ishl r7.z, r1.z, l(25) + ishl r7.w, r1.w, l(3) + and r7.xyzw, r7.xyzw, l(32, 0x00008000, 0x02000000, 8) + iadd r0.y, r7.x, l(2) + ishr r0.z, r1.x, l(1) + ishr r0.w, r1.x, l(2) + ishr r2.z, r1.x, l(3) + ishr r2.w, r1.x, l(4) + ishl r8.x, r0.z, l(6) + ishl r8.y, r0.w, l(7) + ishl r8.z, r2.z, l(8) + ishl r8.w, r2.w, l(9) + and r8.xyzw, r8.xyzw, l(64, 128, 256, 512) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.x, l(5) + ishr r0.w, r1.x, l(6) + ishr r2.z, r1.x, l(7) + ishr r2.w, r1.x, l(8) + ishl r8.x, r0.z, l(10) + ishl r8.y, r0.w, l(11) + ishl r8.z, r2.z, l(12) + ishl r8.w, r2.w, l(13) + and r8.xyzw, r8.xyzw, l(1024, 2048, 4096, 8192) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.x, l(9) + ishr r0.w, r1.y, l(1) + ishr r2.z, r1.y, l(2) + ishr r2.w, r1.y, l(3) + ishl r8.x, r0.z, l(14) + ishl r8.y, r0.w, l(16) + ishl r8.z, r2.z, l(17) + ishl r8.w, r2.w, l(18) + and r8.xyzw, r8.xyzw, l(0x00004000, 0x00010000, 0x00020000, 0x00040000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.y, l(4) + ishr r0.w, r1.y, l(5) + ishr r2.z, r1.y, l(6) + ishr r2.w, r1.y, l(7) + ishl r8.x, r0.z, l(19) + ishl r8.y, r0.w, l(20) + ishl r8.z, r2.z, l(21) + ishl r8.w, r2.w, l(22) + and r8.xyzw, r8.xyzw, l(0x00080000, 0x00100000, 0x00200000, 0x00400000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.y, l(8) + ishr r0.w, r1.y, l(9) + ishr r2.z, r1.z, l(1) + ishr r2.w, r1.z, l(2) + ishl r8.x, r0.z, l(23) + ishl r8.y, r0.w, l(24) + ishl r8.z, r2.z, l(26) + ishl r8.w, r2.w, l(27) + and r8.xyzw, r8.xyzw, l(0x00800000, 0x01000000, 0x04000000, 0x08000000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.z, l(3) + ishr r0.w, r1.z, l(4) + ishr r2.z, r1.z, l(5) + ishr r2.w, r1.z, l(6) + ishl r7.x, r0.z, l(28) + ishl r7.y, r0.w, l(29) + ishl r7.z, r2.z, l(30) + ishl r0.z, r2.w, l(31) + and r7.xyz, r7.xyzx, l(0x10000000, 0x20000000, 0x40000000, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.x, r0.z, r0.y + ishr r0.y, r1.z, l(7) + ishr r0.z, r1.z, l(8) + ishr r0.w, r1.z, l(9) + ishr r2.z, r1.w, l(1) + and r0.y, r0.y, l(1) + ishl r7.x, r0.z, l(1) + ishl r7.y, r0.w, l(2) + ishl r7.z, r2.z, l(4) + and r7.xyz, r7.xyzx, l(2, 4, 16, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.w, r0.y + iadd r0.y, r7.z, r0.y + ishr r0.z, r1.w, l(2) + ishr r0.w, r1.w, l(3) + ishr r2.z, r1.w, l(4) + ishr r2.w, r1.x, l(10) + ishl r7.x, r0.z, l(5) + ishl r7.y, r0.w, l(6) + ishl r7.z, r2.z, l(7) + ishl r7.w, r2.w, l(8) + and r7.xyzw, r7.xyzw, l(32, 64, 128, 256) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r7.w, r0.y + ishl r7.x, r5.y, l(9) + ishl r7.y, r5.z, l(29) + ishl r7.z, r5.x, l(1) + ishl r7.w, r5.w, l(7) + and r7.xyzw, r7.xyzw, l(512, 0x20000000, 2, 128) + iadd r0.y, r0.y, r7.x + ishr r0.zw, r5.yyyz, l(1) + ishr r2.z, r5.y, l(2) + ishr r2.w, r5.y, l(3) + ishl r8.x, r0.z, l(10) + ishl r8.y, r2.z, l(11) + ishl r8.z, r2.w, l(12) + ishl r8.w, r0.w, l(30) + and r8.xyzw, r8.xyzw, l(1024, 2048, 4096, 0x40000000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + ishl r8.x, r4.x, l(13) + ishl r8.y, r4.y, l(23) + and r0.zw, r8.xxxy, l(0, 0, 8192, 0x00800000) + iadd r0.y, r0.z, r0.y + ishr r2.zw, r4.xxxy, l(1) + ishr r0.z, r4.x, l(2) + ishr r4.z, r4.x, l(3) + ishl r9.x, r2.z, l(14) + ishl r9.y, r0.z, l(15) + ishl r9.z, r4.z, l(16) + ishl r9.w, r2.w, l(24) + and r9.xyzw, r9.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x01000000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + ishr r2.zw, r1.yyyz, l(10) + ishl r8.x, r2.z, l(17) + ishl r8.y, r2.w, l(27) + and r2.zw, r8.xxxy, l(0, 0, 0x00020000, 0x08000000) + iadd r0.y, r0.y, r2.z + ishl r8.x, r6.y, l(18) + ishl r8.y, r6.x, l(19) + and r4.zw, r8.xxxy, l(0, 0, 0x00040000, 0x00080000) + iadd r0.y, r0.y, r4.z + iadd r0.y, r4.w, r0.y + ishr r4.zw, r6.xxxy, l(1) + ishr r0.z, r6.x, l(2) + ishr r2.z, r6.x, l(3) + ishl r10.x, r4.z, l(20) + ishl r10.y, r0.z, l(21) + ishl r10.z, r2.z, l(22) + ishl r10.w, r4.w, l(28) + and r10.xyzw, r10.xyzw, l(0x00100000, 0x00200000, 0x00400000, 0x10000000) + iadd r0.y, r0.y, r10.x + iadd r0.y, r10.y, r0.y + iadd r0.y, r10.z, r0.y + iadd r0.y, r0.w, r0.y + iadd r0.y, r9.w, r0.y + ishr r0.z, r4.y, l(2) + ishr r0.w, r4.y, l(3) + ishl r8.x, r0.z, l(25) + ishl r8.y, r0.w, l(26) + and r0.zw, r8.xxxy, l(0, 0, 0x02000000, 0x04000000) + iadd r0.y, r0.z, r0.y + iadd r0.y, r0.w, r0.y + iadd r0.y, r2.w, r0.y + iadd r0.y, r10.w, r0.y + iadd r0.y, r7.y, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.zw, r5.zzzx, l(2) + ishr r2.z, r5.z, l(3) + ishr r2.w, r5.x, l(1) + ishl r8.x, r0.z, l(31) + ishl r8.y, r2.w, l(2) + ishl r8.z, r0.w, l(3) + iadd r3.z, r0.y, r8.x + and r0.y, r2.z, l(1) + iadd r0.y, r0.y, r3.w + iadd r0.y, r7.z, r0.y + and r0.zw, r8.yyyz, l(0, 0, 4, 8) + iadd r0.y, r0.z, r0.y + iadd r0.y, r0.w, r0.y + ishr r0.z, r5.x, l(3) + ishr r0.w, r5.x, l(4) + ishr r2.z, r5.w, l(1) + ishr r2.w, r5.w, l(2) + ishl r8.x, r0.z, l(4) + ishl r8.y, r0.w, l(5) + ishl r8.z, r2.z, l(8) + ishl r8.w, r2.w, l(9) + and r8.xyzw, r8.xyzw, l(16, 32, 256, 512) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + ishr r0.z, r6.y, l(2) + ishr r0.w, r6.y, l(3) + ishl r7.x, r0.z, l(6) + ishl r7.y, r0.w, l(12) + and r0.zw, r7.xxxy, l(0, 0, 64, 4096) + iadd r0.y, r0.z, r0.y + iadd r0.y, r7.w, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r5.w, l(3) + ishr r2.z, r5.w, l(4) + ishl r7.x, r0.z, l(10) + ishl r7.y, r2.z, l(11) + and r2.zw, r7.xxxy, l(0, 0, 1024, 2048) + iadd r0.y, r0.y, r2.z + iadd r0.y, r2.w, r0.y + iadd r0.y, r0.w, r0.y + ishl r0.z, r2.y, l(13) + and r0.z, r0.z, l(8192) + iadd r0.y, r0.z, r0.y + ushr r0.z, r2.y, l(1) + ushr r0.w, r2.y, l(2) + ushr r2.z, r2.y, l(3) + ushr r2.w, r2.y, l(4) + ishl r7.x, r0.z, l(14) + ishl r7.y, r0.w, l(15) + ishl r7.z, r2.z, l(16) + ishl r7.w, r2.w, l(17) + and r7.xyzw, r7.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.w, r7.w, r0.y + else + ieq r0.y, r2.x, l(4) + if_nz r0.y + ishl r7.x, r1.x, l(5) + ishl r7.y, r1.y, l(15) + ishl r7.z, r1.z, l(25) + ishl r7.w, r1.w, l(3) + and r7.xyzw, r7.xyzw, l(32, 0x00008000, 0x02000000, 8) + iadd r0.y, r7.x, l(6) + ishr r0.z, r1.x, l(1) + ishr r0.w, r1.x, l(2) + ishr r2.z, r1.x, l(3) + ishr r2.w, r1.x, l(4) + ishl r8.x, r0.z, l(6) + ishl r8.y, r0.w, l(7) + ishl r8.z, r2.z, l(8) + ishl r8.w, r2.w, l(9) + and r8.xyzw, r8.xyzw, l(64, 128, 256, 512) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.x, l(5) + ishr r0.w, r1.x, l(6) + ishr r2.z, r1.x, l(7) + ishr r2.w, r1.x, l(8) + ishl r8.x, r0.z, l(10) + ishl r8.y, r0.w, l(11) + ishl r8.z, r2.z, l(12) + ishl r8.w, r2.w, l(13) + and r8.xyzw, r8.xyzw, l(1024, 2048, 4096, 8192) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.x, l(9) + ishr r0.w, r1.y, l(1) + ishr r2.z, r1.y, l(2) + ishr r2.w, r1.y, l(3) + ishl r8.x, r0.z, l(14) + ishl r8.y, r0.w, l(16) + ishl r8.z, r2.z, l(17) + ishl r8.w, r2.w, l(18) + and r8.xyzw, r8.xyzw, l(0x00004000, 0x00010000, 0x00020000, 0x00040000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.y, l(4) + ishr r0.w, r1.y, l(5) + ishr r2.z, r1.y, l(6) + ishr r2.w, r1.y, l(7) + ishl r8.x, r0.z, l(19) + ishl r8.y, r0.w, l(20) + ishl r8.z, r2.z, l(21) + ishl r8.w, r2.w, l(22) + and r8.xyzw, r8.xyzw, l(0x00080000, 0x00100000, 0x00200000, 0x00400000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.y, l(8) + ishr r0.w, r1.y, l(9) + ishr r2.z, r1.z, l(1) + ishr r2.w, r1.z, l(2) + ishl r8.x, r0.z, l(23) + ishl r8.y, r0.w, l(24) + ishl r8.z, r2.z, l(26) + ishl r8.w, r2.w, l(27) + and r8.xyzw, r8.xyzw, l(0x00800000, 0x01000000, 0x04000000, 0x08000000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.z, l(3) + ishr r0.w, r1.z, l(4) + ishr r2.z, r1.z, l(5) + ishr r2.w, r1.z, l(6) + ishl r7.x, r0.z, l(28) + ishl r7.y, r0.w, l(29) + ishl r7.z, r2.z, l(30) + ishl r0.z, r2.w, l(31) + and r7.xyz, r7.xyzx, l(0x10000000, 0x20000000, 0x40000000, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.x, r0.z, r0.y + ishr r0.y, r1.z, l(7) + ishr r0.z, r1.z, l(8) + ishr r0.w, r1.z, l(9) + ishr r2.z, r1.w, l(1) + and r0.y, r0.y, l(1) + ishl r7.x, r0.z, l(1) + ishl r7.y, r0.w, l(2) + ishl r7.z, r2.z, l(4) + and r7.xyz, r7.xyzx, l(2, 4, 16, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.w, r0.y + iadd r0.y, r7.z, r0.y + ishr r0.z, r1.w, l(2) + ishr r0.w, r1.w, l(3) + ishr r2.zw, r1.xxxy, l(10) + ishl r7.x, r0.z, l(5) + ishl r7.y, r0.w, l(6) + ishl r7.z, r2.z, l(7) + ishl r7.w, r2.w, l(18) + and r7.xyzw, r7.xyzw, l(32, 64, 128, 0x00040000) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + ishr r0.z, r6.x, l(4) + ishr r0.w, r6.x, l(1) + ishr r2.z, r6.x, l(2) + ishr r2.w, r6.x, l(3) + ishl r8.x, r0.z, l(8) + ishl r8.y, r0.w, l(20) + ishl r8.z, r2.z, l(21) + ishl r8.w, r2.w, l(22) + and r8.xyzw, r8.xyzw, l(256, 0x00100000, 0x00200000, 0x00400000) + iadd r0.y, r0.y, r8.x + ishl r9.x, r5.y, l(9) + ishl r9.y, r5.z, l(29) + ishl r9.z, r5.x, l(1) + ishl r9.w, r5.w, l(7) + and r9.xyzw, r9.xyzw, l(512, 0x20000000, 2, 128) + iadd r0.y, r0.y, r9.x + ishr r0.zw, r5.yyyz, l(1) + ishr r2.z, r5.y, l(2) + ishr r2.w, r5.y, l(3) + ishl r10.x, r0.z, l(10) + ishl r10.y, r2.z, l(11) + ishl r10.z, r2.w, l(12) + ishl r10.w, r0.w, l(30) + and r10.xyzw, r10.xyzw, l(1024, 2048, 4096, 0x40000000) + iadd r0.y, r0.y, r10.x + iadd r0.y, r10.y, r0.y + iadd r0.y, r10.z, r0.y + ishl r7.x, r4.x, l(13) + ishl r7.y, r4.y, l(23) + and r0.zw, r7.xxxy, l(0, 0, 8192, 0x00800000) + iadd r0.y, r0.z, r0.y + ishr r0.z, r4.x, l(1) + ishr r2.z, r4.x, l(2) + ishr r2.w, r4.x, l(3) + ishr r4.z, r4.x, l(4) + ishl r11.x, r0.z, l(14) + ishl r11.y, r2.z, l(15) + ishl r11.z, r2.w, l(16) + ishl r11.w, r4.z, l(17) + and r11.xyzw, r11.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r11.x + iadd r0.y, r11.y, r0.y + iadd r0.y, r11.z, r0.y + iadd r0.y, r11.w, r0.y + iadd r0.y, r7.w, r0.y + ishl r7.x, r6.x, l(19) + ishl r7.y, r6.y, l(5) + and r2.zw, r7.xxxy, l(0, 0, 0x00080000, 32) + iadd r0.y, r0.y, r2.z + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + iadd r0.y, r0.w, r0.y + ishr r0.z, r4.y, l(1) + ishr r0.w, r4.y, l(2) + ishr r2.z, r4.y, l(3) + ishl r7.x, r0.z, l(24) + ishl r7.y, r0.w, l(25) + ishl r7.z, r2.z, l(26) + and r7.xyz, r7.xyzx, l(0x01000000, 0x02000000, 0x04000000, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + ishr r0.z, r1.z, l(10) + ishl r0.z, r0.z, l(27) + and r0.z, r0.z, l(0x08000000) + iadd r0.y, r0.z, r0.y + ishr r0.z, r6.y, l(1) + ishr r0.w, r6.y, l(2) + ishr r2.z, r6.y, l(3) + ishl r7.x, r0.z, l(28) + ishl r7.y, r0.w, l(6) + ishl r7.z, r2.z, l(12) + and r7.xyz, r7.xyzx, l(0x10000000, 64, 4096, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r10.w, r0.y + ishr r0.zw, r5.zzzx, l(2) + ishr r2.z, r5.z, l(3) + ishr r4.z, r5.x, l(1) + ishl r8.x, r0.z, l(31) + ishl r8.y, r4.z, l(2) + ishl r8.z, r0.w, l(3) + iadd r3.z, r0.y, r8.x + and r0.y, r2.z, l(1) + iadd r0.y, r0.y, r3.w + iadd r0.y, r9.z, r0.y + and r0.zw, r8.yyyz, l(0, 0, 4, 8) + iadd r0.y, r0.z, r0.y + iadd r0.y, r0.w, r0.y + ishr r0.zw, r5.xxxw, l(3) + ishr r2.z, r5.w, l(1) + ishr r4.z, r5.w, l(2) + ishl r8.x, r0.z, l(4) + ishl r8.y, r2.z, l(8) + ishl r8.z, r4.z, l(9) + ishl r8.w, r0.w, l(10) + and r8.xyzw, r8.xyzw, l(16, 256, 512, 1024) + iadd r0.y, r0.y, r8.x + iadd r0.y, r2.w, r0.y + iadd r0.y, r7.y, r0.y + iadd r0.y, r9.w, r0.y + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r5.y, l(4) + ishl r0.z, r0.z, l(11) + and r0.z, r0.z, l(2048) + iadd r0.y, r0.z, r0.y + iadd r0.y, r7.z, r0.y + ishl r0.z, r2.y, l(13) + and r0.z, r0.z, l(8192) + iadd r0.y, r0.z, r0.y + ushr r0.z, r2.y, l(1) + ushr r0.w, r2.y, l(2) + ushr r2.z, r2.y, l(3) + ushr r2.w, r2.y, l(4) + ishl r7.x, r0.z, l(14) + ishl r7.y, r0.w, l(15) + ishl r7.z, r2.z, l(16) + ishl r7.w, r2.w, l(17) + and r7.xyzw, r7.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.w, r7.w, r0.y + else + ieq r0.y, r2.x, l(5) + if_nz r0.y + ishl r7.x, r1.x, l(5) + ishl r7.y, r1.y, l(15) + ishl r7.z, r1.z, l(25) + ishl r7.w, r1.w, l(3) + and r7.xyzw, r7.xyzw, l(32, 0x00008000, 0x02000000, 8) + iadd r0.y, r7.x, l(10) + ishr r0.z, r1.x, l(1) + ishr r0.w, r1.x, l(2) + ishr r2.z, r1.x, l(3) + ishr r2.w, r1.x, l(4) + ishl r8.x, r0.z, l(6) + ishl r8.y, r0.w, l(7) + ishl r8.z, r2.z, l(8) + ishl r8.w, r2.w, l(9) + and r8.xyzw, r8.xyzw, l(64, 128, 256, 512) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.x, l(5) + ishr r0.w, r1.x, l(6) + ishr r2.z, r1.x, l(7) + ishr r2.w, r1.x, l(8) + ishl r8.x, r0.z, l(10) + ishl r8.y, r0.w, l(11) + ishl r8.z, r2.z, l(12) + ishl r8.w, r2.w, l(13) + and r8.xyzw, r8.xyzw, l(1024, 2048, 4096, 8192) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.x, l(9) + ishr r0.w, r1.y, l(1) + ishr r2.z, r1.y, l(2) + ishr r2.w, r1.y, l(3) + ishl r8.x, r0.z, l(14) + ishl r8.y, r0.w, l(16) + ishl r8.z, r2.z, l(17) + ishl r8.w, r2.w, l(18) + and r8.xyzw, r8.xyzw, l(0x00004000, 0x00010000, 0x00020000, 0x00040000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.y, l(4) + ishr r0.w, r1.y, l(5) + ishr r2.z, r1.y, l(6) + ishr r2.w, r1.y, l(7) + ishl r8.x, r0.z, l(19) + ishl r8.y, r0.w, l(20) + ishl r8.z, r2.z, l(21) + ishl r8.w, r2.w, l(22) + and r8.xyzw, r8.xyzw, l(0x00080000, 0x00100000, 0x00200000, 0x00400000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.y, l(8) + ishr r0.w, r1.y, l(9) + ishr r2.z, r1.z, l(1) + ishr r2.w, r1.z, l(2) + ishl r8.x, r0.z, l(23) + ishl r8.y, r0.w, l(24) + ishl r8.z, r2.z, l(26) + ishl r8.w, r2.w, l(27) + and r8.xyzw, r8.xyzw, l(0x00800000, 0x01000000, 0x04000000, 0x08000000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.z, l(3) + ishr r0.w, r1.z, l(4) + ishr r2.z, r1.z, l(5) + ishr r2.w, r1.z, l(6) + ishl r7.x, r0.z, l(28) + ishl r7.y, r0.w, l(29) + ishl r7.z, r2.z, l(30) + ishl r0.z, r2.w, l(31) + and r7.xyz, r7.xyzx, l(0x10000000, 0x20000000, 0x40000000, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.x, r0.z, r0.y + ishr r0.y, r1.z, l(7) + ishr r0.z, r1.z, l(8) + ishr r0.w, r1.z, l(9) + ishr r2.z, r1.w, l(1) + and r0.y, r0.y, l(1) + ishl r7.x, r0.z, l(1) + ishl r7.y, r0.w, l(2) + ishl r7.z, r2.z, l(4) + and r7.xyz, r7.xyzx, l(2, 4, 16, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.w, r0.y + iadd r0.y, r7.z, r0.y + ishr r0.z, r1.w, l(2) + ishr r0.w, r1.w, l(3) + ishr r2.zw, r1.xxxy, l(10) + ishl r7.x, r0.z, l(5) + ishl r7.y, r0.w, l(6) + ishl r7.z, r2.z, l(7) + ishl r7.w, r2.w, l(17) + and r7.xyzw, r7.xyzw, l(32, 64, 128, 0x00020000) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + ishr r0.z, r5.z, l(4) + ishr r0.w, r5.y, l(1) + ishr r2.z, r5.y, l(2) + ishr r2.w, r5.y, l(3) + ishl r8.x, r0.z, l(8) + ishl r8.y, r0.w, l(10) + ishl r8.z, r2.z, l(11) + ishl r8.w, r2.w, l(12) + and r8.xyzw, r8.xyzw, l(256, 1024, 2048, 4096) + iadd r0.y, r0.y, r8.x + ishl r9.x, r5.y, l(9) + ishl r9.y, r5.z, l(29) + ishl r9.z, r5.x, l(1) + ishl r9.w, r5.w, l(7) + and r9.xyzw, r9.xyzw, l(512, 0x20000000, 2, 128) + iadd r0.y, r0.y, r9.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishl r7.x, r4.x, l(13) + ishl r7.y, r4.y, l(23) + and r0.zw, r7.xxxy, l(0, 0, 8192, 0x00800000) + iadd r0.y, r0.z, r0.y + ishr r2.zw, r4.xxxy, l(1) + ishr r0.z, r4.x, l(2) + ishr r4.z, r4.x, l(3) + ishl r8.x, r2.z, l(14) + ishl r8.y, r0.z, l(15) + ishl r8.z, r4.z, l(16) + ishl r8.w, r2.w, l(24) + and r8.xyzw, r8.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x01000000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r7.w, r0.y + ishl r7.x, r6.y, l(18) + ishl r7.y, r6.x, l(19) + and r2.zw, r7.xxxy, l(0, 0, 0x00040000, 0x00080000) + iadd r0.y, r0.y, r2.z + iadd r0.y, r2.w, r0.y + ishr r2.zw, r6.xxxy, l(1) + ishr r0.z, r6.x, l(2) + ishr r4.z, r6.x, l(3) + ishl r7.x, r2.z, l(20) + ishl r7.y, r0.z, l(21) + ishl r7.z, r4.z, l(22) + ishl r7.w, r2.w, l(5) + and r7.xyzw, r7.xyzw, l(0x00100000, 0x00200000, 0x00400000, 32) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r0.w, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r4.y, l(2) + ishr r0.w, r4.y, l(3) + ishr r2.z, r4.y, l(4) + ishl r7.x, r0.z, l(25) + ishl r7.y, r0.w, l(26) + ishl r7.z, r2.z, l(27) + and r7.xyz, r7.xyzx, l(0x02000000, 0x04000000, 0x08000000, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + ishr r0.z, r1.z, l(10) + ishl r0.z, r0.z, l(28) + and r0.z, r0.z, l(0x10000000) + iadd r0.y, r0.z, r0.y + iadd r0.y, r9.y, r0.y + ishr r0.zw, r5.zzzx, l(1) + ishr r2.z, r5.z, l(2) + ishr r2.w, r5.z, l(3) + ishl r7.x, r0.z, l(30) + ishl r0.z, r2.z, l(31) + ishl r7.z, r0.w, l(2) + and r4.zw, r7.xxxz, l(0, 0, 0x40000000, 4) + iadd r0.y, r0.y, r4.z + iadd r3.z, r0.z, r0.y + and r0.y, r2.w, l(1) + iadd r0.y, r0.y, r3.w + iadd r0.y, r9.z, r0.y + iadd r0.y, r4.w, r0.y + ishr r0.zw, r5.xxxw, l(2) + ishr r2.z, r5.x, l(3) + ishr r2.w, r5.w, l(1) + ishl r8.x, r0.z, l(3) + ishl r8.y, r2.z, l(4) + ishl r8.z, r2.w, l(8) + ishl r8.w, r0.w, l(9) + and r8.xyzw, r8.xyzw, l(8, 16, 256, 512) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r7.w, r0.y + ishr r0.z, r6.y, l(2) + ishr r0.w, r6.y, l(4) + ishr r2.z, r6.y, l(3) + ishl r7.x, r0.z, l(6) + ishl r7.y, r0.w, l(11) + ishl r7.z, r2.z, l(12) + and r7.xyz, r7.xyzx, l(64, 2048, 4096, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r9.w, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r5.w, l(3) + ishl r0.z, r0.z, l(10) + and r0.z, r0.z, l(1024) + iadd r0.y, r0.z, r0.y + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + ishl r0.z, r2.y, l(13) + and r0.z, r0.z, l(8192) + iadd r0.y, r0.z, r0.y + ushr r0.z, r2.y, l(1) + ushr r0.w, r2.y, l(2) + ushr r2.z, r2.y, l(3) + ushr r2.w, r2.y, l(4) + ishl r7.x, r0.z, l(14) + ishl r7.y, r0.w, l(15) + ishl r7.z, r2.z, l(16) + ishl r7.w, r2.w, l(17) + and r7.xyzw, r7.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.w, r7.w, r0.y + else + ieq r0.y, r2.x, l(6) + if_nz r0.y + ishl r7.x, r1.x, l(5) + ishl r7.y, r1.y, l(15) + ishl r7.z, r1.z, l(25) + ishl r7.w, r1.w, l(3) + and r7.xyzw, r7.xyzw, l(32, 0x00008000, 0x02000000, 8) + iadd r0.y, r7.x, l(14) + ishr r0.z, r1.x, l(1) + ishr r0.w, r1.x, l(2) + ishr r2.z, r1.x, l(3) + ishr r2.w, r1.x, l(4) + ishl r8.x, r0.z, l(6) + ishl r8.y, r0.w, l(7) + ishl r8.z, r2.z, l(8) + ishl r8.w, r2.w, l(9) + and r8.xyzw, r8.xyzw, l(64, 128, 256, 512) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.x, l(5) + ishr r0.w, r1.x, l(6) + ishr r2.z, r1.x, l(7) + ishr r2.w, r1.x, l(8) + ishl r8.x, r0.z, l(10) + ishl r8.y, r0.w, l(11) + ishl r8.z, r2.z, l(12) + ishl r8.w, r2.w, l(13) + and r8.xyzw, r8.xyzw, l(1024, 2048, 4096, 8192) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.zw, r5.zzzy, l(4) + ishr r2.z, r5.y, l(1) + ishr r2.w, r5.y, l(2) + ishl r8.x, r0.z, l(14) + ishl r8.y, r0.w, l(24) + ishl r8.z, r2.z, l(10) + ishl r8.w, r2.w, l(11) + and r8.xyzw, r8.xyzw, l(0x00004000, 0x01000000, 1024, 2048) + iadd r0.y, r0.y, r8.x + iadd r0.y, r7.y, r0.y + ishr r0.z, r1.y, l(1) + ishr r0.w, r1.y, l(2) + ishr r2.z, r1.y, l(3) + ishr r2.w, r1.y, l(4) + ishl r9.x, r0.z, l(16) + ishl r9.y, r0.w, l(17) + ishl r9.z, r2.z, l(18) + ishl r9.w, r2.w, l(19) + and r9.xyzw, r9.xyzw, l(0x00010000, 0x00020000, 0x00040000, 0x00080000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + ishr r0.z, r1.y, l(5) + ishr r0.w, r1.y, l(6) + ishr r2.z, r1.y, l(7) + ishr r2.w, r1.y, l(8) + ishl r9.x, r0.z, l(20) + ishl r9.y, r0.w, l(21) + ishl r9.z, r2.z, l(22) + ishl r9.w, r2.w, l(23) + and r9.xyzw, r9.xyzw, l(0x00100000, 0x00200000, 0x00400000, 0x00800000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + iadd r0.y, r8.y, r0.y + iadd r0.y, r7.z, r0.y + ishr r0.z, r1.z, l(1) + ishr r0.w, r1.z, l(2) + ishr r2.z, r1.z, l(3) + ishr r2.w, r1.z, l(4) + ishl r9.x, r0.z, l(26) + ishl r9.y, r0.w, l(27) + ishl r9.z, r2.z, l(28) + ishl r9.w, r2.w, l(29) + and r9.xyzw, r9.xyzw, l(0x04000000, 0x08000000, 0x10000000, 0x20000000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + ishr r0.z, r1.z, l(5) + ishr r0.w, r1.z, l(6) + ishr r2.z, r1.z, l(7) + ishr r2.w, r1.z, l(8) + ishl r7.x, r0.z, l(30) + ishl r0.z, r0.w, l(31) + ishl r7.z, r2.w, l(1) + and r4.zw, r7.xxxz, l(0, 0, 0x40000000, 2) + iadd r0.y, r0.y, r4.z + iadd r3.x, r0.z, r0.y + and r0.y, r2.z, l(1) + iadd r0.y, r4.w, r0.y + ishr r0.zw, r6.yyyx, l(4) + ishr r2.z, r6.x, l(1) + ishr r2.w, r6.x, l(2) + ishl r9.x, r0.z, l(2) + ishl r9.y, r0.w, l(8) + ishl r9.z, r2.z, l(20) + ishl r9.w, r2.w, l(21) + and r9.xyzw, r9.xyzw, l(4, 256, 0x00100000, 0x00200000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r7.w, r0.y + ishr r0.z, r1.w, l(1) + ishr r0.w, r1.w, l(2) + ishr r2.z, r1.w, l(3) + ishr r2.w, r1.w, l(4) + ishl r7.x, r0.z, l(4) + ishl r7.y, r0.w, l(5) + ishl r7.z, r2.z, l(6) + ishl r7.w, r2.w, l(7) + and r7.xyzw, r7.xyzw, l(16, 32, 64, 128) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r7.w, r0.y + iadd r0.y, r9.y, r0.y + ishl r7.x, r5.y, l(9) + ishl r7.y, r5.z, l(29) + ishl r7.z, r5.x, l(1) + ishl r7.w, r5.w, l(7) + and r7.xyzw, r7.xyzw, l(512, 0x20000000, 2, 128) + iadd r0.y, r0.y, r7.x + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.zw, r5.yyyz, l(3) + ishr r2.z, r5.z, l(1) + ishr r2.w, r5.z, l(2) + ishl r8.x, r0.z, l(12) + ishl r8.y, r2.z, l(30) + ishl r0.z, r2.w, l(31) + and r2.zw, r8.xxxy, l(0, 0, 4096, 0x40000000) + iadd r0.y, r0.y, r2.z + ishl r8.x, r4.x, l(13) + ishl r8.y, r4.y, l(23) + and r4.zw, r8.xxxy, l(0, 0, 8192, 0x00800000) + iadd r0.y, r0.y, r4.z + ishr r2.z, r4.x, l(1) + ishr r4.z, r4.x, l(2) + ishr r6.z, r4.x, l(3) + ishr r6.w, r4.x, l(4) + ishl r8.x, r2.z, l(14) + ishl r8.y, r4.z, l(15) + ishl r8.z, r6.z, l(16) + ishl r8.w, r6.w, l(17) + and r8.xyzw, r8.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishl r8.x, r6.y, l(18) + ishl r8.y, r6.x, l(19) + and r6.zw, r8.xxxy, l(0, 0, 0x00040000, 0x00080000) + iadd r0.y, r0.y, r6.z + iadd r0.y, r6.w, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + ishr r6.zw, r6.xxxy, l(3) + ishr r2.z, r6.y, l(1) + ishr r4.z, r6.y, l(2) + ishl r8.x, r6.z, l(22) + ishl r8.y, r2.z, l(28) + ishl r8.z, r4.z, l(6) + ishl r8.w, r6.w, l(12) + and r8.xyzw, r8.xyzw, l(0x00400000, 0x10000000, 64, 4096) + iadd r0.y, r0.y, r8.x + iadd r0.y, r4.w, r0.y + ishr r2.z, r4.y, l(1) + ishr r4.z, r4.y, l(2) + ishr r4.w, r4.y, l(3) + ishr r6.z, r4.y, l(4) + ishl r9.x, r2.z, l(24) + ishl r9.y, r4.z, l(25) + ishl r9.z, r4.w, l(26) + ishl r9.w, r6.z, l(27) + and r9.xyzw, r9.xyzw, l(0x01000000, 0x02000000, 0x04000000, 0x08000000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + iadd r0.y, r8.y, r0.y + iadd r0.y, r7.y, r0.y + iadd r0.y, r2.w, r0.y + iadd r3.z, r0.z, r0.y + and r0.y, r0.w, l(1) + iadd r0.y, r0.y, r3.w + iadd r0.y, r7.z, r0.y + ishr r0.z, r5.x, l(1) + ishr r0.w, r5.x, l(2) + ishr r2.z, r5.x, l(3) + ishr r2.w, r5.x, l(4) + ishl r9.x, r0.z, l(2) + ishl r9.y, r0.w, l(3) + ishl r9.z, r2.z, l(4) + ishl r9.w, r2.w, l(5) + and r9.xyzw, r9.xyzw, l(4, 8, 16, 32) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r7.w, r0.y + ishr r0.z, r5.w, l(1) + ishr r0.w, r5.w, l(2) + ishr r2.z, r5.w, l(3) + ishr r2.w, r5.w, l(4) + ishl r7.x, r0.z, l(8) + ishl r7.y, r0.w, l(9) + ishl r7.z, r2.z, l(10) + ishl r7.w, r2.w, l(11) + and r7.xyzw, r7.xyzw, l(256, 512, 1024, 2048) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r7.w, r0.y + iadd r0.y, r8.w, r0.y + ishl r0.z, r2.y, l(13) + and r0.z, r0.z, l(8192) + iadd r0.y, r0.z, r0.y + ushr r0.z, r2.y, l(1) + ushr r0.w, r2.y, l(2) + ushr r2.z, r2.y, l(3) + ushr r2.w, r2.y, l(4) + ishl r7.x, r0.z, l(14) + ishl r7.y, r0.w, l(15) + ishl r7.z, r2.z, l(16) + ishl r7.w, r2.w, l(17) + and r7.xyzw, r7.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.w, r7.w, r0.y + else + ieq r0.y, r2.x, l(7) + if_nz r0.y + ishl r7.x, r1.x, l(5) + ishl r7.y, r1.y, l(15) + ishl r7.z, r1.z, l(25) + ishl r7.w, r1.w, l(3) + and r7.xyzw, r7.xyzw, l(32, 0x00008000, 0x02000000, 8) + iadd r0.y, r7.x, l(18) + ishr r0.z, r1.x, l(1) + ishr r0.w, r1.x, l(2) + ishr r2.z, r1.x, l(3) + ishr r2.w, r1.x, l(4) + ishl r8.x, r0.z, l(6) + ishl r8.y, r0.w, l(7) + ishl r8.z, r2.z, l(8) + ishl r8.w, r2.w, l(9) + and r8.xyzw, r8.xyzw, l(64, 128, 256, 512) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.x, l(5) + ishr r0.w, r1.x, l(6) + ishr r2.z, r1.x, l(7) + ishr r2.w, r1.y, l(1) + ishl r8.x, r0.z, l(10) + ishl r8.y, r0.w, l(11) + ishl r8.z, r2.z, l(12) + ishl r8.w, r2.w, l(16) + and r8.xyzw, r8.xyzw, l(1024, 2048, 4096, 0x00010000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + ishr r0.zw, r6.xxxy, l(4) + ishr r2.z, r6.y, l(2) + ishr r2.w, r6.y, l(3) + ishl r9.x, r0.z, l(13) + ishl r9.y, r2.z, l(23) + ishl r9.z, r2.w, l(1) + ishl r9.w, r0.w, l(2) + and r9.xyzw, r9.xyzw, l(8192, 0x00800000, 2, 4) + iadd r0.y, r0.y, r9.x + ishr r0.zw, r5.zzzy, l(4) + ishr r2.z, r5.y, l(1) + ishr r2.w, r5.y, l(2) + ishl r10.x, r0.z, l(14) + ishl r10.y, r0.w, l(24) + ishl r10.z, r2.z, l(10) + ishl r10.w, r2.w, l(11) + and r10.xyzw, r10.xyzw, l(0x00004000, 0x01000000, 1024, 2048) + iadd r0.y, r0.y, r10.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.y, l(2) + ishr r0.w, r1.y, l(3) + ishr r2.z, r1.y, l(4) + ishr r2.w, r1.y, l(5) + ishl r8.x, r0.z, l(17) + ishl r8.y, r0.w, l(18) + ishl r8.z, r2.z, l(19) + ishl r8.w, r2.w, l(20) + and r8.xyzw, r8.xyzw, l(0x00020000, 0x00040000, 0x00080000, 0x00100000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.y, l(6) + ishr r0.w, r1.y, l(7) + ishr r2.z, r1.z, l(1) + ishr r2.w, r1.z, l(2) + ishl r8.x, r0.z, l(21) + ishl r8.y, r0.w, l(22) + ishl r8.z, r2.z, l(26) + ishl r8.w, r2.w, l(27) + and r8.xyzw, r8.xyzw, l(0x00200000, 0x00400000, 0x04000000, 0x08000000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r9.y, r0.y + iadd r0.y, r10.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.z, l(3) + ishr r0.w, r1.z, l(4) + ishr r2.z, r1.z, l(5) + ishr r2.w, r1.z, l(6) + ishl r7.x, r0.z, l(28) + ishl r7.y, r0.w, l(29) + ishl r7.z, r2.z, l(30) + ishl r0.z, r2.w, l(31) + and r7.xyz, r7.xyzx, l(0x10000000, 0x20000000, 0x40000000, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.x, r0.z, r0.y + ishr r0.y, r1.z, l(7) + ishr r0.z, r1.w, l(1) + ishr r0.w, r1.w, l(2) + ishr r2.z, r1.w, l(3) + and r0.y, r0.y, l(1) + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + iadd r0.y, r7.w, r0.y + ishl r7.x, r0.z, l(4) + ishl r7.y, r0.w, l(5) + ishl r7.z, r2.z, l(6) + and r7.xyz, r7.xyzx, l(16, 32, 64, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + ishr r0.z, r1.w, l(4) + ishr r0.w, r1.w, l(5) + ishl r7.x, r0.z, l(7) + ishl r7.y, r0.w, l(8) + and r0.zw, r7.xxxy, l(0, 0, 128, 256) + iadd r0.y, r0.z, r0.y + iadd r0.y, r0.w, r0.y + ishl r7.x, r5.y, l(9) + ishl r7.y, r5.z, l(29) + ishl r7.z, r5.x, l(1) + ishl r7.w, r5.w, l(7) + and r7.xyzw, r7.xyzw, l(512, 0x20000000, 2, 128) + iadd r0.y, r0.y, r7.x + iadd r0.y, r10.z, r0.y + iadd r0.y, r10.w, r0.y + ishr r0.zw, r5.yyyz, l(3) + ishr r2.z, r5.z, l(1) + ishr r2.w, r5.z, l(2) + ishl r8.x, r0.z, l(12) + ishl r8.y, r2.z, l(30) + ishl r0.z, r2.w, l(31) + and r2.zw, r8.xxxy, l(0, 0, 4096, 0x40000000) + iadd r0.y, r0.y, r2.z + ishl r8.x, r4.x, l(13) + ishl r8.y, r4.y, l(23) + and r4.zw, r8.xxxy, l(0, 0, 8192, 0x00800000) + iadd r0.y, r0.y, r4.z + ishr r2.z, r4.x, l(1) + ishr r4.z, r4.x, l(2) + ishr r6.z, r4.x, l(3) + ishr r6.w, r4.x, l(4) + ishl r8.x, r2.z, l(14) + ishl r8.y, r4.z, l(15) + ishl r8.z, r6.z, l(16) + ishl r8.w, r6.w, l(17) + and r8.xyzw, r8.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishl r8.x, r6.y, l(18) + ishl r8.y, r6.x, l(19) + and r6.zw, r8.xxxy, l(0, 0, 0x00040000, 0x00080000) + iadd r0.y, r0.y, r6.z + iadd r0.y, r6.w, r0.y + ishr r6.zw, r6.xxxy, l(1) + ishr r2.z, r6.x, l(2) + ishr r4.z, r6.x, l(3) + ishl r8.x, r6.z, l(20) + ishl r8.y, r2.z, l(21) + ishl r8.z, r4.z, l(22) + ishl r8.w, r6.w, l(28) + and r8.xyzw, r8.xyzw, l(0x00100000, 0x00200000, 0x00400000, 0x10000000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r4.w, r0.y + ishr r2.z, r4.y, l(1) + ishr r4.z, r4.y, l(2) + ishr r4.w, r4.y, l(3) + ishr r6.z, r4.y, l(4) + ishl r9.x, r2.z, l(24) + ishl r9.y, r4.z, l(25) + ishl r9.z, r4.w, l(26) + ishl r9.w, r6.z, l(27) + and r9.xyzw, r9.xyzw, l(0x01000000, 0x02000000, 0x04000000, 0x08000000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + iadd r0.y, r8.w, r0.y + iadd r0.y, r7.y, r0.y + iadd r0.y, r2.w, r0.y + iadd r3.z, r0.z, r0.y + and r0.y, r0.w, l(1) + iadd r0.y, r0.y, r3.w + iadd r0.y, r7.z, r0.y + ishr r0.z, r5.x, l(1) + ishr r0.w, r5.x, l(2) + ishr r2.z, r5.x, l(3) + ishr r2.w, r5.x, l(4) + ishl r8.x, r0.z, l(2) + ishl r8.y, r0.w, l(3) + ishl r8.z, r2.z, l(4) + ishl r8.w, r2.w, l(5) + and r8.xyzw, r8.xyzw, l(4, 8, 16, 32) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r5.x, l(5) + ishr r0.w, r5.w, l(1) + ishr r2.z, r5.w, l(2) + ishr r2.w, r5.w, l(3) + ishl r8.x, r0.z, l(6) + ishl r8.y, r0.w, l(8) + ishl r8.z, r2.z, l(9) + ishl r8.w, r2.w, l(10) + and r8.xyzw, r8.xyzw, l(64, 256, 512, 1024) + iadd r0.y, r0.y, r8.x + iadd r0.y, r7.w, r0.y + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r5.w, l(4) + ishr r0.w, r5.w, l(5) + ishl r7.x, r0.z, l(11) + ishl r7.y, r0.w, l(12) + and r0.zw, r7.xxxy, l(0, 0, 2048, 4096) + iadd r0.y, r0.z, r0.y + iadd r0.y, r0.w, r0.y + ishl r0.z, r2.y, l(13) + and r0.z, r0.z, l(8192) + iadd r0.y, r0.z, r0.y + ushr r0.z, r2.y, l(1) + ushr r0.w, r2.y, l(2) + ushr r2.z, r2.y, l(3) + ushr r2.w, r2.y, l(4) + ishl r7.x, r0.z, l(14) + ishl r7.y, r0.w, l(15) + ishl r7.z, r2.z, l(16) + ishl r7.w, r2.w, l(17) + and r7.xyzw, r7.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.w, r7.w, r0.y + else + ieq r0.y, r2.x, l(8) + if_nz r0.y + ishl r7.x, r1.x, l(5) + ishl r7.y, r1.y, l(15) + ishl r7.z, r1.z, l(25) + ishl r7.w, r1.w, l(3) + and r7.xyzw, r7.xyzw, l(32, 0x00008000, 0x02000000, 8) + iadd r0.y, r7.x, l(22) + ishr r0.z, r1.x, l(1) + ishr r0.w, r1.x, l(2) + ishr r2.z, r1.x, l(3) + ishr r2.w, r1.x, l(4) + ishl r8.x, r0.z, l(6) + ishl r8.y, r0.w, l(7) + ishl r8.z, r2.z, l(8) + ishl r8.w, r2.w, l(9) + and r8.xyzw, r8.xyzw, l(64, 128, 256, 512) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.x, l(5) + ishr r0.w, r1.x, l(6) + ishr r2.z, r1.x, l(7) + ishr r2.w, r1.y, l(1) + ishl r8.x, r0.z, l(10) + ishl r8.y, r0.w, l(11) + ishl r8.z, r2.z, l(12) + ishl r8.w, r2.w, l(16) + and r8.xyzw, r8.xyzw, l(1024, 2048, 4096, 0x00010000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + ishl r8.x, r6.y, l(13) + ishl r8.y, r6.x, l(19) + and r0.zw, r8.xxxy, l(0, 0, 8192, 0x00080000) + iadd r0.y, r0.z, r0.y + ishr r2.zw, r5.zzzy, l(4) + ishr r0.z, r5.y, l(5) + ishr r4.z, r5.y, l(1) + ishl r9.x, r2.z, l(14) + ishl r9.y, r0.z, l(23) + ishl r9.z, r2.w, l(24) + ishl r9.w, r4.z, l(10) + and r9.xyzw, r9.xyzw, l(0x00004000, 0x00800000, 0x01000000, 1024) + iadd r0.y, r0.y, r9.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.y, l(2) + ishr r2.z, r1.y, l(3) + ishr r2.w, r1.y, l(4) + ishr r4.z, r1.y, l(5) + ishl r8.x, r0.z, l(17) + ishl r8.y, r2.z, l(18) + ishl r8.z, r2.w, l(19) + ishl r8.w, r4.z, l(20) + and r8.xyzw, r8.xyzw, l(0x00020000, 0x00040000, 0x00080000, 0x00100000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.y, l(6) + ishr r2.z, r1.y, l(7) + ishr r2.w, r1.z, l(1) + ishr r4.z, r1.z, l(2) + ishl r8.x, r0.z, l(21) + ishl r8.y, r2.z, l(22) + ishl r8.z, r2.w, l(26) + ishl r8.w, r4.z, l(27) + and r8.xyzw, r8.xyzw, l(0x00200000, 0x00400000, 0x04000000, 0x08000000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.z, l(3) + ishr r2.z, r1.z, l(4) + ishr r2.w, r1.z, l(5) + ishr r4.z, r1.z, l(6) + ishl r7.x, r0.z, l(28) + ishl r7.y, r2.z, l(29) + ishl r7.z, r2.w, l(30) + ishl r0.z, r4.z, l(31) + and r7.xyz, r7.xyzx, l(0x10000000, 0x20000000, 0x40000000, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.x, r0.z, r0.y + ishr r0.y, r1.z, l(7) + ishr r0.z, r1.w, l(1) + ishr r2.z, r1.w, l(2) + ishr r2.w, r1.w, l(3) + and r0.y, r0.y, l(1) + ishr r4.z, r6.x, l(5) + ishr r6.zw, r6.yyyx, l(4) + ishr r4.w, r6.x, l(1) + ishl r8.x, r4.z, l(1) + ishl r8.y, r6.z, l(2) + ishl r8.z, r6.w, l(8) + ishl r8.w, r4.w, l(20) + and r8.xyzw, r8.xyzw, l(2, 4, 256, 0x00100000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r7.w, r0.y + ishl r7.x, r0.z, l(4) + ishl r7.y, r2.z, l(5) + ishl r7.z, r2.w, l(6) + and r7.xyz, r7.xyzx, l(16, 32, 64, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + ishr r0.z, r1.w, l(4) + ishl r0.z, r0.z, l(7) + and r0.z, r0.z, l(128) + iadd r0.y, r0.z, r0.y + iadd r0.y, r8.z, r0.y + ishl r7.x, r5.y, l(9) + ishl r7.y, r5.z, l(29) + ishl r7.z, r5.x, l(1) + ishl r7.w, r5.w, l(7) + and r7.xyzw, r7.xyzw, l(512, 0x20000000, 2, 128) + iadd r0.y, r0.y, r7.x + iadd r0.y, r9.w, r0.y + ishr r2.zw, r5.yyyz, l(2) + ishr r0.z, r5.y, l(3) + ishr r4.z, r5.z, l(1) + ishl r8.x, r2.z, l(11) + ishl r8.y, r0.z, l(12) + ishl r8.z, r4.z, l(30) + ishl r0.z, r2.w, l(31) + and r8.xyz, r8.xyzx, l(2048, 4096, 0x40000000, 0) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + ishl r8.x, r4.x, l(13) + ishl r8.y, r4.y, l(23) + and r2.zw, r8.xxxy, l(0, 0, 8192, 0x00800000) + iadd r0.y, r0.y, r2.z + ishr r2.z, r4.x, l(1) + ishr r4.z, r4.x, l(2) + ishr r4.w, r4.x, l(3) + ishr r6.z, r4.x, l(4) + ishl r9.x, r2.z, l(14) + ishl r9.y, r4.z, l(15) + ishl r9.z, r4.w, l(16) + ishl r9.w, r6.z, l(17) + and r9.xyzw, r9.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + ishr r2.z, r4.x, l(5) + ishr r4.z, r4.y, l(1) + ishr r4.w, r4.y, l(2) + ishr r6.z, r4.y, l(3) + ishl r9.x, r2.z, l(18) + ishl r9.y, r4.z, l(24) + ishl r9.z, r4.w, l(25) + ishl r9.w, r6.z, l(26) + and r9.xyzw, r9.xyzw, l(0x00040000, 0x01000000, 0x02000000, 0x04000000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r0.w, r0.y + iadd r0.y, r8.w, r0.y + ishr r4.zw, r6.xxxy, l(2) + ishr r0.w, r6.x, l(3) + ishr r2.z, r6.y, l(1) + ishl r10.x, r4.z, l(21) + ishl r10.y, r0.w, l(22) + ishl r10.z, r2.z, l(28) + ishl r10.w, r4.w, l(6) + and r10.xyzw, r10.xyzw, l(0x00200000, 0x00400000, 0x10000000, 64) + iadd r0.y, r0.y, r10.x + iadd r0.y, r10.y, r0.y + iadd r0.y, r2.w, r0.y + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + ishr r0.w, r4.y, l(4) + ishl r0.w, r0.w, l(27) + and r0.w, r0.w, l(0x08000000) + iadd r0.y, r0.w, r0.y + iadd r0.y, r10.z, r0.y + iadd r0.y, r7.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r3.z, r0.z, r0.y + ishr r0.yz, r5.zzxz, l(3) + ishr r0.w, r5.x, l(1) + ishr r2.z, r5.x, l(2) + and r0.y, r0.y, l(1) + iadd r0.y, r0.y, r3.w + iadd r0.y, r7.z, r0.y + ishl r7.x, r0.w, l(2) + ishl r7.y, r2.z, l(3) + ishl r7.z, r0.z, l(4) + and r7.xyz, r7.xyzx, l(4, 8, 16, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + ishr r0.z, r5.x, l(4) + ishr r0.w, r5.w, l(1) + ishr r2.z, r5.w, l(2) + ishr r2.w, r5.w, l(3) + ishl r8.x, r0.z, l(5) + ishl r8.y, r0.w, l(8) + ishl r8.z, r2.z, l(9) + ishl r8.w, r2.w, l(10) + and r8.xyzw, r8.xyzw, l(32, 256, 512, 1024) + iadd r0.y, r0.y, r8.x + iadd r0.y, r10.w, r0.y + iadd r0.y, r7.w, r0.y + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r5.w, l(4) + ishl r0.z, r0.z, l(11) + and r0.z, r0.z, l(2048) + iadd r0.y, r0.z, r0.y + ishr r0.z, r6.y, l(3) + ishl r0.z, r0.z, l(12) + and r0.z, r0.z, l(4096) + iadd r0.y, r0.z, r0.y + ishl r0.z, r2.y, l(13) + and r0.z, r0.z, l(8192) + iadd r0.y, r0.z, r0.y + ushr r0.z, r2.y, l(1) + ushr r0.w, r2.y, l(2) + ushr r2.z, r2.y, l(3) + ushr r2.w, r2.y, l(4) + ishl r7.x, r0.z, l(14) + ishl r7.y, r0.w, l(15) + ishl r7.z, r2.z, l(16) + ishl r7.w, r2.w, l(17) + and r7.xyzw, r7.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.w, r7.w, r0.y + else + ieq r0.y, r2.x, l(9) + if_nz r0.y + ishl r7.x, r1.x, l(5) + ishl r7.y, r1.y, l(15) + ishl r7.z, r1.z, l(25) + ishl r7.w, r1.w, l(3) + and r7.xyzw, r7.xyzw, l(32, 0x00008000, 0x02000000, 8) + iadd r0.y, r7.x, l(26) + ishr r0.z, r1.x, l(1) + ishr r0.w, r1.x, l(2) + ishr r2.z, r1.x, l(3) + ishr r2.w, r1.x, l(4) + ishl r8.x, r0.z, l(6) + ishl r8.y, r0.w, l(7) + ishl r8.z, r2.z, l(8) + ishl r8.w, r2.w, l(9) + and r8.xyzw, r8.xyzw, l(64, 128, 256, 512) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.x, l(5) + ishr r0.w, r1.x, l(6) + ishr r2.z, r1.x, l(7) + ishr r2.w, r1.y, l(1) + ishl r8.x, r0.z, l(10) + ishl r8.y, r0.w, l(11) + ishl r8.z, r2.z, l(12) + ishl r8.w, r2.w, l(16) + and r8.xyzw, r8.xyzw, l(1024, 2048, 4096, 0x00010000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + ishr r0.z, r6.y, l(1) + ishr r0.w, r6.y, l(5) + ishr r2.zw, r6.yyyx, l(4) + ishl r9.x, r0.z, l(13) + ishl r9.y, r0.w, l(1) + ishl r9.z, r2.z, l(2) + ishl r9.w, r2.w, l(8) + and r9.xyzw, r9.xyzw, l(8192, 2, 4, 256) + iadd r0.y, r0.y, r9.x + ishr r0.zw, r5.zzzy, l(4) + ishr r2.z, r5.z, l(5) + ishr r2.w, r5.y, l(1) + ishl r10.x, r0.z, l(14) + ishl r10.y, r2.z, l(23) + ishl r10.z, r0.w, l(24) + ishl r10.w, r2.w, l(10) + and r10.xyzw, r10.xyzw, l(0x00004000, 0x00800000, 0x01000000, 1024) + iadd r0.y, r0.y, r10.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.y, l(2) + ishr r0.w, r1.y, l(3) + ishr r2.z, r1.y, l(4) + ishr r2.w, r1.y, l(5) + ishl r8.x, r0.z, l(17) + ishl r8.y, r0.w, l(18) + ishl r8.z, r2.z, l(19) + ishl r8.w, r2.w, l(20) + and r8.xyzw, r8.xyzw, l(0x00020000, 0x00040000, 0x00080000, 0x00100000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.y, l(6) + ishr r0.w, r1.y, l(7) + ishr r2.z, r1.z, l(1) + ishr r2.w, r1.z, l(2) + ishl r8.x, r0.z, l(21) + ishl r8.y, r0.w, l(22) + ishl r8.z, r2.z, l(26) + ishl r8.w, r2.w, l(27) + and r8.xyzw, r8.xyzw, l(0x00200000, 0x00400000, 0x04000000, 0x08000000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r10.y, r0.y + iadd r0.y, r10.z, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.z, l(3) + ishr r0.w, r1.z, l(4) + ishr r2.z, r1.z, l(5) + ishr r2.w, r1.z, l(6) + ishl r7.x, r0.z, l(28) + ishl r7.y, r0.w, l(29) + ishl r7.z, r2.z, l(30) + ishl r0.z, r2.w, l(31) + and r7.xyz, r7.xyzx, l(0x10000000, 0x20000000, 0x40000000, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.x, r0.z, r0.y + ishr r0.y, r1.z, l(7) + ishr r0.z, r1.w, l(1) + ishr r0.w, r1.w, l(2) + ishr r2.z, r1.w, l(3) + and r0.y, r0.y, l(1) + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r7.w, r0.y + ishl r7.x, r0.z, l(4) + ishl r7.y, r0.w, l(5) + ishl r7.z, r2.z, l(6) + and r7.xyz, r7.xyzx, l(16, 32, 64, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + ishr r0.z, r1.w, l(4) + ishl r0.z, r0.z, l(7) + and r0.z, r0.z, l(128) + iadd r0.y, r0.z, r0.y + iadd r0.y, r9.w, r0.y + ishl r7.x, r5.y, l(9) + ishl r7.y, r5.z, l(29) + ishl r7.z, r5.x, l(1) + ishl r7.w, r5.w, l(7) + and r7.xyzw, r7.xyzw, l(512, 0x20000000, 2, 128) + iadd r0.y, r0.y, r7.x + iadd r0.y, r10.w, r0.y + ishr r0.zw, r5.yyyz, l(2) + ishr r2.z, r5.y, l(3) + ishr r2.w, r5.z, l(1) + ishl r8.x, r0.z, l(11) + ishl r8.y, r2.z, l(12) + ishl r8.z, r2.w, l(30) + ishl r0.z, r0.w, l(31) + and r8.xyz, r8.xyzx, l(2048, 4096, 0x40000000, 0) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + ishl r8.x, r4.x, l(13) + ishl r8.y, r4.y, l(23) + and r2.zw, r8.xxxy, l(0, 0, 8192, 0x00800000) + iadd r0.y, r0.y, r2.z + ishr r0.w, r4.x, l(1) + ishr r2.z, r4.x, l(2) + ishr r4.z, r4.x, l(3) + ishr r4.w, r4.x, l(4) + ishl r9.x, r0.w, l(14) + ishl r9.y, r2.z, l(15) + ishl r9.z, r4.z, l(16) + ishl r9.w, r4.w, l(17) + and r9.xyzw, r9.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + ishl r8.x, r6.y, l(18) + ishl r8.y, r6.x, l(19) + and r4.zw, r8.xxxy, l(0, 0, 0x00040000, 0x00080000) + iadd r0.y, r0.y, r4.z + iadd r0.y, r4.w, r0.y + ishr r0.w, r6.x, l(1) + ishr r4.zw, r6.xxxy, l(2) + ishr r2.z, r6.x, l(3) + ishl r9.x, r0.w, l(20) + ishl r9.y, r4.z, l(21) + ishl r9.z, r2.z, l(22) + ishl r9.w, r4.w, l(6) + and r9.xyzw, r9.xyzw, l(0x00100000, 0x00200000, 0x00400000, 64) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r2.w, r0.y + ishr r0.w, r4.y, l(1) + ishr r2.z, r4.y, l(2) + ishr r2.w, r4.y, l(3) + ishr r4.z, r4.y, l(4) + ishl r10.x, r0.w, l(24) + ishl r10.y, r2.z, l(25) + ishl r10.z, r2.w, l(26) + ishl r10.w, r4.z, l(27) + and r10.xyzw, r10.xyzw, l(0x01000000, 0x02000000, 0x04000000, 0x08000000) + iadd r0.y, r0.y, r10.x + iadd r0.y, r10.y, r0.y + iadd r0.y, r10.z, r0.y + iadd r0.y, r10.w, r0.y + ishr r0.w, r4.y, l(5) + ishl r0.w, r0.w, l(28) + and r0.w, r0.w, l(0x10000000) + iadd r0.y, r0.w, r0.y + iadd r0.y, r7.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r3.z, r0.z, r0.y + ishr r0.yz, r5.zzxz, l(3) + ishr r0.w, r5.x, l(1) + ishr r2.z, r5.x, l(2) + and r0.y, r0.y, l(1) + iadd r0.y, r0.y, r3.w + iadd r0.y, r7.z, r0.y + ishl r7.x, r0.w, l(2) + ishl r7.y, r2.z, l(3) + ishl r7.z, r0.z, l(4) + and r7.xyz, r7.xyzx, l(4, 8, 16, 0) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + ishr r0.z, r5.x, l(4) + ishr r0.w, r5.w, l(1) + ishr r2.z, r5.w, l(2) + ishr r2.w, r5.w, l(3) + ishl r8.x, r0.z, l(5) + ishl r8.y, r0.w, l(8) + ishl r8.z, r2.z, l(9) + ishl r8.w, r2.w, l(10) + and r8.xyzw, r8.xyzw, l(32, 256, 512, 1024) + iadd r0.y, r0.y, r8.x + iadd r0.y, r9.w, r0.y + iadd r0.y, r7.w, r0.y + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r5.w, l(4) + ishl r0.z, r0.z, l(11) + and r0.z, r0.z, l(2048) + iadd r0.y, r0.z, r0.y + ishr r0.z, r6.y, l(3) + ishl r0.z, r0.z, l(12) + and r0.z, r0.z, l(4096) + iadd r0.y, r0.z, r0.y + ishl r0.z, r2.y, l(13) + and r0.z, r0.z, l(8192) + iadd r0.y, r0.z, r0.y + ushr r0.z, r2.y, l(1) + ushr r0.w, r2.y, l(2) + ushr r2.z, r2.y, l(3) + ushr r2.w, r2.y, l(4) + ishl r7.x, r0.z, l(14) + ishl r7.y, r0.w, l(15) + ishl r7.z, r2.z, l(16) + ishl r7.w, r2.w, l(17) + and r7.xyzw, r7.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r3.w, r7.w, r0.y + else + ieq r0.y, r2.x, l(10) + if_nz r0.y + ishl r7.x, r1.x, l(5) + ishl r7.y, r1.y, l(15) + ishl r7.z, r1.z, l(25) + ishl r7.w, r1.w, l(3) + and r7.xyzw, r7.xyzw, l(32, 0x00008000, 0x02000000, 8) + iadd r0.y, r7.x, l(30) + ishr r0.z, r1.x, l(1) + ishr r0.w, r1.x, l(2) + ishr r2.x, r1.x, l(3) + ishr r2.z, r1.x, l(4) + ishl r8.x, r0.z, l(6) + ishl r8.y, r0.w, l(7) + ishl r8.z, r2.x, l(8) + ishl r8.w, r2.z, l(9) + and r8.xyzw, r8.xyzw, l(64, 128, 256, 512) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.x, l(5) + ishr r0.w, r1.y, l(1) + ishr r1.x, r1.y, l(2) + ishr r2.x, r1.y, l(3) + ishl r8.x, r0.z, l(10) + ishl r8.y, r0.w, l(16) + ishl r8.z, r1.x, l(17) + ishl r8.w, r2.x, l(18) + and r8.xyzw, r8.xyzw, l(1024, 0x00010000, 0x00020000, 0x00040000) + iadd r0.y, r0.y, r8.x + ishr r0.z, r6.x, l(4) + ishr r0.w, r6.y, l(1) + ishr r1.x, r6.y, l(2) + ishr r2.x, r6.x, l(5) + ishl r9.x, r0.z, l(11) + ishl r9.y, r0.w, l(13) + ishl r9.z, r1.x, l(23) + ishl r0.z, r2.x, l(31) + and r2.xzw, r9.xxyz, l(2048, 0, 8192, 0x00800000) + iadd r0.y, r0.y, r2.x + ishl r9.x, r6.y, l(12) + ishl r9.y, r6.x, l(19) + and r4.zw, r9.xxxy, l(0, 0, 4096, 0x00080000) + iadd r0.y, r0.y, r4.z + iadd r0.y, r2.z, r0.y + ishr r2.xz, r5.zzyz, l(4) + ishr r6.zw, r5.yyyz, l(5) + ishl r9.x, r2.x, l(14) + ishl r9.y, r6.z, l(21) + ishl r9.z, r6.w, l(22) + ishl r9.w, r2.z, l(24) + and r9.xyzw, r9.xyzw, l(0x00004000, 0x00200000, 0x00400000, 0x01000000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.w, r1.y, l(4) + ishr r1.x, r1.y, l(5) + ishr r1.y, r1.z, l(1) + ishr r2.x, r1.z, l(2) + ishl r8.x, r0.w, l(19) + ishl r8.y, r1.x, l(20) + ishl r8.z, r1.y, l(26) + ishl r8.w, r2.x, l(27) + and r8.xyzw, r8.xyzw, l(0x00080000, 0x00100000, 0x04000000, 0x08000000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r2.w, r0.y + iadd r0.y, r9.w, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r8.z, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.w, r1.z, l(3) + ishr r1.x, r1.z, l(4) + ishr r1.y, r1.z, l(5) + ishr r1.z, r1.w, l(1) + ishl r8.x, r0.w, l(28) + ishl r8.y, r1.x, l(29) + ishl r8.z, r1.y, l(30) + ishl r8.w, r1.z, l(4) + and r8.xyzw, r8.xyzw, l(0x10000000, 0x20000000, 0x40000000, 16) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + iadd r3.x, r0.z, r0.y + ishr r0.y, r6.y, l(3) + ishr r0.z, r6.y, l(5) + ishr r0.w, r6.y, l(4) + ishr r1.x, r6.x, l(1) + and r0.y, r0.y, l(1) + ishl r7.x, r0.z, l(1) + ishl r7.y, r0.w, l(2) + ishl r7.z, r1.x, l(20) + and r1.xyz, r7.xyzx, l(2, 4, 0x00100000, 0) + iadd r0.y, r0.y, r1.x + iadd r0.y, r1.y, r0.y + iadd r0.y, r7.w, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.z, r1.w, l(2) + ishr r0.w, r1.w, l(3) + ishr r1.x, r1.w, l(4) + ishr r1.y, r1.w, l(5) + ishl r7.x, r0.z, l(5) + ishl r7.y, r0.w, l(6) + ishl r7.z, r1.x, l(7) + ishl r7.w, r1.y, l(8) + and r7.xyzw, r7.xyzw, l(32, 64, 128, 256) + iadd r0.y, r0.y, r7.x + iadd r0.y, r7.y, r0.y + iadd r0.y, r7.z, r0.y + iadd r0.y, r7.w, r0.y + ishl r7.x, r5.y, l(9) + ishl r7.y, r5.z, l(29) + ishl r7.z, r5.x, l(1) + ishl r7.w, r5.w, l(7) + and r7.xyzw, r7.xyzw, l(512, 0x20000000, 2, 128) + iadd r0.y, r0.y, r7.x + ishr r0.zw, r5.yyyz, l(1) + ishr r1.x, r5.y, l(2) + ishr r1.y, r5.y, l(3) + ishl r8.x, r0.z, l(10) + ishl r8.y, r1.x, l(11) + ishl r8.z, r1.y, l(12) + ishl r8.w, r0.w, l(30) + and r8.xyzw, r8.xyzw, l(1024, 2048, 4096, 0x40000000) + iadd r0.y, r0.y, r8.x + iadd r0.y, r8.y, r0.y + iadd r0.y, r8.z, r0.y + ishl r1.x, r4.x, l(13) + ishl r1.y, r4.y, l(23) + and r0.zw, r1.xxxy, l(0, 0, 8192, 0x00800000) + iadd r0.y, r0.z, r0.y + ishr r0.z, r4.x, l(1) + ishr r1.x, r4.x, l(2) + ishr r1.y, r4.x, l(3) + ishr r1.w, r4.x, l(4) + ishl r9.x, r0.z, l(14) + ishl r9.y, r1.x, l(15) + ishl r9.z, r1.y, l(16) + ishl r9.w, r1.w, l(17) + and r9.xyzw, r9.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + ishr r0.z, r4.x, l(5) + ishr r1.x, r4.y, l(1) + ishr r1.y, r4.y, l(2) + ishr r1.w, r4.y, l(3) + ishl r9.x, r0.z, l(18) + ishl r9.y, r1.x, l(24) + ishl r9.z, r1.y, l(25) + ishl r9.w, r1.w, l(26) + and r9.xyzw, r9.xyzw, l(0x00040000, 0x01000000, 0x02000000, 0x04000000) + iadd r0.y, r0.y, r9.x + iadd r0.y, r4.w, r0.y + iadd r0.y, r1.z, r0.y + ishr r0.z, r6.x, l(2) + ishr r1.x, r6.x, l(3) + ishl r6.x, r0.z, l(21) + ishl r6.y, r1.x, l(22) + and r1.xy, r6.xyxx, l(0x00200000, 0x00400000, 0, 0) + iadd r0.y, r0.y, r1.x + iadd r0.y, r1.y, r0.y + iadd r0.y, r0.w, r0.y + iadd r0.y, r9.y, r0.y + iadd r0.y, r9.z, r0.y + iadd r0.y, r9.w, r0.y + ishr r0.z, r4.y, l(4) + ishr r0.w, r4.y, l(5) + ishl r1.x, r0.z, l(27) + ishl r1.y, r0.w, l(28) + and r0.zw, r1.xxxy, l(0, 0, 0x08000000, 0x10000000) + iadd r0.y, r0.z, r0.y + iadd r0.y, r0.w, r0.y + iadd r0.y, r7.y, r0.y + iadd r0.y, r8.w, r0.y + ishr r0.zw, r5.zzzx, l(2) + ishr r1.x, r5.z, l(3) + ishr r1.y, r5.x, l(1) + ishl r4.x, r0.z, l(31) + ishl r4.y, r1.y, l(2) + ishl r4.z, r0.w, l(3) + iadd r3.z, r0.y, r4.x + and r0.y, r1.x, l(1) + iadd r0.y, r0.y, r3.w + iadd r0.y, r7.z, r0.y + and r0.zw, r4.yyyz, l(0, 0, 4, 8) + iadd r0.y, r0.z, r0.y + iadd r0.y, r0.w, r0.y + ishr r0.z, r5.x, l(3) + ishr r0.w, r5.x, l(4) + ishr r1.x, r5.x, l(5) + ishr r1.y, r5.w, l(1) + ishl r4.x, r0.z, l(4) + ishl r4.y, r0.w, l(5) + ishl r4.z, r1.x, l(6) + ishl r4.w, r1.y, l(8) + and r1.xyzw, r4.xyzw, l(16, 32, 64, 256) + iadd r0.y, r0.y, r1.x + iadd r0.y, r1.y, r0.y + iadd r0.y, r1.z, r0.y + iadd r0.y, r7.w, r0.y + iadd r0.y, r1.w, r0.y + ishr r0.z, r5.w, l(2) + ishr r0.w, r5.w, l(3) + ishr r1.x, r5.w, l(4) + ishr r1.y, r5.w, l(5) + ishl r4.x, r0.z, l(9) + ishl r4.y, r0.w, l(10) + ishl r4.z, r1.x, l(11) + ishl r4.w, r1.y, l(12) + and r1.xyzw, r4.xyzw, l(512, 1024, 2048, 4096) + iadd r0.y, r0.y, r1.x + iadd r0.y, r1.y, r0.y + iadd r0.y, r1.z, r0.y + iadd r0.y, r1.w, r0.y + ishl r0.z, r2.y, l(13) + and r0.z, r0.z, l(8192) + iadd r0.y, r0.z, r0.y + ushr r0.z, r2.y, l(1) + ushr r0.w, r2.y, l(2) + ushr r1.x, r2.y, l(3) + ushr r1.y, r2.y, l(4) + ishl r2.x, r0.z, l(14) + ishl r2.y, r0.w, l(15) + ishl r2.z, r1.x, l(16) + ishl r2.w, r1.y, l(17) + and r1.xyzw, r2.xyzw, l(0x00004000, 0x00008000, 0x00010000, 0x00020000) + iadd r0.y, r0.y, r1.x + iadd r0.y, r1.y, r0.y + iadd r0.y, r1.z, r0.y + iadd r3.w, r1.w, r0.y + else + mov r3.xz, l(0,0,0,0) + endif + endif + endif + endif + endif + endif + endif + endif + endif + endif + endif + store_structured u0.xyzw, r0.x, l(0), r3.xzwy +endif +ret +// Approximately 0 instruction slots used +#endif + +const BYTE BC6HEncode_EncodeBlockCS[] = +{ + 68, 88, 66, 67, 175, 105, + 37, 89, 105, 238, 20, 239, + 19, 200, 75, 5, 33, 255, + 18, 179, 1, 0, 0, 0, + 20, 173, 1, 0, 3, 0, + 0, 0, 44, 0, 0, 0, + 60, 0, 0, 0, 76, 0, + 0, 0, 73, 83, 71, 78, + 8, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 79, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 83, 72, + 69, 88, 192, 172, 1, 0, + 64, 0, 5, 0, 48, 107, + 0, 0, 106, 8, 0, 1, + 53, 24, 0, 0, 58, 1, + 0, 0, 204, 204, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 136, 136, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 238, 238, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 200, 236, 0, 0, + 15, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 128, 200, 0, 0, 15, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 236, 254, + 0, 0, 15, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 200, 254, 0, 0, + 15, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 128, 236, 0, 0, 15, 0, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 0, 0, 200, + 0, 0, 15, 0, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 236, 255, 0, 0, + 15, 0, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 128, 254, 0, 0, 15, 0, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 0, 0, 232, + 0, 0, 15, 0, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 232, 255, 0, 0, + 15, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 0, 255, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 240, 255, + 0, 0, 15, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 0, 240, 0, 0, + 15, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 16, 247, 0, 0, 15, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 142, 0, + 0, 0, 2, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 0, 113, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 206, 8, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 140, 0, + 0, 0, 2, 0, 0, 0, + 5, 0, 0, 0, 2, 0, + 0, 0, 16, 115, 0, 0, + 8, 0, 0, 0, 5, 0, + 0, 0, 2, 0, 0, 0, + 0, 49, 0, 0, 8, 0, + 0, 0, 5, 0, 0, 0, + 2, 0, 0, 0, 206, 140, + 0, 0, 15, 0, 0, 0, + 5, 0, 0, 0, 3, 0, + 0, 0, 140, 8, 0, 0, + 2, 0, 0, 0, 6, 0, + 0, 0, 3, 0, 0, 0, + 16, 49, 0, 0, 8, 0, + 0, 0, 6, 0, 0, 0, + 3, 0, 0, 0, 102, 102, + 0, 0, 2, 0, 0, 0, + 6, 0, 0, 0, 3, 0, + 0, 0, 108, 54, 0, 0, + 2, 0, 0, 0, 6, 0, + 0, 0, 3, 0, 0, 0, + 232, 23, 0, 0, 8, 0, + 0, 0, 6, 0, 0, 0, + 3, 0, 0, 0, 240, 15, + 0, 0, 8, 0, 0, 0, + 7, 0, 0, 0, 3, 0, + 0, 0, 142, 113, 0, 0, + 2, 0, 0, 0, 7, 0, + 0, 0, 3, 0, 0, 0, + 156, 57, 0, 0, 2, 0, + 0, 0, 7, 0, 0, 0, + 3, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 7, 0, 0, 0, 3, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 8, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 8, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 8, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 9, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 9, 0, 0, 0, 4, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 9, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 9, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 5, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 10, 0, 0, 0, + 5, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 10, 0, 0, 0, 5, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 10, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 11, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 12, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 13, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 13, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 13, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 14, 0, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 7, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 7, 0, 0, 0, + 10, 0, 0, 0, 5, 0, + 0, 0, 5, 0, 0, 0, + 5, 0, 0, 0, 7, 0, + 0, 0, 6, 0, 0, 0, + 6, 0, 0, 0, 6, 0, + 0, 0, 11, 0, 0, 0, + 5, 0, 0, 0, 4, 0, + 0, 0, 4, 0, 0, 0, + 11, 0, 0, 0, 4, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 11, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 5, 0, + 0, 0, 9, 0, 0, 0, + 5, 0, 0, 0, 5, 0, + 0, 0, 5, 0, 0, 0, + 8, 0, 0, 0, 6, 0, + 0, 0, 5, 0, 0, 0, + 5, 0, 0, 0, 8, 0, + 0, 0, 5, 0, 0, 0, + 6, 0, 0, 0, 5, 0, + 0, 0, 8, 0, 0, 0, + 5, 0, 0, 0, 5, 0, + 0, 0, 6, 0, 0, 0, + 6, 0, 0, 0, 6, 0, + 0, 0, 6, 0, 0, 0, + 6, 0, 0, 0, 10, 0, + 0, 0, 10, 0, 0, 0, + 10, 0, 0, 0, 10, 0, + 0, 0, 11, 0, 0, 0, + 9, 0, 0, 0, 9, 0, + 0, 0, 9, 0, 0, 0, + 12, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 16, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 4, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 0, 0, 0, 0, + 85, 85, 0, 0, 162, 0, + 0, 4, 0, 112, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 0, 158, 0, 0, 4, + 0, 224, 17, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 95, 0, 0, 2, 0, 64, + 2, 0, 95, 0, 0, 2, + 18, 16, 2, 0, 104, 0, + 0, 2, 18, 0, 0, 0, + 160, 0, 0, 5, 0, 240, + 17, 0, 0, 0, 0, 0, + 84, 0, 0, 0, 64, 0, + 0, 0, 155, 0, 0, 4, + 64, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 85, 0, 0, 6, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 6, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 16, 2, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 8, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 80, 0, 0, 8, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 26, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 0, 0, + 0, 0, 62, 0, 0, 1, + 21, 0, 0, 1, 1, 0, + 0, 6, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 32, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 79, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 32, 0, 0, 0, 2, 0, + 0, 0, 8, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 1, 0, 0, 0, + 78, 0, 0, 9, 130, 0, + 16, 0, 0, 0, 0, 0, + 0, 208, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 26, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 35, 0, 0, 11, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 26, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 8, + 194, 0, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 45, 0, + 0, 7, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 10, + 130, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 208, 179, 89, 62, + 89, 23, 55, 63, 152, 221, + 147, 61, 0, 0, 0, 0, + 168, 0, 0, 8, 18, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 6, 5, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 255, 127, 255, 255, 127, 0, + 255, 255, 255, 127, 255, 255, + 127, 0, 79, 0, 0, 10, + 50, 0, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 255, 239, 255, 71, 255, 239, + 255, 71, 0, 0, 0, 0, + 0, 0, 0, 0, 134, 0, + 16, 0, 4, 0, 0, 0, + 79, 0, 0, 10, 50, 0, + 16, 0, 5, 0, 0, 0, + 134, 0, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 56, 0, 0, + 128, 56, 0, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 194, 0, 16, 0, + 5, 0, 0, 0, 6, 8, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 30, 0, 0, 11, + 194, 0, 16, 0, 5, 0, + 0, 0, 166, 14, 16, 128, + 65, 0, 0, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 113, 0, 0, 0, + 113, 0, 0, 0, 30, 0, + 0, 10, 162, 0, 16, 0, + 4, 0, 0, 0, 86, 13, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 128, 0, + 0, 0, 0, 0, 0, 0, + 128, 0, 85, 0, 0, 7, + 18, 0, 16, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 85, 0, 0, 7, 34, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 30, 0, + 0, 10, 50, 0, 16, 0, + 4, 0, 0, 0, 134, 0, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 200, 0, 0, 0, 200, + 0, 0, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 9, + 50, 0, 16, 0, 4, 0, + 0, 0, 70, 0, 16, 0, + 5, 0, 0, 0, 70, 0, + 16, 0, 6, 0, 0, 0, + 70, 0, 16, 0, 4, 0, + 0, 0, 30, 0, 0, 10, + 194, 0, 16, 0, 4, 0, + 0, 0, 6, 4, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 15, + 0, 0, 255, 15, 0, 0, + 85, 0, 0, 7, 50, 0, + 16, 0, 4, 0, 0, 0, + 70, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 1, 0, + 0, 10, 50, 0, 16, 0, + 4, 0, 0, 0, 70, 0, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 50, 0, 16, 0, 4, 0, + 0, 0, 70, 0, 16, 0, + 4, 0, 0, 0, 230, 10, + 16, 0, 4, 0, 0, 0, + 85, 0, 0, 7, 50, 0, + 16, 0, 4, 0, 0, 0, + 70, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 1, 0, + 0, 10, 50, 0, 16, 0, + 4, 0, 0, 0, 70, 0, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 12, + 50, 0, 16, 0, 2, 0, + 0, 0, 70, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 4, 0, + 0, 0, 30, 0, 0, 7, + 50, 0, 16, 0, 4, 0, + 0, 0, 70, 0, 16, 0, + 3, 0, 0, 0, 70, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 10, 50, 0, + 16, 0, 2, 0, 0, 0, + 166, 10, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 127, 255, 255, + 127, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 79, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 255, 239, 255, 71, + 10, 0, 16, 0, 2, 0, + 0, 0, 79, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 128, 56, + 85, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 30, 0, + 0, 8, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 113, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 0, 85, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 200, + 55, 0, 0, 9, 18, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 255, 15, 0, 0, 85, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 1, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 85, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 1, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 255, 127, 0, 0, + 55, 0, 0, 9, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 255, 127, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 32, 0, + 0, 8, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 95, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 78, 0, + 0, 11, 114, 0, 16, 0, + 2, 0, 0, 0, 0, 208, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 31, 0, 0, 0, + 31, 0, 0, 0, 31, 0, + 0, 0, 0, 0, 0, 0, + 79, 0, 0, 10, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 255, 123, + 0, 0, 255, 123, 0, 0, + 255, 123, 0, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 78, 0, 0, 11, 114, 0, + 16, 0, 6, 0, 0, 0, + 0, 208, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 31, 0, + 0, 0, 31, 0, 0, 0, + 31, 0, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 12, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 224, 255, 15, 0, + 224, 255, 15, 0, 224, 255, + 15, 0, 0, 0, 0, 0, + 78, 0, 0, 11, 114, 0, + 16, 0, 4, 0, 0, 0, + 0, 208, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 31, 0, + 0, 0, 31, 0, 0, 0, + 31, 0, 0, 0, 0, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 1, 128, + 255, 255, 1, 128, 255, 255, + 1, 128, 255, 255, 0, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 168, 0, + 0, 8, 114, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 21, 0, 0, 1, 167, 0, + 0, 9, 50, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 70, 112, 16, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 130, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 1, 0, 0, 0, + 79, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 5, 242, 0, + 16, 0, 5, 0, 0, 0, + 150, 15, 16, 0, 3, 0, + 0, 0, 18, 0, 0, 1, + 85, 0, 0, 8, 34, 0, + 16, 0, 1, 0, 0, 0, + 10, 144, 144, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 55, 0, 0, 12, 242, 0, + 16, 0, 4, 0, 0, 0, + 86, 5, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 127, 255, 255, + 255, 127, 255, 255, 255, 127, + 0, 0, 0, 128, 70, 2, + 16, 0, 3, 0, 0, 0, + 55, 0, 0, 12, 242, 0, + 16, 0, 5, 0, 0, 0, + 86, 5, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 128, 0, 0, + 0, 128, 255, 255, 127, 127, + 255, 255, 127, 255, 150, 15, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 18, 0, + 0, 1, 80, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 1, 0, 0, 0, + 85, 0, 0, 8, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 144, 144, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 32, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 55, 0, + 0, 12, 242, 0, 16, 0, + 4, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 127, 255, 255, + 255, 127, 255, 255, 255, 127, + 0, 0, 0, 128, 55, 0, + 0, 12, 242, 0, 16, 0, + 5, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 150, 15, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 128, 0, 0, + 0, 128, 255, 255, 127, 127, + 255, 255, 127, 255, 18, 0, + 0, 1, 54, 0, 0, 8, + 242, 0, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 127, 255, 255, + 255, 127, 255, 255, 255, 127, + 0, 0, 0, 128, 54, 0, + 0, 8, 242, 0, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 128, + 0, 0, 0, 128, 255, 255, + 127, 127, 255, 255, 127, 255, + 21, 0, 0, 1, 21, 0, + 0, 1, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 68, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 21, 0, 0, 1, 1, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 79, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 3, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 4, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 76, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 76, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 49, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 76, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 21, 0, + 0, 1, 167, 0, 0, 8, + 18, 0, 16, 0, 4, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 80, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 80, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 49, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 64, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 168, 0, 0, 8, + 114, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 64, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 168, 0, + 0, 8, 18, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 80, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 21, 0, 0, 1, 21, 0, + 0, 1, 31, 0, 4, 3, + 26, 0, 16, 0, 3, 0, + 0, 0, 167, 0, 0, 8, + 18, 0, 16, 0, 4, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 76, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 6, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 76, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 49, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 168, 0, 0, 8, + 114, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 168, 0, + 0, 8, 18, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 76, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 21, 0, 0, 1, 167, 0, + 0, 8, 18, 0, 16, 0, + 4, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 80, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 80, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 49, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 64, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 168, 0, + 0, 8, 114, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 168, 0, 0, 8, 18, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 80, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 31, 0, + 4, 3, 42, 0, 16, 0, + 3, 0, 0, 0, 167, 0, + 0, 8, 18, 0, 16, 0, + 4, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 76, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 76, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 49, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 168, 0, + 0, 8, 114, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 168, 0, 0, 8, 18, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 76, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 21, 0, 0, 1, + 167, 0, 0, 8, 18, 0, + 16, 0, 4, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 80, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 80, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 49, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 64, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 80, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 31, 0, 4, 3, 58, 0, + 16, 0, 3, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 3, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 76, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 76, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 49, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 21, 0, 0, 1, + 167, 0, 0, 8, 18, 0, + 16, 0, 3, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 80, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 80, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 49, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 64, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 31, 0, + 4, 3, 42, 0, 16, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 32, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 80, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 58, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 144, 144, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 21, 0, 0, 1, 30, 0, + 0, 8, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 43, 0, 0, 5, 114, 0, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 16, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 8, 114, 0, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 43, 0, 0, 5, 114, 0, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 49, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 29, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 56, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 253, 255, 125, 66, 14, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 28, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 79, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 55, 0, + 0, 9, 242, 0, 16, 0, + 5, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 55, 0, + 0, 9, 194, 0, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 86, 9, 16, 0, 3, 0, + 0, 0, 86, 9, 16, 0, + 4, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 168, 0, 0, 8, 50, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 230, 10, 16, 0, 2, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 10, 0, + 16, 0, 1, 0, 0, 0, + 79, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 18, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 6, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 144, + 144, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 21, 0, + 0, 1, 85, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 10, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 64, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 8, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 4, 0, 0, 0, 43, 0, + 0, 5, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 167, 0, 0, 8, 114, 0, + 16, 0, 5, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 8, + 114, 0, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 43, 0, + 0, 5, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 16, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 18, 0, + 0, 1, 167, 0, 0, 9, + 114, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 64, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 8, + 114, 0, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 5, 0, 0, 0, 43, 0, + 0, 5, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 167, 0, 0, 8, 114, 0, + 16, 0, 4, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 8, + 114, 0, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 43, 0, + 0, 5, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 16, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 21, 0, + 0, 1, 16, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 31, 0, 4, 3, 58, 0, + 16, 0, 0, 0, 0, 0, + 29, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 29, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 60, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 49, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 56, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 253, 255, + 125, 66, 14, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 28, 0, 0, 5, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 55, 0, 0, 10, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 144, + 144, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 55, 0, 0, 9, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 79, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 224, 255, + 255, 255, 41, 0, 0, 7, + 130, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 54, 0, 0, 8, 98, 0, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 9, + 194, 0, 16, 0, 2, 0, + 0, 0, 166, 10, 16, 0, + 2, 0, 0, 0, 6, 4, + 16, 0, 4, 0, 0, 0, + 166, 14, 16, 0, 4, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 50, 0, 16, 0, + 3, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 230, 10, 16, 0, 2, 0, + 0, 0, 70, 0, 16, 0, + 3, 0, 0, 0, 18, 0, + 0, 1, 29, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 29, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 49, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 253, 255, 125, 66, 14, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 28, 0, 0, 5, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 55, 0, + 0, 10, 18, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 58, 144, 144, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 55, 0, 0, 9, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 31, 0, 0, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 18, 0, 0, 0, + 54, 0, 0, 5, 34, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 18, 0, 0, 1, + 79, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 31, 0, + 4, 3, 10, 0, 16, 0, + 1, 0, 0, 0, 35, 0, + 0, 9, 18, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 18, 0, + 0, 1, 39, 0, 0, 8, + 18, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 26, 144, + 144, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 32, 0, + 0, 8, 34, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 26, 144, 144, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 2, 0, 0, 0, + 6, 4, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 79, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 1, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 18, 0, 0, 1, 32, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 55, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 85, 0, 0, 7, + 34, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 55, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 79, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 35, 0, 0, 12, + 194, 0, 16, 0, 2, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 166, 14, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 10, + 194, 0, 16, 0, 2, 0, + 0, 0, 166, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 240, 255, + 255, 255, 240, 255, 255, 255, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 55, 0, 0, 9, + 34, 0, 16, 0, 5, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 50, 0, 16, 0, + 3, 0, 0, 0, 86, 5, + 16, 0, 1, 0, 0, 0, + 70, 0, 16, 0, 4, 0, + 0, 0, 70, 0, 16, 0, + 5, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 21, 0, 0, 1, 21, 0, + 0, 1, 168, 0, 0, 8, + 50, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 70, 0, 16, 0, + 3, 0, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 8, + 50, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 58, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 8, + 50, 0, 16, 0, 4, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 6, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 50, 0, 16, 0, + 1, 0, 0, 0, 70, 0, + 16, 0, 4, 0, 0, 0, + 70, 0, 16, 0, 5, 0, + 0, 0, 168, 0, 0, 8, + 50, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 70, 0, 16, 0, + 1, 0, 0, 0, 21, 0, + 0, 1, 79, 0, 0, 10, + 50, 0, 16, 0, 1, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 8, 50, 0, + 16, 0, 4, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 146, 0, 16, 0, 1, 0, + 0, 0, 6, 4, 16, 0, + 4, 0, 0, 0, 6, 4, + 16, 0, 5, 0, 0, 0, + 168, 0, 0, 8, 50, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 198, 0, 16, 0, 1, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 42, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 8, 50, 0, + 16, 0, 4, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 146, 0, 16, 0, 1, 0, + 0, 0, 6, 4, 16, 0, + 4, 0, 0, 0, 6, 4, + 16, 0, 5, 0, 0, 0, + 168, 0, 0, 8, 50, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 198, 0, 16, 0, 1, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 26, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 8, 50, 0, + 16, 0, 4, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 50, 0, 16, 0, 3, 0, + 0, 0, 70, 0, 16, 0, + 4, 0, 0, 0, 70, 0, + 16, 0, 5, 0, 0, 0, + 21, 0, 0, 1, 30, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 32, 0, 0, 10, + 50, 0, 16, 0, 1, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 32, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 42, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 95, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 1, 0, + 0, 0, 33, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 144, 208, 0, + 64, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 1, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 114, 0, + 16, 0, 6, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 60, 0, + 0, 7, 114, 0, 16, 0, + 7, 0, 0, 0, 6, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 32, 0, 0, 10, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 0, 0, 0, 0, + 32, 0, 0, 10, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 0, 0, 0, 0, 41, 0, + 0, 9, 18, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 10, 144, 208, 0, 64, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 41, 0, 0, 9, + 114, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 10, 144, + 208, 0, 64, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 9, + 114, 0, 16, 0, 11, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 10, 144, + 208, 0, 64, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 42, 0, 0, 7, 114, 0, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 18, 0, + 0, 1, 33, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 144, 208, 0, + 64, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 1, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 114, 0, + 16, 0, 8, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 60, 0, + 0, 7, 114, 0, 16, 0, + 9, 0, 0, 0, 6, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 33, 0, 0, 10, + 114, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 33, 0, 0, 10, 114, 0, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 10, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 9, 18, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 10, 144, 208, 0, + 64, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 41, 0, 0, 7, + 114, 0, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 166, 10, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 166, 10, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 15, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 2, 64, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 10, + 114, 0, 16, 0, 17, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 2, 64, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 8, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 10, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 21, 0, + 0, 1, 30, 0, 0, 8, + 114, 0, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 55, 0, + 0, 11, 114, 0, 16, 0, + 4, 0, 0, 0, 6, 144, + 208, 0, 32, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 168, 0, + 0, 8, 50, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 68, 0, 0, 0, 150, 5, + 16, 0, 4, 0, 0, 0, + 21, 0, 0, 1, 31, 0, + 4, 3, 26, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 10, 50, 0, 16, 0, + 1, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 64, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 80, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 1, 0, 0, 0, + 32, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 42, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 95, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 1, 0, + 0, 0, 33, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 144, 208, 0, + 64, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 1, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 114, 0, + 16, 0, 7, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 60, 0, + 0, 7, 178, 0, 16, 0, + 1, 0, 0, 0, 6, 0, + 16, 0, 1, 0, 0, 0, + 70, 8, 16, 0, 8, 0, + 0, 0, 32, 0, 0, 10, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 0, 0, 0, 0, + 32, 0, 0, 10, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 0, 0, 0, 0, 41, 0, + 0, 9, 66, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 10, 144, 208, 0, 64, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 41, 0, 0, 9, + 114, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 10, 144, + 208, 0, 64, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 9, + 114, 0, 16, 0, 11, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 10, 144, + 208, 0, 64, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 42, 0, 0, 7, 114, 0, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 166, 10, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 166, 10, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 55, 0, + 0, 9, 178, 0, 16, 0, + 1, 0, 0, 0, 70, 12, + 16, 0, 1, 0, 0, 0, + 70, 8, 16, 0, 6, 0, + 0, 0, 70, 8, 16, 0, + 9, 0, 0, 0, 18, 0, + 0, 1, 33, 0, 0, 9, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 144, 208, 0, + 64, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 114, 0, + 16, 0, 8, 0, 0, 0, + 166, 10, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 60, 0, + 0, 7, 114, 0, 16, 0, + 9, 0, 0, 0, 166, 10, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 33, 0, 0, 10, + 114, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 33, 0, 0, 10, 114, 0, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 10, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 9, 66, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 10, 144, 208, 0, + 64, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 41, 0, 0, 7, + 114, 0, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 246, 15, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 246, 15, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 15, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 2, 64, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 10, + 114, 0, 16, 0, 17, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 2, 64, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 8, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 246, 15, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 246, 15, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 10, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 55, 0, + 0, 9, 178, 0, 16, 0, + 1, 0, 0, 0, 70, 8, + 16, 0, 9, 0, 0, 0, + 70, 8, 16, 0, 6, 0, + 0, 0, 70, 8, 16, 0, + 11, 0, 0, 0, 21, 0, + 0, 1, 30, 0, 0, 8, + 114, 0, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 8, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 4, 0, 0, 0, 70, 3, + 16, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 55, 0, + 0, 11, 242, 0, 16, 0, + 5, 0, 0, 0, 6, 144, + 208, 0, 32, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 7, 0, 0, 0, + 55, 0, 0, 11, 50, 0, + 16, 0, 1, 0, 0, 0, + 6, 144, 208, 0, 32, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 150, 5, + 16, 0, 4, 0, 0, 0, + 214, 5, 16, 0, 1, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 168, 0, + 0, 8, 50, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 68, 0, 0, 0, 70, 0, + 16, 0, 1, 0, 0, 0, + 21, 0, 0, 1, 21, 0, + 0, 1, 31, 0, 4, 3, + 42, 0, 16, 0, 1, 0, + 0, 0, 30, 0, 0, 6, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 64, 0, 0, 0, + 150, 240, 17, 0, 0, 0, + 0, 0, 31, 0, 0, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 79, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 58, 0, + 16, 0, 1, 0, 0, 0, + 41, 0, 0, 9, 18, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 10, 144, 208, 0, + 64, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 9, 34, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 26, 144, 208, 0, + 64, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 9, 66, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 144, 208, 0, + 64, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 9, 130, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 58, 144, 208, 0, + 64, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 33, 0, 0, 10, 114, 0, + 16, 0, 6, 0, 0, 0, + 38, 9, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 12, 114, 0, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 0, 0, 0, 0, + 150, 151, 208, 0, 64, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 33, 0, + 0, 7, 114, 0, 16, 0, + 7, 0, 0, 0, 38, 9, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 10, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 0, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 38, 9, + 16, 0, 1, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 9, 0, 0, 0, + 38, 9, 16, 0, 1, 0, + 0, 0, 34, 0, 0, 7, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 1, 0, + 0, 7, 226, 0, 16, 0, + 5, 0, 0, 0, 166, 4, + 16, 0, 1, 0, 0, 0, + 86, 14, 16, 0, 5, 0, + 0, 0, 55, 0, 0, 9, + 226, 0, 16, 0, 5, 0, + 0, 0, 6, 9, 16, 0, + 9, 0, 0, 0, 6, 9, + 16, 0, 8, 0, 0, 0, + 86, 14, 16, 0, 5, 0, + 0, 0, 55, 0, 0, 9, + 226, 0, 16, 0, 5, 0, + 0, 0, 6, 9, 16, 0, + 6, 0, 0, 0, 6, 9, + 16, 0, 7, 0, 0, 0, + 86, 14, 16, 0, 5, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 0, + 0, 7, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 6, 0, 16, 0, 5, 0, + 0, 0, 1, 0, 0, 7, + 194, 0, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 1, 0, 0, 0, 6, 0, + 16, 0, 5, 0, 0, 0, + 54, 0, 0, 5, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 55, 0, + 0, 11, 242, 0, 16, 0, + 4, 0, 0, 0, 6, 144, + 208, 0, 32, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 55, 0, 0, 11, 50, 0, + 16, 0, 1, 0, 0, 0, + 6, 144, 208, 0, 32, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 230, 10, + 16, 0, 5, 0, 0, 0, + 230, 10, 16, 0, 2, 0, + 0, 0, 18, 0, 0, 1, + 31, 0, 4, 5, 10, 144, + 208, 0, 32, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 9, + 18, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 10, 144, + 208, 0, 64, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 9, + 34, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 26, 144, + 208, 0, 64, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 9, + 66, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 144, + 208, 0, 64, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 9, + 130, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 58, 144, + 208, 0, 64, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 5, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 1, 0, 0, 7, 114, 0, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 6, 0, 16, 0, + 5, 0, 0, 0, 33, 0, + 0, 10, 114, 0, 16, 0, + 6, 0, 0, 0, 38, 9, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 12, + 114, 0, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 150, 151, + 208, 0, 64, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 33, 0, 0, 7, + 114, 0, 16, 0, 7, 0, + 0, 0, 38, 9, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 38, 9, 16, 0, + 1, 0, 0, 0, 40, 0, + 0, 5, 114, 0, 16, 0, + 9, 0, 0, 0, 38, 9, + 16, 0, 1, 0, 0, 0, + 34, 0, 0, 7, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 1, 0, + 0, 7, 114, 0, 16, 0, + 5, 0, 0, 0, 38, 9, + 16, 0, 1, 0, 0, 0, + 150, 7, 16, 0, 5, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 1, 0, + 0, 0, 150, 4, 16, 0, + 6, 0, 0, 0, 150, 4, + 16, 0, 7, 0, 0, 0, + 150, 4, 16, 0, 5, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 18, 0, + 0, 1, 41, 0, 0, 9, + 130, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 10, 144, + 208, 0, 64, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 255, 255, 255, 255, + 54, 0, 0, 5, 130, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 0, 0, 7, + 242, 0, 16, 0, 4, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 1, 0, 0, 7, 50, 0, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 70, 0, 16, 0, + 1, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 18, 0, 0, 1, 80, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 58, 0, 16, 0, 1, 0, + 0, 0, 31, 0, 4, 5, + 10, 144, 208, 0, 32, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 33, 0, + 0, 10, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 12, + 114, 0, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 150, 151, + 208, 0, 64, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 33, 0, 0, 7, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 40, 0, + 0, 5, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 34, 0, 0, 7, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 41, 0, + 0, 9, 18, 0, 16, 0, + 10, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 26, 144, 208, 0, 64, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 9, 34, 0, 16, 0, + 10, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 144, 208, 0, 64, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 9, 66, 0, 16, 0, + 10, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 58, 144, 208, 0, 64, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 10, 114, 0, 16, 0, + 10, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 0, 0, + 0, 0, 1, 0, 0, 7, + 114, 0, 16, 0, 11, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 33, 0, 0, 10, 114, 0, + 16, 0, 5, 0, 0, 0, + 38, 9, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 33, 0, + 0, 7, 114, 0, 16, 0, + 6, 0, 0, 0, 38, 9, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 38, 9, 16, 0, 1, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 8, 0, + 0, 0, 38, 9, 16, 0, + 1, 0, 0, 0, 34, 0, + 0, 7, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 1, 0, 0, 7, + 114, 0, 16, 0, 9, 0, + 0, 0, 38, 9, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 1, 0, 0, 0, + 150, 4, 16, 0, 5, 0, + 0, 0, 150, 4, 16, 0, + 6, 0, 0, 0, 150, 4, + 16, 0, 7, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 18, 0, 0, 1, + 41, 0, 0, 9, 130, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 10, 144, 208, 0, + 64, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 5, 130, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 0, 0, 7, 242, 0, + 16, 0, 4, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 1, 0, + 0, 7, 50, 0, 16, 0, + 1, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 1, 0, + 0, 0, 21, 0, 0, 1, + 18, 0, 0, 1, 54, 0, + 0, 5, 130, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 21, 0, 0, 1, 21, 0, + 0, 1, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 168, 0, + 0, 8, 50, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 68, 0, 0, 0, 70, 0, + 16, 0, 1, 0, 0, 0, + 21, 0, 0, 1, 31, 0, + 0, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 68, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 79, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 254, 255, 255, 255, + 32, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 5, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 0, 128, 0, 0, 0, 0, + 0, 2, 8, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 64, 0, 0, 0, 128, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 0, 4, + 0, 0, 0, 8, 0, 0, + 0, 16, 0, 0, 0, 32, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 18, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 4, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 19, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 21, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 22, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 8, 0, 0, 0, 16, 0, + 0, 0, 32, 0, 0, 0, + 64, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 26, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 27, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 0, + 0, 0, 0, 1, 0, 0, + 0, 4, 0, 0, 0, 8, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 29, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 30, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 16, 0, 0, 0, 32, + 0, 0, 0, 64, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 4, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 32, 0, 0, 0, 64, 0, + 0, 0, 128, 0, 0, 0, + 0, 1, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 0, 2, + 0, 0, 0, 4, 0, 0, + 0, 8, 0, 0, 0, 16, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 32, + 0, 0, 0, 0, 128, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 128, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 18, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 19, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 20, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 21, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 16, 0, 0, 0, + 32, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 5, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 64, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 0, 4, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 27, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 29, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 30, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 8, 0, 0, 0, 16, + 0, 0, 0, 32, 0, 0, + 0, 64, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 18, 0, 0, 1, 32, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 25, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 32, 0, 0, 0, 0, 128, + 0, 0, 0, 0, 0, 2, + 8, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 64, 0, + 0, 0, 128, 0, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 0, 4, 0, 0, + 0, 8, 0, 0, 0, 16, + 0, 0, 0, 32, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 17, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 18, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 19, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 20, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 21, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 8, 0, + 0, 0, 16, 0, 0, 0, + 32, 0, 0, 0, 64, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 27, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 0, 0, 0, + 0, 1, 0, 0, 0, 4, + 0, 0, 0, 8, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 29, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 30, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 31, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 16, + 0, 0, 0, 32, 0, 0, + 0, 64, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 4, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 32, 0, + 0, 0, 64, 0, 0, 0, + 128, 0, 0, 0, 0, 1, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 5, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 2, 0, 0, + 0, 4, 0, 0, 0, 8, + 0, 0, 0, 16, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 2, 0, 0, 0, + 6, 4, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 32, 0, 0, + 0, 0, 128, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 0, 64, + 0, 0, 0, 128, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 18, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 19, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 20, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 21, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 5, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 4, 0, + 0, 0, 8, 0, 0, 0, + 16, 0, 0, 0, 32, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 194, 0, 16, 0, + 4, 0, 0, 0, 86, 9, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 22, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 64, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 25, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 26, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 27, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 5, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, + 0, 4, 0, 0, 0, 8, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 29, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 30, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 16, 0, 0, + 0, 32, 0, 0, 0, 64, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 18, 0, + 0, 1, 32, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 25, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 32, 0, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 2, 8, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 64, 0, 0, 0, + 128, 0, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 4, 0, 0, 0, 8, + 0, 0, 0, 16, 0, 0, + 0, 32, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 18, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 0, 64, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 4, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 19, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 20, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 21, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 22, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 8, 0, 0, 0, + 16, 0, 0, 0, 32, 0, + 0, 0, 64, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 26, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 27, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 0, 0, 0, 0, 1, + 0, 0, 0, 4, 0, 0, + 0, 8, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 29, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 30, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 16, 0, 0, + 0, 32, 0, 0, 0, 64, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 16, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 5, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 64, 0, 0, 0, 128, 0, + 0, 0, 0, 1, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 21, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 2, 0, 0, 0, 4, + 0, 0, 0, 16, 0, 0, + 0, 0, 32, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 8, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 32, + 0, 0, 0, 0, 128, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 128, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 18, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 19, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 20, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 16, 0, 0, 0, + 0, 1, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 194, 0, + 16, 0, 4, 0, 0, 0, + 86, 9, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 22, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 64, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 27, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 4, + 0, 0, 0, 8, 0, 0, + 0, 16, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 29, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 30, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 2, 0, 0, 0, 6, 4, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 32, 0, 0, + 0, 64, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 18, 0, + 0, 1, 32, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 25, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 32, 0, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 2, 8, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 64, 0, 0, 0, + 128, 0, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 4, 0, 0, 0, 8, + 0, 0, 0, 16, 0, 0, + 0, 32, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 18, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 0, 64, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 4, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 19, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 20, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 21, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 22, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 8, 0, 0, 0, + 16, 0, 0, 0, 32, 0, + 0, 0, 64, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 26, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 27, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 0, 0, 0, 0, 1, + 0, 0, 0, 4, 0, 0, + 0, 8, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 29, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 30, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 16, 0, 0, + 0, 32, 0, 0, 0, 64, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 16, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 5, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 64, 0, 0, 0, 128, 0, + 0, 0, 0, 1, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 2, 0, 0, 0, 4, + 0, 0, 0, 16, 0, 0, + 0, 0, 2, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 8, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 32, + 0, 0, 0, 0, 128, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 194, 0, 16, 0, + 4, 0, 0, 0, 6, 4, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 128, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 1, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 18, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 19, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 21, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 16, 0, + 0, 0, 32, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 22, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 27, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 29, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 64, 0, 0, 0, 0, 8, + 0, 0, 0, 16, 0, 0, + 0, 32, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 25, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 26, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 2, 0, 0, 0, + 6, 4, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, + 0, 0, 0, 4, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 30, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 31, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 64, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 8, + 82, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 21, 0, 0, 1, 21, 0, + 0, 1, 18, 0, 0, 1, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 68, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 252, 255, 32, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 98, 0, + 16, 0, 0, 0, 0, 0, + 86, 6, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 8, 0, 0, 0, + 0, 4, 0, 0, 0, 8, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 25, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 32, 0, 0, 0, 0, 128, + 0, 0, 0, 0, 0, 2, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 64, 0, + 0, 0, 128, 0, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 9, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 4, 0, 0, + 0, 8, 0, 0, 0, 16, + 0, 0, 0, 32, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 17, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 18, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 9, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 9, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 19, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 20, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 21, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 8, 0, + 0, 0, 16, 0, 0, 0, + 32, 0, 0, 0, 64, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 27, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 9, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 0, 0, 0, + 0, 1, 0, 0, 0, 4, + 0, 0, 0, 8, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 9, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 29, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 30, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 31, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 16, + 0, 0, 0, 32, 0, 0, + 0, 64, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 4, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 64, 0, 0, 0, 128, 0, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 20, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 21, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 1, 0, 0, + 0, 0, 16, 0, 0, 0, + 32, 0, 0, 0, 64, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 29, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 9, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 2, 0, 0, + 0, 0, 0, 32, 2, 0, + 0, 0, 128, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 194, 0, + 16, 0, 0, 0, 0, 0, + 86, 9, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 30, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 2, 0, 0, 0, + 6, 4, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 0, 0, + 0, 0, 0, 64, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 4, 0, 0, 0, 6, 4, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 32, 0, 0, 0, 0, + 128, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 17, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 128, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 18, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 19, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 6, 0, 0, 0, + 6, 4, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 8, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 27, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 0, 4, + 0, 0, 0, 8, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 16, + 64, 0, 0, 0, 0, 16, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 16, 0, 0, 0, + 32, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 0, 4, 0, 0, + 0, 8, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 32, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 85, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 85, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 85, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 17, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 128, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 18, 0, + 0, 1, 32, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 98, 0, + 16, 0, 0, 0, 0, 0, + 86, 6, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 194, 0, 16, 0, + 2, 0, 0, 0, 166, 6, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 0, 64, + 0, 0, 0, 0, 64, 0, + 0, 0, 0, 1, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 16, 0, 0, 0, + 0, 32, 0, 0, 0, 0, + 128, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 9, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 0, 128, 0, 0, 0, 0, + 0, 2, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 10, 0, 0, 0, + 70, 14, 16, 0, 10, 0, + 0, 0, 2, 64, 0, 0, + 64, 0, 0, 0, 128, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 10, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 10, 0, 0, 0, 70, 14, + 16, 0, 10, 0, 0, 0, + 2, 64, 0, 0, 0, 4, + 0, 0, 0, 8, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 10, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 19, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 0, 0, 0, 0, + 6, 4, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 0, 0, + 0, 0, 8, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 18, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 19, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 21, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 10, 0, 0, 0, + 70, 14, 16, 0, 10, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 16, 0, + 0, 0, 32, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 10, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 27, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 29, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 4, + 0, 0, 0, 8, 0, 0, + 0, 16, 0, 0, 0, 32, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 30, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 7, 0, 0, 0, + 134, 3, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 64, 16, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 64, 0, 0, 0, + 128, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 29, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 32, + 2, 0, 0, 0, 128, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 0, 7, 194, 0, + 16, 0, 2, 0, 0, 0, + 86, 9, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 30, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 0, 4, + 0, 0, 0, 8, 0, 0, + 0, 16, 0, 0, 0, 0, + 0, 64, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 9, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 2, 0, 0, 0, 6, 4, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 32, 0, 0, 0, 0, + 128, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 17, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 10, 0, + 0, 0, 70, 14, 16, 0, + 10, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 128, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 10, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 10, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 18, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 25, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 26, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 10, 0, 0, 0, + 70, 14, 16, 0, 10, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 4, 0, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 0, 4, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 10, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 21, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 0, 0, + 0, 0, 6, 4, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 32, 0, 0, 0, 64, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 10, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 27, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 0, 0, 0, 0, 6, 4, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 8, 0, 0, + 0, 16, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 194, 0, + 16, 0, 0, 0, 0, 0, + 166, 2, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 1, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 0, 0, 0, 0, 86, 9, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 32, 0, + 0, 0, 64, 0, 0, 0, + 0, 1, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 2, 0, 0, + 0, 4, 0, 0, 0, 8, + 0, 0, 0, 16, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 32, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 85, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 85, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 128, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 18, 0, 0, 1, + 32, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 0, 128, 0, 0, 0, 0, + 0, 2, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 64, 0, 0, 0, 128, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 4, + 0, 0, 0, 8, 0, 0, + 0, 16, 0, 0, 0, 32, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 18, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 4, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 19, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 21, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 22, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 8, 0, 0, 0, 16, 0, + 0, 0, 32, 0, 0, 0, + 64, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 26, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 27, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 0, + 0, 0, 0, 1, 0, 0, + 0, 4, 0, 0, 0, 8, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 29, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 30, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 16, 0, 0, 0, 32, + 0, 0, 0, 64, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 4, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 32, 0, 0, 0, 64, 0, + 0, 0, 128, 0, 0, 0, + 0, 1, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 29, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 2, 0, 0, 0, 0, + 0, 32, 2, 0, 0, 0, + 128, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 0, 0, + 0, 0, 86, 9, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 30, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 4, 0, 0, 0, 8, + 0, 0, 0, 16, 0, 0, + 0, 0, 0, 64, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 0, 0, 0, 0, + 6, 4, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 32, 0, 0, + 0, 0, 128, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 9, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 128, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 1, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 9, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 194, 0, 16, 0, + 2, 0, 0, 0, 86, 9, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 27, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 2, 0, 0, 0, 6, 4, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 0, 8, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 18, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 19, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 4, 0, + 0, 0, 6, 4, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 4, 0, + 0, 0, 6, 4, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 20, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 21, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 10, 0, 0, 0, + 70, 14, 16, 0, 10, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 16, 0, 0, 0, + 32, 0, 0, 0, 64, 0, + 0, 0, 0, 16, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 10, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 25, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 26, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 0, 0, 0, 0, 6, 4, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 0, 0, + 0, 4, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 0, 0, + 0, 0, 166, 2, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 0, 0, 0, 0, + 86, 9, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 32, 0, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 0, 0, 0, 0, + 6, 4, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 64, 0, 0, 0, + 0, 16, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 2, 0, 0, 0, + 6, 4, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 0, 0, + 0, 8, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 32, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 85, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 85, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 128, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 18, 0, 0, 1, + 32, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 0, 128, 0, 0, 0, 0, + 0, 2, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 64, 0, 0, 0, 128, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 4, + 0, 0, 0, 8, 0, 0, + 0, 16, 0, 0, 0, 32, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 18, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 4, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 19, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 21, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 22, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 8, 0, 0, 0, 16, 0, + 0, 0, 32, 0, 0, 0, + 64, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 26, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 27, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 0, + 0, 0, 0, 1, 0, 0, + 0, 4, 0, 0, 0, 8, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 29, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 30, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 16, 0, 0, 0, 32, + 0, 0, 0, 64, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 4, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 194, 0, + 16, 0, 2, 0, 0, 0, + 6, 4, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 18, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 64, 0, 0, 0, 128, 0, + 0, 0, 0, 0, 4, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 20, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 21, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 1, 0, 0, + 0, 0, 16, 0, 0, 0, + 32, 0, 0, 0, 64, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 29, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 9, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 2, 0, 0, + 0, 0, 0, 32, 2, 0, + 0, 0, 128, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 0, 7, 194, 0, 16, 0, + 0, 0, 0, 0, 86, 9, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 30, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 10, 0, + 0, 0, 70, 14, 16, 0, + 10, 0, 0, 0, 2, 64, + 0, 0, 0, 4, 0, 0, + 0, 8, 0, 0, 0, 16, + 0, 0, 0, 0, 0, 64, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 10, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 10, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 0, 0, + 0, 0, 6, 4, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 32, + 0, 0, 0, 0, 128, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 11, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 11, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 11, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 11, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 11, 0, 0, 0, + 70, 14, 16, 0, 11, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 128, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 11, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 11, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 11, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 11, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 19, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 32, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, + 0, 4, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 27, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 8, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 16, 64, 0, 0, 0, + 0, 16, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 0, 0, + 0, 0, 166, 2, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 0, 0, 0, 0, + 86, 9, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 194, 0, + 16, 0, 0, 0, 0, 0, + 6, 12, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 0, 4, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 8, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 32, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 85, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 85, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 64, + 0, 0, 0, 128, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 18, 0, 0, 1, 32, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 25, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 32, 0, 0, 0, 0, 128, + 0, 0, 0, 0, 0, 2, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 64, 0, + 0, 0, 128, 0, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 4, 0, 0, + 0, 8, 0, 0, 0, 16, + 0, 0, 0, 32, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 17, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 18, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 19, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 20, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 21, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 8, 0, + 0, 0, 16, 0, 0, 0, + 32, 0, 0, 0, 64, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 27, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 0, 0, 0, + 0, 1, 0, 0, 0, 4, + 0, 0, 0, 8, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 29, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 30, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 31, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 16, + 0, 0, 0, 32, 0, 0, + 0, 64, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 4, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 194, 0, 16, 0, + 2, 0, 0, 0, 6, 4, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 32, 0, 0, 0, 64, 0, + 0, 0, 128, 0, 0, 0, + 0, 0, 2, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 1, 0, 0, 0, 4, + 0, 0, 0, 8, 0, 0, + 0, 16, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 29, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 9, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 9, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 0, 2, 0, 0, 0, 0, + 0, 32, 2, 0, 0, 0, + 128, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 9, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 0, 0, 0, 0, 6, 4, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 32, 0, 0, 0, 0, + 128, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 194, 0, + 16, 0, 2, 0, 0, 0, + 6, 4, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 64, + 0, 0, 0, 128, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 1, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 18, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 19, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 20, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 21, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 16, 0, 0, 0, + 32, 0, 0, 0, 64, 0, + 32, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 27, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 2, 0, 0, + 0, 4, 0, 0, 0, 8, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 16, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 194, 0, + 16, 0, 0, 0, 0, 0, + 166, 2, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 30, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 31, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 4, 0, 0, 0, + 6, 8, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 64, + 4, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 194, 0, 16, 0, + 0, 0, 0, 0, 6, 12, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 8, 0, 0, 0, + 16, 0, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 64, 0, 0, 0, 0, 8, + 0, 0, 0, 16, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 4, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 32, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 85, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 85, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 64, + 0, 0, 0, 128, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 18, 0, 0, 1, 32, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 25, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 32, 0, 0, 0, 0, 128, + 0, 0, 0, 0, 0, 2, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 64, 0, + 0, 0, 128, 0, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 4, 0, 0, + 0, 8, 0, 0, 0, 16, + 0, 0, 0, 32, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 194, 0, 16, 0, + 0, 0, 0, 0, 166, 6, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 0, 0, 1, 0, 4, + 0, 0, 0, 8, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 17, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 18, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 19, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 9, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 21, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 22, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 16, 0, + 0, 0, 32, 0, 0, 0, + 64, 0, 0, 0, 128, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 27, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 29, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 4, + 0, 0, 0, 8, 0, 0, + 0, 16, 0, 0, 0, 32, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 30, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 4, 0, + 0, 0, 6, 8, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 64, 2, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 194, 0, 16, 0, + 0, 0, 0, 0, 86, 1, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 20, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 21, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 16, 0, 0, 0, 32, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 32, 0, 0, 0, + 64, 0, 0, 0, 128, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 29, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 2, 0, 0, + 0, 0, 0, 32, 2, 0, + 0, 0, 128, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 194, 0, + 16, 0, 0, 0, 0, 0, + 86, 9, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 30, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 2, 0, 0, 0, + 6, 4, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 0, 0, + 0, 0, 0, 64, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 4, 0, 0, 0, 6, 4, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 32, 0, 0, 0, 0, + 128, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 17, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 128, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 18, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 19, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 6, 0, 0, 0, + 6, 4, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 8, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 6, 0, + 0, 0, 6, 4, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 22, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 64, 0, 0, 0, + 0, 16, 64, 0, 0, 0, + 0, 16, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 6, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 25, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 26, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 27, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, + 0, 4, 0, 0, 0, 8, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 8, 0, 0, 0, + 16, 0, 0, 0, 32, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 9, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, + 0, 4, 0, 0, 0, 8, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 32, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 85, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 85, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 128, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 18, 0, 0, 1, + 32, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 0, 128, 0, 0, 0, 0, + 0, 2, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 18, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 64, 0, 0, 0, 128, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 4, + 0, 0, 0, 8, 0, 0, + 0, 16, 0, 0, 0, 0, + 1, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 0, 0, + 0, 0, 6, 4, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 9, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 0, 32, 0, 0, 0, 0, + 128, 0, 2, 0, 0, 0, + 4, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 0, 0, + 0, 0, 166, 6, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 10, 0, 0, 0, + 70, 14, 16, 0, 10, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 0, + 0, 1, 0, 4, 0, 0, + 0, 8, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 10, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 18, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 19, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 20, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 2, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 16, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 21, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 26, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 27, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 32, 0, 0, 0, 64, 0, + 0, 0, 0, 4, 0, 0, + 0, 8, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 29, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 30, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 31, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 16, + 0, 0, 0, 32, 0, 0, + 0, 64, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 32, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 0, 0, + 0, 0, 6, 4, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 128, 0, + 0, 0, 0, 1, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 29, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 2, 0, 0, 0, 0, + 0, 32, 2, 0, 0, 0, + 128, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 194, 0, 16, 0, + 0, 0, 0, 0, 86, 9, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 30, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 2, 0, 0, 0, 6, 4, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 16, 0, 0, 0, 0, + 0, 64, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 4, 0, + 0, 0, 6, 4, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 32, + 0, 0, 0, 0, 128, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 128, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 18, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 19, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 6, 0, 0, 0, 6, 4, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 194, 0, 16, 0, + 6, 0, 0, 0, 6, 4, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 21, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 22, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 16, 0, + 0, 0, 32, 0, 0, 0, + 64, 0, 0, 0, 0, 16, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 27, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 9, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 0, 4, + 0, 0, 0, 8, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 9, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 16, 0, + 0, 0, 32, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 64, 0, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, + 0, 4, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 0, 0, 0, 0, 6, 4, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 8, 0, 0, 0, 16, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 32, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 85, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 85, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 128, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 18, 0, 0, 1, + 32, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 0, 128, 0, 0, 0, 0, + 0, 2, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 22, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 64, 0, 0, 0, 128, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 4, + 0, 0, 0, 8, 0, 0, + 0, 16, 0, 0, 0, 0, + 1, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 19, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 0, 0, 0, 0, 6, 4, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 32, 0, 0, 0, 0, + 8, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 194, 0, + 16, 0, 2, 0, 0, 0, + 166, 6, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 0, 64, + 0, 0, 0, 0, 128, 0, + 0, 0, 0, 1, 0, 4, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 9, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 18, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 19, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 20, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 2, 0, 0, 0, 4, 0, + 0, 0, 8, 0, 0, 0, + 16, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 21, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 22, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 26, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 27, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 32, 0, + 0, 0, 64, 0, 0, 0, + 0, 4, 0, 0, 0, 8, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 29, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 30, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 16, 0, 0, + 0, 32, 0, 0, 0, 64, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 6, 0, + 0, 0, 86, 1, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 4, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 16, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 32, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 128, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 29, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 32, + 2, 0, 0, 0, 128, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 194, 0, 16, 0, + 2, 0, 0, 0, 86, 9, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 30, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 31, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 8, 0, 0, + 0, 16, 0, 0, 0, 0, + 0, 64, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 2, 0, 0, 0, 6, 4, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 32, 0, 0, 0, 0, + 128, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 17, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 128, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 18, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 25, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 26, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 9, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 4, 0, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 0, 4, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 9, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 194, 0, 16, 0, + 4, 0, 0, 0, 6, 4, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 21, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 22, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 10, 0, + 0, 0, 70, 14, 16, 0, + 10, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 32, 0, + 0, 0, 64, 0, 0, 0, + 0, 16, 64, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 10, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 10, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 27, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 8, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 10, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 98, 0, 16, 0, 0, 0, + 0, 0, 166, 8, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 0, 4, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 8, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 16, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 32, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 85, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 85, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 64, + 0, 0, 0, 128, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 18, 0, 0, 1, 32, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 25, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 32, 0, 0, 0, 0, 128, + 0, 0, 0, 0, 0, 2, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 64, 0, + 0, 0, 128, 0, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 4, 0, 0, + 0, 8, 0, 0, 0, 16, + 0, 0, 0, 0, 1, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 2, 0, + 0, 0, 86, 1, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 0, 32, + 0, 0, 2, 0, 0, 0, + 4, 0, 0, 0, 0, 1, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 0, 7, 194, 0, + 16, 0, 0, 0, 0, 0, + 166, 6, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 10, 0, 0, 0, 70, 14, + 16, 0, 10, 0, 0, 0, + 2, 64, 0, 0, 0, 64, + 0, 0, 0, 0, 128, 0, + 0, 0, 0, 1, 0, 4, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 10, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 18, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 19, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 20, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 2, 0, 0, 0, 4, 0, + 0, 0, 8, 0, 0, 0, + 16, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 21, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 22, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 26, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 27, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 32, 0, + 0, 0, 64, 0, 0, 0, + 0, 4, 0, 0, 0, 8, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 29, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 30, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 16, 0, 0, + 0, 32, 0, 0, 0, 64, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 32, 0, 0, 0, + 64, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 128, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 29, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 2, 0, 0, + 0, 0, 0, 32, 2, 0, + 0, 0, 128, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 0, 0, + 0, 0, 86, 9, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 30, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 8, 0, 0, 0, 16, + 0, 0, 0, 0, 0, 64, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 32, + 0, 0, 0, 0, 128, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 9, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 128, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 9, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 18, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 19, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 4, 0, 0, 0, 6, 4, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 4, 0, + 0, 0, 6, 4, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 21, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 22, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 16, 0, + 0, 0, 32, 0, 0, 0, + 64, 0, 64, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 27, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 10, 0, 0, 0, + 70, 14, 16, 0, 10, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 0, 4, + 0, 0, 0, 8, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 10, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 16, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 98, 0, + 16, 0, 0, 0, 0, 0, + 166, 8, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 32, 0, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, + 0, 4, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 8, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 16, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 32, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 85, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 85, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 85, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 17, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 128, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 18, 0, + 0, 1, 32, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 25, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 32, 0, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 2, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 30, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 64, 0, 0, 0, + 128, 0, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 17, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 18, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 4, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 9, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 1, 0, + 0, 10, 210, 0, 16, 0, + 2, 0, 0, 0, 6, 9, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 0, 8, + 0, 0, 0, 0, 0, 0, + 0, 32, 0, 0, 0, 0, + 128, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 9, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 19, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 4, 0, + 0, 0, 6, 4, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 16, + 0, 0, 0, 0, 8, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 82, 0, 16, 0, 2, 0, + 0, 0, 166, 9, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 194, 0, + 16, 0, 6, 0, 0, 0, + 86, 9, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 9, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 21, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 22, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 0, 32, 0, 0, 0, + 64, 0, 0, 0, 0, 1, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 19, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 26, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 27, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 8, 0, 0, 0, 16, 0, + 0, 0, 0, 4, 0, 0, + 0, 8, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 29, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 30, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 16, 0, 0, 0, 32, + 0, 0, 0, 64, 16, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 42, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 42, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 32, 0, 0, 0, 64, 0, + 0, 0, 128, 0, 0, 0, + 0, 1, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 29, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 2, 0, 0, 0, 0, + 0, 32, 2, 0, 0, 0, + 128, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 0, 0, + 0, 0, 86, 9, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 8, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 30, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 4, 0, 0, 0, 8, + 0, 0, 0, 16, 0, 0, + 0, 0, 0, 64, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 0, 0, 0, 0, + 6, 4, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 32, 0, 0, + 0, 0, 128, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 42, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 9, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 0, 64, + 0, 0, 0, 128, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 9, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 42, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 18, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 4, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 0, 4, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 42, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 21, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 22, 0, 0, 0, 1, 0, + 0, 10, 50, 0, 16, 0, + 1, 0, 0, 0, 70, 0, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 32, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 27, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 0, 0, 0, 0, + 6, 4, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 8, + 0, 0, 0, 16, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 194, 0, 16, 0, 0, 0, + 0, 0, 166, 2, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 0, 0, 0, 0, + 86, 9, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 32, 0, 0, 0, 64, 0, + 0, 0, 0, 1, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 42, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 42, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 42, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 2, + 0, 0, 0, 4, 0, 0, + 0, 8, 0, 0, 0, 16, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 32, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 85, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 85, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 85, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 17, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 128, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 8, + 82, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 21, 0, 0, 1, 21, 0, + 0, 1, 21, 0, 0, 1, + 21, 0, 0, 1, 21, 0, + 0, 1, 21, 0, 0, 1, + 21, 0, 0, 1, 21, 0, + 0, 1, 21, 0, 0, 1, + 168, 0, 0, 9, 242, 224, + 17, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 134, 7, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 62, 0, + 0, 1 +}; diff --git a/DirectXTex/Shaders/Compiled/BC6HEncode_TryModeG10CS.inc b/DirectXTex/Shaders/Compiled/BC6HEncode_TryModeG10CS.inc new file mode 100644 index 0000000..ba8735b --- /dev/null +++ b/DirectXTex/Shaders/Compiled/BC6HEncode_TryModeG10CS.inc @@ -0,0 +1,3375 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +/// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_4_0 +dcl_globalFlags refactoringAllowed +dcl_immediateConstantBuffer { { 10, 5, 5, 5}, + { 7, 6, 6, 6}, + { 11, 5, 4, 4}, + { 11, 4, 5, 4}, + { 11, 4, 4, 5}, + { 9, 5, 5, 5}, + { 8, 6, 5, 5}, + { 8, 5, 6, 5}, + { 8, 5, 5, 6}, + { 6, 6, 6, 6}, + { 10, 10, 10, 10}, + { 11, 9, 9, 9}, + { 12, 8, 8, 8}, + { 16, 4, 4, 4}, + { -1, 0, 0, 0}, + { -1, 0, 4, 0}, + { -1, 0, 9, 0}, + { -1, 1, 13, 0}, + { -1, 1, 17, 0}, + { -1, 1, 21, 0}, + { -1, 1, 26, 0}, + { -1, 2, 30, 0}, + { -1, 2, 34, 0}, + { 0, 2, 38, 0}, + { 0, 2, 43, 0}, + { -1, 2, 47, 0}, + { -1, 3, 51, 0}, + { -1, 3, 55, 0}, + { 0, 3, 60, 0}, + { 0, 3, 64, 0}, + { 0, 4, 0, 0}, + { 0, 4, 0, 0}, + { 0, 4, 0, 0}, + { 0, 4, 0, 0}, + { 0, 5, 0, 0}, + { 0, 5, 0, 0}, + { 0, 5, 0, 0}, + { 0, 5, 0, 0}, + { 0, 6, 0, 0}, + { 0, 6, 0, 0}, + { 0, 6, 0, 0}, + { 0, 6, 0, 0}, + { 0, 6, 0, 0}, + { 0, 7, 0, 0}, + { 0, 7, 0, 0}, + { 0, 7, 0, 0}, + { 0, 7, 0, 0}, + { 0, 8, 0, 0}, + { 0, 8, 0, 0}, + { 0, 8, 0, 0}, + { 0, 8, 0, 0}, + { 0, 9, 0, 0}, + { 0, 9, 0, 0}, + { 0, 9, 0, 0}, + { 0, 9, 0, 0}, + { 0, 10, 0, 0}, + { 0, 10, 0, 0}, + { 0, 10, 0, 0}, + { 0, 10, 0, 0}, + { 0, 10, 0, 0}, + { 0, 11, 0, 0}, + { 0, 11, 0, 0}, + { 0, 11, 0, 0}, + { 0, 11, 0, 0}, + { 0, 12, 0, 0}, + { 0, 12, 0, 0}, + { 0, 12, 0, 0}, + { 0, 12, 0, 0}, + { 0, 13, 0, 0}, + { 0, 13, 0, 0}, + { 0, 13, 0, 0}, + { 0, 13, 0, 0}, + { 0, 14, 0, 0}, + { 0, 14, 0, 0}, + { 0, 14, 0, 0}, + { 0, 14, 0, 0}, + { 0, 15, 0, 0}, + { 0, 15, 0, 0} } +dcl_constantbuffer cb0[2], immediateIndexed +dcl_resource_texture2d (float,float,float,float) t0 +dcl_uav_structured u0, 16 +dcl_input vThreadIDInGroupFlattened +dcl_input vThreadGroupID.x +dcl_temps 19 +dcl_tgsm_structured g0, 84, 64 +dcl_thread_group 64, 1, 1 +ushr r0.x, vThreadIDInGroupFlattened.x, l(4) +ishl r0.y, vThreadGroupID.x, l(2) +iadd r0.y, r0.y, cb0[1].x +iadd r0.x, r0.x, r0.y +uge r0.y, r0.x, cb0[1].y +if_nz r0.y + ret +endif +and r0.y, vThreadIDInGroupFlattened.x, l(48) +iadd r0.z, -r0.y, vThreadIDInGroupFlattened.x +ult r1.xyzw, r0.zzzz, l(16, 8, 4, 2) +if_nz r1.x + udiv r0.w, null, r0.x, cb0[0].y + imad r1.x, -r0.w, cb0[0].y, r0.x + ishl r1.x, r1.x, l(2) + ishl r0.w, r0.w, l(2) + and r2.x, r0.z, l(3) + iadd r2.x, r1.x, r2.x + ushr r1.x, r0.z, l(2) + iadd r2.y, r0.w, r1.x + mov r2.zw, l(0,0,0,0) + ld r2.xyzw, r2.xyzw, t0.xyzw + ushr r3.xyz, r2.xyzx, l(16) + and r3.xyz, r3.xyzx, l(0x00008000, 0x00008000, 0x00008000, 0) + and r4.xyzw, r2.xxyy, l(0x7fffffff, 0x007fffff, 0x7fffffff, 0x007fffff) + ult r2.xy, l(0x47ffefff, 0x47ffefff, 0, 0), r4.xzxx + ult r5.xy, r4.xzxx, l(0x38800000, 0x38800000, 0, 0) + ushr r5.zw, r4.xxxz, l(23) + iadd r5.zw, -r5.zzzw, l(0, 0, 113, 113) + iadd r4.yw, r4.yyyw, l(0, 0x00800000, 0, 0x00800000) + ushr r6.x, r4.y, r5.z + ushr r6.y, r4.w, r5.w + iadd r4.xy, r4.xzxx, l(0xc8000000, 0xc8000000, 0, 0) + movc r4.xy, r5.xyxx, r6.xyxx, r4.xyxx + iadd r4.zw, r4.xxxy, l(0, 0, 4095, 4095) + ushr r4.xy, r4.xyxx, l(13) + and r4.xy, r4.xyxx, l(1, 1, 0, 0) + iadd r4.xy, r4.xyxx, r4.zwzz + ushr r4.xy, r4.xyxx, l(13) + and r4.xy, r4.xyxx, l(0x00007fff, 0x00007fff, 0, 0) + movc r2.xy, r2.xyxx, l(0x00007fff,0x00007fff,0,0), r4.xyxx + iadd r4.xy, r3.xyxx, r2.xyxx + and r2.xy, r2.zzzz, l(0x7fffffff, 0x007fffff, 0, 0) + ult r0.w, l(0x47ffefff), r2.x + ult r1.x, r2.x, l(0x38800000) + ushr r2.z, r2.x, l(23) + iadd r2.z, -r2.z, l(113) + iadd r2.y, r2.y, l(0x00800000) + ushr r2.y, r2.y, r2.z + iadd r2.x, r2.x, l(0xc8000000) + movc r1.x, r1.x, r2.y, r2.x + iadd r2.x, r1.x, l(4095) + ushr r1.x, r1.x, l(13) + and r1.x, r1.x, l(1) + iadd r1.x, r1.x, r2.x + ushr r1.x, r1.x, l(13) + and r1.x, r1.x, l(0x00007fff) + movc r0.w, r0.w, l(0x00007fff), r1.x + iadd r4.z, r3.z, r0.w + and r2.xyzw, r4.xxyy, l(1023, 0x00007c00, 1023, 0x00007c00) + if_nz r2.y + ushr r0.w, r4.x, l(10) + and r0.w, r0.w, l(31) + else + if_nz r2.x + ishl r1.x, r2.x, l(1) + mov r2.y, r1.x + mov r0.w, l(0) + loop + and r3.x, r2.y, l(1024) + breakc_nz r3.x + iadd r0.w, r0.w, l(-1) + ishl r2.y, r2.y, l(1) + endloop + and r2.x, r2.y, l(1022) + else + mov r2.x, l(0) + mov r0.w, l(-112) + endif + endif + ishl r3.xyz, r4.xyzx, l(16) + and r3.xyz, r3.xyzx, l(0x80000000, 0x80000000, 0x80000000, 0) + ishl r0.w, r0.w, l(23) + iadd r0.w, r0.w, l(0x38000000) + or r0.w, r0.w, r3.x + ishl r1.x, r2.x, l(13) + iadd r5.x, r0.w, r1.x + if_nz r2.w + ushr r0.w, r4.y, l(10) + and r0.w, r0.w, l(31) + else + if_nz r2.z + ishl r1.x, r2.z, l(1) + mov r2.x, r1.x + mov r0.w, l(0) + loop + and r2.y, r2.x, l(1024) + breakc_nz r2.y + iadd r0.w, r0.w, l(-1) + ishl r2.x, r2.x, l(1) + endloop + and r2.z, r2.x, l(1022) + else + mov r2.z, l(0) + mov r0.w, l(-112) + endif + endif + ishl r0.w, r0.w, l(23) + iadd r0.w, r0.w, l(0x38000000) + or r0.w, r0.w, r3.y + ishl r1.x, r2.z, l(13) + iadd r5.y, r0.w, r1.x + and r2.xy, r4.zzzz, l(1023, 0x00007c00, 0, 0) + if_nz r2.y + ushr r0.w, r4.z, l(10) + and r0.w, r0.w, l(31) + else + if_nz r2.x + ishl r1.x, r2.x, l(1) + mov r2.y, r1.x + mov r0.w, l(0) + loop + and r2.z, r2.y, l(1024) + breakc_nz r2.z + iadd r0.w, r0.w, l(-1) + ishl r2.y, r2.y, l(1) + endloop + and r2.x, r2.y, l(1022) + else + mov r2.x, l(0) + mov r0.w, l(-112) + endif + endif + ishl r0.w, r0.w, l(23) + iadd r0.w, r0.w, l(0x38000000) + or r0.w, r0.w, r3.z + ishl r1.x, r2.x, l(13) + iadd r5.z, r0.w, r1.x + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(24), r5.xyzx + dp3 r2.w, r5.xyzx, l(0.212600, 0.715200, 0.072200, 0.000000) + ieq r0.w, cb0[0].z, l(95) + ishl r3.xyz, r4.xyzx, l(6) + udiv r3.xyz, null, r3.xyzx, l(31, 31, 31, 0) + ult r5.xyz, r4.xyzx, l(0x00008000, 0x00008000, 0x00008000, 0) + ieq r6.xyz, r4.xyzx, l(0x00007bff, 0x00007bff, 0x00007bff, 0) + ishl r4.xyz, r4.xyzx, l(5) + udiv r7.xyz, null, r4.xyzx, l(31, 31, 31, 0) + movc r7.xyz, r6.xyzx, l(0x00007fff,0x00007fff,0x00007fff,0), r7.xyzx + and r4.xyz, r4.xyzx, l(0x000fffe0, 0x000fffe0, 0x000fffe0, 0) + udiv r4.xyz, null, r4.xyzx, l(31, 31, 31, 0) + ineg r4.xyz, r4.xyzx + movc r4.xyz, r6.xyzx, l(0xffff8001,0xffff8001,0xffff8001,0), r4.xyzx + movc r4.xyz, r5.xyzx, r7.xyzx, r4.xyzx + movc r2.xyz, r0.wwww, r3.xyzx, r4.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(12), r2.xyzx + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r2.xyzx + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(68), r2.yzww +endif +if_nz r1.y + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(76), g0.xxxx + iadd r0.w, vThreadIDInGroupFlattened.x, l(8) + ld_structured r3.x, r0.w, l(76), g0.xxxx + lt r1.x, r3.x, r2.x + if_nz r1.x + ld_structured r2.xyz, r0.w, l(52), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(52), r2.xyzx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(76), r3.x + endif + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(80), g0.xxxx + ld_structured r3.x, r0.w, l(80), g0.xxxx + lt r1.x, r2.x, r3.x + if_nz r1.x + ld_structured r2.xyz, r0.w, l(64), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(64), r2.xyzx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(80), r3.x + endif +endif +if_nz r1.z + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(76), g0.xxxx + iadd r0.w, vThreadIDInGroupFlattened.x, l(4) + ld_structured r3.x, r0.w, l(76), g0.xxxx + lt r1.x, r3.x, r2.x + if_nz r1.x + ld_structured r2.xyz, r0.w, l(52), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(52), r2.xyzx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(76), r3.x + endif + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(80), g0.xxxx + ld_structured r3.x, r0.w, l(80), g0.xxxx + lt r1.x, r2.x, r3.x + if_nz r1.x + ld_structured r2.xyz, r0.w, l(64), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(64), r2.xyzx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(80), r3.x + endif +endif +if_nz r1.w + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(76), g0.xxxx + iadd r0.w, vThreadIDInGroupFlattened.x, l(2) + ld_structured r3.x, r0.w, l(76), g0.xxxx + lt r1.x, r3.x, r2.x + if_nz r1.x + ld_structured r2.xyz, r0.w, l(52), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(52), r2.xyzx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(76), r3.x + endif + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(80), g0.xxxx + ld_structured r3.x, r0.w, l(80), g0.xxxx + lt r1.x, r2.x, r3.x + if_nz r1.x + ld_structured r2.xyz, r0.w, l(64), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(64), r2.xyzx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(80), r3.x + endif +endif +ult r0.w, r0.z, l(1) +if_nz r0.w + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(76), g0.xxxx + iadd r1.x, vThreadIDInGroupFlattened.x, l(1) + ld_structured r3.x, r1.x, l(76), g0.xxxx + lt r1.y, r3.x, r2.x + if_nz r1.y + ld_structured r2.xyz, r1.x, l(52), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(52), r2.xyzx + endif + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(80), g0.xxxx + ld_structured r3.x, r1.x, l(80), g0.xxxx + lt r1.y, r2.x, r3.x + if_nz r1.y + ld_structured r2.xyz, r1.x, l(64), g0.xyzx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(64), r2.xyzx + endif +endif +if_z r0.z + ld_structured r2.xyz, r0.y, l(52), g0.xyzx + ld_structured r3.xyz, r0.y, l(64), g0.xyzx + iadd r4.xyz, -r2.xyzx, r3.xyzx + itof r4.xyz, r4.xyzx + dp3 r1.x, r4.xyzx, r4.xyzx + ld_structured r5.xyz, r0.y, l(12), g0.xyzx + iadd r5.xyz, -r2.xyzx, r5.xyzx + itof r5.xyz, r5.xyzx + dp3 r1.y, r4.xyzx, r5.xyzx + lt r2.w, l(0.000000), r1.x + ge r4.x, r1.y, l(0.000000) + and r2.w, r2.w, r4.x + mul r1.y, r1.y, l(63.499989) + div r1.x, r1.y, r1.x + ftou r1.x, r1.x + ult r1.x, l(32), r1.x + and r1.x, r1.x, r2.w + if_nz r1.x + mov r3.w, r2.x + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r3.xyzw + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(68), r2.yzyy + endif +endif +if_nz r1.z + ld_structured r2.xyz, r0.y, l(52), g0.xyzx + ld_structured r3.xyz, r0.y, l(64), g0.xyzx + ineg r1.xyz, r2.xyzx + iadd r4.xyz, r1.xyzx, r3.xyzx + itof r4.xyz, r4.xyzx + dp3 r2.w, r4.xyzx, r4.xyzx + iadd r5.yz, r0.zzzz, l(0, 10, 11, 0) + ieq r6.xy, cb0[0].zzzz, l(95, 96, 0, 0) + if_nz r6.x + ige r0.z, icb[r5.y + 0].x, l(15) + and r0.z, r0.z, l(1) + movc r7.xyz, r2.xyzx, l(0,0,0,0), l(1,1,1,0) + movc r8.xyz, r3.xyzx, l(0,0,0,0), l(1,1,1,0) + or r7.xyz, r0.zzzz, r7.xyzx + or r8.xyz, r0.zzzz, r8.xyzx + ieq r9.xyz, r2.xyzx, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0) + ieq r10.xyz, r3.xyzx, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0) + ishl r0.z, l(1), icb[r5.y + 0].x + iadd r0.z, r0.z, l(-1) + ishl r11.xyz, r2.xyzx, icb[r5.y + 0].x + ishl r12.xyz, r3.xyzx, icb[r5.y + 0].x + ishr r11.xyz, r11.xyzx, l(16) + ishr r12.xyz, r12.xyzx, l(16) + movc r9.xyz, r9.xyzx, r0.zzzz, r11.xyzx + movc r10.xyz, r10.xyzx, r0.zzzz, r12.xyzx + movc r7.xyz, r7.xyzx, r2.xyzx, r9.xyzx + movc r8.xyz, r8.xyzx, r3.xyzx, r10.xyzx + else + ige r0.z, icb[r5.y + 0].x, l(16) + and r0.z, r0.z, l(1) + movc r9.xyz, r2.xyzx, l(0,0,0,0), l(1,1,1,0) + movc r10.xyz, r3.xyzx, l(0,0,0,0), l(1,1,1,0) + or r9.xyz, r0.zzzz, r9.xyzx + or r10.xyz, r0.zzzz, r10.xyzx + ige r11.xyz, r2.xyzx, l(0, 0, 0, 0) + ige r12.xyz, r3.xyzx, l(0, 0, 0, 0) + ieq r13.xyz, r2.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + ieq r14.xyz, r3.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + iadd r0.z, l(-1), icb[r5.y + 0].x + ishl r3.w, l(1), r0.z + iadd r4.w, r3.w, l(-1) + ishl r15.xyz, r2.xyzx, r0.z + ishl r16.xyz, r3.xyzx, r0.z + ishr r15.xyz, r15.xyzx, l(15) + ishr r16.xyz, r16.xyzx, l(15) + movc r13.xyz, r13.xyzx, r4.wwww, r15.xyzx + movc r14.xyz, r14.xyzx, r4.wwww, r16.xyzx + ineg r15.xyz, r3.xyzx + ieq r16.xyz, r1.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + ieq r17.xyz, r15.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + iadd r3.w, -r3.w, l(1) + ishl r18.xyz, r1.xyzx, r0.z + ishl r15.xyz, r15.xyzx, r0.z + ishr r18.xyz, r18.xyzx, l(15) + ishr r15.xyz, r15.xyzx, l(15) + ineg r18.xyz, r18.xyzx + ineg r15.xyz, r15.xyzx + movc r16.xyz, r16.xyzx, r3.wwww, r18.xyzx + movc r15.xyz, r17.xyzx, r3.wwww, r15.xyzx + movc r11.xyz, r11.xyzx, r13.xyzx, r16.xyzx + movc r12.xyz, r12.xyzx, r14.xyzx, r15.xyzx + movc r7.xyz, r9.xyzx, r2.xyzx, r11.xyzx + movc r8.xyz, r10.xyzx, r3.xyzx, r12.xyzx + endif + iadd r2.xyz, -r7.xyzx, r8.xyzx + movc r2.xyz, icb[r5.y + 14].xxxx, r2.xyzx, r8.xyzx + ige r3.xyz, r2.xyzx, l(0, 0, 0, 0) + iadd r8.xyzw, l(-1, -1, -1, -1), icb[r5.y + 0].xyzw + ishl r9.x, l(1), r8.x + ishl r9.y, l(1), r8.y + ishl r9.z, l(1), r8.z + ishl r9.w, l(1), r8.w + ige r8.yzw, r2.xxyz, r9.yyzw + ineg r10.xyz, r2.xyzx + ilt r10.xyz, r9.yzwy, r10.xyzx + movc r11.xyz, r3.xyzx, r8.yzwy, r10.xyzx + or r0.z, r11.y, r11.x + or r11.x, r11.z, r0.z + ishl r12.x, l(1), icb[r5.y + 0].x + ishl r12.y, l(1), icb[r5.y + 0].y + ishl r12.z, l(1), icb[r5.y + 0].z + ishl r12.w, l(1), icb[r5.y + 0].w + iadd r12.xyzw, r12.xyzw, l(-1, -1, -1, -1) + and r7.xyz, r7.xyzx, r12.xxxx + iadd r13.xyzw, r9.yzwx, l(-1, -1, -1, -1) + movc r8.yzw, r8.yyzw, r13.xxyz, r2.xxyz + and r12.yzw, r2.xxyz, r12.yyzw + movc r10.xyz, r10.xyzx, r9.yzwy, r12.yzwy + movc r11.yzw, r3.xxyz, r8.yyzw, r10.xxyz + and r3.yzw, r2.xxyz, r12.xxxx + mov r3.x, l(0) + movc r3.xyzw, icb[r5.y + 14].xxxx, r11.xyzw, r3.xyzw + and r2.xyz, r9.xxxx, r7.xyzx + and r8.yzw, r7.xxyz, r13.wwww + iadd r8.yzw, -r9.xxxx, r8.yyzw + movc r2.xyz, r2.xyzx, r8.yzwy, r7.xyzx + movc r2.xyz, r6.yyyy, r2.xyzx, r7.xyzx + or r0.z, r6.y, icb[r5.y + 14].x + and r6.yzw, r9.yyzw, r3.yyzw + and r7.xyz, r13.xyzx, r3.yzwy + iadd r7.xyz, -r9.yzwy, r7.xyzx + movc r6.yzw, r6.yyzw, r7.xxyz, r3.yyzw + movc r3.yzw, r0.zzzz, r6.yyzw, r3.yyzw + iadd r6.yzw, r2.xxyz, r3.yyzw + movc r3.yzw, icb[r5.y + 14].xxxx, r6.yyzw, r3.yyzw + ult r6.yz, icb[r5.y + 0].xxxx, l(0, 15, 16, 0) + ieq r7.xyz, r12.xxxx, r2.xyzx + ieq r8.yzw, r12.xxxx, r3.yyzw + ishl r9.xyz, r2.xyzx, l(16) + ishl r10.xyz, r3.yzwy, l(16) + iadd r9.xyz, r9.xyzx, l(0x00008000, 0x00008000, 0x00008000, 0) + iadd r10.xyz, r10.xyzx, l(0x00008000, 0x00008000, 0x00008000, 0) + ushr r9.xyz, r9.xyzx, icb[r5.y + 0].x + ushr r10.xyz, r10.xyzx, icb[r5.y + 0].x + movc r7.xyz, r7.xyzx, l(0x0000ffff,0x0000ffff,0x0000ffff,0), r9.xyzx + movc r8.yzw, r8.yyzw, l(0,0x0000ffff,0x0000ffff,0x0000ffff), r10.xxyz + movc r7.xyz, r2.xyzx, r7.xyzx, l(0,0,0,0) + movc r8.yzw, r3.yyzw, r8.yyzw, l(0,0,0,0) + movc r7.xyz, r6.yyyy, r7.xyzx, r2.xyzx + movc r8.yzw, r6.yyyy, r8.yyzw, r3.yyzw + ige r9.xyz, r2.xyzx, l(0, 0, 0, 0) + ige r10.xyz, r3.yzwy, l(0, 0, 0, 0) + imax r11.xyz, -r2.xyzx, r2.xyzx + imax r12.xyz, -r3.yzwy, r3.yzwy + ige r13.xyz, r11.xyzx, r13.wwww + ige r14.xyz, r12.xyzx, r13.wwww + ishl r15.xyz, r11.xyzx, l(15) + ishl r16.xyz, r12.xyzx, l(15) + iadd r15.xyz, r15.xyzx, l(0x00004000, 0x00004000, 0x00004000, 0) + iadd r16.xyz, r16.xyzx, l(0x00004000, 0x00004000, 0x00004000, 0) + ushr r15.xyz, r15.xyzx, r8.x + ushr r16.xyz, r16.xyzx, r8.x + movc r13.xyz, r13.xyzx, l(0x00007fff,0x00007fff,0x00007fff,0), r15.xyzx + movc r14.xyz, r14.xyzx, l(0x00007fff,0x00007fff,0x00007fff,0), r16.xyzx + movc r11.xyz, r11.xyzx, r13.xyzx, l(0,0,0,0) + movc r12.xyz, r12.xyzx, r14.xyzx, l(0,0,0,0) + ineg r13.xyz, r11.xyzx + ineg r14.xyz, r12.xyzx + movc r9.xyz, r9.xyzx, r11.xyzx, r13.xyzx + movc r10.xyz, r10.xyzx, r12.xyzx, r14.xyzx + movc r2.xyz, r6.zzzz, r9.xyzx, r2.xyzx + movc r3.yzw, r6.zzzz, r10.xxyz, r3.yyzw + movc r2.xyz, r6.xxxx, r7.xyzx, r2.xyzx + movc r3.yzw, r6.xxxx, r8.yyzw, r3.yyzw + ge r0.z, l(0.000000), r2.w + mov r4.w, cb0[0].z + mov r5.yw, l(0,0,0,0) + loop + uge r6.x, r5.w, l(16) + breakc_nz r6.x + iadd r6.x, r0.y, r5.w + ld_structured r7.xyz, r6.x, l(12), g0.xyzx + iadd r6.yzw, r1.xxyz, r7.xxyz + itof r6.yzw, r6.yyzw + dp3 r6.y, r4.xyzx, r6.yzwy + ge r6.z, l(0.000000), r6.y + or r6.z, r0.z, r6.z + lt r6.w, r6.y, r2.w + mul r6.y, r6.y, l(63.499989) + div r6.y, r6.y, r2.w + ftou r6.y, r6.y + movc r6.y, r6.w, icb[r6.y + 14].y, l(15) + movc r6.y, r6.z, l(0), r6.y + iadd r6.z, l(64), -icb[r6.y + 14].z + imul null, r7.xyz, r3.yzwy, icb[r6.y + 14].zzzz + imad r6.yzw, r2.xxyz, r6.zzzz, r7.xxyz + iadd r6.yzw, r6.yyzw, l(0, 32, 32, 32) + ishr r6.yzw, r6.yyzw, l(6) + ieq r7.x, r4.w, l(95) + imul null, r7.yzw, r6.yyzw, l(0, 31, 31, 31) + ishr r8.xyz, r7.yzwy, l(6) + ilt r9.xyz, r6.yzwy, l(0, 0, 0, 0) + imul null, r6.yzw, r6.yyzw, l(0, -31, -31, -31) + ishr r6.yzw, r6.yyzw, l(5) + ineg r6.yzw, r6.yyzw + ishr r7.yzw, r7.yyzw, l(5) + movc r6.yzw, r9.xxyz, r6.yyzw, r7.yyzw + ilt r7.yzw, r6.yyzw, l(0, 0, 0, 0) + ineg r9.xyz, r6.yzwy + or r9.xyz, r9.xyzx, l(0x00008000, 0x00008000, 0x00008000, 0) + movc r6.yzw, r7.yyzw, r9.xxyz, r6.yyzw + movc r6.yzw, r7.xxxx, r8.xxyz, r6.yyzw + and r7.xyzw, r6.yyzz, l(1023, 0x00007c00, 1023, 0x00007c00) + if_nz r7.y + ushr r7.y, r6.y, l(10) + and r7.y, r7.y, l(31) + else + if_nz r7.x + ishl r8.x, r7.x, l(1) + mov r8.y, r8.x + mov r7.y, l(0) + loop + and r8.z, r8.y, l(1024) + breakc_nz r8.z + iadd r7.y, r7.y, l(-1) + ishl r8.y, r8.y, l(1) + endloop + and r7.x, r8.y, l(1022) + else + mov r7.xy, l(0,-112,0,0) + endif + endif + ishl r8.xzw, r6.yyzw, l(16) + and r8.xzw, r8.xxzw, l(0x80000000, 0, 0x80000000, 0x80000000) + ishl r6.y, r7.y, l(23) + iadd r6.y, r6.y, l(0x38000000) + or r6.y, r6.y, r8.x + ishl r7.x, r7.x, l(13) + iadd r9.x, r6.y, r7.x + if_nz r7.w + ushr r6.y, r6.z, l(10) + and r6.y, r6.y, l(31) + else + if_nz r7.z + ishl r6.z, r7.z, l(1) + mov r7.x, r6.z + mov r6.y, l(0) + loop + and r7.w, r7.x, l(1024) + breakc_nz r7.w + iadd r6.y, r6.y, l(-1) + ishl r7.x, r7.x, l(1) + endloop + and r7.z, r7.x, l(1022) + else + mov r7.z, l(0) + mov r6.y, l(-112) + endif + endif + ishl r6.z, r6.y, l(23) + iadd r6.z, r6.z, l(0x38000000) + or r6.z, r6.z, r8.z + ishl r7.z, r7.z, l(13) + iadd r9.y, r6.z, r7.z + and r7.zw, r6.wwww, l(0, 0, 1023, 0x00007c00) + if_nz r7.w + ushr r6.z, r6.w, l(10) + and r6.z, r6.z, l(31) + else + if_nz r7.z + ishl r6.w, r7.z, l(1) + mov r7.w, r6.w + mov r6.z, l(0) + loop + and r8.x, r7.w, l(1024) + breakc_nz r8.x + iadd r6.z, r6.z, l(-1) + ishl r7.w, r7.w, l(1) + endloop + and r7.z, r7.w, l(1022) + else + mov r7.z, l(0) + mov r6.z, l(-112) + endif + endif + ishl r6.w, r6.z, l(23) + iadd r6.w, r6.w, l(0x38000000) + or r6.w, r6.w, r8.w + ishl r7.z, r7.z, l(13) + iadd r9.z, r6.w, r7.z + ld_structured r10.xyz, r6.x, l(24), g0.xyzx + add r8.xzw, r9.xxyz, -r10.xxyz + dp3 r6.x, r8.xzwx, r8.xzwx + add r5.y, r5.y, r6.x + iadd r5.w, r5.w, l(1) + endloop + movc r5.x, r3.x, l(100000002004087730000.000000), r5.y + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(40), r5.xzxx +endif +if_nz r1.w + ld_structured r1.x, vThreadIDInGroupFlattened.x, l(40), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(2) + ld_structured r2.yz, r0.y, l(40), g0.xxyx + lt r0.z, r2.y, r1.x + if_nz r0.z + ld_structured r2.x, r0.y, l(40), g0.xxxx + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(40), r2.xzxx + endif +endif +if_nz r0.w + ld_structured r1.x, vThreadIDInGroupFlattened.x, l(40), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(1) + ld_structured r2.yz, r0.y, l(40), g0.xxyx + lt r0.z, r2.y, r1.x + if_nz r0.z + ld_structured r2.x, r0.y, l(40), g0.xxxx + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(40), r2.xzxx + endif + ld_structured r1.xy, vThreadIDInGroupFlattened.x, l(40), g0.xyxx + mov r1.zw, l(0,0,0,0) + store_structured u0.xyzw, r0.x, l(0), r1.xyzw +endif +ret +// Approximately 0 instruction slots used +#endif + +const BYTE BC6HEncode_TryModeG10CS[] = +{ + 68, 88, 66, 67, 170, 22, + 38, 105, 9, 0, 89, 149, + 206, 186, 157, 215, 127, 90, + 232, 184, 1, 0, 0, 0, + 148, 63, 0, 0, 3, 0, + 0, 0, 44, 0, 0, 0, + 60, 0, 0, 0, 76, 0, + 0, 0, 73, 83, 71, 78, + 8, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 79, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 83, 72, + 69, 88, 64, 63, 0, 0, + 64, 0, 5, 0, 208, 15, + 0, 0, 106, 8, 0, 1, + 53, 24, 0, 0, 58, 1, + 0, 0, 10, 0, 0, 0, + 5, 0, 0, 0, 5, 0, + 0, 0, 5, 0, 0, 0, + 7, 0, 0, 0, 6, 0, + 0, 0, 6, 0, 0, 0, + 6, 0, 0, 0, 11, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 4, 0, + 0, 0, 11, 0, 0, 0, + 4, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 11, 0, 0, 0, 4, 0, + 0, 0, 4, 0, 0, 0, + 5, 0, 0, 0, 9, 0, + 0, 0, 5, 0, 0, 0, + 5, 0, 0, 0, 5, 0, + 0, 0, 8, 0, 0, 0, + 6, 0, 0, 0, 5, 0, + 0, 0, 5, 0, 0, 0, + 8, 0, 0, 0, 5, 0, + 0, 0, 6, 0, 0, 0, + 5, 0, 0, 0, 8, 0, + 0, 0, 5, 0, 0, 0, + 5, 0, 0, 0, 6, 0, + 0, 0, 6, 0, 0, 0, + 6, 0, 0, 0, 6, 0, + 0, 0, 6, 0, 0, 0, + 10, 0, 0, 0, 10, 0, + 0, 0, 10, 0, 0, 0, + 10, 0, 0, 0, 11, 0, + 0, 0, 9, 0, 0, 0, + 9, 0, 0, 0, 9, 0, + 0, 0, 12, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 16, 0, 0, 0, 4, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 1, 0, 0, 0, + 13, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 1, 0, 0, 0, 17, 0, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 1, 0, + 0, 0, 21, 0, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 1, 0, 0, 0, + 26, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 0, 0, 30, 0, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 0, 0, 34, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 38, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 43, 0, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 0, 0, 47, 0, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 0, 0, + 51, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 3, 0, 0, 0, 55, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 60, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 64, 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, 4, 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, + 4, 0, 0, 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, 5, 0, 0, 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, 5, 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, + 6, 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, 6, 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, 7, 0, + 0, 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, + 7, 0, 0, 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, 8, 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, 8, 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, + 9, 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, 9, 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, 10, 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, + 10, 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, 10, 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, 11, 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, + 11, 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, 12, 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, 12, 0, + 0, 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, + 13, 0, 0, 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, 13, 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, 14, 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, + 14, 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, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 0, 0, 0, 0, + 85, 85, 0, 0, 158, 0, + 0, 4, 0, 224, 17, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 95, 0, 0, 2, + 0, 64, 2, 0, 95, 0, + 0, 2, 18, 16, 2, 0, + 104, 0, 0, 2, 19, 0, + 0, 0, 160, 0, 0, 5, + 0, 240, 17, 0, 0, 0, + 0, 0, 84, 0, 0, 0, + 64, 0, 0, 0, 155, 0, + 0, 4, 64, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 85, 0, 0, 6, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 16, 2, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 30, 0, 0, 8, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 80, 0, 0, 8, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 26, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 21, 0, 0, 1, + 1, 0, 0, 6, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 48, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 79, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 8, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 1, 0, + 0, 0, 78, 0, 0, 9, + 130, 0, 16, 0, 0, 0, + 0, 0, 0, 208, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 26, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 35, 0, 0, 11, + 18, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 26, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 85, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 8, 194, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 45, 0, 0, 7, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 128, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 4, 0, 0, 0, + 6, 5, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 127, 255, 255, + 127, 0, 255, 255, 255, 127, + 255, 255, 127, 0, 79, 0, + 0, 10, 50, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 255, 239, 255, 71, + 255, 239, 255, 71, 0, 0, + 0, 0, 0, 0, 0, 0, + 134, 0, 16, 0, 4, 0, + 0, 0, 79, 0, 0, 10, + 50, 0, 16, 0, 5, 0, + 0, 0, 134, 0, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 56, + 0, 0, 128, 56, 0, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 194, 0, + 16, 0, 5, 0, 0, 0, + 6, 8, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 30, 0, + 0, 11, 194, 0, 16, 0, + 5, 0, 0, 0, 166, 14, + 16, 128, 65, 0, 0, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 113, 0, + 0, 0, 113, 0, 0, 0, + 30, 0, 0, 10, 162, 0, + 16, 0, 4, 0, 0, 0, + 86, 13, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 128, 0, 0, 0, 0, 0, + 0, 0, 128, 0, 85, 0, + 0, 7, 18, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 85, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 10, 50, 0, + 16, 0, 4, 0, 0, 0, + 134, 0, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 200, 0, 0, + 0, 200, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 50, 0, 16, 0, + 4, 0, 0, 0, 70, 0, + 16, 0, 5, 0, 0, 0, + 70, 0, 16, 0, 6, 0, + 0, 0, 70, 0, 16, 0, + 4, 0, 0, 0, 30, 0, + 0, 10, 194, 0, 16, 0, + 4, 0, 0, 0, 6, 4, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 255, 15, 0, 0, 255, 15, + 0, 0, 85, 0, 0, 7, + 50, 0, 16, 0, 4, 0, + 0, 0, 70, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 1, 0, 0, 10, 50, 0, + 16, 0, 4, 0, 0, 0, + 70, 0, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 50, 0, 16, 0, + 4, 0, 0, 0, 70, 0, + 16, 0, 4, 0, 0, 0, + 230, 10, 16, 0, 4, 0, + 0, 0, 85, 0, 0, 7, + 50, 0, 16, 0, 4, 0, + 0, 0, 70, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 1, 0, 0, 10, 50, 0, + 16, 0, 4, 0, 0, 0, + 70, 0, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 12, 50, 0, 16, 0, + 2, 0, 0, 0, 70, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 4, 0, 0, 0, 30, 0, + 0, 7, 50, 0, 16, 0, + 4, 0, 0, 0, 70, 0, + 16, 0, 3, 0, 0, 0, + 70, 0, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 10, + 50, 0, 16, 0, 2, 0, + 0, 0, 166, 10, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 255, 127, + 255, 255, 127, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 79, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 255, 239, + 255, 71, 10, 0, 16, 0, + 2, 0, 0, 0, 79, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 56, 85, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 30, 0, 0, 8, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 128, 65, 0, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 113, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 128, 0, + 85, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 200, 55, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 255, 15, 0, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 1, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 1, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 255, 127, + 0, 0, 55, 0, 0, 9, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 255, 127, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 6, 5, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 255, 3, 0, 0, 0, 124, + 0, 0, 255, 3, 0, 0, + 0, 124, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 2, 0, 0, 0, 85, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 18, 0, 0, 1, 31, 0, + 4, 3, 10, 0, 16, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 1, 1, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 4, + 0, 0, 3, 0, 4, 3, + 10, 0, 16, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 255, 255, 255, 255, + 41, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 22, 0, + 0, 1, 1, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 254, 3, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 5, 18, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 144, 255, + 255, 255, 21, 0, 0, 1, + 21, 0, 0, 1, 41, 0, + 0, 7, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 128, 0, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 56, 60, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 58, 0, 16, 0, 2, 0, + 0, 0, 85, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 18, 0, + 0, 1, 31, 0, 4, 3, + 42, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 48, 0, + 0, 1, 1, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 4, 0, 0, + 3, 0, 4, 3, 26, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 41, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 22, 0, 0, 1, + 1, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 254, 3, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 5, + 66, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 144, 255, 255, 255, + 21, 0, 0, 1, 21, 0, + 0, 1, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 56, 60, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 0, + 0, 10, 50, 0, 16, 0, + 2, 0, 0, 0, 166, 10, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 255, 3, + 0, 0, 0, 124, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 2, 0, + 0, 0, 85, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 18, 0, + 0, 1, 31, 0, 4, 3, + 10, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 34, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 48, 0, + 0, 1, 1, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 4, 0, 0, + 3, 0, 4, 3, 42, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 41, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 22, 0, 0, 1, + 1, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 254, 3, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 5, + 18, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 144, 255, 255, 255, + 21, 0, 0, 1, 21, 0, + 0, 1, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 56, 60, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 168, 0, + 0, 8, 114, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 16, 0, 0, 10, 130, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 208, 179, 89, 62, 89, 23, + 55, 63, 152, 221, 147, 61, + 0, 0, 0, 0, 32, 0, + 0, 8, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 95, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 78, 0, + 0, 11, 114, 0, 16, 0, + 3, 0, 0, 0, 0, 208, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 31, 0, 0, 0, + 31, 0, 0, 0, 31, 0, + 0, 0, 0, 0, 0, 0, + 79, 0, 0, 10, 114, 0, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 255, 123, + 0, 0, 255, 123, 0, 0, + 255, 123, 0, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 78, 0, 0, 11, 114, 0, + 16, 0, 7, 0, 0, 0, + 0, 208, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 31, 0, + 0, 0, 31, 0, 0, 0, + 31, 0, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 12, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 224, 255, 15, 0, + 224, 255, 15, 0, 224, 255, + 15, 0, 0, 0, 0, 0, + 78, 0, 0, 11, 114, 0, + 16, 0, 4, 0, 0, 0, + 0, 208, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 31, 0, + 0, 0, 31, 0, 0, 0, + 31, 0, 0, 0, 0, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 1, 128, + 255, 255, 1, 128, 255, 255, + 1, 128, 255, 255, 0, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 168, 0, + 0, 8, 114, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 68, 0, + 0, 0, 150, 15, 16, 0, + 2, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 26, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 8, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 76, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 6, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 76, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 49, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 168, 0, 0, 8, + 114, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 168, 0, + 0, 8, 18, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 76, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 167, 0, + 0, 8, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 80, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 80, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 49, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 31, 0, + 4, 3, 10, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 64, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 168, 0, + 0, 8, 114, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 168, 0, 0, 8, 18, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 80, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 31, 0, + 4, 3, 42, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 8, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 76, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 76, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 49, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 10, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 168, 0, + 0, 8, 114, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 168, 0, 0, 8, 18, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 76, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 21, 0, 0, 1, + 167, 0, 0, 8, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 80, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 80, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 49, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 64, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 80, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 31, 0, 4, 3, 58, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 76, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 76, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 49, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 76, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 21, 0, + 0, 1, 167, 0, 0, 8, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 80, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 80, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 49, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 64, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 168, 0, 0, 8, + 114, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 64, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 168, 0, + 0, 8, 18, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 80, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 21, 0, + 0, 1, 79, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 58, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 76, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 76, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 49, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 21, 0, 0, 1, + 167, 0, 0, 8, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 80, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 80, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 49, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 64, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 31, 0, + 0, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 64, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 8, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 43, 0, 0, 5, 114, 0, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 16, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 8, 114, 0, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 43, 0, 0, 5, + 114, 0, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 16, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 49, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 29, 0, 0, 7, 18, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 56, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 253, 255, 125, 66, + 14, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 28, 0, + 0, 5, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 79, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 168, 0, 0, 8, 50, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 150, 5, 16, 0, 2, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 31, 0, + 4, 3, 42, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 64, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 40, 0, + 0, 5, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 114, 0, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 43, 0, + 0, 5, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 30, 0, + 0, 10, 98, 0, 16, 0, + 5, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 11, 0, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 11, + 50, 0, 16, 0, 6, 0, + 0, 0, 166, 138, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 95, 0, 0, 0, 96, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 31, 0, + 4, 3, 10, 0, 16, 0, + 6, 0, 0, 0, 33, 0, + 0, 8, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 144, + 144, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 55, 0, + 0, 15, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 15, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 114, 0, 16, 0, + 7, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 60, 0, 0, 7, + 114, 0, 16, 0, 8, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 32, 0, 0, 10, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 10, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 0, 0, + 0, 0, 41, 0, 0, 8, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 10, 144, + 144, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 41, 0, 0, 8, + 114, 0, 16, 0, 11, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 10, 144, + 144, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 41, 0, + 0, 8, 114, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 10, 144, 144, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 0, 7, 114, 0, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 42, 0, + 0, 7, 114, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 18, 0, 0, 1, + 33, 0, 0, 8, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 144, 144, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 114, 0, + 16, 0, 9, 0, 0, 0, + 166, 10, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 60, 0, + 0, 7, 114, 0, 16, 0, + 10, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 33, 0, 0, 10, + 114, 0, 16, 0, 11, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 33, 0, 0, 10, 114, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 10, + 114, 0, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 8, 66, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 10, 144, 144, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 41, 0, + 0, 7, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 42, 0, + 0, 7, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 246, 15, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 246, 15, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 10, + 114, 0, 16, 0, 17, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 2, 64, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 8, 130, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 18, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 114, 0, 16, 0, + 18, 0, 0, 0, 70, 2, + 16, 0, 18, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 18, 0, 0, 0, + 70, 2, 16, 0, 18, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 246, 15, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 18, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 246, 15, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 16, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 21, 0, + 0, 1, 30, 0, 0, 8, + 114, 0, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 55, 0, + 0, 11, 114, 0, 16, 0, + 2, 0, 0, 0, 6, 144, + 208, 0, 14, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 33, 0, 0, 10, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 11, 242, 0, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 70, 158, 144, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 9, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 33, 0, + 0, 7, 226, 0, 16, 0, + 8, 0, 0, 0, 6, 9, + 16, 0, 2, 0, 0, 0, + 86, 14, 16, 0, 9, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 34, 0, + 0, 7, 114, 0, 16, 0, + 10, 0, 0, 0, 150, 7, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 11, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 150, 7, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 11, 0, 0, 0, 10, 0, + 16, 0, 11, 0, 0, 0, + 60, 0, 0, 7, 18, 0, + 16, 0, 11, 0, 0, 0, + 42, 0, 16, 0, 11, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 8, 18, 0, 16, 0, + 12, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 10, 144, 144, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 41, 0, 0, 8, 34, 0, + 16, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 26, 144, 144, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 41, 0, 0, 8, + 66, 0, 16, 0, 12, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 42, 144, + 144, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 41, 0, + 0, 8, 130, 0, 16, 0, + 12, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 58, 144, 144, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 12, 0, 0, 0, + 70, 14, 16, 0, 12, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 1, 0, + 0, 7, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 6, 0, 16, 0, 12, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 13, 0, + 0, 0, 150, 3, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 55, 0, 0, 9, 226, 0, + 16, 0, 8, 0, 0, 0, + 86, 14, 16, 0, 8, 0, + 0, 0, 6, 9, 16, 0, + 13, 0, 0, 0, 6, 9, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 226, 0, + 16, 0, 12, 0, 0, 0, + 6, 9, 16, 0, 2, 0, + 0, 0, 86, 14, 16, 0, + 12, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 10, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 150, 7, 16, 0, 9, 0, + 0, 0, 150, 7, 16, 0, + 12, 0, 0, 0, 55, 0, + 0, 9, 226, 0, 16, 0, + 11, 0, 0, 0, 6, 9, + 16, 0, 3, 0, 0, 0, + 86, 14, 16, 0, 8, 0, + 0, 0, 6, 9, 16, 0, + 10, 0, 0, 0, 1, 0, + 0, 7, 226, 0, 16, 0, + 3, 0, 0, 0, 6, 9, + 16, 0, 2, 0, 0, 0, + 6, 0, 16, 0, 12, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 11, 242, 0, 16, 0, + 3, 0, 0, 0, 6, 144, + 208, 0, 14, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 70, 14, 16, 0, + 11, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 1, 0, 0, 7, 114, 0, + 16, 0, 2, 0, 0, 0, + 6, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 1, 0, + 0, 7, 226, 0, 16, 0, + 8, 0, 0, 0, 6, 9, + 16, 0, 7, 0, 0, 0, + 246, 15, 16, 0, 13, 0, + 0, 0, 30, 0, 0, 8, + 226, 0, 16, 0, 8, 0, + 0, 0, 6, 0, 16, 128, + 65, 0, 0, 0, 9, 0, + 0, 0, 86, 14, 16, 0, + 8, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 150, 7, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 2, 0, 0, 0, 86, 5, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 60, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 10, 144, 208, 0, 14, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 0, + 0, 7, 226, 0, 16, 0, + 6, 0, 0, 0, 86, 14, + 16, 0, 9, 0, 0, 0, + 86, 14, 16, 0, 3, 0, + 0, 0, 1, 0, 0, 7, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 150, 7, + 16, 0, 3, 0, 0, 0, + 30, 0, 0, 8, 114, 0, + 16, 0, 7, 0, 0, 0, + 150, 7, 16, 128, 65, 0, + 0, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 55, 0, 0, 9, + 226, 0, 16, 0, 6, 0, + 0, 0, 86, 14, 16, 0, + 6, 0, 0, 0, 6, 9, + 16, 0, 7, 0, 0, 0, + 86, 14, 16, 0, 3, 0, + 0, 0, 55, 0, 0, 9, + 226, 0, 16, 0, 3, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 86, 14, + 16, 0, 6, 0, 0, 0, + 86, 14, 16, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 226, 0, 16, 0, 6, 0, + 0, 0, 6, 9, 16, 0, + 2, 0, 0, 0, 86, 14, + 16, 0, 3, 0, 0, 0, + 55, 0, 0, 11, 226, 0, + 16, 0, 3, 0, 0, 0, + 6, 144, 208, 0, 14, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 86, 14, + 16, 0, 6, 0, 0, 0, + 86, 14, 16, 0, 3, 0, + 0, 0, 79, 0, 0, 11, + 98, 0, 16, 0, 6, 0, + 0, 0, 6, 144, 144, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 7, 114, 0, 16, 0, + 7, 0, 0, 0, 6, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 32, 0, 0, 7, + 226, 0, 16, 0, 8, 0, + 0, 0, 6, 0, 16, 0, + 12, 0, 0, 0, 86, 14, + 16, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 114, 0, 16, 0, + 10, 0, 0, 0, 150, 7, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 30, 0, 0, 10, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 128, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 2, 64, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 8, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 10, 144, 144, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 85, 0, 0, 8, 114, 0, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 10, 144, 144, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 55, 0, 0, 12, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 55, 0, 0, 12, + 226, 0, 16, 0, 8, 0, + 0, 0, 86, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 6, 9, 16, 0, 10, 0, + 0, 0, 55, 0, 0, 12, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 12, + 226, 0, 16, 0, 8, 0, + 0, 0, 86, 14, 16, 0, + 3, 0, 0, 0, 86, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 7, 0, + 0, 0, 86, 5, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 55, 0, 0, 9, + 226, 0, 16, 0, 8, 0, + 0, 0, 86, 5, 16, 0, + 6, 0, 0, 0, 86, 14, + 16, 0, 8, 0, 0, 0, + 86, 14, 16, 0, 3, 0, + 0, 0, 33, 0, 0, 10, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 33, 0, 0, 10, 114, 0, + 16, 0, 10, 0, 0, 0, + 150, 7, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 36, 0, + 0, 8, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 36, 0, 0, 8, 114, 0, + 16, 0, 12, 0, 0, 0, + 150, 7, 16, 128, 65, 0, + 0, 0, 3, 0, 0, 0, + 150, 7, 16, 0, 3, 0, + 0, 0, 33, 0, 0, 7, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 246, 15, + 16, 0, 13, 0, 0, 0, + 33, 0, 0, 7, 114, 0, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 246, 15, 16, 0, + 13, 0, 0, 0, 41, 0, + 0, 7, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 64, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 10, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 0, 64, + 0, 0, 0, 64, 0, 0, + 0, 64, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 2, 64, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 2, 64, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 16, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40, 0, + 0, 5, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 70, 2, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 2, 0, + 0, 0, 166, 10, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 55, 0, 0, 9, + 226, 0, 16, 0, 3, 0, + 0, 0, 166, 10, 16, 0, + 6, 0, 0, 0, 6, 9, + 16, 0, 10, 0, 0, 0, + 86, 14, 16, 0, 3, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 2, 0, + 0, 0, 6, 0, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 55, 0, 0, 9, + 226, 0, 16, 0, 3, 0, + 0, 0, 6, 0, 16, 0, + 6, 0, 0, 0, 86, 14, + 16, 0, 8, 0, 0, 0, + 86, 14, 16, 0, 3, 0, + 0, 0, 29, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 4, 0, 0, 0, + 42, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 8, 162, 0, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 48, 0, 0, 1, + 80, 0, 0, 7, 18, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 3, 0, + 4, 3, 10, 0, 16, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 226, 0, 16, 0, 6, 0, + 0, 0, 6, 9, 16, 0, + 1, 0, 0, 0, 6, 9, + 16, 0, 7, 0, 0, 0, + 43, 0, 0, 5, 226, 0, + 16, 0, 6, 0, 0, 0, + 86, 14, 16, 0, 6, 0, + 0, 0, 16, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 150, 7, + 16, 0, 6, 0, 0, 0, + 29, 0, 0, 7, 66, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 49, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 56, 0, 0, 7, 34, 0, + 16, 0, 6, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 253, 255, 125, 66, 14, 0, + 0, 7, 34, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 28, 0, 0, 5, + 34, 0, 16, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 55, 0, + 0, 11, 34, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 26, 144, 208, 0, 14, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 55, 0, 0, 9, 34, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 30, 0, 0, 10, 66, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 64, 0, + 0, 0, 42, 144, 208, 128, + 65, 0, 0, 0, 14, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 38, 0, + 0, 10, 0, 208, 0, 0, + 114, 0, 16, 0, 7, 0, + 0, 0, 150, 7, 16, 0, + 3, 0, 0, 0, 166, 154, + 208, 0, 14, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 35, 0, 0, 9, + 226, 0, 16, 0, 6, 0, + 0, 0, 6, 9, 16, 0, + 2, 0, 0, 0, 166, 10, + 16, 0, 6, 0, 0, 0, + 6, 9, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 10, + 226, 0, 16, 0, 6, 0, + 0, 0, 86, 14, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 32, 0, 0, 0, 32, 0, + 0, 0, 32, 0, 0, 0, + 42, 0, 0, 7, 226, 0, + 16, 0, 6, 0, 0, 0, + 86, 14, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 32, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 95, 0, + 0, 0, 38, 0, 0, 11, + 0, 208, 0, 0, 226, 0, + 16, 0, 7, 0, 0, 0, + 86, 14, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 31, 0, + 0, 0, 31, 0, 0, 0, + 31, 0, 0, 0, 42, 0, + 0, 7, 114, 0, 16, 0, + 8, 0, 0, 0, 150, 7, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 34, 0, 0, 10, + 114, 0, 16, 0, 9, 0, + 0, 0, 150, 7, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 38, 0, 0, 11, 0, 208, + 0, 0, 226, 0, 16, 0, + 6, 0, 0, 0, 86, 14, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 225, 255, 255, 255, + 225, 255, 255, 255, 225, 255, + 255, 255, 42, 0, 0, 7, + 226, 0, 16, 0, 6, 0, + 0, 0, 86, 14, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 40, 0, 0, 5, 226, 0, + 16, 0, 6, 0, 0, 0, + 86, 14, 16, 0, 6, 0, + 0, 0, 42, 0, 0, 7, + 226, 0, 16, 0, 7, 0, + 0, 0, 86, 14, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 55, 0, 0, 9, 226, 0, + 16, 0, 6, 0, 0, 0, + 6, 9, 16, 0, 9, 0, + 0, 0, 86, 14, 16, 0, + 6, 0, 0, 0, 86, 14, + 16, 0, 7, 0, 0, 0, + 34, 0, 0, 10, 226, 0, + 16, 0, 7, 0, 0, 0, + 86, 14, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40, 0, + 0, 5, 114, 0, 16, 0, + 9, 0, 0, 0, 150, 7, + 16, 0, 6, 0, 0, 0, + 60, 0, 0, 10, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 226, 0, 16, 0, + 6, 0, 0, 0, 86, 14, + 16, 0, 7, 0, 0, 0, + 6, 9, 16, 0, 9, 0, + 0, 0, 86, 14, 16, 0, + 6, 0, 0, 0, 55, 0, + 0, 9, 226, 0, 16, 0, + 6, 0, 0, 0, 6, 0, + 16, 0, 7, 0, 0, 0, + 6, 9, 16, 0, 8, 0, + 0, 0, 86, 14, 16, 0, + 6, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 7, 0, 0, 0, 86, 10, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 255, 3, + 0, 0, 0, 124, 0, 0, + 255, 3, 0, 0, 0, 124, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 7, 0, + 0, 0, 85, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 18, 0, + 0, 1, 31, 0, 4, 3, + 10, 0, 16, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 8, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 34, 0, + 16, 0, 8, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 48, 0, + 0, 1, 1, 0, 0, 7, + 66, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 1, 64, + 0, 0, 0, 4, 0, 0, + 3, 0, 4, 3, 42, 0, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 41, 0, + 0, 7, 34, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 22, 0, 0, 1, + 1, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 254, 3, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 8, + 50, 0, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 144, 255, + 255, 255, 0, 0, 0, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 41, 0, 0, 7, 210, 0, + 16, 0, 8, 0, 0, 0, + 86, 14, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 1, 0, + 0, 10, 210, 0, 16, 0, + 8, 0, 0, 0, 6, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 128, 0, 0, 0, 0, + 0, 0, 0, 128, 0, 0, + 0, 128, 41, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 6, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 56, 60, 0, + 0, 7, 34, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 7, 0, 0, 0, 85, 0, + 0, 7, 34, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 18, 0, 0, 1, 31, 0, + 4, 3, 42, 0, 16, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 1, 1, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 0, 4, + 0, 0, 3, 0, 4, 3, + 58, 0, 16, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 255, 255, 255, 255, + 41, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 22, 0, + 0, 1, 1, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 254, 3, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 5, 66, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 34, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 144, 255, + 255, 255, 21, 0, 0, 1, + 21, 0, 0, 1, 41, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 56, + 60, 0, 0, 7, 66, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 7, 0, 0, 0, + 246, 15, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 255, 3, 0, 0, + 0, 124, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 7, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 18, 0, 0, 1, 31, 0, + 4, 3, 42, 0, 16, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 1, 1, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 0, 4, + 0, 0, 3, 0, 4, 3, + 10, 0, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 255, 255, 255, 255, + 41, 0, 0, 7, 130, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 22, 0, + 0, 1, 1, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 254, 3, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 5, 66, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 144, 255, + 255, 255, 21, 0, 0, 1, + 21, 0, 0, 1, 41, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 56, + 60, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 10, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 0, 0, 0, 8, 210, 0, + 16, 0, 8, 0, 0, 0, + 6, 9, 16, 0, 9, 0, + 0, 0, 6, 9, 16, 128, + 65, 0, 0, 0, 10, 0, + 0, 0, 16, 0, 0, 7, + 18, 0, 16, 0, 6, 0, + 0, 0, 134, 3, 16, 0, + 8, 0, 0, 0, 134, 3, + 16, 0, 8, 0, 0, 0, + 0, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 22, 0, 0, 1, + 55, 0, 0, 9, 18, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 236, 120, 173, 96, 26, 0, + 16, 0, 5, 0, 0, 0, + 168, 0, 0, 8, 50, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 40, 0, 0, 0, + 134, 0, 16, 0, 5, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 58, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 40, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 98, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 40, 0, 0, 0, + 6, 241, 17, 0, 0, 0, + 0, 0, 49, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 50, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 40, 0, 0, 0, + 134, 0, 16, 0, 2, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 31, 0, + 4, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 8, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 98, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 6, 241, + 17, 0, 0, 0, 0, 0, + 49, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 40, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 168, 0, + 0, 8, 50, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 134, 0, + 16, 0, 2, 0, 0, 0, + 21, 0, 0, 1, 167, 0, + 0, 8, 50, 0, 16, 0, + 1, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 54, 0, 0, 8, 194, 0, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 168, 0, 0, 9, + 242, 224, 17, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 21, 0, 0, 1, + 62, 0, 0, 1 +}; diff --git a/DirectXTex/Shaders/Compiled/BC6HEncode_TryModeLE10CS.inc b/DirectXTex/Shaders/Compiled/BC6HEncode_TryModeLE10CS.inc new file mode 100644 index 0000000..c7fbdc7 --- /dev/null +++ b/DirectXTex/Shaders/Compiled/BC6HEncode_TryModeLE10CS.inc @@ -0,0 +1,5103 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +/// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_4_0 +dcl_globalFlags refactoringAllowed +dcl_immediateConstantBuffer { { 0x0000cccc, 15, -1, 0}, + { 0x00008888, 15, -1, 9}, + { 0x0000eeee, 15, -1, 18}, + { 0x0000ecc8, 15, -1, 27}, + { 0x0000c880, 15, -1, 37}, + { 0x0000feec, 15, -1, 46}, + { 0x0000fec8, 15, -1, 55}, + { 0x0000ec80, 15, -1, 64}, + { 0x0000c800, 15, -1, 0}, + { 0x0000ffec, 15, 0, 0}, + { 0x0000fe80, 15, 0, 0}, + { 0x0000e800, 15, -1, 0}, + { 0x0000ffe8, 15, -1, 0}, + { 0x0000ff00, 15, -1, 0}, + { 0x0000fff0, 15, 0, 0}, + { 0x0000f000, 15, 0, 0}, + { 0x0000f710, 15, 0, 0}, + { 142, 2, 0, 0}, + { 0x00007100, 8, 0, 0}, + { 2254, 2, 0, 0}, + { 140, 2, 0, 0}, + { 0x00007310, 8, 0, 0}, + { 0x00003100, 8, 0, 0}, + { 0x00008cce, 15, 0, 0}, + { 2188, 2, 0, 0}, + { 0x00003110, 8, 0, 0}, + { 0x00006666, 2, 0, 0}, + { 0x0000366c, 2, 0, 0}, + { 6120, 8, 0, 0}, + { 4080, 8, 0, 0}, + { 0x0000718e, 2, 0, 0}, + { 0x0000399c, 2, 0, 0}, + { 10, 5, 5, 5}, + { 7, 6, 6, 6}, + { 11, 5, 4, 4}, + { 11, 4, 5, 4}, + { 11, 4, 4, 5}, + { 9, 5, 5, 5}, + { 8, 6, 5, 5}, + { 8, 5, 6, 5}, + { 8, 5, 5, 6}, + { 6, 6, 6, 6}, + { 10, 10, 10, 10}, + { 11, 9, 9, 9}, + { 12, 8, 8, 8}, + { 16, 4, 4, 4}, + { 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}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 7, 0, 0, 0}, + { 7, 0, 0, 0}, + { 7, 0, 0, 0}, + { 7, 0, 0, 0} } +dcl_constantbuffer cb0[2], immediateIndexed +dcl_resource_texture2d (float,float,float,float) t0 +dcl_resource_structured t1, 16 +dcl_uav_structured u0, 16 +dcl_input vThreadIDInGroupFlattened +dcl_input vThreadGroupID.x +dcl_temps 25 +dcl_indexableTemp x0[6], 4 +dcl_indexableTemp x1[2], 4 +dcl_tgsm_structured g0, 84, 64 +dcl_thread_group 64, 1, 1 +ushr r0.x, vThreadIDInGroupFlattened.x, l(5) +ishl r0.y, vThreadGroupID.x, l(1) +iadd r0.y, r0.y, cb0[1].x +iadd r0.x, r0.x, r0.y +uge r0.y, r0.x, cb0[1].y +if_nz r0.y + ret +endif +ld_structured r1.x, r0.x, l(0), t1.xxxx +lt r0.y, r1.x, l(0.000001) +if_nz r0.y + ld_structured r2.xyzw, r0.x, l(0), t1.xyzw + store_structured u0.xyzw, r0.x, l(0), r2.xyzw + ret +endif +and r0.y, vThreadIDInGroupFlattened.x, l(32) +iadd r2.z, -r0.y, vThreadIDInGroupFlattened.x +ult r3.xyzw, r2.zzzz, l(16, 32, 8, 4) +if_nz r3.x + udiv r0.z, null, r0.x, cb0[0].y + imad r0.w, -r0.z, cb0[0].y, r0.x + ishl r0.w, r0.w, l(2) + ishl r0.z, r0.z, l(2) + and r1.y, r2.z, l(3) + iadd r4.x, r0.w, r1.y + ushr r0.w, r2.z, l(2) + iadd r4.y, r0.w, r0.z + mov r4.zw, l(0,0,0,0) + ld r4.xyzw, r4.xyzw, t0.xyzw + ushr r1.yzw, r4.xxyz, l(16) + and r1.yzw, r1.yyzw, l(0, 0x00008000, 0x00008000, 0x00008000) + and r5.xyzw, r4.xxyy, l(0x7fffffff, 0x007fffff, 0x7fffffff, 0x007fffff) + ult r0.zw, l(0, 0, 0x47ffefff, 0x47ffefff), r5.xxxz + ult r4.xy, r5.xzxx, l(0x38800000, 0x38800000, 0, 0) + ushr r6.xy, r5.xzxx, l(23) + iadd r6.xy, -r6.xyxx, l(113, 113, 0, 0) + iadd r5.yw, r5.yyyw, l(0, 0x00800000, 0, 0x00800000) + ushr r7.x, r5.y, r6.x + ushr r7.y, r5.w, r6.y + iadd r5.xy, r5.xzxx, l(0xc8000000, 0xc8000000, 0, 0) + movc r4.xy, r4.xyxx, r7.xyxx, r5.xyxx + iadd r5.xy, r4.xyxx, l(4095, 4095, 0, 0) + ushr r4.xy, r4.xyxx, l(13) + and r4.xy, r4.xyxx, l(1, 1, 0, 0) + iadd r4.xy, r4.xyxx, r5.xyxx + ushr r4.xy, r4.xyxx, l(13) + and r4.xy, r4.xyxx, l(0x00007fff, 0x00007fff, 0, 0) + movc r0.zw, r0.zzzw, l(0,0,0x00007fff,0x00007fff), r4.xxxy + iadd r5.xy, r1.yzyy, r0.zwzz + and r0.zw, r4.zzzz, l(0, 0, 0x7fffffff, 0x007fffff) + ult r1.y, l(0x47ffefff), r0.z + ult r1.z, r0.z, l(0x38800000) + ushr r2.w, r0.z, l(23) + iadd r2.w, -r2.w, l(113) + iadd r0.w, r0.w, l(0x00800000) + ushr r0.w, r0.w, r2.w + iadd r0.z, r0.z, l(0xc8000000) + movc r0.z, r1.z, r0.w, r0.z + iadd r0.w, r0.z, l(4095) + ushr r0.z, r0.z, l(13) + and r0.z, r0.z, l(1) + iadd r0.z, r0.z, r0.w + ushr r0.z, r0.z, l(13) + and r0.z, r0.z, l(0x00007fff) + movc r0.z, r1.y, l(0x00007fff), r0.z + iadd r5.z, r1.w, r0.z + and r4.xyzw, r5.xxyy, l(1023, 0x00007c00, 1023, 0x00007c00) + if_nz r4.y + ushr r0.z, r5.x, l(10) + and r0.z, r0.z, l(31) + else + if_nz r4.x + ishl r0.w, r4.x, l(1) + mov r1.y, r0.w + mov r0.z, l(0) + loop + and r1.z, r1.y, l(1024) + breakc_nz r1.z + iadd r0.z, r0.z, l(-1) + ishl r1.y, r1.y, l(1) + endloop + and r4.x, r1.y, l(1022) + else + mov r4.x, l(0) + mov r0.z, l(-112) + endif + endif + ishl r1.yzw, r5.xxyz, l(16) + and r1.yzw, r1.yyzw, l(0, 0x80000000, 0x80000000, 0x80000000) + ishl r0.z, r0.z, l(23) + iadd r0.z, r0.z, l(0x38000000) + or r0.z, r0.z, r1.y + ishl r0.w, r4.x, l(13) + iadd r6.x, r0.w, r0.z + if_nz r4.w + ushr r0.z, r5.y, l(10) + and r0.z, r0.z, l(31) + else + if_nz r4.z + ishl r0.w, r4.z, l(1) + mov r1.y, r0.w + mov r0.z, l(0) + loop + and r2.w, r1.y, l(1024) + breakc_nz r2.w + iadd r0.z, r0.z, l(-1) + ishl r1.y, r1.y, l(1) + endloop + and r4.z, r1.y, l(1022) + else + mov r4.z, l(0) + mov r0.z, l(-112) + endif + endif + ishl r0.z, r0.z, l(23) + iadd r0.z, r0.z, l(0x38000000) + or r0.z, r0.z, r1.z + ishl r0.w, r4.z, l(13) + iadd r6.y, r0.w, r0.z + and r0.zw, r5.zzzz, l(0, 0, 1023, 0x00007c00) + if_nz r0.w + ushr r0.w, r5.z, l(10) + and r0.w, r0.w, l(31) + else + if_nz r0.z + ishl r1.y, r0.z, l(1) + mov r1.z, r1.y + mov r0.w, l(0) + loop + and r2.w, r1.z, l(1024) + breakc_nz r2.w + iadd r0.w, r0.w, l(-1) + ishl r1.z, r1.z, l(1) + endloop + and r0.z, r1.z, l(1022) + else + mov r0.zw, l(0,0,0,-112) + endif + endif + ishl r0.w, r0.w, l(23) + iadd r0.w, r0.w, l(0x38000000) + or r0.w, r0.w, r1.w + ishl r0.z, r0.z, l(13) + iadd r6.z, r0.z, r0.w + dp3 r6.w, r6.xyzx, l(0.212600, 0.715200, 0.072200, 0.000000) + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(24), r6.xyzw + ieq r0.z, cb0[0].z, l(95) + ishl r1.yzw, r5.xxyz, l(6) + udiv r1.yzw, null, r1.yyzw, l(0, 31, 31, 31) + ult r4.xyz, r5.xyzx, l(0x00008000, 0x00008000, 0x00008000, 0) + ieq r6.xyz, r5.xyzx, l(0x00007bff, 0x00007bff, 0x00007bff, 0) + ishl r5.xyz, r5.xyzx, l(5) + udiv r7.xyz, null, r5.xyzx, l(31, 31, 31, 0) + movc r7.xyz, r6.xyzx, l(0x00007fff,0x00007fff,0x00007fff,0), r7.xyzx + and r5.xyz, r5.xyzx, l(0x000fffe0, 0x000fffe0, 0x000fffe0, 0) + udiv r5.xyz, null, r5.xyzx, l(31, 31, 31, 0) + ineg r5.xyz, r5.xyzx + movc r5.xyz, r6.xyzx, l(0xffff8001,0xffff8001,0xffff8001,0), r5.xyzx + movc r4.xyz, r4.xyzx, r7.xyzx, r5.xyzx + movc r1.yzw, r0.zzzz, r1.yyzw, r4.xxyz + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(12), r1.yzwy +endif +if_nz r3.y + mov x0[0].x, l(0x7fffffff) + mov x0[1].x, l(0x7fffffff) + mov x0[2].x, l(0x7fffffff) + mov x0[0].y, l(-0.000000) + mov x0[1].y, l(-0.000000) + mov x0[2].y, l(-0.000000) + mov x0[3].x, l(0x7fffffff) + mov x0[4].x, l(0x7fffffff) + mov x0[5].x, l(0x7fffffff) + mov x0[3].y, l(-0.000000) + mov x0[4].y, l(-0.000000) + mov x0[5].y, l(-0.000000) + mov x1[0].x, l(340282346638528860000000000000000000000.000000) + mov x1[0].y, l(-340282346638528860000000000000000000000.000000) + mov x1[1].x, l(340282346638528860000000000000000000000.000000) + mov x1[1].y, l(-340282346638528860000000000000000000000.000000) + mov r0.z, l(0) + loop + uge r0.w, r0.z, l(16) + breakc_nz r0.w + iadd r0.w, r0.z, r0.y + ld_structured r4.xyz, r0.w, l(12), g0.xyzx + ld_structured r5.x, r0.w, l(36), g0.xxxx + ushr r0.w, icb[r2.z + 0].x, r0.z + and r0.w, r0.w, l(1) + if_nz r0.w + mov r0.w, x1[1].x + lt r1.y, r5.x, r0.w + mov r1.z, x0[3].x + movc r1.z, r1.y, r4.x, r1.z + mov x0[3].x, r1.z + mov r1.z, x0[4].x + movc r1.z, r1.y, r4.y, r1.z + mov x0[4].x, r1.z + mov r1.z, x0[5].x + movc r1.z, r1.y, r4.z, r1.z + mov x0[5].x, r1.z + movc r0.w, r1.y, r5.x, r0.w + mov x1[1].x, r0.w + mov r0.w, x1[1].y + lt r1.y, r0.w, r5.x + mov r1.z, x0[3].y + movc r1.z, r1.y, r4.x, r1.z + mov x0[3].y, r1.z + mov r1.z, x0[4].y + movc r1.z, r1.y, r4.y, r1.z + mov x0[4].y, r1.z + mov r1.z, x0[5].y + movc r1.z, r1.y, r4.z, r1.z + mov x0[5].y, r1.z + movc r0.w, r1.y, r5.x, r0.w + mov x1[1].y, r0.w + else + mov r0.w, x1[0].x + lt r1.y, r5.x, r0.w + mov r1.z, x0[0].x + movc r1.z, r1.y, r4.x, r1.z + mov x0[0].x, r1.z + mov r1.z, x0[1].x + movc r1.z, r1.y, r4.y, r1.z + mov x0[1].x, r1.z + mov r1.z, x0[2].x + movc r1.z, r1.y, r4.z, r1.z + mov x0[2].x, r1.z + movc r0.w, r1.y, r5.x, r0.w + mov x1[0].x, r0.w + mov r0.w, x1[0].y + lt r1.y, r0.w, r5.x + mov r1.z, x0[0].y + movc r1.z, r1.y, r4.x, r1.z + mov x0[0].y, r1.z + mov r1.z, x0[1].y + movc r1.z, r1.y, r4.y, r1.z + mov x0[1].y, r1.z + mov r1.z, x0[2].y + movc r1.z, r1.y, r4.z, r1.z + mov x0[2].y, r1.z + movc r0.w, r1.y, r5.x, r0.w + mov x1[0].y, r0.w + endif + iadd r0.z, r0.z, l(1) + endloop + mov r4.x, x0[0].y + mov r4.y, x0[1].y + mov r4.z, x0[2].y + mov r0.z, x0[0].x + mov r0.w, x0[1].x + mov r1.y, x0[2].x + ineg r5.xy, r0.zwzz + ineg r5.z, r1.y + iadd r6.xyz, r4.xyzx, r5.xyzx + itof r6.xyz, r6.xyzx + dp3 r1.z, r6.xyzx, r6.xyzx + ld_structured r7.xyz, r0.y, l(12), g0.xyzx + iadd r5.xyz, r5.xyzx, r7.xyzx + itof r5.xyz, r5.xyzx + dp3 r1.w, r6.xyzx, r5.xyzx + lt r2.w, l(0.000000), r1.z + ge r3.y, r1.w, l(0.000000) + and r2.w, r2.w, r3.y + mul r1.w, r1.w, l(63.499989) + div r1.w, r1.w, r1.z + ftou r1.w, r1.w + ult r1.w, l(32), r1.w + and r1.w, r1.w, r2.w + movc r5.xyz, r1.wwww, -r6.xyzx, r6.xyzx + movc r6.xy, r1.wwww, r4.xyxx, r0.zwzz + movc r6.z, r1.w, r4.z, r1.y + movc r7.xy, r1.wwww, r0.zwzz, r4.xyxx + movc r7.z, r1.w, r1.y, r4.z + mov r4.x, x0[3].y + mov r4.y, x0[4].y + mov r4.z, x0[5].y + mov r0.z, x0[3].x + mov r0.w, x0[4].x + mov r1.y, x0[5].x + ineg r8.xy, r0.zwzz + ineg r8.z, r1.y + iadd r9.xyz, r4.xyzx, r8.xyzx + itof r9.xyz, r9.xyzx + dp3 r1.w, r9.xyzx, r9.xyzx + iadd r2.w, r0.y, icb[r2.z + 0].y + ld_structured r10.xyz, r2.w, l(12), g0.xyzx + iadd r8.xyz, r8.xyzx, r10.xyzx + itof r8.xyz, r8.xyzx + dp3 r2.w, r9.xyzx, r8.xyzx + lt r3.y, l(0.000000), r1.w + ge r4.w, r2.w, l(0.000000) + and r3.y, r3.y, r4.w + mul r2.w, r2.w, l(63.499989) + div r2.w, r2.w, r1.w + ftou r2.w, r2.w + ult r2.w, l(32), r2.w + and r2.w, r2.w, r3.y + movc r8.xyz, r2.wwww, -r9.xyzx, r9.xyzx + movc r9.xy, r2.wwww, r4.xyxx, r0.zwzz + movc r9.z, r2.w, r4.z, r1.y + movc r10.xy, r2.wwww, r0.zwzz, r4.xyxx + movc r10.z, r2.w, r1.y, r4.z + ieq r0.zw, cb0[0].zzzz, l(0, 0, 95, 96) + if_nz r0.z + mov r1.y, cb0[0].w + ige r2.w, icb[r1.y + 32].x, l(15) + and r2.w, r2.w, l(1) + movc r4.xyz, r6.xyzx, l(0,0,0,0), l(1,1,1,0) + movc r11.xyz, r7.xyzx, l(0,0,0,0), l(1,1,1,0) + or r4.xyz, r2.wwww, r4.xyzx + or r11.xyz, r2.wwww, r11.xyzx + ieq r12.xyz, r6.xyzx, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0) + ieq r13.xyz, r7.xyzx, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0) + ishl r3.y, l(1), icb[r1.y + 32].x + iadd r3.y, r3.y, l(-1) + ishl r14.xyz, r6.xyzx, icb[r1.y + 32].x + ishl r15.xyz, r7.xyzx, icb[r1.y + 32].x + ishr r14.xyz, r14.xyzx, l(16) + ishr r15.xyz, r15.xyzx, l(16) + movc r12.xyz, r12.xyzx, r3.yyyy, r14.xyzx + movc r13.xyz, r13.xyzx, r3.yyyy, r15.xyzx + movc r4.xyz, r4.xyzx, r6.xyzx, r12.xyzx + movc r11.xyz, r11.xyzx, r7.xyzx, r13.xyzx + movc r12.xyz, r9.xyzx, l(0,0,0,0), l(1,1,1,0) + movc r13.xyz, r10.xyzx, l(0,0,0,0), l(1,1,1,0) + or r12.xyz, r2.wwww, r12.xyzx + or r13.xyz, r2.wwww, r13.xyzx + ieq r14.xyz, r9.xyzx, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0) + ieq r15.xyz, r10.xyzx, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0) + mov r1.y, cb0[0].w + ishl r16.xyz, r9.xyzx, icb[r1.y + 32].x + ishl r17.xyz, r10.xyzx, icb[r1.y + 32].x + ishr r16.xyz, r16.xyzx, l(16) + ishr r17.xyz, r17.xyzx, l(16) + movc r14.xyz, r14.xyzx, r3.yyyy, r16.xyzx + movc r15.xyz, r15.xyzx, r3.yyyy, r17.xyzx + movc r12.xyz, r12.xyzx, r9.xyzx, r14.xyzx + movc r13.xyz, r13.xyzx, r10.xyzx, r15.xyzx + else + mov r1.y, cb0[0].w + ige r2.w, icb[r1.y + 32].x, l(16) + and r2.w, r2.w, l(1) + movc r14.xyz, r6.xyzx, l(0,0,0,0), l(1,1,1,0) + movc r15.xyz, r7.xyzx, l(0,0,0,0), l(1,1,1,0) + or r14.xyz, r2.wwww, r14.xyzx + or r15.xyz, r2.wwww, r15.xyzx + ige r16.xyz, r6.xyzx, l(0, 0, 0, 0) + ige r17.xyz, r7.xyzx, l(0, 0, 0, 0) + ieq r18.xyz, r6.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + ieq r19.xyz, r7.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + iadd r1.y, l(-1), icb[r1.y + 32].x + ishl r3.y, l(1), r1.y + iadd r4.w, r3.y, l(-1) + ishl r20.xyz, r6.xyzx, r1.y + ishl r21.xyz, r7.xyzx, r1.y + ishr r20.xyz, r20.xyzx, l(15) + ishr r21.xyz, r21.xyzx, l(15) + movc r18.xyz, r18.xyzx, r4.wwww, r20.xyzx + movc r19.xyz, r19.xyzx, r4.wwww, r21.xyzx + ineg r20.xyz, r6.xyzx + ineg r21.xyz, r7.xyzx + ieq r22.xyz, r20.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + ieq r23.xyz, r21.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + iadd r3.y, -r3.y, l(1) + ishl r20.xyz, r20.xyzx, r1.y + ishl r21.xyz, r21.xyzx, r1.y + ishr r20.xyz, r20.xyzx, l(15) + ishr r21.xyz, r21.xyzx, l(15) + ineg r20.xyz, r20.xyzx + ineg r21.xyz, r21.xyzx + movc r20.xyz, r22.xyzx, r3.yyyy, r20.xyzx + movc r21.xyz, r23.xyzx, r3.yyyy, r21.xyzx + movc r16.xyz, r16.xyzx, r18.xyzx, r20.xyzx + movc r17.xyz, r17.xyzx, r19.xyzx, r21.xyzx + movc r4.xyz, r14.xyzx, r6.xyzx, r16.xyzx + movc r11.xyz, r15.xyzx, r7.xyzx, r17.xyzx + movc r7.xyz, r9.xyzx, l(0,0,0,0), l(1,1,1,0) + movc r14.xyz, r10.xyzx, l(0,0,0,0), l(1,1,1,0) + or r7.xyz, r2.wwww, r7.xyzx + or r14.xyz, r2.wwww, r14.xyzx + ige r15.xyz, r9.xyzx, l(0, 0, 0, 0) + ige r16.xyz, r10.xyzx, l(0, 0, 0, 0) + ieq r17.xyz, r9.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + ieq r18.xyz, r10.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + ishl r19.xyz, r9.xyzx, r1.y + ishl r20.xyz, r10.xyzx, r1.y + ishr r19.xyz, r19.xyzx, l(15) + ishr r20.xyz, r20.xyzx, l(15) + movc r17.xyz, r17.xyzx, r4.wwww, r19.xyzx + movc r18.xyz, r18.xyzx, r4.wwww, r20.xyzx + ineg r19.xyz, r9.xyzx + ineg r20.xyz, r10.xyzx + ieq r21.xyz, r19.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + ieq r22.xyz, r20.xyzx, l(0x00007fff, 0x00007fff, 0x00007fff, 0) + ishl r19.xyz, r19.xyzx, r1.y + ishl r20.xyz, r20.xyzx, r1.y + ishr r19.xyz, r19.xyzx, l(15) + ishr r20.xyz, r20.xyzx, l(15) + ineg r19.xyz, r19.xyzx + ineg r20.xyz, r20.xyzx + movc r19.xyz, r21.xyzx, r3.yyyy, r19.xyzx + movc r20.xyz, r22.xyzx, r3.yyyy, r20.xyzx + movc r15.xyz, r15.xyzx, r17.xyzx, r19.xyzx + movc r16.xyz, r16.xyzx, r18.xyzx, r20.xyzx + movc r12.xyz, r7.xyzx, r9.xyzx, r15.xyzx + movc r13.xyz, r14.xyzx, r10.xyzx, r16.xyzx + endif + iadd r7.xyz, -r4.xyzx, r11.xyzx + mov r1.y, cb0[0].w + movc r7.xyz, icb[r1.y + 0].zzzz, r7.xyzx, r11.xyzx + iadd r10.xyz, -r4.xyzx, r12.xyzx + movc r10.xyz, icb[r1.y + 0].zzzz, r10.xyzx, r12.xyzx + iadd r11.xyz, -r4.xyzx, r13.xyzx + movc r11.xyz, icb[r1.y + 0].zzzz, r11.xyzx, r13.xyzx + if_nz icb[r1.y + 0].z + ige r12.xyz, r7.xyzx, l(0, 0, 0, 0) + iadd r13.xyz, l(-1, -1, -1, 0), icb[r1.y + 32].yzwy + ishl r14.x, l(1), r13.x + ishl r14.y, l(1), r13.y + ishl r14.z, l(1), r13.z + ige r13.xyz, r7.xyzx, r14.xyzx + ineg r15.xyz, r7.xyzx + ilt r15.xyz, r14.xyzx, r15.xyzx + movc r16.xyz, r12.xyzx, r13.xyzx, r15.xyzx + or r2.w, r16.y, r16.x + or r2.w, r16.z, r2.w + ishl r16.x, l(1), icb[r1.y + 32].x + ishl r16.y, l(1), icb[r1.y + 32].y + ishl r16.z, l(1), icb[r1.y + 32].z + ishl r16.w, l(1), icb[r1.y + 32].w + iadd r16.xyzw, r16.xyzw, l(-1, -1, -1, -1) + and r17.xyz, r4.xyzx, r16.xxxx + iadd r18.xyz, r14.xyzx, l(-1, -1, -1, 0) + movc r13.xyz, r13.xyzx, r18.xyzx, r7.xyzx + and r19.xyz, r7.xyzx, r16.yzwy + movc r15.xyz, r15.xyzx, r14.xyzx, r19.xyzx + movc r12.xyz, r12.xyzx, r13.xyzx, r15.xyzx + ige r13.xyz, r10.xyzx, l(0, 0, 0, 0) + ige r15.xyz, r10.xyzx, r14.xyzx + ineg r19.xyz, r10.xyzx + ilt r19.xyz, r14.xyzx, r19.xyzx + movc r20.xyz, r13.xyzx, r15.xyzx, r19.xyzx + ige r21.xyz, r11.xyzx, l(0, 0, 0, 0) + ige r22.xyz, r11.xyzx, r14.xyzx + ineg r23.xyz, r11.xyzx + ilt r23.xyz, r14.xyzx, r23.xyzx + movc r24.xyz, r21.xyzx, r22.xyzx, r23.xyzx + or r20.xyz, r20.xyzx, r24.xyzx + or r3.y, r20.y, r20.x + or r3.y, r20.z, r3.y + or r2.w, r2.w, r3.y + and r2.w, r2.w, l(1) + movc r15.xyz, r15.xyzx, r18.xyzx, r10.xyzx + and r20.xyz, r10.xyzx, r16.yzwy + movc r19.xyz, r19.xyzx, r14.xyzx, r20.xyzx + movc r13.xyz, r13.xyzx, r15.xyzx, r19.xyzx + movc r15.xyz, r22.xyzx, r18.xyzx, r11.xyzx + and r16.xyz, r11.xyzx, r16.yzwy + movc r14.xyz, r23.xyzx, r14.xyzx, r16.xyzx + movc r14.xyz, r21.xyzx, r15.xyzx, r14.xyzx + else + ishl r3.y, l(1), icb[r1.y + 32].x + iadd r3.y, r3.y, l(-1) + and r17.xyz, r3.yyyy, r4.xyzx + and r12.xyz, r3.yyyy, r7.xyzx + and r13.xyz, r3.yyyy, r10.xyzx + and r14.xyz, r3.yyyy, r11.xyzx + mov r2.w, l(0) + endif + iadd r4.xyzw, l(-1, -1, -1, -1), icb[r1.y + 32].xyzw + ishl r7.x, l(1), r4.x + ishl r7.y, l(1), r4.y + ishl r7.z, l(1), r4.z + ishl r7.w, l(1), r4.w + and r4.yzw, r7.xxxx, r17.xxyz + iadd r10.xyzw, r7.xyzw, l(-1, -1, -1, -1) + and r11.xyz, r10.xxxx, r17.xyzx + iadd r11.xyz, -r7.xxxx, r11.xyzx + movc r4.yzw, r4.yyzw, r11.xxyz, r17.xxyz + movc r4.yzw, r0.wwww, r4.yyzw, r17.xxyz + or r0.w, r0.w, icb[r1.y + 0].z + and r11.xyz, r7.yzwy, r12.xyzx + and r15.xyz, r10.yzwy, r12.xyzx + iadd r15.xyz, -r7.yzwy, r15.xyzx + movc r11.xyz, r11.xyzx, r15.xyzx, r12.xyzx + movc r11.xyz, r0.wwww, r11.xyzx, r12.xyzx + and r12.xyz, r7.yzwy, r13.xyzx + and r15.xyz, r10.yzwy, r13.xyzx + iadd r15.xyz, -r7.yzwy, r15.xyzx + movc r12.xyz, r12.xyzx, r15.xyzx, r13.xyzx + movc r12.xyz, r0.wwww, r12.xyzx, r13.xyzx + and r13.xyz, r7.yzwy, r14.xyzx + and r10.yzw, r10.yyzw, r14.xxyz + iadd r7.xyz, -r7.yzwy, r10.yzwy + movc r7.xyz, r13.xyzx, r7.xyzx, r14.xyzx + movc r7.xyz, r0.wwww, r7.xyzx, r14.xyzx + iadd r10.yzw, r4.yyzw, r11.xxyz + movc r10.yzw, icb[r1.y + 0].zzzz, r10.yyzw, r11.xxyz + iadd r11.xyz, r4.yzwy, r12.xyzx + movc r11.xyz, icb[r1.y + 0].zzzz, r11.xyzx, r12.xyzx + iadd r12.xyz, r4.yzwy, r7.xyzx + movc r7.xyz, icb[r1.y + 0].zzzz, r12.xyzx, r7.xyzx + ult r12.xy, icb[r1.y + 32].xxxx, l(15, 16, 0, 0) + ishl r0.w, l(1), icb[r1.y + 32].x + iadd r0.w, r0.w, l(-1) + ieq r13.xyz, r0.wwww, r4.yzwy + ieq r14.xyz, r0.wwww, r10.yzwy + ishl r15.xyz, r4.yzwy, l(16) + ishl r16.xyz, r10.yzwy, l(16) + iadd r15.xyz, r15.xyzx, l(0x00008000, 0x00008000, 0x00008000, 0) + iadd r16.xyz, r16.xyzx, l(0x00008000, 0x00008000, 0x00008000, 0) + ushr r15.xyz, r15.xyzx, icb[r1.y + 32].x + ushr r16.xyz, r16.xyzx, icb[r1.y + 32].x + movc r13.xyz, r13.xyzx, l(0x0000ffff,0x0000ffff,0x0000ffff,0), r15.xyzx + movc r14.xyz, r14.xyzx, l(0x0000ffff,0x0000ffff,0x0000ffff,0), r16.xyzx + movc r13.xyz, r4.yzwy, r13.xyzx, l(0,0,0,0) + movc r14.xyz, r10.yzwy, r14.xyzx, l(0,0,0,0) + movc r13.xyz, r12.xxxx, r13.xyzx, r4.yzwy + movc r14.xyz, r12.xxxx, r14.xyzx, r10.yzwy + ige r15.xyz, r4.yzwy, l(0, 0, 0, 0) + ige r16.xyz, r10.yzwy, l(0, 0, 0, 0) + imax r17.xyz, -r4.yzwy, r4.yzwy + imax r18.xyz, -r10.yzwy, r10.yzwy + ige r19.xyz, r17.xyzx, r10.xxxx + ige r20.xyz, r18.xyzx, r10.xxxx + ishl r21.xyz, r17.xyzx, l(15) + ishl r22.xyz, r18.xyzx, l(15) + iadd r21.xyz, r21.xyzx, l(0x00004000, 0x00004000, 0x00004000, 0) + iadd r22.xyz, r22.xyzx, l(0x00004000, 0x00004000, 0x00004000, 0) + ushr r21.xyz, r21.xyzx, r4.x + ushr r22.xyz, r22.xyzx, r4.x + movc r19.xyz, r19.xyzx, l(0x00007fff,0x00007fff,0x00007fff,0), r21.xyzx + movc r20.xyz, r20.xyzx, l(0x00007fff,0x00007fff,0x00007fff,0), r22.xyzx + movc r17.xyz, r17.xyzx, r19.xyzx, l(0,0,0,0) + movc r18.xyz, r18.xyzx, r20.xyzx, l(0,0,0,0) + ineg r19.xyz, r17.xyzx + ineg r20.xyz, r18.xyzx + movc r15.xyz, r15.xyzx, r17.xyzx, r19.xyzx + movc r16.xyz, r16.xyzx, r18.xyzx, r20.xyzx + movc r4.yzw, r12.yyyy, r15.xxyz, r4.yyzw + movc r10.yzw, r12.yyyy, r16.xxyz, r10.yyzw + movc r4.yzw, r0.zzzz, r13.xxyz, r4.yyzw + movc r10.yzw, r0.zzzz, r14.xxyz, r10.yyzw + ieq r13.xyz, r0.wwww, r11.xyzx + ieq r14.xyz, r0.wwww, r7.xyzx + ishl r15.xyz, r11.xyzx, l(16) + ishl r16.xyz, r7.xyzx, l(16) + iadd r15.xyz, r15.xyzx, l(0x00008000, 0x00008000, 0x00008000, 0) + iadd r16.xyz, r16.xyzx, l(0x00008000, 0x00008000, 0x00008000, 0) + ushr r15.xyz, r15.xyzx, icb[r1.y + 32].x + ushr r16.xyz, r16.xyzx, icb[r1.y + 32].x + movc r13.xyz, r13.xyzx, l(0x0000ffff,0x0000ffff,0x0000ffff,0), r15.xyzx + movc r14.xyz, r14.xyzx, l(0x0000ffff,0x0000ffff,0x0000ffff,0), r16.xyzx + movc r13.xyz, r11.xyzx, r13.xyzx, l(0,0,0,0) + movc r14.xyz, r7.xyzx, r14.xyzx, l(0,0,0,0) + movc r13.xyz, r12.xxxx, r13.xyzx, r11.xyzx + movc r12.xzw, r12.xxxx, r14.xxyz, r7.xxyz + ige r14.xyz, r11.xyzx, l(0, 0, 0, 0) + ige r15.xyz, r7.xyzx, l(0, 0, 0, 0) + imax r16.xyz, -r11.xyzx, r11.xyzx + imax r17.xyz, -r7.xyzx, r7.xyzx + ige r18.xyz, r16.xyzx, r10.xxxx + ige r19.xyz, r17.xyzx, r10.xxxx + ishl r20.xyz, r16.xyzx, l(15) + ishl r21.xyz, r17.xyzx, l(15) + iadd r20.xyz, r20.xyzx, l(0x00004000, 0x00004000, 0x00004000, 0) + iadd r21.xyz, r21.xyzx, l(0x00004000, 0x00004000, 0x00004000, 0) + ushr r20.xyz, r20.xyzx, r4.x + ushr r21.xyz, r21.xyzx, r4.x + movc r18.xyz, r18.xyzx, l(0x00007fff,0x00007fff,0x00007fff,0), r20.xyzx + movc r19.xyz, r19.xyzx, l(0x00007fff,0x00007fff,0x00007fff,0), r21.xyzx + movc r16.xyz, r16.xyzx, r18.xyzx, l(0,0,0,0) + movc r17.xyz, r17.xyzx, r19.xyzx, l(0,0,0,0) + ineg r18.xyz, r16.xyzx + ineg r19.xyz, r17.xyzx + movc r14.xyz, r14.xyzx, r16.xyzx, r18.xyzx + movc r15.xyz, r15.xyzx, r17.xyzx, r19.xyzx + movc r11.xyz, r12.yyyy, r14.xyzx, r11.xyzx + movc r7.xyz, r12.yyyy, r15.xyzx, r7.xyzx + movc r11.xyz, r0.zzzz, r13.xyzx, r11.xyzx + movc r7.xyz, r0.zzzz, r12.xzwx, r7.xyzx + ge r0.zw, l(0.000000, 0.000000, 0.000000, 0.000000), r1.wwwz + mov r1.y, cb0[0].z + mov r3.y, l(0) + mov r4.x, l(0) + loop + uge r5.w, r4.x, l(16) + breakc_nz r5.w + ushr r5.w, icb[r2.z + 0].x, r4.x + and r5.w, r5.w, l(1) + if_nz r5.w + iadd r5.w, r0.y, r4.x + ld_structured r12.xyz, r5.w, l(12), g0.xyzx + iadd r12.xyz, -r9.xyzx, r12.xyzx + itof r12.xyz, r12.xyzx + dp3 r5.w, r8.xyzx, r12.xyzx + ge r6.w, l(0.000000), r5.w + or r6.w, r0.z, r6.w + lt r7.w, r5.w, r1.w + mul r5.w, r5.w, l(63.499989) + div r5.w, r5.w, r1.w + ftou r5.w, r5.w + movc r5.w, r7.w, icb[r5.w + 46].x, l(7) + movc r5.w, r6.w, l(0), r5.w + iadd r6.w, l(64), -icb[r5.w + 0].w + imul null, r12.xyz, r7.xyzx, icb[r5.w + 0].wwww + imad r12.xyz, r11.xyzx, r6.wwww, r12.xyzx + iadd r12.xyz, r12.xyzx, l(32, 32, 32, 0) + ishr r12.xyz, r12.xyzx, l(6) + ieq r5.w, r1.y, l(95) + imul null, r13.xyz, r12.xyzx, l(31, 31, 31, 0) + ishr r14.xyz, r13.xyzx, l(6) + ilt r15.xyz, r12.xyzx, l(0, 0, 0, 0) + imul null, r12.xyz, r12.xyzx, l(-31, -31, -31, 0) + ishr r12.xyz, r12.xyzx, l(5) + ineg r12.xyz, r12.xyzx + ishr r13.xyz, r13.xyzx, l(5) + movc r12.xyz, r15.xyzx, r12.xyzx, r13.xyzx + ilt r13.xyz, r12.xyzx, l(0, 0, 0, 0) + ineg r15.xyz, r12.xyzx + or r15.xyz, r15.xyzx, l(0x00008000, 0x00008000, 0x00008000, 0) + movc r12.xyz, r13.xyzx, r15.xyzx, r12.xyzx + movc r12.xyz, r5.wwww, r14.xyzx, r12.xyzx + else + iadd r5.w, r0.y, r4.x + ld_structured r13.xyz, r5.w, l(12), g0.xyzx + iadd r13.xyz, -r6.xyzx, r13.xyzx + itof r13.xyz, r13.xyzx + dp3 r5.w, r5.xyzx, r13.xyzx + ge r6.w, l(0.000000), r5.w + or r6.w, r0.w, r6.w + lt r7.w, r5.w, r1.z + mul r5.w, r5.w, l(63.499989) + div r5.w, r5.w, r1.z + ftou r5.w, r5.w + movc r5.w, r7.w, icb[r5.w + 46].x, l(7) + movc r5.w, r6.w, l(0), r5.w + iadd r6.w, l(64), -icb[r5.w + 0].w + imul null, r13.xyz, r10.yzwy, icb[r5.w + 0].wwww + imad r13.xyz, r4.yzwy, r6.wwww, r13.xyzx + iadd r13.xyz, r13.xyzx, l(32, 32, 32, 0) + ishr r13.xyz, r13.xyzx, l(6) + ieq r5.w, r1.y, l(95) + imul null, r14.xyz, r13.xyzx, l(31, 31, 31, 0) + ishr r15.xyz, r14.xyzx, l(6) + ilt r16.xyz, r13.xyzx, l(0, 0, 0, 0) + imul null, r13.xyz, r13.xyzx, l(-31, -31, -31, 0) + ishr r13.xyz, r13.xyzx, l(5) + ineg r13.xyz, r13.xyzx + ishr r14.xyz, r14.xyzx, l(5) + movc r13.xyz, r16.xyzx, r13.xyzx, r14.xyzx + ilt r14.xyz, r13.xyzx, l(0, 0, 0, 0) + ineg r16.xyz, r13.xyzx + or r16.xyz, r16.xyzx, l(0x00008000, 0x00008000, 0x00008000, 0) + movc r13.xyz, r14.xyzx, r16.xyzx, r13.xyzx + movc r12.xyz, r5.wwww, r15.xyzx, r13.xyzx + endif + and r13.xy, r12.xxxx, l(1023, 0x00007c00, 0, 0) + if_nz r13.y + ushr r5.w, r12.x, l(10) + and r5.w, r5.w, l(31) + else + if_nz r13.x + ishl r6.w, r13.x, l(1) + mov r7.w, r6.w + mov r5.w, l(0) + loop + and r8.w, r7.w, l(1024) + breakc_nz r8.w + iadd r5.w, r5.w, l(-1) + ishl r7.w, r7.w, l(1) + endloop + and r13.x, r7.w, l(1022) + else + mov r13.x, l(0) + mov r5.w, l(-112) + endif + endif + ishl r6.w, r12.x, l(16) + and r6.w, r6.w, l(0x80000000) + ishl r8.w, r5.w, l(23) + iadd r8.w, r8.w, l(0x38000000) + or r6.w, r6.w, r8.w + ishl r8.w, r13.x, l(13) + iadd r13.x, r6.w, r8.w + and r12.xw, r12.yyyy, l(1023, 0, 0, 0x00007c00) + if_nz r12.w + ushr r6.w, r12.y, l(10) + and r6.w, r6.w, l(31) + else + if_nz r12.x + ishl r8.w, r12.x, l(1) + mov r9.w, r8.w + mov r6.w, l(0) + loop + and r10.x, r9.w, l(1024) + breakc_nz r10.x + iadd r6.w, r6.w, l(-1) + ishl r9.w, r9.w, l(1) + endloop + and r12.x, r9.w, l(1022) + else + mov r12.x, l(0) + mov r6.w, l(-112) + endif + endif + ishl r8.w, r12.y, l(16) + and r8.w, r8.w, l(0x80000000) + ishl r10.x, r6.w, l(23) + iadd r10.x, r10.x, l(0x38000000) + or r8.w, r8.w, r10.x + ishl r10.x, r12.x, l(13) + iadd r13.y, r8.w, r10.x + and r12.xy, r12.zzzz, l(1023, 0x00007c00, 0, 0) + if_nz r12.y + ushr r8.w, r12.z, l(10) + and r8.w, r8.w, l(31) + else + if_nz r12.x + ishl r10.x, r12.x, l(1) + mov r11.w, r10.x + mov r8.w, l(0) + loop + and r12.y, r11.w, l(1024) + breakc_nz r12.y + iadd r8.w, r8.w, l(-1) + ishl r11.w, r11.w, l(1) + endloop + and r12.x, r11.w, l(1022) + else + mov r12.x, l(0) + mov r8.w, l(-112) + endif + endif + ishl r10.x, r12.z, l(16) + and r10.x, r10.x, l(0x80000000) + ishl r12.y, r8.w, l(23) + iadd r12.y, r12.y, l(0x38000000) + or r10.x, r10.x, r12.y + ishl r12.x, r12.x, l(13) + iadd r13.z, r10.x, r12.x + iadd r10.x, r0.y, r4.x + ld_structured r12.xyz, r10.x, l(24), g0.xyzx + add r12.xyz, -r12.xyzx, r13.xyzx + dp3 r10.x, r12.xyzx, r12.xyzx + add r3.y, r3.y, r10.x + iadd r4.x, r4.x, l(1) + endloop + movc r2.x, r2.w, l(100000002004087730000.000000), r3.y + iadd r2.y, cb0[0].w, l(1) + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(40), r2.xyzx +endif +if_nz r3.x + ld_structured r4.x, vThreadIDInGroupFlattened.x, l(40), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(16) + ld_structured r5.yzw, r0.y, l(40), g0.xxyz + lt r0.z, r5.y, r4.x + if_nz r0.z + ld_structured r5.x, r0.y, l(40), g0.xxxx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(40), r5.xzwx + endif +endif +if_nz r3.z + ld_structured r4.x, vThreadIDInGroupFlattened.x, l(40), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(8) + ld_structured r5.yzw, r0.y, l(40), g0.xxyz + lt r0.z, r5.y, r4.x + if_nz r0.z + ld_structured r5.x, r0.y, l(40), g0.xxxx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(40), r5.xzwx + endif +endif +if_nz r3.w + ld_structured r3.x, vThreadIDInGroupFlattened.x, l(40), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(4) + ld_structured r4.yzw, r0.y, l(40), g0.xxyz + lt r0.z, r4.y, r3.x + if_nz r0.z + ld_structured r4.x, r0.y, l(40), g0.xxxx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(40), r4.xzwx + endif +endif +ult r0.yz, r2.zzzz, l(0, 2, 1, 0) +if_nz r0.y + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(40), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(2) + ld_structured r3.yzw, r0.y, l(40), g0.xxyz + lt r0.w, r3.y, r2.x + if_nz r0.w + ld_structured r3.x, r0.y, l(40), g0.xxxx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(40), r3.xzwx + endif +endif +if_nz r0.z + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(40), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(1) + ld_structured r3.yzw, r0.y, l(40), g0.xxyz + lt r0.z, r3.y, r2.x + if_nz r0.z + ld_structured r3.x, r0.y, l(40), g0.xxxx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(40), r3.xzwx + endif + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(40), g0.xxxx + lt r0.y, r2.x, r1.x + if_nz r0.y + ld_structured r1.xyz, vThreadIDInGroupFlattened.x, l(40), g0.xyzx + mov r1.w, l(0) + else + ld_structured r1.xyzw, r0.x, l(0), t1.xyzw + endif + store_structured u0.xyzw, r0.x, l(0), r1.xyzw +endif +ret +// Approximately 0 instruction slots used +#endif + +const BYTE BC6HEncode_TryModeLE10CS[] = +{ + 68, 88, 66, 67, 191, 79, + 190, 54, 160, 248, 4, 120, + 116, 121, 130, 112, 95, 120, + 188, 77, 1, 0, 0, 0, + 32, 97, 0, 0, 3, 0, + 0, 0, 44, 0, 0, 0, + 60, 0, 0, 0, 76, 0, + 0, 0, 73, 83, 71, 78, + 8, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 79, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 83, 72, + 69, 88, 204, 96, 0, 0, + 64, 0, 5, 0, 51, 24, + 0, 0, 106, 8, 0, 1, + 53, 24, 0, 0, 186, 1, + 0, 0, 204, 204, 0, 0, + 15, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 136, 136, 0, 0, 15, 0, + 0, 0, 255, 255, 255, 255, + 9, 0, 0, 0, 238, 238, + 0, 0, 15, 0, 0, 0, + 255, 255, 255, 255, 18, 0, + 0, 0, 200, 236, 0, 0, + 15, 0, 0, 0, 255, 255, + 255, 255, 27, 0, 0, 0, + 128, 200, 0, 0, 15, 0, + 0, 0, 255, 255, 255, 255, + 37, 0, 0, 0, 236, 254, + 0, 0, 15, 0, 0, 0, + 255, 255, 255, 255, 46, 0, + 0, 0, 200, 254, 0, 0, + 15, 0, 0, 0, 255, 255, + 255, 255, 55, 0, 0, 0, + 128, 236, 0, 0, 15, 0, + 0, 0, 255, 255, 255, 255, + 64, 0, 0, 0, 0, 200, + 0, 0, 15, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 236, 255, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 128, 254, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 232, + 0, 0, 15, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 232, 255, 0, 0, + 15, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 0, 255, 0, 0, 15, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 240, 255, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 240, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 16, 247, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 142, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 113, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 206, 8, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 140, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 16, 115, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 49, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 206, 140, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 140, 8, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 16, 49, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 102, 102, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 108, 54, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 232, 23, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 240, 15, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 142, 113, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 156, 57, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 5, 0, 0, 0, + 5, 0, 0, 0, 5, 0, + 0, 0, 7, 0, 0, 0, + 6, 0, 0, 0, 6, 0, + 0, 0, 6, 0, 0, 0, + 11, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 11, 0, + 0, 0, 4, 0, 0, 0, + 5, 0, 0, 0, 4, 0, + 0, 0, 11, 0, 0, 0, + 4, 0, 0, 0, 4, 0, + 0, 0, 5, 0, 0, 0, + 9, 0, 0, 0, 5, 0, + 0, 0, 5, 0, 0, 0, + 5, 0, 0, 0, 8, 0, + 0, 0, 6, 0, 0, 0, + 5, 0, 0, 0, 5, 0, + 0, 0, 8, 0, 0, 0, + 5, 0, 0, 0, 6, 0, + 0, 0, 5, 0, 0, 0, + 8, 0, 0, 0, 5, 0, + 0, 0, 5, 0, 0, 0, + 6, 0, 0, 0, 6, 0, + 0, 0, 6, 0, 0, 0, + 6, 0, 0, 0, 6, 0, + 0, 0, 10, 0, 0, 0, + 10, 0, 0, 0, 10, 0, + 0, 0, 10, 0, 0, 0, + 11, 0, 0, 0, 9, 0, + 0, 0, 9, 0, 0, 0, + 9, 0, 0, 0, 12, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 16, 0, 0, 0, + 4, 0, 0, 0, 4, 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, 1, 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, 1, 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, + 1, 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, 1, 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, 1, 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, + 2, 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, 2, 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, 2, 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, + 2, 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, 3, 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, 3, 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, + 3, 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, 3, 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, 3, 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, + 4, 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, 4, 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, 4, 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, + 4, 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, 4, 0, 0, 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, 5, 0, + 0, 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, + 5, 0, 0, 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, 5, 0, 0, 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, 5, 0, + 0, 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, + 6, 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, 6, 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, 6, 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, + 6, 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, 6, 0, 0, 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, 7, 0, + 0, 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, + 7, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 162, 0, 0, 4, 0, 112, + 16, 0, 1, 0, 0, 0, + 16, 0, 0, 0, 158, 0, + 0, 4, 0, 224, 17, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 95, 0, 0, 2, + 0, 64, 2, 0, 95, 0, + 0, 2, 18, 16, 2, 0, + 104, 0, 0, 2, 25, 0, + 0, 0, 105, 0, 0, 4, + 0, 0, 0, 0, 6, 0, + 0, 0, 4, 0, 0, 0, + 105, 0, 0, 4, 1, 0, + 0, 0, 2, 0, 0, 0, + 4, 0, 0, 0, 160, 0, + 0, 5, 0, 240, 17, 0, + 0, 0, 0, 0, 84, 0, + 0, 0, 64, 0, 0, 0, + 155, 0, 0, 4, 64, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 85, 0, + 0, 6, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 41, 0, + 0, 6, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 16, + 2, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 8, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 80, 0, + 0, 8, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 26, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 0, 0, 0, 0, + 62, 0, 0, 1, 21, 0, + 0, 1, 167, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 6, 112, 16, 0, 1, 0, + 0, 0, 49, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 189, 55, 134, 53, + 31, 0, 4, 3, 26, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 70, 126, + 16, 0, 1, 0, 0, 0, + 168, 0, 0, 9, 242, 224, + 17, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 62, 0, 0, 1, 21, 0, + 0, 1, 1, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 79, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 166, 10, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 16, 0, 0, 0, 32, 0, + 0, 0, 8, 0, 0, 0, + 4, 0, 0, 0, 31, 0, + 4, 3, 10, 0, 16, 0, + 3, 0, 0, 0, 78, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 0, 208, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 26, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 35, 0, + 0, 11, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 26, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 85, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 8, 194, 0, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 7, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 226, 0, + 16, 0, 1, 0, 0, 0, + 6, 9, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 1, 0, + 0, 10, 226, 0, 16, 0, + 1, 0, 0, 0, 86, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 128, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 5, 0, + 0, 0, 6, 5, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 255, 127, + 255, 255, 127, 0, 255, 255, + 255, 127, 255, 255, 127, 0, + 79, 0, 0, 10, 194, 0, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 255, 239, 255, 71, 255, 239, + 255, 71, 6, 8, 16, 0, + 5, 0, 0, 0, 79, 0, + 0, 10, 50, 0, 16, 0, + 4, 0, 0, 0, 134, 0, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 56, 0, 0, 128, 56, + 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 50, 0, 16, 0, 6, 0, + 0, 0, 134, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 30, 0, 0, 11, 50, 0, + 16, 0, 6, 0, 0, 0, + 70, 0, 16, 128, 65, 0, + 0, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 113, 0, + 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 10, + 162, 0, 16, 0, 5, 0, + 0, 0, 86, 13, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 128, 0, 0, 0, + 0, 0, 0, 0, 128, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 85, 0, + 0, 7, 34, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 30, 0, 0, 10, + 50, 0, 16, 0, 5, 0, + 0, 0, 134, 0, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 200, + 0, 0, 0, 200, 0, 0, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 50, 0, + 16, 0, 4, 0, 0, 0, + 70, 0, 16, 0, 4, 0, + 0, 0, 70, 0, 16, 0, + 7, 0, 0, 0, 70, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 10, 50, 0, + 16, 0, 5, 0, 0, 0, + 70, 0, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 255, 15, 0, 0, 255, 15, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 50, 0, 16, 0, + 4, 0, 0, 0, 70, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 1, 0, 0, 10, + 50, 0, 16, 0, 4, 0, + 0, 0, 70, 0, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 50, 0, + 16, 0, 4, 0, 0, 0, + 70, 0, 16, 0, 4, 0, + 0, 0, 70, 0, 16, 0, + 5, 0, 0, 0, 85, 0, + 0, 7, 50, 0, 16, 0, + 4, 0, 0, 0, 70, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 1, 0, 0, 10, + 50, 0, 16, 0, 4, 0, + 0, 0, 70, 0, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 12, 194, 0, + 16, 0, 0, 0, 0, 0, + 166, 14, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 6, 4, + 16, 0, 4, 0, 0, 0, + 30, 0, 0, 7, 50, 0, + 16, 0, 5, 0, 0, 0, + 150, 5, 16, 0, 1, 0, + 0, 0, 230, 10, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 0, 0, 0, 0, 166, 10, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 127, 255, 255, + 127, 0, 79, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 255, 239, 255, 71, 42, 0, + 16, 0, 0, 0, 0, 0, + 79, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 56, 85, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 30, 0, 0, 8, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 113, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 0, 85, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 200, 55, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 255, 15, + 0, 0, 85, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 255, 127, 0, 0, 55, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 255, 127, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 6, 5, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 255, 3, 0, 0, + 0, 124, 0, 0, 255, 3, + 0, 0, 0, 124, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 4, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 31, 0, + 0, 0, 18, 0, 0, 1, + 31, 0, 4, 3, 10, 0, + 16, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 48, 0, 0, 1, + 1, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 4, 0, 0, 3, 0, + 4, 3, 42, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 41, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 22, 0, 0, 1, 1, 0, + 0, 7, 18, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 254, 3, + 0, 0, 18, 0, 0, 1, + 54, 0, 0, 5, 18, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 144, 255, 255, 255, 21, 0, + 0, 1, 21, 0, 0, 1, + 41, 0, 0, 7, 226, 0, + 16, 0, 1, 0, 0, 0, + 6, 9, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 1, 0, + 0, 10, 226, 0, 16, 0, + 1, 0, 0, 0, 86, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 128, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 56, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 4, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 18, 0, 0, 1, 31, 0, + 4, 3, 42, 0, 16, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 1, 1, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 4, + 0, 0, 3, 0, 4, 3, + 58, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 255, 255, 255, 255, + 41, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 22, 0, + 0, 1, 1, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 254, 3, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 5, 66, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 144, 255, + 255, 255, 21, 0, 0, 1, + 21, 0, 0, 1, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 56, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 0, 0, 0, 0, + 166, 10, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 255, 3, 0, 0, + 0, 124, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 18, 0, 0, 1, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 1, 1, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 4, + 0, 0, 3, 0, 4, 3, + 58, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 255, 255, 255, 255, + 41, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 22, 0, + 0, 1, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 254, 3, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 8, 194, 0, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 144, 255, 255, 255, + 21, 0, 0, 1, 21, 0, + 0, 1, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 56, 60, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 10, 130, 0, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 208, 179, + 89, 62, 89, 23, 55, 63, + 152, 221, 147, 61, 0, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 32, 0, + 0, 8, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 95, 0, 0, 0, + 41, 0, 0, 7, 226, 0, + 16, 0, 1, 0, 0, 0, + 6, 9, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 78, 0, + 0, 11, 226, 0, 16, 0, + 1, 0, 0, 0, 0, 208, + 0, 0, 86, 14, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 0, 31, 0, + 0, 0, 31, 0, 0, 0, + 79, 0, 0, 10, 114, 0, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 255, 123, + 0, 0, 255, 123, 0, 0, + 255, 123, 0, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 78, 0, 0, 11, 114, 0, + 16, 0, 7, 0, 0, 0, + 0, 208, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 31, 0, + 0, 0, 31, 0, 0, 0, + 31, 0, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 12, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 224, 255, 15, 0, + 224, 255, 15, 0, 224, 255, + 15, 0, 0, 0, 0, 0, + 78, 0, 0, 11, 114, 0, + 16, 0, 5, 0, 0, 0, + 0, 208, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 31, 0, + 0, 0, 31, 0, 0, 0, + 31, 0, 0, 0, 0, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 1, 128, + 255, 255, 1, 128, 255, 255, + 1, 128, 255, 255, 0, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 55, 0, + 0, 9, 226, 0, 16, 0, + 1, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 86, 14, 16, 0, 1, 0, + 0, 0, 6, 9, 16, 0, + 4, 0, 0, 0, 168, 0, + 0, 8, 114, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 150, 7, + 16, 0, 1, 0, 0, 0, + 21, 0, 0, 1, 31, 0, + 4, 3, 26, 0, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 127, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 127, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 127, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 128, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 128, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 128, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 127, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 127, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 127, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 128, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 128, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 128, 54, 0, + 0, 6, 18, 48, 32, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 127, 127, 54, 0, + 0, 6, 34, 48, 32, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 127, 255, 54, 0, + 0, 6, 18, 48, 32, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 127, 127, 54, 0, + 0, 6, 34, 48, 32, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 127, 255, 54, 0, + 0, 5, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 1, 80, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 3, 0, 4, 3, + 58, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 85, 0, 0, 8, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 144, 144, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 58, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 48, 32, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 49, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 66, 0, 16, 0, + 1, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 55, 0, + 0, 9, 66, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 66, 0, 16, 0, + 1, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 55, 0, + 0, 9, 66, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 66, 0, 16, 0, + 1, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 55, 0, + 0, 9, 66, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 55, 0, + 0, 9, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 48, + 32, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 49, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 55, 0, 0, 9, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 55, 0, 0, 9, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 55, 0, 0, 9, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 55, 0, 0, 9, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 18, 0, 0, 1, + 54, 0, 0, 6, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 48, 32, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 49, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 66, 0, 16, 0, + 1, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 66, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 66, 0, 16, 0, + 1, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 55, 0, + 0, 9, 66, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 66, 0, 16, 0, + 1, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 55, 0, + 0, 9, 66, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 55, 0, + 0, 9, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 48, + 32, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 49, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 9, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 55, 0, 0, 9, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 55, 0, 0, 9, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 55, 0, 0, 9, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 21, 0, 0, 1, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 22, 0, + 0, 1, 54, 0, 0, 6, + 18, 0, 16, 0, 4, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 6, + 34, 0, 16, 0, 4, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 4, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 34, 0, 16, 0, 1, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 40, 0, 0, 5, + 50, 0, 16, 0, 5, 0, + 0, 0, 230, 10, 16, 0, + 0, 0, 0, 0, 40, 0, + 0, 5, 66, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 114, 0, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 43, 0, + 0, 5, 114, 0, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 16, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 7, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 43, 0, 0, 5, + 114, 0, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 49, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 29, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 56, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 253, 255, 125, 66, + 14, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 28, 0, + 0, 5, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 79, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 55, 0, 0, 10, + 114, 0, 16, 0, 5, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 55, 0, 0, 9, 50, 0, + 16, 0, 6, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 70, 0, 16, 0, + 4, 0, 0, 0, 230, 10, + 16, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 66, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 55, 0, 0, 9, 50, 0, + 16, 0, 7, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 230, 10, 16, 0, + 0, 0, 0, 0, 70, 0, + 16, 0, 4, 0, 0, 0, + 55, 0, 0, 9, 66, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 54, 0, 0, 6, 18, 0, + 16, 0, 4, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 4, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 4, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 1, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 40, 0, 0, 5, 50, 0, + 16, 0, 8, 0, 0, 0, + 230, 10, 16, 0, 0, 0, + 0, 0, 40, 0, 0, 5, + 66, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 43, 0, 0, 5, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 30, 0, 0, 8, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 26, 144, + 144, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 43, 0, 0, 5, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 49, 0, 0, 7, + 34, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 29, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 7, 34, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 56, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 253, 255, 125, 66, + 14, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 28, 0, + 0, 5, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 79, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 55, 0, 0, 10, + 114, 0, 16, 0, 8, 0, + 0, 0, 246, 15, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 55, 0, 0, 9, 50, 0, + 16, 0, 9, 0, 0, 0, + 246, 15, 16, 0, 2, 0, + 0, 0, 70, 0, 16, 0, + 4, 0, 0, 0, 230, 10, + 16, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 66, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 55, 0, 0, 9, 50, 0, + 16, 0, 10, 0, 0, 0, + 246, 15, 16, 0, 2, 0, + 0, 0, 230, 10, 16, 0, + 0, 0, 0, 0, 70, 0, + 16, 0, 4, 0, 0, 0, + 55, 0, 0, 9, 66, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 32, 0, 0, 11, 194, 0, + 16, 0, 0, 0, 0, 0, + 166, 138, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 95, 0, 0, 0, 96, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 6, + 34, 0, 16, 0, 1, 0, + 0, 0, 58, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 33, 0, 0, 9, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 144, 208, 0, + 32, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 114, 0, + 16, 0, 4, 0, 0, 0, + 246, 15, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 60, 0, + 0, 7, 114, 0, 16, 0, + 11, 0, 0, 0, 246, 15, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 32, 0, 0, 10, + 114, 0, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 0, 0, 0, 0, + 32, 0, 0, 10, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 0, 0, 0, 0, 41, 0, + 0, 9, 34, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 10, 144, 208, 0, 32, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 41, 0, 0, 9, + 114, 0, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 10, 144, + 208, 0, 32, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 41, 0, 0, 9, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 10, 144, + 208, 0, 32, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 42, 0, 0, 7, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 12, 0, 0, 0, + 86, 5, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 86, 5, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 55, 0, + 0, 15, 114, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 15, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 114, 0, 16, 0, + 12, 0, 0, 0, 246, 15, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 60, 0, 0, 7, + 114, 0, 16, 0, 13, 0, + 0, 0, 246, 15, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 32, 0, 0, 10, 114, 0, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 6, + 34, 0, 16, 0, 1, 0, + 0, 0, 58, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 41, 0, 0, 9, + 114, 0, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 10, 144, + 208, 0, 32, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 41, 0, 0, 9, + 114, 0, 16, 0, 17, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 10, 144, + 208, 0, 32, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 16, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 42, 0, 0, 7, 114, 0, + 16, 0, 17, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 86, 5, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 16, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 15, 0, 0, 0, + 86, 5, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 17, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 6, + 34, 0, 16, 0, 1, 0, + 0, 0, 58, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 33, 0, 0, 9, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 144, 208, 0, + 32, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 114, 0, + 16, 0, 14, 0, 0, 0, + 246, 15, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 60, 0, + 0, 7, 114, 0, 16, 0, + 15, 0, 0, 0, 246, 15, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 33, 0, 0, 10, + 114, 0, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 33, 0, 0, 10, 114, 0, + 16, 0, 17, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 18, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 10, + 114, 0, 16, 0, 19, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 9, 34, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 10, 144, 208, 0, + 32, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 41, 0, 0, 7, + 114, 0, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 21, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 114, 0, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 21, 0, + 0, 0, 70, 2, 16, 0, + 21, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 18, 0, 0, 0, + 70, 2, 16, 0, 18, 0, + 0, 0, 246, 15, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 19, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 246, 15, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 21, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 20, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 21, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 22, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 2, 64, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 10, + 114, 0, 16, 0, 23, 0, + 0, 0, 70, 2, 16, 0, + 21, 0, 0, 0, 2, 64, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 8, 34, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 128, 65, 0, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 21, 0, 0, 0, + 70, 2, 16, 0, 21, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 114, 0, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 21, 0, + 0, 0, 70, 2, 16, 0, + 21, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 20, 0, 0, 0, + 70, 2, 16, 0, 20, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 21, 0, + 0, 0, 70, 2, 16, 0, + 21, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 22, 0, 0, 0, + 86, 5, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 21, 0, 0, 0, 70, 2, + 16, 0, 23, 0, 0, 0, + 86, 5, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 21, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 18, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 17, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 70, 2, 16, 0, + 21, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 16, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 17, 0, 0, 0, 55, 0, + 0, 15, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 15, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 114, 0, 16, 0, + 7, 0, 0, 0, 246, 15, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 60, 0, 0, 7, + 114, 0, 16, 0, 14, 0, + 0, 0, 246, 15, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 33, 0, 0, 10, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 33, 0, + 0, 10, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 10, + 114, 0, 16, 0, 17, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 0, 0, 0, 0, + 32, 0, 0, 10, 114, 0, + 16, 0, 18, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 2, 64, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 114, 0, 16, 0, + 19, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 0, 7, 114, 0, + 16, 0, 19, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 42, 0, + 0, 7, 114, 0, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 17, 0, + 0, 0, 70, 2, 16, 0, + 17, 0, 0, 0, 246, 15, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 18, 0, + 0, 0, 70, 2, 16, 0, + 18, 0, 0, 0, 246, 15, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 20, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 19, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 40, 0, + 0, 5, 114, 0, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 32, 0, 0, 10, 114, 0, + 16, 0, 21, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 2, 64, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 10, 114, 0, 16, 0, + 22, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 2, 64, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 255, 127, 0, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 19, 0, + 0, 0, 70, 2, 16, 0, + 19, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 20, 0, 0, 0, + 70, 2, 16, 0, 20, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 0, 7, 114, 0, 16, 0, + 19, 0, 0, 0, 70, 2, + 16, 0, 19, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 19, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 19, 0, 0, 0, 70, 2, + 16, 0, 21, 0, 0, 0, + 86, 5, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 19, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 22, 0, 0, 0, + 86, 5, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 70, 2, 16, 0, + 19, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 18, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 16, 0, 0, 0, 21, 0, + 0, 1, 30, 0, 0, 8, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 54, 0, + 0, 6, 34, 0, 16, 0, + 1, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 10, 114, 0, 16, 0, + 7, 0, 0, 0, 166, 154, + 144, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 30, 0, 0, 8, + 114, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 55, 0, + 0, 10, 114, 0, 16, 0, + 10, 0, 0, 0, 166, 154, + 144, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 30, 0, 0, 8, + 114, 0, 16, 0, 11, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 55, 0, + 0, 10, 114, 0, 16, 0, + 11, 0, 0, 0, 166, 154, + 144, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 31, 0, 4, 4, + 42, 144, 144, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 33, 0, 0, 10, 114, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 12, 114, 0, 16, 0, + 13, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 0, 0, 0, 0, + 150, 151, 208, 0, 32, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 14, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 13, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 14, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 14, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 13, 0, 0, 0, 33, 0, + 0, 7, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 34, 0, + 0, 7, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 60, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 16, 0, 0, 0, 10, 0, + 16, 0, 16, 0, 0, 0, + 60, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 16, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 41, 0, + 0, 9, 18, 0, 16, 0, + 16, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 10, 144, 208, 0, 32, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 41, 0, + 0, 9, 34, 0, 16, 0, + 16, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 26, 144, 208, 0, 32, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 41, 0, + 0, 9, 66, 0, 16, 0, + 16, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 42, 144, 208, 0, 32, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 41, 0, + 0, 9, 130, 0, 16, 0, + 16, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 58, 144, 208, 0, 32, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 16, 0, 0, 0, 70, 14, + 16, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 1, 0, 0, 7, + 114, 0, 16, 0, 17, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 6, 0, + 16, 0, 16, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 18, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 18, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 1, 0, + 0, 7, 114, 0, 16, 0, + 19, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 150, 7, 16, 0, 16, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 33, 0, 0, 10, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 33, 0, 0, 7, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 40, 0, + 0, 5, 114, 0, 16, 0, + 19, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 34, 0, 0, 7, 114, 0, + 16, 0, 19, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 19, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 19, 0, 0, 0, 33, 0, + 0, 10, 114, 0, 16, 0, + 21, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 33, 0, 0, 7, + 114, 0, 16, 0, 22, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 23, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 34, 0, 0, 7, + 114, 0, 16, 0, 23, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 23, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 24, 0, 0, 0, + 70, 2, 16, 0, 21, 0, + 0, 0, 70, 2, 16, 0, + 22, 0, 0, 0, 70, 2, + 16, 0, 23, 0, 0, 0, + 60, 0, 0, 7, 114, 0, + 16, 0, 20, 0, 0, 0, + 70, 2, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 24, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 20, 0, 0, 0, + 10, 0, 16, 0, 20, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 20, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 60, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 18, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 1, 0, 0, 7, + 114, 0, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 150, 7, + 16, 0, 16, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 19, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 19, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 22, 0, + 0, 0, 70, 2, 16, 0, + 18, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 1, 0, 0, 7, 114, 0, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 150, 7, 16, 0, + 16, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 23, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 16, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 21, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 18, 0, + 0, 1, 41, 0, 0, 9, + 34, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 10, 144, + 208, 0, 32, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 255, 255, 255, 255, + 1, 0, 0, 7, 114, 0, + 16, 0, 17, 0, 0, 0, + 86, 5, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 1, 0, + 0, 7, 114, 0, 16, 0, + 12, 0, 0, 0, 86, 5, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 1, 0, 0, 7, + 114, 0, 16, 0, 13, 0, + 0, 0, 86, 5, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 1, 0, 0, 7, 114, 0, + 16, 0, 14, 0, 0, 0, + 86, 5, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 21, 0, 0, 1, 30, 0, + 0, 12, 242, 0, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 70, 158, 208, 0, 32, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 1, 0, 0, 7, + 226, 0, 16, 0, 4, 0, + 0, 0, 6, 0, 16, 0, + 7, 0, 0, 0, 6, 9, + 16, 0, 17, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 10, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 1, 0, + 0, 7, 114, 0, 16, 0, + 11, 0, 0, 0, 6, 0, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 30, 0, 0, 8, + 114, 0, 16, 0, 11, 0, + 0, 0, 6, 0, 16, 128, + 65, 0, 0, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 55, 0, + 0, 9, 226, 0, 16, 0, + 4, 0, 0, 0, 86, 14, + 16, 0, 4, 0, 0, 0, + 6, 9, 16, 0, 11, 0, + 0, 0, 6, 9, 16, 0, + 17, 0, 0, 0, 55, 0, + 0, 9, 226, 0, 16, 0, + 4, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 86, 14, 16, 0, 4, 0, + 0, 0, 6, 9, 16, 0, + 17, 0, 0, 0, 60, 0, + 0, 8, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 144, 144, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 0, 0, 7, 114, 0, + 16, 0, 11, 0, 0, 0, + 150, 7, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 1, 0, + 0, 7, 114, 0, 16, 0, + 15, 0, 0, 0, 150, 7, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 30, 0, 0, 8, + 114, 0, 16, 0, 15, 0, + 0, 0, 150, 7, 16, 128, + 65, 0, 0, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 11, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 1, 0, + 0, 7, 114, 0, 16, 0, + 12, 0, 0, 0, 150, 7, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 1, 0, 0, 7, + 114, 0, 16, 0, 15, 0, + 0, 0, 150, 7, 16, 0, + 10, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 30, 0, 0, 8, 114, 0, + 16, 0, 15, 0, 0, 0, + 150, 7, 16, 128, 65, 0, + 0, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 12, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 1, 0, 0, 7, + 114, 0, 16, 0, 13, 0, + 0, 0, 150, 7, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 1, 0, 0, 7, 226, 0, + 16, 0, 10, 0, 0, 0, + 86, 14, 16, 0, 10, 0, + 0, 0, 6, 9, 16, 0, + 14, 0, 0, 0, 30, 0, + 0, 8, 114, 0, 16, 0, + 7, 0, 0, 0, 150, 7, + 16, 128, 65, 0, 0, 0, + 7, 0, 0, 0, 150, 7, + 16, 0, 10, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 7, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 30, 0, 0, 7, 226, 0, + 16, 0, 10, 0, 0, 0, + 86, 14, 16, 0, 4, 0, + 0, 0, 6, 9, 16, 0, + 11, 0, 0, 0, 55, 0, + 0, 10, 226, 0, 16, 0, + 10, 0, 0, 0, 166, 154, + 144, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 86, 14, + 16, 0, 10, 0, 0, 0, + 6, 9, 16, 0, 11, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 11, 0, + 0, 0, 150, 7, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 12, 0, 0, 0, + 55, 0, 0, 10, 114, 0, + 16, 0, 11, 0, 0, 0, + 166, 154, 144, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 12, 0, 0, 0, 150, 7, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 55, 0, 0, 10, + 114, 0, 16, 0, 7, 0, + 0, 0, 166, 154, 144, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 79, 0, 0, 12, 50, 0, + 16, 0, 12, 0, 0, 0, + 6, 144, 208, 0, 32, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 15, 0, 0, 0, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 41, 0, 0, 9, 130, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 10, 144, 208, 0, + 32, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 32, 0, + 0, 7, 114, 0, 16, 0, + 13, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 150, 7, 16, 0, 4, 0, + 0, 0, 32, 0, 0, 7, + 114, 0, 16, 0, 14, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 150, 7, + 16, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 15, 0, 0, 0, + 150, 7, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 114, 0, 16, 0, + 16, 0, 0, 0, 150, 7, + 16, 0, 10, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 30, 0, 0, 10, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 2, 64, + 0, 0, 0, 128, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 2, 64, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 9, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 15, 0, 0, 0, + 10, 144, 208, 0, 32, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 85, 0, + 0, 9, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 10, 144, 208, 0, 32, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 16, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 13, 0, 0, 0, 150, 7, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 14, 0, 0, 0, 150, 7, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 13, 0, 0, 0, 6, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 150, 7, 16, 0, + 4, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 14, 0, 0, 0, 6, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 150, 7, 16, 0, + 10, 0, 0, 0, 33, 0, + 0, 10, 114, 0, 16, 0, + 15, 0, 0, 0, 150, 7, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 33, 0, 0, 10, + 114, 0, 16, 0, 16, 0, + 0, 0, 150, 7, 16, 0, + 10, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 36, 0, 0, 8, 114, 0, + 16, 0, 17, 0, 0, 0, + 150, 7, 16, 128, 65, 0, + 0, 0, 4, 0, 0, 0, + 150, 7, 16, 0, 4, 0, + 0, 0, 36, 0, 0, 8, + 114, 0, 16, 0, 18, 0, + 0, 0, 150, 7, 16, 128, + 65, 0, 0, 0, 10, 0, + 0, 0, 150, 7, 16, 0, + 10, 0, 0, 0, 33, 0, + 0, 7, 114, 0, 16, 0, + 19, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 6, 0, 16, 0, 10, 0, + 0, 0, 33, 0, 0, 7, + 114, 0, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 18, 0, 0, 0, 6, 0, + 16, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 21, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 114, 0, 16, 0, + 22, 0, 0, 0, 70, 2, + 16, 0, 18, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 30, 0, 0, 10, + 114, 0, 16, 0, 21, 0, + 0, 0, 70, 2, 16, 0, + 21, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 22, 0, 0, 0, + 70, 2, 16, 0, 22, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 64, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 21, 0, 0, 0, 70, 2, + 16, 0, 21, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 22, 0, + 0, 0, 70, 2, 16, 0, + 22, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 55, 0, 0, 12, 114, 0, + 16, 0, 19, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 2, 64, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 21, 0, 0, 0, + 55, 0, 0, 12, 114, 0, + 16, 0, 20, 0, 0, 0, + 70, 2, 16, 0, 20, 0, + 0, 0, 2, 64, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 22, 0, 0, 0, + 55, 0, 0, 12, 114, 0, + 16, 0, 17, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 70, 2, 16, 0, + 19, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 12, 114, 0, + 16, 0, 18, 0, 0, 0, + 70, 2, 16, 0, 18, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 19, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 18, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 70, 2, 16, 0, + 19, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 18, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 55, 0, + 0, 9, 226, 0, 16, 0, + 4, 0, 0, 0, 86, 5, + 16, 0, 12, 0, 0, 0, + 6, 9, 16, 0, 15, 0, + 0, 0, 86, 14, 16, 0, + 4, 0, 0, 0, 55, 0, + 0, 9, 226, 0, 16, 0, + 10, 0, 0, 0, 86, 5, + 16, 0, 12, 0, 0, 0, + 6, 9, 16, 0, 16, 0, + 0, 0, 86, 14, 16, 0, + 10, 0, 0, 0, 55, 0, + 0, 9, 226, 0, 16, 0, + 4, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 6, 9, 16, 0, 13, 0, + 0, 0, 86, 14, 16, 0, + 4, 0, 0, 0, 55, 0, + 0, 9, 226, 0, 16, 0, + 10, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 6, 9, 16, 0, 14, 0, + 0, 0, 86, 14, 16, 0, + 10, 0, 0, 0, 32, 0, + 0, 7, 114, 0, 16, 0, + 13, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 32, 0, 0, 7, + 114, 0, 16, 0, 14, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 41, 0, + 0, 7, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 30, 0, 0, 10, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 2, 64, + 0, 0, 0, 128, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 2, 64, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 9, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 15, 0, 0, 0, + 10, 144, 208, 0, 32, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 85, 0, + 0, 9, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 10, 144, 208, 0, 32, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 0, 0, 255, 255, 0, 0, + 255, 255, 0, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 16, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 13, 0, 0, 0, 6, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 55, 0, + 0, 9, 210, 0, 16, 0, + 12, 0, 0, 0, 6, 0, + 16, 0, 12, 0, 0, 0, + 6, 9, 16, 0, 14, 0, + 0, 0, 6, 9, 16, 0, + 7, 0, 0, 0, 33, 0, + 0, 10, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 33, 0, 0, 10, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 36, 0, 0, 8, 114, 0, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 36, 0, 0, 8, + 114, 0, 16, 0, 17, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 33, 0, + 0, 7, 114, 0, 16, 0, + 18, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 6, 0, 16, 0, 10, 0, + 0, 0, 33, 0, 0, 7, + 114, 0, 16, 0, 19, 0, + 0, 0, 70, 2, 16, 0, + 17, 0, 0, 0, 6, 0, + 16, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 20, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 114, 0, 16, 0, + 21, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 1, 64, 0, 0, 15, 0, + 0, 0, 30, 0, 0, 10, + 114, 0, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 2, 64, + 0, 0, 0, 64, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 21, 0, 0, 0, + 70, 2, 16, 0, 21, 0, + 0, 0, 2, 64, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 64, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 21, 0, + 0, 0, 70, 2, 16, 0, + 21, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 55, 0, 0, 12, 114, 0, + 16, 0, 18, 0, 0, 0, + 70, 2, 16, 0, 18, 0, + 0, 0, 2, 64, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 55, 0, 0, 12, 114, 0, + 16, 0, 19, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 2, 64, 0, 0, + 255, 127, 0, 0, 255, 127, + 0, 0, 255, 127, 0, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 21, 0, 0, 0, + 55, 0, 0, 12, 114, 0, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 18, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 12, 114, 0, + 16, 0, 17, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 70, 2, 16, 0, + 19, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 18, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 19, 0, + 0, 0, 70, 2, 16, 0, + 17, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 18, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 70, 2, 16, 0, + 19, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 11, 0, 0, 0, 86, 5, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 7, 0, 0, 0, 86, 5, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 11, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 7, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 134, 3, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 29, 0, + 0, 10, 194, 0, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 246, 11, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 34, 0, 16, 0, 1, 0, + 0, 0, 42, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 18, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 1, 80, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 3, 0, 4, 3, + 58, 0, 16, 0, 5, 0, + 0, 0, 85, 0, 0, 8, + 130, 0, 16, 0, 5, 0, + 0, 0, 10, 144, 144, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 58, 0, 16, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 12, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 8, 114, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 43, 0, 0, 5, + 114, 0, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 29, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 60, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 49, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 253, 255, 125, 66, + 14, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 28, 0, + 0, 5, 130, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 55, 0, 0, 11, 130, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 10, 144, 208, 0, + 46, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 55, 0, 0, 9, + 130, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 30, 0, 0, 9, + 130, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 58, 144, + 144, 128, 65, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 38, 0, 0, 9, + 0, 208, 0, 0, 114, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 246, 159, 144, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 35, 0, 0, 9, + 114, 0, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 246, 15, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 30, 0, 0, 10, + 114, 0, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 32, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 114, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 32, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 95, 0, + 0, 0, 38, 0, 0, 11, + 0, 208, 0, 0, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 2, 64, 0, 0, + 31, 0, 0, 0, 31, 0, + 0, 0, 31, 0, 0, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 34, 0, 0, 10, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 38, 0, 0, 11, 0, 208, + 0, 0, 114, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 12, 0, 0, 0, + 2, 64, 0, 0, 225, 255, + 255, 255, 225, 255, 255, 255, + 225, 255, 255, 255, 0, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 34, 0, 0, 10, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40, 0, + 0, 5, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 12, 0, 0, 0, + 60, 0, 0, 10, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 2, 64, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 12, 0, 0, 0, 246, 15, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 18, 0, + 0, 1, 30, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 13, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 8, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 43, 0, 0, 5, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 29, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 60, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 49, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 253, 255, 125, 66, + 14, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 28, 0, + 0, 5, 130, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 55, 0, 0, 11, 130, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 10, 144, 208, 0, + 46, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 55, 0, 0, 9, + 130, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 30, 0, 0, 9, + 130, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 58, 144, + 144, 128, 65, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 38, 0, 0, 9, + 0, 208, 0, 0, 114, 0, + 16, 0, 13, 0, 0, 0, + 150, 7, 16, 0, 10, 0, + 0, 0, 246, 159, 144, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 35, 0, 0, 9, + 114, 0, 16, 0, 13, 0, + 0, 0, 150, 7, 16, 0, + 4, 0, 0, 0, 246, 15, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 30, 0, 0, 10, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 32, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 42, 0, 0, 7, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 32, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 95, 0, + 0, 0, 38, 0, 0, 11, + 0, 208, 0, 0, 114, 0, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 2, 64, 0, 0, + 31, 0, 0, 0, 31, 0, + 0, 0, 31, 0, 0, 0, + 0, 0, 0, 0, 42, 0, + 0, 7, 114, 0, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 34, 0, 0, 10, + 114, 0, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 38, 0, 0, 11, 0, 208, + 0, 0, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 2, 64, 0, 0, 225, 255, + 255, 255, 225, 255, 255, 255, + 225, 255, 255, 255, 0, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 42, 0, 0, 7, + 114, 0, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 34, 0, 0, 10, 114, 0, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40, 0, + 0, 5, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 60, 0, 0, 10, 114, 0, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 2, 64, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 12, 0, 0, 0, 246, 15, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 21, 0, + 0, 1, 1, 0, 0, 10, + 50, 0, 16, 0, 13, 0, + 0, 0, 6, 0, 16, 0, + 12, 0, 0, 0, 2, 64, + 0, 0, 255, 3, 0, 0, + 0, 124, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 13, 0, 0, 0, + 85, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 12, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 31, 0, + 0, 0, 18, 0, 0, 1, + 31, 0, 4, 3, 10, 0, + 16, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 13, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 48, 0, 0, 1, + 1, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 0, 4, 0, 0, 3, 0, + 4, 3, 58, 0, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 41, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 22, 0, 0, 1, 1, 0, + 0, 7, 18, 0, 16, 0, + 13, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 254, 3, + 0, 0, 18, 0, 0, 1, + 54, 0, 0, 5, 18, 0, + 16, 0, 13, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 144, 255, 255, 255, 21, 0, + 0, 1, 21, 0, 0, 1, + 41, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 12, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 128, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 56, 60, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 10, 0, 16, 0, + 13, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 13, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 146, 0, 16, 0, + 12, 0, 0, 0, 86, 5, + 16, 0, 12, 0, 0, 0, + 2, 64, 0, 0, 255, 3, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 124, + 0, 0, 31, 0, 4, 3, + 58, 0, 16, 0, 12, 0, + 0, 0, 85, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 12, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 18, 0, + 0, 1, 31, 0, 4, 3, + 10, 0, 16, 0, 12, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 10, 0, 16, 0, + 12, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 48, 0, + 0, 1, 1, 0, 0, 7, + 18, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 0, 4, 0, 0, + 3, 0, 4, 3, 10, 0, + 16, 0, 10, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 41, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 22, 0, 0, 1, + 1, 0, 0, 7, 18, 0, + 16, 0, 12, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 254, 3, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 5, + 18, 0, 16, 0, 12, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 144, 255, 255, 255, + 21, 0, 0, 1, 21, 0, + 0, 1, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 12, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 128, 41, 0, + 0, 7, 18, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 10, 0, + 0, 0, 10, 0, 16, 0, + 10, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 56, + 60, 0, 0, 7, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 10, 0, 16, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 10, 0, 0, 0, 10, 0, + 16, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 13, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 10, 0, + 16, 0, 10, 0, 0, 0, + 1, 0, 0, 10, 50, 0, + 16, 0, 12, 0, 0, 0, + 166, 10, 16, 0, 12, 0, + 0, 0, 2, 64, 0, 0, + 255, 3, 0, 0, 0, 124, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 12, 0, 0, 0, 85, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 10, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 18, 0, 0, 1, 31, 0, + 4, 3, 10, 0, 16, 0, + 12, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 10, 0, 0, 0, 10, 0, + 16, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 11, 0, + 0, 0, 10, 0, 16, 0, + 10, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 8, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 1, 1, 0, + 0, 7, 34, 0, 16, 0, + 12, 0, 0, 0, 58, 0, + 16, 0, 11, 0, 0, 0, + 1, 64, 0, 0, 0, 4, + 0, 0, 3, 0, 4, 3, + 26, 0, 16, 0, 12, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 1, 64, + 0, 0, 255, 255, 255, 255, + 41, 0, 0, 7, 130, 0, + 16, 0, 11, 0, 0, 0, + 58, 0, 16, 0, 11, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 22, 0, + 0, 1, 1, 0, 0, 7, + 18, 0, 16, 0, 12, 0, + 0, 0, 58, 0, 16, 0, + 11, 0, 0, 0, 1, 64, + 0, 0, 254, 3, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 5, 18, 0, 16, 0, + 12, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 8, 0, 0, 0, + 1, 64, 0, 0, 144, 255, + 255, 255, 21, 0, 0, 1, + 21, 0, 0, 1, 41, 0, + 0, 7, 18, 0, 16, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 1, 0, 0, 7, + 18, 0, 16, 0, 10, 0, + 0, 0, 10, 0, 16, 0, + 10, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 128, + 41, 0, 0, 7, 34, 0, + 16, 0, 12, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 12, 0, 0, 0, 26, 0, + 16, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 56, 60, 0, 0, 7, + 18, 0, 16, 0, 10, 0, + 0, 0, 10, 0, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 12, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 12, 0, 0, 0, + 10, 0, 16, 0, 12, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 13, 0, 0, 0, 10, 0, + 16, 0, 10, 0, 0, 0, + 10, 0, 16, 0, 12, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 12, 0, 0, 0, + 10, 0, 16, 0, 10, 0, + 0, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 0, 0, 0, 8, 114, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 16, 0, 0, 7, + 18, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 12, 0, 0, 0, + 0, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 10, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 22, 0, 0, 1, + 55, 0, 0, 9, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 236, 120, 173, 96, 26, 0, + 16, 0, 3, 0, 0, 0, + 30, 0, 0, 8, 34, 0, + 16, 0, 2, 0, 0, 0, + 58, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 168, 0, 0, 8, + 114, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 40, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 10, 0, 16, 0, 3, 0, + 0, 0, 167, 0, 0, 8, + 18, 0, 16, 0, 4, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 40, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 6, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 167, 0, + 0, 9, 226, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 40, 0, + 0, 0, 6, 249, 17, 0, + 0, 0, 0, 0, 49, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 40, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 168, 0, 0, 8, + 114, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 40, 0, + 0, 0, 134, 3, 16, 0, + 5, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 31, 0, 4, 3, 42, 0, + 16, 0, 3, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 4, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 40, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 167, 0, 0, 9, + 226, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 40, 0, 0, 0, + 6, 249, 17, 0, 0, 0, + 0, 0, 49, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 40, 0, 0, 0, + 134, 3, 16, 0, 5, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 31, 0, + 4, 3, 58, 0, 16, 0, + 3, 0, 0, 0, 167, 0, + 0, 8, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 167, 0, 0, 9, 226, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 6, 249, + 17, 0, 0, 0, 0, 0, + 49, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 40, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 168, 0, + 0, 8, 114, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 134, 3, + 16, 0, 4, 0, 0, 0, + 21, 0, 0, 1, 21, 0, + 0, 1, 79, 0, 0, 10, + 98, 0, 16, 0, 0, 0, + 0, 0, 166, 10, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 40, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 226, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 40, 0, 0, 0, + 6, 249, 17, 0, 0, 0, + 0, 0, 49, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 58, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 40, 0, 0, 0, + 134, 3, 16, 0, 3, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 8, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 226, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 6, 249, + 17, 0, 0, 0, 0, 0, + 49, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 40, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 168, 0, + 0, 8, 114, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 134, 3, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 167, 0, + 0, 8, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 49, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 8, 114, 0, 16, 0, + 1, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 40, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 18, 0, 0, 1, + 167, 0, 0, 9, 242, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 70, 126, + 16, 0, 1, 0, 0, 0, + 21, 0, 0, 1, 168, 0, + 0, 9, 242, 224, 17, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 21, 0, + 0, 1, 62, 0, 0, 1 +}; diff --git a/DirectXTex/Shaders/Compiled/BC7Encode_EncodeBlockCS.inc b/DirectXTex/Shaders/Compiled/BC7Encode_EncodeBlockCS.inc new file mode 100644 index 0000000..8680d6b --- /dev/null +++ b/DirectXTex/Shaders/Compiled/BC7Encode_EncodeBlockCS.inc @@ -0,0 +1,10152 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +/// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_4_0 +dcl_globalFlags refactoringAllowed +dcl_immediateConstantBuffer { { 0x0000cccc, -0.000000, 15, 0}, + { 0x00008888, 65981199646559862000000000.000000, 15, 0}, + { 0x0000eeee, 15358528172589056.000000, 15, 0}, + { 0x0000ecc8, 3584194248704.000000, 15, 0}, + { 0x0000c880, -0.000000, 15, 0}, + { 0x0000feec, -0.000000, 15, 0}, + { 0x0000fec8, 14680365989888.000000, 15, 0}, + { 0x0000ec80, 15362462362632192.000000, 15, 0}, + { 0x0000c800, -0.000000, 15, 0}, + { 0x0000ffec, -0.000000, 15, 0}, + { 0x0000fe80, -0.000000, 15, 0}, + { 0x0000e800, -0.000000, 15, 0}, + { 0x0000ffe8, -0.000000, 15, 0}, + { 0x0000ff00, -0.000000, 15, 0}, + { 0x0000fff0, -0.000000, 15, 0}, + { 0x0000f000, 0.000000, 15, 0}, + { 0x0000f710, -0.000000, 15, 0}, + { 142, 0.000000, 2, 0}, + { 0x00007100, -0.000000, 8, 0}, + { 2254, 22076467445760.000000, 2, 0}, + { 140, -0.000000, 2, 0}, + { 0x00007310, 70798013459086900000000000.000000, 8, 0}, + { 0x00003100, -0.000000, 8, 0}, + { 0x00008cce, 0.000000, 15, 0}, + { 2188, 0x0050a4a4, 2, 0}, + { 0x00003110, -0.000000, 8, 0}, + { 0x00006666, 0.000000, 2, 0}, + { 0x0000366c, 17610885206241624000000000.000000, 2, 0}, + { 6120, -0.000000, 8, 0}, + { 4080, -0.000000, 8, 0}, + { 0x0000718e, 22097854464.000000, 2, 0}, + { 0x0000399c, 65888818352238725000000000.000000, 2, 0}, + { 0x0000aaaa, -0.000000, 15, 0}, + { 0x0000f0f0, 19411582976.000000, 15, 0}, + { 0x00005a5a, -0.000000, 6, 0}, + { 0x000033cc, 0.000000, 8, 0}, + { 0x00003c3c, 0.000000, 2, 0}, + { 0x000055aa, 0.000000, 8, 0}, + { 0x00009696, 0.000000, 15, 0}, + { 0x0000a55a, 22151331840.000000, 15, 0}, + { 0x000073ce, 9304358912.000000, 2, 0}, + { 5064, -0.000000, 8, 0}, + { 0x0000324c, 271536072765004600000000.000000, 2, 0}, + { 0x00003bdc, -0.000000, 2, 0}, + { 0x00006996, 21517107200.000000, 2, 0}, + { 0x0000c33c, 12724757752857623000000000.000000, 15, 0}, + { 0x00009966, 1365.320801, 15, 0}, + { 1632, 272006464738884190000000.000000, 6, 0}, + { 626, -0.000000, 6, 0}, + { 1252, 5783798415360.000000, 2, 0}, + { 0x00004e40, -0.000000, 6, 0}, + { 0x00002720, -0.000000, 8, 0}, + { 0x0000c936, -0.000000, 15, 0}, + { 0x0000936c, -0.000000, 15, 0}, + { 0x000039c6, -0.000000, 2, 0}, + { 0x0000639c, -0.000000, 2, 0}, + { 0x00009336, -0.000000, 15, 0}, + { 0x00009cc6, -0.000000, 15, 0}, + { 0x0000817e, -0.000000, 15, 0}, + { 0x0000e718, -0.000000, 15, 0}, + { 0x0000ccf0, 4.007874, 15, 0}, + { 4044, -0.000000, 2, 0}, + { 0x00007744, -0.000000, 2, 0}, + { 0x0000ee22, 0.000000, 15, 0}, + { 0, 0, 3, 15}, + { 0, 0, 3, 8}, + { 0, 0, 15, 8}, + { 1, 0, 15, 3}, + { 1, 0, 8, 15}, + { 1, 0, 3, 15}, + { 1, 0, 15, 3}, + { 2, 0, 15, 8}, + { 2, 0, 8, 15}, + { 2, 0, 8, 15}, + { 2, 0, 6, 15}, + { 2, 0, 6, 15}, + { 3, 0, 6, 15}, + { 3, 0, 5, 15}, + { 3, 0, 3, 15}, + { 3, 0, 3, 8}, + { 4, 0, 3, 15}, + { 4, 0, 3, 8}, + { 4, 0, 8, 15}, + { 4, 0, 15, 3}, + { 5, 0, 3, 15}, + { 5, 0, 3, 8}, + { 5, 0, 6, 15}, + { 5, 0, 10, 8}, + { 6, 0, 5, 3}, + { 6, 0, 8, 15}, + { 6, 0, 8, 6}, + { 6, 0, 6, 10}, + { 6, 0, 8, 15}, + { 7, 0, 5, 15}, + { 7, 0, 15, 10}, + { 7, 0, 15, 8}, + { 7, 0, 8, 15}, + { 8, 0, 15, 3}, + { 8, 0, 3, 15}, + { 8, 0, 5, 10}, + { 8, 0, 6, 10}, + { 9, 0, 10, 8}, + { 9, 0, 8, 9}, + { 9, 0, 15, 10}, + { 9, 0, 15, 6}, + { 10, 0, 3, 15}, + { 10, 0, 15, 8}, + { 10, 0, 5, 15}, + { 10, 0, 15, 3}, + { 10, 0, 15, 6}, + { 11, 0, 15, 6}, + { 11, 0, 15, 8}, + { 11, 0, 3, 15}, + { 11, 0, 15, 3}, + { 12, 0, 5, 15}, + { 12, 0, 5, 15}, + { 12, 0, 5, 15}, + { 12, 0, 8, 15}, + { 13, 0, 5, 15}, + { 13, 0, 10, 15}, + { 13, 0, 5, 15}, + { 13, 0, 10, 15}, + { 14, 0, 8, 15}, + { 14, 0, 13, 15}, + { 14, 0, 15, 3}, + { 14, 0, 12, 15}, + { 15, 0, 3, 15}, + { 15, 0, 3, 8}, + { 0, 15, 0, 0}, + { 0, 15, 0, 0}, + { 0, 15, 0, 0}, + { 0, 15, 0, 0}, + { 0, 15, 0, 0}, + { 1, 15, 0, 0}, + { 1, 15, 0, 0}, + { 1, 15, 0, 0}, + { 1, 15, 0, 0}, + { 1, 15, 0, 0}, + { 1, 15, 0, 0}, + { 1, 15, 0, 0}, + { 1, 15, 0, 0}, + { 1, 15, 0, 0}, + { 2, 15, 0, 0}, + { 2, 15, 0, 0}, + { 2, 15, 0, 0}, + { 2, 2, 0, 0}, + { 2, 8, 0, 0}, + { 2, 2, 0, 0}, + { 2, 2, 0, 0}, + { 2, 8, 0, 0}, + { 2, 8, 0, 0}, + { 3, 15, 0, 0}, + { 3, 2, 0, 0}, + { 3, 8, 0, 0}, + { 3, 2, 0, 0}, + { 3, 2, 0, 0}, + { 3, 8, 0, 0}, + { 3, 8, 0, 0}, + { 3, 2, 0, 0}, + { 3, 2, 0, 0}, + { 3, 15, 0, 0}, + { 4, 15, 0, 0}, + { 4, 6, 0, 0}, + { 4, 8, 0, 0}, + { 4, 2, 0, 0}, + { 4, 8, 0, 0}, + { 4, 15, 0, 0}, + { 4, 15, 0, 0}, + { 4, 2, 0, 0}, + { 4, 8, 0, 0}, + { 5, 2, 0, 0}, + { 5, 2, 0, 0}, + { 5, 2, 0, 0}, + { 5, 15, 0, 0}, + { 5, 15, 0, 0}, + { 5, 6, 0, 0}, + { 5, 6, 0, 0}, + { 5, 2, 0, 0}, + { 5, 6, 0, 0}, + { 6, 8, 0, 0}, + { 6, 15, 0, 0}, + { 6, 15, 0, 0}, + { 6, 2, 0, 0}, + { 6, 2, 0, 0}, + { 6, 15, 0, 0}, + { 6, 15, 0, 0}, + { 6, 15, 0, 0}, + { 6, 15, 0, 0}, + { 7, 15, 0, 0}, + { 7, 2, 0, 0}, + { 7, 2, 0, 0}, + { 7, 15, 0, 0}, + { 0, 3, 15, 0}, + { 0, 3, 8, 0}, + { 0, 8, 15, 0}, + { 0, 3, 15, 0}, + { 0, 8, 15, 0}, + { 0, 3, 15, 0}, + { 0, 3, 15, 0}, + { 0, 8, 15, 0}, + { 0, 8, 15, 0}, + { 0, 8, 15, 0}, + { 0, 6, 15, 0}, + { 1, 6, 15, 0}, + { 1, 6, 15, 0}, + { 1, 5, 15, 0}, + { 1, 3, 15, 0}, + { 1, 3, 8, 0}, + { 1, 3, 15, 0}, + { 1, 3, 8, 0}, + { 1, 8, 15, 0}, + { 1, 3, 15, 0}, + { 1, 3, 15, 0}, + { 1, 3, 8, 0}, + { 1, 6, 15, 0}, + { 1, 8, 10, 0}, + { 1, 3, 5, 0}, + { 1, 8, 15, 0}, + { 1, 6, 8, 0}, + { 1, 6, 10, 0}, + { 1, 8, 15, 0}, + { 1, 5, 15, 0}, + { 1, 10, 15, 0}, + { 1, 8, 15, 0}, + { 1, 8, 15, 0}, + { 2, 3, 15, 0}, + { 2, 3, 15, 0}, + { 2, 5, 10, 0}, + { 2, 6, 10, 0}, + { 2, 8, 10, 0}, + { 2, 8, 9, 0}, + { 2, 10, 15, 0}, + { 2, 6, 15, 0}, + { 2, 3, 15, 0}, + { 2, 8, 15, 0}, + { 2, 5, 15, 0}, + { 2, 3, 15, 0}, + { 2, 6, 15, 0}, + { 2, 6, 15, 0}, + { 2, 8, 15, 0}, + { 2, 3, 15, 0}, + { 2, 3, 15, 0}, + { 2, 5, 15, 0}, + { 2, 5, 15, 0}, + { 2, 5, 15, 0}, + { 2, 8, 15, 0}, + { 3, 5, 15, 0}, + { 3, 10, 15, 0}, + { 3, 5, 15, 0}, + { 3, 10, 15, 0}, + { 3, 8, 15, 0}, + { 3, 13, 15, 0}, + { 3, 3, 15, 0}, + { 3, 12, 15, 0}, + { 3, 3, 15, 0}, + { 3, 3, 8, 0} } +dcl_constantbuffer cb0[2], immediateIndexed +dcl_resource_texture2d (float,float,float,float) t0 +dcl_resource_structured t1, 16 +dcl_uav_structured u0, 16 +dcl_input vThreadIDInGroupFlattened +dcl_input vThreadGroupID.x +dcl_temps 15 +dcl_tgsm_structured g0, 100, 64 +dcl_thread_group 64, 1, 1 +ushr r0.x, vThreadIDInGroupFlattened.x, l(4) +ishl r0.y, vThreadGroupID.x, l(2) +iadd r0.y, r0.y, cb0[1].x +iadd r0.x, r0.x, r0.y +uge r0.y, r0.x, cb0[1].y +if_nz r0.y + ret +endif +and r0.y, vThreadIDInGroupFlattened.x, l(48) +iadd r0.z, -r0.y, vThreadIDInGroupFlattened.x +ld_structured r1.xyz, r0.x, l(4), t1.xyzx +and r0.w, r1.x, l(0x7fffffff) +ld_structured r2.x, r0.x, l(4), t1.xxxx +ushr r1.x, r2.x, l(31) +ult r2.xyzw, r0.zzzz, l(16, 8, 4, 2) +if_nz r2.x + udiv r1.w, null, r0.x, cb0[0].y + imad r3.x, -r1.w, cb0[0].y, r0.x + ishl r3.x, r3.x, l(2) + ishl r1.w, r1.w, l(2) + and r3.y, r0.z, l(3) + iadd r3.x, r3.y, r3.x + ushr r4.x, r0.z, l(2) + iadd r3.y, r1.w, r4.x + mov r3.zw, l(0,0,0,0) + ld r3.xyzw, r3.xyzw, t0.xyzw + mul r3.xyzw, r3.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000) + ftou r3.xyzw, r3.xyzw + umin r3.xyzw, r3.xyzw, l(255, 255, 255, 255) + ieq r4.xy, r0.wwww, l(4, 5, 0, 0) + or r1.w, r4.y, r4.x + ieq r4.xyz, r1.zzzz, l(1, 2, 3, 0) + movc r5.zw, r4.zzzz, r3.wwwz, r3.zzzw + mov r5.xy, r3.xyxx + movc r5.yzw, r4.yyyy, r3.wwzy, r5.yyzw + movc r4.xyzw, r4.xxxx, r3.wyzx, r5.xyzw + movc r3.xyzw, r1.wwww, r4.xyzw, r3.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(0), r3.xyzw +endif +iadd r1.w, r1.y, l(-64) +if_nz r2.x + ld_structured r3.xyzw, vThreadIDInGroupFlattened.x, l(0), g0.xyzw + ishl r4.x, r0.z, l(1) + ushr r4.x, icb[r1.w + 0].y, r4.x + and r4.x, r4.x, l(3) + ieq r4.yz, r0.wwww, l(0, 0, 2, 0) + or r4.y, r4.z, r4.y + ieq r4.x, r4.x, l(2) + movc r5.xyzw, r4.xxxx, r3.xyzw, l(-1,-1,-1,-1) + and r3.xyzw, r3.xyzw, r4.xxxx + movc r5.xyzw, r4.yyyy, r5.xyzw, l(-1,-1,-1,-1) + and r3.xyzw, r3.xyzw, r4.yyyy + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r5.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r3.xyzw +endif +if_nz r2.y + ld_structured r3.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r4.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r5.x, vThreadIDInGroupFlattened.x, l(8) + ld_structured r6.xyzw, r5.x, l(36), g0.xyzw + ld_structured r5.xyzw, r5.x, l(52), g0.xyzw + umin r3.xyzw, r3.xyzw, r6.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r3.xyzw + umax r3.xyzw, r4.xyzw, r5.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r3.xyzw +endif +if_nz r2.z + ld_structured r3.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r4.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r5.x, vThreadIDInGroupFlattened.x, l(4) + ld_structured r6.xyzw, r5.x, l(36), g0.xyzw + ld_structured r5.xyzw, r5.x, l(52), g0.xyzw + umin r3.xyzw, r3.xyzw, r6.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r3.xyzw + umax r3.xyzw, r4.xyzw, r5.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r3.xyzw +endif +if_nz r2.w + ld_structured r3.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r4.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r5.x, vThreadIDInGroupFlattened.x, l(2) + ld_structured r6.xyzw, r5.x, l(36), g0.xyzw + ld_structured r5.xyzw, r5.x, l(52), g0.xyzw + umin r3.xyzw, r3.xyzw, r6.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r3.xyzw + umax r3.xyzw, r4.xyzw, r5.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r3.xyzw +endif +ult r3.xy, r0.zzzz, l(1, 3, 0, 0) +if_nz r3.x + ld_structured r4.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r5.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r3.z, vThreadIDInGroupFlattened.x, l(1) + ld_structured r6.xyzw, r3.z, l(36), g0.xyzw + ld_structured r7.xyzw, r3.z, l(52), g0.xyzw + umin r4.xyzw, r4.xyzw, r6.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r4.xyzw + umax r4.xyzw, r5.xyzw, r7.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r4.xyzw +endif +ieq r3.zw, r0.zzzz, l(0, 0, 2, 1) +if_nz r3.z + ld_structured r4.xyzw, r0.y, l(36), g0.xyzw + ld_structured r5.xyzw, r0.y, l(52), g0.xyzw +endif +if_nz r2.x + ld_structured r6.xyzw, vThreadIDInGroupFlattened.x, l(0), g0.xyzw + ushr r3.z, icb[r1.y + 0].x, r0.z + and r3.z, r3.z, l(1) + ishl r7.x, r0.z, l(1) + ushr r7.x, icb[r1.w + 0].y, r7.x + and r7.x, r7.x, l(3) + ieq r8.xyzw, r0.wwww, l(0, 2, 1, 3) + ieq r7.x, r7.x, l(1) + movc r9.xyzw, r7.xxxx, r6.xyzw, l(-1,-1,-1,-1) + and r7.xyzw, r6.xyzw, r7.xxxx + or r8.xy, r8.ywyy, r8.xzxx + ieq r8.z, r0.w, l(7) + or r8.y, r8.z, r8.y + ieq r3.z, r3.z, l(1) + movc r10.xyzw, r3.zzzz, r6.xyzw, l(-1,-1,-1,-1) + and r6.xyzw, r6.xyzw, r3.zzzz + movc r10.xyzw, r8.yyyy, r10.xyzw, l(-1,-1,-1,-1) + and r6.xyzw, r6.xyzw, r8.yyyy + movc r9.xyzw, r8.xxxx, r9.xyzw, r10.xyzw + movc r6.xyzw, r8.xxxx, r7.xyzw, r6.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r9.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r6.xyzw +endif +if_nz r2.y + ld_structured r6.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r7.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r3.z, vThreadIDInGroupFlattened.x, l(8) + ld_structured r8.xyzw, r3.z, l(36), g0.xyzw + ld_structured r9.xyzw, r3.z, l(52), g0.xyzw + umin r6.xyzw, r6.xyzw, r8.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r6.xyzw + umax r6.xyzw, r7.xyzw, r9.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r6.xyzw +endif +if_nz r2.z + ld_structured r6.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r7.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r3.z, vThreadIDInGroupFlattened.x, l(4) + ld_structured r8.xyzw, r3.z, l(36), g0.xyzw + ld_structured r9.xyzw, r3.z, l(52), g0.xyzw + umin r6.xyzw, r6.xyzw, r8.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r6.xyzw + umax r6.xyzw, r7.xyzw, r9.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r6.xyzw +endif +if_nz r2.w + ld_structured r6.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r7.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r3.z, vThreadIDInGroupFlattened.x, l(2) + ld_structured r8.xyzw, r3.z, l(36), g0.xyzw + ld_structured r9.xyzw, r3.z, l(52), g0.xyzw + umin r6.xyzw, r6.xyzw, r8.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r6.xyzw + umax r6.xyzw, r7.xyzw, r9.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r6.xyzw +endif +if_nz r3.x + ld_structured r6.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r7.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r3.z, vThreadIDInGroupFlattened.x, l(1) + ld_structured r8.xyzw, r3.z, l(36), g0.xyzw + ld_structured r9.xyzw, r3.z, l(52), g0.xyzw + umin r6.xyzw, r6.xyzw, r8.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r6.xyzw + umax r6.xyzw, r7.xyzw, r9.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r6.xyzw +endif +if_nz r3.w + ld_structured r4.xyzw, r0.y, l(36), g0.xyzw + ld_structured r5.xyzw, r0.y, l(52), g0.xyzw +endif +if_nz r2.x + ld_structured r6.xyzw, vThreadIDInGroupFlattened.x, l(0), g0.xyzw + ushr r3.z, icb[r1.y + 0].x, r0.z + and r3.z, r3.z, l(1) + ishl r7.x, r0.z, l(1) + ushr r7.x, icb[r1.w + 0].y, r7.x + and r7.x, r7.x, l(3) + ieq r8.xyzw, r0.wwww, l(0, 2, 1, 3) + movc r9.xyzw, r7.xxxx, l(-1,-1,-1,-1), r6.xyzw + movc r7.xyzw, r7.xxxx, l(0,0,0,0), r6.xyzw + or r8.xy, r8.ywyy, r8.xzxx + ieq r10.xyzw, r0.wwww, l(7, 4, 5, 6) + or r8.y, r8.y, r10.x + movc r11.xyzw, r3.zzzz, l(-1,-1,-1,-1), r6.xyzw + movc r12.xyzw, r3.zzzz, l(0,0,0,0), r6.xyzw + or r3.z, r10.z, r10.y + or r3.z, r10.w, r3.z + movc r10.xyzw, r3.zzzz, r6.xyzw, l(-1,-1,-1,-1) + and r6.xyzw, r6.xyzw, r3.zzzz + movc r10.xyzw, r8.yyyy, r11.xyzw, r10.xyzw + movc r6.xyzw, r8.yyyy, r12.xyzw, r6.xyzw + movc r9.xyzw, r8.xxxx, r9.xyzw, r10.xyzw + movc r6.xyzw, r8.xxxx, r7.xyzw, r6.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r9.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r6.xyzw +endif +if_nz r2.y + ld_structured r6.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r7.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r2.y, vThreadIDInGroupFlattened.x, l(8) + ld_structured r8.xyzw, r2.y, l(36), g0.xyzw + ld_structured r9.xyzw, r2.y, l(52), g0.xyzw + umin r6.xyzw, r6.xyzw, r8.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r6.xyzw + umax r6.xyzw, r7.xyzw, r9.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r6.xyzw +endif +if_nz r2.z + ld_structured r6.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r7.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r2.y, vThreadIDInGroupFlattened.x, l(4) + ld_structured r8.xyzw, r2.y, l(36), g0.xyzw + ld_structured r9.xyzw, r2.y, l(52), g0.xyzw + umin r6.xyzw, r6.xyzw, r8.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r6.xyzw + umax r6.xyzw, r7.xyzw, r9.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r6.xyzw +endif +if_nz r2.w + ld_structured r6.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r7.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r2.y, vThreadIDInGroupFlattened.x, l(2) + ld_structured r8.xyzw, r2.y, l(36), g0.xyzw + ld_structured r9.xyzw, r2.y, l(52), g0.xyzw + umin r6.xyzw, r6.xyzw, r8.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r6.xyzw + umax r6.xyzw, r7.xyzw, r9.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r6.xyzw +endif +if_nz r3.x + ld_structured r6.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r7.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r2.y, vThreadIDInGroupFlattened.x, l(1) + ld_structured r8.xyzw, r2.y, l(36), g0.xyzw + ld_structured r9.xyzw, r2.y, l(52), g0.xyzw + umin r6.xyzw, r6.xyzw, r8.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r6.xyzw + umax r6.xyzw, r7.xyzw, r9.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r6.xyzw +endif +if_z r0.z + ld_structured r4.xyzw, r0.y, l(36), g0.xyzw + ld_structured r5.xyzw, r0.y, l(52), g0.xyzw +endif +if_nz r3.y + ieq r2.yzw, r0.wwww, l(0, 1, 4, 5) + ushr r3.x, r1.z, r0.z + and r3.x, r3.x, l(1) + ishl r3.y, r0.z, l(1) + ushr r6.x, r1.z, r3.y + iadd r3.y, r3.y, l(1) + ushr r6.y, r1.z, r3.y + and r3.yz, r6.xxyx, l(0, 1, 1, 0) + movc r3.xy, r2.yyyy, r3.xxxx, r3.yzyy + if_z r0.w + iadd r6.xyz, r4.xyzx, l(4, 4, 4, 0) + umin r6.xyz, r6.xyzx, l(255, 255, 255, 0) + ushr r6.xyz, r6.xyzx, l(3) + and r6.xyz, r6.xyzx, l(30, 30, 30, 0) + iadd r6.xyz, r3.xxxx, r6.xyzx + ishl r6.xyz, r6.xyzx, l(3) + ushr r7.xyz, r6.xyzx, l(5) + iadd r7.xyz, r6.xyzx, r7.xyzx + iadd r8.xyz, r5.xyzx, l(4, 4, 4, 0) + umin r8.xyz, r8.xyzx, l(255, 255, 255, 0) + ushr r8.xyz, r8.xyzx, l(3) + and r8.xyz, r8.xyzx, l(30, 30, 30, 0) + iadd r8.xyz, r3.yyyy, r8.xyzx + ishl r8.xyz, r8.xyzx, l(3) + ushr r9.xyz, r8.xyzx, l(5) + iadd r5.xyz, r8.xyzx, r9.xyzx + mov r5.w, l(255) + mov r4.xyw, l(255,2040,0,2040) + else + if_nz r2.y + iadd r9.xyz, r4.xyzx, l(1, 1, 1, 0) + umin r9.xyz, r9.xyzx, l(255, 255, 255, 0) + ushr r9.xyz, r9.xyzx, l(1) + and r9.xyz, r9.xyzx, l(126, 126, 126, 0) + iadd r9.xyz, r3.xxxx, r9.xyzx + ishl r6.xyz, r9.xyzx, l(1) + ushr r9.xyz, r6.xyzx, l(7) + iadd r7.xyz, r6.xyzx, r9.xyzx + iadd r9.xyz, r5.xyzx, l(1, 1, 1, 0) + umin r9.xyz, r9.xyzx, l(255, 255, 255, 0) + ushr r9.xyz, r9.xyzx, l(1) + and r9.xyz, r9.xyzx, l(126, 126, 126, 0) + iadd r9.xyz, r3.yyyy, r9.xyzx + ishl r8.xyz, r9.xyzx, l(1) + ushr r9.xyz, r8.xyzx, l(7) + iadd r5.xyz, r8.xyzx, r9.xyzx + mov r5.w, l(255) + mov r4.xyw, l(255,510,0,510) + else + ieq r2.y, r0.w, l(2) + if_nz r2.y + iadd r9.xyz, r4.xyzx, l(4, 4, 4, 0) + umin r9.xyz, r9.xyzx, l(255, 255, 255, 0) + and r6.xyz, r9.xyzx, l(248, 248, 248, 0) + ushr r9.xyz, r9.xyzx, l(5) + iadd r7.xyz, r6.xyzx, r9.xyzx + iadd r9.xyz, r5.xyzx, l(4, 4, 4, 0) + umin r9.xyz, r9.xyzx, l(255, 255, 255, 0) + and r8.xyz, r9.xyzx, l(248, 248, 248, 0) + ushr r9.xyz, r9.xyzx, l(5) + iadd r5.xyz, r8.xyzx, r9.xyzx + mov r5.w, l(255) + mov r4.xyw, l(255,2040,0,2040) + else + ieq r2.y, r0.w, l(3) + if_nz r2.y + and r9.xyz, r4.xyzx, l(-2, -2, -2, 0) + iadd r6.xyz, r3.xxxx, r9.xyzx + and r9.xyz, r5.xyzx, l(-2, -2, -2, 0) + iadd r8.xyz, r3.yyyy, r9.xyzx + mov r7.xyz, r6.xyzx + mov r5.xyz, r8.xyzx + mov r5.w, l(255) + mov r4.xyw, l(255,255,0,255) + else + ieq r2.y, r0.w, l(4) + if_nz r2.y + iadd r9.xyzw, r4.xyzw, l(4, 4, 4, 2) + umin r9.xyzw, r9.xyzw, l(255, 255, 255, 255) + and r6.xyzw, r9.xyzw, l(248, 248, 248, 252) + ushr r10.xyz, r9.xyzx, l(5) + ushr r10.w, r9.w, l(6) + iadd r7.xyzw, r6.xyzw, r10.xyzw + iadd r9.xyzw, r5.xyzw, l(4, 4, 4, 2) + umin r9.xyzw, r9.xyzw, l(255, 255, 255, 255) + and r4.xyzw, r9.xwzy, l(248, 252, 248, 248) + ushr r10.xyz, r9.xyzx, l(5) + ushr r10.w, r9.w, l(6) + iadd r5.xyzw, r4.xwzy, r10.xyzw + mov r8.xyz, r4.xwzx + mov r4.x, r7.w + mov r4.w, r6.w + else + ieq r2.y, r0.w, l(5) + if_nz r2.y + iadd r9.xyz, r4.xyzx, l(1, 1, 1, 0) + umin r9.xyz, r9.xyzx, l(255, 255, 255, 0) + and r6.xyz, r9.xyzx, l(254, 254, 254, 0) + ushr r9.xyz, r9.xyzx, l(7) + iadd r7.xyz, r6.xyzx, r9.xyzx + iadd r9.xyz, r5.xyzx, l(1, 1, 1, 0) + umin r9.xyz, r9.xyzx, l(255, 255, 255, 0) + and r8.xyz, r9.xyzx, l(254, 254, 254, 0) + ushr r9.xyz, r9.xyzx, l(7) + iadd r5.xyz, r8.xyzx, r9.xyzx + mov r4.x, r4.w + mov r4.y, r5.w + else + ieq r2.y, r0.w, l(6) + if_nz r2.y + and r9.xyzw, r4.xyzw, l(-2, -2, -2, -2) + iadd r6.xyzw, r3.xxxx, r9.xyzw + and r9.xyzw, r5.xyzw, l(-2, -2, -2, -2) + iadd r4.xyzw, r3.yyyy, r9.xwzy + mov r7.xyz, r6.xyzx + mov r5.xyzw, r4.xwzy + mov r8.xyz, r4.xwzx + mov r4.xw, r6.wwww + else + iadd r9.xyzw, r4.xyzw, l(2, 2, 2, 2) + umin r9.xyzw, r9.xyzw, l(255, 255, 255, 255) + ushr r9.xyzw, r9.xyzw, l(2) + and r9.xyzw, r9.xyzw, l(62, 62, 62, 62) + iadd r9.xyzw, r3.xxxx, r9.xyzw + ishl r6.xyzw, r9.xyzw, l(2) + ushr r10.xyzw, r6.xyzw, l(6) + iadd r4.xyzw, r6.wxzy, r10.wxzy + iadd r10.xyzw, r5.xyzw, l(2, 2, 2, 2) + umin r10.xyzw, r10.xyzw, l(255, 255, 255, 255) + ushr r10.xyzw, r10.xyzw, l(2) + and r10.xyzw, r10.xyzw, l(62, 62, 62, 62) + iadd r10.xyzw, r3.yyyy, r10.xwyz + ishl r8.xyzw, r10.xzwy, l(2) + ushr r11.xyzw, r8.xyzw, l(6) + iadd r5.xyzw, r8.xyzw, r11.xyzw + mov r10.x, r9.w + ishl r3.xy, r10.xyxx, l(2) + mov r7.xyz, r4.ywzy + mov r4.yw, r3.yyyx + endif + endif + endif + endif + endif + endif + endif + ineg r9.xyz, r7.xyzx + ineg r9.w, r4.x + iadd r10.xyzw, r5.xyzw, r9.xyzw + ult r2.y, r0.w, l(4) + movc r2.y, r2.y, l(0), r10.w + or r2.z, r2.w, r2.z + if_nz r2.z + if_z r0.z + imul null, r2.zw, r10.xxxy, r10.xxxy + iadd r2.z, r2.w, r2.z + imad r2.z, r10.z, r10.z, r2.z + imul null, r2.w, r2.y, r2.y + ld_structured r11.xyzw, r0.y, l(0), g0.xyzw + iadd r3.xyz, -r7.xyzx, r11.xyzx + imul null, r3.xy, r3.xyxx, r10.xyxx + iadd r3.x, r3.y, r3.x + imad r3.x, r10.z, r3.z, r3.x + iadd r3.y, -r4.x, r11.w + imul null, r3.y, r2.y, r3.y + ilt r3.z, l(0), r2.z + ilt r10.w, l(0), r3.x + and r3.z, r3.z, r10.w + itof r3.x, r3.x + mul r3.x, r3.x, l(63.499989) + ftou r3.x, r3.x + ishl r2.z, r2.z, l(5) + ult r2.z, r2.z, r3.x + and r2.z, r2.z, r3.z + movc r11.xyz, r2.zzzz, r5.xyzx, r7.xyzx + movc r5.xyz, r2.zzzz, r7.xyzx, r5.xyzx + movc r12.xyz, r2.zzzz, r8.xyzx, r6.xyzx + movc r8.xyz, r2.zzzz, r6.xyzx, r8.xyzx + ilt r2.z, l(0), r2.w + ilt r3.x, l(0), r3.y + and r2.z, r2.z, r3.x + itof r3.x, r3.y + mul r3.x, r3.x, l(63.499989) + ftou r3.x, r3.x + ishl r2.w, r2.w, l(5) + ult r2.w, r2.w, r3.x + and r2.z, r2.w, r2.z + mov r4.z, r5.w + movc r13.xyzw, r2.zzzz, r4.zxyw, r4.xzwy + mov r11.w, r13.x + mov r5.w, r13.y + mov r12.w, r13.z + mov r6.xyzw, r12.xyzw + mov r8.w, r13.w + else + mov r7.w, r4.x + mov r11.xyzw, r7.xyzw + mov r6.w, r4.w + mov r8.w, r4.y + endif + else + if_z r0.z + mov r2.z, l(0) + else + if_nz r3.w + mov r2.z, icb[r1.y + 0].z + else + mov r2.z, icb[r1.y + 0].w + endif + endif + imul null, r3.xy, r10.xyxx, r10.xyxx + iadd r2.w, r3.y, r3.x + imad r2.w, r10.z, r10.z, r2.w + imad r2.w, r2.y, r2.y, r2.w + iadd r2.z, r0.y, r2.z + ld_structured r3.xyzw, r2.z, l(0), g0.xyzw + iadd r3.xyzw, r9.xyzw, r3.xyzw + imul null, r3.xy, r3.xyxx, r10.xyxx + iadd r2.z, r3.y, r3.x + imad r2.z, r10.z, r3.z, r2.z + imad r2.y, r2.y, r3.w, r2.z + ilt r2.z, l(0), r2.w + ilt r3.x, l(0), r2.y + and r2.z, r2.z, r3.x + itof r2.y, r2.y + mul r2.y, r2.y, l(63.499989) + ftou r2.y, r2.y + ishl r2.w, r2.w, l(5) + ult r2.y, r2.w, r2.y + and r2.y, r2.y, r2.z + mov r7.w, r4.x + movc r11.xyzw, r2.yyyy, r5.xyzw, r7.xyzw + movc r5.xyzw, r2.yyyy, r7.xyzw, r5.xyzw + mov r8.w, r4.y + mov r4.xyz, r6.xyzx + movc r6.xyzw, r2.yyyy, r8.xyzw, r4.xyzw + movc r8.xyzw, r2.yyyy, r4.xyzw, r8.xyzw + endif + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r11.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r5.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(68), r6.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(84), r8.xyzw +endif +if_nz r2.x + ieq r2.xyzw, r0.wwww, l(0, 1, 6, 4) + or r3.x, r2.y, r2.x + movc r3.yz, r1.xxxx, l(0,1,2,0), l(0,2,1,0) + movc r3.yz, r2.wwww, r3.yyzy, l(0,2,2,0) + movc r3.yz, r2.zzzz, l(0,0,0,0), r3.yyzy + movc r3.xy, r3.xxxx, l(1,1,0,0), r3.yzyy + ieq r4.xyzw, r0.wwww, l(2, 3, 7, 5) + ishl r2.z, r0.z, l(1) + ushr r1.w, icb[r1.w + 0].y, r2.z + and r1.w, r1.w, l(3) + or r2.xyz, r2.xywx, r4.xywx + or r2.y, r4.z, r2.y + ushr r2.w, icb[r1.y + 0].x, r0.z + and r2.y, r2.y, r2.w + and r2.y, r2.y, l(1) + movc r1.w, r2.x, r1.w, r2.y + iadd r1.w, r0.y, r1.w + ld_structured r4.xyzw, r1.w, l(36), g0.xyzw + ld_structured r5.xyzw, r1.w, l(52), g0.xyzw + iadd r5.xyzw, -r4.xyzw, r5.xyzw + ult r1.w, r0.w, l(4) + movc r1.w, r1.w, l(0), r5.w + if_nz r2.z + imul null, r2.xy, r5.xyxx, r5.xyxx + iadd r2.x, r2.y, r2.x + imad r2.x, r5.z, r5.z, r2.x + imul null, r2.y, r1.w, r1.w + ld_structured r6.xyzw, vThreadIDInGroupFlattened.x, l(0), g0.xyzw + iadd r7.xyzw, -r4.xyzw, r6.xyzw + imul null, r2.zw, r5.xxxy, r7.xxxy + iadd r2.z, r2.w, r2.z + imad r2.z, r5.z, r7.z, r2.z + ige r2.w, l(0), r2.x + ige r3.z, l(0), r2.z + or r2.w, r2.w, r3.z + ilt r3.z, r2.z, r2.x + itof r2.xz, r2.xxzx + mul r2.z, r2.z, l(63.499989) + div r2.x, r2.z, r2.x + ftou r2.x, r2.x + ishl r3.yw, r3.xxxy, l(6) + iadd r2.x, r2.x, r3.y + iadd r6.xy, r3.ywyy, l(11, 11, 0, 0) + udiv null, r6.xy, r6.xyxx, l(68, 68, 0, 0) + ult r7.xy, r3.ywyy, l(1, 1, 0, 0) + movc r6.xy, r7.xyxx, l(15,15,0,0), r6.xyxx + movc r2.x, r3.z, icb[r2.x + 64].x, r6.x + movc r7.y, r2.w, l(0), r2.x + imul null, r2.x, r1.w, r7.w + ige r2.zw, l(0, 0, 0, 0), r2.yyyx + or r2.z, r2.w, r2.z + ilt r2.w, r2.x, r2.y + itof r2.xy, r2.xyxx + mul r2.x, r2.x, l(63.499989) + div r2.x, r2.x, r2.y + ftou r2.x, r2.x + iadd r2.x, r2.x, r3.w + movc r2.x, r2.w, icb[r2.x + 64].x, r6.y + movc r7.x, r2.z, l(0), r2.x + movc r2.xy, r1.xxxx, r7.xyxx, r7.yxyy + else + imul null, r2.zw, r5.xxxy, r5.xxxy + iadd r2.z, r2.w, r2.z + imad r2.z, r5.z, r5.z, r2.z + imad r2.z, r1.w, r1.w, r2.z + ld_structured r6.xyzw, vThreadIDInGroupFlattened.x, l(0), g0.xyzw + iadd r4.xyzw, -r4.xyzw, r6.xyzw + imul null, r3.yz, r4.xxyx, r5.xxyx + iadd r2.w, r3.z, r3.y + imad r2.w, r5.z, r4.z, r2.w + imad r1.w, r1.w, r4.w, r2.w + ige r2.w, l(0), r2.z + ige r3.y, l(0), r1.w + or r2.w, r2.w, r3.y + ilt r3.y, r1.w, r2.z + itof r1.w, r1.w + mul r1.w, r1.w, l(63.499989) + itof r2.z, r2.z + div r1.w, r1.w, r2.z + ftou r1.w, r1.w + ishl r2.z, r3.x, l(6) + iadd r1.w, r1.w, r2.z + iadd r3.x, r2.z, l(11) + udiv null, r3.x, r3.x, l(68) + ult r2.z, r2.z, l(1) + movc r2.z, r2.z, l(15), r3.x + movc r1.w, r3.y, icb[r1.w + 64].x, r2.z + movc r2.x, r2.w, l(0), r1.w + mov r2.y, l(0) + endif + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(16), r2.xyxx +endif +if_z r0.z + if_z r0.w + ishl r0.z, r1.y, l(1) + iadd r0.z, r0.z, l(-128) + iadd r0.z, r0.z, l(1) + ld_structured r2.xyz, r0.y, l(68), g0.xyzx + ishl r3.x, r2.x, l(1) + ishl r3.y, r2.y, l(25) + ishl r3.z, r2.z, l(17) + and r3.xyz, r3.xyzx, l(480, 0xe0000000, 0x01e00000, 0) + or r0.z, r0.z, r3.x + ld_structured r4.xyz, r0.y, l(84), g0.xyzx + ishl r5.x, r4.x, l(5) + ishl r5.y, r4.z, l(21) + and r2.xw, r5.xxxy, l(7680, 0, 0, 0x1e000000) + or r0.z, r0.z, r2.x + iadd r3.xw, r0.yyyy, l(1, 0, 0, 2) + ld_structured r5.xyz, r3.x, l(68), g0.xyzx + ishl r6.x, r5.x, l(9) + ishl r6.y, r5.y, l(1) + ishl r6.z, r5.z, l(25) + and r6.xyz, r6.xyzx, l(0x0001e000, 480, 0xe0000000, 0) + or r0.z, r0.z, r6.x + ld_structured r7.xyz, r3.x, l(84), g0.xyzx + ishl r8.x, r7.x, l(13) + ishl r8.y, r7.y, l(5) + and r4.xw, r8.xxxy, l(0x001e0000, 0, 0, 7680) + or r0.z, r0.z, r4.x + ld_structured r8.xyz, r3.w, l(68), g0.xyzx + ishl r9.x, r8.x, l(17) + ishl r9.y, r8.y, l(9) + ishl r9.z, r8.z, l(1) + and r9.xyz, r9.xyzx, l(0x01e00000, 0x0001e000, 480, 0) + or r0.z, r0.z, r9.x + ld_structured r10.xyz, r3.w, l(84), g0.xyzx + ishl r11.x, r10.x, l(21) + ishl r11.y, r10.y, l(13) + ishl r11.z, r10.z, l(5) + and r11.xyz, r11.xyzx, l(0x1e000000, 0x001e0000, 7680, 0) + or r0.z, r0.z, r11.x + or r12.x, r3.y, r0.z + ld_structured r13.xy, r0.y, l(68), g0.xyxx + ushr r0.z, r13.y, l(7) + and r0.z, r0.z, l(1) + ushr r1.w, r4.y, l(3) + and r1.w, r1.w, l(30) + iadd r0.z, r0.z, r1.w + iadd r0.z, r6.y, r0.z + iadd r0.z, r4.w, r0.z + iadd r0.z, r9.y, r0.z + iadd r0.z, r11.y, r0.z + iadd r0.z, r3.z, r0.z + iadd r0.z, r2.w, r0.z + iadd r12.y, r6.z, r0.z + ld_structured r2.x, r3.x, l(76), g0.xxxx + ushr r0.z, r2.x, l(7) + and r0.z, r0.z, l(1) + ushr r1.w, r7.z, l(3) + and r1.w, r1.w, l(30) + iadd r0.z, r0.z, r1.w + iadd r0.z, r9.z, r0.z + iadd r0.z, r11.z, r0.z + ishl r1.w, r13.x, l(10) + and r1.w, r1.w, l(8192) + iadd r0.z, r0.z, r1.w + ld_structured r2.x, r0.y, l(84), g0.xxxx + ishl r1.w, r2.x, l(11) + and r1.w, r1.w, l(0x00004000) + iadd r0.z, r0.z, r1.w + ld_structured r2.x, r3.x, l(68), g0.xxxx + ishl r1.w, r2.x, l(12) + and r1.w, r1.w, l(0x00008000) + iadd r0.z, r0.z, r1.w + ld_structured r2.x, r3.x, l(84), g0.xxxx + ishl r1.w, r2.x, l(13) + and r1.w, r1.w, l(0x00010000) + iadd r0.z, r0.z, r1.w + ld_structured r2.x, r3.w, l(68), g0.xxxx + ishl r1.w, r2.x, l(14) + and r1.w, r1.w, l(0x00020000) + iadd r0.z, r0.z, r1.w + ld_structured r2.x, r3.w, l(84), g0.xxxx + ishl r1.w, r2.x, l(15) + and r1.w, r1.w, l(0x00040000) + iadd r0.z, r0.z, r1.w + ld_structured r2.x, r0.y, l(16), g0.xxxx + ishl r1.w, r2.x, l(19) + iadd r0.z, r0.z, r1.w + umin r1.w, l(4), icb[r1.y + 128].y + mov r12.z, r0.z + mov r2.x, l(1) + loop + ult r2.y, r1.w, r2.x + breakc_nz r2.y + iadd r2.y, r0.y, r2.x + ld_structured r3.x, r2.y, l(16), g0.xxxx + imad r2.y, r2.x, l(3), l(18) + ishl r2.y, r3.x, r2.y + or r12.z, r2.y, r12.z + iadd r2.x, r2.x, l(1) + endloop + ult r0.z, icb[r1.y + 128].y, l(4) + if_nz r0.z + iadd r0.z, r0.y, l(4) + ld_structured r3.x, r0.z, l(16), g0.xxxx + ishl r0.z, r3.x, l(29) + or r12.z, r0.z, r12.z + iadd r2.z, r2.x, l(1) + mov r2.y, l(0) + else + iadd r0.z, r0.y, l(4) + ld_structured r3.x, r0.z, l(16), g0.xxxx + ushr r0.z, r3.x, l(2) + and r0.z, r0.z, l(1) + mov r2.y, r0.z + mov r2.z, r2.x + loop + ult r1.w, icb[r1.y + 128].y, r2.z + breakc_nz r1.w + iadd r1.w, r0.y, r2.z + ld_structured r3.x, r1.w, l(16), g0.xxxx + imad r1.w, r2.z, l(3), l(-14) + ishl r1.w, r3.x, r1.w + or r2.y, r1.w, r2.y + iadd r2.z, r2.z, l(1) + endloop + endif + mov r0.z, r2.y + mov r1.w, r2.z + loop + ult r2.x, icb[r1.y + 128].z, r1.w + breakc_nz r2.x + iadd r2.x, r0.y, r1.w + ld_structured r3.x, r2.x, l(16), g0.xxxx + imad r2.x, r1.w, l(3), l(-15) + ishl r2.x, r3.x, r2.x + or r0.z, r0.z, r2.x + iadd r1.w, r1.w, l(1) + endloop + mov r12.w, r0.z + mov r2.x, r1.w + loop + uge r2.y, r2.x, l(16) + breakc_nz r2.y + iadd r2.y, r0.y, r2.x + ld_structured r3.x, r2.y, l(16), g0.xxxx + imad r2.y, r2.x, l(3), l(-16) + ishl r2.y, r3.x, r2.y + or r12.w, r2.y, r12.w + iadd r2.x, r2.x, l(1) + endloop + else + ieq r0.z, r0.w, l(1) + if_nz r0.z + ishl r0.z, r1.y, l(2) + iadd r0.z, r0.z, l(2) + ld_structured r2.xyz, r0.y, l(68), g0.xyzx + ishl r3.x, r2.x, l(6) + ishl r3.y, r2.z, l(22) + and r2.xz, r3.xxyx, l(0x00003f00, 0, 0x3f000000, 0) + or r0.z, r0.z, r2.x + ld_structured r3.xyz, r0.y, l(84), g0.xyzx + ishl r4.x, r3.x, l(12) + ishl r4.y, r3.y, l(4) + ishl r4.z, r3.z, l(28) + and r3.xyz, r4.xyzx, l(0x000fc000, 4032, 0xc0000000, 0) + or r0.z, r0.z, r3.x + iadd r1.w, r0.y, l(1) + ld_structured r4.xyz, r1.w, l(68), g0.xyzx + ishl r5.x, r4.x, l(18) + ishl r5.y, r4.y, l(10) + ishl r5.z, r4.z, l(2) + and r4.xyz, r5.xyzx, l(0x03f00000, 0x0003f000, 1008, 0) + or r0.z, r0.z, r4.x + ld_structured r5.xyz, r1.w, l(84), g0.xyzx + ishl r6.x, r5.x, l(24) + ishl r6.y, r5.y, l(16) + ishl r6.z, r5.z, l(8) + and r5.xyz, r6.xyzx, l(0xfc000000, 0x00fc0000, 0x0000fc00, 0) + or r12.x, r0.z, r5.x + ushr r0.z, r2.y, l(2) + and r0.z, r0.z, l(63) + iadd r0.z, r3.y, r0.z + iadd r0.z, r4.y, r0.z + iadd r0.z, r5.y, r0.z + iadd r0.z, r2.z, r0.z + iadd r12.y, r3.z, r0.z + ld_structured r2.x, r0.y, l(92), g0.xxxx + ushr r0.z, r2.x, l(4) + and r0.z, r0.z, l(15) + iadd r0.z, r4.z, r0.z + iadd r0.z, r5.z, r0.z + ld_structured r2.x, r0.y, l(68), g0.xxxx + ishl r2.x, r2.x, l(15) + and r2.x, r2.x, l(0x00010000) + iadd r0.z, r0.z, r2.x + ld_structured r2.x, r1.w, l(68), g0.xxxx + ishl r2.x, r2.x, l(16) + and r2.x, r2.x, l(0x00020000) + iadd r0.z, r0.z, r2.x + ld_structured r2.x, r0.y, l(16), g0.xxxx + ishl r2.x, r2.x, l(18) + iadd r0.z, r0.z, r2.x + ieq r2.y, l(15), icb[r1.y + 128].y + if_nz r2.y + iadd r3.xyzw, r0.yyyy, l(15, 14, 13, 12) + ld_structured r4.x, r3.x, l(16), g0.xxxx + ishl r2.y, r4.x, l(30) + ld_structured r4.x, r3.y, l(16), g0.xxxx + ishl r2.z, r4.x, l(27) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.z, l(16), g0.xxxx + ishl r2.z, r4.x, l(24) + or r2.y, r2.z, r2.y + ld_structured r3.x, r3.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(21) + or r2.y, r2.z, r2.y + iadd r3.xyzw, r0.yyyy, l(11, 10, 9, 8) + ld_structured r4.x, r3.x, l(16), g0.xxxx + ishl r2.z, r4.x, l(18) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.y, l(16), g0.xxxx + ishl r2.z, r4.x, l(15) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.z, l(16), g0.xxxx + ishl r2.z, r4.x, l(12) + or r2.y, r2.z, r2.y + ld_structured r3.x, r3.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(9) + or r2.y, r2.z, r2.y + iadd r3.xyzw, r0.yyyy, l(7, 6, 5, 4) + ld_structured r4.x, r3.x, l(16), g0.xxxx + ishl r2.z, r4.x, l(6) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.y, l(16), g0.xxxx + ishl r2.z, r4.x, l(3) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.z, l(16), g0.xxxx + or r12.w, r2.y, r4.x + ld_structured r3.x, r3.w, l(16), g0.xxxx + ishl r2.y, r3.x, l(29) + iadd r2.zw, r0.yyyy, l(0, 0, 3, 2) + ld_structured r3.x, r2.z, l(16), g0.xxxx + ishl r2.z, r3.x, l(26) + or r2.y, r2.z, r2.y + ld_structured r3.x, r2.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(23) + or r2.y, r2.z, r2.y + ld_structured r3.x, r1.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(20) + or r2.y, r2.z, r2.y + or r2.y, r2.x, r2.y + or r12.z, r0.z, r2.y + else + ieq r2.y, l(2), icb[r1.y + 128].y + if_nz r2.y + iadd r3.xyzw, r0.yyyy, l(15, 14, 13, 12) + ld_structured r4.x, r3.x, l(16), g0.xxxx + ishl r2.y, r4.x, l(29) + ld_structured r4.x, r3.y, l(16), g0.xxxx + ishl r2.z, r4.x, l(26) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.z, l(16), g0.xxxx + ishl r2.z, r4.x, l(23) + or r2.y, r2.z, r2.y + ld_structured r3.x, r3.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(20) + or r2.y, r2.z, r2.y + iadd r3.xyzw, r0.yyyy, l(11, 10, 9, 8) + ld_structured r4.x, r3.x, l(16), g0.xxxx + ishl r2.z, r4.x, l(17) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.y, l(16), g0.xxxx + ishl r2.z, r4.x, l(14) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.z, l(16), g0.xxxx + ishl r2.z, r4.x, l(11) + or r2.y, r2.z, r2.y + ld_structured r3.x, r3.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(8) + or r2.y, r2.z, r2.y + iadd r3.xyzw, r0.yyyy, l(7, 6, 5, 4) + ld_structured r4.x, r3.x, l(16), g0.xxxx + ishl r2.z, r4.x, l(5) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.y, l(16), g0.xxxx + ishl r2.z, r4.x, l(2) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.z, l(16), g0.xxxx + ushr r2.z, r4.x, l(1) + or r12.w, r2.z, r2.y + ishl r2.y, r4.x, l(31) + ld_structured r3.x, r3.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(28) + or r2.y, r2.z, r2.y + iadd r2.zw, r0.yyyy, l(0, 0, 3, 2) + ld_structured r3.x, r2.z, l(16), g0.xxxx + ishl r2.z, r3.x, l(25) + or r2.y, r2.z, r2.y + ld_structured r3.x, r2.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(23) + or r2.y, r2.z, r2.y + ld_structured r3.x, r1.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(20) + or r2.y, r2.z, r2.y + or r2.y, r2.x, r2.y + or r12.z, r0.z, r2.y + else + ieq r2.y, l(8), icb[r1.y + 128].y + if_nz r2.y + iadd r3.xyzw, r0.yyyy, l(15, 14, 13, 12) + ld_structured r4.x, r3.x, l(16), g0.xxxx + ishl r2.y, r4.x, l(29) + ld_structured r4.x, r3.y, l(16), g0.xxxx + ishl r2.z, r4.x, l(26) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.z, l(16), g0.xxxx + ishl r2.z, r4.x, l(23) + or r2.y, r2.z, r2.y + ld_structured r3.x, r3.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(20) + or r2.y, r2.z, r2.y + iadd r3.xyzw, r0.yyyy, l(11, 10, 9, 8) + ld_structured r4.x, r3.x, l(16), g0.xxxx + ishl r2.z, r4.x, l(17) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.y, l(16), g0.xxxx + ishl r2.z, r4.x, l(14) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.z, l(16), g0.xxxx + ishl r2.z, r4.x, l(11) + or r2.y, r2.z, r2.y + ld_structured r3.x, r3.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(9) + or r2.y, r2.z, r2.y + iadd r3.xyzw, r0.yyyy, l(7, 6, 5, 4) + ld_structured r4.x, r3.x, l(16), g0.xxxx + ishl r2.z, r4.x, l(6) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.y, l(16), g0.xxxx + ishl r2.z, r4.x, l(3) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.z, l(16), g0.xxxx + or r12.w, r2.y, r4.x + ld_structured r3.x, r3.w, l(16), g0.xxxx + ishl r2.y, r3.x, l(29) + iadd r2.zw, r0.yyyy, l(0, 0, 3, 2) + ld_structured r3.x, r2.z, l(16), g0.xxxx + ishl r2.z, r3.x, l(26) + or r2.y, r2.z, r2.y + ld_structured r3.x, r2.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(23) + or r2.y, r2.z, r2.y + ld_structured r3.x, r1.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(20) + or r2.y, r2.z, r2.y + or r2.y, r2.x, r2.y + or r12.z, r0.z, r2.y + else + iadd r3.xyzw, r0.yyyy, l(15, 14, 13, 12) + ld_structured r4.x, r3.x, l(16), g0.xxxx + ishl r2.y, r4.x, l(29) + ld_structured r4.x, r3.y, l(16), g0.xxxx + ishl r2.z, r4.x, l(26) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.z, l(16), g0.xxxx + ishl r2.z, r4.x, l(23) + or r2.y, r2.z, r2.y + ld_structured r3.x, r3.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(20) + or r2.y, r2.z, r2.y + iadd r3.xyzw, r0.yyyy, l(11, 10, 9, 8) + ld_structured r4.x, r3.x, l(16), g0.xxxx + ishl r2.z, r4.x, l(17) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.y, l(16), g0.xxxx + ishl r2.z, r4.x, l(14) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.z, l(16), g0.xxxx + ishl r2.z, r4.x, l(11) + or r2.y, r2.z, r2.y + ld_structured r3.x, r3.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(8) + or r2.y, r2.z, r2.y + iadd r3.xyzw, r0.yyyy, l(7, 6, 5, 4) + ld_structured r4.x, r3.x, l(16), g0.xxxx + ishl r2.z, r4.x, l(6) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.y, l(16), g0.xxxx + ishl r2.z, r4.x, l(4) + or r2.y, r2.z, r2.y + ld_structured r4.x, r3.z, l(16), g0.xxxx + or r12.w, r2.y, r4.x + ld_structured r3.x, r3.w, l(16), g0.xxxx + ishl r2.y, r3.x, l(29) + iadd r2.zw, r0.yyyy, l(0, 0, 3, 2) + ld_structured r3.x, r2.z, l(16), g0.xxxx + ishl r2.z, r3.x, l(26) + or r2.y, r2.z, r2.y + ld_structured r3.x, r2.w, l(16), g0.xxxx + ishl r2.z, r3.x, l(23) + or r2.y, r2.z, r2.y + ld_structured r3.x, r1.w, l(16), g0.xxxx + ishl r1.w, r3.x, l(20) + or r1.w, r1.w, r2.y + or r1.w, r2.x, r1.w + or r12.z, r0.z, r1.w + endif + endif + endif + else + ieq r0.z, r0.w, l(2) + if_nz r0.z + ishl r0.z, r1.y, l(3) + iadd r0.z, r0.z, l(-512) + iadd r0.z, r0.z, l(4) + ld_structured r2.xyz, r0.y, l(68), g0.xyzx + ishl r3.x, r2.x, l(6) + ishl r3.y, r2.y, l(4) + ishl r3.z, r2.z, l(2) + and r3.xyz, r3.xyzx, l(0x00003e00, 3968, 992, 0) + or r0.z, r0.z, r3.x + ld_structured r4.xyz, r0.y, l(84), g0.xyzx + ishl r5.x, r4.x, l(11) + ishl r5.y, r4.y, l(9) + ishl r5.z, r4.z, l(7) + and r5.xyz, r5.xyzx, l(0x0007c000, 0x0001f000, 0x00007c00, 0) + or r0.z, r0.z, r5.x + iadd r2.xw, r0.yyyy, l(1, 0, 0, 2) + ld_structured r6.xyz, r2.x, l(68), g0.xyzx + ishl r7.x, r6.x, l(16) + ishl r7.y, r6.y, l(14) + ishl r7.z, r6.z, l(12) + and r7.xyz, r7.xyzx, l(0x00f80000, 0x003e0000, 0x000f8000, 0) + or r0.z, r0.z, r7.x + ld_structured r8.xyz, r2.x, l(84), g0.xyzx + ishl r9.x, r8.x, l(21) + ishl r9.y, r8.y, l(19) + ishl r9.z, r8.z, l(17) + and r9.xyz, r9.xyzx, l(0x1f000000, 0x07c00000, 0x01f00000, 0) + or r0.z, r0.z, r9.x + ld_structured r10.xyz, r2.w, l(68), g0.xyzx + ishl r11.x, r10.x, l(26) + ishl r11.y, r10.y, l(24) + ishl r11.z, r10.z, l(22) + and r11.xyz, r11.xyzx, l(0xe0000000, 0xf8000000, 0x3e000000, 0) + or r12.x, r0.z, r11.x + ld_structured r13.x, r2.w, l(68), g0.xxxx + ushr r0.z, r13.x, l(6) + and r0.z, r0.z, l(3) + ld_structured r13.xyz, r2.w, l(84), g0.xyzx + ushr r14.x, r13.x, l(1) + ushr r14.y, r13.y, l(3) + and r3.xw, r14.xxxy, l(124, 0, 0, 31) + iadd r0.z, r0.z, r3.x + iadd r0.z, r3.y, r0.z + iadd r0.z, r5.y, r0.z + iadd r0.z, r7.y, r0.z + iadd r0.z, r9.y, r0.z + iadd r12.y, r11.y, r0.z + iadd r0.z, r3.z, r3.w + iadd r0.z, r5.z, r0.z + iadd r0.z, r7.z, r0.z + iadd r0.z, r9.z, r0.z + iadd r0.z, r11.z, r0.z + ishl r1.w, r13.z, l(27) + and r1.w, r1.w, l(0xc0000000) + iadd r12.z, r0.z, r1.w + ld_structured r2.x, r2.w, l(92), g0.xxxx + ushr r0.z, r2.x, l(5) + and r0.z, r0.z, l(7) + ld_structured r2.x, r0.y, l(16), g0.xxxx + ishl r1.w, r2.x, l(3) + iadd r0.z, r0.z, r1.w + mov r1.w, r0.z + mov r2.x, l(1) + loop + ult r2.y, icb[r1.y + 128].y, r2.x + breakc_nz r2.y + iadd r2.y, r0.y, r2.x + ld_structured r3.x, r2.y, l(16), g0.xxxx + ishl r2.y, r2.x, l(1) + iadd r2.y, r2.y, l(2) + ishl r2.y, r3.x, r2.y + or r1.w, r1.w, r2.y + iadd r2.x, r2.x, l(1) + endloop + mov r0.z, r1.w + mov r2.y, r2.x + loop + ult r2.z, icb[r1.y + 128].z, r2.y + breakc_nz r2.z + iadd r2.z, r0.y, r2.y + ld_structured r3.x, r2.z, l(16), g0.xxxx + ishl r2.z, r2.y, l(1) + iadd r2.z, r2.z, l(1) + ishl r2.z, r3.x, r2.z + or r0.z, r0.z, r2.z + iadd r2.y, r2.y, l(1) + endloop + mov r12.w, r0.z + mov r1.w, r2.y + loop + uge r2.x, r1.w, l(16) + breakc_nz r2.x + iadd r2.x, r0.y, r1.w + ld_structured r3.x, r2.x, l(16), g0.xxxx + ishl r2.x, r1.w, l(1) + ishl r2.x, r3.x, r2.x + or r12.w, r2.x, r12.w + iadd r1.w, r1.w, l(1) + endloop + else + ieq r0.z, r0.w, l(3) + if_nz r0.z + ishl r0.z, r1.y, l(4) + iadd r0.z, r0.z, l(8) + ld_structured r2.xyz, r0.y, l(68), g0.xyzx + ishl r3.x, r2.x, l(9) + ishl r3.y, r2.y, l(5) + ishl r3.z, r2.z, l(1) + and r3.xyz, r3.xyzx, l(0x0001fc00, 8128, 508, 0) + or r0.z, r0.z, r3.x + ld_structured r4.xyz, r0.y, l(84), g0.xyzx + ishl r5.x, r4.x, l(16) + ishl r5.y, r4.y, l(12) + ishl r5.z, r4.z, l(8) + and r5.xyz, r5.xyzx, l(0x00fe0000, 0x000fe000, 0x0000fe00, 0) + or r0.z, r0.z, r5.x + iadd r1.w, r0.y, l(1) + ld_structured r6.xyz, r1.w, l(68), g0.xyzx + ishl r7.x, r6.x, l(23) + ishl r7.y, r6.y, l(19) + ishl r7.z, r6.z, l(15) + and r7.xyz, r7.xyzx, l(0x7f000000, 0x07f00000, 0x007f0000, 0) + or r0.z, r0.z, r7.x + ld_structured r8.xyz, r1.w, l(84), g0.xyzx + ishl r9.x, r8.x, l(30) + ishl r9.y, r8.y, l(26) + ishl r9.z, r8.z, l(22) + and r9.xyz, r9.xyzx, l(0x80000000, 0xf8000000, 0x3f800000, 0) + or r12.x, r0.z, r9.x + ld_structured r10.xy, r1.w, l(84), g0.xyxx + ushr r11.x, r10.x, l(2) + ushr r11.y, r10.y, l(6) + and r2.xw, r11.xxxy, l(63, 0, 0, 3) + iadd r2.xy, r3.yzyy, r2.xwxx + iadd r2.xy, r5.yzyy, r2.xyxx + iadd r2.xy, r7.yzyy, r2.xyxx + iadd r2.xy, r9.yzyy, r2.xyxx + ld_structured r3.x, r0.y, l(68), g0.xxxx + ishl r0.z, r3.x, l(30) + and r0.z, r0.z, l(0x40000000) + iadd r0.z, r0.z, r2.y + ld_structured r3.x, r0.y, l(84), g0.xxxx + ishl r2.y, r3.x, l(31) + iadd r12.z, r0.z, r2.y + ld_structured r3.x, r1.w, l(68), g0.xxxx + and r0.z, r3.x, l(1) + ld_structured r3.x, r1.w, l(84), g0.xxxx + ishl r1.w, r3.x, l(1) + and r1.w, r1.w, l(2) + iadd r0.z, r0.z, r1.w + ld_structured r3.x, r0.y, l(16), g0.xxxx + ishl r1.w, r3.x, l(2) + iadd r0.z, r0.z, r1.w + mov r1.w, r0.z + mov r2.y, l(1) + loop + ult r2.z, icb[r1.y + 128].y, r2.y + breakc_nz r2.z + iadd r2.z, r0.y, r2.y + ld_structured r3.x, r2.z, l(16), g0.xxxx + ishl r2.z, r2.y, l(1) + iadd r2.z, r2.z, l(1) + ishl r2.z, r3.x, r2.z + or r1.w, r1.w, r2.z + iadd r2.y, r2.y, l(1) + endloop + mov r12.w, r1.w + mov r0.z, r2.y + loop + uge r2.z, r0.z, l(16) + breakc_nz r2.z + iadd r2.z, r0.z, r0.y + ld_structured r3.x, r2.z, l(16), g0.xxxx + ishl r2.z, r0.z, l(1) + ishl r2.z, r3.x, r2.z + or r12.w, r2.z, r12.w + iadd r0.z, r0.z, l(1) + endloop + mov r12.y, r2.x + else + ieq r0.z, r0.w, l(4) + if_nz r0.z + ishl r0.z, r1.z, l(5) + and r0.z, r0.z, l(96) + iadd r0.z, r0.z, l(16) + ishl r1.x, r1.x, l(7) + iadd r0.z, r0.z, r1.x + ld_structured r2.xyzw, r0.y, l(68), g0.xyzw + ishl r3.x, r2.x, l(5) + ishl r3.y, r2.y, l(15) + ishl r3.z, r2.z, l(25) + ishl r3.w, r2.w, l(4) + and r2.xyzw, r3.xyzw, l(7936, 0x007c0000, 0xf0000000, 4032) + iadd r0.z, r0.z, r2.x + ld_structured r3.xyzw, r0.y, l(84), g0.xyzw + ishl r4.xz, r3.xxwx, l(10) + ishl r4.y, r3.y, l(20) + and r3.xyw, r4.xyxz, l(0x0003e000, 0x0f800000, 0, 0x0003f000) + iadd r0.z, r0.z, r3.x + iadd r0.z, r2.y, r0.z + iadd r0.z, r3.y, r0.z + iadd r12.x, r2.z, r0.z + ld_structured r4.x, r0.y, l(76), g0.xxxx + ushr r0.z, r4.x, l(7) + and r0.z, r0.z, l(1) + ushr r1.x, r3.z, l(2) + and r1.x, r1.x, l(62) + iadd r0.z, r0.z, r1.x + iadd r0.z, r2.w, r0.z + iadd r0.z, r3.w, r0.z + ld_structured r2.xy, r0.y, l(16), g0.xyxx + ishl r3.x, r2.x, l(18) + ishl r3.y, r2.y, l(17) + and r1.xw, r3.xxxy, l(0x00040000, 0, 0, 0x00060000) + iadd r0.z, r0.z, r1.x + iadd r2.xyzw, r0.yyyy, l(1, 2, 3, 4) + ld_structured r3.xy, r2.x, l(16), g0.xyxx + ishl r3.xy, r3.xyxx, l(19) + iadd r0.z, r0.z, r3.x + ld_structured r4.xy, r2.y, l(16), g0.xyxx + ishl r1.x, r4.x, l(21) + ishl r2.x, r4.y, l(22) + or r0.z, r0.z, r1.x + ld_structured r4.xy, r2.z, l(16), g0.xyxx + ishl r1.x, r4.x, l(23) + ishl r2.y, r4.y, l(25) + or r0.z, r0.z, r1.x + ld_structured r4.xy, r2.w, l(16), g0.xyxx + ishl r1.x, r4.x, l(25) + ishl r2.z, r4.y, l(28) + or r0.z, r0.z, r1.x + iadd r4.xyzw, r0.yyyy, l(5, 6, 7, 8) + ld_structured r5.xy, r4.x, l(16), g0.xyxx + ishl r1.x, r5.x, l(27) + ishl r2.w, r5.y, l(31) + or r0.z, r0.z, r1.x + ld_structured r5.xy, r4.y, l(16), g0.xyxx + ishl r1.x, r5.x, l(29) + ishl r3.x, r5.y, l(2) + or r0.z, r0.z, r1.x + ld_structured r5.xy, r4.z, l(16), g0.xyxx + ishl r1.x, r5.x, l(31) + ishl r3.z, r5.y, l(5) + or r12.y, r0.z, r1.x + ld_structured r5.x, r4.z, l(16), g0.xxxx + ushr r0.z, r5.x, l(1) + ld_structured r5.xy, r4.w, l(16), g0.xyxx + ishl r1.x, r5.x, l(1) + ishl r3.w, r5.y, l(8) + or r0.z, r0.z, r1.x + iadd r5.xyzw, r0.yyyy, l(9, 10, 11, 12) + ld_structured r6.xy, r5.x, l(16), g0.xyxx + ishl r1.x, r6.x, l(3) + ishl r4.y, r6.y, l(11) + or r0.z, r0.z, r1.x + ld_structured r6.xy, r5.y, l(16), g0.xyxx + ishl r1.x, r6.x, l(5) + ishl r4.z, r6.y, l(14) + or r0.z, r0.z, r1.x + ld_structured r6.xy, r5.z, l(16), g0.xyxx + ishl r1.x, r6.x, l(7) + ishl r4.w, r6.y, l(17) + or r0.z, r0.z, r1.x + ld_structured r5.xy, r5.w, l(16), g0.xyxx + ishl r1.x, r5.x, l(9) + ishl r5.x, r5.y, l(20) + or r0.z, r0.z, r1.x + iadd r5.yzw, r0.yyyy, l(0, 13, 14, 15) + ld_structured r6.xy, r5.y, l(16), g0.xyxx + ishl r1.x, r6.x, l(11) + ishl r5.y, r6.y, l(23) + or r0.z, r0.z, r1.x + ld_structured r6.xy, r5.z, l(16), g0.xyxx + ishl r1.x, r6.x, l(13) + ishl r5.z, r6.y, l(26) + or r0.z, r0.z, r1.x + ld_structured r6.xy, r5.w, l(16), g0.xyxx + ishl r1.x, r6.x, l(15) + ishl r5.w, r6.y, l(29) + or r0.z, r0.z, r1.x + or r0.z, r1.w, r0.z + or r0.z, r3.y, r0.z + or r0.z, r2.x, r0.z + or r0.z, r2.y, r0.z + or r0.z, r2.z, r0.z + or r12.z, r2.w, r0.z + ld_structured r2.x, r4.x, l(20), g0.xxxx + ushr r0.z, r2.x, l(1) + or r0.z, r3.x, r0.z + or r0.z, r3.z, r0.z + or r0.z, r3.w, r0.z + or r0.z, r4.y, r0.z + or r0.z, r4.z, r0.z + or r0.z, r4.w, r0.z + or r0.z, r5.x, r0.z + or r0.z, r5.y, r0.z + or r0.z, r5.z, r0.z + or r12.w, r5.w, r0.z + else + ieq r0.z, r0.w, l(5) + if_nz r0.z + ishl r0.z, r1.z, l(6) + iadd r0.z, r0.z, l(32) + ld_structured r2.xyzw, r0.y, l(68), g0.xyzw + ishl r3.x, r2.x, l(7) + ishl r3.y, r2.y, l(21) + ishl r3.z, r2.z, l(3) + ishl r1.x, r2.w, l(18) + and r2.xyz, r3.xyzx, l(0x00007f00, 0x1fc00000, 2032, 0) + or r0.z, r0.z, r2.x + ld_structured r3.xyzw, r0.y, l(84), g0.xyzw + ishl r4.x, r3.x, l(14) + ishl r4.y, r3.y, l(28) + ishl r4.z, r3.z, l(10) + ishl r1.z, r3.w, l(26) + and r3.xyz, r4.xyzx, l(0x003f8000, 0xe0000000, 0x0003f800, 0) + or r0.z, r0.z, r3.x + or r0.z, r2.y, r0.z + or r12.x, r3.y, r0.z + ld_structured r4.x, r0.y, l(88), g0.xxxx + ushr r0.z, r4.x, l(4) + and r0.z, r0.z, l(15) + iadd r0.z, r2.z, r0.z + iadd r0.z, r3.z, r0.z + iadd r0.z, r1.x, r0.z + or r12.y, r1.z, r0.z + ld_structured r2.x, r0.y, l(96), g0.xxxx + ushr r0.z, r2.x, l(6) + ld_structured r2.xy, r0.y, l(16), g0.xyxx + ishl r1.x, r2.x, l(2) + ishl r1.z, r2.y, l(1) + or r0.z, r0.z, r1.x + iadd r2.xyzw, r0.yyyy, l(1, 2, 3, 4) + ld_structured r3.xy, r2.x, l(16), g0.xyxx + ishl r1.x, r3.x, l(3) + ishl r1.w, r3.y, l(2) + or r0.z, r0.z, r1.x + ld_structured r3.xy, r2.y, l(16), g0.xyxx + ishl r1.x, r3.x, l(5) + ishl r2.x, r3.y, l(4) + or r0.z, r0.z, r1.x + ld_structured r3.xy, r2.z, l(16), g0.xyxx + ishl r1.x, r3.x, l(7) + ishl r2.y, r3.y, l(6) + or r0.z, r0.z, r1.x + ld_structured r3.xy, r2.w, l(16), g0.xyxx + ishl r1.x, r3.x, l(9) + ishl r2.z, r3.y, l(8) + or r0.z, r0.z, r1.x + iadd r3.xyzw, r0.yyyy, l(5, 6, 7, 8) + ld_structured r4.xy, r3.x, l(16), g0.xyxx + ishl r1.x, r4.x, l(11) + ishl r2.w, r4.y, l(10) + or r0.z, r0.z, r1.x + ld_structured r4.xy, r3.y, l(16), g0.xyxx + ishl r1.x, r4.x, l(13) + ishl r3.x, r4.y, l(12) + or r0.z, r0.z, r1.x + ld_structured r4.xy, r3.z, l(16), g0.xyxx + ishl r1.x, r4.x, l(15) + ishl r3.y, r4.y, l(14) + or r0.z, r0.z, r1.x + ld_structured r4.xy, r3.w, l(16), g0.xyxx + ishl r1.x, r4.x, l(17) + ishl r3.z, r4.y, l(16) + or r0.z, r0.z, r1.x + iadd r4.xyzw, r0.yyyy, l(9, 10, 11, 12) + ld_structured r5.xy, r4.x, l(16), g0.xyxx + ishl r1.x, r5.x, l(19) + ishl r3.w, r5.y, l(18) + or r0.z, r0.z, r1.x + ld_structured r5.xy, r4.y, l(16), g0.xyxx + ishl r1.x, r5.x, l(21) + ishl r4.x, r5.y, l(20) + or r0.z, r0.z, r1.x + ld_structured r5.xy, r4.z, l(16), g0.xyxx + ishl r1.x, r5.x, l(23) + ishl r4.y, r5.y, l(22) + or r0.z, r0.z, r1.x + ld_structured r5.xy, r4.w, l(16), g0.xyxx + ishl r1.x, r5.x, l(25) + ishl r4.z, r5.y, l(24) + or r0.z, r0.z, r1.x + iadd r5.xyz, r0.yyyy, l(13, 14, 15, 0) + ld_structured r6.xy, r5.x, l(16), g0.xyxx + ishl r1.x, r6.x, l(27) + ishl r4.w, r6.y, l(26) + or r0.z, r0.z, r1.x + ld_structured r6.xy, r5.y, l(16), g0.xyxx + ishl r1.x, r6.x, l(29) + ishl r5.x, r6.y, l(28) + or r0.z, r0.z, r1.x + ld_structured r6.xy, r5.z, l(16), g0.xyxx + ishl r1.x, r6.x, l(31) + ishl r5.y, r6.y, l(30) + or r12.z, r0.z, r1.x + ld_structured r6.x, r5.z, l(16), g0.xxxx + ushr r0.z, r6.x, l(1) + or r0.z, r1.z, r0.z + or r0.z, r1.w, r0.z + or r0.z, r2.x, r0.z + or r0.z, r2.y, r0.z + or r0.z, r2.z, r0.z + or r0.z, r2.w, r0.z + or r0.z, r3.x, r0.z + or r0.z, r3.y, r0.z + or r0.z, r3.z, r0.z + or r0.z, r3.w, r0.z + or r0.z, r4.x, r0.z + or r0.z, r4.y, r0.z + or r0.z, r4.z, r0.z + or r0.z, r4.w, r0.z + or r0.z, r5.x, r0.z + or r12.w, r5.y, r0.z + else + ieq r0.z, r0.w, l(6) + if_nz r0.z + ld_structured r2.xyzw, r0.y, l(68), g0.xyzw + ishl r3.x, r2.x, l(6) + ishl r3.y, r2.y, l(20) + ishl r3.z, r2.z, l(2) + ishl r3.w, r2.w, l(16) + and r2.xyzw, r3.xyzw, l(0x00003f80, 0x0fe00000, 1016, 0x00fe0000) + iadd r0.z, r2.x, l(64) + ld_structured r3.xyzw, r0.y, l(84), g0.xyzw + ishl r4.x, r3.x, l(13) + ishl r4.y, r3.y, l(27) + ishl r4.z, r3.z, l(9) + ishl r4.w, r3.w, l(23) + and r3.xyzw, r4.xyzw, l(0x001fc000, 0xf0000000, 0x0001fc00, 0x7f000000) + iadd r0.z, r0.z, r3.x + iadd r0.z, r2.y, r0.z + iadd r12.x, r3.y, r0.z + ld_structured r4.xy, r0.y, l(84), g0.xyxx + ushr r0.z, r4.y, l(5) + and r0.z, r0.z, l(7) + iadd r0.z, r2.z, r0.z + iadd r0.z, r3.z, r0.z + iadd r0.z, r2.w, r0.z + iadd r0.z, r3.w, r0.z + ld_structured r2.x, r0.y, l(68), g0.xxxx + ishl r0.w, r2.x, l(31) + iadd r12.y, r0.w, r0.z + and r0.z, r4.x, l(1) + ld_structured r2.x, r0.y, l(16), g0.xxxx + ishl r0.w, r2.x, l(1) + iadd r0.z, r0.w, r0.z + iadd r2.xyzw, r0.yyyy, l(1, 2, 3, 4) + ld_structured r3.x, r2.x, l(16), g0.xxxx + ishl r0.w, r3.x, l(4) + or r0.z, r0.w, r0.z + ld_structured r3.x, r2.y, l(16), g0.xxxx + ishl r0.w, r3.x, l(8) + or r0.z, r0.w, r0.z + ld_structured r3.x, r2.z, l(16), g0.xxxx + ishl r0.w, r3.x, l(12) + or r0.z, r0.w, r0.z + ld_structured r2.x, r2.w, l(16), g0.xxxx + ishl r0.w, r2.x, l(16) + or r0.z, r0.w, r0.z + iadd r2.xyzw, r0.yyyy, l(5, 6, 7, 8) + ld_structured r3.x, r2.x, l(16), g0.xxxx + ishl r0.w, r3.x, l(20) + or r0.z, r0.w, r0.z + ld_structured r3.x, r2.y, l(16), g0.xxxx + ishl r0.w, r3.x, l(24) + or r0.z, r0.w, r0.z + ld_structured r3.x, r2.z, l(16), g0.xxxx + ishl r0.w, r3.x, l(28) + or r12.z, r0.w, r0.z + ld_structured r2.x, r2.w, l(16), g0.xxxx + iadd r3.xyzw, r0.yyyy, l(9, 10, 11, 12) + ld_structured r4.x, r3.x, l(16), g0.xxxx + ishl r0.z, r4.x, l(4) + or r0.z, r0.z, r2.x + ld_structured r2.x, r3.y, l(16), g0.xxxx + ishl r0.w, r2.x, l(8) + or r0.z, r0.w, r0.z + ld_structured r2.x, r3.z, l(16), g0.xxxx + ishl r0.w, r2.x, l(12) + or r0.z, r0.w, r0.z + ld_structured r2.x, r3.w, l(16), g0.xxxx + ishl r0.w, r2.x, l(16) + or r0.z, r0.w, r0.z + iadd r1.xzw, r0.yyyy, l(13, 0, 14, 15) + ld_structured r2.x, r1.x, l(16), g0.xxxx + ishl r0.w, r2.x, l(20) + or r0.z, r0.w, r0.z + ld_structured r2.x, r1.z, l(16), g0.xxxx + ishl r0.w, r2.x, l(24) + or r0.z, r0.w, r0.z + ld_structured r2.x, r1.w, l(16), g0.xxxx + ishl r0.w, r2.x, l(28) + or r12.w, r0.w, r0.z + else + ishl r0.z, r1.y, l(8) + iadd r0.z, r0.z, l(128) + ld_structured r2.xyzw, r0.y, l(68), g0.xyzw + ishl r3.x, r2.x, l(11) + ishl r3.y, r2.z, l(19) + ishl r3.z, r2.w, l(7) + and r1.xzw, r3.xxyz, l(0x0007c000, 0, 0x07c00000, 0x00007c00) + or r0.z, r0.z, r1.x + ld_structured r3.xyzw, r0.y, l(84), g0.xyzw + ishl r4.x, r3.x, l(16) + ishl r4.y, r3.y, l(4) + ishl r4.z, r3.z, l(24) + ishl r4.w, r3.w, l(12) + and r4.xyzw, r4.xyzw, l(0x00f80000, 3968, 0xf8000000, 0x000f8000) + or r0.z, r0.z, r4.x + iadd r0.w, r0.y, l(1) + ld_structured r5.xyzw, r0.w, l(68), g0.xyzw + ishl r6.x, r5.x, l(21) + ishl r6.y, r5.y, l(9) + ishl r6.z, r5.w, l(17) + and r6.xyz, r6.xyzx, l(0x1f000000, 0x0001f000, 0x01f00000, 0) + or r0.z, r0.z, r6.x + ld_structured r7.xyzw, r0.w, l(84), g0.xyzw + ishl r8.x, r7.x, l(26) + ishl r8.y, r7.y, l(14) + ishl r8.z, r7.z, l(2) + ishl r8.w, r7.w, l(22) + and r8.xyzw, r8.xyzw, l(0xe0000000, 0x003e0000, 992, 0x3e000000) + or r12.x, r0.z, r8.x + ld_structured r9.x, r0.w, l(84), g0.xxxx + ushr r10.x, r9.x, l(6) + ushr r10.y, r9.x, l(1) + and r6.xw, r10.xxxy, l(3, 0, 0, 2) + ushr r0.z, r2.y, l(1) + and r0.z, r0.z, l(124) + iadd r0.z, r0.z, r6.x + iadd r0.z, r4.y, r0.z + iadd r0.z, r6.y, r0.z + iadd r0.z, r8.y, r0.z + iadd r0.z, r1.z, r0.z + iadd r12.y, r4.z, r0.z + ushr r0.z, r5.z, l(3) + and r0.z, r0.z, l(31) + iadd r0.z, r8.z, r0.z + iadd r0.z, r1.w, r0.z + iadd r0.z, r4.w, r0.z + iadd r0.z, r6.z, r0.z + iadd r0.z, r8.w, r0.z + ld_structured r2.x, r0.y, l(68), g0.xxxx + ishl r1.x, r2.x, l(28) + and r1.x, r1.x, l(0x40000000) + iadd r0.z, r0.z, r1.x + ld_structured r2.x, r0.y, l(84), g0.xxxx + ishl r1.x, r2.x, l(29) + and r1.x, r1.x, l(0x80000000) + iadd r12.z, r0.z, r1.x + ld_structured r2.x, r0.w, l(68), g0.xxxx + ushr r0.z, r2.x, l(2) + and r0.z, r0.z, l(1) + iadd r0.z, r6.w, r0.z + ld_structured r2.x, r0.y, l(16), g0.xxxx + ishl r0.w, r2.x, l(2) + iadd r0.z, r0.w, r0.z + mov r0.w, r0.z + mov r1.x, l(1) + loop + ult r1.z, icb[r1.y + 128].y, r1.x + breakc_nz r1.z + iadd r1.z, r0.y, r1.x + ld_structured r2.x, r1.z, l(16), g0.xxxx + ishl r1.z, r1.x, l(1) + iadd r1.z, r1.z, l(1) + ishl r1.z, r2.x, r1.z + or r0.w, r0.w, r1.z + iadd r1.x, r1.x, l(1) + endloop + mov r12.w, r0.w + mov r0.z, r1.x + loop + uge r1.y, r0.z, l(16) + breakc_nz r1.y + iadd r1.y, r0.z, r0.y + ld_structured r2.x, r1.y, l(16), g0.xxxx + ishl r1.y, r0.z, l(1) + ishl r1.y, r2.x, r1.y + or r12.w, r1.y, r12.w + iadd r0.z, r0.z, l(1) + endloop + endif + endif + endif + endif + endif + endif + endif + store_structured u0.xyzw, r0.x, l(0), r12.xyzw +endif +ret +// Approximately 0 instruction slots used +#endif + +const BYTE BC7Encode_EncodeBlockCS[] = +{ + 68, 88, 66, 67, 38, 175, + 165, 204, 73, 182, 127, 102, + 182, 246, 162, 152, 80, 235, + 28, 253, 1, 0, 0, 0, + 200, 193, 0, 0, 3, 0, + 0, 0, 44, 0, 0, 0, + 60, 0, 0, 0, 76, 0, + 0, 0, 73, 83, 71, 78, + 8, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 79, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 83, 72, + 69, 88, 116, 193, 0, 0, + 64, 0, 5, 0, 93, 48, + 0, 0, 106, 8, 0, 1, + 53, 24, 0, 0, 2, 4, + 0, 0, 204, 204, 0, 0, + 80, 80, 104, 170, 15, 0, + 0, 0, 0, 0, 0, 0, + 136, 136, 0, 0, 64, 80, + 90, 106, 15, 0, 0, 0, + 0, 0, 0, 0, 238, 238, + 0, 0, 0, 66, 90, 90, + 15, 0, 0, 0, 0, 0, + 0, 0, 200, 236, 0, 0, + 168, 160, 80, 84, 15, 0, + 0, 0, 0, 0, 0, 0, + 128, 200, 0, 0, 0, 0, + 165, 165, 15, 0, 0, 0, + 0, 0, 0, 0, 236, 254, + 0, 0, 80, 80, 160, 160, + 15, 0, 0, 0, 0, 0, + 0, 0, 200, 254, 0, 0, + 160, 160, 85, 85, 15, 0, + 0, 0, 0, 0, 0, 0, + 128, 236, 0, 0, 80, 80, + 90, 90, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 200, + 0, 0, 0, 0, 85, 170, + 15, 0, 0, 0, 0, 0, + 0, 0, 236, 255, 0, 0, + 0, 85, 85, 170, 15, 0, + 0, 0, 0, 0, 0, 0, + 128, 254, 0, 0, 0, 85, + 170, 170, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 232, + 0, 0, 144, 144, 144, 144, + 15, 0, 0, 0, 0, 0, + 0, 0, 232, 255, 0, 0, + 148, 148, 148, 148, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 255, 0, 0, 164, 164, + 164, 164, 15, 0, 0, 0, + 0, 0, 0, 0, 240, 255, + 0, 0, 80, 148, 165, 169, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 240, 0, 0, + 80, 66, 10, 42, 15, 0, + 0, 0, 0, 0, 0, 0, + 16, 247, 0, 0, 64, 80, + 148, 165, 15, 0, 0, 0, + 0, 0, 0, 0, 142, 0, + 0, 0, 84, 80, 66, 10, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 113, 0, 0, + 0, 165, 165, 165, 8, 0, + 0, 0, 0, 0, 0, 0, + 206, 8, 0, 0, 160, 160, + 160, 85, 2, 0, 0, 0, + 0, 0, 0, 0, 140, 0, + 0, 0, 84, 84, 168, 168, + 2, 0, 0, 0, 0, 0, + 0, 0, 16, 115, 0, 0, + 64, 64, 106, 106, 8, 0, + 0, 0, 0, 0, 0, 0, + 0, 49, 0, 0, 0, 80, + 164, 164, 8, 0, 0, 0, + 0, 0, 0, 0, 206, 140, + 0, 0, 0, 5, 26, 26, + 15, 0, 0, 0, 0, 0, + 0, 0, 140, 8, 0, 0, + 164, 164, 80, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 16, 49, 0, 0, 144, 144, + 165, 170, 8, 0, 0, 0, + 0, 0, 0, 0, 102, 102, + 0, 0, 20, 105, 105, 20, + 2, 0, 0, 0, 0, 0, + 0, 0, 108, 54, 0, 0, + 0, 20, 105, 105, 2, 0, + 0, 0, 0, 0, 0, 0, + 232, 23, 0, 0, 160, 133, + 133, 160, 8, 0, 0, 0, + 0, 0, 0, 0, 240, 15, + 0, 0, 20, 20, 130, 170, + 8, 0, 0, 0, 0, 0, + 0, 0, 142, 113, 0, 0, + 80, 164, 164, 80, 2, 0, + 0, 0, 0, 0, 0, 0, + 156, 57, 0, 0, 0, 2, + 90, 106, 2, 0, 0, 0, + 0, 0, 0, 0, 170, 170, + 0, 0, 0, 128, 165, 169, + 15, 0, 0, 0, 0, 0, + 0, 0, 240, 240, 0, 0, + 168, 160, 144, 80, 15, 0, + 0, 0, 0, 0, 0, 0, + 90, 90, 0, 0, 80, 144, + 160, 168, 6, 0, 0, 0, + 0, 0, 0, 0, 204, 51, + 0, 0, 36, 36, 36, 36, + 8, 0, 0, 0, 0, 0, + 0, 0, 60, 60, 0, 0, + 0, 85, 170, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 170, 85, 0, 0, 36, 73, + 146, 36, 8, 0, 0, 0, + 0, 0, 0, 0, 150, 150, + 0, 0, 36, 146, 73, 36, + 15, 0, 0, 0, 0, 0, + 0, 0, 90, 165, 0, 0, + 80, 10, 165, 80, 15, 0, + 0, 0, 0, 0, 0, 0, + 206, 115, 0, 0, 80, 165, + 10, 80, 2, 0, 0, 0, + 0, 0, 0, 0, 200, 19, + 0, 0, 68, 68, 170, 170, + 8, 0, 0, 0, 0, 0, + 0, 0, 76, 50, 0, 0, + 0, 0, 102, 102, 2, 0, + 0, 0, 0, 0, 0, 0, + 220, 59, 0, 0, 160, 165, + 160, 165, 2, 0, 0, 0, + 0, 0, 0, 0, 150, 105, + 0, 0, 160, 80, 160, 80, + 2, 0, 0, 0, 0, 0, + 0, 0, 60, 195, 0, 0, + 40, 105, 40, 105, 15, 0, + 0, 0, 0, 0, 0, 0, + 102, 153, 0, 0, 68, 170, + 170, 68, 15, 0, 0, 0, + 0, 0, 0, 0, 96, 6, + 0, 0, 0, 102, 102, 102, + 6, 0, 0, 0, 0, 0, + 0, 0, 114, 2, 0, 0, + 68, 68, 68, 170, 6, 0, + 0, 0, 0, 0, 0, 0, + 228, 4, 0, 0, 168, 84, + 168, 84, 2, 0, 0, 0, + 0, 0, 0, 0, 64, 78, + 0, 0, 128, 149, 128, 149, + 6, 0, 0, 0, 0, 0, + 0, 0, 32, 39, 0, 0, + 0, 150, 150, 150, 8, 0, + 0, 0, 0, 0, 0, 0, + 54, 201, 0, 0, 168, 84, + 84, 168, 15, 0, 0, 0, + 0, 0, 0, 0, 108, 147, + 0, 0, 128, 149, 149, 128, + 15, 0, 0, 0, 0, 0, + 0, 0, 198, 57, 0, 0, + 20, 20, 20, 170, 2, 0, + 0, 0, 0, 0, 0, 0, + 156, 99, 0, 0, 0, 0, + 150, 150, 2, 0, 0, 0, + 0, 0, 0, 0, 54, 147, + 0, 0, 20, 20, 170, 170, + 15, 0, 0, 0, 0, 0, + 0, 0, 198, 156, 0, 0, + 160, 80, 80, 160, 15, 0, + 0, 0, 0, 0, 0, 0, + 126, 129, 0, 0, 160, 165, + 165, 160, 15, 0, 0, 0, + 0, 0, 0, 0, 24, 231, + 0, 0, 0, 0, 0, 150, + 15, 0, 0, 0, 0, 0, + 0, 0, 240, 204, 0, 0, + 128, 64, 128, 64, 15, 0, + 0, 0, 0, 0, 0, 0, + 204, 15, 0, 0, 168, 169, + 168, 169, 2, 0, 0, 0, + 0, 0, 0, 0, 68, 119, + 0, 0, 68, 170, 170, 170, + 2, 0, 0, 0, 0, 0, + 0, 0, 34, 238, 0, 0, + 84, 82, 74, 42, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 15, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 8, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 15, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 15, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 15, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 8, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 3, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 15, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 6, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 10, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 15, 0, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 15, 0, 0, 0, + 7, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 10, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 8, 0, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 15, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 10, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 10, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 8, 0, + 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 9, 0, 0, 0, + 9, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 10, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 6, 0, + 0, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 10, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 8, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 15, 0, + 0, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 10, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 6, 0, 0, 0, 11, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 6, 0, + 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 8, 0, 0, 0, + 11, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 11, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 3, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 15, 0, 0, 0, + 12, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 15, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 15, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 15, 0, 0, 0, + 13, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 15, 0, 0, 0, 13, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 15, 0, + 0, 0, 13, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 15, 0, 0, 0, + 13, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 15, 0, 0, 0, 14, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 15, 0, + 0, 0, 14, 0, 0, 0, + 0, 0, 0, 0, 13, 0, + 0, 0, 15, 0, 0, 0, + 14, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 3, 0, 0, 0, 14, 0, + 0, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 15, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 15, 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, 15, 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, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 15, 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, 2, 0, + 0, 0, 8, 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, + 2, 0, 0, 0, 2, 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, + 0, 0, 2, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 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, 3, 0, 0, 0, + 8, 0, 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, 3, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 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, 3, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 6, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 5, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 6, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 10, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 6, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 6, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 5, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 10, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 10, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 6, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 8, 0, + 0, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 8, 0, 0, 0, + 9, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 10, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 6, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 8, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 6, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 5, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 5, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 10, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 10, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 13, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 12, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 0, 0, 0, 0, 85, 85, + 0, 0, 162, 0, 0, 4, + 0, 112, 16, 0, 1, 0, + 0, 0, 16, 0, 0, 0, + 158, 0, 0, 4, 0, 224, + 17, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 95, 0, + 0, 2, 0, 64, 2, 0, + 95, 0, 0, 2, 18, 16, + 2, 0, 104, 0, 0, 2, + 15, 0, 0, 0, 160, 0, + 0, 5, 0, 240, 17, 0, + 0, 0, 0, 0, 100, 0, + 0, 0, 64, 0, 0, 0, + 155, 0, 0, 4, 64, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 85, 0, + 0, 6, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 6, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 16, + 2, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 30, 0, + 0, 8, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 80, 0, + 0, 8, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 26, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 0, 0, 0, 0, + 62, 0, 0, 1, 21, 0, + 0, 1, 1, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 48, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 70, 114, + 16, 0, 1, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 127, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 6, 112, 16, 0, + 1, 0, 0, 0, 85, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 31, 0, + 0, 0, 79, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 16, 0, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 2, 0, 0, 0, + 78, 0, 0, 9, 130, 0, + 16, 0, 1, 0, 0, 0, + 0, 208, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 26, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 35, 0, 0, 11, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 1, 0, 0, 0, + 26, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 7, 34, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 54, 0, 0, 8, + 194, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 45, 0, + 0, 7, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 127, 67, + 0, 0, 127, 67, 0, 0, + 127, 67, 0, 0, 127, 67, + 28, 0, 0, 5, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 84, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 32, 0, 0, 10, 50, 0, + 16, 0, 4, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 32, 0, 0, 10, + 114, 0, 16, 0, 4, 0, + 0, 0, 166, 10, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 194, 0, + 16, 0, 5, 0, 0, 0, + 166, 10, 16, 0, 4, 0, + 0, 0, 246, 11, 16, 0, + 3, 0, 0, 0, 166, 14, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 5, 50, 0, + 16, 0, 5, 0, 0, 0, + 70, 0, 16, 0, 3, 0, + 0, 0, 55, 0, 0, 9, + 226, 0, 16, 0, 5, 0, + 0, 0, 86, 5, 16, 0, + 4, 0, 0, 0, 246, 6, + 16, 0, 3, 0, 0, 0, + 86, 14, 16, 0, 5, 0, + 0, 0, 55, 0, 0, 9, + 242, 0, 16, 0, 4, 0, + 0, 0, 6, 0, 16, 0, + 4, 0, 0, 0, 118, 2, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 55, 0, 0, 9, + 242, 0, 16, 0, 3, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 21, 0, + 0, 1, 30, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 192, 255, 255, 255, + 31, 0, 4, 3, 10, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 8, 242, 0, + 16, 0, 3, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 85, 0, 0, 8, 18, 0, + 16, 0, 4, 0, 0, 0, + 26, 144, 144, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 0, 0, 7, + 18, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 32, 0, 0, 10, 98, 0, + 16, 0, 4, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 32, 0, 0, 7, + 18, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 55, 0, 0, 12, 242, 0, + 16, 0, 5, 0, 0, 0, + 6, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 1, 0, 0, 7, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 6, 0, 16, 0, + 4, 0, 0, 0, 55, 0, + 0, 12, 242, 0, 16, 0, + 5, 0, 0, 0, 86, 5, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 1, 0, + 0, 7, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 86, 5, 16, 0, 4, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 31, 0, + 4, 3, 26, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 8, 242, 0, 16, 0, + 3, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 8, 242, 0, + 16, 0, 4, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 18, 0, 16, 0, 5, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 5, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 84, 0, 0, 7, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 83, 0, 0, 7, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 42, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 8, 242, 0, + 16, 0, 3, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 8, + 242, 0, 16, 0, 4, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 6, 18, 0, 16, 0, + 5, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 6, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 5, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 84, 0, + 0, 7, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 83, 0, + 0, 7, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 58, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 8, + 242, 0, 16, 0, 3, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 8, 242, 0, 16, 0, + 4, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 18, 0, + 16, 0, 5, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 84, 0, 0, 7, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 83, 0, 0, 7, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 79, 0, + 0, 10, 50, 0, 16, 0, + 3, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 3, 0, + 0, 0, 167, 0, 0, 8, + 242, 0, 16, 0, 4, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 8, 242, 0, 16, 0, + 5, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 66, 0, + 16, 0, 3, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 84, 0, 0, 7, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 83, 0, 0, 7, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 21, 0, 0, 1, 32, 0, + 0, 10, 194, 0, 16, 0, + 3, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 3, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 10, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 8, 242, 0, + 16, 0, 6, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 85, 0, 0, 8, + 66, 0, 16, 0, 3, 0, + 0, 0, 10, 144, 144, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 85, 0, 0, 8, 18, 0, + 16, 0, 7, 0, 0, 0, + 26, 144, 144, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 1, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 32, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 32, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 55, 0, 0, 12, + 242, 0, 16, 0, 9, 0, + 0, 0, 6, 0, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 1, 0, 0, 7, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 6, 0, + 16, 0, 7, 0, 0, 0, + 60, 0, 0, 7, 50, 0, + 16, 0, 8, 0, 0, 0, + 214, 5, 16, 0, 8, 0, + 0, 0, 134, 0, 16, 0, + 8, 0, 0, 0, 32, 0, + 0, 7, 66, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 32, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 55, 0, + 0, 12, 242, 0, 16, 0, + 10, 0, 0, 0, 166, 10, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 1, 0, + 0, 7, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 166, 10, 16, 0, 3, 0, + 0, 0, 55, 0, 0, 12, + 242, 0, 16, 0, 10, 0, + 0, 0, 86, 5, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 10, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 1, 0, 0, 7, + 242, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 86, 5, + 16, 0, 8, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 9, 0, 0, 0, + 6, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 10, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 6, 0, 0, 0, + 6, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 8, + 242, 0, 16, 0, 6, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 8, 242, 0, 16, 0, + 7, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 66, 0, + 16, 0, 3, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 84, 0, 0, 7, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 83, 0, 0, 7, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 21, 0, 0, 1, 31, 0, + 4, 3, 42, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 8, 242, 0, 16, 0, + 6, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 8, 242, 0, + 16, 0, 7, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 66, 0, 16, 0, 3, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 84, 0, 0, 7, + 242, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 83, 0, 0, 7, + 242, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 9, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 58, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 8, 242, 0, + 16, 0, 6, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 8, + 242, 0, 16, 0, 7, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 6, 66, 0, 16, 0, + 3, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 84, 0, + 0, 7, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 83, 0, + 0, 7, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 10, 0, 16, 0, 3, 0, + 0, 0, 167, 0, 0, 8, + 242, 0, 16, 0, 6, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 8, 242, 0, 16, 0, + 7, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 66, 0, + 16, 0, 3, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 84, 0, 0, 7, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 83, 0, 0, 7, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 21, 0, 0, 1, 31, 0, + 4, 3, 58, 0, 16, 0, + 3, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 10, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 8, + 242, 0, 16, 0, 6, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 85, 0, + 0, 8, 66, 0, 16, 0, + 3, 0, 0, 0, 10, 144, + 144, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 85, 0, 0, 8, + 18, 0, 16, 0, 7, 0, + 0, 0, 26, 144, 144, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 1, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 32, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 55, 0, 0, 12, 242, 0, + 16, 0, 9, 0, 0, 0, + 6, 0, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 70, 14, + 16, 0, 6, 0, 0, 0, + 55, 0, 0, 12, 242, 0, + 16, 0, 7, 0, 0, 0, + 6, 0, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 60, 0, 0, 7, 50, 0, + 16, 0, 8, 0, 0, 0, + 214, 5, 16, 0, 8, 0, + 0, 0, 134, 0, 16, 0, + 8, 0, 0, 0, 32, 0, + 0, 10, 242, 0, 16, 0, + 10, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 7, 0, + 0, 0, 4, 0, 0, 0, + 5, 0, 0, 0, 6, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 10, 0, + 16, 0, 10, 0, 0, 0, + 55, 0, 0, 12, 242, 0, + 16, 0, 11, 0, 0, 0, + 166, 10, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 70, 14, + 16, 0, 6, 0, 0, 0, + 55, 0, 0, 12, 242, 0, + 16, 0, 12, 0, 0, 0, + 166, 10, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 10, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 55, 0, 0, 12, + 242, 0, 16, 0, 10, 0, + 0, 0, 166, 10, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, + 255, 255, 1, 0, 0, 7, + 242, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 166, 10, + 16, 0, 3, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 10, 0, 0, 0, + 86, 5, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 11, 0, 0, 0, 70, 14, + 16, 0, 10, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 6, 0, 0, 0, + 86, 5, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 12, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 9, 0, 0, 0, + 6, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 10, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 6, 0, 0, 0, + 6, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 8, + 242, 0, 16, 0, 6, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 8, 242, 0, 16, 0, + 7, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 34, 0, + 16, 0, 2, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 84, 0, 0, 7, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 83, 0, 0, 7, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 21, 0, 0, 1, 31, 0, + 4, 3, 42, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 8, 242, 0, 16, 0, + 6, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 8, 242, 0, + 16, 0, 7, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 34, 0, 16, 0, 2, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 84, 0, 0, 7, + 242, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 83, 0, 0, 7, + 242, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 9, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 58, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 8, 242, 0, + 16, 0, 6, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 8, + 242, 0, 16, 0, 7, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 6, 34, 0, 16, 0, + 2, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 84, 0, + 0, 7, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 83, 0, + 0, 7, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 10, 0, 16, 0, 3, 0, + 0, 0, 167, 0, 0, 8, + 242, 0, 16, 0, 6, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 8, 242, 0, 16, 0, + 7, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 34, 0, + 16, 0, 2, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 84, 0, 0, 7, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 83, 0, 0, 7, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 21, 0, 0, 1, 31, 0, + 0, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 26, 0, 16, 0, 3, 0, + 0, 0, 32, 0, 0, 10, + 226, 0, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 4, 0, + 0, 0, 5, 0, 0, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 85, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 1, 0, 0, 10, 98, 0, + 16, 0, 3, 0, 0, 0, + 6, 1, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 50, 0, 16, 0, + 3, 0, 0, 0, 86, 5, + 16, 0, 2, 0, 0, 0, + 6, 0, 16, 0, 3, 0, + 0, 0, 150, 5, 16, 0, + 3, 0, 0, 0, 31, 0, + 0, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 10, 114, 0, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 84, 0, 0, 10, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 30, 0, + 0, 0, 30, 0, 0, 0, + 30, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 6, 0, + 0, 0, 6, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 4, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 84, 0, + 0, 10, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 30, 0, 0, 0, 30, 0, + 0, 0, 30, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 8, 0, 0, 0, 86, 5, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 255, 0, 0, 0, 54, 0, + 0, 8, 178, 0, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 248, 7, 0, 0, 0, 0, + 0, 0, 248, 7, 0, 0, + 18, 0, 0, 1, 31, 0, + 4, 3, 26, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 10, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 84, 0, 0, 10, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 126, 0, + 0, 0, 126, 0, 0, 0, + 126, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 9, 0, + 0, 0, 6, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 84, 0, + 0, 10, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 126, 0, 0, 0, 126, 0, + 0, 0, 126, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 9, 0, 0, 0, 86, 5, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 255, 0, 0, 0, 54, 0, + 0, 8, 178, 0, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 254, 1, 0, 0, 0, 0, + 0, 0, 254, 1, 0, 0, + 18, 0, 0, 1, 32, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 10, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 84, 0, 0, 10, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 248, 0, + 0, 0, 248, 0, 0, 0, + 248, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 10, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 84, 0, 0, 10, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 248, 0, 0, 0, 248, 0, + 0, 0, 248, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 255, 0, + 0, 0, 54, 0, 0, 8, + 178, 0, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 0, 0, 248, 7, + 0, 0, 0, 0, 0, 0, + 248, 7, 0, 0, 18, 0, + 0, 1, 32, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 254, 255, 255, 255, 254, 255, + 255, 255, 254, 255, 255, 255, + 0, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 6, 0, 0, 0, 6, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 254, 255, 255, 255, + 254, 255, 255, 255, 254, 255, + 255, 255, 0, 0, 0, 0, + 30, 0, 0, 7, 114, 0, + 16, 0, 8, 0, 0, 0, + 86, 5, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 54, 0, + 0, 5, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 54, 0, 0, 5, 114, 0, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 255, 0, 0, 0, 54, 0, + 0, 8, 178, 0, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 0, 0, + 0, 0, 255, 0, 0, 0, + 18, 0, 0, 1, 32, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 84, 0, 0, 10, 242, 0, + 16, 0, 9, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 248, 0, + 0, 0, 248, 0, 0, 0, + 248, 0, 0, 0, 252, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 85, 0, 0, 7, 130, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 10, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 84, 0, 0, 10, 242, 0, + 16, 0, 9, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 198, 6, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 248, 0, + 0, 0, 252, 0, 0, 0, + 248, 0, 0, 0, 248, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 85, 0, 0, 7, 130, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 5, 0, 0, 0, 198, 6, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 10, 0, + 0, 0, 54, 0, 0, 5, + 114, 0, 16, 0, 8, 0, + 0, 0, 198, 2, 16, 0, + 4, 0, 0, 0, 54, 0, + 0, 5, 18, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 18, 0, 0, 1, + 32, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 10, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 84, 0, 0, 10, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 254, 0, 0, 0, 254, 0, + 0, 0, 254, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 84, 0, + 0, 10, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 254, 0, 0, 0, + 254, 0, 0, 0, 254, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 18, 0, 0, 1, 32, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 254, 255, 255, 255, + 254, 255, 255, 255, 254, 255, + 255, 255, 254, 255, 255, 255, + 30, 0, 0, 7, 242, 0, + 16, 0, 6, 0, 0, 0, + 6, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 254, 255, + 255, 255, 254, 255, 255, 255, + 254, 255, 255, 255, 254, 255, + 255, 255, 30, 0, 0, 7, + 242, 0, 16, 0, 4, 0, + 0, 0, 86, 5, 16, 0, + 3, 0, 0, 0, 198, 6, + 16, 0, 9, 0, 0, 0, + 54, 0, 0, 5, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 54, 0, 0, 5, + 242, 0, 16, 0, 5, 0, + 0, 0, 198, 6, 16, 0, + 4, 0, 0, 0, 54, 0, + 0, 5, 114, 0, 16, 0, + 8, 0, 0, 0, 198, 2, + 16, 0, 4, 0, 0, 0, + 54, 0, 0, 5, 146, 0, + 16, 0, 4, 0, 0, 0, + 246, 15, 16, 0, 6, 0, + 0, 0, 18, 0, 0, 1, + 30, 0, 0, 10, 242, 0, + 16, 0, 9, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 84, 0, + 0, 10, 242, 0, 16, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 85, 0, 0, 7, + 242, 0, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 9, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 62, 0, 0, 0, 62, 0, + 0, 0, 62, 0, 0, 0, + 62, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 9, 0, 0, 0, 6, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 41, 0, 0, 7, + 242, 0, 16, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 85, 0, 0, 7, 242, 0, + 16, 0, 10, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 4, 0, 0, 0, 54, 6, + 16, 0, 6, 0, 0, 0, + 54, 6, 16, 0, 10, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 10, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, + 84, 0, 0, 10, 242, 0, + 16, 0, 10, 0, 0, 0, + 70, 14, 16, 0, 10, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 85, 0, + 0, 7, 242, 0, 16, 0, + 10, 0, 0, 0, 70, 14, + 16, 0, 10, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 10, 0, + 0, 0, 70, 14, 16, 0, + 10, 0, 0, 0, 2, 64, + 0, 0, 62, 0, 0, 0, + 62, 0, 0, 0, 62, 0, + 0, 0, 62, 0, 0, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 10, 0, 0, 0, + 86, 5, 16, 0, 3, 0, + 0, 0, 198, 9, 16, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 242, 0, 16, 0, + 8, 0, 0, 0, 134, 7, + 16, 0, 10, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 85, 0, 0, 7, + 242, 0, 16, 0, 11, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 11, 0, 0, 0, 54, 0, + 0, 5, 18, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 41, 0, 0, 7, 50, 0, + 16, 0, 3, 0, 0, 0, + 70, 0, 16, 0, 10, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 54, 0, + 0, 5, 114, 0, 16, 0, + 7, 0, 0, 0, 214, 6, + 16, 0, 4, 0, 0, 0, + 54, 0, 0, 5, 162, 0, + 16, 0, 4, 0, 0, 0, + 86, 1, 16, 0, 3, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 21, 0, + 0, 1, 21, 0, 0, 1, + 21, 0, 0, 1, 21, 0, + 0, 1, 21, 0, 0, 1, + 40, 0, 0, 5, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 40, 0, 0, 5, + 130, 0, 16, 0, 9, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 10, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 79, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 55, 0, 0, 9, 34, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 2, 0, 0, 0, 31, 0, + 0, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 194, 0, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 10, 0, 0, 0, 6, 4, + 16, 0, 10, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 35, 0, + 0, 9, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 11, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 8, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 50, 0, + 16, 0, 3, 0, 0, 0, + 70, 0, 16, 0, 3, 0, + 0, 0, 70, 0, 16, 0, + 10, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 35, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 30, 0, 0, 8, + 34, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 128, + 65, 0, 0, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 11, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 34, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 34, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 34, 0, + 0, 7, 130, 0, 16, 0, + 10, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 43, 0, 0, 5, 18, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 56, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 253, 255, 125, 66, + 28, 0, 0, 5, 18, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 79, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 11, 0, + 0, 0, 166, 10, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 5, 0, + 0, 0, 166, 10, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 12, 0, + 0, 0, 166, 10, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 8, 0, + 0, 0, 166, 10, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 34, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 34, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 43, 0, 0, 5, + 18, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 56, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 253, 255, + 125, 66, 28, 0, 0, 5, + 18, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 79, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 13, 0, 0, 0, + 166, 10, 16, 0, 2, 0, + 0, 0, 38, 13, 16, 0, + 4, 0, 0, 0, 134, 7, + 16, 0, 4, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 11, 0, 0, 0, + 10, 0, 16, 0, 13, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 13, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 12, 0, 0, 0, 42, 0, + 16, 0, 13, 0, 0, 0, + 54, 0, 0, 5, 242, 0, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 12, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 13, 0, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 5, + 130, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 54, 0, + 0, 5, 242, 0, 16, 0, + 11, 0, 0, 0, 70, 14, + 16, 0, 7, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 21, 0, + 0, 1, 18, 0, 0, 1, + 31, 0, 0, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 18, 0, 0, 1, + 31, 0, 4, 3, 58, 0, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 144, 144, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 6, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 144, + 144, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 38, 0, 0, 8, 0, 208, + 0, 0, 50, 0, 16, 0, + 3, 0, 0, 0, 70, 0, + 16, 0, 10, 0, 0, 0, + 70, 0, 16, 0, 10, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 35, 0, 0, 9, 130, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 35, 0, 0, 9, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 9, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 50, 0, + 16, 0, 3, 0, 0, 0, + 70, 0, 16, 0, 3, 0, + 0, 0, 70, 0, 16, 0, + 10, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 35, 0, 0, 9, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 34, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 34, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 43, 0, 0, 5, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 253, 255, + 125, 66, 28, 0, 0, 5, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 79, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 11, 0, 0, 0, + 86, 5, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 7, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 5, 0, 0, 0, + 86, 5, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 54, 0, 0, 5, + 114, 0, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 55, 0, + 0, 9, 242, 0, 16, 0, + 6, 0, 0, 0, 86, 5, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 55, 0, + 0, 9, 242, 0, 16, 0, + 8, 0, 0, 0, 86, 5, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 21, 0, + 0, 1, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 14, 16, 0, + 11, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 84, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 10, 0, 16, 0, 2, 0, + 0, 0, 32, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 6, 0, + 0, 0, 4, 0, 0, 0, + 60, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 55, 0, + 0, 15, 98, 0, 16, 0, + 3, 0, 0, 0, 6, 0, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 12, 98, 0, 16, 0, + 3, 0, 0, 0, 246, 15, + 16, 0, 2, 0, 0, 0, + 86, 6, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 12, 98, 0, 16, 0, + 3, 0, 0, 0, 166, 10, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 86, 6, 16, 0, + 3, 0, 0, 0, 55, 0, + 0, 12, 50, 0, 16, 0, + 3, 0, 0, 0, 6, 0, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 150, 5, 16, 0, + 3, 0, 0, 0, 32, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 85, 0, 0, 8, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 144, 144, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 7, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 3, 16, 0, 2, 0, + 0, 0, 70, 3, 16, 0, + 4, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 85, 0, 0, 8, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 144, 144, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 55, 0, 0, 9, 130, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 8, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 128, 65, 0, 0, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 79, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 55, 0, + 0, 9, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 2, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 50, 0, 16, 0, 2, 0, + 0, 0, 70, 0, 16, 0, + 5, 0, 0, 0, 70, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 35, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 34, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 8, 242, 0, + 16, 0, 6, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 8, + 242, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 128, + 65, 0, 0, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 6, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 194, 0, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 5, 0, 0, 0, 6, 4, + 16, 0, 7, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 35, 0, + 0, 9, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 33, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 33, 0, 0, 7, + 66, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 60, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 34, 0, + 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 43, 0, 0, 5, + 82, 0, 16, 0, 2, 0, + 0, 0, 6, 2, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 253, 255, + 125, 66, 14, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 28, 0, 0, 5, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 162, 0, 16, 0, 3, 0, + 0, 0, 6, 4, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 30, 0, + 0, 10, 50, 0, 16, 0, + 6, 0, 0, 0, 214, 5, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 11, 0, + 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 78, 0, 0, 11, + 0, 208, 0, 0, 50, 0, + 16, 0, 6, 0, 0, 0, + 70, 0, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 68, 0, 0, 0, 68, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 79, 0, + 0, 10, 50, 0, 16, 0, + 7, 0, 0, 0, 214, 5, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 12, + 50, 0, 16, 0, 6, 0, + 0, 0, 70, 0, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 15, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 6, 0, + 0, 0, 55, 0, 0, 11, + 18, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 10, 144, + 208, 0, 64, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 55, 0, + 0, 9, 34, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 18, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 33, 0, 0, 10, 194, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 86, 1, 16, 0, + 2, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 34, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 43, 0, 0, 5, 50, 0, + 16, 0, 2, 0, 0, 0, + 70, 0, 16, 0, 2, 0, + 0, 0, 56, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 253, 255, 125, 66, + 14, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 28, 0, + 0, 5, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 55, 0, + 0, 11, 18, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 10, 144, 208, 0, 64, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 55, 0, 0, 9, 18, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 55, 0, 0, 9, 50, 0, + 16, 0, 2, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 70, 0, 16, 0, + 7, 0, 0, 0, 22, 5, + 16, 0, 7, 0, 0, 0, + 18, 0, 0, 1, 38, 0, + 0, 8, 0, 208, 0, 0, + 194, 0, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 5, 0, 0, 0, 6, 4, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 35, 0, + 0, 9, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 35, 0, + 0, 9, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 8, 242, 0, 16, 0, + 6, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 8, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 128, 65, 0, + 0, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 6, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 98, 0, + 16, 0, 3, 0, 0, 0, + 6, 1, 16, 0, 4, 0, + 0, 0, 6, 1, 16, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 35, 0, 0, 9, + 130, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 35, 0, 0, 9, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 33, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 33, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 34, 0, 0, 7, + 34, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 43, 0, 0, 5, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 253, 255, 125, 66, + 43, 0, 0, 5, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 14, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 28, 0, 0, 5, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 78, 0, 0, 8, + 0, 208, 0, 0, 18, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 68, 0, 0, 0, 79, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 55, 0, 0, 9, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 55, 0, 0, 11, + 130, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 10, 144, + 208, 0, 64, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 55, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 21, 0, 0, 1, 168, 0, + 0, 8, 50, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 70, 0, + 16, 0, 2, 0, 0, 0, + 21, 0, 0, 1, 31, 0, + 0, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 31, 0, + 0, 3, 58, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 128, 255, 255, 255, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 68, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 25, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 224, 1, + 0, 0, 0, 0, 0, 224, + 0, 0, 224, 1, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 84, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 21, 0, + 0, 0, 1, 0, 0, 10, + 146, 0, 16, 0, 2, 0, + 0, 0, 6, 4, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 30, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 30, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 10, 146, 0, 16, 0, + 3, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 5, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 6, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 25, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 0, 224, 1, 0, + 224, 1, 0, 0, 0, 0, + 0, 224, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 84, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 13, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 1, 0, 0, 10, 146, 0, + 16, 0, 4, 0, 0, 0, + 6, 4, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 30, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 30, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 9, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 224, 1, + 0, 224, 1, 0, 224, 1, + 0, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 84, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 11, 0, 0, 0, 10, 0, + 16, 0, 10, 0, 0, 0, + 1, 64, 0, 0, 21, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 11, 0, + 0, 0, 26, 0, 16, 0, + 10, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 11, 0, 0, 0, + 42, 0, 16, 0, 10, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 30, 0, 0, 30, 0, + 0, 30, 0, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 11, 0, 0, 0, + 60, 0, 0, 7, 18, 0, + 16, 0, 12, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 13, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 68, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 13, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 85, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 30, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 11, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 12, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 76, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 85, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 30, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 11, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 13, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 32, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 84, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 64, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 128, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 84, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 1, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 2, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 84, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 4, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 19, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 84, 0, + 0, 9, 130, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 26, 144, 208, 0, 128, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 12, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 18, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 48, 0, 0, 1, + 79, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 3, 0, + 4, 3, 26, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 18, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 12, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 12, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 22, 0, 0, 1, + 79, 0, 0, 9, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 144, 208, 0, 128, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 29, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 12, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 12, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 18, 0, 0, 1, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 48, 0, 0, 1, + 79, 0, 0, 9, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 144, 208, 0, 128, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 3, 0, 4, 3, 58, 0, + 16, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 242, 255, 255, 255, 41, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 22, 0, + 0, 1, 21, 0, 0, 1, + 54, 0, 0, 5, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 48, 0, + 0, 1, 79, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 42, 144, 208, 0, + 128, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 3, 0, 4, 3, + 10, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 241, 255, 255, 255, + 41, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 22, 0, 0, 1, 54, 0, + 0, 5, 130, 0, 16, 0, + 12, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 48, 0, 0, 1, + 80, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 3, 0, + 4, 3, 26, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 240, 255, + 255, 255, 41, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 60, 0, 0, 7, 130, 0, + 16, 0, 12, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 12, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 22, 0, 0, 1, + 18, 0, 0, 1, 32, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 68, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 22, 0, 0, 0, + 1, 0, 0, 10, 82, 0, + 16, 0, 2, 0, 0, 0, + 6, 1, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 63, + 0, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 84, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 0, 192, 15, 0, + 192, 15, 0, 0, 0, 0, + 0, 192, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 18, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 240, 3, + 0, 240, 3, 0, 240, 3, + 0, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 84, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 6, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 252, 0, 0, 252, 0, + 0, 252, 0, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 18, 0, 16, 0, 12, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 63, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 12, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 92, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 1, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 1, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 1, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 2, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 18, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 32, 0, + 0, 9, 34, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 26, 144, 208, 0, 128, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 15, 0, + 0, 0, 14, 0, 0, 0, + 13, 0, 0, 0, 12, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 30, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 27, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 21, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 11, 0, 0, 0, 10, 0, + 0, 0, 9, 0, 0, 0, + 8, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 18, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 7, 0, 0, 0, 6, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 130, 0, 16, 0, 12, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 29, 0, 0, 0, 30, 0, + 0, 10, 194, 0, 16, 0, + 2, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 26, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 20, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 12, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 18, 0, + 0, 1, 32, 0, 0, 9, + 34, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 26, 144, + 208, 0, 128, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 86, 5, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 15, 0, 0, 0, + 14, 0, 0, 0, 13, 0, + 0, 0, 12, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 29, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 20, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 11, 0, + 0, 0, 10, 0, 0, 0, + 9, 0, 0, 0, 8, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 14, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 7, 0, + 0, 0, 6, 0, 0, 0, + 5, 0, 0, 0, 4, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 130, 0, 16, 0, + 12, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 10, + 194, 0, 16, 0, 2, 0, + 0, 0, 86, 5, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 12, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 18, 0, 0, 1, + 32, 0, 0, 9, 34, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 26, 144, 208, 0, + 128, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 15, 0, 0, 0, 14, 0, + 0, 0, 13, 0, 0, 0, + 12, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 29, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 26, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 20, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 86, 5, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 11, 0, 0, 0, + 10, 0, 0, 0, 9, 0, + 0, 0, 8, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 11, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 86, 5, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 7, 0, 0, 0, + 6, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 130, 0, 16, 0, + 12, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 29, 0, 0, 0, + 30, 0, 0, 10, 194, 0, + 16, 0, 2, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 20, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 12, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 18, 0, 0, 1, 30, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 15, 0, + 0, 0, 14, 0, 0, 0, + 13, 0, 0, 0, 12, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 29, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 26, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 11, 0, 0, 0, 10, 0, + 0, 0, 9, 0, 0, 0, + 8, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 17, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 7, 0, 0, 0, 6, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 130, 0, 16, 0, 12, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 29, 0, 0, 0, 30, 0, + 0, 10, 194, 0, 16, 0, + 2, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 26, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 20, 0, 0, 0, 60, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 60, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 12, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 21, 0, 0, 1, 18, 0, + 0, 1, 32, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 254, + 255, 255, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 68, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 62, 0, 0, 128, 15, + 0, 0, 224, 3, 0, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 84, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 0, 192, 7, 0, + 0, 240, 1, 0, 0, 124, + 0, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 30, 0, + 0, 10, 146, 0, 16, 0, + 2, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 248, 0, + 0, 0, 62, 0, 0, 128, + 15, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 8, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 84, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 9, 0, 0, 0, 10, 0, + 16, 0, 8, 0, 0, 0, + 1, 64, 0, 0, 21, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 8, 0, 0, 0, 1, 64, + 0, 0, 19, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 31, 0, 0, 192, 7, + 0, 0, 240, 1, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 9, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 68, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 11, 0, 0, 0, + 10, 0, 16, 0, 10, 0, + 0, 0, 1, 64, 0, 0, + 26, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 11, 0, 0, 0, 26, 0, + 16, 0, 10, 0, 0, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 11, 0, + 0, 0, 42, 0, 16, 0, + 10, 0, 0, 0, 1, 64, + 0, 0, 22, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 224, 0, 0, + 0, 248, 0, 0, 0, 62, + 0, 0, 0, 0, 60, 0, + 0, 7, 18, 0, 16, 0, + 12, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 11, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 13, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 13, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 13, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 84, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 18, 0, 16, 0, + 14, 0, 0, 0, 10, 0, + 16, 0, 13, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 85, 0, 0, 7, + 34, 0, 16, 0, 14, 0, + 0, 0, 26, 0, 16, 0, + 13, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 10, 146, 0, + 16, 0, 3, 0, 0, 0, + 6, 4, 16, 0, 14, 0, + 0, 0, 2, 64, 0, 0, + 124, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 12, 0, 0, 0, + 26, 0, 16, 0, 11, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 11, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 13, 0, + 0, 0, 1, 64, 0, 0, + 27, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 192, 30, 0, 0, 7, + 66, 0, 16, 0, 12, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 92, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 18, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 48, 0, 0, 1, + 79, 0, 0, 9, 34, 0, + 16, 0, 2, 0, 0, 0, + 26, 144, 208, 0, 128, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 3, 0, 4, 3, 26, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 60, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 22, 0, 0, 1, 54, 0, + 0, 5, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 34, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 48, 0, 0, 1, + 79, 0, 0, 9, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 144, 208, 0, 128, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 3, 0, 4, 3, 42, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 22, 0, 0, 1, 54, 0, + 0, 5, 130, 0, 16, 0, + 12, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 48, 0, 0, 1, + 80, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 3, 0, + 4, 3, 10, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 60, 0, + 0, 7, 130, 0, 16, 0, + 12, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 12, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 22, 0, 0, 1, 18, 0, + 0, 1, 32, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 167, 0, 0, 9, + 114, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 70, 242, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 252, 1, 0, + 192, 31, 0, 0, 252, 1, + 0, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 84, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 254, 0, 0, 224, 15, 0, + 0, 254, 0, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 114, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 68, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 19, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 7, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 127, 0, 0, 240, 7, + 0, 0, 127, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 84, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 9, 0, 0, 0, + 10, 0, 16, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 30, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 8, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 1, 64, + 0, 0, 22, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 128, 0, 0, + 0, 248, 0, 0, 128, 63, + 0, 0, 0, 0, 60, 0, + 0, 7, 18, 0, 16, 0, + 12, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 9, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 84, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 18, 0, 16, 0, 11, 0, + 0, 0, 10, 0, 16, 0, + 10, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 85, 0, 0, 7, 34, 0, + 16, 0, 11, 0, 0, 0, + 26, 0, 16, 0, 10, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 1, 0, + 0, 10, 146, 0, 16, 0, + 2, 0, 0, 0, 6, 4, + 16, 0, 11, 0, 0, 0, + 2, 64, 0, 0, 63, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 50, 0, 16, 0, 2, 0, + 0, 0, 150, 5, 16, 0, + 3, 0, 0, 0, 198, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 50, 0, + 16, 0, 2, 0, 0, 0, + 150, 5, 16, 0, 5, 0, + 0, 0, 70, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 50, 0, 16, 0, + 2, 0, 0, 0, 150, 5, + 16, 0, 7, 0, 0, 0, + 70, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 50, 0, 16, 0, 2, 0, + 0, 0, 150, 5, 16, 0, + 9, 0, 0, 0, 70, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 68, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 30, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 64, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 84, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 12, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 84, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 48, 0, 0, 1, 79, 0, + 0, 9, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 144, + 208, 0, 128, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 3, 0, + 4, 3, 42, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 60, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 22, 0, + 0, 1, 54, 0, 0, 5, + 130, 0, 16, 0, 12, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 48, 0, 0, 1, 80, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 3, 0, 4, 3, + 42, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 60, 0, 0, 7, + 130, 0, 16, 0, 12, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 12, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 22, 0, + 0, 1, 54, 0, 0, 5, + 34, 0, 16, 0, 12, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 18, 0, + 0, 1, 32, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 96, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 25, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 31, 0, 0, 0, 0, + 124, 0, 0, 0, 0, 240, + 192, 15, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 84, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 82, 0, 16, 0, 4, 0, + 0, 0, 6, 3, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 20, 0, 0, 0, 1, 0, + 0, 10, 178, 0, 16, 0, + 3, 0, 0, 0, 70, 8, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 224, + 3, 0, 0, 0, 128, 15, + 0, 0, 0, 0, 0, 240, + 3, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 12, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 76, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 85, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 62, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 18, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 1, 0, 0, 10, 146, 0, + 16, 0, 1, 0, 0, 0, + 6, 4, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 86, 5, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 50, 0, + 16, 0, 3, 0, 0, 0, + 70, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 19, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 21, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 22, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 25, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 86, 5, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 5, 0, 0, 0, + 6, 0, 0, 0, 7, 0, + 0, 0, 8, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 27, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 31, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 29, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 12, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 9, 0, + 0, 0, 10, 0, 0, 0, + 11, 0, 0, 0, 12, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 17, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 9, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 20, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 30, 0, 0, 10, + 226, 0, 16, 0, 5, 0, + 0, 0, 86, 5, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 14, 0, + 0, 0, 15, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 6, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 11, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 23, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 13, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 29, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 12, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 20, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 130, 0, 16, 0, + 12, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 18, 0, 0, 1, + 32, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 68, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 21, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 18, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 127, + 0, 0, 0, 0, 192, 31, + 240, 7, 0, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 84, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 10, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 26, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 128, + 63, 0, 0, 0, 0, 224, + 0, 248, 3, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 18, 0, 16, 0, + 12, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 88, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 15, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 34, 0, 16, 0, + 12, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 96, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 5, 0, + 0, 0, 6, 0, 0, 0, + 7, 0, 0, 0, 8, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 10, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 14, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 50, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 17, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 86, 5, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 9, 0, 0, 0, + 10, 0, 0, 0, 11, 0, + 0, 0, 12, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 19, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 18, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 21, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 23, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 25, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 5, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 13, 0, 0, 0, 14, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 6, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 27, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 26, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 29, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 31, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 30, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 12, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 130, 0, 16, 0, 12, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 18, 0, 0, 1, 32, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 20, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 128, 63, 0, 0, 0, 0, + 224, 15, 248, 3, 0, 0, + 0, 0, 254, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 64, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 84, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 27, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 9, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 23, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 192, 31, 0, 0, 0, + 0, 240, 0, 252, 1, 0, + 0, 0, 0, 127, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 12, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 84, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 68, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 31, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 12, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 12, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 2, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 5, 0, 0, 0, 6, 0, + 0, 0, 7, 0, 0, 0, + 8, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 20, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 12, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 9, 0, + 0, 0, 10, 0, 0, 0, + 11, 0, 0, 0, 12, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 12, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 10, 210, 0, 16, 0, + 1, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 13, 0, + 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 15, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 20, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 60, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 60, 0, + 0, 7, 130, 0, 16, 0, + 12, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 18, 0, 0, 1, + 41, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 128, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 11, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 19, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 1, 0, 0, 10, + 210, 0, 16, 0, 1, 0, + 0, 0, 6, 9, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 192, 7, 0, + 0, 0, 0, 0, 0, 0, + 192, 7, 0, 124, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 84, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 12, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 248, 0, + 128, 15, 0, 0, 0, 0, + 0, 248, 0, 128, 15, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 68, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 1, 64, + 0, 0, 21, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 6, 0, 0, 0, + 26, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 9, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 17, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 31, + 0, 240, 1, 0, 0, 0, + 240, 1, 0, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 84, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 8, 0, 0, 0, 10, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 26, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 8, 0, + 0, 0, 26, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 22, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 224, + 0, 0, 62, 0, 224, 3, + 0, 0, 0, 0, 0, 62, + 60, 0, 0, 7, 18, 0, + 16, 0, 12, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 8, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 84, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 18, 0, 16, 0, + 10, 0, 0, 0, 10, 0, + 16, 0, 9, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 85, 0, 0, 7, + 34, 0, 16, 0, 10, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 10, 146, 0, + 16, 0, 6, 0, 0, 0, + 6, 4, 16, 0, 10, 0, + 0, 0, 2, 64, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 124, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 12, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 31, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 68, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 1, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 64, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 84, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 29, 0, + 0, 0, 1, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 128, + 30, 0, 0, 7, 66, 0, + 16, 0, 12, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 68, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 48, 0, + 0, 1, 79, 0, 0, 9, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 144, 208, 0, + 128, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 3, 0, 4, 3, + 42, 0, 16, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 66, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 60, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 22, 0, 0, 1, + 54, 0, 0, 5, 130, 0, + 16, 0, 12, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 48, 0, + 0, 1, 80, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 3, 0, 4, 3, 26, 0, + 16, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 60, 0, 0, 7, 130, 0, + 16, 0, 12, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 12, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 22, 0, 0, 1, + 21, 0, 0, 1, 21, 0, + 0, 1, 21, 0, 0, 1, + 21, 0, 0, 1, 21, 0, + 0, 1, 21, 0, 0, 1, + 21, 0, 0, 1, 168, 0, + 0, 9, 242, 224, 17, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 12, 0, 0, 0, 21, 0, + 0, 1, 62, 0, 0, 1 +}; diff --git a/DirectXTex/Shaders/Compiled/BC7Encode_TryMode02CS.inc b/DirectXTex/Shaders/Compiled/BC7Encode_TryMode02CS.inc new file mode 100644 index 0000000..da52f6d --- /dev/null +++ b/DirectXTex/Shaders/Compiled/BC7Encode_TryMode02CS.inc @@ -0,0 +1,3824 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +/// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_4_0 +dcl_globalFlags refactoringAllowed +dcl_immediateConstantBuffer { { -0.000000, 15, 0, 0}, + { 65981199646559862000000000.000000, 15, 0, 0}, + { 15358528172589056.000000, 15, 0, 0}, + { 3584194248704.000000, 15, 0, 1}, + { -0.000000, 15, 0, 1}, + { -0.000000, 15, 0, 1}, + { 14680365989888.000000, 15, 0, 1}, + { 15362462362632192.000000, 15, 0, 2}, + { -0.000000, 15, 0, 2}, + { -0.000000, 15, 0, 2}, + { -0.000000, 15, 0, 2}, + { -0.000000, 15, 0, 2}, + { -0.000000, 15, 0, 3}, + { -0.000000, 15, 0, 3}, + { -0.000000, 15, 0, 3}, + { 0.000000, 15, 0, 3}, + { -0.000000, 15, 0, 4}, + { 0.000000, 2, 0, 4}, + { -0.000000, 8, 0, 4}, + { 22076467445760.000000, 2, 0, 4}, + { -0.000000, 2, 0, 5}, + { 70798013459086900000000000.000000, 8, 0, 5}, + { -0.000000, 8, 0, 5}, + { 0.000000, 15, 0, 5}, + { 0x0050a4a4, 2, 0, 6}, + { -0.000000, 8, 0, 6}, + { 0.000000, 2, 0, 6}, + { 17610885206241624000000000.000000, 2, 0, 6}, + { -0.000000, 8, 0, 6}, + { -0.000000, 8, 0, 7}, + { 22097854464.000000, 2, 0, 7}, + { 65888818352238725000000000.000000, 2, 0, 7}, + { -0.000000, 15, 0, 7}, + { 19411582976.000000, 15, 0, 8}, + { -0.000000, 6, 0, 8}, + { 0.000000, 8, 0, 8}, + { 0.000000, 2, 0, 8}, + { 0.000000, 8, 0, 9}, + { 0.000000, 15, 0, 9}, + { 22151331840.000000, 15, 0, 9}, + { 9304358912.000000, 2, 0, 9}, + { -0.000000, 8, 0, 10}, + { 271536072765004600000000.000000, 2, 0, 10}, + { -0.000000, 2, 0, 10}, + { 21517107200.000000, 2, 0, 10}, + { 12724757752857623000000000.000000, 15, 0, 10}, + { 1365.320801, 15, 0, 11}, + { 272006464738884190000000.000000, 6, 0, 11}, + { -0.000000, 6, 0, 11}, + { 5783798415360.000000, 2, 0, 11}, + { -0.000000, 6, 0, 12}, + { -0.000000, 8, 0, 12}, + { -0.000000, 15, 0, 12}, + { -0.000000, 15, 0, 12}, + { -0.000000, 2, 0, 13}, + { -0.000000, 2, 0, 13}, + { -0.000000, 15, 0, 13}, + { -0.000000, 15, 0, 13}, + { -0.000000, 15, 0, 14}, + { -0.000000, 15, 0, 14}, + { 4.007874, 15, 0, 14}, + { -0.000000, 2, 0, 14}, + { -0.000000, 2, 0, 15}, + { 0.000000, 15, 0, 15}, + { 0, 3, 15, 0}, + { 4, 3, 8, 0}, + { 9, 15, 8, 0}, + { 13, 15, 3, 0}, + { 17, 8, 15, 0}, + { 21, 3, 15, 1}, + { 26, 15, 3, 1}, + { 30, 15, 8, 1}, + { 34, 8, 15, 1}, + { 38, 8, 15, 1}, + { 43, 6, 15, 1}, + { 47, 6, 15, 1}, + { 51, 6, 15, 1}, + { 55, 5, 15, 1}, + { 60, 3, 15, 2}, + { 64, 3, 8, 2}, + { 0, 3, 15, 2}, + { 9, 3, 8, 2}, + { 18, 8, 15, 2}, + { 27, 15, 3, 2}, + { 37, 3, 15, 2}, + { 46, 3, 8, 2}, + { 55, 6, 15, 2}, + { 64, 10, 8, 3}, + { 0, 5, 3, 3}, + { 0, 8, 15, 3}, + { 0, 8, 6, 3}, + { 0, 6, 10, 3}, + { 0, 8, 15, 3}, + { 0, 5, 15, 3}, + { 0, 15, 10, 3}, + { 0, 15, 8, 3}, + { 0, 8, 15, 3}, + { 21, 15, 3, 4}, + { 43, 3, 15, 4}, + { 64, 5, 10, 4}, + { 0, 6, 10, 4}, + { 0, 10, 8, 4}, + { 0, 8, 9, 4}, + { 0, 15, 10, 4}, + { 0, 15, 6, 4}, + { 0, 3, 15, 4}, + { 0, 15, 8, 5}, + { 0, 5, 15, 5}, + { 0, 15, 3, 5}, + { 0, 15, 6, 5}, + { 0, 15, 6, 5}, + { 0, 15, 8, 5}, + { 0, 3, 15, 5}, + { 0, 15, 3, 5}, + { 0, 5, 15, 5}, + { 0, 5, 15, 6}, + { 0, 5, 15, 6}, + { 0, 8, 15, 6}, + { 0, 5, 15, 6}, + { 0, 10, 15, 6}, + { 0, 5, 15, 6}, + { 0, 10, 15, 6}, + { 0, 8, 15, 6}, + { 0, 13, 15, 6}, + { 0, 15, 3, 7}, + { 0, 12, 15, 7}, + { 0, 3, 15, 7}, + { 0, 3, 8, 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, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3} } +dcl_constantbuffer cb0[2], immediateIndexed +dcl_resource_texture2d (float,float,float,float) t0 +dcl_resource_structured t1, 16 +dcl_uav_structured u0, 16 +dcl_input vThreadIDInGroupFlattened +dcl_input vThreadGroupID.x +dcl_temps 29 +dcl_indexableTemp x0[12], 4 +dcl_indexableTemp x1[3], 4 +dcl_indexableTemp x2[3], 4 +dcl_indexableTemp x3[3], 4 +dcl_tgsm_structured g0, 100, 64 +dcl_thread_group 64, 1, 1 +iadd r0.x, vThreadGroupID.x, cb0[1].x +ult r1.xyzw, vThreadIDInGroupFlattened.xxxx, l(16, 32, 8, 4) +if_nz r1.x + udiv r0.y, null, r0.x, cb0[0].y + imad r0.z, -r0.y, cb0[0].y, r0.x + ishl r0.z, r0.z, l(2) + ishl r0.y, r0.y, l(2) + and r0.w, vThreadIDInGroupFlattened.x, l(3) + iadd r2.x, r0.w, r0.z + ushr r0.z, vThreadIDInGroupFlattened.x, l(2) + iadd r2.y, r0.z, r0.y + mov r2.zw, l(0,0,0,0) + ld r2.xyzw, r2.xyzw, t0.xyzw + mul r2.xyzw, r2.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000) + ftou r2.xyzw, r2.xyzw + umin r2.xyzw, r2.xyzw, l(255, 255, 255, 255) + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(0), r2.xyzw +endif +sync_g_t +store_structured g0.x, vThreadIDInGroupFlattened.x, l(16), l(-1) +movc r0.y, cb0[0].w, l(64), l(16) +ult r0.y, vThreadIDInGroupFlattened.x, r0.y +if_nz r0.y + iadd r0.y, vThreadIDInGroupFlattened.x, l(64) + mov x0[0].x, l(-1) + mov x0[1].x, l(-1) + mov x0[2].x, l(-1) + mov x0[0].y, l(0) + mov x0[1].y, l(0) + mov x0[2].y, l(0) + mov x0[4].x, l(-1) + mov x0[5].x, l(-1) + mov x0[6].x, l(-1) + mov x0[4].y, l(0) + mov x0[5].y, l(0) + mov x0[6].y, l(0) + mov x0[8].x, l(-1) + mov x0[9].x, l(-1) + mov x0[10].x, l(-1) + mov x0[8].y, l(0) + mov x0[9].y, l(0) + mov x0[10].y, l(0) + iadd r0.z, r0.y, l(-64) + mov r0.w, l(0) + loop + uge r2.x, r0.w, l(16) + breakc_nz r2.x + ld_structured r2.xyz, r0.w, l(0), g0.xyzx + ishl r2.w, r0.w, l(1) + ushr r2.w, icb[r0.z + 0].x, r2.w + and r2.w, r2.w, l(3) + ieq r3.x, r2.w, l(2) + if_nz r3.x + mov r3.x, x0[8].x + mov r3.y, x0[9].x + mov r3.z, x0[10].x + umin r3.xyz, r2.xyzx, r3.xyzx + mov x0[8].x, r3.x + mov x0[9].x, r3.y + mov x0[10].x, r3.z + mov r3.x, x0[8].y + mov r3.y, x0[9].y + mov r3.z, x0[10].y + umax r3.xyz, r2.xyzx, r3.xyzx + mov x0[8].y, r3.x + mov x0[9].y, r3.y + mov x0[10].y, r3.z + else + ieq r2.w, r2.w, l(1) + if_nz r2.w + mov r3.x, x0[4].x + mov r3.y, x0[5].x + mov r3.z, x0[6].x + umin r3.xyz, r2.xyzx, r3.xyzx + mov x0[4].x, r3.x + mov x0[5].x, r3.y + mov x0[6].x, r3.z + mov r3.x, x0[4].y + mov r3.y, x0[5].y + mov r3.z, x0[6].y + umax r3.xyz, r2.xyzx, r3.xyzx + mov x0[4].y, r3.x + mov x0[5].y, r3.y + mov x0[6].y, r3.z + else + mov r3.x, x0[0].x + mov r3.y, x0[1].x + mov r3.z, x0[2].x + umin r3.xyz, r2.xyzx, r3.xyzx + mov x0[0].x, r3.x + mov x0[1].x, r3.y + mov x0[2].x, r3.z + mov r3.x, x0[0].y + mov r3.y, x0[1].y + mov r3.z, x0[2].y + umax r2.xyz, r2.xyzx, r3.xyzx + mov x0[0].y, r2.x + mov x0[1].y, r2.y + mov x0[2].y, r2.z + endif + endif + iadd r0.w, r0.w, l(1) + endloop + mov r2.x, x0[0].x + mov r2.y, x0[1].x + mov r2.z, x0[2].x + mov r3.x, x0[0].y + mov r3.y, x0[1].y + mov r3.z, x0[2].y + mov r4.x, x0[4].x + mov r4.y, x0[5].x + mov r4.z, x0[6].x + mov r5.x, x0[4].y + mov r5.y, x0[5].y + mov r5.z, x0[6].y + mov r6.x, x0[8].x + mov r6.y, x0[9].x + mov r6.z, x0[10].x + mov r7.x, x0[8].y + mov r7.y, x0[9].y + mov r7.z, x0[10].y + movc r0.w, cb0[0].w, l(1), l(64) + iadd r2.xyz, r2.xyzx, l(4, 4, 4, 0) + umin r2.xyz, r2.xyzx, l(255, 255, 255, 0) + ushr r8.xyz, r2.xyzx, l(3) + and r8.xyz, r8.xyzx, l(30, 30, 30, 0) + iadd r3.xyz, r3.xyzx, l(4, 4, 4, 0) + umin r3.xyz, r3.xyzx, l(255, 255, 255, 0) + ushr r9.xyz, r3.xyzx, l(3) + and r9.xyz, r9.xyzx, l(30, 30, 30, 0) + and r10.xyz, r2.xyzx, l(248, 248, 248, 0) + ushr r2.xyz, r2.xyzx, l(5) + iadd r2.xyz, r2.xyzx, r10.xyzx + and r10.xyz, r3.xyzx, l(248, 248, 248, 0) + ushr r3.xyz, r3.xyzx, l(5) + iadd r3.xyz, r3.xyzx, r10.xyzx + iadd r4.xyz, r4.xyzx, l(4, 4, 4, 0) + umin r4.xyz, r4.xyzx, l(255, 255, 255, 0) + ushr r10.xyz, r4.xyzx, l(3) + and r10.xyz, r10.xyzx, l(30, 30, 30, 0) + iadd r5.xyz, r5.xyzx, l(4, 4, 4, 0) + umin r5.xyz, r5.xyzx, l(255, 255, 255, 0) + ushr r11.xyz, r5.xyzx, l(3) + and r11.xyz, r11.xyzx, l(30, 30, 30, 0) + and r12.xyz, r4.xyzx, l(248, 248, 248, 0) + ushr r4.xyz, r4.xyzx, l(5) + iadd r4.xyz, r4.xyzx, r12.xyzx + and r12.xyz, r5.xyzx, l(248, 248, 248, 0) + ushr r5.xyz, r5.xyzx, l(5) + iadd r5.xyz, r5.xyzx, r12.xyzx + iadd r6.xyz, r6.xyzx, l(4, 4, 4, 0) + umin r6.xyz, r6.xyzx, l(255, 255, 255, 0) + ushr r12.xyz, r6.xyzx, l(3) + and r12.xyz, r12.xyzx, l(30, 30, 30, 0) + iadd r7.xyz, r7.xyzx, l(4, 4, 4, 0) + umin r7.xyz, r7.xyzx, l(255, 255, 255, 0) + ushr r13.xyz, r7.xyzx, l(3) + and r13.xyz, r13.xyzx, l(30, 30, 30, 0) + and r14.xyz, r6.xyzx, l(248, 248, 248, 0) + ushr r6.xyz, r6.xyzx, l(5) + iadd r6.xyz, r6.xyzx, r14.xyzx + and r14.xyz, r7.xyzx, l(248, 248, 248, 0) + ushr r7.xyz, r7.xyzx, l(5) + iadd r7.xyz, r7.xyzx, r14.xyzx + mov r2.w, r3.z + mov r3.w, r2.y + mov r4.w, r5.z + mov r5.w, r4.y + mov r6.w, r7.z + mov r7.w, r6.y + mov r14.y, l(255) + mov r2.y, cb0[0].w + mov r15.xy, l(0,-1,0,0) + mov r16.x, l(0) + loop + uge r3.z, r16.x, r0.w + breakc_nz r3.z + ieq r3.z, r2.y, l(2) + if_z r2.y + ushr r16.y, r16.x, l(1) + and r14.zw, r16.xxxy, l(0, 0, 1, 1) + iadd r17.xyz, r8.xyzx, r14.zzzz + ishl r17.xyz, r17.xyzx, l(3) + ushr r18.xyz, r17.xyzx, l(5) + iadd r17.xzw, r17.zzxy, r18.zzxy + iadd r18.xyz, r9.xyzx, r14.wwww + ishl r18.xyz, r18.xyzx, l(3) + ushr r19.xyz, r18.xyzx, l(5) + iadd r18.xyz, r18.yxzy, r19.yxzy + mov r17.y, r18.z + mov r18.w, r17.w + mov r14.zw, r18.wwwx + mov r18.x, r17.z + else + mov r17.xy, r2.zwzz + mov r14.zw, r3.wwwy + mov r18.x, r2.x + mov r18.y, r3.x + endif + mov x0[3].xy, l(255,255,0,0) + mov x0[2].xy, r17.xyxx + mov x0[1].xy, r14.zwzz + mov x0[0].xy, r18.xyxx + if_z r2.y + ushr r19.x, r16.x, l(2) + ushr r19.y, r16.x, l(3) + and r15.zw, r19.xxxy, l(0, 0, 1, 1) + iadd r19.xyz, r10.xyzx, r15.zzzz + ishl r19.xyz, r19.xyzx, l(3) + ushr r20.xyz, r19.xyzx, l(5) + iadd r19.xzw, r19.zzxy, r20.zzxy + iadd r20.xyz, r11.xyzx, r15.wwww + ishl r20.xyz, r20.xyzx, l(3) + ushr r21.xyz, r20.xyzx, l(5) + iadd r20.xyz, r20.yxzy, r21.yxzy + mov r19.y, r20.z + mov r20.w, r19.w + mov r15.zw, r20.wwwx + mov r20.x, r19.z + else + mov r19.xy, r4.zwzz + mov r15.zw, r5.wwwy + mov r20.x, r4.x + mov r20.y, r5.x + endif + mov x0[7].xy, l(255,255,0,0) + mov x0[6].xy, r19.xyxx + mov x0[5].xy, r15.zwzz + mov x0[4].xy, r20.xyxx + if_z r2.y + ushr r21.x, r16.x, l(4) + ushr r21.y, r16.x, l(5) + and r16.zw, r21.xxxy, l(0, 0, 1, 1) + iadd r21.xyz, r12.xyzx, r16.zzzz + ishl r21.xyz, r21.xyzx, l(3) + ushr r22.xyz, r21.xyzx, l(5) + iadd r21.xzw, r21.zzxy, r22.zzxy + iadd r22.xyz, r13.xyzx, r16.wwww + ishl r22.xyz, r22.xyzx, l(3) + ushr r23.xyz, r22.xyzx, l(5) + iadd r22.xyz, r22.yxzy, r23.yxzy + mov r21.y, r22.z + mov r22.w, r21.w + mov r16.zw, r22.wwwx + mov r22.x, r21.z + else + mov r21.xy, r6.zwzz + mov r16.zw, r7.wwwy + mov r22.x, r6.x + mov r22.y, r7.x + endif + mov x0[11].xy, l(255,255,0,0) + mov x0[10].xy, r21.xyxx + mov x0[9].xy, r16.zwzz + mov x0[8].xy, r22.xyxx + ineg r23.x, r18.x + ineg r23.y, r14.z + ineg r23.z, r17.x + mov r18.z, r14.w + mov r18.w, r17.y + iadd r17.xyz, r18.yzwy, r23.xyzx + mov x1[0].xyz, r17.xyzx + ineg r18.x, r20.x + ineg r18.y, r15.z + ineg r18.z, r19.x + mov r20.z, r15.w + mov r20.w, r19.y + iadd r18.xyz, r18.xyzx, r20.yzwy + mov x1[1].xyz, r18.xyzx + ineg r19.x, r22.x + ineg r19.y, r16.z + ineg r19.z, r21.x + mov r22.z, r16.w + mov r22.w, r21.y + iadd r19.xyz, r19.xyzx, r22.yzwy + mov x1[2].xyz, r19.xyzx + mov x1[2].w, l(0) + mov x1[1].w, l(0) + mov x1[0].w, l(0) + imul null, r14.zw, r17.xxxy, r17.xxxy + iadd r4.y, r14.w, r14.z + imad r4.y, r17.z, r17.z, r4.y + mov x2[0].x, r4.y + imul null, r14.zw, r18.xxxy, r18.xxxy + iadd r5.z, r14.w, r14.z + imad r5.z, r18.z, r18.z, r5.z + mov x2[1].x, r5.z + imul null, r14.zw, r19.xxxy, r19.xxxy + iadd r6.y, r14.w, r14.z + imad r6.y, r19.z, r19.z, r6.y + mov x2[2].x, r6.y + mov x3[0].x, l(0) + mov x3[1].x, icb[r0.y + 0].y + mov x3[2].x, icb[r0.y + 0].z + mov r7.z, l(0) + loop + uge r8.w, r7.z, l(3) + breakc_nz r8.w + mov r17.xyzw, x1[r7.z + 0].xyzw + mov r8.w, x3[r7.z + 0].x + ld_structured r18.xyzw, r8.w, l(0), g0.xyzw + ishl r8.w, r7.z, l(2) + mov r9.w, x0[r8.w + 0].x + mov r10.w, x0[r8.w + 1].x + mov r11.w, x0[r8.w + 2].x + mov r12.w, x0[r8.w + 3].x + ineg r19.x, r9.w + ineg r19.y, r10.w + ineg r19.z, r11.w + ineg r19.w, r12.w + iadd r18.xyzw, r18.xyzw, r19.xyzw + imul null, r14.zw, r17.xxxy, r18.xxxy + iadd r13.w, r14.w, r14.z + imad r13.w, r17.z, r18.z, r13.w + imad r13.w, r17.w, r18.w, r13.w + mov r14.z, x2[r7.z + 0].x + ilt r14.w, l(0), r14.z + ilt r15.z, l(0), r13.w + and r14.w, r14.w, r15.z + itof r13.w, r13.w + mul r13.w, r13.w, l(63.499989) + ftou r13.w, r13.w + ishl r14.z, r14.z, l(5) + ult r13.w, r14.z, r13.w + and r13.w, r13.w, r14.w + if_nz r13.w + ineg r17.xyzw, r17.xyzw + mov x1[r7.z + 0].xyzw, r17.xyzw + mov r13.w, x0[r8.w + 0].y + mov r14.z, x0[r8.w + 1].y + mov r14.w, x0[r8.w + 2].y + mov r15.z, x0[r8.w + 3].y + mov x0[r8.w + 0].x, r13.w + mov x0[r8.w + 1].x, r14.z + mov x0[r8.w + 2].x, r14.w + mov x0[r8.w + 3].x, r15.z + mov x0[r8.w + 0].y, r9.w + mov x0[r8.w + 1].y, r10.w + mov x0[r8.w + 2].y, r11.w + mov x0[r8.w + 3].y, r12.w + endif + iadd r7.z, r7.z, l(1) + endloop + mov r17.xyzw, x1[2].xyzw + mov r7.z, x0[8].x + mov r8.w, x0[9].x + mov r9.w, x0[10].x + mov r10.w, x0[11].x + ineg r18.x, r7.z + ineg r18.y, r8.w + ineg r18.z, r9.w + ineg r18.w, r10.w + ige r11.w, l(0), r6.y + itof r12.w, r6.y + movc r19.xyz, r3.zzzz, l(128,3,32,0), l(64,7,16,0) + mov r20.xyzw, x1[1].xyzw + mov r3.z, x0[4].x + mov r13.w, x0[5].x + mov r14.z, x0[6].x + mov r14.w, x0[7].x + ineg r21.x, r3.z + ineg r21.y, r13.w + ineg r21.zw, r14.zzzw + ige r15.z, l(0), r5.z + itof r15.w, r5.z + mov r22.xyzw, x1[0].xyzw + mov r16.z, x0[0].x + mov r16.w, x0[1].x + mov r19.w, x0[2].x + mov r23.x, x0[3].x + ineg r24.xy, r16.zwzz + ineg r24.z, r19.w + ineg r24.w, r23.x + ige r23.y, l(0), r4.y + itof r23.z, r4.y + mov r23.w, l(0) + mov r16.y, l(0) + loop + uge r25.x, r23.w, l(16) + breakc_nz r25.x + ishl r25.x, r23.w, l(1) + ushr r25.x, icb[r0.z + 0].x, r25.x + and r25.x, r25.x, l(3) + ieq r25.y, r25.x, l(2) + if_nz r25.y + ld_structured r26.xyzw, r23.w, l(0), g0.xyzw + iadd r26.xyzw, r18.xyzw, r26.xyzw + imul null, r25.yz, r17.xxyx, r26.xxyx + iadd r25.y, r25.z, r25.y + imad r25.y, r17.z, r26.z, r25.y + imad r25.y, r17.w, r26.w, r25.y + ige r25.z, l(0), r25.y + or r25.z, r11.w, r25.z + ilt r25.w, r25.y, r6.y + itof r25.y, r25.y + mul r25.y, r25.y, l(63.499989) + div r25.y, r25.y, r12.w + ftou r25.y, r25.y + iadd r25.y, r19.x, r25.y + movc r25.y, r25.w, icb[r25.y + 0].w, r19.y + movc r25.y, r25.z, l(0), r25.y + else + ieq r25.z, r25.x, l(1) + if_nz r25.z + ld_structured r26.xyzw, r23.w, l(0), g0.xyzw + iadd r26.xyzw, r21.xyzw, r26.xyzw + imul null, r25.zw, r20.xxxy, r26.xxxy + iadd r25.z, r25.w, r25.z + imad r25.z, r20.z, r26.z, r25.z + imad r25.z, r20.w, r26.w, r25.z + ige r25.w, l(0), r25.z + or r25.w, r15.z, r25.w + ilt r26.x, r25.z, r5.z + itof r25.z, r25.z + mul r25.z, r25.z, l(63.499989) + div r25.z, r25.z, r15.w + ftou r25.z, r25.z + iadd r25.z, r19.x, r25.z + movc r25.z, r26.x, icb[r25.z + 0].w, r19.y + movc r25.y, r25.w, l(0), r25.z + else + ld_structured r26.xyzw, r23.w, l(0), g0.xyzw + iadd r26.xyzw, r24.xyzw, r26.xyzw + imul null, r25.zw, r22.xxxy, r26.xxxy + iadd r25.z, r25.w, r25.z + imad r25.z, r22.z, r26.z, r25.z + imad r25.z, r22.w, r26.w, r25.z + ige r25.w, l(0), r25.z + or r25.w, r23.y, r25.w + ilt r26.x, r25.z, r4.y + itof r25.z, r25.z + mul r25.z, r25.z, l(63.499989) + div r25.z, r25.z, r23.z + ftou r25.z, r25.z + iadd r25.z, r19.x, r25.z + movc r25.z, r26.x, icb[r25.z + 0].w, r19.y + movc r25.y, r25.w, l(0), r25.z + endif + endif + iadd r25.y, r19.z, r25.y + iadd r25.z, l(64), -icb[r25.y + 64].x + ishl r25.x, r25.x, l(2) + mov r26.x, x0[r25.x + 0].x + mov r26.y, x0[r25.x + 1].x + mov r26.z, x0[r25.x + 2].x + mov r27.x, x0[r25.x + 0].y + mov r27.y, x0[r25.x + 1].y + mov r27.z, x0[r25.x + 2].y + imul null, r25.xyw, r27.xyxz, icb[r25.y + 64].xxxx + imad r25.xyz, r25.zzzz, r26.xyzx, r25.xywx + iadd r25.xyz, r25.xyzx, l(32, 32, 32, 0) + ushr r25.xyw, r25.xyxz, l(6) + ld_structured r26.xyzw, r23.w, l(0), g0.xyzw + ult r27.xyz, r25.xywx, r26.xyzx + mov r25.z, r26.x + movc r27.xw, r27.xxxx, r25.zzzx, r25.xxxz + mov r25.xz, r26.yyzy + movc r25.xyzw, r27.yyzz, r25.xyzw, r25.yxwz + ult r26.x, l(255), r26.w + mov r14.x, r26.w + movc r26.xw, r26.xxxx, r14.yyyx, r14.xxxy + ineg r28.x, r27.w + ineg r28.yz, r25.yywy + ineg r28.w, r26.x + mov r26.x, r27.x + mov r26.yz, r25.xxzx + iadd r25.xyzw, r28.xyzw, r26.xyzw + imul null, r25.xy, r25.xyxx, r25.xyxx + iadd r14.x, r25.y, r25.x + imad r14.x, r25.z, r25.z, r14.x + utof r14.x, r14.x + utof r25.x, r25.w + mul r25.x, r25.x, r25.x + mad r14.x, r25.x, cb0[1].z, r14.x + ftou r14.x, r14.x + iadd r16.y, r14.x, r16.y + iadd r23.w, r23.w, l(1) + endloop + ult r3.z, r16.y, r15.y + movc r15.xy, r3.zzzz, r16.xyxx, r15.xyxx + iadd r16.x, r16.x, l(1) + endloop + store_structured g0.x, vThreadIDInGroupFlattened.x, l(16), r15.y + store_structured g0.x, vThreadIDInGroupFlattened.x, l(24), r0.y + store_structured g0.x, vThreadIDInGroupFlattened.x, l(32), r15.x +endif +sync_g_t +if_nz r1.y + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(32) + ld_structured r3.x, r0.y, l(16), g0.xxxx + ld_structured r4.x, r0.y, l(24), g0.xxxx + ld_structured r5.x, r0.y, l(32), g0.xxxx + ult r0.y, r3.x, r2.x + if_nz r0.y + store_structured g0.x, vThreadIDInGroupFlattened.x, l(16), r3.x + store_structured g0.x, vThreadIDInGroupFlattened.x, l(24), r4.x + store_structured g0.x, vThreadIDInGroupFlattened.x, l(32), r5.x + endif +endif +if_nz r1.x + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(16) + ld_structured r3.x, r0.y, l(16), g0.xxxx + ld_structured r4.x, r0.y, l(24), g0.xxxx + ld_structured r5.x, r0.y, l(32), g0.xxxx + ult r0.y, r3.x, r2.x + if_nz r0.y + store_structured g0.x, vThreadIDInGroupFlattened.x, l(16), r3.x + store_structured g0.x, vThreadIDInGroupFlattened.x, l(24), r4.x + store_structured g0.x, vThreadIDInGroupFlattened.x, l(32), r5.x + endif +endif +if_nz r1.z + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(8) + ld_structured r3.x, r0.y, l(16), g0.xxxx + ld_structured r4.x, r0.y, l(24), g0.xxxx + ld_structured r5.x, r0.y, l(32), g0.xxxx + ult r0.y, r3.x, r2.x + if_nz r0.y + store_structured g0.x, vThreadIDInGroupFlattened.x, l(16), r3.x + store_structured g0.x, vThreadIDInGroupFlattened.x, l(24), r4.x + store_structured g0.x, vThreadIDInGroupFlattened.x, l(32), r5.x + endif +endif +if_nz r1.w + ld_structured r1.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(4) + ld_structured r2.x, r0.y, l(16), g0.xxxx + ld_structured r3.x, r0.y, l(24), g0.xxxx + ld_structured r4.x, r0.y, l(32), g0.xxxx + ult r0.y, r2.x, r1.x + if_nz r0.y + store_structured g0.x, vThreadIDInGroupFlattened.x, l(16), r2.x + store_structured g0.x, vThreadIDInGroupFlattened.x, l(24), r3.x + store_structured g0.x, vThreadIDInGroupFlattened.x, l(32), r4.x + endif +endif +ult r0.yz, vThreadIDInGroupFlattened.xxxx, l(0, 2, 1, 0) +if_nz r0.y + ld_structured r1.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(2) + ld_structured r2.x, r0.y, l(16), g0.xxxx + ld_structured r3.x, r0.y, l(24), g0.xxxx + ld_structured r4.x, r0.y, l(32), g0.xxxx + ult r0.y, r2.x, r1.x + if_nz r0.y + store_structured g0.x, vThreadIDInGroupFlattened.x, l(16), r2.x + store_structured g0.x, vThreadIDInGroupFlattened.x, l(24), r3.x + store_structured g0.x, vThreadIDInGroupFlattened.x, l(32), r4.x + endif +endif +if_nz r0.z + ld_structured r1.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(1) + ld_structured r2.x, r0.y, l(16), g0.xxxx + ld_structured r3.x, r0.y, l(24), g0.xxxx + ld_structured r4.x, r0.y, l(32), g0.xxxx + ult r0.y, r2.x, r1.x + if_nz r0.y + store_structured g0.x, vThreadIDInGroupFlattened.x, l(16), r2.x + store_structured g0.x, vThreadIDInGroupFlattened.x, l(24), r3.x + store_structured g0.x, vThreadIDInGroupFlattened.x, l(32), r4.x + endif + ld_structured r1.x, r0.x, l(0), t1.xxxx + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + ult r0.y, r2.x, r1.x + if_nz r0.y + ld_structured r2.z, vThreadIDInGroupFlattened.x, l(24), g0.xxxx + ld_structured r2.w, vThreadIDInGroupFlattened.x, l(32), g0.xxxx + mov r2.y, cb0[0].w + else + ld_structured r2.xyzw, r0.x, l(0), t1.xyzw + endif + store_structured u0.xyzw, r0.x, l(0), r2.xyzw +endif +ret +// Approximately 0 instruction slots used +#endif + +const BYTE BC7Encode_TryMode02CS[] = +{ + 68, 88, 66, 67, 122, 4, + 188, 46, 162, 127, 38, 170, + 88, 175, 162, 101, 250, 119, + 32, 234, 1, 0, 0, 0, + 172, 70, 0, 0, 3, 0, + 0, 0, 44, 0, 0, 0, + 60, 0, 0, 0, 76, 0, + 0, 0, 73, 83, 71, 78, + 8, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 79, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 83, 72, + 69, 88, 88, 70, 0, 0, + 64, 0, 5, 0, 150, 17, + 0, 0, 106, 8, 0, 1, + 53, 24, 0, 0, 2, 3, + 0, 0, 80, 80, 104, 170, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 64, 80, 90, 106, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 66, + 90, 90, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 168, 160, 80, 84, + 15, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 165, 165, 15, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 80, 80, + 160, 160, 15, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 160, 160, 85, 85, + 15, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 80, 80, 90, 90, 15, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 85, 170, 15, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 0, 85, 85, 170, + 15, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 0, 85, 170, 170, 15, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 144, 144, + 144, 144, 15, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 148, 148, 148, 148, + 15, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 164, 164, 164, 164, 15, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 80, 148, + 165, 169, 15, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 80, 66, 10, 42, + 15, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 64, 80, 148, 165, 15, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 84, 80, + 66, 10, 2, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 0, 165, 165, 165, + 8, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 160, 160, 160, 85, 2, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 84, 84, + 168, 168, 2, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 64, 64, 106, 106, + 8, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 0, 80, 164, 164, 8, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 0, 5, + 26, 26, 15, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 164, 164, 80, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 144, 144, 165, 170, 8, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 20, 105, + 105, 20, 2, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 0, 20, 105, 105, + 2, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 160, 133, 133, 160, 8, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 20, 20, + 130, 170, 8, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 80, 164, 164, 80, + 2, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 0, 2, 90, 106, 2, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 0, 128, + 165, 169, 15, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 168, 160, 144, 80, + 15, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 80, 144, 160, 168, 6, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 36, 36, + 36, 36, 8, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 0, 85, 170, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 36, 73, 146, 36, 8, 0, + 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 36, 146, + 73, 36, 15, 0, 0, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 80, 10, 165, 80, + 15, 0, 0, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 80, 165, 10, 80, 2, 0, + 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 68, 68, + 170, 170, 8, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 102, 102, + 2, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 160, 165, 160, 165, 2, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 160, 80, + 160, 80, 2, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 40, 105, 40, 105, + 15, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 68, 170, 170, 68, 15, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 0, 102, + 102, 102, 6, 0, 0, 0, + 0, 0, 0, 0, 11, 0, + 0, 0, 68, 68, 68, 170, + 6, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 168, 84, 168, 84, 2, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 128, 149, + 128, 149, 6, 0, 0, 0, + 0, 0, 0, 0, 12, 0, + 0, 0, 0, 150, 150, 150, + 8, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 168, 84, 84, 168, 15, 0, + 0, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 128, 149, + 149, 128, 15, 0, 0, 0, + 0, 0, 0, 0, 12, 0, + 0, 0, 20, 20, 20, 170, + 2, 0, 0, 0, 0, 0, + 0, 0, 13, 0, 0, 0, + 0, 0, 150, 150, 2, 0, + 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 20, 20, + 170, 170, 15, 0, 0, 0, + 0, 0, 0, 0, 13, 0, + 0, 0, 160, 80, 80, 160, + 15, 0, 0, 0, 0, 0, + 0, 0, 13, 0, 0, 0, + 160, 165, 165, 160, 15, 0, + 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 0, 0, + 0, 150, 15, 0, 0, 0, + 0, 0, 0, 0, 14, 0, + 0, 0, 128, 64, 128, 64, + 15, 0, 0, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 168, 169, 168, 169, 2, 0, + 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 68, 170, + 170, 170, 2, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 84, 82, 74, 42, + 15, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 15, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 17, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 21, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 1, 0, 0, 0, + 26, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 0, 15, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 0, 34, 0, 0, 0, + 8, 0, 0, 0, 15, 0, + 0, 0, 1, 0, 0, 0, + 38, 0, 0, 0, 8, 0, + 0, 0, 15, 0, 0, 0, + 1, 0, 0, 0, 43, 0, + 0, 0, 6, 0, 0, 0, + 15, 0, 0, 0, 1, 0, + 0, 0, 47, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 1, 0, 0, 0, + 51, 0, 0, 0, 6, 0, + 0, 0, 15, 0, 0, 0, + 1, 0, 0, 0, 55, 0, + 0, 0, 5, 0, 0, 0, + 15, 0, 0, 0, 1, 0, + 0, 0, 60, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 2, 0, 0, 0, + 64, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 2, 0, + 0, 0, 9, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 2, 0, 0, 0, + 18, 0, 0, 0, 8, 0, + 0, 0, 15, 0, 0, 0, + 2, 0, 0, 0, 27, 0, + 0, 0, 15, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 37, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 2, 0, 0, 0, + 46, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 2, 0, 0, 0, 55, 0, + 0, 0, 6, 0, 0, 0, + 15, 0, 0, 0, 2, 0, + 0, 0, 64, 0, 0, 0, + 10, 0, 0, 0, 8, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 6, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 10, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 10, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 8, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 21, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 43, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 4, 0, + 0, 0, 64, 0, 0, 0, + 5, 0, 0, 0, 10, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 10, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 9, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 10, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 6, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 8, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 15, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 6, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 6, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 8, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 3, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 15, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 15, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 15, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 15, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 15, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 15, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 15, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 15, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 15, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 15, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 8, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 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, 1, 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, + 1, 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, 1, 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, 1, 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, + 1, 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, 1, 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, 1, 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, + 1, 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, 1, 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, 1, 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, + 1, 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, 2, 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, 2, 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, + 2, 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, 2, 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, 2, 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, + 2, 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, 2, 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, 2, 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, + 2, 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, 2, 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, 3, 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, + 3, 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, 3, 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, 3, 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, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 0, 0, 0, 0, + 85, 85, 0, 0, 162, 0, + 0, 4, 0, 112, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 0, 158, 0, 0, 4, + 0, 224, 17, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 95, 0, 0, 2, 0, 64, + 2, 0, 95, 0, 0, 2, + 18, 16, 2, 0, 104, 0, + 0, 2, 29, 0, 0, 0, + 105, 0, 0, 4, 0, 0, + 0, 0, 12, 0, 0, 0, + 4, 0, 0, 0, 105, 0, + 0, 4, 1, 0, 0, 0, + 3, 0, 0, 0, 4, 0, + 0, 0, 105, 0, 0, 4, + 2, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 105, 0, 0, 4, 3, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 160, 0, + 0, 5, 0, 240, 17, 0, + 0, 0, 0, 0, 100, 0, + 0, 0, 64, 0, 0, 0, + 155, 0, 0, 4, 64, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 16, + 2, 0, 10, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 79, 0, 0, 9, + 242, 0, 16, 0, 1, 0, + 0, 0, 6, 64, 2, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 32, 0, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 1, 0, + 0, 0, 78, 0, 0, 9, + 34, 0, 16, 0, 0, 0, + 0, 0, 0, 208, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 26, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 35, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 26, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 6, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 85, 0, + 0, 6, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 8, + 194, 0, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 45, 0, + 0, 7, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 127, 67, + 0, 0, 127, 67, 0, 0, + 127, 67, 0, 0, 127, 67, + 28, 0, 0, 5, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 84, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 21, 0, 0, 1, + 190, 24, 0, 1, 168, 0, + 0, 8, 18, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 1, 64, + 0, 0, 255, 255, 255, 255, + 55, 0, 0, 10, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 64, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 79, 0, + 0, 6, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 6, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 192, 255, + 255, 255, 54, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 48, 0, + 0, 1, 80, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 3, 0, 4, 3, 10, 0, + 16, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 114, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 70, 242, + 17, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 85, 0, + 0, 8, 130, 0, 16, 0, + 2, 0, 0, 0, 10, 144, + 144, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 32, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 18, 0, 16, 0, 3, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 54, 0, 0, 6, + 34, 0, 16, 0, 3, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 3, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 84, 0, 0, 7, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 3, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 3, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 83, 0, 0, 7, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 18, 0, + 0, 1, 32, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 58, 0, + 16, 0, 2, 0, 0, 0, + 54, 0, 0, 6, 18, 0, + 16, 0, 3, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 3, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 3, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 84, 0, 0, 7, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 18, 0, 16, 0, + 3, 0, 0, 0, 26, 48, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 54, 0, + 0, 6, 34, 0, 16, 0, + 3, 0, 0, 0, 26, 48, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 54, 0, + 0, 6, 66, 0, 16, 0, + 3, 0, 0, 0, 26, 48, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 83, 0, + 0, 7, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 18, 0, 0, 1, + 54, 0, 0, 6, 18, 0, + 16, 0, 3, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 3, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 3, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 84, 0, 0, 7, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 18, 0, 16, 0, + 3, 0, 0, 0, 26, 48, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 0, 16, 0, + 3, 0, 0, 0, 26, 48, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 66, 0, 16, 0, + 3, 0, 0, 0, 26, 48, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 83, 0, + 0, 7, 114, 0, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 30, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 22, 0, 0, 1, + 54, 0, 0, 6, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 2, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 6, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 3, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 3, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 6, 18, 0, + 16, 0, 4, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 4, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 4, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 54, 0, 0, 6, 18, 0, + 16, 0, 5, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 5, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 5, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 54, 0, 0, 6, 18, 0, + 16, 0, 6, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 6, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 6, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 54, 0, 0, 6, 18, 0, + 16, 0, 7, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 7, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 7, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 55, 0, 0, 10, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 30, 0, + 0, 10, 114, 0, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 84, 0, 0, 10, + 114, 0, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 30, 0, + 0, 0, 30, 0, 0, 0, + 30, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 10, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 84, 0, 0, 10, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 9, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 30, 0, 0, 0, + 30, 0, 0, 0, 30, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 248, 0, 0, 0, 248, 0, + 0, 0, 248, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 248, 0, 0, 0, 248, 0, + 0, 0, 248, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 4, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 84, 0, + 0, 10, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 2, 64, 0, 0, + 30, 0, 0, 0, 30, 0, + 0, 0, 30, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 10, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 84, 0, 0, 10, + 114, 0, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 2, 64, 0, 0, 30, 0, + 0, 0, 30, 0, 0, 0, + 30, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 248, 0, 0, 0, + 248, 0, 0, 0, 248, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 248, 0, 0, 0, + 248, 0, 0, 0, 248, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 12, 0, + 0, 0, 30, 0, 0, 10, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 84, 0, 0, 10, 114, 0, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 2, 64, + 0, 0, 30, 0, 0, 0, + 30, 0, 0, 0, 30, 0, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 4, 0, 0, 0, 4, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 84, 0, + 0, 10, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 2, 64, 0, 0, + 30, 0, 0, 0, 30, 0, + 0, 0, 30, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 2, 64, 0, 0, 248, 0, + 0, 0, 248, 0, 0, 0, + 248, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 114, 0, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 248, 0, + 0, 0, 248, 0, 0, 0, + 248, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 4, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 14, 0, 0, 0, 1, 64, + 0, 0, 255, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 2, 0, 0, 0, + 58, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 8, 50, 0, + 16, 0, 15, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 16, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 48, 0, + 0, 1, 80, 0, 0, 7, + 66, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 16, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 3, 0, 4, 3, 42, 0, + 16, 0, 3, 0, 0, 0, + 32, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 31, 0, + 0, 3, 26, 0, 16, 0, + 2, 0, 0, 0, 85, 0, + 0, 7, 34, 0, 16, 0, + 16, 0, 0, 0, 10, 0, + 16, 0, 16, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 14, 0, + 0, 0, 6, 4, 16, 0, + 16, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 114, 0, + 16, 0, 17, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 166, 10, 16, 0, + 14, 0, 0, 0, 41, 0, + 0, 7, 114, 0, 16, 0, + 17, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 18, 0, + 0, 0, 70, 2, 16, 0, + 17, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 210, 0, + 16, 0, 17, 0, 0, 0, + 166, 4, 16, 0, 17, 0, + 0, 0, 166, 4, 16, 0, + 18, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 18, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 246, 15, 16, 0, 14, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 18, 0, + 0, 0, 70, 2, 16, 0, + 18, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 19, 0, 0, 0, + 70, 2, 16, 0, 18, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 18, 0, 0, 0, 22, 6, + 16, 0, 18, 0, 0, 0, + 22, 6, 16, 0, 19, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 17, 0, + 0, 0, 42, 0, 16, 0, + 18, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 18, 0, 0, 0, 58, 0, + 16, 0, 17, 0, 0, 0, + 54, 0, 0, 5, 194, 0, + 16, 0, 14, 0, 0, 0, + 246, 3, 16, 0, 18, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 18, 0, + 0, 0, 42, 0, 16, 0, + 17, 0, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 5, + 50, 0, 16, 0, 17, 0, + 0, 0, 230, 10, 16, 0, + 2, 0, 0, 0, 54, 0, + 0, 5, 194, 0, 16, 0, + 14, 0, 0, 0, 246, 7, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 5, 18, 0, + 16, 0, 18, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 18, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 21, 0, + 0, 1, 54, 0, 0, 9, + 50, 48, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 6, + 50, 48, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 70, 0, 16, 0, 17, 0, + 0, 0, 54, 0, 0, 6, + 50, 48, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 230, 10, 16, 0, 14, 0, + 0, 0, 54, 0, 0, 6, + 50, 48, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 18, 0, + 0, 0, 31, 0, 0, 3, + 26, 0, 16, 0, 2, 0, + 0, 0, 85, 0, 0, 7, + 18, 0, 16, 0, 19, 0, + 0, 0, 10, 0, 16, 0, + 16, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 85, 0, 0, 7, 34, 0, + 16, 0, 19, 0, 0, 0, + 10, 0, 16, 0, 16, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 15, 0, 0, 0, 6, 4, + 16, 0, 19, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 19, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 166, 10, + 16, 0, 15, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 19, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 19, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 210, 0, 16, 0, 19, 0, + 0, 0, 166, 4, 16, 0, + 19, 0, 0, 0, 166, 4, + 16, 0, 20, 0, 0, 0, + 30, 0, 0, 7, 114, 0, + 16, 0, 20, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 246, 15, 16, 0, + 15, 0, 0, 0, 41, 0, + 0, 7, 114, 0, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 21, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 114, 0, + 16, 0, 20, 0, 0, 0, + 22, 6, 16, 0, 20, 0, + 0, 0, 22, 6, 16, 0, + 21, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 19, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 19, 0, + 0, 0, 54, 0, 0, 5, + 194, 0, 16, 0, 15, 0, + 0, 0, 246, 3, 16, 0, + 20, 0, 0, 0, 54, 0, + 0, 5, 18, 0, 16, 0, + 20, 0, 0, 0, 42, 0, + 16, 0, 19, 0, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 5, 50, 0, 16, 0, + 19, 0, 0, 0, 230, 10, + 16, 0, 4, 0, 0, 0, + 54, 0, 0, 5, 194, 0, + 16, 0, 15, 0, 0, 0, + 246, 7, 16, 0, 5, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 20, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 20, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 21, 0, 0, 1, 54, 0, + 0, 9, 50, 48, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 50, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 70, 0, 16, 0, + 19, 0, 0, 0, 54, 0, + 0, 6, 50, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 230, 10, 16, 0, + 15, 0, 0, 0, 54, 0, + 0, 6, 50, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 70, 0, 16, 0, + 20, 0, 0, 0, 31, 0, + 0, 3, 26, 0, 16, 0, + 2, 0, 0, 0, 85, 0, + 0, 7, 18, 0, 16, 0, + 21, 0, 0, 0, 10, 0, + 16, 0, 16, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 85, 0, 0, 7, + 34, 0, 16, 0, 21, 0, + 0, 0, 10, 0, 16, 0, + 16, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 16, 0, 0, 0, + 6, 4, 16, 0, 21, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 21, 0, 0, 0, 70, 2, + 16, 0, 12, 0, 0, 0, + 166, 10, 16, 0, 16, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 21, 0, + 0, 0, 70, 2, 16, 0, + 21, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 22, 0, 0, 0, + 70, 2, 16, 0, 21, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 210, 0, 16, 0, + 21, 0, 0, 0, 166, 4, + 16, 0, 21, 0, 0, 0, + 166, 4, 16, 0, 22, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 22, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 246, 15, + 16, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 22, 0, 0, 0, + 70, 2, 16, 0, 22, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 23, 0, 0, 0, 70, 2, + 16, 0, 22, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 22, 0, + 0, 0, 22, 6, 16, 0, + 22, 0, 0, 0, 22, 6, + 16, 0, 23, 0, 0, 0, + 54, 0, 0, 5, 34, 0, + 16, 0, 21, 0, 0, 0, + 42, 0, 16, 0, 22, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 22, 0, + 0, 0, 58, 0, 16, 0, + 21, 0, 0, 0, 54, 0, + 0, 5, 194, 0, 16, 0, + 16, 0, 0, 0, 246, 3, + 16, 0, 22, 0, 0, 0, + 54, 0, 0, 5, 18, 0, + 16, 0, 22, 0, 0, 0, + 42, 0, 16, 0, 21, 0, + 0, 0, 18, 0, 0, 1, + 54, 0, 0, 5, 50, 0, + 16, 0, 21, 0, 0, 0, + 230, 10, 16, 0, 6, 0, + 0, 0, 54, 0, 0, 5, + 194, 0, 16, 0, 16, 0, + 0, 0, 246, 7, 16, 0, + 7, 0, 0, 0, 54, 0, + 0, 5, 18, 0, 16, 0, + 22, 0, 0, 0, 10, 0, + 16, 0, 6, 0, 0, 0, + 54, 0, 0, 5, 34, 0, + 16, 0, 22, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 21, 0, 0, 1, + 54, 0, 0, 9, 50, 48, + 32, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 50, 48, + 32, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 70, 0, + 16, 0, 21, 0, 0, 0, + 54, 0, 0, 6, 50, 48, + 32, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 230, 10, + 16, 0, 16, 0, 0, 0, + 54, 0, 0, 6, 50, 48, + 32, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 70, 0, + 16, 0, 22, 0, 0, 0, + 40, 0, 0, 5, 18, 0, + 16, 0, 23, 0, 0, 0, + 10, 0, 16, 0, 18, 0, + 0, 0, 40, 0, 0, 5, + 34, 0, 16, 0, 23, 0, + 0, 0, 42, 0, 16, 0, + 14, 0, 0, 0, 40, 0, + 0, 5, 66, 0, 16, 0, + 23, 0, 0, 0, 10, 0, + 16, 0, 17, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 18, 0, 0, 0, + 58, 0, 16, 0, 14, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 18, 0, + 0, 0, 26, 0, 16, 0, + 17, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 17, 0, 0, 0, 150, 7, + 16, 0, 18, 0, 0, 0, + 70, 2, 16, 0, 23, 0, + 0, 0, 54, 0, 0, 6, + 114, 48, 32, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 40, 0, 0, 5, + 18, 0, 16, 0, 18, 0, + 0, 0, 10, 0, 16, 0, + 20, 0, 0, 0, 40, 0, + 0, 5, 34, 0, 16, 0, + 18, 0, 0, 0, 42, 0, + 16, 0, 15, 0, 0, 0, + 40, 0, 0, 5, 66, 0, + 16, 0, 18, 0, 0, 0, + 10, 0, 16, 0, 19, 0, + 0, 0, 54, 0, 0, 5, + 66, 0, 16, 0, 20, 0, + 0, 0, 58, 0, 16, 0, + 15, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 20, 0, 0, 0, 26, 0, + 16, 0, 19, 0, 0, 0, + 30, 0, 0, 7, 114, 0, + 16, 0, 18, 0, 0, 0, + 70, 2, 16, 0, 18, 0, + 0, 0, 150, 7, 16, 0, + 20, 0, 0, 0, 54, 0, + 0, 6, 114, 48, 32, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 18, 0, 0, 0, 40, 0, + 0, 5, 18, 0, 16, 0, + 19, 0, 0, 0, 10, 0, + 16, 0, 22, 0, 0, 0, + 40, 0, 0, 5, 34, 0, + 16, 0, 19, 0, 0, 0, + 42, 0, 16, 0, 16, 0, + 0, 0, 40, 0, 0, 5, + 66, 0, 16, 0, 19, 0, + 0, 0, 10, 0, 16, 0, + 21, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 22, 0, 0, 0, 58, 0, + 16, 0, 16, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 22, 0, 0, 0, + 26, 0, 16, 0, 21, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 19, 0, + 0, 0, 70, 2, 16, 0, + 19, 0, 0, 0, 150, 7, + 16, 0, 22, 0, 0, 0, + 54, 0, 0, 6, 114, 48, + 32, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 19, 0, 0, 0, + 54, 0, 0, 6, 130, 48, + 32, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 130, 48, + 32, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 130, 48, + 32, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 194, 0, 16, 0, + 14, 0, 0, 0, 6, 4, + 16, 0, 17, 0, 0, 0, + 6, 4, 16, 0, 17, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 42, 0, + 16, 0, 14, 0, 0, 0, + 35, 0, 0, 9, 34, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 17, 0, + 0, 0, 42, 0, 16, 0, + 17, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 194, 0, 16, 0, + 14, 0, 0, 0, 6, 4, + 16, 0, 18, 0, 0, 0, + 6, 4, 16, 0, 18, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 42, 0, + 16, 0, 14, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 18, 0, + 0, 0, 42, 0, 16, 0, + 18, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 2, 0, 0, 0, + 1, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 194, 0, 16, 0, + 14, 0, 0, 0, 6, 4, + 16, 0, 19, 0, 0, 0, + 6, 4, 16, 0, 19, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 42, 0, + 16, 0, 14, 0, 0, 0, + 35, 0, 0, 9, 34, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 19, 0, + 0, 0, 42, 0, 16, 0, + 19, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 7, 18, 48, + 32, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 26, 144, + 144, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 7, 18, 48, 32, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 42, 144, 144, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 66, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 48, 0, + 0, 1, 80, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 3, 0, 4, 3, 58, 0, + 16, 0, 8, 0, 0, 0, + 54, 0, 0, 7, 242, 0, + 16, 0, 17, 0, 0, 0, + 70, 62, 32, 4, 1, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 54, 0, + 0, 7, 130, 0, 16, 0, + 8, 0, 0, 0, 10, 48, + 32, 4, 3, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 18, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 10, 48, 32, 4, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 54, 0, + 0, 8, 130, 0, 16, 0, + 10, 0, 0, 0, 10, 48, + 32, 6, 0, 0, 0, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 54, 0, 0, 8, 130, 0, + 16, 0, 11, 0, 0, 0, + 10, 48, 32, 6, 0, 0, + 0, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 54, 0, 0, 8, + 130, 0, 16, 0, 12, 0, + 0, 0, 10, 48, 32, 6, + 0, 0, 0, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 40, 0, + 0, 5, 18, 0, 16, 0, + 19, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 40, 0, 0, 5, 34, 0, + 16, 0, 19, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 40, 0, 0, 5, + 66, 0, 16, 0, 19, 0, + 0, 0, 58, 0, 16, 0, + 11, 0, 0, 0, 40, 0, + 0, 5, 130, 0, 16, 0, + 19, 0, 0, 0, 58, 0, + 16, 0, 12, 0, 0, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 18, 0, 0, 0, + 70, 14, 16, 0, 18, 0, + 0, 0, 70, 14, 16, 0, + 19, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 194, 0, 16, 0, 14, 0, + 0, 0, 6, 4, 16, 0, + 17, 0, 0, 0, 6, 4, + 16, 0, 18, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 13, 0, 0, 0, + 58, 0, 16, 0, 14, 0, + 0, 0, 42, 0, 16, 0, + 14, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 13, 0, 0, 0, 42, 0, + 16, 0, 17, 0, 0, 0, + 42, 0, 16, 0, 18, 0, + 0, 0, 58, 0, 16, 0, + 13, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 13, 0, 0, 0, 58, 0, + 16, 0, 17, 0, 0, 0, + 58, 0, 16, 0, 18, 0, + 0, 0, 58, 0, 16, 0, + 13, 0, 0, 0, 54, 0, + 0, 7, 66, 0, 16, 0, + 14, 0, 0, 0, 10, 48, + 32, 4, 2, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 34, 0, 0, 7, + 130, 0, 16, 0, 14, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 14, 0, 0, 0, + 34, 0, 0, 7, 66, 0, + 16, 0, 15, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 13, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 14, 0, 0, 0, 58, 0, + 16, 0, 14, 0, 0, 0, + 42, 0, 16, 0, 15, 0, + 0, 0, 43, 0, 0, 5, + 130, 0, 16, 0, 13, 0, + 0, 0, 58, 0, 16, 0, + 13, 0, 0, 0, 56, 0, + 0, 7, 130, 0, 16, 0, + 13, 0, 0, 0, 58, 0, + 16, 0, 13, 0, 0, 0, + 1, 64, 0, 0, 253, 255, + 125, 66, 28, 0, 0, 5, + 130, 0, 16, 0, 13, 0, + 0, 0, 58, 0, 16, 0, + 13, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 14, 0, 0, 0, 42, 0, + 16, 0, 14, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 79, 0, 0, 7, + 130, 0, 16, 0, 13, 0, + 0, 0, 42, 0, 16, 0, + 14, 0, 0, 0, 58, 0, + 16, 0, 13, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 13, 0, 0, 0, + 58, 0, 16, 0, 13, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 13, 0, 0, 0, 40, 0, + 0, 5, 242, 0, 16, 0, + 17, 0, 0, 0, 70, 14, + 16, 0, 17, 0, 0, 0, + 54, 0, 0, 7, 242, 48, + 32, 4, 1, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 17, 0, 0, 0, 54, 0, + 0, 7, 130, 0, 16, 0, + 13, 0, 0, 0, 26, 48, + 32, 4, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 54, 0, 0, 8, + 66, 0, 16, 0, 14, 0, + 0, 0, 26, 48, 32, 6, + 0, 0, 0, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 54, 0, + 0, 8, 130, 0, 16, 0, + 14, 0, 0, 0, 26, 48, + 32, 6, 0, 0, 0, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 54, 0, 0, 8, 66, 0, + 16, 0, 15, 0, 0, 0, + 26, 48, 32, 6, 0, 0, + 0, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 54, 0, 0, 7, + 18, 48, 32, 4, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 13, 0, 0, 0, + 54, 0, 0, 8, 18, 48, + 32, 6, 0, 0, 0, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 14, 0, + 0, 0, 54, 0, 0, 8, + 18, 48, 32, 6, 0, 0, + 0, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 54, 0, + 0, 8, 18, 48, 32, 6, + 0, 0, 0, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 15, 0, 0, 0, + 54, 0, 0, 7, 34, 48, + 32, 4, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 54, 0, + 0, 8, 34, 48, 32, 6, + 0, 0, 0, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 54, 0, 0, 8, 34, 48, + 32, 6, 0, 0, 0, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 11, 0, + 0, 0, 54, 0, 0, 8, + 34, 48, 32, 6, 0, 0, + 0, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 12, 0, 0, 0, 21, 0, + 0, 1, 30, 0, 0, 7, + 66, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 22, 0, 0, 1, 54, 0, + 0, 6, 242, 0, 16, 0, + 17, 0, 0, 0, 70, 62, + 32, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 54, 0, + 0, 6, 66, 0, 16, 0, + 7, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 8, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 9, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 10, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 40, 0, + 0, 5, 18, 0, 16, 0, + 18, 0, 0, 0, 42, 0, + 16, 0, 7, 0, 0, 0, + 40, 0, 0, 5, 34, 0, + 16, 0, 18, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 40, 0, 0, 5, + 66, 0, 16, 0, 18, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 40, 0, + 0, 5, 130, 0, 16, 0, + 18, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 33, 0, 0, 7, 130, 0, + 16, 0, 11, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 6, 0, 0, 0, 43, 0, + 0, 5, 130, 0, 16, 0, + 12, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 55, 0, 0, 15, 114, 0, + 16, 0, 19, 0, 0, 0, + 166, 10, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 128, 0, 0, 0, 3, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 64, 0, 0, 0, + 7, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 242, 0, + 16, 0, 20, 0, 0, 0, + 70, 62, 32, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 3, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 13, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 14, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 14, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 40, 0, 0, 5, 18, 0, + 16, 0, 21, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 40, 0, 0, 5, + 34, 0, 16, 0, 21, 0, + 0, 0, 58, 0, 16, 0, + 13, 0, 0, 0, 40, 0, + 0, 5, 194, 0, 16, 0, + 21, 0, 0, 0, 166, 14, + 16, 0, 14, 0, 0, 0, + 33, 0, 0, 7, 66, 0, + 16, 0, 15, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 43, 0, + 0, 5, 130, 0, 16, 0, + 15, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 54, 0, 0, 6, 242, 0, + 16, 0, 22, 0, 0, 0, + 70, 62, 32, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 16, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 16, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 19, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 6, 18, 0, + 16, 0, 23, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 40, 0, 0, 5, 50, 0, + 16, 0, 24, 0, 0, 0, + 230, 10, 16, 0, 16, 0, + 0, 0, 40, 0, 0, 5, + 66, 0, 16, 0, 24, 0, + 0, 0, 58, 0, 16, 0, + 19, 0, 0, 0, 40, 0, + 0, 5, 130, 0, 16, 0, + 24, 0, 0, 0, 10, 0, + 16, 0, 23, 0, 0, 0, + 33, 0, 0, 7, 34, 0, + 16, 0, 23, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 43, 0, + 0, 5, 66, 0, 16, 0, + 23, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 23, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 16, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 48, 0, + 0, 1, 80, 0, 0, 7, + 18, 0, 16, 0, 25, 0, + 0, 0, 58, 0, 16, 0, + 23, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 3, 0, 4, 3, 10, 0, + 16, 0, 25, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 25, 0, 0, 0, + 58, 0, 16, 0, 23, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 85, 0, + 0, 8, 18, 0, 16, 0, + 25, 0, 0, 0, 10, 144, + 144, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 25, 0, 0, 0, + 1, 0, 0, 7, 18, 0, + 16, 0, 25, 0, 0, 0, + 10, 0, 16, 0, 25, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 32, 0, + 0, 7, 34, 0, 16, 0, + 25, 0, 0, 0, 10, 0, + 16, 0, 25, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 25, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 26, 0, + 0, 0, 58, 0, 16, 0, + 23, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 26, 0, + 0, 0, 70, 14, 16, 0, + 18, 0, 0, 0, 70, 14, + 16, 0, 26, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 98, 0, 16, 0, + 25, 0, 0, 0, 6, 1, + 16, 0, 17, 0, 0, 0, + 6, 1, 16, 0, 26, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 25, 0, + 0, 0, 42, 0, 16, 0, + 25, 0, 0, 0, 26, 0, + 16, 0, 25, 0, 0, 0, + 35, 0, 0, 9, 34, 0, + 16, 0, 25, 0, 0, 0, + 42, 0, 16, 0, 17, 0, + 0, 0, 42, 0, 16, 0, + 26, 0, 0, 0, 26, 0, + 16, 0, 25, 0, 0, 0, + 35, 0, 0, 9, 34, 0, + 16, 0, 25, 0, 0, 0, + 58, 0, 16, 0, 17, 0, + 0, 0, 58, 0, 16, 0, + 26, 0, 0, 0, 26, 0, + 16, 0, 25, 0, 0, 0, + 33, 0, 0, 7, 66, 0, + 16, 0, 25, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 25, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, + 25, 0, 0, 0, 58, 0, + 16, 0, 11, 0, 0, 0, + 42, 0, 16, 0, 25, 0, + 0, 0, 34, 0, 0, 7, + 130, 0, 16, 0, 25, 0, + 0, 0, 26, 0, 16, 0, + 25, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 43, 0, 0, 5, 34, 0, + 16, 0, 25, 0, 0, 0, + 26, 0, 16, 0, 25, 0, + 0, 0, 56, 0, 0, 7, + 34, 0, 16, 0, 25, 0, + 0, 0, 26, 0, 16, 0, + 25, 0, 0, 0, 1, 64, + 0, 0, 253, 255, 125, 66, + 14, 0, 0, 7, 34, 0, + 16, 0, 25, 0, 0, 0, + 26, 0, 16, 0, 25, 0, + 0, 0, 58, 0, 16, 0, + 12, 0, 0, 0, 28, 0, + 0, 5, 34, 0, 16, 0, + 25, 0, 0, 0, 26, 0, + 16, 0, 25, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 25, 0, 0, 0, + 10, 0, 16, 0, 19, 0, + 0, 0, 26, 0, 16, 0, + 25, 0, 0, 0, 55, 0, + 0, 10, 34, 0, 16, 0, + 25, 0, 0, 0, 58, 0, + 16, 0, 25, 0, 0, 0, + 58, 144, 144, 0, 26, 0, + 16, 0, 25, 0, 0, 0, + 26, 0, 16, 0, 19, 0, + 0, 0, 55, 0, 0, 9, + 34, 0, 16, 0, 25, 0, + 0, 0, 42, 0, 16, 0, + 25, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 25, 0, + 0, 0, 18, 0, 0, 1, + 32, 0, 0, 7, 66, 0, + 16, 0, 25, 0, 0, 0, + 10, 0, 16, 0, 25, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 25, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 26, 0, 0, 0, 58, 0, + 16, 0, 23, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 26, 0, 0, 0, 70, 14, + 16, 0, 21, 0, 0, 0, + 70, 14, 16, 0, 26, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 194, 0, + 16, 0, 25, 0, 0, 0, + 6, 4, 16, 0, 20, 0, + 0, 0, 6, 4, 16, 0, + 26, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 25, 0, 0, 0, 58, 0, + 16, 0, 25, 0, 0, 0, + 42, 0, 16, 0, 25, 0, + 0, 0, 35, 0, 0, 9, + 66, 0, 16, 0, 25, 0, + 0, 0, 42, 0, 16, 0, + 20, 0, 0, 0, 42, 0, + 16, 0, 26, 0, 0, 0, + 42, 0, 16, 0, 25, 0, + 0, 0, 35, 0, 0, 9, + 66, 0, 16, 0, 25, 0, + 0, 0, 58, 0, 16, 0, + 20, 0, 0, 0, 58, 0, + 16, 0, 26, 0, 0, 0, + 42, 0, 16, 0, 25, 0, + 0, 0, 33, 0, 0, 7, + 130, 0, 16, 0, 25, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 25, 0, 0, 0, + 60, 0, 0, 7, 130, 0, + 16, 0, 25, 0, 0, 0, + 42, 0, 16, 0, 15, 0, + 0, 0, 58, 0, 16, 0, + 25, 0, 0, 0, 34, 0, + 0, 7, 18, 0, 16, 0, + 26, 0, 0, 0, 42, 0, + 16, 0, 25, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 43, 0, 0, 5, + 66, 0, 16, 0, 25, 0, + 0, 0, 42, 0, 16, 0, + 25, 0, 0, 0, 56, 0, + 0, 7, 66, 0, 16, 0, + 25, 0, 0, 0, 42, 0, + 16, 0, 25, 0, 0, 0, + 1, 64, 0, 0, 253, 255, + 125, 66, 14, 0, 0, 7, + 66, 0, 16, 0, 25, 0, + 0, 0, 42, 0, 16, 0, + 25, 0, 0, 0, 58, 0, + 16, 0, 15, 0, 0, 0, + 28, 0, 0, 5, 66, 0, + 16, 0, 25, 0, 0, 0, + 42, 0, 16, 0, 25, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 25, 0, + 0, 0, 10, 0, 16, 0, + 19, 0, 0, 0, 42, 0, + 16, 0, 25, 0, 0, 0, + 55, 0, 0, 10, 66, 0, + 16, 0, 25, 0, 0, 0, + 10, 0, 16, 0, 26, 0, + 0, 0, 58, 144, 144, 0, + 42, 0, 16, 0, 25, 0, + 0, 0, 26, 0, 16, 0, + 19, 0, 0, 0, 55, 0, + 0, 9, 34, 0, 16, 0, + 25, 0, 0, 0, 58, 0, + 16, 0, 25, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 25, 0, 0, 0, 18, 0, + 0, 1, 167, 0, 0, 9, + 242, 0, 16, 0, 26, 0, + 0, 0, 58, 0, 16, 0, + 23, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 26, 0, + 0, 0, 70, 14, 16, 0, + 24, 0, 0, 0, 70, 14, + 16, 0, 26, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 194, 0, 16, 0, + 25, 0, 0, 0, 6, 4, + 16, 0, 22, 0, 0, 0, + 6, 4, 16, 0, 26, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 25, 0, + 0, 0, 58, 0, 16, 0, + 25, 0, 0, 0, 42, 0, + 16, 0, 25, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 25, 0, 0, 0, + 42, 0, 16, 0, 22, 0, + 0, 0, 42, 0, 16, 0, + 26, 0, 0, 0, 42, 0, + 16, 0, 25, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 25, 0, 0, 0, + 58, 0, 16, 0, 22, 0, + 0, 0, 58, 0, 16, 0, + 26, 0, 0, 0, 42, 0, + 16, 0, 25, 0, 0, 0, + 33, 0, 0, 7, 130, 0, + 16, 0, 25, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 25, 0, 0, 0, 60, 0, + 0, 7, 130, 0, 16, 0, + 25, 0, 0, 0, 26, 0, + 16, 0, 23, 0, 0, 0, + 58, 0, 16, 0, 25, 0, + 0, 0, 34, 0, 0, 7, + 18, 0, 16, 0, 26, 0, + 0, 0, 42, 0, 16, 0, + 25, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 43, 0, 0, 5, 66, 0, + 16, 0, 25, 0, 0, 0, + 42, 0, 16, 0, 25, 0, + 0, 0, 56, 0, 0, 7, + 66, 0, 16, 0, 25, 0, + 0, 0, 42, 0, 16, 0, + 25, 0, 0, 0, 1, 64, + 0, 0, 253, 255, 125, 66, + 14, 0, 0, 7, 66, 0, + 16, 0, 25, 0, 0, 0, + 42, 0, 16, 0, 25, 0, + 0, 0, 42, 0, 16, 0, + 23, 0, 0, 0, 28, 0, + 0, 5, 66, 0, 16, 0, + 25, 0, 0, 0, 42, 0, + 16, 0, 25, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 25, 0, 0, 0, + 10, 0, 16, 0, 19, 0, + 0, 0, 42, 0, 16, 0, + 25, 0, 0, 0, 55, 0, + 0, 10, 66, 0, 16, 0, + 25, 0, 0, 0, 10, 0, + 16, 0, 26, 0, 0, 0, + 58, 144, 144, 0, 42, 0, + 16, 0, 25, 0, 0, 0, + 26, 0, 16, 0, 19, 0, + 0, 0, 55, 0, 0, 9, + 34, 0, 16, 0, 25, 0, + 0, 0, 58, 0, 16, 0, + 25, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 25, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 30, 0, + 0, 7, 34, 0, 16, 0, + 25, 0, 0, 0, 42, 0, + 16, 0, 19, 0, 0, 0, + 26, 0, 16, 0, 25, 0, + 0, 0, 30, 0, 0, 10, + 66, 0, 16, 0, 25, 0, + 0, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 10, 144, + 208, 128, 65, 0, 0, 0, + 64, 0, 0, 0, 26, 0, + 16, 0, 25, 0, 0, 0, + 41, 0, 0, 7, 18, 0, + 16, 0, 25, 0, 0, 0, + 10, 0, 16, 0, 25, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 54, 0, + 0, 7, 18, 0, 16, 0, + 26, 0, 0, 0, 10, 48, + 32, 4, 0, 0, 0, 0, + 10, 0, 16, 0, 25, 0, + 0, 0, 54, 0, 0, 8, + 34, 0, 16, 0, 26, 0, + 0, 0, 10, 48, 32, 6, + 0, 0, 0, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 25, 0, 0, 0, 54, 0, + 0, 8, 66, 0, 16, 0, + 26, 0, 0, 0, 10, 48, + 32, 6, 0, 0, 0, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 25, 0, 0, 0, + 54, 0, 0, 7, 18, 0, + 16, 0, 27, 0, 0, 0, + 26, 48, 32, 4, 0, 0, + 0, 0, 10, 0, 16, 0, + 25, 0, 0, 0, 54, 0, + 0, 8, 34, 0, 16, 0, + 27, 0, 0, 0, 26, 48, + 32, 6, 0, 0, 0, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 25, 0, 0, 0, + 54, 0, 0, 8, 66, 0, + 16, 0, 27, 0, 0, 0, + 26, 48, 32, 6, 0, 0, + 0, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 25, 0, + 0, 0, 38, 0, 0, 10, + 0, 208, 0, 0, 178, 0, + 16, 0, 25, 0, 0, 0, + 70, 8, 16, 0, 27, 0, + 0, 0, 6, 144, 208, 0, + 64, 0, 0, 0, 26, 0, + 16, 0, 25, 0, 0, 0, + 35, 0, 0, 9, 114, 0, + 16, 0, 25, 0, 0, 0, + 166, 10, 16, 0, 25, 0, + 0, 0, 70, 2, 16, 0, + 26, 0, 0, 0, 70, 3, + 16, 0, 25, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 25, 0, 0, 0, + 70, 2, 16, 0, 25, 0, + 0, 0, 2, 64, 0, 0, + 32, 0, 0, 0, 32, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 178, 0, 16, 0, + 25, 0, 0, 0, 70, 8, + 16, 0, 25, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 26, 0, + 0, 0, 58, 0, 16, 0, + 23, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 79, 0, 0, 7, + 114, 0, 16, 0, 27, 0, + 0, 0, 70, 3, 16, 0, + 25, 0, 0, 0, 70, 2, + 16, 0, 26, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 25, 0, 0, 0, + 10, 0, 16, 0, 26, 0, + 0, 0, 55, 0, 0, 9, + 146, 0, 16, 0, 27, 0, + 0, 0, 6, 0, 16, 0, + 27, 0, 0, 0, 166, 2, + 16, 0, 25, 0, 0, 0, + 6, 8, 16, 0, 25, 0, + 0, 0, 54, 0, 0, 5, + 82, 0, 16, 0, 25, 0, + 0, 0, 86, 6, 16, 0, + 26, 0, 0, 0, 55, 0, + 0, 9, 242, 0, 16, 0, + 25, 0, 0, 0, 86, 10, + 16, 0, 27, 0, 0, 0, + 70, 14, 16, 0, 25, 0, + 0, 0, 22, 11, 16, 0, + 25, 0, 0, 0, 79, 0, + 0, 7, 18, 0, 16, 0, + 26, 0, 0, 0, 1, 64, + 0, 0, 255, 0, 0, 0, + 58, 0, 16, 0, 26, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 14, 0, + 0, 0, 58, 0, 16, 0, + 26, 0, 0, 0, 55, 0, + 0, 9, 146, 0, 16, 0, + 26, 0, 0, 0, 6, 0, + 16, 0, 26, 0, 0, 0, + 86, 1, 16, 0, 14, 0, + 0, 0, 6, 4, 16, 0, + 14, 0, 0, 0, 40, 0, + 0, 5, 18, 0, 16, 0, + 28, 0, 0, 0, 58, 0, + 16, 0, 27, 0, 0, 0, + 40, 0, 0, 5, 98, 0, + 16, 0, 28, 0, 0, 0, + 86, 7, 16, 0, 25, 0, + 0, 0, 40, 0, 0, 5, + 130, 0, 16, 0, 28, 0, + 0, 0, 10, 0, 16, 0, + 26, 0, 0, 0, 54, 0, + 0, 5, 18, 0, 16, 0, + 26, 0, 0, 0, 10, 0, + 16, 0, 27, 0, 0, 0, + 54, 0, 0, 5, 98, 0, + 16, 0, 26, 0, 0, 0, + 6, 2, 16, 0, 25, 0, + 0, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 25, 0, + 0, 0, 70, 14, 16, 0, + 28, 0, 0, 0, 70, 14, + 16, 0, 26, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 50, 0, 16, 0, + 25, 0, 0, 0, 70, 0, + 16, 0, 25, 0, 0, 0, + 70, 0, 16, 0, 25, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 14, 0, + 0, 0, 26, 0, 16, 0, + 25, 0, 0, 0, 10, 0, + 16, 0, 25, 0, 0, 0, + 35, 0, 0, 9, 18, 0, + 16, 0, 14, 0, 0, 0, + 42, 0, 16, 0, 25, 0, + 0, 0, 42, 0, 16, 0, + 25, 0, 0, 0, 10, 0, + 16, 0, 14, 0, 0, 0, + 86, 0, 0, 5, 18, 0, + 16, 0, 14, 0, 0, 0, + 10, 0, 16, 0, 14, 0, + 0, 0, 86, 0, 0, 5, + 18, 0, 16, 0, 25, 0, + 0, 0, 58, 0, 16, 0, + 25, 0, 0, 0, 56, 0, + 0, 7, 18, 0, 16, 0, + 25, 0, 0, 0, 10, 0, + 16, 0, 25, 0, 0, 0, + 10, 0, 16, 0, 25, 0, + 0, 0, 50, 0, 0, 10, + 18, 0, 16, 0, 14, 0, + 0, 0, 10, 0, 16, 0, + 25, 0, 0, 0, 42, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 14, 0, 0, 0, + 28, 0, 0, 5, 18, 0, + 16, 0, 14, 0, 0, 0, + 10, 0, 16, 0, 14, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 16, 0, + 0, 0, 10, 0, 16, 0, + 14, 0, 0, 0, 26, 0, + 16, 0, 16, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 23, 0, 0, 0, + 58, 0, 16, 0, 23, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 22, 0, + 0, 1, 79, 0, 0, 7, + 66, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 16, 0, 0, 0, 26, 0, + 16, 0, 15, 0, 0, 0, + 55, 0, 0, 9, 50, 0, + 16, 0, 15, 0, 0, 0, + 166, 10, 16, 0, 3, 0, + 0, 0, 70, 0, 16, 0, + 16, 0, 0, 0, 70, 0, + 16, 0, 15, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 16, 0, 0, 0, + 10, 0, 16, 0, 16, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 22, 0, + 0, 1, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 26, 0, 16, 0, + 15, 0, 0, 0, 168, 0, + 0, 8, 18, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 18, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 10, 0, 16, 0, 15, 0, + 0, 0, 21, 0, 0, 1, + 190, 24, 0, 1, 31, 0, + 4, 3, 26, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 8, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 32, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 79, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 0, 0, 0, 0, 168, 0, + 0, 8, 18, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 168, 0, 0, 8, 18, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 31, 0, 4, 3, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 79, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 18, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 168, 0, + 0, 8, 18, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 32, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 21, 0, 0, 1, 21, 0, + 0, 1, 31, 0, 4, 3, + 42, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 8, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 6, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 79, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 0, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 168, 0, + 0, 8, 18, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 168, 0, 0, 8, 18, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 31, 0, + 4, 3, 58, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 8, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 32, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 79, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 0, 0, 0, 0, 168, 0, + 0, 8, 18, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 168, 0, 0, 8, 18, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 79, 0, 0, 9, 98, 0, + 16, 0, 0, 0, 0, 0, + 6, 64, 2, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 79, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 18, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 168, 0, + 0, 8, 18, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 32, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 21, 0, 0, 1, 21, 0, + 0, 1, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 8, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 6, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 24, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 79, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 0, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 168, 0, + 0, 8, 18, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 24, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 168, 0, 0, 8, 18, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 21, 0, 0, 1, + 167, 0, 0, 9, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 6, 112, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 79, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 8, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 24, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 8, + 130, 0, 16, 0, 2, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 0, 16, 0, + 2, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 18, 0, + 0, 1, 167, 0, 0, 9, + 242, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 70, 126, 16, 0, 1, 0, + 0, 0, 21, 0, 0, 1, + 168, 0, 0, 9, 242, 224, + 17, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 21, 0, 0, 1, 62, 0, + 0, 1 +}; diff --git a/DirectXTex/Shaders/Compiled/BC7Encode_TryMode137CS.inc b/DirectXTex/Shaders/Compiled/BC7Encode_TryMode137CS.inc new file mode 100644 index 0000000..d1a12d1 --- /dev/null +++ b/DirectXTex/Shaders/Compiled/BC7Encode_TryMode137CS.inc @@ -0,0 +1,3962 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +/// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_4_0 +dcl_globalFlags refactoringAllowed +dcl_immediateConstantBuffer { { 0x0000cccc, 15, 0, 0}, + { 0x00008888, 15, 0, 0}, + { 0x0000eeee, 15, 0, 0}, + { 0x0000ecc8, 15, 0, 1}, + { 0x0000c880, 15, 0, 1}, + { 0x0000feec, 15, 0, 1}, + { 0x0000fec8, 15, 0, 1}, + { 0x0000ec80, 15, 0, 2}, + { 0x0000c800, 15, 0, 2}, + { 0x0000ffec, 15, 0, 2}, + { 0x0000fe80, 15, 0, 2}, + { 0x0000e800, 15, 0, 2}, + { 0x0000ffe8, 15, 0, 3}, + { 0x0000ff00, 15, 0, 3}, + { 0x0000fff0, 15, 0, 3}, + { 0x0000f000, 15, 0, 3}, + { 0x0000f710, 15, 0, 4}, + { 142, 2, 0, 4}, + { 0x00007100, 8, 0, 4}, + { 2254, 2, 0, 4}, + { 140, 2, 0, 5}, + { 0x00007310, 8, 0, 5}, + { 0x00003100, 8, 0, 5}, + { 0x00008cce, 15, 0, 5}, + { 2188, 2, 0, 6}, + { 0x00003110, 8, 0, 6}, + { 0x00006666, 2, 0, 6}, + { 0x0000366c, 2, 0, 6}, + { 6120, 8, 0, 6}, + { 4080, 8, 0, 7}, + { 0x0000718e, 2, 0, 7}, + { 0x0000399c, 2, 0, 7}, + { 0x0000aaaa, 15, 0, 7}, + { 0x0000f0f0, 15, 0, 8}, + { 0x00005a5a, 6, 0, 8}, + { 0x000033cc, 8, 0, 8}, + { 0x00003c3c, 2, 0, 8}, + { 0x000055aa, 8, 0, 9}, + { 0x00009696, 15, 0, 9}, + { 0x0000a55a, 15, 0, 9}, + { 0x000073ce, 2, 0, 9}, + { 5064, 8, 0, 10}, + { 0x0000324c, 2, 0, 10}, + { 0x00003bdc, 2, 0, 10}, + { 0x00006996, 2, 0, 10}, + { 0x0000c33c, 15, 0, 10}, + { 0x00009966, 15, 0, 11}, + { 1632, 6, 0, 11}, + { 626, 6, 0, 11}, + { 1252, 2, 0, 11}, + { 0x00004e40, 6, 0, 12}, + { 0x00002720, 8, 0, 12}, + { 0x0000c936, 15, 0, 12}, + { 0x0000936c, 15, 0, 12}, + { 0x000039c6, 2, 0, 13}, + { 0x0000639c, 2, 0, 13}, + { 0x00009336, 15, 0, 13}, + { 0x00009cc6, 15, 0, 13}, + { 0x0000817e, 15, 0, 14}, + { 0x0000e718, 15, 0, 14}, + { 0x0000ccf0, 15, 0, 14}, + { 4044, 2, 0, 14}, + { 0x00007744, 2, 0, 15}, + { 0x0000ee22, 15, 0, 15}, + { 0, 3, 15, 0}, + { 4, 3, 8, 0}, + { 9, 15, 8, 0}, + { 13, 15, 3, 0}, + { 17, 8, 15, 0}, + { 21, 3, 15, 1}, + { 26, 15, 3, 1}, + { 30, 15, 8, 1}, + { 34, 8, 15, 1}, + { 38, 8, 15, 1}, + { 43, 6, 15, 1}, + { 47, 6, 15, 1}, + { 51, 6, 15, 1}, + { 55, 5, 15, 1}, + { 60, 3, 15, 2}, + { 64, 3, 8, 2}, + { 0, 3, 15, 2}, + { 9, 3, 8, 2}, + { 18, 8, 15, 2}, + { 27, 15, 3, 2}, + { 37, 3, 15, 2}, + { 46, 3, 8, 2}, + { 55, 6, 15, 2}, + { 64, 10, 8, 3}, + { 0, 5, 3, 3}, + { 0, 8, 15, 3}, + { 0, 8, 6, 3}, + { 0, 6, 10, 3}, + { 0, 8, 15, 3}, + { 0, 5, 15, 3}, + { 0, 15, 10, 3}, + { 0, 15, 8, 3}, + { 0, 8, 15, 3}, + { 21, 15, 3, 4}, + { 43, 3, 15, 4}, + { 64, 5, 10, 4}, + { 0, 6, 10, 4}, + { 0, 10, 8, 4}, + { 0, 8, 9, 4}, + { 0, 15, 10, 4}, + { 0, 15, 6, 4}, + { 0, 3, 15, 4}, + { 0, 15, 8, 5}, + { 0, 5, 15, 5}, + { 0, 15, 3, 5}, + { 0, 15, 6, 5}, + { 0, 15, 6, 5}, + { 0, 15, 8, 5}, + { 0, 3, 15, 5}, + { 0, 15, 3, 5}, + { 0, 5, 15, 5}, + { 0, 5, 15, 6}, + { 0, 5, 15, 6}, + { 0, 8, 15, 6}, + { 0, 5, 15, 6}, + { 0, 10, 15, 6}, + { 0, 5, 15, 6}, + { 0, 10, 15, 6}, + { 0, 8, 15, 6}, + { 0, 13, 15, 6}, + { 0, 15, 3, 7}, + { 0, 12, 15, 7}, + { 0, 3, 15, 7}, + { 0, 3, 8, 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, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 1}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 2}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3}, + { 0, 0, 0, 3} } +dcl_constantbuffer cb0[2], immediateIndexed +dcl_resource_texture2d (float,float,float,float) t0 +dcl_resource_structured t1, 16 +dcl_uav_structured u0, 16 +dcl_input vThreadIDInGroupFlattened +dcl_input vThreadGroupID.x +dcl_temps 29 +dcl_indexableTemp x0[8], 4 +dcl_tgsm_structured g0, 100, 64 +dcl_thread_group 64, 1, 1 +iadd r0.x, vThreadGroupID.x, cb0[1].x +ult r1.xyzw, vThreadIDInGroupFlattened.xxxx, l(16, 32, 8, 4) +if_nz r1.x + udiv r0.y, null, r0.x, cb0[0].y + imad r0.z, -r0.y, cb0[0].y, r0.x + ishl r0.z, r0.z, l(2) + ishl r0.y, r0.y, l(2) + and r0.w, vThreadIDInGroupFlattened.x, l(3) + iadd r2.x, r0.w, r0.z + ushr r0.z, vThreadIDInGroupFlattened.x, l(2) + iadd r2.y, r0.z, r0.y + mov r2.zw, l(0,0,0,0) + ld r2.xyzw, r2.xyzw, t0.xyzw + mul r2.xyzw, r2.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000) + ftou r2.xyzw, r2.xyzw + umin r2.xyzw, r2.xyzw, l(255, 255, 255, 255) + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(0), r2.xyzw +endif +sync_g_t +mov x0[0].x, l(-1) +mov x0[1].x, l(-1) +mov x0[2].x, l(-1) +mov x0[3].x, l(-1) +mov x0[0].y, l(0) +mov x0[1].y, l(0) +mov x0[2].y, l(0) +mov x0[3].y, l(0) +mov x0[4].x, l(-1) +mov x0[5].x, l(-1) +mov x0[6].x, l(-1) +mov x0[7].x, l(-1) +mov x0[4].y, l(0) +mov x0[5].y, l(0) +mov x0[6].y, l(0) +mov x0[7].y, l(0) +mov r0.y, l(0) +loop + uge r0.z, r0.y, l(16) + breakc_nz r0.z + ld_structured r2.xyzw, r0.y, l(0), g0.xyzw + mov r0.z, vThreadIDInGroupFlattened.x + ushr r0.z, icb[r0.z + 0].x, r0.y + and r0.z, r0.z, l(1) + ieq r0.z, r0.z, l(1) + if_nz r0.z + mov r3.x, x0[4].x + mov r3.y, x0[5].x + mov r3.z, x0[6].x + mov r3.w, x0[7].x + umin r3.xyzw, r2.xyzw, r3.xyzw + mov x0[4].x, r3.x + mov x0[5].x, r3.y + mov x0[6].x, r3.z + mov x0[7].x, r3.w + mov r3.x, x0[4].y + mov r3.y, x0[5].y + mov r3.z, x0[6].y + mov r3.w, x0[7].y + umax r3.xyzw, r2.xyzw, r3.xyzw + mov x0[4].y, r3.x + mov x0[5].y, r3.y + mov x0[6].y, r3.z + mov x0[7].y, r3.w + else + mov r3.x, x0[0].x + mov r3.y, x0[1].x + mov r3.z, x0[2].x + mov r3.w, x0[3].x + umin r3.xyzw, r2.xyzw, r3.xyzw + mov x0[0].x, r3.x + mov x0[1].x, r3.y + mov x0[2].x, r3.z + mov x0[3].x, r3.w + mov r3.x, x0[0].y + mov r3.y, x0[1].y + mov r3.z, x0[2].y + mov r3.w, x0[3].y + umax r2.xyzw, r2.xyzw, r3.xyzw + mov x0[0].y, r2.x + mov x0[1].y, r2.y + mov x0[2].y, r2.z + mov x0[3].y, r2.w + endif + iadd r0.y, r0.y, l(1) +endloop +mov r2.x, x0[0].x +mov r2.y, x0[1].x +mov r2.z, x0[2].x +mov r2.w, x0[3].x +mov r3.x, x0[0].y +mov r3.y, x0[1].y +mov r3.z, x0[2].y +mov r3.w, x0[3].y +mov r4.x, x0[4].x +mov r4.y, x0[5].x +mov r4.z, x0[6].x +mov r4.w, x0[7].x +mov r5.x, x0[4].y +mov r5.y, x0[5].y +mov r5.z, x0[6].y +mov r5.w, x0[7].y +ieq r0.y, cb0[0].w, l(1) +movc r0.y, r0.y, l(4), l(16) +iadd r6.xyz, r2.xyzx, l(1, 1, 1, 0) +umin r6.xyz, r6.xyzx, l(255, 255, 255, 0) +ushr r6.xyz, r6.xyzx, l(1) +and r6.xyz, r6.xyzx, l(126, 126, 126, 0) +iadd r7.xyz, r3.xyzx, l(1, 1, 1, 0) +umin r7.xyz, r7.xyzx, l(255, 255, 255, 0) +ushr r7.xyz, r7.xyzx, l(1) +and r7.xyz, r7.xyzx, l(126, 126, 126, 0) +iadd r8.xyz, r4.xyzx, l(1, 1, 1, 0) +and r9.xyz, r2.xyzx, l(-2, -2, -2, 0) +and r10.xyz, r3.xyzx, l(-2, -2, -2, 0) +umin r8.xyz, r8.xyzx, l(255, 255, 255, 0) +iadd r11.xyzw, r2.xyzw, l(2, 2, 2, 2) +umin r11.xyzw, r11.xyzw, l(255, 255, 255, 255) +ushr r11.xyzw, r11.xyzw, l(2) +and r11.xyzw, r11.xyzw, l(62, 62, 62, 62) +iadd r12.xyzw, r3.xyzw, l(2, 2, 2, 2) +umin r12.xyzw, r12.xyzw, l(255, 255, 255, 255) +ushr r12.xyzw, r12.xyzw, l(2) +and r12.xyzw, r12.xyzw, l(62, 62, 62, 62) +ushr r8.xyz, r8.xyzx, l(1) +and r8.xyz, r8.xyzx, l(126, 126, 126, 0) +iadd r13.xyz, r5.xyzx, l(1, 1, 1, 0) +umin r13.xyz, r13.xyzx, l(255, 255, 255, 0) +ushr r13.xyz, r13.xyzx, l(1) +and r13.xyz, r13.xyzx, l(126, 126, 126, 0) +and r14.xyz, r4.xyzx, l(-2, -2, -2, 0) +and r15.xyz, r5.xyzx, l(-2, -2, -2, 0) +iadd r16.xyzw, r4.xyzw, l(2, 2, 2, 2) +umin r16.xyzw, r16.xyzw, l(255, 255, 255, 255) +ushr r16.xyzw, r16.xyzw, l(2) +and r16.xyzw, r16.xyzw, l(62, 62, 62, 62) +iadd r17.xyzw, r5.xyzw, l(2, 2, 2, 2) +umin r17.xyzw, r17.xyzw, l(255, 255, 255, 255) +ushr r17.xyzw, r17.xyzw, l(2) +and r17.xyzw, r17.xyzw, l(62, 62, 62, 62) +mov r0.z, cb0[0].w +mov r0.w, l(0) +mov r18.y, l(-1) +mov r19.x, l(0) +loop + uge r6.w, r19.x, r0.y + breakc_nz r6.w + mov x0[0].x, r2.x + mov x0[1].x, r2.y + mov x0[2].x, r2.z + mov x0[3].x, r2.w + mov x0[0].y, r3.x + mov x0[1].y, r3.y + mov x0[2].y, r3.z + mov x0[3].y, r3.w + mov x0[4].x, r4.x + mov x0[5].x, r4.y + mov x0[6].x, r4.z + mov x0[7].x, r4.w + mov x0[4].y, r5.x + mov x0[5].y, r5.y + mov x0[6].y, r5.z + mov x0[7].y, r5.w + ieq r6.w, r0.z, l(1) + if_nz r6.w + and r6.w, r19.x, l(1) + iadd r20.xyz, r6.wwww, r6.xyzx + ishl r20.xyz, r20.xyzx, l(1) + ushr r21.xyz, r20.xyzx, l(7) + iadd r20.xyz, r20.xyzx, r21.xyzx + iadd r21.xyz, r6.wwww, r7.xyzx + ishl r21.xyz, r21.xyzx, l(1) + ushr r22.xyz, r21.xyzx, l(7) + iadd r21.xyz, r21.xyzx, r22.xyzx + mov x0[0].x, r20.x + mov x0[1].x, r20.y + mov x0[2].x, r20.z + mov x0[3].x, l(255) + mov x0[0].y, r21.x + mov x0[1].y, r21.y + mov x0[2].y, r21.z + mov x0[3].y, l(255) + ushr r6.w, r19.x, l(1) + and r6.w, r6.w, l(1) + iadd r20.xyz, r6.wwww, r8.xyzx + ishl r20.xyz, r20.xyzx, l(1) + ushr r21.xyz, r20.xyzx, l(7) + iadd r20.xyz, r20.xyzx, r21.xyzx + iadd r21.xyz, r6.wwww, r13.xyzx + ishl r21.xyz, r21.xyzx, l(1) + ushr r22.xyz, r21.xyzx, l(7) + iadd r21.xyz, r21.xyzx, r22.xyzx + mov x0[4].x, r20.x + mov x0[5].x, r20.y + mov x0[6].x, r20.z + mov x0[7].x, l(255) + mov x0[4].y, r21.x + mov x0[5].y, r21.y + mov x0[6].y, r21.z + mov x0[7].y, l(255) + else + ieq r6.w, r0.z, l(3) + if_nz r6.w + ushr r19.y, r19.x, l(1) + and r19.zw, r19.xxxy, l(0, 0, 1, 1) + iadd r20.xyz, r9.xyzx, r19.zzzz + iadd r21.xyz, r10.xyzx, r19.wwww + mov x0[0].x, r20.x + mov x0[1].x, r20.y + mov x0[2].x, r20.z + mov x0[3].x, l(255) + mov x0[0].y, r21.x + mov x0[1].y, r21.y + mov x0[2].y, r21.z + mov x0[3].y, l(255) + else + ieq r7.w, r0.z, l(7) + if_nz r7.w + ushr r19.y, r19.x, l(1) + and r19.zw, r19.xxxy, l(0, 0, 1, 1) + iadd r20.xyzw, r11.xyzw, r19.zzzz + ishl r20.xyzw, r20.xyzw, l(2) + ushr r21.xyzw, r20.xyzw, l(6) + iadd r20.xyzw, r20.xyzw, r21.xyzw + iadd r21.xyzw, r12.xyzw, r19.wwww + ishl r21.xyzw, r21.xyzw, l(2) + ushr r22.xyzw, r21.xyzw, l(6) + iadd r21.xyzw, r21.xyzw, r22.xyzw + mov x0[0].x, r20.x + mov x0[1].x, r20.y + mov x0[2].x, r20.z + mov x0[3].x, r20.w + mov x0[0].y, r21.x + mov x0[1].y, r21.y + mov x0[2].y, r21.z + mov x0[3].y, r21.w + endif + endif + if_nz r6.w + ushr r20.x, r19.x, l(2) + ushr r20.y, r19.x, l(3) + and r19.zw, r20.xxxy, l(0, 0, 1, 1) + iadd r20.xyz, r14.xyzx, r19.zzzz + iadd r21.xyz, r15.xyzx, r19.wwww + mov x0[4].x, r20.x + mov x0[5].x, r20.y + mov x0[6].x, r20.z + mov x0[7].x, l(255) + mov x0[4].y, r21.x + mov x0[5].y, r21.y + mov x0[6].y, r21.z + mov x0[7].y, l(255) + else + ieq r6.w, r0.z, l(7) + if_nz r6.w + ushr r20.x, r19.x, l(2) + ushr r20.y, r19.x, l(3) + and r19.zw, r20.xxxy, l(0, 0, 1, 1) + iadd r20.xyzw, r16.xyzw, r19.zzzz + ishl r20.xyzw, r20.xyzw, l(2) + ushr r21.xyzw, r20.xyzw, l(6) + iadd r20.xyzw, r20.xyzw, r21.xyzw + iadd r21.xyzw, r17.xyzw, r19.wwww + ishl r21.xyzw, r21.xyzw, l(2) + ushr r22.xyzw, r21.xyzw, l(6) + iadd r21.xyzw, r21.xyzw, r22.xyzw + mov x0[4].x, r20.x + mov x0[5].x, r20.y + mov x0[6].x, r20.z + mov x0[7].x, r20.w + mov x0[4].y, r21.x + mov x0[5].y, r21.y + mov x0[6].y, r21.z + mov x0[7].y, r21.w + endif + endif + endif + mov r20.x, x0[0].y + mov r20.y, x0[1].y + mov r20.z, x0[2].y + mov r20.w, x0[3].y + mov r6.w, x0[0].x + mov r7.w, x0[1].x + mov r8.w, x0[2].x + mov r9.w, x0[3].x + ineg r21.x, r6.w + ineg r21.y, r7.w + ineg r21.z, r8.w + ineg r21.w, r9.w + iadd r22.xyzw, r20.xyzw, r21.xyzw + mov r23.x, x0[4].y + mov r23.y, x0[5].y + mov r23.z, x0[6].y + mov r23.w, x0[7].y + mov r10.w, x0[4].x + mov r13.w, x0[5].x + mov r14.w, x0[6].x + mov r15.w, x0[7].x + ineg r24.x, r10.w + ineg r24.y, r13.w + ineg r24.z, r14.w + ineg r24.w, r15.w + iadd r23.xyzw, r23.xyzw, r24.xyzw + ine r19.zw, r0.zzzz, l(0, 0, 7, 1) + movc r23.w, r19.z, l(0), r23.w + movc r22.w, r19.z, l(0), r22.w + imul null, r24.xy, r22.xyxx, r22.xyxx + iadd r10.w, r24.y, r24.x + imad r10.w, r22.z, r22.z, r10.w + imad r10.w, r22.w, r22.w, r10.w + imul null, r24.xy, r23.xyxx, r23.xyxx + iadd r13.w, r24.y, r24.x + imad r13.w, r23.z, r23.z, r13.w + imad r13.w, r23.w, r23.w, r13.w + ld_structured r24.xyzw, l(0), l(0), g0.xyzw + iadd r21.xyzw, r21.xyzw, r24.xyzw + imul null, r21.xy, r21.xyxx, r22.xyxx + iadd r14.w, r21.y, r21.x + imad r14.w, r22.z, r21.z, r14.w + imad r14.w, r22.w, r21.w, r14.w + ilt r15.w, l(0), r10.w + ilt r18.w, l(0), r14.w + and r15.w, r15.w, r18.w + itof r14.w, r14.w + mul r14.w, r14.w, l(63.499989) + ftou r14.w, r14.w + ishl r18.w, r10.w, l(5) + ult r14.w, r18.w, r14.w + and r14.w, r14.w, r15.w + ineg r21.xyzw, r22.xyzw + movc r21.xyzw, r14.wwww, r21.xyzw, r22.xyzw + movc r15.w, r14.w, r20.x, r6.w + mov x0[0].x, r15.w + mov r18.w, x0[1].x + movc r18.w, r14.w, r20.y, r18.w + mov x0[1].x, r18.w + mov r20.x, x0[2].x + movc r20.x, r14.w, r20.z, r20.x + mov x0[2].x, r20.x + mov r20.y, x0[3].x + movc r20.y, r14.w, r20.w, r20.y + mov x0[3].x, r20.y + mov r20.z, x0[0].y + movc r6.w, r14.w, r6.w, r20.z + mov x0[0].y, r6.w + mov r6.w, x0[1].y + movc r6.w, r14.w, r7.w, r6.w + mov x0[1].y, r6.w + mov r6.w, x0[2].y + movc r6.w, r14.w, r8.w, r6.w + mov x0[2].y, r6.w + mov r6.w, x0[3].y + movc r6.w, r14.w, r9.w, r6.w + mov x0[3].y, r6.w + mov r6.w, vThreadIDInGroupFlattened.x + mov r7.w, icb[r6.w + 0].y + ld_structured r22.xyzw, r7.w, l(0), g0.xyzw + mov r7.w, x0[4].x + mov r8.w, x0[5].x + mov r9.w, x0[6].x + mov r14.w, x0[7].x + ineg r24.x, r7.w + ineg r24.y, r8.w + ineg r24.z, r9.w + ineg r24.w, r14.w + iadd r22.xyzw, r22.xyzw, r24.xyzw + imul null, r20.zw, r22.xxxy, r23.xxxy + iadd r20.z, r20.w, r20.z + imad r20.z, r23.z, r22.z, r20.z + imad r20.z, r23.w, r22.w, r20.z + ilt r20.w, l(0), r13.w + ilt r22.x, l(0), r20.z + and r20.w, r20.w, r22.x + itof r20.z, r20.z + mul r20.z, r20.z, l(63.499989) + ftou r20.z, r20.z + ishl r22.x, r13.w, l(5) + ult r20.z, r22.x, r20.z + and r20.z, r20.z, r20.w + ineg r22.xyzw, r23.xyzw + movc r22.xyzw, r20.zzzz, r22.xyzw, r23.xyzw + mov r20.w, x0[4].y + mov r23.x, x0[5].y + mov r23.y, x0[6].y + mov r23.z, x0[7].y + movc r20.w, r20.z, r20.w, r7.w + mov x0[4].x, r20.w + mov r23.w, x0[5].x + movc r23.x, r20.z, r23.x, r23.w + mov x0[5].x, r23.x + mov r23.w, x0[6].x + movc r23.y, r20.z, r23.y, r23.w + mov x0[6].x, r23.y + mov r23.w, x0[7].x + movc r23.z, r20.z, r23.z, r23.w + mov x0[7].x, r23.z + mov r23.w, x0[4].y + movc r7.w, r20.z, r7.w, r23.w + mov x0[4].y, r7.w + mov r7.w, x0[5].y + movc r7.w, r20.z, r8.w, r7.w + mov x0[5].y, r7.w + mov r7.w, x0[6].y + movc r7.w, r20.z, r9.w, r7.w + mov x0[6].y, r7.w + mov r7.w, x0[7].y + movc r7.w, r20.z, r14.w, r7.w + mov x0[7].y, r7.w + ineg r24.x, r20.w + ineg r24.yzw, r23.xxyz + ige r7.w, l(0), r13.w + itof r8.w, r13.w + movc r23.xyz, r19.wwww, l(32,128,3,0), l(16,64,7,0) + ineg r25.x, r15.w + ineg r25.y, r18.w + ineg r25.zw, r20.xxxy + ige r9.w, l(0), r10.w + itof r14.w, r10.w + mov r15.w, l(0) + mov r19.y, l(0) + loop + uge r18.w, r15.w, l(16) + breakc_nz r18.w + ushr r18.w, icb[r6.w + 0].x, r15.w + and r18.w, r18.w, l(1) + ieq r19.w, r18.w, l(1) + if_nz r19.w + ld_structured r20.xyzw, r15.w, l(0), g0.xyzw + iadd r20.xyzw, r24.xyzw, r20.xyzw + imul null, r20.xy, r20.xyxx, r22.xyxx + iadd r19.w, r20.y, r20.x + imad r19.w, r22.z, r20.z, r19.w + imad r19.w, r22.w, r20.w, r19.w + ige r20.x, l(0), r19.w + or r20.x, r7.w, r20.x + ilt r20.y, r19.w, r13.w + itof r19.w, r19.w + mul r19.w, r19.w, l(63.499989) + div r19.w, r19.w, r8.w + ftou r19.w, r19.w + iadd r19.w, r19.w, r23.y + movc r19.w, r20.y, icb[r19.w + 0].w, r23.z + movc r19.w, r20.x, l(0), r19.w + else + ld_structured r20.xyzw, r15.w, l(0), g0.xyzw + iadd r20.xyzw, r25.xyzw, r20.xyzw + imul null, r20.xy, r20.xyxx, r21.xyxx + iadd r20.x, r20.y, r20.x + imad r20.x, r21.z, r20.z, r20.x + imad r20.x, r21.w, r20.w, r20.x + ige r20.y, l(0), r20.x + or r20.y, r9.w, r20.y + ilt r20.z, r20.x, r10.w + itof r20.x, r20.x + mul r20.x, r20.x, l(63.499989) + div r20.x, r20.x, r14.w + ftou r20.x, r20.x + iadd r20.x, r20.x, r23.y + movc r20.x, r20.z, icb[r20.x + 0].w, r23.z + movc r19.w, r20.y, l(0), r20.x + endif + iadd r19.w, r19.w, r23.x + iadd r20.x, l(64), -icb[r19.w + 64].x + ishl r18.w, r18.w, l(2) + mov r26.x, x0[r18.w + 0].x + mov r26.y, x0[r18.w + 1].x + mov r26.z, x0[r18.w + 2].x + mov r26.w, x0[r18.w + 3].x + mov r27.x, x0[r18.w + 0].y + mov r27.y, x0[r18.w + 1].y + mov r27.z, x0[r18.w + 2].y + mov r27.w, x0[r18.w + 3].y + imul null, r27.xyzw, r27.xyzw, icb[r19.w + 64].xxxx + imad r20.xyzw, r20.xxxx, r26.xyzw, r27.xyzw + iadd r20.xyzw, r20.xyzw, l(32, 32, 32, 32) + ushr r20.xyzw, r20.xzyw, l(6) + movc r20.w, r19.z, l(255), r20.w + ld_structured r26.xyzw, r15.w, l(0), g0.xyzw + ult r27.xyz, r20.xzyx, r26.xyzx + mov r28.xz, r26.xxyx + mov r28.yw, r20.xxxz + movc r28.xyzw, r27.xxyy, r28.xyzw, r28.yxwz + mov r20.xz, r26.zzwz + movc r20.xy, r27.zzzz, r20.xyxx, r20.yxyy + ult r18.w, r20.w, r26.w + movc r26.xw, r18.wwww, r20.wwwz, r20.zzzw + ineg r27.xy, r28.ywyy + ineg r27.z, r20.y + ineg r27.w, r26.x + mov r26.xy, r28.xzxx + mov r26.z, r20.x + iadd r20.xyzw, r27.xyzw, r26.xyzw + imul null, r20.xy, r20.xyxx, r20.xyxx + iadd r18.w, r20.y, r20.x + imad r18.w, r20.z, r20.z, r18.w + utof r18.w, r18.w + utof r19.w, r20.w + mul r19.w, r19.w, r19.w + mad r18.w, r19.w, cb0[1].z, r18.w + ftou r18.w, r18.w + iadd r19.y, r18.w, r19.y + iadd r15.w, r15.w, l(1) + endloop + ult r6.w, r19.y, r18.y + mov r18.x, r0.w + movc r18.xy, r6.wwww, r19.xyxx, r18.xyxx + iadd r19.x, r19.x, l(1) + mov r0.w, r18.x +endloop +mov r18.x, cb0[0].w +mov r18.z, vThreadIDInGroupFlattened.x +store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(16), r18.yxzy +store_structured g0.x, vThreadIDInGroupFlattened.x, l(32), r0.w +sync_g_t +if_nz r1.y + iadd r0.y, vThreadIDInGroupFlattened.x, l(32) + ld_structured r2.yzw, r0.y, l(16), g0.xxyz + ld_structured r3.x, r0.y, l(32), g0.xxxx + ult r0.z, r2.y, r18.y + if_nz r0.z + ld_structured r2.x, r0.y, l(16), g0.xxxx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(16), r2.xzwx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(32), r3.x + endif +endif +if_nz r1.x + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(16) + ld_structured r3.yzw, r0.y, l(16), g0.xxyz + ld_structured r4.x, r0.y, l(32), g0.xxxx + ult r0.z, r3.y, r2.x + if_nz r0.z + ld_structured r3.x, r0.y, l(16), g0.xxxx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(16), r3.xzwx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(32), r4.x + endif +endif +if_nz r1.z + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(8) + ld_structured r3.yzw, r0.y, l(16), g0.xxyz + ld_structured r4.x, r0.y, l(32), g0.xxxx + ult r0.z, r3.y, r2.x + if_nz r0.z + ld_structured r3.x, r0.y, l(16), g0.xxxx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(16), r3.xzwx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(32), r4.x + endif +endif +if_nz r1.w + ld_structured r1.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(4) + ld_structured r2.yzw, r0.y, l(16), g0.xxyz + ld_structured r3.x, r0.y, l(32), g0.xxxx + ult r0.z, r2.y, r1.x + if_nz r0.z + ld_structured r2.x, r0.y, l(16), g0.xxxx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(16), r2.xzwx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(32), r3.x + endif +endif +ult r0.yz, vThreadIDInGroupFlattened.xxxx, l(0, 2, 1, 0) +if_nz r0.y + ld_structured r1.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(2) + ld_structured r2.yzw, r0.y, l(16), g0.xxyz + ld_structured r3.x, r0.y, l(32), g0.xxxx + ult r0.w, r2.y, r1.x + if_nz r0.w + ld_structured r2.x, r0.y, l(16), g0.xxxx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(16), r2.xzwx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(32), r3.x + endif +endif +if_nz r0.z + ld_structured r1.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(1) + ld_structured r2.yzw, r0.y, l(16), g0.xxyz + ld_structured r3.x, r0.y, l(32), g0.xxxx + ult r0.z, r2.y, r1.x + if_nz r0.z + ld_structured r2.x, r0.y, l(16), g0.xxxx + store_structured g0.xyz, vThreadIDInGroupFlattened.x, l(16), r2.xzwx + store_structured g0.x, vThreadIDInGroupFlattened.x, l(32), r3.x + endif + ld_structured r1.x, r0.x, l(0), t1.xxxx + ld_structured r2.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + ult r0.y, r2.x, r1.x + if_nz r0.y + ld_structured r1.xyz, vThreadIDInGroupFlattened.x, l(16), g0.xyzx + ld_structured r1.w, vThreadIDInGroupFlattened.x, l(32), g0.xxxx + else + ld_structured r1.xyzw, r0.x, l(0), t1.xyzw + endif + store_structured u0.xyzw, r0.x, l(0), r1.xyzw +endif +ret +// Approximately 0 instruction slots used +#endif + +const BYTE BC7Encode_TryMode137CS[] = +{ + 68, 88, 66, 67, 24, 142, + 44, 233, 135, 73, 185, 32, + 139, 70, 101, 2, 121, 203, + 167, 180, 1, 0, 0, 0, + 144, 73, 0, 0, 3, 0, + 0, 0, 44, 0, 0, 0, + 60, 0, 0, 0, 76, 0, + 0, 0, 73, 83, 71, 78, + 8, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 79, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 83, 72, + 69, 88, 60, 73, 0, 0, + 64, 0, 5, 0, 79, 18, + 0, 0, 106, 8, 0, 1, + 53, 24, 0, 0, 2, 3, + 0, 0, 204, 204, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 136, 136, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 238, 238, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 200, 236, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 128, 200, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 236, 254, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 200, 254, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 128, 236, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 200, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 236, 255, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 128, 254, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 232, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 232, 255, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 255, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 240, 255, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 240, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 16, 247, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 142, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 0, 113, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 206, 8, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 140, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 16, 115, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 0, 49, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 206, 140, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 140, 8, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 16, 49, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 102, 102, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 108, 54, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 232, 23, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 240, 15, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 142, 113, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 156, 57, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 170, 170, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 240, 240, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 90, 90, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 204, 51, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 60, 60, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 170, 85, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 150, 150, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 90, 165, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 206, 115, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 200, 19, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 76, 50, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 220, 59, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 150, 105, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 60, 195, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 102, 153, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 96, 6, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 11, 0, + 0, 0, 114, 2, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 228, 4, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 64, 78, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 12, 0, + 0, 0, 32, 39, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 54, 201, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 108, 147, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 12, 0, + 0, 0, 198, 57, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 13, 0, 0, 0, + 156, 99, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 54, 147, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 13, 0, + 0, 0, 198, 156, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 13, 0, 0, 0, + 126, 129, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 24, 231, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 14, 0, + 0, 0, 240, 204, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 204, 15, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 68, 119, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 34, 238, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 15, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 17, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 21, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 1, 0, 0, 0, + 26, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 0, 15, 0, 0, 0, + 8, 0, 0, 0, 1, 0, + 0, 0, 34, 0, 0, 0, + 8, 0, 0, 0, 15, 0, + 0, 0, 1, 0, 0, 0, + 38, 0, 0, 0, 8, 0, + 0, 0, 15, 0, 0, 0, + 1, 0, 0, 0, 43, 0, + 0, 0, 6, 0, 0, 0, + 15, 0, 0, 0, 1, 0, + 0, 0, 47, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 1, 0, 0, 0, + 51, 0, 0, 0, 6, 0, + 0, 0, 15, 0, 0, 0, + 1, 0, 0, 0, 55, 0, + 0, 0, 5, 0, 0, 0, + 15, 0, 0, 0, 1, 0, + 0, 0, 60, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 2, 0, 0, 0, + 64, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 2, 0, + 0, 0, 9, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 2, 0, 0, 0, + 18, 0, 0, 0, 8, 0, + 0, 0, 15, 0, 0, 0, + 2, 0, 0, 0, 27, 0, + 0, 0, 15, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 37, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 2, 0, 0, 0, + 46, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 2, 0, 0, 0, 55, 0, + 0, 0, 6, 0, 0, 0, + 15, 0, 0, 0, 2, 0, + 0, 0, 64, 0, 0, 0, + 10, 0, 0, 0, 8, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 6, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 10, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 10, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 8, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 21, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 43, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 4, 0, + 0, 0, 64, 0, 0, 0, + 5, 0, 0, 0, 10, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 10, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 9, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 10, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 6, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 8, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 15, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 6, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 6, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 8, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 3, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 15, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 15, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 15, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 15, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 15, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 15, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 15, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 15, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 15, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 15, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 8, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 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, 1, 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, + 1, 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, 1, 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, 1, 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, + 1, 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, 1, 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, 1, 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, + 1, 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, 1, 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, 1, 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, + 1, 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, 2, 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, 2, 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, + 2, 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, 2, 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, 2, 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, + 2, 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, 2, 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, 2, 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, + 2, 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, 2, 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, 3, 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, + 3, 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, 3, 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, 3, 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, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 0, 0, 0, 0, + 85, 85, 0, 0, 162, 0, + 0, 4, 0, 112, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 0, 158, 0, 0, 4, + 0, 224, 17, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 95, 0, 0, 2, 0, 64, + 2, 0, 95, 0, 0, 2, + 18, 16, 2, 0, 104, 0, + 0, 2, 29, 0, 0, 0, + 105, 0, 0, 4, 0, 0, + 0, 0, 8, 0, 0, 0, + 4, 0, 0, 0, 160, 0, + 0, 5, 0, 240, 17, 0, + 0, 0, 0, 0, 100, 0, + 0, 0, 64, 0, 0, 0, + 155, 0, 0, 4, 64, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 16, + 2, 0, 10, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 79, 0, 0, 9, + 242, 0, 16, 0, 1, 0, + 0, 0, 6, 64, 2, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 32, 0, 0, 0, + 8, 0, 0, 0, 4, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 1, 0, + 0, 0, 78, 0, 0, 9, + 34, 0, 16, 0, 0, 0, + 0, 0, 0, 208, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 26, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 35, 0, 0, 11, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 26, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 6, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 85, 0, + 0, 6, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 8, + 194, 0, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 45, 0, + 0, 7, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 127, 67, + 0, 0, 127, 67, 0, 0, + 127, 67, 0, 0, 127, 67, + 28, 0, 0, 5, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 84, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 21, 0, 0, 1, + 190, 24, 0, 1, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 1, 80, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 3, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 54, 0, 0, 4, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 85, 0, 0, 8, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 144, 144, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 32, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 54, 0, + 0, 6, 34, 0, 16, 0, + 3, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 54, 0, + 0, 6, 66, 0, 16, 0, + 3, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 3, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 84, 0, + 0, 7, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 18, 0, 16, 0, 3, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 54, 0, 0, 6, + 34, 0, 16, 0, 3, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 3, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 3, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 83, 0, 0, 7, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 18, 0, 0, 1, 54, 0, + 0, 6, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 34, 0, 16, 0, + 3, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 66, 0, 16, 0, + 3, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 3, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 84, 0, + 0, 7, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 18, 0, 16, 0, 3, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 6, + 34, 0, 16, 0, 3, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 3, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 3, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 83, 0, 0, 7, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 21, 0, 0, 1, 30, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 22, 0, 0, 1, + 54, 0, 0, 6, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 2, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 2, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 3, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 3, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 3, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 18, 0, + 16, 0, 4, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 4, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 4, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 4, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 54, 0, 0, 6, 18, 0, + 16, 0, 5, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 6, 34, 0, + 16, 0, 5, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 5, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 5, 0, 0, 0, + 26, 48, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 32, 0, 0, 8, 34, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 55, 0, 0, 9, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 30, 0, 0, 10, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 84, 0, 0, 10, 114, 0, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 2, 64, + 0, 0, 126, 0, 0, 0, + 126, 0, 0, 0, 126, 0, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 84, 0, + 0, 10, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 126, 0, 0, 0, 126, 0, + 0, 0, 126, 0, 0, 0, + 0, 0, 0, 0, 30, 0, + 0, 10, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 254, 255, 255, 255, + 254, 255, 255, 255, 254, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 254, 255, 255, 255, 254, 255, + 255, 255, 254, 255, 255, 255, + 0, 0, 0, 0, 84, 0, + 0, 10, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 11, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, + 84, 0, 0, 10, 242, 0, + 16, 0, 11, 0, 0, 0, + 70, 14, 16, 0, 11, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 85, 0, + 0, 7, 242, 0, 16, 0, + 11, 0, 0, 0, 70, 14, + 16, 0, 11, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 11, 0, + 0, 0, 70, 14, 16, 0, + 11, 0, 0, 0, 2, 64, + 0, 0, 62, 0, 0, 0, + 62, 0, 0, 0, 62, 0, + 0, 0, 62, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 12, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 84, 0, + 0, 10, 242, 0, 16, 0, + 12, 0, 0, 0, 70, 14, + 16, 0, 12, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 85, 0, 0, 7, + 242, 0, 16, 0, 12, 0, + 0, 0, 70, 14, 16, 0, + 12, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 12, 0, 0, 0, + 70, 14, 16, 0, 12, 0, + 0, 0, 2, 64, 0, 0, + 62, 0, 0, 0, 62, 0, + 0, 0, 62, 0, 0, 0, + 62, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 126, 0, 0, 0, + 126, 0, 0, 0, 126, 0, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 84, 0, + 0, 10, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 2, 64, 0, 0, + 126, 0, 0, 0, 126, 0, + 0, 0, 126, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 254, 255, + 255, 255, 254, 255, 255, 255, + 254, 255, 255, 255, 0, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 2, 64, + 0, 0, 254, 255, 255, 255, + 254, 255, 255, 255, 254, 255, + 255, 255, 0, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 16, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 84, 0, + 0, 10, 242, 0, 16, 0, + 16, 0, 0, 0, 70, 14, + 16, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 85, 0, 0, 7, + 242, 0, 16, 0, 16, 0, + 0, 0, 70, 14, 16, 0, + 16, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 16, 0, 0, 0, + 70, 14, 16, 0, 16, 0, + 0, 0, 2, 64, 0, 0, + 62, 0, 0, 0, 62, 0, + 0, 0, 62, 0, 0, 0, + 62, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 17, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 84, 0, 0, 10, + 242, 0, 16, 0, 17, 0, + 0, 0, 70, 14, 16, 0, + 17, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 85, 0, 0, 7, 242, 0, + 16, 0, 17, 0, 0, 0, + 70, 14, 16, 0, 17, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 17, 0, 0, 0, 70, 14, + 16, 0, 17, 0, 0, 0, + 2, 64, 0, 0, 62, 0, + 0, 0, 62, 0, 0, 0, + 62, 0, 0, 0, 62, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 18, 0, 0, 0, 1, 64, + 0, 0, 255, 255, 255, 255, + 54, 0, 0, 5, 18, 0, + 16, 0, 19, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 48, 0, 0, 1, + 80, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 19, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 3, 0, + 4, 3, 58, 0, 16, 0, + 6, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 5, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 5, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 32, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 58, 0, 16, 0, 6, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 19, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 114, 0, + 16, 0, 20, 0, 0, 0, + 246, 15, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 41, 0, + 0, 7, 114, 0, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 21, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 30, 0, 0, 7, 114, 0, + 16, 0, 20, 0, 0, 0, + 70, 2, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 21, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 21, 0, 0, 0, 246, 15, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 21, 0, + 0, 0, 70, 2, 16, 0, + 21, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 22, 0, 0, 0, + 70, 2, 16, 0, 21, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 21, 0, 0, 0, 70, 2, + 16, 0, 21, 0, 0, 0, + 70, 2, 16, 0, 22, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 20, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 20, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 20, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 255, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 21, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 21, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 21, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 255, 0, + 0, 0, 85, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 19, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 20, 0, 0, 0, 246, 15, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 41, 0, 0, 7, + 114, 0, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 21, 0, 0, 0, + 70, 2, 16, 0, 20, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 70, 2, 16, 0, 21, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 21, 0, + 0, 0, 246, 15, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 21, 0, 0, 0, + 70, 2, 16, 0, 21, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 22, 0, 0, 0, 70, 2, + 16, 0, 21, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 21, 0, + 0, 0, 70, 2, 16, 0, + 21, 0, 0, 0, 70, 2, + 16, 0, 22, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 20, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 20, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 255, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 21, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 21, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 21, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 255, 0, 0, 0, + 18, 0, 0, 1, 32, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 31, 0, 4, 3, + 58, 0, 16, 0, 6, 0, + 0, 0, 85, 0, 0, 7, + 34, 0, 16, 0, 19, 0, + 0, 0, 10, 0, 16, 0, + 19, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 19, 0, 0, 0, + 6, 4, 16, 0, 19, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 166, 10, 16, 0, 19, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 21, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 246, 15, + 16, 0, 19, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 20, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 20, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 255, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 21, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 21, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 21, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 255, 0, 0, 0, + 18, 0, 0, 1, 32, 0, + 0, 7, 130, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 7, 0, + 0, 0, 31, 0, 4, 3, + 58, 0, 16, 0, 7, 0, + 0, 0, 85, 0, 0, 7, + 34, 0, 16, 0, 19, 0, + 0, 0, 10, 0, 16, 0, + 19, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 19, 0, 0, 0, + 6, 4, 16, 0, 19, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 20, 0, 0, 0, 70, 14, + 16, 0, 11, 0, 0, 0, + 166, 10, 16, 0, 19, 0, + 0, 0, 41, 0, 0, 7, + 242, 0, 16, 0, 20, 0, + 0, 0, 70, 14, 16, 0, + 20, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 85, 0, 0, 7, 242, 0, + 16, 0, 21, 0, 0, 0, + 70, 14, 16, 0, 20, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 20, 0, 0, 0, 70, 14, + 16, 0, 20, 0, 0, 0, + 70, 14, 16, 0, 21, 0, + 0, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 21, 0, + 0, 0, 70, 14, 16, 0, + 12, 0, 0, 0, 246, 15, + 16, 0, 19, 0, 0, 0, + 41, 0, 0, 7, 242, 0, + 16, 0, 21, 0, 0, 0, + 70, 14, 16, 0, 21, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 85, 0, + 0, 7, 242, 0, 16, 0, + 22, 0, 0, 0, 70, 14, + 16, 0, 21, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 21, 0, + 0, 0, 70, 14, 16, 0, + 21, 0, 0, 0, 70, 14, + 16, 0, 22, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 20, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 20, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 54, 0, 0, 6, 18, 48, + 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 20, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 21, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 21, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 21, 0, 0, 0, + 54, 0, 0, 6, 34, 48, + 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 21, 0, 0, 0, + 21, 0, 0, 1, 21, 0, + 0, 1, 31, 0, 4, 3, + 58, 0, 16, 0, 6, 0, + 0, 0, 85, 0, 0, 7, + 18, 0, 16, 0, 20, 0, + 0, 0, 10, 0, 16, 0, + 19, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 85, 0, 0, 7, 34, 0, + 16, 0, 20, 0, 0, 0, + 10, 0, 16, 0, 19, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 10, 194, 0, 16, 0, + 19, 0, 0, 0, 6, 4, + 16, 0, 20, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 166, 10, + 16, 0, 19, 0, 0, 0, + 30, 0, 0, 7, 114, 0, + 16, 0, 21, 0, 0, 0, + 70, 2, 16, 0, 15, 0, + 0, 0, 246, 15, 16, 0, + 19, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 20, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 20, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 20, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 255, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 21, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 21, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 21, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 255, 0, 0, 0, 18, 0, + 0, 1, 32, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 31, 0, 4, 3, 58, 0, + 16, 0, 6, 0, 0, 0, + 85, 0, 0, 7, 18, 0, + 16, 0, 20, 0, 0, 0, + 10, 0, 16, 0, 19, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 85, 0, + 0, 7, 34, 0, 16, 0, + 20, 0, 0, 0, 10, 0, + 16, 0, 19, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 19, 0, + 0, 0, 6, 4, 16, 0, + 20, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 20, 0, 0, 0, + 70, 14, 16, 0, 16, 0, + 0, 0, 166, 10, 16, 0, + 19, 0, 0, 0, 41, 0, + 0, 7, 242, 0, 16, 0, + 20, 0, 0, 0, 70, 14, + 16, 0, 20, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 85, 0, 0, 7, + 242, 0, 16, 0, 21, 0, + 0, 0, 70, 14, 16, 0, + 20, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 20, 0, 0, 0, + 70, 14, 16, 0, 20, 0, + 0, 0, 70, 14, 16, 0, + 21, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 21, 0, 0, 0, 70, 14, + 16, 0, 17, 0, 0, 0, + 246, 15, 16, 0, 19, 0, + 0, 0, 41, 0, 0, 7, + 242, 0, 16, 0, 21, 0, + 0, 0, 70, 14, 16, 0, + 21, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 85, 0, 0, 7, 242, 0, + 16, 0, 22, 0, 0, 0, + 70, 14, 16, 0, 21, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 21, 0, 0, 0, 70, 14, + 16, 0, 21, 0, 0, 0, + 70, 14, 16, 0, 22, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 20, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 20, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 20, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 20, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 21, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 21, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 21, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 21, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 21, 0, + 0, 1, 54, 0, 0, 6, + 18, 0, 16, 0, 20, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 6, + 34, 0, 16, 0, 20, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 20, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 20, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 6, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 7, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 8, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 9, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 40, 0, 0, 5, + 18, 0, 16, 0, 21, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 40, 0, + 0, 5, 34, 0, 16, 0, + 21, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 40, 0, 0, 5, 66, 0, + 16, 0, 21, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 40, 0, 0, 5, + 130, 0, 16, 0, 21, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 22, 0, 0, 0, 70, 14, + 16, 0, 20, 0, 0, 0, + 70, 14, 16, 0, 21, 0, + 0, 0, 54, 0, 0, 6, + 18, 0, 16, 0, 23, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 54, 0, 0, 6, + 34, 0, 16, 0, 23, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 23, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 23, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 10, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 13, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 14, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 15, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 40, 0, 0, 5, + 18, 0, 16, 0, 24, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 40, 0, + 0, 5, 34, 0, 16, 0, + 24, 0, 0, 0, 58, 0, + 16, 0, 13, 0, 0, 0, + 40, 0, 0, 5, 66, 0, + 16, 0, 24, 0, 0, 0, + 58, 0, 16, 0, 14, 0, + 0, 0, 40, 0, 0, 5, + 130, 0, 16, 0, 24, 0, + 0, 0, 58, 0, 16, 0, + 15, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 23, 0, 0, 0, 70, 14, + 16, 0, 23, 0, 0, 0, + 70, 14, 16, 0, 24, 0, + 0, 0, 39, 0, 0, 10, + 194, 0, 16, 0, 19, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 1, 0, 0, 0, + 55, 0, 0, 9, 130, 0, + 16, 0, 23, 0, 0, 0, + 42, 0, 16, 0, 19, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 23, 0, 0, 0, + 55, 0, 0, 9, 130, 0, + 16, 0, 22, 0, 0, 0, + 42, 0, 16, 0, 19, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 22, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 50, 0, 16, 0, + 24, 0, 0, 0, 70, 0, + 16, 0, 22, 0, 0, 0, + 70, 0, 16, 0, 22, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 24, 0, 0, 0, 10, 0, + 16, 0, 24, 0, 0, 0, + 35, 0, 0, 9, 130, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 22, 0, + 0, 0, 42, 0, 16, 0, + 22, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 35, 0, 0, 9, 130, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 22, 0, + 0, 0, 58, 0, 16, 0, + 22, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 50, 0, 16, 0, + 24, 0, 0, 0, 70, 0, + 16, 0, 23, 0, 0, 0, + 70, 0, 16, 0, 23, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 13, 0, + 0, 0, 26, 0, 16, 0, + 24, 0, 0, 0, 10, 0, + 16, 0, 24, 0, 0, 0, + 35, 0, 0, 9, 130, 0, + 16, 0, 13, 0, 0, 0, + 42, 0, 16, 0, 23, 0, + 0, 0, 42, 0, 16, 0, + 23, 0, 0, 0, 58, 0, + 16, 0, 13, 0, 0, 0, + 35, 0, 0, 9, 130, 0, + 16, 0, 13, 0, 0, 0, + 58, 0, 16, 0, 23, 0, + 0, 0, 58, 0, 16, 0, + 23, 0, 0, 0, 58, 0, + 16, 0, 13, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 24, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 21, 0, 0, 0, + 70, 14, 16, 0, 21, 0, + 0, 0, 70, 14, 16, 0, + 24, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 50, 0, 16, 0, 21, 0, + 0, 0, 70, 0, 16, 0, + 21, 0, 0, 0, 70, 0, + 16, 0, 22, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 14, 0, 0, 0, + 26, 0, 16, 0, 21, 0, + 0, 0, 10, 0, 16, 0, + 21, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 14, 0, 0, 0, 42, 0, + 16, 0, 22, 0, 0, 0, + 42, 0, 16, 0, 21, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 14, 0, 0, 0, 58, 0, + 16, 0, 22, 0, 0, 0, + 58, 0, 16, 0, 21, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 34, 0, + 0, 7, 130, 0, 16, 0, + 15, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 34, 0, 0, 7, + 130, 0, 16, 0, 18, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 14, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 15, 0, 0, 0, + 58, 0, 16, 0, 15, 0, + 0, 0, 58, 0, 16, 0, + 18, 0, 0, 0, 43, 0, + 0, 5, 130, 0, 16, 0, + 14, 0, 0, 0, 58, 0, + 16, 0, 14, 0, 0, 0, + 56, 0, 0, 7, 130, 0, + 16, 0, 14, 0, 0, 0, + 58, 0, 16, 0, 14, 0, + 0, 0, 1, 64, 0, 0, + 253, 255, 125, 66, 28, 0, + 0, 5, 130, 0, 16, 0, + 14, 0, 0, 0, 58, 0, + 16, 0, 14, 0, 0, 0, + 41, 0, 0, 7, 130, 0, + 16, 0, 18, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 79, 0, + 0, 7, 130, 0, 16, 0, + 14, 0, 0, 0, 58, 0, + 16, 0, 18, 0, 0, 0, + 58, 0, 16, 0, 14, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 14, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 58, 0, + 16, 0, 15, 0, 0, 0, + 40, 0, 0, 5, 242, 0, + 16, 0, 21, 0, 0, 0, + 70, 14, 16, 0, 22, 0, + 0, 0, 55, 0, 0, 9, + 242, 0, 16, 0, 21, 0, + 0, 0, 246, 15, 16, 0, + 14, 0, 0, 0, 70, 14, + 16, 0, 21, 0, 0, 0, + 70, 14, 16, 0, 22, 0, + 0, 0, 55, 0, 0, 9, + 130, 0, 16, 0, 15, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 10, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 15, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 18, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 55, 0, 0, 9, + 130, 0, 16, 0, 18, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 26, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 18, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 18, 0, + 0, 0, 54, 0, 0, 6, + 18, 0, 16, 0, 20, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 55, 0, 0, 9, + 18, 0, 16, 0, 20, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 10, 0, 16, 0, 20, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 20, 0, + 0, 0, 54, 0, 0, 6, + 34, 0, 16, 0, 20, 0, + 0, 0, 10, 48, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 55, 0, 0, 9, + 34, 0, 16, 0, 20, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 58, 0, + 16, 0, 20, 0, 0, 0, + 26, 0, 16, 0, 20, 0, + 0, 0, 54, 0, 0, 6, + 18, 48, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 20, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 20, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 9, + 130, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 42, 0, 16, 0, 20, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 6, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 55, 0, 0, 9, + 130, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 58, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 6, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 55, 0, 0, 9, + 130, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 6, 0, + 0, 0, 26, 48, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 55, 0, 0, 9, + 130, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 54, 0, 0, 6, + 34, 48, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 54, 0, 0, 4, + 130, 0, 16, 0, 6, 0, + 0, 0, 10, 64, 2, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 7, 0, 0, 0, + 26, 144, 144, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 22, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 7, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 8, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 9, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 54, 0, 0, 6, 130, 0, + 16, 0, 14, 0, 0, 0, + 10, 48, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 40, 0, 0, 5, 18, 0, + 16, 0, 24, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 40, 0, 0, 5, + 34, 0, 16, 0, 24, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 40, 0, + 0, 5, 66, 0, 16, 0, + 24, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 40, 0, 0, 5, 130, 0, + 16, 0, 24, 0, 0, 0, + 58, 0, 16, 0, 14, 0, + 0, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 22, 0, + 0, 0, 70, 14, 16, 0, + 22, 0, 0, 0, 70, 14, + 16, 0, 24, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 194, 0, 16, 0, + 20, 0, 0, 0, 6, 4, + 16, 0, 22, 0, 0, 0, + 6, 4, 16, 0, 23, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 20, 0, + 0, 0, 58, 0, 16, 0, + 20, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 20, 0, 0, 0, + 42, 0, 16, 0, 23, 0, + 0, 0, 42, 0, 16, 0, + 22, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 35, 0, 0, 9, 66, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 23, 0, + 0, 0, 58, 0, 16, 0, + 22, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 34, 0, 0, 7, 130, 0, + 16, 0, 20, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 13, 0, 0, 0, 34, 0, + 0, 7, 18, 0, 16, 0, + 22, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 20, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 20, 0, + 0, 0, 58, 0, 16, 0, + 20, 0, 0, 0, 10, 0, + 16, 0, 22, 0, 0, 0, + 43, 0, 0, 5, 66, 0, + 16, 0, 20, 0, 0, 0, + 42, 0, 16, 0, 20, 0, + 0, 0, 56, 0, 0, 7, + 66, 0, 16, 0, 20, 0, + 0, 0, 42, 0, 16, 0, + 20, 0, 0, 0, 1, 64, + 0, 0, 253, 255, 125, 66, + 28, 0, 0, 5, 66, 0, + 16, 0, 20, 0, 0, 0, + 42, 0, 16, 0, 20, 0, + 0, 0, 41, 0, 0, 7, + 18, 0, 16, 0, 22, 0, + 0, 0, 58, 0, 16, 0, + 13, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 79, 0, 0, 7, 66, 0, + 16, 0, 20, 0, 0, 0, + 10, 0, 16, 0, 22, 0, + 0, 0, 42, 0, 16, 0, + 20, 0, 0, 0, 1, 0, + 0, 7, 66, 0, 16, 0, + 20, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 20, 0, + 0, 0, 40, 0, 0, 5, + 242, 0, 16, 0, 22, 0, + 0, 0, 70, 14, 16, 0, + 23, 0, 0, 0, 55, 0, + 0, 9, 242, 0, 16, 0, + 22, 0, 0, 0, 166, 10, + 16, 0, 20, 0, 0, 0, + 70, 14, 16, 0, 22, 0, + 0, 0, 70, 14, 16, 0, + 23, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 20, 0, 0, 0, 26, 48, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 54, 0, + 0, 6, 18, 0, 16, 0, + 23, 0, 0, 0, 26, 48, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 54, 0, + 0, 6, 34, 0, 16, 0, + 23, 0, 0, 0, 26, 48, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 54, 0, + 0, 6, 66, 0, 16, 0, + 23, 0, 0, 0, 26, 48, + 32, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 55, 0, + 0, 9, 130, 0, 16, 0, + 20, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 20, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 20, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 23, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 55, 0, + 0, 9, 18, 0, 16, 0, + 23, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 10, 0, 16, 0, 23, 0, + 0, 0, 58, 0, 16, 0, + 23, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 10, 0, 16, 0, + 23, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 23, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 55, 0, + 0, 9, 34, 0, 16, 0, + 23, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 26, 0, 16, 0, 23, 0, + 0, 0, 58, 0, 16, 0, + 23, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 26, 0, 16, 0, + 23, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 23, 0, 0, 0, 10, 48, + 32, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 55, 0, + 0, 9, 66, 0, 16, 0, + 23, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 42, 0, 16, 0, 23, 0, + 0, 0, 58, 0, 16, 0, + 23, 0, 0, 0, 54, 0, + 0, 6, 18, 48, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 23, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 23, 0, 0, 0, 26, 48, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 55, 0, + 0, 9, 130, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 23, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 7, 0, 0, 0, 26, 48, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 55, 0, + 0, 9, 130, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 7, 0, 0, 0, 26, 48, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 55, 0, + 0, 9, 130, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 7, 0, 0, 0, 26, 48, + 32, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 55, 0, + 0, 9, 130, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 14, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 54, 0, + 0, 6, 34, 48, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 40, 0, + 0, 5, 18, 0, 16, 0, + 24, 0, 0, 0, 58, 0, + 16, 0, 20, 0, 0, 0, + 40, 0, 0, 5, 226, 0, + 16, 0, 24, 0, 0, 0, + 6, 9, 16, 0, 23, 0, + 0, 0, 33, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 13, 0, 0, 0, + 43, 0, 0, 5, 130, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 13, 0, + 0, 0, 55, 0, 0, 15, + 114, 0, 16, 0, 23, 0, + 0, 0, 246, 15, 16, 0, + 19, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 128, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 64, 0, 0, 0, + 7, 0, 0, 0, 0, 0, + 0, 0, 40, 0, 0, 5, + 18, 0, 16, 0, 25, 0, + 0, 0, 58, 0, 16, 0, + 15, 0, 0, 0, 40, 0, + 0, 5, 34, 0, 16, 0, + 25, 0, 0, 0, 58, 0, + 16, 0, 18, 0, 0, 0, + 40, 0, 0, 5, 194, 0, + 16, 0, 25, 0, 0, 0, + 6, 4, 16, 0, 20, 0, + 0, 0, 33, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 43, 0, 0, 5, 130, 0, + 16, 0, 14, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 15, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 19, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 1, 80, 0, + 0, 7, 130, 0, 16, 0, + 18, 0, 0, 0, 58, 0, + 16, 0, 15, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 3, 0, 4, 3, + 58, 0, 16, 0, 18, 0, + 0, 0, 85, 0, 0, 8, + 130, 0, 16, 0, 18, 0, + 0, 0, 10, 144, 144, 0, + 58, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 15, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 18, 0, 0, 0, 58, 0, + 16, 0, 18, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 32, 0, 0, 7, + 130, 0, 16, 0, 19, 0, + 0, 0, 58, 0, 16, 0, + 18, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 58, 0, + 16, 0, 19, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 15, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 20, 0, 0, 0, + 70, 14, 16, 0, 24, 0, + 0, 0, 70, 14, 16, 0, + 20, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 50, 0, 16, 0, 20, 0, + 0, 0, 70, 0, 16, 0, + 20, 0, 0, 0, 70, 0, + 16, 0, 22, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 19, 0, 0, 0, + 26, 0, 16, 0, 20, 0, + 0, 0, 10, 0, 16, 0, + 20, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 19, 0, 0, 0, 42, 0, + 16, 0, 22, 0, 0, 0, + 42, 0, 16, 0, 20, 0, + 0, 0, 58, 0, 16, 0, + 19, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 19, 0, 0, 0, 58, 0, + 16, 0, 22, 0, 0, 0, + 58, 0, 16, 0, 20, 0, + 0, 0, 58, 0, 16, 0, + 19, 0, 0, 0, 33, 0, + 0, 7, 18, 0, 16, 0, + 20, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 19, 0, + 0, 0, 60, 0, 0, 7, + 18, 0, 16, 0, 20, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 10, 0, + 16, 0, 20, 0, 0, 0, + 34, 0, 0, 7, 34, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 19, 0, + 0, 0, 58, 0, 16, 0, + 13, 0, 0, 0, 43, 0, + 0, 5, 130, 0, 16, 0, + 19, 0, 0, 0, 58, 0, + 16, 0, 19, 0, 0, 0, + 56, 0, 0, 7, 130, 0, + 16, 0, 19, 0, 0, 0, + 58, 0, 16, 0, 19, 0, + 0, 0, 1, 64, 0, 0, + 253, 255, 125, 66, 14, 0, + 0, 7, 130, 0, 16, 0, + 19, 0, 0, 0, 58, 0, + 16, 0, 19, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 28, 0, 0, 5, + 130, 0, 16, 0, 19, 0, + 0, 0, 58, 0, 16, 0, + 19, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 19, 0, 0, 0, 58, 0, + 16, 0, 19, 0, 0, 0, + 26, 0, 16, 0, 23, 0, + 0, 0, 55, 0, 0, 10, + 130, 0, 16, 0, 19, 0, + 0, 0, 26, 0, 16, 0, + 20, 0, 0, 0, 58, 144, + 144, 0, 58, 0, 16, 0, + 19, 0, 0, 0, 42, 0, + 16, 0, 23, 0, 0, 0, + 55, 0, 0, 9, 130, 0, + 16, 0, 19, 0, 0, 0, + 10, 0, 16, 0, 20, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 19, 0, 0, 0, + 18, 0, 0, 1, 167, 0, + 0, 9, 242, 0, 16, 0, + 20, 0, 0, 0, 58, 0, + 16, 0, 15, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 20, 0, 0, 0, 70, 14, + 16, 0, 25, 0, 0, 0, + 70, 14, 16, 0, 20, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 50, 0, + 16, 0, 20, 0, 0, 0, + 70, 0, 16, 0, 20, 0, + 0, 0, 70, 0, 16, 0, + 21, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 20, 0, 0, 0, 26, 0, + 16, 0, 20, 0, 0, 0, + 10, 0, 16, 0, 20, 0, + 0, 0, 35, 0, 0, 9, + 18, 0, 16, 0, 20, 0, + 0, 0, 42, 0, 16, 0, + 21, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 10, 0, 16, 0, 20, 0, + 0, 0, 35, 0, 0, 9, + 18, 0, 16, 0, 20, 0, + 0, 0, 58, 0, 16, 0, + 21, 0, 0, 0, 58, 0, + 16, 0, 20, 0, 0, 0, + 10, 0, 16, 0, 20, 0, + 0, 0, 33, 0, 0, 7, + 34, 0, 16, 0, 20, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 20, 0, 0, 0, + 60, 0, 0, 7, 34, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 20, 0, 0, 0, 34, 0, + 0, 7, 66, 0, 16, 0, + 20, 0, 0, 0, 10, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 43, 0, 0, 5, + 18, 0, 16, 0, 20, 0, + 0, 0, 10, 0, 16, 0, + 20, 0, 0, 0, 56, 0, + 0, 7, 18, 0, 16, 0, + 20, 0, 0, 0, 10, 0, + 16, 0, 20, 0, 0, 0, + 1, 64, 0, 0, 253, 255, + 125, 66, 14, 0, 0, 7, + 18, 0, 16, 0, 20, 0, + 0, 0, 10, 0, 16, 0, + 20, 0, 0, 0, 58, 0, + 16, 0, 14, 0, 0, 0, + 28, 0, 0, 5, 18, 0, + 16, 0, 20, 0, 0, 0, + 10, 0, 16, 0, 20, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 20, 0, + 0, 0, 10, 0, 16, 0, + 20, 0, 0, 0, 26, 0, + 16, 0, 23, 0, 0, 0, + 55, 0, 0, 10, 18, 0, + 16, 0, 20, 0, 0, 0, + 42, 0, 16, 0, 20, 0, + 0, 0, 58, 144, 144, 0, + 10, 0, 16, 0, 20, 0, + 0, 0, 42, 0, 16, 0, + 23, 0, 0, 0, 55, 0, + 0, 9, 130, 0, 16, 0, + 19, 0, 0, 0, 26, 0, + 16, 0, 20, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 20, 0, 0, 0, 21, 0, + 0, 1, 30, 0, 0, 7, + 130, 0, 16, 0, 19, 0, + 0, 0, 58, 0, 16, 0, + 19, 0, 0, 0, 10, 0, + 16, 0, 23, 0, 0, 0, + 30, 0, 0, 10, 18, 0, + 16, 0, 20, 0, 0, 0, + 1, 64, 0, 0, 64, 0, + 0, 0, 10, 144, 208, 128, + 65, 0, 0, 0, 64, 0, + 0, 0, 58, 0, 16, 0, + 19, 0, 0, 0, 41, 0, + 0, 7, 130, 0, 16, 0, + 18, 0, 0, 0, 58, 0, + 16, 0, 18, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 54, 0, 0, 7, + 18, 0, 16, 0, 26, 0, + 0, 0, 10, 48, 32, 4, + 0, 0, 0, 0, 58, 0, + 16, 0, 18, 0, 0, 0, + 54, 0, 0, 8, 34, 0, + 16, 0, 26, 0, 0, 0, + 10, 48, 32, 6, 0, 0, + 0, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 18, 0, + 0, 0, 54, 0, 0, 8, + 66, 0, 16, 0, 26, 0, + 0, 0, 10, 48, 32, 6, + 0, 0, 0, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 18, 0, 0, 0, 54, 0, + 0, 8, 130, 0, 16, 0, + 26, 0, 0, 0, 10, 48, + 32, 6, 0, 0, 0, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 18, 0, 0, 0, + 54, 0, 0, 7, 18, 0, + 16, 0, 27, 0, 0, 0, + 26, 48, 32, 4, 0, 0, + 0, 0, 58, 0, 16, 0, + 18, 0, 0, 0, 54, 0, + 0, 8, 34, 0, 16, 0, + 27, 0, 0, 0, 26, 48, + 32, 6, 0, 0, 0, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 18, 0, 0, 0, + 54, 0, 0, 8, 66, 0, + 16, 0, 27, 0, 0, 0, + 26, 48, 32, 6, 0, 0, + 0, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 18, 0, + 0, 0, 54, 0, 0, 8, + 130, 0, 16, 0, 27, 0, + 0, 0, 26, 48, 32, 6, + 0, 0, 0, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 18, 0, 0, 0, 38, 0, + 0, 10, 0, 208, 0, 0, + 242, 0, 16, 0, 27, 0, + 0, 0, 70, 14, 16, 0, + 27, 0, 0, 0, 6, 144, + 208, 0, 64, 0, 0, 0, + 58, 0, 16, 0, 19, 0, + 0, 0, 35, 0, 0, 9, + 242, 0, 16, 0, 20, 0, + 0, 0, 6, 0, 16, 0, + 20, 0, 0, 0, 70, 14, + 16, 0, 26, 0, 0, 0, + 70, 14, 16, 0, 27, 0, + 0, 0, 30, 0, 0, 10, + 242, 0, 16, 0, 20, 0, + 0, 0, 70, 14, 16, 0, + 20, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 32, 0, 0, 0, 32, 0, + 0, 0, 32, 0, 0, 0, + 85, 0, 0, 7, 242, 0, + 16, 0, 20, 0, 0, 0, + 134, 13, 16, 0, 20, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 55, 0, + 0, 9, 130, 0, 16, 0, + 20, 0, 0, 0, 42, 0, + 16, 0, 19, 0, 0, 0, + 1, 64, 0, 0, 255, 0, + 0, 0, 58, 0, 16, 0, + 20, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 26, 0, 0, 0, 58, 0, + 16, 0, 15, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 79, 0, + 0, 7, 114, 0, 16, 0, + 27, 0, 0, 0, 134, 1, + 16, 0, 20, 0, 0, 0, + 70, 2, 16, 0, 26, 0, + 0, 0, 54, 0, 0, 5, + 82, 0, 16, 0, 28, 0, + 0, 0, 6, 1, 16, 0, + 26, 0, 0, 0, 54, 0, + 0, 5, 162, 0, 16, 0, + 28, 0, 0, 0, 6, 8, + 16, 0, 20, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 28, 0, 0, 0, + 6, 5, 16, 0, 27, 0, + 0, 0, 70, 14, 16, 0, + 28, 0, 0, 0, 22, 11, + 16, 0, 28, 0, 0, 0, + 54, 0, 0, 5, 82, 0, + 16, 0, 20, 0, 0, 0, + 166, 11, 16, 0, 26, 0, + 0, 0, 55, 0, 0, 9, + 50, 0, 16, 0, 20, 0, + 0, 0, 166, 10, 16, 0, + 27, 0, 0, 0, 70, 0, + 16, 0, 20, 0, 0, 0, + 22, 5, 16, 0, 20, 0, + 0, 0, 79, 0, 0, 7, + 130, 0, 16, 0, 18, 0, + 0, 0, 58, 0, 16, 0, + 20, 0, 0, 0, 58, 0, + 16, 0, 26, 0, 0, 0, + 55, 0, 0, 9, 146, 0, + 16, 0, 26, 0, 0, 0, + 246, 15, 16, 0, 18, 0, + 0, 0, 246, 11, 16, 0, + 20, 0, 0, 0, 166, 14, + 16, 0, 20, 0, 0, 0, + 40, 0, 0, 5, 50, 0, + 16, 0, 27, 0, 0, 0, + 214, 5, 16, 0, 28, 0, + 0, 0, 40, 0, 0, 5, + 66, 0, 16, 0, 27, 0, + 0, 0, 26, 0, 16, 0, + 20, 0, 0, 0, 40, 0, + 0, 5, 130, 0, 16, 0, + 27, 0, 0, 0, 10, 0, + 16, 0, 26, 0, 0, 0, + 54, 0, 0, 5, 50, 0, + 16, 0, 26, 0, 0, 0, + 134, 0, 16, 0, 28, 0, + 0, 0, 54, 0, 0, 5, + 66, 0, 16, 0, 26, 0, + 0, 0, 10, 0, 16, 0, + 20, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 20, 0, 0, 0, 70, 14, + 16, 0, 27, 0, 0, 0, + 70, 14, 16, 0, 26, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 50, 0, + 16, 0, 20, 0, 0, 0, + 70, 0, 16, 0, 20, 0, + 0, 0, 70, 0, 16, 0, + 20, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 18, 0, 0, 0, 26, 0, + 16, 0, 20, 0, 0, 0, + 10, 0, 16, 0, 20, 0, + 0, 0, 35, 0, 0, 9, + 130, 0, 16, 0, 18, 0, + 0, 0, 42, 0, 16, 0, + 20, 0, 0, 0, 42, 0, + 16, 0, 20, 0, 0, 0, + 58, 0, 16, 0, 18, 0, + 0, 0, 86, 0, 0, 5, + 130, 0, 16, 0, 18, 0, + 0, 0, 58, 0, 16, 0, + 18, 0, 0, 0, 86, 0, + 0, 5, 130, 0, 16, 0, + 19, 0, 0, 0, 58, 0, + 16, 0, 20, 0, 0, 0, + 56, 0, 0, 7, 130, 0, + 16, 0, 19, 0, 0, 0, + 58, 0, 16, 0, 19, 0, + 0, 0, 58, 0, 16, 0, + 19, 0, 0, 0, 50, 0, + 0, 10, 130, 0, 16, 0, + 18, 0, 0, 0, 58, 0, + 16, 0, 19, 0, 0, 0, + 42, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 18, 0, + 0, 0, 28, 0, 0, 5, + 130, 0, 16, 0, 18, 0, + 0, 0, 58, 0, 16, 0, + 18, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 19, 0, 0, 0, 58, 0, + 16, 0, 18, 0, 0, 0, + 26, 0, 16, 0, 19, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 15, 0, + 0, 0, 58, 0, 16, 0, + 15, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 22, 0, 0, 1, 79, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 19, 0, 0, 0, + 26, 0, 16, 0, 18, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 18, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 50, 0, 16, 0, + 18, 0, 0, 0, 246, 15, + 16, 0, 6, 0, 0, 0, + 70, 0, 16, 0, 19, 0, + 0, 0, 70, 0, 16, 0, + 18, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 19, 0, 0, 0, 10, 0, + 16, 0, 19, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 18, 0, 0, 0, 22, 0, + 0, 1, 54, 0, 0, 6, + 18, 0, 16, 0, 18, 0, + 0, 0, 58, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 4, + 66, 0, 16, 0, 18, 0, + 0, 0, 10, 64, 2, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 22, 6, 16, 0, 18, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 190, 24, + 0, 1, 31, 0, 4, 3, + 26, 0, 16, 0, 1, 0, + 0, 0, 30, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 167, 0, 0, 9, + 226, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 249, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 79, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 18, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 134, 3, 16, 0, 2, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 31, 0, 4, 3, 10, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 167, 0, 0, 9, + 226, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 249, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 79, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 134, 3, 16, 0, 3, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 31, 0, 4, 3, 42, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 2, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 167, 0, 0, 9, + 226, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 249, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 79, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 134, 3, 16, 0, 3, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 31, 0, 4, 3, 58, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 167, 0, 0, 9, + 226, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 249, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 79, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 134, 3, 16, 0, 2, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 79, 0, 0, 9, 98, 0, + 16, 0, 0, 0, 0, 0, + 6, 64, 2, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 226, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 249, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 79, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 58, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 134, 3, 16, 0, 2, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 226, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 249, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 79, 0, 0, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 18, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 168, 0, 0, 8, 114, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 134, 3, 16, 0, 2, 0, + 0, 0, 168, 0, 0, 8, + 18, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 21, 0, + 0, 1, 167, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 6, 112, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 8, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 79, 0, + 0, 7, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 26, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 8, + 114, 0, 16, 0, 1, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 70, 242, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 8, 130, 0, 16, 0, + 1, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 32, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 18, 0, 0, 1, 167, 0, + 0, 9, 242, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 70, 126, 16, 0, + 1, 0, 0, 0, 21, 0, + 0, 1, 168, 0, 0, 9, + 242, 224, 17, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 21, 0, 0, 1, + 62, 0, 0, 1 +}; diff --git a/DirectXTex/Shaders/Compiled/BC7Encode_TryMode456CS.inc b/DirectXTex/Shaders/Compiled/BC7Encode_TryMode456CS.inc new file mode 100644 index 0000000..520b8ac --- /dev/null +++ b/DirectXTex/Shaders/Compiled/BC7Encode_TryMode456CS.inc @@ -0,0 +1,3027 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +/// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_4_0 +dcl_globalFlags refactoringAllowed +dcl_immediateConstantBuffer { { 0, 0, 0, 0}, + { 0, 4, 0, 0}, + { 0, 9, 0, 0}, + { 1, 13, 0, 0}, + { 1, 17, 0, 0}, + { 1, 21, 0, 0}, + { 1, 26, 0, 0}, + { 2, 30, 0, 0}, + { 2, 34, 0, 0}, + { 2, 38, 0, 0}, + { 2, 43, 0, 0}, + { 2, 47, 0, 0}, + { 3, 51, 0, 0}, + { 3, 55, 0, 0}, + { 3, 60, 0, 0}, + { 3, 64, 0, 0}, + { 4, 0, 0, 0}, + { 4, 9, 0, 0}, + { 4, 18, 0, 0}, + { 4, 27, 0, 0}, + { 5, 37, 0, 0}, + { 5, 46, 0, 0}, + { 5, 55, 0, 0}, + { 5, 64, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 7, 0, 0, 0}, + { 7, 0, 0, 0}, + { 7, 0, 0, 0}, + { 7, 0, 0, 0}, + { 8, 21, 0, 0}, + { 8, 43, 0, 0}, + { 8, 64, 0, 0}, + { 8, 0, 0, 0}, + { 9, 0, 0, 0}, + { 9, 0, 0, 0}, + { 9, 0, 0, 0}, + { 9, 0, 0, 0}, + { 10, 0, 0, 0}, + { 10, 0, 0, 0}, + { 10, 0, 0, 0}, + { 10, 0, 0, 0}, + { 10, 0, 0, 0}, + { 11, 0, 0, 0}, + { 11, 0, 0, 0}, + { 11, 0, 0, 0}, + { 11, 0, 0, 0}, + { 12, 0, 0, 0}, + { 12, 0, 0, 0}, + { 12, 0, 0, 0}, + { 12, 0, 0, 0}, + { 13, 0, 0, 0}, + { 13, 0, 0, 0}, + { 13, 0, 0, 0}, + { 13, 0, 0, 0}, + { 14, 0, 0, 0}, + { 14, 0, 0, 0}, + { 14, 0, 0, 0}, + { 14, 0, 0, 0}, + { 15, 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}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 4, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 5, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 6, 0, 0, 0}, + { 7, 0, 0, 0}, + { 7, 0, 0, 0}, + { 7, 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}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 1, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 2, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0}, + { 3, 0, 0, 0} } +dcl_constantbuffer cb0[2], immediateIndexed +dcl_resource_texture2d (float,float,float,float) t0 +dcl_uav_structured u0, 16 +dcl_input vThreadIDInGroupFlattened +dcl_input vThreadGroupID.x +dcl_temps 19 +dcl_tgsm_structured g0, 100, 64 +dcl_thread_group 64, 1, 1 +ushr r0.x, vThreadIDInGroupFlattened.x, l(4) +ishl r0.y, vThreadGroupID.x, l(2) +iadd r0.y, r0.y, cb0[1].x +iadd r0.x, r0.x, r0.y +uge r0.y, r0.x, cb0[1].y +if_nz r0.y + ret +endif +and r0.y, vThreadIDInGroupFlattened.x, l(48) +iadd r0.z, -r0.y, vThreadIDInGroupFlattened.x +ult r1.xyzw, r0.zzzz, l(16, 8, 4, 2) +if_nz r1.x + udiv r0.w, null, r0.x, cb0[0].y + imad r2.x, -r0.w, cb0[0].y, r0.x + ishl r2.x, r2.x, l(2) + ishl r0.w, r0.w, l(2) + and r2.y, r0.z, l(3) + iadd r2.x, r2.y, r2.x + ushr r3.x, r0.z, l(2) + iadd r2.y, r0.w, r3.x + mov r2.zw, l(0,0,0,0) + ld r2.xyzw, r2.xyzw, t0.xyzw + mul r2.xyzw, r2.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000) + ftou r2.xyzw, r2.xyzw + umin r2.xyzw, r2.xyzw, l(255, 255, 255, 255) + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(0), r2.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r2.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r2.xyzw +endif +if_nz r1.y + ld_structured r2.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r3.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r0.w, vThreadIDInGroupFlattened.x, l(8) + ld_structured r4.xyzw, r0.w, l(36), g0.xyzw + ld_structured r5.xyzw, r0.w, l(52), g0.xyzw + umin r2.xyzw, r2.xyzw, r4.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r2.xyzw + umax r2.xyzw, r3.xyzw, r5.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r2.xyzw +endif +if_nz r1.z + ld_structured r2.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r3.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r0.w, vThreadIDInGroupFlattened.x, l(4) + ld_structured r4.xyzw, r0.w, l(36), g0.xyzw + ld_structured r5.xyzw, r0.w, l(52), g0.xyzw + umin r2.xyzw, r2.xyzw, r4.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r2.xyzw + umax r2.xyzw, r3.xyzw, r5.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r2.xyzw +endif +if_nz r1.w + ld_structured r2.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r3.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r0.w, vThreadIDInGroupFlattened.x, l(2) + ld_structured r4.xyzw, r0.w, l(36), g0.xyzw + ld_structured r5.xyzw, r0.w, l(52), g0.xyzw + umin r2.xyzw, r2.xyzw, r4.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r2.xyzw + umax r2.xyzw, r3.xyzw, r5.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r2.xyzw +endif +ult r2.xy, r0.zzzz, l(1, 12, 0, 0) +if_nz r2.x + ld_structured r3.xyzw, vThreadIDInGroupFlattened.x, l(36), g0.xyzw + ld_structured r4.xyzw, vThreadIDInGroupFlattened.x, l(52), g0.xyzw + iadd r0.w, vThreadIDInGroupFlattened.x, l(1) + ld_structured r5.xyzw, r0.w, l(36), g0.xyzw + ld_structured r6.xyzw, r0.w, l(52), g0.xyzw + umin r3.xyzw, r3.xyzw, r5.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(36), r3.xyzw + umax r3.xyzw, r4.xyzw, r6.xyzw + store_structured g0.xyzw, vThreadIDInGroupFlattened.x, l(52), r3.xyzw +endif +ld_structured r3.xyzw, r0.y, l(0), g0.xyzw +ld_structured r4.xyzw, r0.y, l(36), g0.xyzw +ld_structured r5.xyzw, r0.y, l(52), g0.xyzw +and r0.w, r0.z, l(1) +movc r6.xyz, r0.wwww, l(1,1,2,0), l(0,2,1,0) +movc r6.xyz, r1.yyyy, r6.xyzx, l(0,2,2,0) +if_nz r2.y + ieq r7.xyzw, r0.zzzz, l(8, 9, 10, 11) + ult r0.w, r0.z, l(6) + or r0.w, r7.z, r0.w + or r2.yzw, r1.wwzy, r7.xxyw + mov r7.y, r4.z + mov r7.w, r5.z + mov r7.x, l(3) + mov r8.x, r4.w + mov r8.y, r5.w + mov r8.z, l(0) + movc r9.xyz, r2.wwww, r7.ywxy, r8.xyzx + movc r10.yw, r2.wwww, r8.xxxy, r7.yyyw + mov r11.x, r4.y + mov r11.y, r5.y + mov r11.z, l(2) + movc r9.xyz, r0.wwww, r11.xyzx, r9.xyzx + mov r7.xz, r8.xxyx + mov r10.xz, r11.xxyx + movc r7.xyzw, r0.wwww, r7.xzwy, r10.xzwy + mov r10.x, r4.x + mov r10.yz, r7.xxwx + movc r11.xyz, r2.zzzz, r4.wyzw, r10.xyzx + mov r10.y, r5.x + mov r10.z, l(1) + movc r9.xyz, r2.zzzz, r10.xyzx, r9.xyzx + mov r7.x, r10.y + movc r7.xyz, r2.zzzz, r5.wyzw, r7.xyzx + movc r10.xyz, r2.yyyy, r4.xyzx, r11.xyzx + movc r7.xyz, r2.yyyy, r5.xyzx, r7.xyzx + movc r2.yzw, r2.yyyy, r8.xxyz, r9.xxyz + if_nz r1.y + iadd r8.xyz, r10.xyzx, l(4, 4, 4, 0) + umin r8.xyz, r8.xyzx, l(255, 255, 255, 0) + iadd r9.xy, r2.yzyy, l(2, 2, 0, 0) + umin r9.xy, r9.xyxx, l(255, 255, 0, 0) + and r11.xyz, r8.xyzx, l(248, 248, 248, 0) + ushr r8.xyz, r8.xyzx, l(5) + iadd r8.xyz, r8.xyzx, r11.xyzx + and r9.zw, r9.xxxy, l(0, 0, 252, 252) + ushr r9.xy, r9.xyxx, l(6) + iadd r11.xyz, r7.xyzx, l(4, 4, 4, 0) + umin r11.xyz, r11.xyzx, l(255, 255, 255, 0) + and r12.xyz, r11.xyzx, l(248, 248, 248, 0) + ushr r11.xyz, r11.xyzx, l(5) + iadd r11.xyz, r11.xyzx, r12.xyzx + iadd r9.xy, r9.xyxx, r9.zwzz + mov r11.w, r9.y + mov r12.y, l(4) + else + iadd r10.xyz, r10.xyzx, l(1, 1, 1, 0) + umin r10.xyz, r10.xyzx, l(255, 255, 255, 0) + and r13.xyz, r10.xyzx, l(254, 254, 254, 0) + ushr r10.xyz, r10.xyzx, l(7) + iadd r8.xyz, r10.xyzx, r13.xyzx + iadd r7.xyz, r7.xyzx, l(1, 1, 1, 0) + umin r7.xyz, r7.xyzx, l(255, 255, 255, 0) + and r10.xyz, r7.xyzx, l(254, 254, 254, 0) + ushr r7.xyz, r7.xyzx, l(7) + iadd r11.xyz, r7.xyzx, r10.xyzx + mov r9.x, r2.y + mov r11.w, r2.z + mov r12.y, l(5) + endif + ieq r7.xyz, r2.wwww, l(1, 2, 3, 0) + movc r10.zw, r7.zzzz, r3.wwwz, r3.zzzw + mov r10.xy, r3.xyxx + movc r10.yzw, r7.yyyy, r3.wwzy, r10.yyzw + movc r10.xyzw, r7.xxxx, r3.wyzx, r10.xyzw + ineg r13.xyz, r8.xyzx + ineg r13.w, r9.x + iadd r14.xyzw, r11.xyzw, r13.xyzw + imul null, r15.xyz, r14.xywx, r14.xywx + iadd r0.w, r15.y, r15.x + imad r0.w, r14.z, r14.z, r0.w + iadd r13.xyzw, r10.xyzw, r13.xyzw + imul null, r13.xyw, r13.xyxw, r13.xyxw + iadd r2.y, r13.y, r13.x + imad r2.y, r13.z, r13.z, r2.y + iadd r10.xyzw, -r11.xyzw, r10.xyzw + imul null, r10.xyw, r10.xyxw, r10.xyxw + iadd r2.z, r10.y, r10.x + imad r2.z, r10.z, r10.z, r2.z + ilt r2.y, r2.z, r2.y + ineg r16.xyzw, r14.xyzw + movc r10.xyz, r2.yyyy, r11.xyzx, r8.xyzx + movc r8.xyz, r2.yyyy, r8.xyzx, r11.xyzx + movc r11.xyz, r2.yyyy, r16.xyzx, r14.xyzx + ilt r2.y, r10.w, r13.w + mov r9.y, r11.w + mov r9.z, r16.w + mov r9.w, r14.w + movc r9.xyz, r2.yyyy, r9.yxzy, r9.xywx + ige r2.y, l(0), r0.w + itof r2.z, r0.w + ishl r12.zw, r6.yyyz, l(6) + ishl r6.yz, r6.yyzy, l(4) + iadd r13.xy, r12.zwzz, l(11, 11, 0, 0) + ige r7.w, l(0), r15.z + itof r8.w, r15.z + udiv null, r13.xy, r13.xyxx, l(68, 68, 0, 0) + mov r13.zw, l(0,0,0,0) + loop + uge r9.w, r13.w, l(16) + breakc_nz r9.w + iadd r9.w, r0.y, r13.w + ld_structured r14.xyzw, r9.w, l(0), g0.xyzw + movc r16.zw, r7.zzzz, r14.wwwz, r14.zzzw + mov r16.xy, r14.xyxx + movc r16.yzw, r7.yyyy, r14.wwzy, r16.yyzw + movc r14.xyzw, r7.xxxx, r14.wyzx, r16.xyzw + iadd r15.xyw, -r10.xyxz, r14.xyxz + imul null, r15.xy, r11.xyxx, r15.xyxx + iadd r9.w, r15.y, r15.x + imad r9.w, r11.z, r15.w, r9.w + ige r10.w, l(0), r9.w + or r10.w, r2.y, r10.w + ilt r11.w, r9.w, r0.w + itof r9.w, r9.w + mul r9.w, r9.w, l(63.499989) + div r9.w, r9.w, r2.z + ftou r9.w, r9.w + iadd r9.w, r9.w, r12.z + movc r9.w, r11.w, icb[r9.w + 0].x, r13.x + movc r9.w, r10.w, l(0), r9.w + iadd r10.w, -r9.x, r14.w + imul null, r10.w, r9.z, r10.w + ige r11.w, l(0), r10.w + or r11.w, r7.w, r11.w + ilt r15.x, r10.w, r15.z + itof r10.w, r10.w + mul r10.w, r10.w, l(63.499989) + div r10.w, r10.w, r8.w + ftou r10.w, r10.w + iadd r10.w, r10.w, r12.w + movc r10.w, r15.x, icb[r10.w + 0].x, r13.y + movc r10.w, r11.w, l(0), r10.w + iadd r9.w, r6.y, r9.w + iadd r11.w, l(64), -icb[r9.w + 0].y + imul null, r15.xyw, r8.xyxz, icb[r9.w + 0].yyyy + imad r15.xyw, r11.wwww, r10.xyxz, r15.xyxw + iadd r15.xyw, r15.xyxw, l(32, 32, 0, 32) + ushr r16.xyw, r15.xyxw, l(6) + iadd r9.w, r6.z, r10.w + iadd r10.w, l(64), -icb[r9.w + 0].y + imul null, r9.w, r9.y, icb[r9.w + 0].y + imad r9.w, r10.w, r9.x, r9.w + iadd r9.w, r9.w, l(32) + ushr r15.y, r9.w, l(6) + ult r17.xyz, r16.xywx, r14.xyzx + mov r16.z, r14.x + movc r17.xw, r17.xxxx, r16.zzzx, r16.xxxz + mov r16.xz, r14.yyzy + movc r16.xyzw, r17.yyzz, r16.xyzw, r16.yxwz + ult r9.w, r15.y, r14.w + mov r15.x, r14.w + movc r14.xy, r9.wwww, r15.xyxx, r15.yxyy + ineg r18.w, r17.w + ineg r18.yz, r16.yywy + ineg r18.x, r14.y + mov r14.w, r17.x + mov r14.yz, r16.xxzx + iadd r14.xyzw, r18.xyzw, r14.xyzw + movc r16.zw, r7.zzzz, r14.xxxz, r14.zzzx + mov r16.xy, r14.wyww + movc r16.yzw, r7.yyyy, r14.xxzy, r16.yyzw + movc r14.xyzw, r7.xxxx, r14.xyzw, r16.xyzw + imul null, r14.xy, r14.xyxx, r14.xyxx + iadd r9.w, r14.y, r14.x + imad r9.w, r14.z, r14.z, r9.w + utof r9.w, r9.w + utof r10.w, r14.w + mul r10.w, r10.w, r10.w + mad r9.w, r10.w, cb0[1].z, r9.w + ftou r9.w, r9.w + iadd r13.z, r9.w, r13.z + iadd r13.w, r13.w, l(1) + endloop + mov r12.x, r13.z + mov r6.w, r2.w +else + if_nz r1.x + iadd r7.x, r0.z, l(-12) + ushr r7.y, r7.x, l(1) + and r0.zw, r7.xxxy, l(0, 0, 1, 1) + and r4.xyzw, r4.xyzw, l(-2, -2, -2, -2) + iadd r4.xyzw, r0.zzzz, r4.xyzw + and r5.xyzw, r5.xyzw, l(-2, -2, -2, -2) + iadd r5.xyzw, r0.wwww, r5.xyzw + iadd r8.xyzw, -r4.xyzw, r5.xyzw + imul null, r0.zw, r8.xxxy, r8.xxxy + iadd r0.z, r0.w, r0.z + imad r0.z, r8.z, r8.z, r0.z + imad r0.z, r8.w, r8.w, r0.z + iadd r3.xyzw, r3.xyzw, -r4.xyzw + imul null, r2.yz, r3.xxyx, r8.xxyx + iadd r0.w, r2.z, r2.y + imad r0.w, r8.z, r3.z, r0.w + imad r0.w, r8.w, r3.w, r0.w + ilt r1.x, l(0), r0.z + ige r2.y, r0.w, l(0) + and r1.x, r1.x, r2.y + itof r0.w, r0.w + mul r0.w, r0.w, l(63.499989) + ftou r0.w, r0.w + ishl r2.y, r0.z, l(5) + ult r0.w, r2.y, r0.w + and r0.w, r0.w, r1.x + ineg r3.xyzw, r8.xyzw + movc r9.xyzw, r0.wwww, r5.xyzw, r4.xyzw + movc r4.xyzw, r0.wwww, r4.xyzw, r5.xyzw + movc r3.xyzw, r0.wwww, r3.xyzw, r8.xyzw + ige r0.w, l(0), r0.z + itof r1.x, r0.z + mov r12.xy, l(0,0,0,0) + loop + uge r2.y, r12.y, l(16) + breakc_nz r2.y + iadd r2.y, r0.y, r12.y + ld_structured r5.xyzw, r2.y, l(0), g0.xyzw + iadd r8.xyzw, -r9.xyzw, r5.xyzw + imul null, r2.yz, r3.xxyx, r8.xxyx + iadd r2.y, r2.z, r2.y + imad r2.y, r3.z, r8.z, r2.y + imad r2.y, r3.w, r8.w, r2.y + ige r2.z, l(0), r2.y + or r2.z, r0.w, r2.z + ilt r2.w, r2.y, r0.z + itof r2.y, r2.y + mul r2.y, r2.y, l(63.499989) + div r2.y, r2.y, r1.x + ftou r2.y, r2.y + movc r2.y, r2.w, icb[r2.y + 0].x, l(15) + movc r2.y, r2.z, l(0), r2.y + iadd r2.z, l(64), -icb[r2.y + 0].y + imul null, r8.xyzw, r4.xyzw, icb[r2.y + 0].yyyy + imad r8.xyzw, r2.zzzz, r9.xyzw, r8.xyzw + iadd r8.xyzw, r8.xyzw, l(32, 32, 32, 32) + ushr r8.xyzw, r8.xzyw, l(6) + ult r10.xyzw, r8.xzyw, r5.xyzw + mov r11.xz, r5.xxyx + mov r11.yw, r8.xxxz + movc r11.xyzw, r10.xxyy, r11.xyzw, r11.yxwz + mov r8.xz, r5.zzwz + movc r5.xyzw, r10.zwzw, r8.ywxz, r8.xzyw + ineg r8.xy, r11.ywyy + ineg r8.zw, r5.xxxy + mov r5.xy, r11.xzxx + iadd r5.xyzw, r8.xyzw, r5.xyzw + imul null, r2.yz, r5.xxyx, r5.xxyx + iadd r2.y, r2.z, r2.y + imad r2.y, r5.z, r5.z, r2.y + utof r2.y, r2.y + utof r2.z, r5.w + mul r2.z, r2.z, r2.z + mad r2.y, r2.z, cb0[1].z, r2.y + ftou r2.y, r2.y + iadd r12.x, r2.y, r12.x + iadd r12.y, r12.y, l(1) + endloop + mov r12.y, l(6) + mov r6.w, r7.x + else + mov r12.xy, l(-1,0,0,0) + mov r6.w, l(0) + endif +endif +store_structured g0.xy, vThreadIDInGroupFlattened.x, l(16), r12.xyxx +store_structured g0.xy, vThreadIDInGroupFlattened.x, l(28), r6.xwxx +if_nz r1.y + iadd r0.y, vThreadIDInGroupFlattened.x, l(8) + ld_structured r3.yz, r0.y, l(16), g0.xxyx + ld_structured r4.xy, r0.y, l(28), g0.xyxx + ult r0.z, r3.y, r12.x + if_nz r0.z + ld_structured r3.x, r0.y, l(16), g0.xxxx + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(16), r3.xzxx + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(28), r4.xyxx + endif +endif +if_nz r1.z + ld_structured r3.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(4) + ld_structured r4.yz, r0.y, l(16), g0.xxyx + ld_structured r5.xy, r0.y, l(28), g0.xyxx + ult r0.z, r4.y, r3.x + if_nz r0.z + ld_structured r4.x, r0.y, l(16), g0.xxxx + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(16), r4.xzxx + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(28), r5.xyxx + endif +endif +if_nz r1.w + ld_structured r1.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(2) + ld_structured r3.yz, r0.y, l(16), g0.xxyx + ld_structured r4.xy, r0.y, l(28), g0.xyxx + ult r0.z, r3.y, r1.x + if_nz r0.z + ld_structured r3.x, r0.y, l(16), g0.xxxx + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(16), r3.xzxx + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(28), r4.xyxx + endif +endif +if_nz r2.x + ld_structured r1.x, vThreadIDInGroupFlattened.x, l(16), g0.xxxx + iadd r0.y, vThreadIDInGroupFlattened.x, l(1) + ld_structured r2.yz, r0.y, l(16), g0.xxyx + ld_structured r3.xy, r0.y, l(28), g0.xyxx + ult r0.z, r2.y, r1.x + if_nz r0.z + ld_structured r2.x, r0.y, l(16), g0.xxxx + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(16), r2.xzxx + store_structured g0.xy, vThreadIDInGroupFlattened.x, l(28), r3.xyxx + endif + ld_structured r1.xw, vThreadIDInGroupFlattened.x, l(28), g0.xxxy + ishl r0.y, r1.x, l(31) + ld_structured r1.xy, vThreadIDInGroupFlattened.x, l(16), g0.xyxx + or r1.y, r0.y, r1.y + mov r1.z, l(0) + store_structured u0.xyzw, r0.x, l(0), r1.xyzw +endif +ret +// Approximately 0 instruction slots used +#endif + +const BYTE BC7Encode_TryMode456CS[] = +{ + 68, 88, 66, 67, 193, 29, + 43, 212, 231, 175, 144, 60, + 211, 12, 231, 93, 197, 161, + 15, 183, 1, 0, 0, 0, + 56, 56, 0, 0, 3, 0, + 0, 0, 44, 0, 0, 0, + 60, 0, 0, 0, 76, 0, + 0, 0, 73, 83, 71, 78, + 8, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 79, 83, 71, 78, 8, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 83, 72, + 69, 88, 228, 55, 0, 0, + 64, 0, 5, 0, 249, 13, + 0, 0, 106, 8, 0, 1, + 53, 24, 0, 0, 2, 3, + 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, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 17, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 21, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 26, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 30, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 34, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 38, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 43, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 47, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 51, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 55, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 60, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 64, 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, 4, 0, + 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 18, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 27, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 37, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 46, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 55, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 64, 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, + 6, 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, 6, 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, 7, 0, + 0, 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, + 7, 0, 0, 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, 8, 0, 0, 0, + 21, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 43, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 64, 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, + 9, 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, 9, 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, 10, 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, + 10, 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, 10, 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, 11, 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, + 11, 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, 12, 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, 12, 0, + 0, 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, + 13, 0, 0, 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, 13, 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, 14, 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, + 14, 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, 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, 1, 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, 1, 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, + 1, 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, 1, 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, 1, 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, + 2, 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, 2, 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, 2, 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, + 2, 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, 3, 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, 3, 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, + 3, 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, 3, 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, 3, 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, + 4, 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, 4, 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, 4, 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, + 4, 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, 4, 0, 0, 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, 5, 0, + 0, 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, + 5, 0, 0, 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, 5, 0, 0, 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, 5, 0, + 0, 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, + 6, 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, 6, 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, 6, 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, + 6, 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, 6, 0, 0, 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, 7, 0, + 0, 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, + 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 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, 1, 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, + 1, 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, 1, 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, 1, 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, + 1, 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, 1, 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, 1, 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, + 1, 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, 1, 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, 1, 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, + 1, 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, 2, 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, 2, 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, + 2, 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, 2, 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, 2, 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, + 2, 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, 2, 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, 2, 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, + 2, 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, 2, 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, 3, 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, + 3, 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, 3, 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, 3, 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, + 3, 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, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 0, 0, 0, 0, + 85, 85, 0, 0, 158, 0, + 0, 4, 0, 224, 17, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 95, 0, 0, 2, + 0, 64, 2, 0, 95, 0, + 0, 2, 18, 16, 2, 0, + 104, 0, 0, 2, 19, 0, + 0, 0, 160, 0, 0, 5, + 0, 240, 17, 0, 0, 0, + 0, 0, 100, 0, 0, 0, + 64, 0, 0, 0, 155, 0, + 0, 4, 64, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 85, 0, 0, 6, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 41, 0, 0, 6, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 16, 2, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 30, 0, 0, 8, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 80, 0, 0, 8, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 26, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 21, 0, 0, 1, + 1, 0, 0, 6, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 48, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 79, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 16, 0, + 0, 0, 8, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 1, 0, + 0, 0, 78, 0, 0, 9, + 130, 0, 16, 0, 0, 0, + 0, 0, 0, 208, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 26, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 35, 0, 0, 11, + 18, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 26, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 41, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 85, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 8, 194, 0, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 45, 0, 0, 7, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 127, 67, 0, 0, 127, 67, + 0, 0, 127, 67, 0, 0, + 127, 67, 28, 0, 0, 5, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 84, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 21, 0, 0, 1, + 31, 0, 4, 3, 26, 0, + 16, 0, 1, 0, 0, 0, + 167, 0, 0, 8, 242, 0, + 16, 0, 2, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 8, + 242, 0, 16, 0, 3, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 6, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 84, 0, + 0, 7, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 83, 0, + 0, 7, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 168, 0, 0, 8, + 242, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 52, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 42, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 8, + 242, 0, 16, 0, 2, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 36, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 8, 242, 0, 16, 0, + 3, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 130, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 84, 0, 0, 7, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 83, 0, 0, 7, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 168, 0, + 0, 8, 242, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 21, 0, 0, 1, 31, 0, + 4, 3, 58, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 8, 242, 0, 16, 0, + 2, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 8, 242, 0, + 16, 0, 3, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 84, 0, 0, 7, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 83, 0, 0, 7, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 21, 0, 0, 1, + 79, 0, 0, 10, 50, 0, + 16, 0, 2, 0, 0, 0, + 166, 10, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 31, 0, + 4, 3, 10, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 8, 242, 0, 16, 0, + 3, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 8, 242, 0, + 16, 0, 4, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 30, 0, 0, 6, + 130, 0, 16, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 242, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 254, 17, 0, 0, 0, + 0, 0, 84, 0, 0, 7, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 36, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 83, 0, 0, 7, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 6, 0, 0, 0, + 168, 0, 0, 8, 242, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 52, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 21, 0, 0, 1, + 167, 0, 0, 9, 242, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 36, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 52, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 1, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 55, 0, + 0, 15, 114, 0, 16, 0, + 6, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 6, 0, 0, 0, 86, 5, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 2, 0, 0, 0, 32, 0, + 0, 10, 242, 0, 16, 0, + 7, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 8, 0, + 0, 0, 9, 0, 0, 0, + 10, 0, 0, 0, 11, 0, + 0, 0, 79, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 60, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 60, 0, + 0, 7, 226, 0, 16, 0, + 2, 0, 0, 0, 246, 6, + 16, 0, 1, 0, 0, 0, + 6, 13, 16, 0, 7, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 4, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 54, 0, 0, 5, 18, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 8, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 9, 0, + 0, 0, 246, 15, 16, 0, + 2, 0, 0, 0, 214, 4, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 55, 0, 0, 9, + 162, 0, 16, 0, 10, 0, + 0, 0, 246, 15, 16, 0, + 2, 0, 0, 0, 6, 4, + 16, 0, 8, 0, 0, 0, + 86, 13, 16, 0, 7, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 11, 0, + 0, 0, 26, 0, 16, 0, + 4, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 11, 0, 0, 0, 26, 0, + 16, 0, 5, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 11, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 9, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 54, 0, 0, 5, + 82, 0, 16, 0, 7, 0, + 0, 0, 6, 1, 16, 0, + 8, 0, 0, 0, 54, 0, + 0, 5, 82, 0, 16, 0, + 10, 0, 0, 0, 6, 1, + 16, 0, 11, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 7, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 134, 7, 16, 0, + 7, 0, 0, 0, 134, 7, + 16, 0, 10, 0, 0, 0, + 54, 0, 0, 5, 18, 0, + 16, 0, 10, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 54, 0, 0, 5, + 98, 0, 16, 0, 10, 0, + 0, 0, 6, 3, 16, 0, + 7, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 11, 0, 0, 0, 166, 10, + 16, 0, 2, 0, 0, 0, + 118, 14, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 10, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 10, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 9, 0, + 0, 0, 166, 10, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 7, 0, + 0, 0, 26, 0, 16, 0, + 10, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 7, 0, 0, 0, 166, 10, + 16, 0, 2, 0, 0, 0, + 118, 14, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 10, 0, 0, 0, 86, 5, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 7, 0, 0, 0, 86, 5, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 55, 0, + 0, 9, 226, 0, 16, 0, + 2, 0, 0, 0, 86, 5, + 16, 0, 2, 0, 0, 0, + 6, 9, 16, 0, 8, 0, + 0, 0, 6, 9, 16, 0, + 9, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 10, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 84, 0, 0, 10, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 0, 0, 0, 0, + 30, 0, 0, 10, 50, 0, + 16, 0, 9, 0, 0, 0, + 150, 5, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 84, 0, + 0, 10, 50, 0, 16, 0, + 9, 0, 0, 0, 70, 0, + 16, 0, 9, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 11, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 248, 0, 0, 0, + 248, 0, 0, 0, 248, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 1, 0, 0, 10, + 194, 0, 16, 0, 9, 0, + 0, 0, 6, 4, 16, 0, + 9, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 252, 0, + 0, 0, 252, 0, 0, 0, + 85, 0, 0, 7, 50, 0, + 16, 0, 9, 0, 0, 0, + 70, 0, 16, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 30, 0, + 0, 10, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 4, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 84, 0, 0, 10, + 114, 0, 16, 0, 11, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 2, 64, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 12, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 2, 64, 0, 0, + 248, 0, 0, 0, 248, 0, + 0, 0, 248, 0, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 30, 0, 0, 7, + 114, 0, 16, 0, 11, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 12, 0, 0, 0, + 30, 0, 0, 7, 50, 0, + 16, 0, 9, 0, 0, 0, + 70, 0, 16, 0, 9, 0, + 0, 0, 230, 10, 16, 0, + 9, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 11, 0, 0, 0, 26, 0, + 16, 0, 9, 0, 0, 0, + 54, 0, 0, 5, 34, 0, + 16, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 18, 0, 0, 1, + 30, 0, 0, 10, 114, 0, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 84, 0, + 0, 10, 114, 0, 16, 0, + 10, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 2, 64, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 255, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 2, 64, + 0, 0, 254, 0, 0, 0, + 254, 0, 0, 0, 254, 0, + 0, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 114, 0, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 30, 0, + 0, 7, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 30, 0, 0, 10, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 84, 0, 0, 10, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 255, 0, 0, 0, 255, 0, + 0, 0, 255, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 10, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 254, 0, + 0, 0, 254, 0, 0, 0, + 254, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 30, 0, 0, 7, 114, 0, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 54, 0, + 0, 5, 18, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 11, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 12, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 21, 0, + 0, 1, 32, 0, 0, 10, + 114, 0, 16, 0, 7, 0, + 0, 0, 246, 15, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 194, 0, + 16, 0, 10, 0, 0, 0, + 166, 10, 16, 0, 7, 0, + 0, 0, 246, 11, 16, 0, + 3, 0, 0, 0, 166, 14, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 5, 50, 0, + 16, 0, 10, 0, 0, 0, + 70, 0, 16, 0, 3, 0, + 0, 0, 55, 0, 0, 9, + 226, 0, 16, 0, 10, 0, + 0, 0, 86, 5, 16, 0, + 7, 0, 0, 0, 246, 6, + 16, 0, 3, 0, 0, 0, + 86, 14, 16, 0, 10, 0, + 0, 0, 55, 0, 0, 9, + 242, 0, 16, 0, 10, 0, + 0, 0, 6, 0, 16, 0, + 7, 0, 0, 0, 118, 2, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 10, 0, + 0, 0, 40, 0, 0, 5, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 40, 0, + 0, 5, 130, 0, 16, 0, + 13, 0, 0, 0, 10, 0, + 16, 0, 9, 0, 0, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 14, 0, 0, 0, + 70, 14, 16, 0, 11, 0, + 0, 0, 70, 14, 16, 0, + 13, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 114, 0, 16, 0, 15, 0, + 0, 0, 70, 3, 16, 0, + 14, 0, 0, 0, 70, 3, + 16, 0, 14, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 15, 0, + 0, 0, 10, 0, 16, 0, + 15, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 14, 0, 0, 0, + 42, 0, 16, 0, 14, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 13, 0, 0, 0, 70, 14, + 16, 0, 10, 0, 0, 0, + 70, 14, 16, 0, 13, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 178, 0, + 16, 0, 13, 0, 0, 0, + 70, 12, 16, 0, 13, 0, + 0, 0, 70, 12, 16, 0, + 13, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 13, 0, 0, 0, + 10, 0, 16, 0, 13, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 13, 0, 0, 0, 42, 0, + 16, 0, 13, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 8, + 242, 0, 16, 0, 10, 0, + 0, 0, 70, 14, 16, 128, + 65, 0, 0, 0, 11, 0, + 0, 0, 70, 14, 16, 0, + 10, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 178, 0, 16, 0, 10, 0, + 0, 0, 70, 12, 16, 0, + 10, 0, 0, 0, 70, 12, + 16, 0, 10, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 10, 0, + 0, 0, 10, 0, 16, 0, + 10, 0, 0, 0, 35, 0, + 0, 9, 66, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 34, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 40, 0, 0, 5, + 242, 0, 16, 0, 16, 0, + 0, 0, 70, 14, 16, 0, + 14, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 10, 0, 0, 0, 86, 5, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 8, 0, 0, 0, 86, 5, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 11, 0, 0, 0, 86, 5, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 34, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 13, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 11, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 16, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 14, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 9, 0, + 0, 0, 86, 5, 16, 0, + 2, 0, 0, 0, 22, 6, + 16, 0, 9, 0, 0, 0, + 70, 3, 16, 0, 9, 0, + 0, 0, 33, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 43, 0, 0, 5, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 194, 0, 16, 0, 12, 0, + 0, 0, 86, 9, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 41, 0, 0, 7, 98, 0, + 16, 0, 6, 0, 0, 0, + 86, 6, 16, 0, 6, 0, + 0, 0, 1, 64, 0, 0, + 4, 0, 0, 0, 30, 0, + 0, 10, 50, 0, 16, 0, + 13, 0, 0, 0, 230, 10, + 16, 0, 12, 0, 0, 0, + 2, 64, 0, 0, 11, 0, + 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 33, 0, 0, 7, + 130, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 15, 0, 0, 0, + 43, 0, 0, 5, 130, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 15, 0, + 0, 0, 78, 0, 0, 11, + 0, 208, 0, 0, 50, 0, + 16, 0, 13, 0, 0, 0, + 70, 0, 16, 0, 13, 0, + 0, 0, 2, 64, 0, 0, + 68, 0, 0, 0, 68, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 8, 194, 0, 16, 0, + 13, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 1, 80, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 13, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 3, 0, 4, 3, + 58, 0, 16, 0, 9, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 13, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 14, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 194, 0, + 16, 0, 16, 0, 0, 0, + 166, 10, 16, 0, 7, 0, + 0, 0, 246, 11, 16, 0, + 14, 0, 0, 0, 166, 14, + 16, 0, 14, 0, 0, 0, + 54, 0, 0, 5, 50, 0, + 16, 0, 16, 0, 0, 0, + 70, 0, 16, 0, 14, 0, + 0, 0, 55, 0, 0, 9, + 226, 0, 16, 0, 16, 0, + 0, 0, 86, 5, 16, 0, + 7, 0, 0, 0, 246, 6, + 16, 0, 14, 0, 0, 0, + 86, 14, 16, 0, 16, 0, + 0, 0, 55, 0, 0, 9, + 242, 0, 16, 0, 14, 0, + 0, 0, 6, 0, 16, 0, + 7, 0, 0, 0, 118, 2, + 16, 0, 14, 0, 0, 0, + 70, 14, 16, 0, 16, 0, + 0, 0, 30, 0, 0, 8, + 178, 0, 16, 0, 15, 0, + 0, 0, 70, 8, 16, 128, + 65, 0, 0, 0, 10, 0, + 0, 0, 70, 8, 16, 0, + 14, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 50, 0, 16, 0, 15, 0, + 0, 0, 70, 0, 16, 0, + 11, 0, 0, 0, 70, 0, + 16, 0, 15, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 15, 0, + 0, 0, 10, 0, 16, 0, + 15, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 11, 0, 0, 0, + 58, 0, 16, 0, 15, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 33, 0, + 0, 7, 130, 0, 16, 0, + 10, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 60, 0, 0, 7, + 130, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 34, 0, 0, 7, 130, 0, + 16, 0, 11, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 43, 0, + 0, 5, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 56, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 253, 255, 125, 66, 14, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 28, 0, 0, 5, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 12, 0, + 0, 0, 55, 0, 0, 10, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 11, 0, 0, 0, 10, 144, + 144, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 10, 0, + 16, 0, 13, 0, 0, 0, + 55, 0, 0, 9, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 30, 0, 0, 8, 130, 0, + 16, 0, 10, 0, 0, 0, + 10, 0, 16, 128, 65, 0, + 0, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 14, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 130, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 33, 0, + 0, 7, 130, 0, 16, 0, + 11, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 60, 0, 0, 7, + 130, 0, 16, 0, 11, 0, + 0, 0, 58, 0, 16, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 11, 0, 0, 0, + 34, 0, 0, 7, 18, 0, + 16, 0, 15, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 42, 0, 16, 0, + 15, 0, 0, 0, 43, 0, + 0, 5, 130, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 56, 0, 0, 7, 130, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 1, 64, 0, 0, + 253, 255, 125, 66, 14, 0, + 0, 7, 130, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 28, 0, 0, 5, + 130, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 12, 0, + 0, 0, 55, 0, 0, 10, + 130, 0, 16, 0, 10, 0, + 0, 0, 10, 0, 16, 0, + 15, 0, 0, 0, 10, 144, + 144, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 26, 0, + 16, 0, 13, 0, 0, 0, + 55, 0, 0, 9, 130, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 11, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 9, 130, 0, 16, 0, + 11, 0, 0, 0, 1, 64, + 0, 0, 64, 0, 0, 0, + 26, 144, 144, 128, 65, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 38, 0, + 0, 9, 0, 208, 0, 0, + 178, 0, 16, 0, 15, 0, + 0, 0, 70, 8, 16, 0, + 8, 0, 0, 0, 86, 149, + 144, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 35, 0, + 0, 9, 178, 0, 16, 0, + 15, 0, 0, 0, 246, 15, + 16, 0, 11, 0, 0, 0, + 70, 8, 16, 0, 10, 0, + 0, 0, 70, 12, 16, 0, + 15, 0, 0, 0, 30, 0, + 0, 10, 178, 0, 16, 0, + 15, 0, 0, 0, 70, 12, + 16, 0, 15, 0, 0, 0, + 2, 64, 0, 0, 32, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 0, 85, 0, 0, 7, + 178, 0, 16, 0, 16, 0, + 0, 0, 70, 12, 16, 0, + 15, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 30, 0, + 0, 9, 130, 0, 16, 0, + 10, 0, 0, 0, 1, 64, + 0, 0, 64, 0, 0, 0, + 26, 144, 144, 128, 65, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 38, 0, + 0, 9, 0, 208, 0, 0, + 130, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 9, 0, 0, 0, 26, 144, + 144, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 10, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 1, 64, 0, 0, 32, 0, + 0, 0, 85, 0, 0, 7, + 34, 0, 16, 0, 15, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 79, 0, 0, 7, 114, 0, + 16, 0, 17, 0, 0, 0, + 70, 3, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 16, 0, 0, 0, 10, 0, + 16, 0, 14, 0, 0, 0, + 55, 0, 0, 9, 146, 0, + 16, 0, 17, 0, 0, 0, + 6, 0, 16, 0, 17, 0, + 0, 0, 166, 2, 16, 0, + 16, 0, 0, 0, 6, 8, + 16, 0, 16, 0, 0, 0, + 54, 0, 0, 5, 82, 0, + 16, 0, 16, 0, 0, 0, + 86, 6, 16, 0, 14, 0, + 0, 0, 55, 0, 0, 9, + 242, 0, 16, 0, 16, 0, + 0, 0, 86, 10, 16, 0, + 17, 0, 0, 0, 70, 14, + 16, 0, 16, 0, 0, 0, + 22, 11, 16, 0, 16, 0, + 0, 0, 79, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 15, 0, 0, 0, 58, 0, + 16, 0, 14, 0, 0, 0, + 54, 0, 0, 5, 18, 0, + 16, 0, 15, 0, 0, 0, + 58, 0, 16, 0, 14, 0, + 0, 0, 55, 0, 0, 9, + 50, 0, 16, 0, 14, 0, + 0, 0, 246, 15, 16, 0, + 9, 0, 0, 0, 70, 0, + 16, 0, 15, 0, 0, 0, + 22, 5, 16, 0, 15, 0, + 0, 0, 40, 0, 0, 5, + 130, 0, 16, 0, 18, 0, + 0, 0, 58, 0, 16, 0, + 17, 0, 0, 0, 40, 0, + 0, 5, 98, 0, 16, 0, + 18, 0, 0, 0, 86, 7, + 16, 0, 16, 0, 0, 0, + 40, 0, 0, 5, 18, 0, + 16, 0, 18, 0, 0, 0, + 26, 0, 16, 0, 14, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 14, 0, + 0, 0, 10, 0, 16, 0, + 17, 0, 0, 0, 54, 0, + 0, 5, 98, 0, 16, 0, + 14, 0, 0, 0, 6, 2, + 16, 0, 16, 0, 0, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 14, 0, 0, 0, + 70, 14, 16, 0, 18, 0, + 0, 0, 70, 14, 16, 0, + 14, 0, 0, 0, 55, 0, + 0, 9, 194, 0, 16, 0, + 16, 0, 0, 0, 166, 10, + 16, 0, 7, 0, 0, 0, + 6, 8, 16, 0, 14, 0, + 0, 0, 166, 2, 16, 0, + 14, 0, 0, 0, 54, 0, + 0, 5, 50, 0, 16, 0, + 16, 0, 0, 0, 118, 15, + 16, 0, 14, 0, 0, 0, + 55, 0, 0, 9, 226, 0, + 16, 0, 16, 0, 0, 0, + 86, 5, 16, 0, 7, 0, + 0, 0, 6, 6, 16, 0, + 14, 0, 0, 0, 86, 14, + 16, 0, 16, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 14, 0, 0, 0, + 6, 0, 16, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 14, 0, 0, 0, 70, 14, + 16, 0, 16, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 50, 0, 16, 0, + 14, 0, 0, 0, 70, 0, + 16, 0, 14, 0, 0, 0, + 70, 0, 16, 0, 14, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 14, 0, 0, 0, 10, 0, + 16, 0, 14, 0, 0, 0, + 35, 0, 0, 9, 130, 0, + 16, 0, 9, 0, 0, 0, + 42, 0, 16, 0, 14, 0, + 0, 0, 42, 0, 16, 0, + 14, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 86, 0, 0, 5, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 86, 0, 0, 5, + 130, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 56, 0, + 0, 7, 130, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 50, 0, 0, 10, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 42, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 28, 0, 0, 5, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 30, 0, 0, 7, + 66, 0, 16, 0, 13, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 13, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 13, 0, 0, 0, + 58, 0, 16, 0, 13, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 22, 0, + 0, 1, 54, 0, 0, 5, + 18, 0, 16, 0, 12, 0, + 0, 0, 42, 0, 16, 0, + 13, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 18, 0, 0, 1, 31, 0, + 4, 3, 10, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 7, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 244, 255, + 255, 255, 85, 0, 0, 7, + 34, 0, 16, 0, 7, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 10, 194, 0, + 16, 0, 0, 0, 0, 0, + 6, 4, 16, 0, 7, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 254, 255, + 255, 255, 254, 255, 255, 255, + 254, 255, 255, 255, 254, 255, + 255, 255, 30, 0, 0, 7, + 242, 0, 16, 0, 4, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 1, 0, 0, 10, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 254, 255, 255, 255, 254, 255, + 255, 255, 254, 255, 255, 255, + 254, 255, 255, 255, 30, 0, + 0, 7, 242, 0, 16, 0, + 5, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 30, 0, 0, 8, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 128, + 65, 0, 0, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 194, 0, 16, 0, 0, 0, + 0, 0, 6, 4, 16, 0, + 8, 0, 0, 0, 6, 4, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 35, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 35, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 30, 0, + 0, 8, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 128, 65, 0, + 0, 0, 4, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 98, 0, 16, 0, + 2, 0, 0, 0, 6, 1, + 16, 0, 3, 0, 0, 0, + 6, 1, 16, 0, 8, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 35, 0, 0, 9, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 8, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 35, 0, 0, 9, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 34, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 33, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 43, 0, 0, 5, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 253, 255, 125, 66, + 28, 0, 0, 5, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 5, 0, 0, 0, + 79, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 40, 0, 0, 5, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 55, 0, + 0, 9, 242, 0, 16, 0, + 9, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 55, 0, + 0, 9, 242, 0, 16, 0, + 4, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 55, 0, + 0, 9, 242, 0, 16, 0, + 3, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 33, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 43, 0, 0, 5, + 18, 0, 16, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 8, 50, 0, 16, 0, + 12, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 1, 80, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 3, 0, 4, 3, + 26, 0, 16, 0, 2, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 12, 0, 0, 0, + 167, 0, 0, 9, 242, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 70, 254, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 8, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 128, 65, 0, + 0, 0, 9, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 98, 0, + 16, 0, 2, 0, 0, 0, + 6, 1, 16, 0, 3, 0, + 0, 0, 6, 1, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 33, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 60, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 34, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 43, 0, 0, 5, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 253, 255, + 125, 66, 14, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 28, 0, 0, 5, 34, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 55, 0, 0, 10, + 34, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 10, 144, + 144, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 15, 0, 0, 0, + 55, 0, 0, 9, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 9, 66, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 64, 0, + 0, 0, 26, 144, 144, 128, + 65, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 38, 0, 0, 9, 0, 208, + 0, 0, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 86, 149, 144, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 35, 0, 0, 9, 242, 0, + 16, 0, 8, 0, 0, 0, + 166, 10, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 10, 242, 0, + 16, 0, 8, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 2, 64, 0, 0, + 32, 0, 0, 0, 32, 0, + 0, 0, 32, 0, 0, 0, + 32, 0, 0, 0, 85, 0, + 0, 7, 242, 0, 16, 0, + 8, 0, 0, 0, 134, 13, + 16, 0, 8, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 79, 0, 0, 7, + 242, 0, 16, 0, 10, 0, + 0, 0, 134, 13, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 54, 0, 0, 5, 82, 0, + 16, 0, 11, 0, 0, 0, + 6, 1, 16, 0, 5, 0, + 0, 0, 54, 0, 0, 5, + 162, 0, 16, 0, 11, 0, + 0, 0, 6, 8, 16, 0, + 8, 0, 0, 0, 55, 0, + 0, 9, 242, 0, 16, 0, + 11, 0, 0, 0, 6, 5, + 16, 0, 10, 0, 0, 0, + 70, 14, 16, 0, 11, 0, + 0, 0, 22, 11, 16, 0, + 11, 0, 0, 0, 54, 0, + 0, 5, 82, 0, 16, 0, + 8, 0, 0, 0, 166, 11, + 16, 0, 5, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 5, 0, 0, 0, + 230, 14, 16, 0, 10, 0, + 0, 0, 214, 8, 16, 0, + 8, 0, 0, 0, 134, 13, + 16, 0, 8, 0, 0, 0, + 40, 0, 0, 5, 50, 0, + 16, 0, 8, 0, 0, 0, + 214, 5, 16, 0, 11, 0, + 0, 0, 40, 0, 0, 5, + 194, 0, 16, 0, 8, 0, + 0, 0, 6, 4, 16, 0, + 5, 0, 0, 0, 54, 0, + 0, 5, 50, 0, 16, 0, + 5, 0, 0, 0, 134, 0, + 16, 0, 11, 0, 0, 0, + 30, 0, 0, 7, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 98, 0, 16, 0, 2, 0, + 0, 0, 6, 1, 16, 0, + 5, 0, 0, 0, 6, 1, + 16, 0, 5, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 35, 0, + 0, 9, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 86, 0, + 0, 5, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 86, 0, 0, 5, 66, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 56, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 10, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 42, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 28, 0, + 0, 5, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 18, 0, + 16, 0, 12, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 12, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, + 12, 0, 0, 0, 26, 0, + 16, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 22, 0, 0, 1, + 54, 0, 0, 5, 34, 0, + 16, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 6, 0, + 0, 0, 10, 0, 16, 0, + 7, 0, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 8, + 50, 0, 16, 0, 12, 0, + 0, 0, 2, 64, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 6, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 21, 0, 0, 1, 21, 0, + 0, 1, 168, 0, 0, 8, + 50, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 70, 0, 16, 0, + 12, 0, 0, 0, 168, 0, + 0, 8, 50, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 198, 0, + 16, 0, 6, 0, 0, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 1, 0, 0, 0, + 30, 0, 0, 6, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 8, 0, 0, 0, + 167, 0, 0, 9, 98, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 241, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 79, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 12, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 168, 0, + 0, 8, 50, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 134, 0, + 16, 0, 3, 0, 0, 0, + 168, 0, 0, 8, 50, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 70, 0, 16, 0, 4, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 31, 0, + 4, 3, 42, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 8, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 4, 0, 0, 0, + 167, 0, 0, 9, 98, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 241, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 5, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 79, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 168, 0, + 0, 8, 50, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 134, 0, + 16, 0, 4, 0, 0, 0, + 168, 0, 0, 8, 50, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 70, 0, 16, 0, 5, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 31, 0, + 4, 3, 58, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 8, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 2, 0, 0, 0, + 167, 0, 0, 9, 98, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 241, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 79, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 168, 0, + 0, 8, 50, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 134, 0, + 16, 0, 3, 0, 0, 0, + 168, 0, 0, 8, 50, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 70, 0, 16, 0, 4, 0, + 0, 0, 21, 0, 0, 1, + 21, 0, 0, 1, 31, 0, + 4, 3, 10, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 8, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 240, + 17, 0, 0, 0, 0, 0, + 30, 0, 0, 6, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 167, 0, 0, 9, 98, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 6, 241, + 17, 0, 0, 0, 0, 0, + 167, 0, 0, 9, 50, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 79, 0, 0, 7, 66, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 168, 0, + 0, 8, 50, 240, 17, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 134, 0, + 16, 0, 2, 0, 0, 0, + 168, 0, 0, 8, 50, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 70, 0, 16, 0, 3, 0, + 0, 0, 21, 0, 0, 1, + 167, 0, 0, 8, 146, 0, + 16, 0, 1, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 28, 0, 0, 0, + 6, 244, 17, 0, 0, 0, + 0, 0, 41, 0, 0, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 31, 0, 0, 0, + 167, 0, 0, 8, 50, 0, + 16, 0, 1, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 70, 240, 17, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 168, 0, 0, 9, + 242, 224, 17, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 21, 0, 0, 1, + 62, 0, 0, 1 +}; diff --git a/DirectXTex/scoped.h b/DirectXTex/scoped.h index c81ee30..6c35817 100644 --- a/DirectXTex/scoped.h +++ b/DirectXTex/scoped.h @@ -43,7 +43,13 @@ inline HANDLE safe_handle( HANDLE h ) { return (h == INVALID_HANDLE_VALUE) ? 0 : #include -template class ScopedObject : public Microsoft::WRL::ComPtr {}; +template class ScopedObject : public Microsoft::WRL::ComPtr +{ +public: + ScopedObject() : Microsoft::WRL::ComPtr() {} + ScopedObject( T *p ) : Microsoft::WRL::ComPtr(p) {} + ScopedObject( const ScopedObject& other ) : Microsoft::WRL::ComPtr( other ) {} +}; #else diff --git a/Texconv/texconv.cpp b/Texconv/texconv.cpp index 4e2104f..cd8ea78 100644 --- a/Texconv/texconv.cpp +++ b/Texconv/texconv.cpp @@ -43,8 +43,12 @@ enum OPTIONS // Note: dwOptions below assumes 32 or less options. OPT_TA_WRAP, OPT_TA_MIRROR, OPT_FORCE_SINGLEPROC, + OPT_NOGPU, + OPT_MAX }; +static_assert( OPT_MAX <= 32, "dwOptions is a DWORD bitfield" ); + struct SConversion { WCHAR szSrc [MAX_PATH]; @@ -90,6 +94,7 @@ SValue g_pOptions[] = { L"wrap", OPT_TA_WRAP }, { L"mirror", OPT_TA_MIRROR }, { L"singleproc", OPT_FORCE_SINGLEPROC }, + { L"nogpu", OPT_NOGPU }, { nullptr, 0 } }; @@ -371,6 +376,7 @@ void PrintUsage() #ifdef _OPENMP wprintf( L" -singleproc Do not use multi-threaded compression\n"); #endif + wprintf( L" -nogpu Do not use DirectCompute-based codecs\n"); wprintf( L"\n"); wprintf( L" : "); @@ -385,6 +391,69 @@ void PrintUsage() PrintList(15, g_pSaveFileTypes); } +_Success_(return != false) +bool CreateDevice( _Outptr_ ID3D11Device** pDevice ) +{ + if ( !pDevice ) + return false; + + *pDevice = nullptr; + + typedef HRESULT (WINAPI * LPD3D11CREATEDEVICE)( IDXGIAdapter*, D3D_DRIVER_TYPE, HMODULE, UINT32, D3D_FEATURE_LEVEL*, + UINT, UINT32, ID3D11Device**, D3D_FEATURE_LEVEL*, ID3D11DeviceContext** ); + static LPD3D11CREATEDEVICE s_DynamicD3D11CreateDevice = nullptr; + + if ( !s_DynamicD3D11CreateDevice ) + { + HMODULE hModD3D11 = LoadLibrary( L"d3d11.dll" ); + if ( !hModD3D11 ) + return false; + + s_DynamicD3D11CreateDevice = ( LPD3D11CREATEDEVICE )GetProcAddress( hModD3D11, "D3D11CreateDevice" ); + if ( !s_DynamicD3D11CreateDevice ) + return false; + } + + D3D_FEATURE_LEVEL featureLevels[] = + { + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_10_1, + D3D_FEATURE_LEVEL_10_0, + }; + + UINT createDeviceFlags = 0; +#ifdef _DEBUG + createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG; +#endif + + D3D_FEATURE_LEVEL fl; + HRESULT hr = s_DynamicD3D11CreateDevice( nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, createDeviceFlags, featureLevels, _countof(featureLevels), + D3D11_SDK_VERSION, pDevice, &fl, nullptr ); + if ( SUCCEEDED(hr) ) + { + if ( fl < D3D_FEATURE_LEVEL_11_0 ) + { + D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS hwopts; + hr = (*pDevice)->CheckFeatureSupport( D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS, &hwopts, sizeof(hwopts) ); + if ( FAILED(hr) ) + memset( &hwopts, 0, sizeof(hwopts) ); + + if ( !hwopts.ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x ) + { + hr = HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); + } + } + } + + if ( FAILED(hr) && *pDevice ) + { + (*pDevice)->Release(); + *pDevice = nullptr; + } + + return SUCCEEDED(hr); +} + //-------------------------------------------------------------------------------------- // Entry-point @@ -453,7 +522,7 @@ int __cdecl wmain(_In_ int argc, _In_z_count_(argc) wchar_t* argv[]) if( (OPT_NOLOGO != dwOption) && (OPT_TYPELESS_UNORM != dwOption) && (OPT_TYPELESS_FLOAT != dwOption) && (OPT_SEPALPHA != dwOption) && (OPT_PREMUL_ALPHA != dwOption) && (OPT_EXPAND_LUMINANCE != dwOption) && (OPT_TA_WRAP != dwOption) && (OPT_TA_MIRROR != dwOption) - && (OPT_FORCE_SINGLEPROC != dwOption) + && (OPT_FORCE_SINGLEPROC != dwOption) && (OPT_NOGPU != dwOption) && (OPT_SRGB != dwOption) && (OPT_SRGBI != dwOption) && (OPT_SRGBO != dwOption) && (OPT_HFLIP != dwOption) && (OPT_VFLIP != dwOption) && (OPT_DDS_DWORD_ALIGN != dwOption) && (OPT_USE_DX10 != dwOption) ) @@ -640,6 +709,7 @@ int __cdecl wmain(_In_ int argc, _In_z_count_(argc) wchar_t* argv[]) bool nonpow2warn = false; bool non4bc = false; SConversion *pConv; + ID3D11Device* pDevice = nullptr; for(pConv = pConversion; pConv; pConv = pConv->pNext) { @@ -1094,8 +1164,7 @@ int __cdecl wmain(_In_ int argc, _In_z_count_(argc) wchar_t* argv[]) goto LError; } - DWORD cflags = TEX_COMPRESS_DEFAULT; -#ifdef _OPENMP + bool bc6hbc7=false; switch( tformat ) { case DXGI_FORMAT_BC6H_TYPELESS: @@ -1104,12 +1173,35 @@ int __cdecl wmain(_In_ int argc, _In_z_count_(argc) wchar_t* argv[]) case DXGI_FORMAT_BC7_TYPELESS: case DXGI_FORMAT_BC7_UNORM: case DXGI_FORMAT_BC7_UNORM_SRGB: - if ( !(dwOptions & (1 << OPT_FORCE_SINGLEPROC) ) ) + bc6hbc7=true; + { - cflags |= TEX_COMPRESS_PARALLEL; + static bool s_tryonce = false; + + if ( !s_tryonce ) + { + s_tryonce = true; + + if ( !(dwOptions & (1 << OPT_NOGPU) ) ) + { + if ( !CreateDevice( &pDevice ) ) + wprintf( L"\nWARNING: DirectCompute is not available, using BC6H / BC7 CPU codec\n" ); + } + else + { + wprintf( L"\nWARNING: using BC6H / BC7 CPU codec\n" ); + } + } } break; } + + DWORD cflags = TEX_COMPRESS_DEFAULT; +#ifdef _OPENMP + if ( bc6hbc7 && !(dwOptions & (1 << OPT_FORCE_SINGLEPROC) ) ) + { + cflags |= TEX_COMPRESS_PARALLEL; + } #endif if ( (img->width % 4) != 0 || (img->height % 4) != 0 ) @@ -1117,7 +1209,14 @@ int __cdecl wmain(_In_ int argc, _In_z_count_(argc) wchar_t* argv[]) non4bc = true; } - hr = Compress( img, nimg, info, tformat, cflags, 0.5f, *timage ); + if ( bc6hbc7 && pDevice ) + { + hr = Compress( pDevice, img, nimg, info, tformat, *timage ); + } + else + { + hr = Compress( img, nimg, info, tformat, cflags, 0.5f, *timage ); + } if ( FAILED(hr) ) { wprintf( L" FAILED [compress] (%x)\n", hr); @@ -1252,5 +1351,10 @@ LDone: delete pConv; } + if ( pDevice ) + { + pDevice->Release(); + } + return nReturn; }