Compare commits

...

10 commits

7 changed files with 510 additions and 816 deletions

168
bot.py
View file

@ -15,17 +15,14 @@ from telegram.request import HTTPXRequest
from dataclasses import dataclass
from typing import Optional
# Таймаут для HTTP запросов
# Все таймауты убраны - видео может качаться и отправляться очень долго
HTTP_TIMEOUT = httpx.Timeout(connect=None, read=None, write=None, pool=None)
# Таймаут для HTTP запросов к downloader-сервисам.
# Без ограничений один зависший микросервис навсегда блокирует единственный
# queue_worker и вся очередь перестает двигаться.
HTTP_TIMEOUT = httpx.Timeout(connect=10, read=300, write=30, pool=30)
# Таймаут для запроса форматов (не такой критичный, но не должен висеть вечно)
FORMATS_TIMEOUT = httpx.Timeout(connect=15, read=30, write=15, pool=15)
# Клиентский кэш форматов: {normalized_url: (timestamp, formats)}
_formats_cache: dict[str, tuple[float, list[dict]]] = {}
_FORMATS_CACHE_TTL = 30 * 60 # 30 минут
# Настройка логирования
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
@ -114,10 +111,11 @@ TEXTS = {
'caption': "Видео скачано с @{bot_username}",
'error': "❌ Произошла ошибка при обработке видео:\n{error}",
'error_unknown_source': "Пардон, не умеем работать с этим источником",
'error_vk_not_video': "❌ Это ссылка VK, но не на видео. Пришлите ссылку вида vk.com/video... или vk.com/clip...",
'error_file_too_large': "❌ Видео слишком большое ({size_mb:.1f} МБ, max = 50)",
'queue_position': "🕐 Ваше видео #{position} в очереди\nВаш запрос очень важен для нас!",
'queue_first': "⬇️ Скачиваю видео...",
'select_quality': "Выберите качество видео:",
'select_quality': "Выберите качество видео:\n(через 10 сек — автоскачивание)",
'quality_cancelled': "❌ Выбор отменён",
'fetching_formats': "🔍 Получаю доступные форматы...",
},
@ -171,10 +169,11 @@ TEXTS = {
'caption': "Video downloaded via @{bot_username}",
'error': "❌ Error processing video:\n{error}",
'error_unknown_source': "Sorry, this source is not supported",
'error_vk_not_video': "❌ This is a VK link, but not a video. Send a vk.com/video... or vk.com/clip... link.",
'error_file_too_large': "❌ Video is too large ({size_mb:.1f} MB, max = 50)",
'queue_position': "🕐 Your video is #{position} in queue\nYour request is very important to us!",
'queue_first': "⬇️ Downloading video...",
'select_quality': "Select video quality:",
'select_quality': "Select video quality:\n(10 sec auto-download)",
'quality_cancelled': "❌ Cancelled",
'fetching_formats': "🔍 Fetching available formats...",
}
@ -390,7 +389,7 @@ def detect_video_source(url: str) -> str:
return 'youtube'
elif 'instagram.com' in domain:
return 'instagram'
elif 'vk.com' in domain or 'vkontakte.ru' in domain:
elif 'vk.com' in domain or 'vk.ru' in domain or 'vkontakte.ru' in domain:
return 'vk'
elif 'yapfiles.ru' in domain:
return 'yapfiles'
@ -400,6 +399,23 @@ def detect_video_source(url: str) -> str:
return 'unknown'
def is_vk_video_url(url: str) -> bool:
"""Проверяет, что VK URL ведёт именно на видео/клип, а не на группу/профиль."""
parsed = urlparse(url)
domain = parsed.netloc.lower()
if not ('vk.com' in domain or 'vk.ru' in domain or 'vkontakte.ru' in domain):
return False
path = parsed.path.lower().strip('/')
query = parsed.query.lower()
return (
path.startswith('video')
or path.startswith('clip')
or 'z=video' in query
or 'z=clip' in query
)
def extract_urls_from_text(text: str) -> list[str]:
"""Извлекает все URL из текста сообщения"""
url_pattern = r'https?://[^\s<>"{}|\\^`\[\]]+'
@ -562,18 +578,19 @@ async def process_queue_item(item: QueueItem):
video_file = open(video_path, 'rb')
caption = get_text(item.locale, 'caption', bot_username=TELEGRAM_BOT_USERNAME)
caption += f"\n\n{item.url}"
# Определяем имя файла для отправки
video_filename = Path(video_path).name
# Отправляем как документ, чтобы Telegram НЕ сжимал видео
# (reply_video сжимает, что приводит к потере качества и одинаковому размеру)
await item.original_message.reply_document(
document=video_file,
# Отправляем как видео со streaming — встроенный плеер Telegram
await item.original_message.reply_video(
video=video_file,
filename=video_filename,
caption=caption,
read_timeout=600, # 10 минут на ответ от Telegram
write_timeout=600, # 10 минут на отправку файла
supports_streaming=True,
read_timeout=600,
write_timeout=600,
connect_timeout=60,
pool_timeout=60
)
@ -970,29 +987,10 @@ async def download_tiktok_video(url: str, chat_id: int, max_retries: int = 3) ->
# ============================================================================
def _normalize_youtube_url_for_cache(url: str) -> str:
"""Нормализует URL для кэша: оставляет только video ID"""
import re
m = re.search(r'(youtu\.be/|youtube\.com/watch\?v=)([a-zA-Z0-9_-]{11})', url)
if m:
return f"https://www.youtube.com/watch?v={m.group(2)}"
return url
async def get_formats_from_service(url: str) -> list[dict] | None:
"""Получает список доступных форматов для YouTube URL через сервис youtube-downloader"""
logger.info(f"Получение форматов для YouTube: {url}")
cache_key = _normalize_youtube_url_for_cache(url)
now = time.time()
if cache_key in _formats_cache:
cached_time, cached_formats = _formats_cache[cache_key]
if now - cached_time < _FORMATS_CACHE_TTL:
logger.info(f"Форматы взяты из кэша ({len(cached_formats)} шт., возраст {now - cached_time:.0f}с)")
return cached_formats
del _formats_cache[cache_key]
try:
async with httpx.AsyncClient(timeout=FORMATS_TIMEOUT) as client:
response = await client.post(
@ -1002,9 +1000,7 @@ async def get_formats_from_service(url: str) -> list[dict] | None:
)
if response.status_code == 200:
data = response.json()
formats = data.get('formats', [])
_formats_cache[cache_key] = (time.time(), formats)
return formats
return data.get('formats', [])
logger.warning(f"Не удалось получить форматы: {response.status_code}")
return None
except Exception as e:
@ -1021,12 +1017,7 @@ async def show_quality_selection(status_message: Message, formats: list[dict], l
"""
keyboard = []
for idx, fmt in enumerate(formats):
label = fmt.get('label', fmt.get('quality', 'Unknown'))
filesize = fmt.get('filesize_mb')
if filesize:
button_text = f"{label} ({filesize:.0f} MB)"
else:
button_text = label
button_text = fmt.get('label', fmt.get('quality', 'Unknown'))
keyboard.append([InlineKeyboardButton(
text=button_text,
callback_data=f"quality:{idx}"
@ -1055,6 +1046,10 @@ async def handle_format_selection(update: Update, context: ContextTypes.DEFAULT_
# Получаем сохраненные данные
data = context.user_data.pop(f'quality_{chat_id}', None)
# Отменяем авто-выбор качества
auto_task = context.user_data.pop(f'quality_auto_{chat_id}', None)
if auto_task:
auto_task.cancel()
if not data:
await query.edit_message_text("Session expired, please send the link again")
return
@ -1104,6 +1099,66 @@ async def handle_format_selection(update: Update, context: ContextTypes.DEFAULT_
)
async def _auto_select_after_delay(context: ContextTypes.DEFAULT_TYPE, chat_id: int, delay: int = 10):
"""Автовыбор лучшего качества через delay секунд, если пользователь не выбрал"""
try:
await asyncio.sleep(delay)
except asyncio.CancelledError:
return # пользователь выбрал вручную
data = context.user_data.pop(f'quality_{chat_id}', None)
if not data:
return # уже обработано
context.user_data.pop(f'quality_auto_{chat_id}', None) # чистим
formats_list = data.get('formats_list', [])
if not formats_list:
return
locale = data['locale']
status_message = data['status_message']
# Автовыбор: ищем 480p или ближайшее ниже
preferred_qualities = ['480p', '360p', '240p', '144p']
selected = None
for pq in preferred_qualities:
for fmt in formats_list:
if fmt.get('quality', '') == pq:
selected = fmt
break
if selected:
break
if not selected:
selected = formats_list[0] # fallback на лучшее
format_id = selected.get('format_id', '')
quality_label = selected.get('quality', selected.get('label', 'best'))
logger.info(f"Автовыбор качества для chat_id={chat_id}: {quality_label}")
await status_message.edit_text(get_text(locale, 'processing'))
item = QueueItem(
original_message=data['original_message'],
status_message=status_message,
url=data['url'],
chat_id=chat_id,
chat_type=data['chat_type'],
locale=locale,
format_id=format_id
)
position = await add_to_queue(item)
if position == 1:
await status_message.edit_text(get_text(locale, 'queue_first'))
else:
await status_message.edit_text(
get_text(locale, 'queue_position', position=position)
)
async def download_video(url: str, chat_id: int, locale: str, max_retries: int = 3, format_id: str | None = None) -> str:
"""Главная функция скачивания - вызывает нужную функцию в зависимости от источника"""
source = detect_video_source(url)
@ -1167,28 +1222,15 @@ async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text(get_text(locale, 'unsupported_source'))
return
if source == 'vk' and not is_vk_video_url(url):
if chat_type == 'private':
await update.message.reply_text(get_text(locale, 'error_vk_not_video'))
return
# Отправляем сообщение о начале обработки
status_message = await update.message.reply_text(get_text(locale, 'processing'))
# Для YouTube - показываем выбор качества перед добавлением в очередь
if source == 'youtube':
await status_message.edit_text(get_text(locale, 'fetching_formats'))
formats = await get_formats_from_service(url)
if formats:
# Сохраняем данные для обработки в колбэке
context.user_data[f'quality_{chat_id}'] = {
'url': url,
'locale': locale,
'chat_id': chat_id,
'chat_type': chat_type,
'original_message': update.message,
'status_message': status_message,
'formats_list': formats, # для lookup по индексу в callback
}
await show_quality_selection(status_message, formats, locale)
return
# Если не удалось получить форматы, скачиваем как обычно (без выбора качества)
await status_message.edit_text(get_text(locale, 'processing'))
# Для YouTube — сразу добавляем в очередь (выбор качества убран, т.к. android+mweb даёт только 360p)
# Создаём элемент очереди
item = QueueItem(

View file

@ -20,7 +20,8 @@ RUN mkdir -p downloads
ENV PYTHONUNBUFFERED=1
# Gunicorn: 1 worker (последовательная обработка), без таймаута
# Порт берется из переменной окружения PORT (по умолчанию 5000)
CMD sh -c "gunicorn --workers=1 --timeout=0 --bind=0.0.0.0:${PORT:-5000} app:app"
# Gunicorn: несколько worker-ов и конечные таймауты, чтобы один зависший
# клиент или запрос не блокировал весь VK downloader.
# Порт берется из переменной окружения PORT (по умолчанию 5000).
CMD sh -c "gunicorn --workers=${GUNICORN_WORKERS:-2} --threads=${GUNICORN_THREADS:-4} --timeout=${GUNICORN_TIMEOUT:-360} --graceful-timeout=${GUNICORN_GRACEFUL_TIMEOUT:-30} --keep-alive=${GUNICORN_KEEP_ALIVE:-5} --bind=${BIND_HOST:-0.0.0.0}:${PORT:-5000} app:app"

View file

@ -119,7 +119,7 @@ def download():
logger.info(f"Получен запрос на скачивание: {url}")
# Проверяем, что это VK URL
if 'vk.com' not in url and 'vkontakte.ru' not in url:
if 'vk.com' not in url and 'vk.ru' not in url and 'vkontakte.ru' not in url:
return jsonify({'error': 'Only VK URLs are supported'}), 400
# Скачиваем видео
@ -151,7 +151,7 @@ def download_stream():
logger.info(f"Получен запрос на скачивание (stream): {url}")
# Проверяем, что это VK URL
if 'vk.com' not in url and 'vkontakte.ru' not in url:
if 'vk.com' not in url and 'vk.ru' not in url and 'vkontakte.ru' not in url:
return jsonify({'error': 'Only VK URLs are supported'}), 400
# Скачиваем видео

View file

@ -3,8 +3,13 @@ services:
build: .
container_name: vk_downloader_service
restart: unless-stopped
network_mode: host
ports:
- "127.0.0.1:5555:5555"
volumes:
- ./downloads:/app/downloads
environment:
- PORT=5555
- GUNICORN_WORKERS=2
- GUNICORN_THREADS=4
- GUNICORN_TIMEOUT=360
- GUNICORN_KEEP_ALIVE=5

View file

@ -1,28 +1,9 @@
FROM python:3.11-slim
# Устанавливаем зависимости для yt-dlp (включая Node.js для JS runtime)
RUN apt-get update && apt-get install -y \
ffmpeg \
wget \
nodejs \
npm \
&& rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y ffmpeg wget curl aria2 nodejs npm && rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Копируем requirements и устанавливаем зависимости
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Копируем код приложения
COPY . .
# Создаем директорию для загрузок
RUN mkdir -p downloads
ENV PYTHONUNBUFFERED=1
# Gunicorn: 1 worker (последовательная обработка), без таймаута
# Порт берется из переменной окружения PORT (по умолчанию 5000)
CMD sh -c "gunicorn --workers=1 --timeout=0 --bind=0.0.0.0:${PORT:-5000} app:app"
CMD sh -c "gunicorn --workers=1 --timeout=600 --preload --max-requests=1 --bind=0.0.0.0:\${PORT:-5000} app:app"

File diff suppressed because it is too large Load diff

View file

@ -1,42 +1,6 @@
# Netscape HTTP Cookie File
# This file is generated by yt-dlp. Do not edit.
.youtube.com TRUE / TRUE 1766682211722 GPS 1
.youtube.com TRUE / TRUE 1801240447479 LOGIN_INFO AFmmF2swRQIgZPfEOdmfC8u5sHvE1aOagKEvp5rRUe5hRUeLiYmxLDwCIQDqFIR59yZ_aBb5BLYSpK7LGdJ6YZqnh32USuOyMZTC5g:QUQ3MjNmd0ZzX01fTjViQ2kzMDJEWG5Ed09zMGF1TlhJcm81YWt3WWdKS2RCZkY3Z2NmMVhudUF4MFVZdFlHd0YtaEU0R3VHNHQ3VmFSZHdfR1RIcnBJNUtXeWhKWVVScE1ZcXNJdzRfdkFGVi1lZzY2dWxCcVVGZ0FPSjNzVmFjTVg1YTBYS0xBajEzU1REM3dnbUc5U3E3NHVtLVRLLXRn
.youtube.com TRUE / FALSE 1766680454000 ST-l3hjtt session_logininfo=AFmmF2swRQIgZPfEOdmfC8u5sHvE1aOagKEvp5rRUe5hRUeLiYmxLDwCIQDqFIR59yZ_aBb5BLYSpK7LGdJ6YZqnh32USuOyMZTC5g%3AQUQ3MjNmd0ZzX01fTjViQ2kzMDJEWG5Ed09zMGF1TlhJcm81YWt3WWdKS2RCZkY3Z2NmMVhudUF4MFVZdFlHd0YtaEU0R3VHNHQ3VmFSZHdfR1RIcnBJNUtXeWhKWVVScE1ZcXNJdzRfdkFGVi1lZzY2dWxCcVVGZ0FPSjNzVmFjTVg1YTBYS0xBajEzU1REM3dnbUc5U3E3NHVtLVRLLXRn
.youtube.com TRUE / FALSE 1766680833000 ST-c5kgne itct=CKEDEIf2BBgEIhMI7ciKxJXZkQMVkHX2CB1YMhVxWg9GRXdoYXRfdG9fd2F0Y2iaAQUIJBCOHsoBBBx5ENY%3D&csn=-28VKqawlbGtJA_i&session_logininfo=AFmmF2swRQIgZPfEOdmfC8u5sHvE1aOagKEvp5rRUe5hRUeLiYmxLDwCIQDqFIR59yZ_aBb5BLYSpK7LGdJ6YZqnh32USuOyMZTC5g%3AQUQ3MjNmd0ZzX01fTjViQ2kzMDJEWG5Ed09zMGF1TlhJcm81YWt3WWdKS2RCZkY3Z2NmMVhudUF4MFVZdFlHd0YtaEU0R3VHNHQ3VmFSZHdfR1RIcnBJNUtXeWhKWVVScE1ZcXNJdzRfdkFGVi1lZzY2dWxCcVVGZ0FPSjNzVmFjTVg1YTBYS0xBajEzU1REM3dnbUc5U3E3NHVtLVRLLXRn&endpoint=%7B%22clickTrackingParams%22%3A%22CKEDEIf2BBgEIhMI7ciKxJXZkQMVkHX2CB1YMhVxWg9GRXdoYXRfdG9fd2F0Y2iaAQUIJBCOHsoBBBx5ENY%3D%22%2C%22commandMetadata%22%3A%7B%22webCommandMetadata%22%3A%7B%22url%22%3A%22%2Fshorts%2FL_ssdybrIEg%22%2C%22webPageType%22%3A%22WEB_PAGE_TYPE_SHORTS%22%2C%22rootVe%22%3A37414%7D%7D%2C%22reelWatchEndpoint%22%3A%7B%22videoId%22%3A%22L_ssdybrIEg%22%2C%22playerParams%22%3A%228AEBoAMByAMkuAQFogYVAV9WnuN4cdq_CrzWOW9SPJmZqqj_kAcC%22%2C%22thumbnail%22%3A%7B%22thumbnails%22%3A%5B%7B%22url%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FL_ssdybrIEg%2Fframe0.jpg%22%2C%22width%22%3A720%2C%22height%22%3A1280%7D%5D%2C%22isOriginalAspectRatio%22%3Atrue%7D%2C%22overlay%22%3A%7B%22reelPlayerOverlayRenderer%22%3A%7B%22style%22%3A%22REEL_PLAYER_OVERLAY_STYLE_SHORTS%22%2C%22trackingParams%22%3A%22CKUDELC1BCITCO3IisSV2ZEDFZB19ggdWDIVcQ%3D%3D%22%2C%22reelPlayerNavigationModel%22%3A%22REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED%22%7D%7D%2C%22params%22%3A%22CAUwAroBGFVDaEhvTmNZREV3TkVDNHlxTE1zd1Rfdw%253D%253D%22%2C%22sequenceProvider%22%3A%22REEL_WATCH_SEQUENCE_PROVIDER_RPC%22%2C%22sequenceParams%22%3A%22CgtMX3NzZHlicklFZyoCGAVQGWgA%22%2C%22loggingContext%22%3A%7B%22vssLoggingContext%22%3A%7B%22serializedContextData%22%3A%22CgIIDA%253D%253D%22%7D%2C%22qoeLoggingContext%22%3A%7B%22serializedContextData%22%3A%22CgIIDA%253D%253D%22%7D%7D%2C%22ustreamerConfig%22%3A%22CAw%3D%22%7D%7D
.youtube.com TRUE / FALSE 1766680920000 ST-12qny8p itct=CLsDEIf2BBgAIhMI5Mfy_5bZkQMVdKYnAh2_LhBIWg9GRXdoYXRfdG9fd2F0Y2iaAQUIJBCOHsoBBBx5ENY%3D&csn=jdKcWNZwnjJNcfRK&session_logininfo=AFmmF2swRQIgZPfEOdmfC8u5sHvE1aOagKEvp5rRUe5hRUeLiYmxLDwCIQDqFIR59yZ_aBb5BLYSpK7LGdJ6YZqnh32USuOyMZTC5g%3AQUQ3MjNmd0ZzX01fTjViQ2kzMDJEWG5Ed09zMGF1TlhJcm81YWt3WWdKS2RCZkY3Z2NmMVhudUF4MFVZdFlHd0YtaEU0R3VHNHQ3VmFSZHdfR1RIcnBJNUtXeWhKWVVScE1ZcXNJdzRfdkFGVi1lZzY2dWxCcVVGZ0FPSjNzVmFjTVg1YTBYS0xBajEzU1REM3dnbUc5U3E3NHVtLVRLLXRn&endpoint=%7B%22clickTrackingParams%22%3A%22CLsDEIf2BBgAIhMI5Mfy_5bZkQMVdKYnAh2_LhBIWg9GRXdoYXRfdG9fd2F0Y2iaAQUIJBCOHsoBBBx5ENY%3D%22%2C%22commandMetadata%22%3A%7B%22webCommandMetadata%22%3A%7B%22url%22%3A%22%2Fshorts%2FN0qGefDGh1g%22%2C%22webPageType%22%3A%22WEB_PAGE_TYPE_SHORTS%22%2C%22rootVe%22%3A37414%7D%7D%2C%22reelWatchEndpoint%22%3A%7B%22videoId%22%3A%22N0qGefDGh1g%22%2C%22playerParams%22%3A%228AEBoAMByAMkuAQFogYVAV9WnuPoQ-rLcmTTs6scHZ-JYaKVkAcC%22%2C%22thumbnail%22%3A%7B%22thumbnails%22%3A%5B%7B%22url%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FN0qGefDGh1g%2Fframe0.jpg%22%2C%22width%22%3A1080%2C%22height%22%3A1920%7D%5D%2C%22isOriginalAspectRatio%22%3Atrue%7D%2C%22overlay%22%3A%7B%22reelPlayerOverlayRenderer%22%3A%7B%22style%22%3A%22REEL_PLAYER_OVERLAY_STYLE_SHORTS%22%2C%22trackingParams%22%3A%22CL8DELC1BCITCOTH8v-W2ZEDFXSmJwIdvy4QSA%3D%3D%22%2C%22reelPlayerNavigationModel%22%3A%22REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED%22%7D%7D%2C%22params%22%3A%22CAUwAroBGFVDUXVDdkExSmpFVzhZRmpEM2hKOVppUQ%253D%253D%22%2C%22sequenceProvider%22%3A%22REEL_WATCH_SEQUENCE_PROVIDER_RPC%22%2C%22sequenceParams%22%3A%22CgtOMHFHZWZER2gxZyoCGAVQGWgA%22%2C%22loggingContext%22%3A%7B%22vssLoggingContext%22%3A%7B%22serializedContextData%22%3A%22CgIIDA%253D%253D%22%7D%2C%22qoeLoggingContext%22%3A%7B%22serializedContextData%22%3A%22CgIIDA%253D%253D%22%7D%7D%2C%22ustreamerConfig%22%3A%22CAw%3D%22%7D%7D
.youtube.com TRUE / TRUE 1766681517000 CONSISTENCY APeVyi9lOfhC2Ta5yM1yn4DTAYRRHcOo9i7wdXBcPbloVqCxTId1mvCwO3dFKSNLh3UHggSmH5xpiF33YG_7Agc-dpZgOmVYBH_698K8ZqGlitQrYuYLSbgf_TU
.youtube.com TRUE / FALSE 1767884327000 ST-1supwba session_logininfo=AFmmF2swRQIgZPfEOdmfC8u5sHvE1aOagKEvp5rRUe5hRUeLiYmxLDwCIQDqFIR59yZ_aBb5BLYSpK7LGdJ6YZqnh32USuOyMZTC5g%3AQUQ3MjNmd0ZzX01fTjViQ2kzMDJEWG5Ed09zMGF1TlhJcm81YWt3WWdKS2RCZkY3Z2NmMVhudUF4MFVZdFlHd0YtaEU0R3VHNHQ3VmFSZHdfR1RIcnBJNUtXeWhKWVVScE1ZcXNJdzRfdkFGVi1lZzY2dWxCcVVGZ0FPSjNzVmFjTVg1YTBYS0xBajEzU1REM3dnbUc5U3E3NHVtLVRLLXRn
.youtube.com TRUE / FALSE 1771971074000 ST-bvum61 csn=4GzEyTOTHuK_0tEJ&itct=CKgEEIf2BBgCIhMI3dzc8ZHzkgMVXw6iAx39fglgWg9GRXdoYXRfdG9fd2F0Y2iaAQUIJBCOHsoBBLFi_DM%3D&session_logininfo=AFmmF2swRQIgZPfEOdmfC8u5sHvE1aOagKEvp5rRUe5hRUeLiYmxLDwCIQDqFIR59yZ_aBb5BLYSpK7LGdJ6YZqnh32USuOyMZTC5g%3AQUQ3MjNmd0ZzX01fTjViQ2kzMDJEWG5Ed09zMGF1TlhJcm81YWt3WWdKS2RCZkY3Z2NmMVhudUF4MFVZdFlHd0YtaEU0R3VHNHQ3VmFSZHdfR1RIcnBJNUtXeWhKWVVScE1ZcXNJdzRfdkFGVi1lZzY2dWxCcVVGZ0FPSjNzVmFjTVg1YTBYS0xBajEzU1REM3dnbUc5U3E3NHVtLVRLLXRn
.youtube.com TRUE / FALSE 1771971074000 ST-1dsf764 session_logininfo=AFmmF2swRQIgZPfEOdmfC8u5sHvE1aOagKEvp5rRUe5hRUeLiYmxLDwCIQDqFIR59yZ_aBb5BLYSpK7LGdJ6YZqnh32USuOyMZTC5g%3AQUQ3MjNmd0ZzX01fTjViQ2kzMDJEWG5Ed09zMGF1TlhJcm81YWt3WWdKS2RCZkY3Z2NmMVhudUF4MFVZdFlHd0YtaEU0R3VHNHQ3VmFSZHdfR1RIcnBJNUtXeWhKWVVScE1ZcXNJdzRfdkFGVi1lZzY2dWxCcVVGZ0FPSjNzVmFjTVg1YTBYS0xBajEzU1REM3dnbUc5U3E3NHVtLVRLLXRn
.youtube.com TRUE / FALSE 1772057340000 ST-hcbf8d session_logininfo=AFmmF2swRQIgZPfEOdmfC8u5sHvE1aOagKEvp5rRUe5hRUeLiYmxLDwCIQDqFIR59yZ_aBb5BLYSpK7LGdJ6YZqnh32USuOyMZTC5g%3AQUQ3MjNmd0ZzX01fTjViQ2kzMDJEWG5Ed09zMGF1TlhJcm81YWt3WWdKS2RCZkY3Z2NmMVhudUF4MFVZdFlHd0YtaEU0R3VHNHQ3VmFSZHdfR1RIcnBJNUtXeWhKWVVScE1ZcXNJdzRfdkFGVi1lZzY2dWxCcVVGZ0FPSjNzVmFjTVg1YTBYS0xBajEzU1REM3dnbUc5U3E3NHVtLVRLLXRn
.youtube.com TRUE / FALSE 1772093274000 ST-1b disableCache=true&session_logininfo=AFmmF2swRQIgZPfEOdmfC8u5sHvE1aOagKEvp5rRUe5hRUeLiYmxLDwCIQDqFIR59yZ_aBb5BLYSpK7LGdJ6YZqnh32USuOyMZTC5g%3AQUQ3MjNmd0ZzX01fTjViQ2kzMDJEWG5Ed09zMGF1TlhJcm81YWt3WWdKS2RCZkY3Z2NmMVhudUF4MFVZdFlHd0YtaEU0R3VHNHQ3VmFSZHdfR1RIcnBJNUtXeWhKWVVScE1ZcXNJdzRfdkFGVi1lZzY2dWxCcVVGZ0FPSjNzVmFjTVg1YTBYS0xBajEzU1REM3dnbUc5U3E3NHVtLVRLLXRn&endpoint=%7B%22browseEndpoint%22%3A%7B%22browseId%22%3A%22FEwhat_to_watch%22%7D%2C%22commandMetadata%22%3A%7B%22webCommandMetadata%22%3A%7B%22url%22%3A%22%2F%22%2C%22rootVe%22%3A3854%2C%22webPageType%22%3A%22WEB_PAGE_TYPE_BROWSE%22%7D%7D%7D
.youtube.com TRUE / FALSE 1840832909 HSID AyQ5v_SYe7XVSwk4B
.youtube.com TRUE / TRUE 1840832909 SSID A6URSCEMDAehLdZmX
.youtube.com TRUE / FALSE 1840832909 APISID 8dbTFmLBSXBgxwR5/Aqxn9OCBXLwhMCr-P
.youtube.com TRUE / TRUE 1840832909 SAPISID T-VywQwW6YYwPZ05/AVcBJlwHBEyhqZuI6
.youtube.com TRUE / TRUE 1840832909 __Secure-1PAPISID T-VywQwW6YYwPZ05/AVcBJlwHBEyhqZuI6
.youtube.com TRUE / TRUE 1840832909 __Secure-3PAPISID T-VywQwW6YYwPZ05/AVcBJlwHBEyhqZuI6
.youtube.com TRUE / FALSE 1840832909 SID g.a0009ghwIHcIZqqcY1WV989v420rAlDDepZEj46RPYROUv0etocZfpJzYL10nsGcwt3tO1SfpQACgYKAcoSARISFQHGX2Mi8GOe9epkX1gj-mPmGiEkqhoVAUF8yKqrUaL07JB8aPrxKDzH094X0076
.youtube.com TRUE / TRUE 1840832909 __Secure-1PSID g.a0009ghwIHcIZqqcY1WV989v420rAlDDepZEj46RPYROUv0etocZUxys_3LZCIbQ68z8wQ2c_wACgYKAa0SARISFQHGX2MijinAP4ZtZI0DQThrXUqIpBoVAUF8yKpJ3DA2uat4crjoKJ6Yo6zB0076
.youtube.com TRUE / TRUE 1840832909 __Secure-3PSID g.a0009ghwIHcIZqqcY1WV989v420rAlDDepZEj46RPYROUv0etocZGrDGBah2HczPmxnQjYdK1gACgYKAQQSARISFQHGX2MiACXkSAqve--bS36VrXAmBhoVAUF8yKrUoj5-724_fZGNhKeh8uds0076
.youtube.com TRUE / TRUE 1791136352432 __Secure-BUCKET CMoC
.youtube.com TRUE / TRUE 1793312896 __Secure-YNID 18.YT=kZLd9ecftHf18l5BUM_PFt6TXFNyMV5Nrka7bly97iA8f-psa9ha5DWmRmQSUzQRIfbiEoZ-RXeTw9IwgSWh5KLafRfZ9G8RgoXgoCnFvqeZrYclpbVjM3oc-97z9Q8Dt9n1BBJ37qbHuUjRqHafR2RXkJDlPa3EKqkmA7DIUSLwwu6XhIuJZ8aSIo36ci-KXL2w6XO1qaDVQG6FK7k5J3714s86d45YL0h_vwtlVVayUEtgLX4UL-kAqBaOkUt-ZuhhzfayX2z-JUVu_U2fl8lhNUfbKDbVgeFT1eLGQIrGprZAeQP9QK-y383E2ZAW3tSVB-OT2-WST2I8tN557w
.youtube.com TRUE / TRUE 1793312896 __Secure-ROLLOUT_TOKEN CKPS2eDK6Lu50QEQwdv1spXZkQMY4vDstdOblAM%3D
.youtube.com TRUE / FALSE 1776287761000 ST-yve142 session_logininfo=AFmmF2swRQIgZPfEOdmfC8u5sHvE1aOagKEvp5rRUe5hRUeLiYmxLDwCIQDqFIR59yZ_aBb5BLYSpK7LGdJ6YZqnh32USuOyMZTC5g%3AQUQ3MjNmd0ZzX01fTjViQ2kzMDJEWG5Ed09zMGF1TlhJcm81YWt3WWdKS2RCZkY3Z2NmMVhudUF4MFVZdFlHd0YtaEU0R3VHNHQ3VmFSZHdfR1RIcnBJNUtXeWhKWVVScE1ZcXNJdzRfdkFGVi1lZzY2dWxCcVVGZ0FPSjNzVmFjTVg1YTBYS0xBajEzU1REM3dnbUc5U3E3NHVtLVRLLXRn
.youtube.com TRUE / TRUE 1807824503515 __Secure-1PSIDTS sidts-CjUBWhotCSAL5EMsgNfc0JD8UVvU5vyCYbx9ZFc0Nnry9Qc7YHRzl6a7o8Zm6bPYHoFyKALKlBAA
.youtube.com TRUE / TRUE 1807824503517 __Secure-3PSIDTS sidts-CjUBWhotCSAL5EMsgNfc0JD8UVvU5vyCYbx9ZFc0Nnry9Qc7YHRzl6a7o8Zm6bPYHoFyKALKlBAA
.youtube.com TRUE / TRUE 1793313256 VISITOR_INFO1_LIVE vFr43YvHJaE
.youtube.com TRUE / TRUE 1793313256 VISITOR_PRIVACY_METADATA CgJSVRIEGgAgMg%3D%3D
.youtube.com TRUE / FALSE 1776288519000 ST-tladcw session_logininfo=AFmmF2swRQIgZPfEOdmfC8u5sHvE1aOagKEvp5rRUe5hRUeLiYmxLDwCIQDqFIR59yZ_aBb5BLYSpK7LGdJ6YZqnh32USuOyMZTC5g%3AQUQ3MjNmd0ZzX01fTjViQ2kzMDJEWG5Ed09zMGF1TlhJcm81YWt3WWdKS2RCZkY3Z2NmMVhudUF4MFVZdFlHd0YtaEU0R3VHNHQ3VmFSZHdfR1RIcnBJNUtXeWhKWVVScE1ZcXNJdzRfdkFGVi1lZzY2dWxCcVVGZ0FPSjNzVmFjTVg1YTBYS0xBajEzU1REM3dnbUc5U3E3NHVtLVRLLXRn
.youtube.com TRUE / FALSE 0 PREF tz=UTC&f7=100&f6=40000000&hl=en
.youtube.com TRUE / FALSE 1776288527000 ST-xuwub9 session_logininfo=AFmmF2swRQIgZPfEOdmfC8u5sHvE1aOagKEvp5rRUe5hRUeLiYmxLDwCIQDqFIR59yZ_aBb5BLYSpK7LGdJ6YZqnh32USuOyMZTC5g%3AQUQ3MjNmd0ZzX01fTjViQ2kzMDJEWG5Ed09zMGF1TlhJcm81YWt3WWdKS2RCZkY3Z2NmMVhudUF4MFVZdFlHd0YtaEU0R3VHNHQ3VmFSZHdfR1RIcnBJNUtXeWhKWVVScE1ZcXNJdzRfdkFGVi1lZzY2dWxCcVVGZ0FPSjNzVmFjTVg1YTBYS0xBajEzU1REM3dnbUc5U3E3NHVtLVRLLXRn
.youtube.com TRUE / FALSE 1809297256 SIDCC AKEyXzVsS5YLUQD8z9C1v-mL2JIyS_lqX6qpnZKQ_AFrB5WfKI8t61IDvWwihKLswvR3ya_Y2JOP
.youtube.com TRUE / TRUE 1809297256 __Secure-1PSIDCC AKEyXzXDaKBNexbPjEPwCB8IDGZRrPTCTOVNDWgBRtsKv5XcaCCg5JxpeRXlk2gX4lidlrONyC52
.youtube.com TRUE / TRUE 1809297256 __Secure-3PSIDCC AKEyXzUF0D1vjEN7XqU2ReXIRFuti0YZjmliSwyRcCUSq5rUlGmYoYmzjSngu8HtDmEiioigkUI9
.youtube.com TRUE / FALSE 1776288585000 ST-3opvp5 session_logininfo=AFmmF2swRQIgZPfEOdmfC8u5sHvE1aOagKEvp5rRUe5hRUeLiYmxLDwCIQDqFIR59yZ_aBb5BLYSpK7LGdJ6YZqnh32USuOyMZTC5g%3AQUQ3MjNmd0ZzX01fTjViQ2kzMDJEWG5Ed09zMGF1TlhJcm81YWt3WWdKS2RCZkY3Z2NmMVhudUF4MFVZdFlHd0YtaEU0R3VHNHQ3VmFSZHdfR1RIcnBJNUtXeWhKWVVScE1ZcXNJdzRfdkFGVi1lZzY2dWxCcVVGZ0FPSjNzVmFjTVg1YTBYS0xBajEzU1REM3dnbUc5U3E3NHVtLVRLLXRn
.youtube.com TRUE / TRUE 0 YSC KTvrS45hA30
.instagram.com TRUE / TRUE 1801240452128 datr hGdNaS-QqakSYV8X2eqVTIyA
.instagram.com TRUE / TRUE 1798216452128 ig_did 2C886E85-30B9-4495-B882-D9F545DF28E4
.instagram.com TRUE / TRUE 1801240453000 mid aU1nhAAEAAGuKRzTGE9SdmhLzZ5Z
@ -49,4 +13,77 @@
.instagram.com TRUE / TRUE 1784064574939 ds_user_id 42059678244
.paddle.com TRUE / TRUE 1767873458801 __cf_bm kyvXKCFXO7PSDduU6JPNr6Ir2Erz.SSEgs9otf4WVVI-1767871658-1.0.1.1-zr41azuyHRb5xBt5aQUyjvYKNeH6aPQ1bzhDzHbuVvUQJrNn4GWWn2q6vpiKjMOLOaasz5FP7sRzRylD8i4WdvhAvy.co9MGPEFA6xMKO0E
firefox.autorefresh.page FALSE / TRUE 1772117935856 app_session eyJpdiI6IjlmckZ0bkdVZUJ4SXgwZUh4Vm9FVXc9PSIsInZhbHVlIjoidmozQTZmWHJ3dlBxdHBETy9ZWUJmTkkvbTFGdDM4dlhRS0VvSnBSM2RNZ3dPaStSbUJXTTNCMVRnZE84UW9XUXB5NVlzUVZ1MEYxZHg5OTdtMjhUSWg1UCtXV1h0UTlkS1lGblFKQXRzK3dDQ1RUMUxzd0tKUFZ2UmpQaSs4OEIiLCJtYWMiOiJjZjY4YmVhMWMwOTRiNzI1MzkwNjdhOTllZGYyMWE2NGI1NDVmODFkZmU5ZDk5NmMxMWYyNTA3YjExMDY2M2ViIiwidGFnIjoiIn0%3D
.facebook.com TRUE / TRUE 1784064559497 fr 0AcR44m5KTXADbTc8.AWehfS67NxYY9SrAf1c-itas_z26hWpd9OyZ9HwNKd41qG_Mxag.Bp4AMv..AAA.0.0.Bp4AMv.AWdIcrGHWEZWg8TB5d4kBwxLyHA
.google.com TRUE / TRUE 1793956296355 AEC AaJma5ujEHtwwu426QfYJYS1u___e4k45nnyXypfttr-bHMS4gkXvLQHHpI
.google.com TRUE / TRUE 1793956296355 __Secure-BUCKET CKgD
.google.com TRUE / FALSE 1778415106513 GOOGLE_ABUSE_EXEMPTION ID=7464237b22409821:TM=1778404306:C=R:IP=89.111.27.33-:S=GjXiSvGnm4v6eztkSSfaKXg
.google.com TRUE / TRUE 1778404617984 __Secure-STRP AEEP7gIoxfZ4dhqrI6bdyKj9-zf8aRnoToi4o65DGWOO1NhXXWHxnr85Vonuw4yu2Krlm4xRKi5kam7KVEdxACQRt2Zv993YC-v2
.google.com TRUE / FALSE 1793956418000 SEARCH_SAMESITE CgQI56AB
.google.com TRUE / FALSE 1813436107561 HSID AZbmeMqR5tYb_Qvq7
.google.com TRUE / TRUE 1813436107564 SSID AE4gWoWznYB_ywXCC
.google.com TRUE / FALSE 1813436107564 APISID 29VneHfJm4ayiIDC/AulmGROlxxpjqDQ3I
.google.com TRUE / TRUE 1813436107564 SAPISID ZMuzHsMj98vPCMyJ/ArsbIyY--iqLkvtUV
.google.com TRUE / TRUE 1813436107564 __Secure-1PAPISID ZMuzHsMj98vPCMyJ/ArsbIyY--iqLkvtUV
.google.com TRUE / TRUE 1813436107564 __Secure-3PAPISID ZMuzHsMj98vPCMyJ/ArsbIyY--iqLkvtUV
.google.com TRUE / FALSE 1813436107564 SID g.a000-AhwIKfnU_xfjF03z1a3MWhcI1Hql4mPVyVvqfLa_st6_TfXfFBugDSmLD2HMYMk8CXFewACgYKARESARISFQHGX2MitNuTeeVBSF7CijFkj1Hc7hoVAUF8yKpvT4_7yGAQB3j-kMyKrdPm0076
.google.com TRUE / TRUE 1813436107564 __Secure-1PSID g.a000-AhwIKfnU_xfjF03z1a3MWhcI1Hql4mPVyVvqfLa_st6_TfXg1H6-6-cMspTM3qWNFrKBQACgYKASkSARISFQHGX2Miikxcnz7qwbhoy4ZmrPmlHRoVAUF8yKr7kVycIEgX3VNAejJQp5d50076
.google.com TRUE / TRUE 1813436107564 __Secure-3PSID g.a000-AhwIKfnU_xfjF03z1a3MWhcI1Hql4mPVyVvqfLa_st6_TfXp7rOiQ1cmq6CcZfRmoWFKwACgYKAeMSARISFQHGX2MixryF_qgLOtpAj2YrqYUCfhoVAUF8yKpS9-bnBgImbgJi0LyQYd1T0076
.google.com TRUE / TRUE 1795082095750 NID 531=UFytwvIl0ZqsUHFXvBOjcpU6U8KWUJrqwv-JvL-kGoLQ25Sm5vY3IeiUxx2962W9Ta1lslWlWy7d3CAt1Z3I7uSognzMfftiN5K_dVm1qRMiSfDffUfiOtsFS8eZkczNfBhtUSdTRiCW1QuoU4IsTzj7KUK-AJ7UQpIJi4Cl1VNvyFV5lHI9HonmVPzp3D2UgHlfkh0xBf3WQWBz7wLnl2CFXFXnOm2EldDvnR16KydJ_rjSUnGfc6_EyOlfDi7sZ8Snj2XnpRcBGKk9V8tGkm5ppFc95E0IrxHcdLQJBTQNHu6-ZT3PPGycNBjwhbQy8lQiXz6UPoZmPruBoc0HV5v5GYs_neagJSIF0z2TXpwn318uMaPSFhCHZx3gF_eSJMM8oxtmr5QwjCnC5Pp0IoIvKOz_yyqWVBGZhwepAj5rKiUta8KZHbr-vNl15v-2p1mV2KdpZewBiGkPswjAQwWYg4fMMgBi8WQqD4IvA-9nzA4R2gDj5sOWJ8meTTg5tkq7DdbOP92U-J6Ul71LKq3FwwFK4kQfVwOxWL2UcHgd2bib3fPBpEEhdKPCIv4lUifhCaLp64mSzGYyvgGM20cCkEqXDIWYsxP3UeTRotVgmmHhvCQ_WhVA-0fcVLFFCAHtwxYeUviIcd37bohb3AGDzMhDj15PEgLtxDfM7RgWdbOfTIYOhdwEO5iHEl28RpodCT0qtF9YbYxoZGXPajgbpzU
.google.com TRUE / TRUE 1810890816743 __Secure-1PSIDTS sidts-CjEBhkeRd_-LvZ5Zg9j_DUYlFxYF93J1RiAbWunLifxePeMFWFMlE9sfnGOpXg3vq5nAEAA
.google.com TRUE / TRUE 1810890816745 __Secure-3PSIDTS sidts-CjEBhkeRd_-LvZ5Zg9j_DUYlFxYF93J1RiAbWunLifxePeMFWFMlE9sfnGOpXg3vq5nAEAA
.google.com TRUE / FALSE 1810891252698 SIDCC AKEyXzVzicRDz2q4NBYxew1k2_2EKE1BrRD9e5Yj12zgxFTSjbh2hj_Ac75bUtE_kwWAoJW-Ags
.google.com TRUE / TRUE 1810891252698 __Secure-1PSIDCC AKEyXzWlYR10DYiqeFilF1UwP6z5oV7V1X0Yt-wAcV2IVrtWSNaeGQy7_OK4Pn5TwrmoGf1Si25a
.google.com TRUE / TRUE 1810891252698 __Secure-3PSIDCC AKEyXzXX0qGkkXvppfikPcpH8OyHehXmtSrkHyg2QMDIXInspv7bWcD_6fU9iMKYpvb6yrIIy_Yh
.google.com TRUE /verify TRUE 1794215497053 SNID AEDUgYbS6t3ds0u85ixPJQngAxX0_xZUL7a3aggsVG9siQ-va5ewFW_x4GjzWUSLeLL0bnHmsKFRCFRlkqYO0o8iMY0ylCCYhgM
www.google.com FALSE /recaptcha TRUE 1793956309759 _GRECAPTCHA 09AKhCRwiDW_fB_EMDYSz2ihlZ7oz4N9f3T6ZyAt_DTpbeImhKVAo6hL_9xhdrwc80QvGt8zoqVhVL0onLGup1YBo
www.google.com FALSE / FALSE 1778404917000 DV s2Jea-aA6XUgQIF0XFQkBVjtboUS4VnDPM3RSFa0BQMAAAA
amnezia.org FALSE / FALSE 1794172320000 _pk_ref.1.ec26 %5B%22%22%2C%22%22%2C1778404320%2C%22https%3A%2F%2Fwww.google.com%2F%22%5D
amnezia.org FALSE / FALSE 1812359520000 _pk_id.1.ec26 fca74fa6c0147537.1778404320.
amnezia.org FALSE / FALSE 1778406125000 _pk_ses.1.ec26 1
accounts.google.com FALSE / TRUE 1780996393000 OTZ 8601673_44_44_123780_40_436260
accounts.google.com FALSE / TRUE 1812964413928 __Host-GAPS 1:B6GlYJ_WdyuLJYjf5YRaGCcD7rXk5RTq4HN9-W0PTPA0EIjL-B8oGDVLMFQK-ucl4A2fCUMDISVN8SDy1FdMT6KOd3NvJA:clOB3o9ku4U2b_c1
accounts.google.com FALSE / TRUE 1812964413928 SMSV ADHTe-DsjXpTrtrda4vdYOVDIZ8zRZT0kpi1UNRM3zxuhXtzF1JBrMQzZqt-nWLkSOae4egW0apH7eWQDES_VrEYYfJ26cZyRWvITSmqSf-n1NoTM2X_Fio
accounts.google.com FALSE / TRUE 1812964414088 ACCOUNT_CHOOSER AFx_qI5jVzeLVNAOJ9mR6IXi7LNPDUP6FoIG6ClzTLhkAGykwS7dGx6AihZbZnveMfqeF8xOT6hreJh-5GKE1dls7txTFNNYaWW46Nw-gZAT1P0PnJQExrFwsQsfky2LqwXz7cDw8bX3ln-V1mZRuJkuVqCxy8PyAg
accounts.google.com FALSE / TRUE 1812964440647 LSID o.chat.google.com|o.mail.google.com|o.meet.google.com|s.RU|s.youtube:g.a0009whwIGF9mC8b8qBwIClhgEZFyHr4Rq4bn8l32V9f0zeIDQWFhA6Z-kRv-x1u1dqNuzl-cwACgYKAcUSARISFQHGX2MieEgGVtxXuIUtjbzxfxiMExoVAUF8yKqUTnKuHX2X3kH7Uq5pNVIb0076
accounts.google.com FALSE / TRUE 1812964440648 __Host-1PLSID o.chat.google.com|o.mail.google.com|o.meet.google.com|s.RU|s.youtube:g.a0009whwIGF9mC8b8qBwIClhgEZFyHr4Rq4bn8l32V9f0zeIDQWFoUHWtKibj2lS56wrQhTpYgACgYKAU8SARISFQHGX2MiZlEuU0vmGwgRq0aGiWQXEBoVAUF8yKrxxr5oINBT6vP7i3mBGb1n0076
accounts.google.com FALSE / TRUE 1812964440648 __Host-3PLSID o.chat.google.com|o.mail.google.com|o.meet.google.com|s.RU|s.youtube:g.a0009whwIGF9mC8b8qBwIClhgEZFyHr4Rq4bn8l32V9f0zeIDQWFZ_iWMJPFn34sx5dIK-1IqAACgYKAQQSARISFQHGX2Mixfz8oTSpOjugcI6mgJaZOBoVAUF8yKrcYX6ONy4TbG9Q51aFyv2z0076
mail.google.com FALSE /mail TRUE 1779268414841 COMPASS gmail_ps=CrMBAAlriVffIAHOcbwLKxw82DFHMAFFBBdJRx54IGpsLubMlKvrJFgLAUMeW0uCOXj9FpYDWorA_cgtMyIrIMdQ0Rcsi4161w2R4Z3nyd_uraFfEo1G0i9BV0xsqz0mbJL7nysbJCJ9HKAV0FCMQkzmO8g86BHMDaSzp-1sdCWCbGNjU5POMkySDzM-sn25-iFBgVwtSncpqMJJjZ5T5dT9glVQU21xmV0MIiychMxEj7wXh6QQ_LqG0AYa6gEACWuJV-XHQThSTjU0px5eSprcf2SF6nl7SnMwhTku6s96Bw4ipAxrkg84RGEuWVERB08yO8n2CDk5PbX8xrXwureDzasX2UN09krYVTMOm0ZqQoJIV5gL4afzCQRmD8D-11lXjv1ngTKWi5bxOHHXjNaDG4SSbC2oABv2ykQAOiyY8aUE8GNCjYOTnJgMf3_7XmA5obGaSjEmhIYXICK7OQjdufzLLf3q7wku8_4aknTKJVjO_5a2_rc__bJdSR9s3xQTFnLVYlyn0bO4me3sWUdMd-enAlTMqYBUDv15gmCp0AScVRX3A0owAQ
mail.google.com FALSE / TRUE 1780996415228 __Host-GMAIL_SCH_GMN 1
mail.google.com FALSE / TRUE 1780996415230 __Host-GMAIL_SCH_GMS 1
mail.google.com FALSE / TRUE 1780996415230 __Host-GMAIL_SCH_GML 1
mail.google.com FALSE / TRUE 1779268419976 COMPASS appsfrontendserver=CgAQ07SB0AYaewAJa4lXcZMcX7MMXP_l_kqt_9_sckql7O7vfboUgIxNJVYHEuUkykcNPS_SFDYwO4YHfOI_8tMVe21ppDll3gQDGnr1tmraorrLmosDvQJXfpjvk8-90bBg_gXatn4jGizBVab_jibgd_5D-zhNJhKGcXhL3YKsw3Dl3yABMAE
mail.google.com FALSE / TRUE 1813436107564 OSID g.a000-AhwIJ9Zi54fxErD9GDllWL2nxtfwpoLszg9W8gw23voeOO0SsiSFzoKLeGJ_Pw20l1jHQACgYKAWMSARISFQHGX2MieaVvbDV1rMJZeyZQDlmtrRoVAUF8yKq7uokDCUURG7lQYcCKi-1q0076
mail.google.com FALSE / TRUE 1813436107564 __Secure-OSID g.a000-AhwIJ9Zi54fxErD9GDllWL2nxtfwpoLszg9W8gw23voeOO0m4h6QqN_dp4YzoWnhoEogQACgYKAXUSARISFQHGX2MibO8sh8oG7EORDGI7S4p0HRoVAUF8yKpnHKRLohB6RZ45z_Y9PHkW0076
mail.google.com FALSE /sync/u/0 TRUE 1780150904636 COMPASS appsfrontendserver=CgAQ07SB0AYaewAJa4lXcZMcX7MMXP_l_kqt_9_sckql7O7vfboUgIxNJVYHEuUkykcNPS_SFDYwO4YHfOI_8tMVe21ppDll3gQDGnr1tmraorrLmosDvQJXfpjvk8-90bBg_gXatn4jGizBVab_jibgd_5D-zhNJhKGcXhL3YKsw3Dl3yABMAE:bigtop-sync=CsMBAAlriVeewMZI6-LAeBh6WXwenM_9wqc2cBTx6hnc0EN3Zfzlp4ZSvvo9kgvrPG6iFg8_Xczbg98G_pULUQjgIaQPSk5pm77vi_ZgrenL1M2uHDy0Qh7hT9lLLN01ScwjXe3J4AA0mw0UWtXwPApySzHkSGOQdqvAltDqZn0DV4cXXGOwy6JRJLaRfPjRiChvuoaxmquYpGlZ66tpR57U1tU6CHUBgaIvvbDqEXxN-Lots7pnoj4k8f3vIBBQmi58oOSyEN-lvNAGGvoBAAlriVdiIFetSftmMAWJHkiEyeyjo4lQSrKAa-GDhQxMDvUBYpflWK1QoOags3rO5YiJAqNEvFJtLsiLEcNMc1QYJOvP4mNPRSwShO-2L-ncL18ukT4yz_w5KdzVL-7wjo92eIMHrLCE0HriqRNhTVZP5Vze4hTahwQzbppd9eyJ3jx26Aq6GDxEWCxvq7Hg35ROf1L70OeCaGNhNONdVFcfvXJQGdM1-KLHxLg7neptLZYdvIU7tJj-m9x1z7mM76N-mizcqYG7A_wChonYBP_vMo8z9QQneLjo9v_FcfQO4ToD89vxCTXFKAszYWHm7KaByDKk-o-oZTAB
mail.google.com FALSE /mail/u/0 TRUE 1780218898671 COMPASS gmail_ps=CrMBAAlriVffIAHOcbwLKxw82DFHMAFFBBdJRx54IGpsLubMlKvrJFgLAUMeW0uCOXj9FpYDWorA_cgtMyIrIMdQ0Rcsi4161w2R4Z3nyd_uraFfEo1G0i9BV0xsqz0mbJL7nysbJCJ9HKAV0FCMQkzmO8g86BHMDaSzp-1sdCWCbGNjU5POMkySDzM-sn25-iFBgVwtSncpqMJJjZ5T5dT9glVQU21xmV0MIiychMxEj7wXh6QQ6ZW80AYa6gEACWuJV-XHQThSTjU0px5eSprcf2SF6nl7SnMwhTku6s96Bw4ipAxrkg84RGEuWVERB08yO8n2CDk5PbX8xrXwureDzasX2UN09krYVTMOm0ZqQoJIV5gL4afzCQRmD8D-11lXjv1ngTKWi5bxOHHXjNaDG4SSbC2oABv2ykQAOiyY8aUE8GNCjYOTnJgMf3_7XmA5obGaSjEmhIYXICK7OQjdufzLLf3q7wku8_4aknTKJVjO_5a2_rc__bJdSR9s3xQTFnLVYlyn0bO4me3sWUdMd-enAlTMqYBUDv15gmCp0AScVRX3A0owAQ:gmail=CsIBAAlriVccNx06pbIAWSI37Uq4CShCPg0egAH7eAqsKRkCNpg9t5hzIP7hI18i00eUUE4CihgPdAQ5yskCrxM2RdXQXTxPyUo-5H44PqwhBmxLq3ST-iZaFMLiblHTJEUP9mRg8k-tky8_596h9pJ18JACGJsqVOg6Rk_vxmGHQ_nMHWQKcDGUJJ_aHWlWLExmubsSVqjD6E93IaxFbOQK2rCJpnZzzLN62OMSUCegAL1qfYP-35zbhVgipxygGsMd4RUQv7_A0AYa-QEACWuJV5p-CjJvagUuzoNmxqe6Nqnlx7T35uRISQtzDjb3IK7jMf4fwl1E7MdO78Iup5Aa3BlkscMu8SnPKyiPsQzoKTmSMA-8J3qrQNOPP-biMs4QO3XXe_THlNa8-jBz6iICSdoFVokuhjax8Yt9NsoABqrVNVPY0B2M_WUEm3wvggdJ4JB8gqclSRNAC4Pgng6gFAu1zIJb9Qf3WPX_5sq2pwV4TrkBcEHxDouiqZVuLd7tEBwQX9gblXq4see_gIdI_l2NhTV11wRrKzIZQLlP-3xp-vG92P9Ove-bY-4xNToBol3ktJ8LEA4BqJmdL4v7Qb9XRiYwAQ
chat.google.com FALSE / TRUE 1812964416060 OSID g.a0009whwIIXQNdC6qpPY4RRVOXKyc9FGmkI3xHGaVqZhqvqg-AxjfKiBVoPP522JR-Sd7vKvBgACgYKAQcSARISFQHGX2Mi2G3j0oSCBWzco_fpaTag-BoVAUF8yKpzzAUVmYzl68rtcTxoF25e0076
chat.google.com FALSE / TRUE 1812964416066 __Secure-OSID g.a0009whwIIXQNdC6qpPY4RRVOXKyc9FGmkI3xHGaVqZhqvqg-AxjffAG33KMENiO9cXPZERaHgACgYKAWISARISFQHGX2Mi0_SLBnqoB6-GyawqkhB48xoVAUF8yKpJjXR03PK-RCfGrQHrwwzP0076
chat.google.com FALSE / TRUE 1780996420000 OTZ 8601674_44_44_123780_40_436260
chat.google.com FALSE / TRUE 1780215762299 COMPASS dynamite-ui=CgAQ4p270AYaZQAJa4lX0PHy33nrOUkzsKPzJs2IEKDv1E-1Dht6FlJ9P-ZtWAzeV4LoJZ20C2gy0KoyKGWikyN95Q4k92jIzHHx0GSTBZVmuSgM6QG0b1PObHpZUmILLwlvlax5CEyUwRooEFqqIAEwAQ:dynamite-frontend=CgAQ9Jy70AYaZAAJa4lXTSV5k0rMqXDsdd8Sm7zGTDKws42hwXrHQK23723aulxD0HiUtc5B8VbGLgnRQbkxcOHFNcaqi8G91bC28Mu6mh76H0ZPXG4kzN5BZ6SmO1AO3HxuHrGn45wANDE-HoYwAQ
chat.google.com FALSE /u/0/webchannel/ TRUE 1780217746257 COMPASS dynamite-ui=CgAQ0LSB0AYaZQAJa4lX0PHy33nrOUkzsKPzJs2IEKDv1E-1Dht6FlJ9P-ZtWAzeV4LoJZ20C2gy0KoyKGWikyN95Q4k92jIzHHx0GSTBZVmuSgM6QG0b1PObHpZUmILLwlvlax5CEyUwRooEFqqIAEwAQ:dynamite=CgAQoq270AYahwEACWuJVz8m-bFvg7avN7tfl-NhirF79lEv-zZegMHN2AU7VUdlMiC3NqSIQlrFMKbyWeVJqDjZgP8wQ2tYk-lBtqnb4XjVBsMUTXKxC-umAP6o1HjdZV7FUW_L_H8vkLwYOqOmdshEkD4CixDkarcYX-e21aME0fwtzXGz6sXKtNkPW-p624EwAQ
ogs.google.com FALSE / TRUE 1780996422000 OTZ 8601674_44_44_123780_40_436260
contacts.google.com FALSE / TRUE 1780996427000 OTZ 8601674_44_44_123780_40_436260
meet.google.com FALSE / TRUE 1812964440744 OSID g.a0009whwIOnMBVgT1YTsd63h54w5OIENqUO6BZs4NHLfGDNGbHi6t4FU8xeTkmULgi16ZYzHNgACgYKASASARISFQHGX2MiA4ELStx6GN3y7Aq3EN3nrxoVAUF8yKqDyxuTCLOfD8ueJ7MgcuiD0076
meet.google.com FALSE / TRUE 1812964440746 __Secure-OSID g.a0009whwIOnMBVgT1YTsd63h54w5OIENqUO6BZs4NHLfGDNGbHi60J_AeNGuTT1kq7D_v9yLUgACgYKAQwSARISFQHGX2MiAgAb_QG2r06F7gU81wcR_hoVAUF8yKrD_SGVMxcdqWDC6g3asSak0076
meet.google.com FALSE / TRUE 1779268440910 COMPASS meet-ui=CgAQsJ2B0AYacQAJa4lXSoz8LRFky3cJhYFO5acVt1M88JXUofFd7Bt7GPiuJ1lgy3WKVKJgW9sFuLuioPHnoSUafDcgQ270cmJF_wo3BMiv31U_zXYyzapPiCtiTtn_w8-nHcAUOPb_dFypHoqHzzsuYUHo73gIjBGnMAE
meet.google.com FALSE / TRUE 1780996441000 OTZ 8601674_44_44_123780_40_436260
.first-am.ru TRUE / TRUE 1778405196000 _sas.ca3141d462a5d666c3e8fee89bb793f2b5f8aa3cfdeea7d629a1d6f0d9bc44d9 SA1.98feab1d-a04a-4eee-ab55-65b8d10a41f1.1778404593.1778404593
.chatgpt.com TRUE / FALSE 1809508769842 oai-did bdcd7dde-b637-4999-a5ea-02434b01fe60
.chatgpt.com TRUE / TRUE 1809940897692 cf_clearance 0PgOpUDpzT8RBlYa2TV9tXhLJQbON5A72.Q50yF1G.0-1778404897-1.2.1.1-gKS0ghb4VD_8wHSA3vdEYcoHdXg7guxD8LZRvZjG0Q7Hv.beUtfzzdM2BIyFpZeskFyom1yE3sK0ZhLi5MIF9BTO2eO.c8ccZpIvrVFlhVblO5uGpsusL7UkgCIPcFOQMlUnQTCZv0ujF6zevC2HyxO8sxDBl3kqmbXJeJDa_Fw.dPLTJgAbcGGyc1Kcd8DBbzJzKilWPlUSunJJC2G5a3FoqfJSIMS.UaJegkhxo_ibpGkgA2QmZZ5fEOyb7AnNazeSYdvx5a.iiA6DbtsXfQWAvr7UTVLYN7EVWMQpQ8yqfJLydcev4viT2Nf.q787miHij54J1XhMJFX1_fwpew
.chatgpt.com TRUE / TRUE 1809940900983 oai-sc 0gAAAAABqAE4kYiLfUjbRc2xSXOQ_80W52mgsGlShW65bpX8DpvSHLCkJbgPrKZKafXAiqbOJmkST9SBsstyp48su9yZjqNMW7jLcgf2C0ZN5jaopMCyqLqlk0Hci46y6QPBh_dnXHRBWcABYVNZEmk_fAlK2P91lUq7MSzomAINUUqKjsBoeGCHIYcKGkuKtAKPxRm1foTuxslexAiyp1usAs7QB-rjQm0pV0mob9-cunOEACPa30_M
.chatgpt.com TRUE / FALSE 1793956902763 oai_consent_analytics true
.chatgpt.com TRUE / FALSE 1793956902763 oai_consent_marketing true
.chatgpt.com TRUE / FALSE 1793956902764 oai-allow-ne true
.chatgpt.com TRUE / TRUE 1778864508851 __cf_bm XHODcczujoJbi3ArOgBxMkAVHm53K.wzhsAgC6H7J2w-1778862709.1585546-1.0.1.1-mJPiuKAlCE6Pp.3u5Qm0mTqoUIuMFBGLep8SELbqy1zw_JWBsh7p9QMB7qQ286bP4ZjBl9TMx8X7HXMqdM2xvMCJYokZOQV5JaohselVrlsUtEBZz3.fwLrGNGIdrNGW
chatgpt.com FALSE / FALSE 1779009569842 oai-chat-web-route "ChMxMC4xMjguMjI5LjEwNzozMDAwEPm5oQE="
chatgpt.com FALSE / FALSE 1793956899000 g_state {"i_l":0,"i_ll":1778404899504,"i_b":"ELKRdJBKNN/mBa5HeveE9Qk2Ct6jgVz42UvSBHh06Cs","i_e":{"enable_itp_optimization":0},"i_et":1778404778504}
chatgpt.com FALSE / TRUE 1778866309246 __cflb 0H28vzvP5FJafnkHxj4bgBpHuC4ehSRtoje5uosSyo9
www.tampermonkey.net FALSE / FALSE 1779467486514 geo LV_UNKNOWN
www.tampermonkey.net FALSE / FALSE 1779467487073 _dtm p_
.youtube.com TRUE / FALSE 0 PREF hl=en&tz=UTC
.youtube.com TRUE / TRUE 0 SOCS CAI
.youtube.com TRUE / TRUE 1796431357 __Secure-YNID 19.YT=isEmmtHSC21zVpTt4IRSfL7unp3ffGoSLnfCSQuPaS1_zsJm2uaOpM6x6B07-GgRJWjcCobrfDTYfEaLtQtuhuC-AG_VbLpl5ufiehuf1jTLK_6e-QcxaEPq23s3xxyeZtchb1DACsSbJ8BL3y6EXkZ_xR3iojrLjbFuiKauOvsJKTeTMUTpnrD1WPnFlreSdYR2d9XapogEjF5wd1xGAuJDKPpCgRxcVLsE7ArfixoElOAdSpUYTLjLpUCCq3h7D-8TJlSbjhLHc3djv-8cyBUO0LZo7D-GhxBhPZHbVZ5x-nmDL-VdSa8DR45JYO3YK5gfwOJXhKDQNB4deg37oA
.youtube.com TRUE / TRUE 0 YSC o0TCOzuqu4M
.youtube.com TRUE / TRUE 1796487357 VISITOR_INFO1_LIVE yv5QtACFMuQ
.youtube.com TRUE / TRUE 1796487357 VISITOR_PRIVACY_METADATA CgJSVRIEGgAgaA%3D%3D
.youtube.com TRUE / TRUE 1796431357 __Secure-ROLLOUT_TOKEN CLTU25jzhYq4lwEQ7unAueDglAMYoY2LzLT2lAM%3D
.youtube.com TRUE / TRUE 1780935859 GPS 1