auto new_block = std::make_pair(std::min(std::max((size_t)0, block.first-offset), buff_size),
std::min(std::max((size_t)0, block.second-offset), buff_size));
if(new_block.second > 0 && new_block.first < buff_size)
auto new_block = std::make_pair(std::min(std::max((size_t)0, block.first-offset), buff_size),
std::min(std::max((size_t)0, block.second-offset), buff_size));
if(new_block.second > 0 && new_block.first < buff_size)