1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
// Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The ASF licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. #pragma once #include #include #include #include #include #include #include #include "parquet/column_reader.h" #include "parquet/exception.h" #include "parquet/platform.h" #include "parquet/schema.h" #include "parquet/types.h" namespace parquet { static constexpr int64_t DEFAULT_SCANNER_BATCH_SIZE = 128; class PARQUET_EXPORT Scanner { public: explicit Scanner(std::shared_ptr reader, int64_t batch_size = DEFAULT_SCANNER_BATCH_SIZE, ::arrow::MemoryPool* pool = ::arrow::default_memory_pool()) : batch_size_(batch_size), level_offset_(0), levels_buffered_(0), value_buffer_(AllocateBuffer(pool)), value_offset_(0), values_buffered_(0), reader_(std::move(reader)) { def_levels_.resize( descr()->max_definition_level() > 0 ? static_cast(batch_size_) : 0); rep_levels_.resize( descr()->max_repetition_level() > 0 ? static_cast(batch_size_) : 0); } virtual ~Scanner() {} static std::shared_ptr Make( std::shared_ptr col_reader, int64_t batch_size = DEFAULT_SCANNER_BATCH_SIZE, ::arrow::MemoryPool* pool = ::arrow::default_memory_pool()); virtual void PrintNext(std::ostream& out, int width, bool with_levels = false) = 0; bool HasNext() { return level_offset_ < levels_buffered_ || reader_->HasNext(); } const ColumnDescriptor* descr() const { return reader_->descr(); } int64_t batch_size() const { return batch_size_; } void SetBatchSize(int64_t batch_size) { batch_size_ = batch_size; } protected: int64_t batch_size_; std::vector def_levels_; std::vector rep_levels_; int level_offset_; int levels_buffered_; std::shared_ptr value_buffer_; int value_offset_; int64_t values_buffered_; std::shared_ptr reader_; }; template class PARQUET_TEMPLATE_CLASS_EXPORT TypedScanner : public Scanner { public: typedef typename DType::c_type T; explicit TypedScanner(std::shared_ptr reader, int64_t batch_size = DEFAULT_SCANNER_BATCH_SIZE, ::arrow::MemoryPool* pool = ::arrow::default_memory_pool()) : Scanner(std::move(reader), batch_size, pool) { typed_reader_ = static_cast*>(reader_.get()); int value_byte_size = type_traits::value_byte_size; PARQUET_THROW_NOT_OK(value_buffer_->Resize(batch_size_ * value_byte_size)); values_ = reinterpret_cast(value_buffer_->mutable_data()); } virtual ~TypedScanner() {} bool NextLevels(int16_t* def_level, int16_t* rep_level) { if (level_offset_ == levels_buffered_) { levels_buffered_ = static_cast( typed_reader_->ReadBatch(static_cast(batch_size_), def_levels_.data(), rep_levels_.data(), values_, &values_buffered_)); value_offset_ = 0; level_offset_ = 0; if (!levels_buffered_) { return false; } } *def_level = descr()->max_definition_level() > 0 ? def_levels_[level_offset_] : 0; *rep_level = descr()->max_repetition_level() > 0 ? rep_levels_[level_offset_] : 0; level_offset_++; return true; } bool Next(T* val, int16_t* def_level, int16_t* rep_level, bool* is_null) { if (level_offset_ == levels_buffered_) { if (!HasNext()) { // Out of data pages return false; } } NextLevels(def_level, rep_level); *is_null = *def_level < descr()->max_definition_level(); if (*is_null) { return true; } if (value_offset_ == values_buffered_) { throw ParquetException("Value was non-null, but has not been buffered"); } *val = values_[value_offset_++]; return true; } // Returns true if there is a next value bool NextValue(T* val, bool* is_null) { if (level_offset_ == levels_buffered_) { if (!HasNext()) { // Out of data pages return false; } } // Out of values int16_t def_level = -1; int16_t rep_level = -1; NextLevels(&def_level, &rep_level); *is_null = def_level < descr()->max_definition_level(); if (*is_null) { return true; } if (value_offset_ == values_buffered_) { throw ParquetException("Value was non-null, but has not been buffered"); } *val = values_[value_offset_++]; return true; } virtual void PrintNext(std::ostream& out, int width, bool with_levels = false) { T val{}; int16_t def_level = -1; int16_t rep_level = -1; bool is_null = false; char buffer[80]; if (!Next(&val, &def_level, &rep_level, &is_null)) { throw ParquetException("No more values buffered"); } if (with_levels) { out << " D:" << def_level << " R:" << rep_level << " "; if (!is_null) { out << "V:"; } } if (is_null) { std::string null_fmt = format_fwf(width); snprintf(buffer, sizeof(buffer), null_fmt.c_str(), "NULL"); } else { FormatValue(&val, buffer, sizeof(buffer), width); } out << buffer; } private: // The ownership of this object is expressed through the reader_ variable in the base TypedColumnReader* typed_reader_; inline void FormatValue(void* val, char* buffer, int bufsize, int width); T* values_; }; template inline void TypedScanner::FormatValue(void* val, char* buffer, int bufsize, int width) { std::string fmt = format_fwf(width); snprintf(buffer, bufsize, fmt.c_str(), *reinterpret_cast(val)); } template <> inline void TypedScanner::FormatValue(void* val, char* buffer, int bufsize, int width) { std::string fmt = format_fwf(width); std::string result = Int96ToString(*reinterpret_cast(val)); snprintf(buffer, bufsize, fmt.c_str(), result.c_str()); } template <> inline void TypedScanner::FormatValue(void* val, char* buffer, int bufsize, int width) { std::string fmt = format_fwf(width); std::string result = ByteArrayToString(*reinterpret_cast(val)); snprintf(buffer, bufsize, fmt.c_str(), result.c_str()); } template <> inline void TypedScanner::FormatValue(void* val, char* buffer, int bufsize, int width) { std::string fmt = format_fwf(width); std::string result = FixedLenByteArrayToString( *reinterpret_cast(val), descr()->type_length()); snprintf(buffer, bufsize, fmt.c_str(), result.c_str()); } typedef TypedScanner BoolScanner; typedef TypedScanner Int32Scanner; typedef TypedScanner Int64Scanner; typedef TypedScanner Int96Scanner; typedef TypedScanner FloatScanner; typedef TypedScanner DoubleScanner; typedef TypedScanner ByteArrayScanner; typedef TypedScanner FixedLenByteArrayScanner; template int64_t ScanAll(int32_t batch_size, int16_t* def_levels, int16_t* rep_levels, uint8_t* values, int64_t* values_buffered, parquet::ColumnReader* reader) { typedef typename RType::T Type; auto typed_reader = static_cast(reader); auto vals = reinterpret_cast(&values[0]); return typed_reader->ReadBatch(batch_size, def_levels, rep_levels, vals, values_buffered); } int64_t PARQUET_EXPORT ScanAllValues(int32_t batch_size, int16_t* def_levels, int16_t* rep_levels, uint8_t* values, int64_t* values_buffered, parquet::ColumnReader* reader); } // namespace parquet