Files
change-passwords-mis-py/main.py

1076 lines
68 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import uuid
import hashlib
import base64
import logging
import random
from sqlalchemy import create_engine, Column, Integer, String, MetaData, Table, text
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
# Настройка логирования
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
# Настройка подключения к БД
DATABASE_URL = "mssql://mis_aokb_desktop_srv:HLqKhOMwPRjNAVvLIKtc@10.48.89.4:1433/amu_mis_AOKB_prod?driver=ODBC+Driver+18+for+SQL+Server&TrustServerCertificate=yes"
# Создаем движок
engine = create_engine(DATABASE_URL)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
# Базовый класс для моделей
Base = declarative_base()
# Модель пользователя
class XUser(Base):
__tablename__ = 'x_User'
UserID = Column(Integer, primary_key=True)
GeneralPassword = Column(String(255))
GUID = Column(String(36), nullable=True)
# Альтернативный способ через Table (если не хотите использовать ORM)
# metadata = MetaData()
# x_user_table = Table(
# 'x_User', metadata,
# Column('UserID', Integer, primary_key=True),
# Column('GeneralLogin', String(255)),
# Column('GeneralPassword', String(255)),
# Column('AuthMode', bool(0)),
# Column('FIO', String(255)),
# Column('GUID', String(36))
# )
def get_db():
"""Получение сессии БД"""
db = SessionLocal()
try:
yield db
finally:
db.close()
def generate_clear_password(length: int = 12) -> str:
"""
Генерирует случайный пароль без неоднозначных символов
Исключает:
- Символы, которые можно спутать: 1, l, I, 0, O, o
- Специальные символы
Args:
length: длина пароля
Returns:
Случайный пароль
"""
# Безопасные символы: только цифры и буквы (без неоднозначных)
safe_digits = '23456789' # без 0,1
safe_uppercase = 'ABCDEFGHJKLMNPQRSTUVWXYZ' # без I, O
safe_lowercase = 'abcdefghjkmnpqrstuvwxyz' # без l, o
all_chars = safe_digits + safe_uppercase + safe_lowercase
# Гарантируем, что пароль содержит хотя бы по одному символу из каждой категории
password_chars = [
random.choice(safe_digits),
random.choice(safe_uppercase),
random.choice(safe_lowercase)
]
# Заполняем оставшуюся длину случайными символами из всех категорий
for _ in range(length - 3):
password_chars.append(random.choice(all_chars))
# Перемешиваем символы
random.shuffle(password_chars)
return ''.join(password_chars)
def compute_hash(password: str, guid: str) -> str:
"""
Вычисляет хеш пароля по алгоритму из PHP метода
Args:
password: пароль
guid: GUID в строковом формате
Returns:
base64-encoded хеш
"""
try:
# Проверяем, что GUID валидный
uuid_obj = uuid.UUID(guid)
except ValueError:
logging.warning('Invalid GUID format provided', extra={'guid': guid})
raise ValueError('The provided GUID is not valid')
text = guid.upper()
bytes_data = (text + password + text).encode('utf-8')
# Хеширование SHA1
hash_bytes = hashlib.sha1(bytes_data).digest()
# 4-1 итерации повторного хеширования (3 дополнительные итерации)
for i in range(3):
hash_bytes = hashlib.sha1(hash_bytes).digest()
return base64.b64encode(hash_bytes).decode('utf-8')
def update_passwords_with_random(user_data_list: list, password_length: int = 12,
output_file: str = 'updated_passwords_with_random.txt') -> tuple:
"""
Обновляет GeneralPassword для списка пользователей с генерацией случайных паролей
Args:
user_data_list: список кортежей (UserID, GeneralLogin, GUID)
password_length: длина генерируемого пароля
output_file: имя файла для сохранения результатов
Returns:
tuple: (количество обновленных пользователей, список результатов)
"""
results = []
updated_count = 0
# Создаем сессию БД
db = SessionLocal()
try:
with open(output_file, 'w', encoding='utf-8') as f:
# Записываем заголовок
f.write("UserID\tGeneralLogin\tGUID\tNewPassword\tPasswordHash\tStatus\n")
for user_id, login, old_guid in user_data_list:
try:
# Получаем пользователя из базы данных через ORM
user = db.query(XUser).filter(XUser.UserID == user_id).first()
if not user:
error_msg = f"User with ID {user_id} not found"
result_line = f"{user_id}\t{login}\t{old_guid}\t\t\tERROR: User not found"
f.write(result_line + "\n")
results.append({
'user_id': user_id,
'login': login,
'guid': old_guid,
'password': '',
'hash': '',
'status': 'ERROR: User not found'
})
logging.error(error_msg)
continue
# Генерируем случайный пароль
new_password = generate_clear_password(password_length)
# Вычисляем хеш для нового пароля
new_hash = compute_hash(new_password, old_guid)
# Обновляем пароль пользователя
user.GeneralPassword = new_hash
# Записываем результат
result_line = f"{user_id}\t{login}\t{old_guid}\t{new_password}\t{new_hash}\tSUCCESS"
f.write(result_line + "\n")
results.append({
'user_id': user_id,
'login': login,
'guid': old_guid,
'password': new_password,
'hash': new_hash,
'status': 'SUCCESS'
})
updated_count += 1
logging.info(f'Password updated for user ID: {user_id}, Login: {login}')
except Exception as e:
error_msg = f"Error updating user {user_id}: {str(e)}"
result_line = f"{user_id}\t{login}\t{old_guid}\t\t\tERROR: {str(e)}"
f.write(result_line + "\n")
results.append({
'user_id': user_id,
'login': login,
'guid': old_guid,
'password': '',
'hash': '',
'status': f'ERROR: {str(e)}'
})
logging.error(error_msg)
# Коммитим все изменения в БД
db.commit()
logging.info(f'Successfully updated passwords for {updated_count} users')
logging.info(f'Results saved to {output_file}')
return updated_count, results
except Exception as e:
# Откатываем изменения в случае ошибки
db.rollback()
logging.error(f'Error processing users: {str(e)}')
raise
finally:
# Закрываем сессию
db.close()
# Альтернативная версия с использованием прямого SQL (без ORM)
# def update_passwords_direct_sql(user_data_list: list, password_length: int = 12,
# output_file: str = 'updated_passwords_direct.txt') -> tuple:
# """
# Обновляет пароли используя прямое SQL выполнение
# """
# results = []
# updated_count = 0
# # Создаем сессию БД
# db = SessionLocal()
# try:
# with open(output_file, 'w', encoding='utf-8') as f:
# f.write("UserID\tGeneralLogin\tGUID\tNewPassword\tPasswordHash\tStatus\n")
# for user_id, login, old_guid in user_data_list:
# try:
# # Генерируем случайный пароль
# new_password = generate_clear_password(password_length)
# # Вычисляем хеш
# new_hash = compute_hash(new_password, old_guid)
# # Прямой SQL запрос для обновления
# stmt = x_user_table.update().where(
# x_user_table.c.UserID == user_id
# ).values(
# GeneralPassword=new_hash
# )
# # Выполняем запрос
# result = db.execute(stmt)
# if result.rowcount == 0:
# # Пользователь не найден
# result_line = f"{user_id}\t{login}\t{old_guid}\t\t\tERROR: User not found"
# results.append({
# 'user_id': user_id, 'login': login, 'guid': old_guid,
# 'password': '', 'hash': '', 'status': 'ERROR: User not found'
# })
# else:
# # Успешное обновление
# result_line = f"{user_id}\t{login}\t{old_guid}\t{new_password}\t{new_hash}\tSUCCESS"
# results.append({
# 'user_id': user_id, 'login': login, 'guid': old_guid,
# 'password': new_password, 'hash': new_hash, 'status': 'SUCCESS'
# })
# updated_count += 1
# f.write(result_line + "\n")
# logging.info(f'Processed user ID: {user_id}, Login: {login}')
# except Exception as e:
# error_msg = f"Error updating user {user_id}: {str(e)}"
# result_line = f"{user_id}\t{login}\t{old_guid}\t\t\tERROR: {str(e)}"
# f.write(result_line + "\n")
# results.append({
# 'user_id': user_id, 'login': login, 'guid': old_guid,
# 'password': '', 'hash': '', 'status': f'ERROR: {str(e)}'
# })
# logging.error(error_msg)
# # Коммитим изменения
# db.commit()
# logging.info(f'Successfully updated passwords for {updated_count} users')
# return updated_count, results
# except Exception as e:
# db.rollback()
# logging.error(f'Error processing users: {str(e)}')
# raise
# finally:
# db.close()
def create_user_list_from_data() -> list:
"""
Создает список пользователей из предоставленных данных
"""
user_data = [
(307, 'медсестра', 'A4CB27CE-C0E8-4A9A-9397-66540BF5FB60'),
(769, 'АкуличТВ', '1F8FAA30-F9E0-4BEA-B1F9-563B7FFA01B2'),
(770, 'АрнаутовГВ', 'A2A0E0C3-72CE-4BDE-AA2F-CA7210FA220E'),
(771, 'БатуринаТЭ', '534AB04B-FB6C-4998-94F7-E9F869D7AEDC'),
(772, 'БырдинаЕЕ', 'E7A85635-7ACB-4D37-B2BA-A998DAB09465'),
(774, 'ВасюковичТВ', '245412FA-F13D-4265-AE11-D88275B80D2B'),
(775, 'ВторовМО', 'E8EFA91D-8E46-4797-8596-CC6183BB0782'),
(779, 'ЖуравлеваАВ', '57255F0D-9764-4B3F-811D-57C4887F9C84'),
(782, 'КалининаНВ', 'BFD4E770-53B6-46EB-828D-22A9D1812063'),
(783, 'КарповаИК', '6380BB99-2CC7-45A0-862C-363FA8DF6BC0'),
(784, 'КашубаАМ', 'C13F6232-2C7B-407A-B627-340971CF8DB9'),
(786, 'КолодинаИА', '7F8EE60C-0AFD-4745-BFFC-0C80CBD84C0E'),
(787, 'КосицынаТА', 'A692BE89-3FC9-4E21-8F64-4E839F6F5346'),
(790, 'ЛаптеваИА', '5B0A5EA7-7D35-4863-B95D-DF0F8CDAF122'),
(791, 'ОстанинаАА', '947C7B67-AFD1-4408-B042-3EC53F31C17C'),
(792, 'ОсиповаСЛ', '19BB1176-5FBD-461C-847C-0F22F0C8500D'),
(793, 'ПатрушеваОВ', '94A5F9C9-A012-45B4-8DC4-033427991EFF'),
(795, 'ПоповаВА', '83A5BE57-820B-4BF9-8E60-C05ECA420D62'),
(799, 'УткинаНВ', 'A9555445-3B76-4257-8358-2C3A570A504A'),
(800, 'ШарыповаАЕ', '22345EED-A005-4B49-B718-A07718738CE0'),
(801, 'КручинкинаИС', 'A61E1526-787A-49A6-8292-CC7328EA15A9'),
(803, 'ЮрковаОС', '6AE3CF8A-6F2D-4257-AD28-C9A863E687A7'),
(806, 'РябовЕВ', '5E321A98-4630-411C-80B5-EAE3EADC4E47'),
(807, 'КрячекНГ', '3F339CC1-B698-432E-970D-1C211000F0EC'),
(808, 'КанАЧ', 'D78ECF57-0D40-4E91-AF5B-89C12A9E4424'),
(811, 'РоговченкоАЕ', '5312FD77-60C6-474E-ABC8-4CEA62D8505C'),
(812, 'МанжосовРВ', 'BCB9EB7B-7136-4120-9CC1-157AFADDD7D8'),
(820, 'WebUser', 'A4909625-9D3C-440E-B9AE-59E2886A5C50'),
(821, 'БойкоОВ', '4CB716F1-C6F1-4F9E-91C7-BBE0316982C6'),
(823, 'ГогуловаВА', '4B1668A5-6B49-4322-8C00-F67FE069046F'),
(824, 'ДемидоваНБ', '3483B281-7EBF-4EAE-93D8-6377E37AED04'),
(831, 'ЛуценкоОА', '89B74D06-4934-4B62-BF77-689D972883DA'),
(834, 'НиколаеваНВ', '4747AF26-6188-4144-B0F7-E9D381D35CD9'),
(837, 'ПерфильеваОА', '6CD18E9F-9EA8-46C1-B05A-59F7C587D391'),
(839, 'ПоповаИЮ', '77916882-738C-45C1-9B9F-567AEF02F414'),
(840, 'СергееваЗИ', 'C1147166-977A-40F3-8943-C7F2B0C76F35'),
(844, 'ТолпыгинаИМ', '07808C99-DA2B-4A3D-94C6-DC5F78143E48'),
(847, 'ЯцишинаСН', '753653AB-2933-4D48-B1A5-E3EC9184084A'),
(848, 'ЛебедьАА', 'C4A75B36-6595-4BE7-8E32-43A2536D00A3'),
(959, 'БольшихКА', '2E4900C6-FB6F-44EE-8F7F-1A1F82094512'),
(966, 'ДанькоКЛ', 'B9D0E50F-BEDC-49F9-936C-AF5DA61842E4'),
(979, 'МирзаевЭТ', '3CD49715-0FF7-4D84-8394-F039E2907436'),
(986, 'СудаковаЕС', 'CB05CF55-9E13-4769-BD67-1C36C1D201ED'),
(990, 'УсикОЮ', '3A8A162F-9A43-42E2-86EF-0D0DE4CE698D'),
(1033, 'ЧеплыгинВС', 'A93094CA-F7EF-4EE4-B0FD-C1D664FF9637'),
(1035, 'ГубаренкоОН', 'AB2DAA97-14CB-455F-94EC-E60A53ECE586'),
(1044, 'СенченкоНВ', '568BF952-31BE-472D-871D-CF0BAFBFC2ED'),
(1054, 'ФедороваНА', 'E09E0896-EC98-49A1-9C4D-FBCB046577DC'),
(1055, 'ФилатоваЕА', '9424DB09-C6FC-44DC-9858-96DDFFF17F7C'),
(1057, 'АрутюнянЕВ', '9B3C4FD7-E381-4E4E-9B74-24D1459BDE02'),
(1073, 'ШалухаТВ', '7CBEC4D5-78F7-4E53-8188-434156364142'),
(1098, 'МирзаевРТ', 'E8BCC81E-CCA0-46C0-9C33-9FBE2CFFED40'),
(1106, 'АгеенкоАА', '049402FD-D762-413C-BD11-46B944A265AD'),
(1116, 'ТомшинаСА', 'EEB4CAA7-62A2-4FCB-A6B5-D21D2B67126F'),
(1127, 'БуторинДВ', 'E24B3BE4-3EC6-419C-BBF7-BB0352F245E9'),
(1128, 'ВовкНВ', 'D1961A6E-EC6F-4ADF-96EE-AA1D0CBB5116'),
(1134, 'КозкаАА', '863CE5AC-6613-4D27-B0F9-3E71BAB67E2B'),
(1142, 'СуслопароваМГ', '00A62946-BFB7-47E3-B780-4AA900F8B03F'),
(1185, 'ГоловачевЕА', 'F819E8C6-C72A-4F2D-89FA-C9418A9D8E25'),
(1193, 'СимоненкоСА', '9BED79C1-7002-4ABC-A53F-94C7320068AB'),
(1199, 'ГладкаяАБ', '36E4970F-5568-4794-ADCC-8F6AEBAD7F10'),
(1201, 'ДемураОВ', '8686D0EA-7F99-4E70-B8E8-66D872054330'),
(1202, 'ЕщенкоЕИ', 'E825EA04-BCDC-4131-B96E-423447C31103'),
(1205, 'КоржоваНВ', '9B3911BA-6044-4C15-B45A-811642D28180'),
(1206, 'КутькоИГ', '88DF415F-5EDB-4643-85EE-79DB83873AA1'),
(1212, 'АндриановаМС', '34601FAF-A623-48D3-A4CE-8EB5DB98531B'),
(1214, 'ОсиповаАА', 'A697E2C1-2C88-4E17-AFDA-1BA90A284DFE'),
(1217, 'СтепанцоваНА', '129EE46E-E3CD-47BD-8492-3FB7CD7A3DF6'),
(1218, 'ФилипповаМИ', 'D80A1309-67E5-4D3A-8E41-B641038E5A8A'),
(1219, 'ФоминаОП', 'C978AB0F-BBE1-4FEE-B7CE-16981EDCCD24'),
(1222, 'ГрибановаОВ', '68DF6177-F6D3-407D-A63C-2D30E7400B86'),
(1223, 'ДурицкаяЮН', '8F558E52-70D7-44C6-8B4E-C69C875F45E3'),
(1225, 'ЗакусоваОА', '347DB635-871D-451C-83EA-76B87A9294F0'),
(1227, 'КолесовРА', 'CF8A2DA2-2BCD-46C1-91B5-146EC3B14C1E'),
(1228, 'КопцевВП', 'B1E2FB97-75A6-439C-95D6-AD8E60E8F7A2'),
(1233, 'ФоменкоТВ', '673706DE-A4AB-442A-9E8D-3C28CD3AE253'),
(1235, 'ХаткеевВИ', '8D4E674F-15D7-40B5-AB64-53928478DD36'),
(1239, 'ВеронеСА', '1B9D9F63-F664-4E0B-BE85-7A23BB682551'),
(1240, 'ГанжуровНА', '0CD1CC8E-C6D2-4AB9-B03B-79DBDCC70E0D'),
(1243, 'ИвасенкоАА', '67F54B17-15A6-480E-A19F-C81EA90888DA'),
(1244, 'КилимиченкоФФ', '97B6D9AD-CF56-4005-B092-AB1B5C4A03E5'),
(1245, 'КозенкоСС', '4D9072B4-22AD-426D-8526-C851EF6A78A3'),
(1248, 'КотовщиковЮМ', '3AE95B19-69FB-42EC-AE62-F0E51436B016'),
(1251, 'ОразлиевДА', '9599F502-AA4D-48F1-9273-85863144D49C'),
(1252, 'ПолонецНВ', 'B443CCD0-257C-4C3B-B785-469093DA0B3B'),
(1253, 'РазломаСИ', '47BF4B48-721B-4283-B8CF-192A22D26DCE'),
(1254, 'СавенкоПЮ', 'D7B14644-0DC9-4A6F-B18C-ABC37ADFAB37'),
(1255, 'СорокаСП', '7628937A-19F8-4FF5-81E9-76C2806917B8'),
(1256, 'СтепанищеваДА', '419D572C-D61F-4BC7-A69D-0AA95BDC4B25'),
(1257, 'ТкачеваЮА', 'FC6158C2-164D-4942-AD79-BC33D4B4ABF3'),
(1258, 'ТюринМИ', 'C0733987-86F1-47A5-AC4E-F5BCF0415296'),
(1261, 'БаженоваИВ', '3392399D-D0D1-476C-888B-0AAD407353CB'),
(1262, 'БакулинаЮА', 'D79CBA62-625E-4EAC-ABDE-8311F32A728C'),
(1263, 'БелаяАС', '7BE11841-607F-4C3A-B799-64AE50365013'),
(1265, 'ГапонНА', 'DA802B6E-2973-41C4-B824-DB0DA7466B95'),
(1270, 'КовтуновКА', '0504BA5E-F5A0-4545-90F5-993A144EDB03'),
(1271, 'ЛештаевДБ', 'E51FBD91-0FD2-469C-A8CE-A3C586D109FA'),
(1274, 'ПоляничкинаИГ', '4219AFEF-54ED-45E5-9AB3-33A0194870A6'),
(1275, 'ПриходькоАГ', '3B6B400B-AC54-42C6-93C0-7DAFA62A65B3'),
(1278, 'ФилатоваНА', '846FF49C-9064-4F0E-B2C8-C1FF7F934A68'),
(1279, 'ФоминАО', 'D88A8CE1-BDC2-4C20-AB13-E20EF4D7FB1E'),
(1280, 'ХуруловаСН', '21B5A9E2-ABA1-45F8-BE41-BE6E9F20F332'),
(1283, 'ГончарукГВ', 'DE0C2780-F28E-49A8-927B-150B86DCD159'),
(1285, 'ЗуеваКВ', 'AC754251-8F2B-43AE-A728-A0E71D107E70'),
(1290, 'КосицынОП', '0F235CA2-6978-4BDE-8EA8-7B109F63F10F'),
(1291, 'КуделинАВ', '7AB7752B-49A9-4287-9B8B-841D543FB8A7'),
(1293, 'МатасТЮ', '15CE1AB8-D9FF-467F-A815-6B9DE96F1A6A'),
(1294, 'МоскаленкоАВ', 'DEAC7090-D004-4348-AB9F-A330F06F9688'),
(1295, 'МуштаЛИ', 'AA1B01A1-73CB-4603-8625-F1835113F998'),
(1297, 'ПикульДА', 'E4A7F9AA-8709-4965-8A8E-8BC41958C97D'),
(1298, 'ПодкорытовВВ', 'F64CF6D3-6F97-404B-B070-ACFB4B609D5C'),
(1299, 'СметанинаОВ', '3B1B4272-2A00-4F35-8556-0543F81136E1'),
(1300, 'ТрыновНН', '236AB394-61C5-4008-8C61-7769E514FD14'),
(1301, 'ТрюханВП', '3BA2B62C-3EA0-408A-A890-B1940288F43A'),
(1302, 'ШулеповЕР', '98CC75AD-8CA2-47AA-BFA3-A98BA4E9B7DA'),
(1303, 'БрегадзеЮЕ', '253D78F2-3E82-4E13-9D5C-AEF70911A09B'),
(1306, 'СиволонскаяАА', '8259E306-EFEE-4085-B702-F7E44E8BAFC5'),
(1307, 'КовальчукВВ', '50CF0636-952D-4CE1-9EED-B9B9507F5A4A'),
(1308, 'КрошкаСС', '80257174-3A2C-46A7-A56D-2A37F80D3789'),
(1309, 'ЛитовскаяОА', '85457F31-61FD-4BDF-B453-9D4D81A75F83'),
(1310, 'ПанкратоваЛЕ', '601B36DE-FC30-404E-9A03-982A04387DFC'),
(1312, 'СевероваНА', '2BE776E0-CC32-4003-87C3-0B442A7D283F'),
(1313, 'ФесикДО', '71FD81EA-EA3C-438B-9EBE-ACD1C3577B71'),
(1316, 'БорзенковаАС', 'B0CECA67-F901-47B4-B366-6A5806A7427F'),
(1317, 'ЖирноваИЮ', '12BB9162-D62C-40D7-93D4-1E48ADD27F6B'),
(1324, 'ГрачеваАВ', 'D460EB72-943A-4EDA-8793-35906DBCBAD0'),
(1327, 'НоваковскийДА', '3811380C-0889-41B9-BCF9-105D9B8E1E1D'),
(1333, 'РоговаТИ', 'F0ECEE7A-064D-4F76-ADB0-E09A6E965489'),
(1334, 'ПавленкоЛС', 'E69C3957-5EBA-420A-BC42-836FDD70ED89'),
(1336, 'ЕмельяноваНА', '4E2901BD-DD12-426F-AD5A-60A950F65137'),
(1338, 'РодькинаЮО', '4EC3248B-10AF-47B9-9DDE-9FF43D73445B'),
(1340, 'СаяпинаОА', 'B538449E-FFD9-4711-90BF-3851DE444DBF'),
(1343, 'АртымукОВ', '543F40DB-E845-453A-85B6-79D91B12289D'),
(1344, 'БаберцянИА', '1DBD4E51-18A8-48C6-A534-89D2EBBA99D0'),
(1349, 'ГордецкаяГИ', '5D9AA79F-4F50-4333-87EF-407B425960A3'),
(1351, 'ЖуравлеваНВ', '32D4796F-7D87-4EBC-8647-D67AC3221A67'),
(1354, 'КривошлыкЛС', '46202423-77BC-4891-800C-4FEFFECAF590'),
(1356, 'ЛазуткинаЕЛ', '2506E42F-2DCC-45FA-8F0B-E6F5741C2D03'),
(1360, 'НезнановаЕС', '7D6AA7C8-3F74-4B9E-9F32-0FC2C197BAFC'),
(1361, 'ОднокопыловаОС', 'F6967CCA-5AEF-4601-A12C-92A4C40B6C35'),
(1362, 'ПетроваЛВ', '7B0CA560-691C-468B-AD66-3784021CF4CE'),
(1364, 'СалацкаяКВ', '17713812-EAD1-4FFD-8965-98A23A067161'),
(1368, 'ТихоноваЛН', 'E07347BB-43B9-4509-9326-29F3038C7339'),
(1370, 'ТубольцеваНВ', '0B23799A-4567-4DCD-918A-7F4B71FF331A'),
(1371, 'ЧернобаеваЛГ', '36FB9C90-28DD-47C1-AF19-0791702A1F2B'),
(1378, 'ЛазуткинаНН', 'D5CA0A44-B1DC-4735-B559-F5D5BC07C9C2'),
(1381, 'ГнусковаСГ', 'DF56B15E-4AAE-4640-8B5A-D2480F0C4A33'),
(1382, 'ПоздееваТЮ', 'EF5D9159-601F-42C1-81E0-9E8DD846F110'),
(1386, 'АчкасовИА', '2E36F47B-1107-4271-86C7-BA7FE863F8E0'),
(1396, 'ВоробьеваОН', 'EB939F10-2D9E-4492-8E80-08E57F64EC4C'),
(1397, 'ГарбаренкоМД', '0D41C1DD-365B-4D04-B102-7451A23F1950'),
(1398, 'ГлотовНА', 'AA924FF4-6202-494E-83DC-387D74AFD120'),
(1408, 'КалюжкоРХ', '3F9C6FFD-0D5F-4794-83FD-6B11237226D8'),
(1410, 'КолечкинаЕА', '5C2CB871-BC46-4779-B255-282787D6EA4B'),
(1414, 'ЛарионовВВ', 'E94F8F20-62D2-4BB7-A022-4B7AE9BAC348'),
(1416, 'ЛежакСА', 'E57ABE48-435B-4EDC-8C6F-342C0BD4CEE1'),
(1417, 'ЛеонтьевКЕ', 'D49ED21C-D1A2-47F0-BAE2-5E0974BFD7DC'),
(1420, 'МирошниченкоВВ', '117C0D02-EF5F-4CAA-A02C-6259CB2CDE8A'),
(1422, 'НедоступКА', 'B8E28ADD-9D07-48BE-A860-B22740C67AF7'),
(1425, 'ПоловцевДГ', 'A057FF1E-7728-44AF-9FC7-A880559FA769'),
(1426, 'ПоловцеваМЮ', '75C6463B-9B45-453C-9FA0-DCCC48883AD5'),
(1429, 'ПрилипкоВП', '768C9ED9-D48A-4D41-84F2-508BC1940BBB'),
(1431, 'РыжийНА', '3A632ACC-7163-4778-967B-F5525300E7EE'),
(1432, 'СавельевИА', 'CC3D10B4-7B7F-462A-8BEF-24C5359BDC50'),
(1438, 'СыпалоЕА', '11B62390-E964-4997-AEE7-96E856C74968'),
(1444, 'ХодусСВ', 'B49C22D1-B1B0-4CFC-8600-03EE01D51820'),
(1445, 'ЧерепановАЮ', 'E6C6E2ED-5B6C-477D-9F79-21935C99A3C0'),
(1446, 'ЧудновДА', 'C0361998-EF79-41E6-9EC5-C4FE8C667984'),
(1450, 'ШумскийСВ', '1308F8A2-E660-452D-AD01-DC76AB6DDB9F'),
(1459, 'ДонецТВ', '73A8F530-02F4-4F7C-83D1-A2DF00A4C6F5'),
(1462, 'ЛещенкоОА', '91F8E79E-3D06-40AF-9C29-3E354D9975C1'),
(1463, 'ЛысоваНН', '69448C44-3602-457D-A9FD-744DE511FF20'),
(1465, 'НауменкоЕД', '6C4E1469-A626-44ED-B850-C32E95F959E6'),
(1466, 'ПитькоЛА', 'D494A161-F091-4DBF-80B2-114A43DBE1D9'),
(1467, 'ПосыльныйВВ', 'ACBC010E-26FE-457F-9D75-E07FCA7DF0B8'),
(1469, 'РочеговаМГ', 'ACAB1E76-9B6C-4F6F-9CEE-09E5BA8E23AF'),
(1471, 'СвиридоваНВ', '28FCA2F1-19F8-4005-8B8D-8425D102C43B'),
(1472, 'ТарасовскаяЛВ', '69913152-6B4E-4BBA-8DBD-A926E42C6576'),
(1473, 'ШапошниковАЮ', '110ABE82-962C-471D-8F28-96029C71BD35'),
(1474, 'ЯрмакИВ', '786CCA87-661A-4B5A-8E15-F8717C8578AD'),
(1475, 'БурдееваОН', 'CFC71953-61BA-4FDA-B9E4-598809CFF03E'),
(1478, 'ВознаяЮВ', 'D918F026-38F3-45DD-8795-2C394BB15C40'),
(1479, 'ГавриленкоАА', 'C3276EFA-7D00-4D0C-9E4A-7957F136C18A'),
(1482, 'ЕрмаковАО', 'D26FA3D7-FE1D-4CCD-BEE8-1CD1B37C6420'),
(1483, 'ЗагорнаяЕВ', '0E1D0299-5B87-48A1-AA81-B78A43C41410'),
(1484, 'ИльченкоАВ', '58459EA7-6B90-48F0-8C87-215B0AEF2914'),
(1485, 'СтёпочкинаМА', '21D3ABEC-EC5D-4954-BC7D-C9A59AA7F6D9'),
(1487, 'КоротковаЖВ', 'B1584F58-9B0F-4769-A0D7-347642A20D3B'),
(1488, 'КосареваЕЮ', '42E0A76A-2224-435C-BDCC-FED807412FA9'),
(1489, 'КостюкИВ', '7A3B96D2-FCD2-404C-9CE8-7CE2FEC868B8'),
(1490, 'КрасноваОГ', '590330F7-9866-45CA-AB64-174837E8E088'),
(1491, 'МазепаЮА', '644C812E-9C1B-4D84-923A-06C7D78776B8'),
(1492, 'МолчановаНМ', 'CAB2B277-D3C2-4659-9E0A-5DA2D3054AD4'),
(1493, 'ПавленкоИВ', '40ECD41C-32A8-49DE-8B15-C77CB9193ACE'),
(1494, 'ПивеньНВ', '962D3120-FB50-452C-A268-F12CF2029E8B'),
(1495, 'ПлужниковаМО', '7CCFAD09-9F2E-4BC7-8E82-3D832B3DAADD'),
(1499, 'ТоркуноваЮС', 'CBE828A9-F426-4F56-92A2-5DDE659ADBC3'),
(1502, 'ТаранЕМ', '78B50FB6-04FF-45A1-8748-641819B4AF35'),
(1503, 'ТрояковаСИ', '3DDEC4E0-1C07-4448-8464-8650E950126B'),
(1504, 'ШаховаЮА', '1B6D0941-C6ED-43F0-AE92-863F46586095'),
(1505, 'АндриевскаяЕС', 'A718EABC-5FB7-425F-8305-94A47B54C6CA'),
(1508, 'БондарьИА', '68DBA7AC-62CD-4133-9AF0-517E84208995'),
(1513, 'ГридинМС', '4CE5C6D0-8E61-4367-97C8-59E2E93601CD'),
(1516, 'ДелльГВ', 'DC6DE2CF-F651-404E-BF23-870F66286B9C'),
(1517, 'ЕрмолаевЕИ', '5D29D165-7620-4EAB-886A-05B718B5D7CB'),
(1521, 'КанЕГ', '3847E697-86B5-4488-8885-15887B1C697E'),
(1522, 'КанащенкоАА', 'F4377564-5C69-4DDA-98F2-0588B7E6D6B4'),
(1524, 'КолесовРуА', '8FEFAB9D-559C-4466-9126-A18D6B7DCDD2'),
(1536, 'РожковАС', '0CBA5D15-99DF-43D2-9BFD-BA0EC6E29A59'),
(1538, 'СагирьАЕ', '310EF9E6-0E2D-4124-86C5-1B20903D929B'),
(1540, 'СлясскаяТВ', '34E3401F-2247-4DEF-930E-45CA8B18BF0E'),
(1541, 'СтаногаСВ', 'AB18B196-B714-4670-BD37-870899C71446'),
(1546, 'АникинаВВ', '118C9D14-A05C-4F46-865B-FEB65D9E5E80'),
(1547, 'БерёзаКВ', '58BC4E30-163C-451C-AC97-763AA0CF17E3'),
(1549, 'ВасинаОЮ', 'DCD65467-CBE8-44CD-9D88-A459394E9EBC'),
(1550, 'ВладыкинаАБ', 'D11806A8-7FA7-4E98-BE84-5068227528BB'),
(1553, 'КазакТВ', '61448283-15E9-42BB-8F54-B3845389BC62'),
(1554, 'КондратенкоАА', '68865923-6DB4-458A-B4D1-FA9B2168D3BC'),
(1555, 'КрючковаЖА', 'D99F5BAB-3D22-498A-96C1-E1DD2C865782'),
(1556, 'КушнарёвАВ', '7F07A7BC-35FD-4AD1-9883-90C0759F9A1F'),
(1557, 'РябухинаСА', 'C7982C02-9FE9-4511-9434-DB2E807F6A1F'),
(1564, 'БилькоАВ', '6134B719-EE94-46F1-B1A7-6881A72D49D0'),
(1566, 'ГайдароваОВ', '22DD487F-88D1-4267-BD05-0238848CF262'),
(1567, 'КозловаЮВ', 'F0457D65-E8F7-4ED7-AAFF-6D2B9F22A067'),
(1569, 'КовалевскаяОА', '8F982A45-B645-42AD-B851-8EE2D2B15ADA'),
(1574, 'СычуговаОА', '255FB5AA-0B39-44D1-96AE-1CE302647584'),
(1581, 'БесединаТЮ', 'E1D8B9E7-9A2F-4EFA-A418-70D77801F423'),
(1585, 'КостроминаНО', '2FBF547D-FA3C-4C5B-B97A-E8813B07300E'),
(1586, 'ЛатюкНГ', '8EAEC84F-AC44-4CDA-88B0-9B9BA1D008D2'),
(1588, 'МирошникЕВ', 'D9086AFD-9F27-4776-9332-1BD05C2FC356'),
(1597, 'АмелинАВ', 'A0A3B1AE-4037-4B24-A1CA-97E47EF36DCF'),
(1599, 'ДубягаЕВ', '9676409F-59F4-45AC-8668-F0CC5C6FE631'),
(1601, 'ЖуковаЕН', '88A8C414-3C9D-48E6-8067-733E25A1F5AB'),
(1608, 'МирошниковаЕА', '035D9881-AAFC-492E-BD4A-C3D65852F7AE'),
(1610, 'МусоринВВ', '626E6D59-3875-4A8D-BAFB-933C88B499C7'),
(1612, 'ПатраковАИ', '68E779A0-D1A1-419A-93E1-DB49E0F313E5'),
(1613, 'ПустоваловаВВ', '42EF4717-4BC4-444E-A378-8A9649106C87'),
(1615, 'СатуровМР', 'B946FF11-4D9C-4DCF-BB2F-8AA7915D5341'),
(1624, 'АслановаНМ', '0280CB9E-AD31-4E1F-9247-69CAB9954F59'),
(1625, 'БойкоНС', '4EB7A8BC-5DA2-4B1D-98D6-054C477E913C'),
(1628, 'ЕпифанцеваМВ', 'F50FC30C-C84D-46B6-B08C-40C9694F801A'),
(1629, 'ЕремееваМВ', 'F18B9C3F-3D11-430A-B3E8-190C3D506C99'),
(1630, 'ЕфремоваСВ', 'EC27F492-D845-41FE-81DD-C656E56316C3'),
(1631, 'ЗеленоваЕБ', '4E19EC37-0695-45BF-A10B-2B9E6344808C'),
(1632, 'ЗиброваНА', '14C2C492-78F8-4666-8C6A-8E2C7F48A075'),
(1634, 'КоваленкоЛА', 'ED1F907A-476B-4251-9318-78E7FD54B999'),
(1635, 'КоробскаяАА', '31C56D8D-0975-434B-9ADA-9A0A2561618B'),
(1636, 'КудаЕС', 'D8E3CB16-F6EA-457B-AEA4-9E48B6C9696A'),
(1639, 'КузнецоваИВ', '68084EF9-6084-4475-80E2-B82E9B693A5A'),
(1640, 'НестеренкоТС', 'AB271555-D586-4BB0-9B9C-01269400446D'),
(1643, 'РемеховаЕВ', '2FB8C036-1083-4740-AA79-DDF4E28664CC'),
(1644, 'СамсоноваОИ', '0B0A0FDB-78EB-4A0B-9434-0CF5368E095E'),
(1645, 'СерковаЕА', '38C7F789-F67D-4FC8-97E3-5858E1D7F777'),
(1646, 'СинельниковаНА', '20D7C000-9943-4102-B334-646E10F6DFE6'),
(1647, 'СмоляковаИЕ', '75BBD92A-9827-4E39-BEB6-1C1986DC3798'),
(1648, 'СоколоваЮВ', 'BE04B303-963C-4CA5-A123-79D40B466F50'),
(1650, 'ФедорееваЛА', 'E0B6243B-97FA-45DC-8B20-5FFF55BBED22'),
(1651, 'ФедотовскихТН', '6928356A-9C3E-4ACD-8C78-BF60E0E4385C'),
(1652, 'ШевкуноваСА', 'C62576D2-CCF4-463A-94D7-9C7C0BE60AF7'),
(1663, 'КушнареваОВ', '0484605A-4333-4FB5-9FC4-5007652F47E3'),
(1666, 'ЛяшкоСН', '2A99382A-8D95-445E-A202-A45F996994D3'),
(1675, 'ПчельниковаТА', '849E27B8-CC71-45B8-B513-DF48FE8AED9B'),
(1678, 'УткинаЮЕ', '1083B1F1-F9B2-46DB-A0B4-22AB59382039'),
(1684, 'ЮдинаЕВ', '656C0DAB-6B89-4894-9298-2CEE3EC68405'),
(1688, 'ПрокопенкоОВ', '712AD700-29BD-4AE5-80FA-05CF6072B36C'),
(1689, 'ЗарубоваОВ', 'BA0A694B-7AF5-4AAF-BB1B-7063BB61FC7F'),
(1690, 'ЖильниковВВ', 'EF42BE4E-60E0-4137-A3FD-AF2080EBA46B'),
(1691, 'ЦукановИИ', 'A10DE607-57BC-4556-94F9-56F81743C92F'),
(1693, 'ВасильеваВВ', 'B960C4C9-FD40-49B4-816A-1D53FEE3023D'),
(1695, 'ОстапенкоЛВ', 'D4A7C157-3489-4C95-A561-4F50E5092FEA'),
(1696, 'БондарьДА', 'FCD970F9-77C0-4458-A679-595F5851FBD7'),
(1698, 'ДемиденкоОА', '1E2736E8-2187-437C-808C-BD90FB8B58BB'),
(1699, 'КостыркинаВВ', '0EE0A54F-CDA6-46BB-8DC2-A4D4274A8987'),
(1700, 'ХаритоноваРП', '3AA3180E-CBC5-4771-A3C7-A183293FC6E4'),
(1704, 'ЗендельИВ', '52AAC0F8-3A32-40E5-8588-474A24FF930C'),
(1705, 'ИлимбаеваНВ', '4F8EBFB2-3C1B-4DD7-ACEE-1B88D64A8FD8'),
(1706, 'МолодоваЛН', '83578C0C-CF92-42B2-8553-0E795B777DAF'),
(1709, 'БороздаЕВ', 'A699BB17-DC19-45D9-B42D-8DF45EFD4743'),
(1713, 'БожокЕЕ', 'ACB7D004-B6ED-4DBA-B5C7-570A0673686E'),
(1730, 'АсташеваТА', '0E1EF896-D939-437A-9111-DBFC33D57683'),
(1747, 'ЛарионоваТН', '1C6EB66C-359D-4BFF-B01C-EA6E04FF839F'),
(1752, 'ПетроваЛФ', 'DE224A5F-7CD1-462F-9CE3-B4EAF1553FC6'),
(1758, 'СлугинаЕС', 'BCBCADCD-21A4-4747-A3A6-B7BB091BC96A'),
(1760, 'СотниковаНС', '3C03A6A4-6509-4424-B89C-176F7208C2CA'),
(1769, 'ЯцюкТВ', '7661070E-12C8-459F-B7D8-70E502CBAFAF'),
(1771, 'ДонцоваНГ', '8E9B6793-693F-4A0B-94E4-6098A3A3F5FF'),
(1775, 'КовальскийАВ', '16D083DD-5479-47C0-96D0-15F8C9F77C3A'),
(1777, 'ЛебедевЮП', '84128954-EBDC-4F07-9ED7-9F5EE7FCF044'),
(1779, 'МурадянАК', '1FC02E4C-61C2-485C-9470-30F324AD9614'),
(1780, 'ОмельчукИВ', '6FECDA65-C901-4627-BCD3-276BAB076635'),
(1783, 'СтупниковДН1', '233EA422-784F-44F2-848A-93D79130C271'),
(1788, 'БаликаИВ', 'E7203B16-044A-4C37-9B78-7221DE720BEC'),
(1794, 'ВинникЮА', '11C349DF-D39C-4AA6-8FA6-7FE579D49E73'),
(1795, 'КириченкоЕД', '7795FA1F-B606-422D-BE3E-AE0A16AE064D'),
(1796, 'КиселеваНВ', 'B00CCE8D-13A2-4B07-B03A-A79AEDF38CE0'),
(1798, 'КозловаАА', '4967438A-732B-44D2-8431-064F34CB4392'),
(1802, 'НестеренкоСА', '06E5BC22-DA9F-41F0-B2C8-F0EA9946F17A'),
(1804, 'ДедонисМВ', '7065D67D-A623-4CEF-859D-15E20B1E7FE6'),
(1806, 'ПанченкоИР', 'FCB2B33A-50B0-48D3-850A-782E4E11086B'),
(1807, 'РомановаЕЛ', 'E5545480-0B67-449B-BA01-0F588A4E43B1'),
(1808, 'СавоноваТА', 'ADFB6FA9-5FCF-44EC-B893-02D71FB184A4'),
(1819, 'БеловаЕВ', 'A481D866-2C54-460B-A514-602C3CBAD294'),
(1820, 'БиссеноваЕС', '8A78D4ED-1E4E-4A23-8078-184054B8733D'),
(1822, 'ШмыгленкоТА', 'BE9AFD82-FED5-40BF-ABDD-D7A854F35AF7'),
(1823, 'ГинановаНВ', '86526062-DBE1-46B5-BC5E-BCEA1D171A7D'),
(1824, 'ЕлисееваТИ', '3EA0642A-DF80-44E3-AA4D-FFAAAF4D56B2'),
(1827, 'КоновецЯВ', '988D3631-7DFC-447A-9EDD-852E38F75B6A'),
(1828, 'КоролеваОВ', '25CEE79B-0B5B-4803-B610-970C99C31DA8'),
(1830, 'КрысенкоЕН', 'D89681BF-5788-44C6-84DD-85FCC63BA830'),
(1831, 'ЛозаСГ', '49DD5B61-7C11-47D0-B467-DB6AA0A815DC'),
(1833, 'МатеишенаОН', '8D46AFE2-1916-4478-A9AA-8ABF93CA927F'),
(1834, 'МкртумянЛМ', '5ABC487C-F3FC-487B-8403-85CFBD31A5AF'),
(1835, 'МурадянСК', 'AD251F54-CAF1-428E-B3FD-303C49D7C3F8'),
(1836, 'НасыбуллинаТЕ', '5B67D8C5-0CD7-4DBF-8669-0B4D310BE5E7'),
(1838, 'РодионоваЕВ', 'D9CC4027-4853-4931-81D8-DF5A6A2CF57D'),
(1841, 'СавельеваМВ', 'B5962BAC-F001-4345-9A07-1459A608143F'),
(1843, 'СысоеваВА', '9A426ABA-5704-41EB-A364-19C76A1D350A'),
(1845, 'ТрофимкинаНВ', 'D743379B-FB70-4938-98B7-53B0184AF993'),
(1847, 'ЧерныхВВ', '28C8F3EB-7FB1-483D-B44D-F5B1DEC03A3C'),
(1848, 'ЧудаковаЕФ', '564352D6-B6ED-457E-A194-DD52BAE13E7A'),
(1851, 'ШпидоноваМА', 'DE3BCB59-05A0-411C-872C-DD6D93C7129B'),
(1852, 'ЮркинаТВ', '6259A74B-0572-46A9-8CF9-6574739424C3'),
(1853, 'ЯкименкоИВ', '16A164CB-0729-4728-ADF6-3F6896BE0FFB'),
(1857, 'КалайтановВВ', 'B379FD3D-6035-4CB7-9A25-98E15C2DB016'),
(1864, 'ЩербинаЕГ', '7EC17FC7-EE71-4954-B6AA-BBBD84F3FA6B'),
(1878, 'АлтуховаОА', '668E53E5-6C03-4B3F-83B0-A23EFC2A368A'),
(1885, 'ВасилевскаяТН', 'DBAC9F96-1445-4D79-9A7F-359E8F3AFE77'),
(1886, 'АнисенковВИ', 'CC3FC12E-AB2A-4D09-81AE-476D7CB93C5D'),
(1887, 'АпёнокВВ', '7FB8AC8B-EFDD-4309-BF8A-8207B7A96DB3'),
(1888, 'АсташевСВ', '0F537175-B011-45CC-918F-D60C623647A5'),
(1890, 'БорисоваВА', '1025641B-6018-4864-B2AB-63B8F4C7F188'),
(1891, 'БратковскаяЛО', '619AC64B-BC82-45AA-A99F-12B44392F5A7'),
(1893, 'ГригорьевАА', 'B0E02BE4-F654-4F7D-9A81-344D524D8824'),
(1895, 'ДружининЕО', '5D991E27-169D-4FBE-9199-014EF2447838'),
(1899, 'ЗахароваНЕ', 'E90B7555-A016-4A2B-95BF-C47B0A8C8865'),
(1900, 'КазанцеваЕЮ', '317E5BC8-5A11-47DB-A1CD-B740FCF93C45'),
(1904, 'КозловскаяЛА', '13A92B0C-EEE2-4803-9B73-BC61ADF9B3CA'),
(1909, 'КупцоваТВ', '7C202E71-AF25-430E-B4C9-0CDA0405BDEF'),
(1912, 'МироновМЮ', '5A9446A6-8859-4453-B684-18A4F827EFD7'),
(1913, 'НенюкЮА', 'EDA5C3F5-D74B-442D-B76A-5DED65CFD80E'),
(1914, 'НовицкаяЕА', '2BF5640F-E5FB-4BD5-99E5-9AE6A6E9C39A'),
(1915, 'ПетровИБ', 'E3A998CD-FDC3-4807-90C2-5BBB5FCD9113'),
(1918, 'РемешевскаяГВ', '641DC320-F43C-4051-88E5-57C9FC94283A'),
(1920, 'РябковАА', 'EE2D09E2-6066-44BE-BFC2-291227DDA9FE'),
(1921, 'СильченкоОЛ', 'AF6BDF6F-31A6-4796-94A7-7B09CD85F8E4'),
(1923, 'СтепаненкоМЮ', 'D08655CF-0D33-4EC4-AEEC-5F3FA7C9D017'),
(1925, 'ШевченкоАА1', 'A86068A1-5A7D-4AB9-8E7D-CC5FF303D793'),
(1926, 'ШеламковаНВ', 'A18F8384-FA7A-4D09-9679-C102D50B48A6'),
(1928, 'КиридонОИ', '0FB104F0-5181-431A-9AA3-E0C3781EF4BE'),
(1929, 'МенгилеваОС', '3BC58122-C4E3-4923-999F-4DF30387DD30'),
(1930, 'ФилатовСА', '007E7355-984A-4315-BE22-BB2A45C9CD26'),
(1931, 'ГаленчикСА', '8EBEB32C-FCAD-4676-9333-80D467E236D7'),
(1932, 'ЕгороваТИ', 'C649FAD0-5AC1-43E6-BCFB-8A0BDFED936E'),
(1935, 'ШохиреваЕВ', 'AAF4F49C-800C-4D9F-AD4C-574A5DEFCE70'),
(1938, 'НовиковаТС', '21C5FDB0-03B3-45F4-A8AF-878512EB6E35'),
(1941, 'ГородниченкоНА', '2080469C-05BE-47FC-8D4C-4E0F0321522B'),
(1949, 'ОстапенкоЛЕ', '756F6FD5-F5DF-40B5-8D75-65C53613DD9B'),
(1954, 'ШальневаТВ', 'B117F053-BBBA-49B0-B4C3-A08A1A11D650'),
(1956, 'ЦарьковаЕЯ', '5E5679CD-0CC6-4061-A969-F49423F67A27'),
(1957, 'ЗавгороднийЕВ', '395B1EB2-C491-49EA-AE4D-F6E8B59136CB'),
(1959, 'ПавельевИА', '9FF36306-81D6-43F5-A5A6-1DD10D6804B5'),
(1962, 'ЛушниковаАП', '6E1E753F-D479-41AA-9439-8DE803288D59'),
(1969, 'БаланеваМП', '5B0EDBAE-BC26-46C4-9595-8D7BA43DC991'),
(1979, 'КанунниковАА', '6D3F3D08-77A4-4B71-BADB-F2C16F7EDBD6'),
(1981, 'ГерасименкоАО', '54F65979-2C33-4D9A-809D-77B7A8994D3E'),
(1983, 'КушнарёвФМ', '0E00DE67-E219-471B-9BEC-810A2B809079'),
(1985, 'ЧернухинАВ', '70134F9F-1264-4BD8-9776-BEB5E8E51531'),
(1994, 'КарукРФ', '13F4C215-E4EA-48C0-83A9-D3D0A7A4EE39'),
(1997, 'ЦуккерДН', 'DB956015-C906-4830-8D9D-58D24B7D6492'),
(1999, 'БагаеваЕА', '1FB540CD-CFE1-4A35-A47B-D5BC9325DBB7'),
(2007, 'БабичМВ', '60826464-699A-4E56-86E9-C12360F928F1'),
(2009, 'РоманенкоМН', '58C9D8F9-994D-4EE1-ABD4-548E88A7DA49'),
(2017, 'ЧуриловаЕЕ', '04929EB9-1997-43BE-AE2B-44C873A2B5A0'),
(2018, 'СтрельниковаАГ', 'FBA05C5E-CA8B-434A-A536-9E12F27F7535'),
(2020, 'ЛебедеваВА', 'EF88E1D7-D6BA-4294-87A5-42ED04ED23F1'),
(2034, 'НоваковскаяМА', '3011288C-6C52-43F6-8908-B5A68DCD8786'),
(2036, 'ПомеловаЮА', 'CD28AD74-7EA3-45E2-A77B-421AF03B39DD'),
(2037, 'ШевченкоАВ', '9AED5FDC-9507-4080-B9C2-7369964C8E15'),
(2039, 'ЗаусаевКА', '2B64DE70-0933-4E66-A5FA-4E6160A0B8F9'),
(2042, 'ПоповаОВ', '49E290AF-09BD-4E67-A295-626387B473E0'),
(2045, 'ЕзекянАС', '45D53C8C-0A2A-4844-AD9D-57EE1C30BF9C'),
(2053, 'СидоровЕА', '1402FD65-5A64-40B6-B37D-49A86D0D3BC6'),
(2058, 'НефедьевАВ', '6387A961-25AC-4AEB-AF28-68733FCEB9AA'),
(2065, 'МартыноваЮГ', 'F1BFF408-4968-4C0E-B151-71AD1F75E7DE'),
(2068, 'ГамоваЕВ', 'C86849DE-A7A5-492D-A8F2-C055DA026A9B'),
(2075, 'ВородюхинаДА', 'B1355BF9-66A5-4635-AC6A-31BEC2012167'),
(2077, 'БуйноваОВ', 'A933B1F1-FE3E-479E-BEC4-6081C5668034'),
(2080, 'ЗенинаИП', 'F7F8CD0B-C239-45DC-B479-38211390A9D7'),
(2082, 'ИвановаВГ', '6DE2F260-566C-4C43-B176-CAE95849486D'),
(2083, 'КрутельАА', '93AD7A74-99B0-40B0-9883-1AB0AAED70DF'),
(2084, 'МалышкоАС', '57056680-EFF5-4196-9D9C-DBE1920AB2F5'),
(2092, 'СудоренкоЕА', '805EF7D2-BA1B-44A6-A129-AA8B58FE27B8'),
(2093, 'ЧувакИЕ', '92F654EE-AA49-4589-ACF0-84AD39D61F09'),
(2095, 'ЧерепановАС', 'EF908810-9B70-4A85-94D9-5B9D45B6C199'),
(2101, 'ОсмоловскаяИД', '2F3B0620-2394-4411-A220-94E774805A39'),
(2104, 'ЯцковаВВ', 'ECB5FCF4-3C0D-461F-9E0F-02DC6B4C383D'),
(2106, 'СучковаНА', '82892392-19C6-49CB-AF42-8B2606E1D140'),
(2116, 'НиконоваЦыгановаНА', '694262A3-C1C0-43F6-BBF6-E420AB498EB7'),
(2117, 'КаленковичЕЮ', '1C28EFE8-D577-4BDE-BA1A-451D56D08B2F'),
(2121, 'ЗаикинаОВ', '71F5FE3C-28E5-47E6-8F42-1621FAE8BB2D'),
(2122, 'МоревАВ', 'C87EC679-042C-4E69-966B-557BB8C64F4F'),
(2124, 'ИсаковаЕК', 'C2F9A78C-47E5-44A0-BF9D-5C164F2D989F'),
(2125, 'СтепикоАВ', '87552FF8-0B18-4B66-8476-5B8759E1545E'),
(2137, 'ГоловаАА', 'DF7ED15F-7AE0-448F-82E4-47B7021DA38E'),
(2139, 'НейфельдКВ', 'C7FD0B19-BEC1-4EDE-AC57-9D91C26CD5EA'),
(2140, 'ГрицоваАВ', 'C7142373-0D09-4FE7-B444-22992139AFA4'),
(2157, 'ИшутинаОВ', '06C52EA1-A73D-4382-925A-5A22E29AD5C9'),
(2158, 'БондареваЕА', 'BC323F7F-AD68-44AC-AE6D-A6DC9085EFCE'),
(2173, 'Анохина1', '2FA38EB1-A151-40E3-A9B3-464AFFDF340F'),
(2180, 'ЕлисеевСВ', '34CB10EB-E12A-45F6-B1F4-17408AEC6A5D'),
(2183, 'ЕльчинАП', 'A8E81074-C488-434F-8C9A-1CBFBC4785EF'),
(2186, 'ОсиповЕВ', 'A5988E45-DBA8-49A7-B5A2-65A17363DE4E'),
(2195, 'ГанченкоНН', 'DF4F045B-E359-446E-8A85-D6E9F886385F'),
(2199, 'ЕгороваЕВ', '1A2BE536-11EA-40E6-9406-1CEBDC2EA8A4'),
(2204, 'МышаловаСЕ', '1DD63210-2D16-4AEB-B98C-F2AFA38FC4C9'),
(2211, 'СеменовГН', '7604E56F-74B6-4604-92BD-3FC057411783'),
(2228, 'СердюкГГ', 'F05EC137-5C5F-429F-8770-4A8B5778CE13'),
(2247, 'ЕртневаНИ', '10B337CF-A364-4AB7-B0E0-B43F195AC104'),
(2248, 'ТимоховаСА', '0044795C-5CEC-45A3-AD02-A0517805DAD8'),
(2249, 'ЧмутоваТИ', '532378ED-F1A4-4951-B777-D58B44745D60'),
(2250, 'ГамолинаИА', '04965E7C-36D5-41A4-A0F2-5DBDD2766449'),
(2251, 'СтолбероваМИ', '7F83B2F4-1181-49E1-89EB-43BB6D3D9889'),
(2257, 'НикитинаОВ', '962F0B5A-4D80-4BB6-AD08-988B025F8ED2'),
(2259, 'БелованскаяМН', '955AF87B-D0B9-43DD-96BB-C9981BF55851'),
(2272, 'АвдееваНС', 'E37CEF1D-028D-49F8-B20A-8DA29632F089'),
(2276, 'ИвашкинаОЕ', 'FF6DD72F-9A38-477C-AF12-26DD0ABC02E2'),
(2285, 'ГореликВН', '51DC35E8-2331-40C1-871A-96F36EAC6703'),
(2286, 'ВозыкаЕЮ', 'CED946A6-58A3-4ECE-8E86-F72CF3130F26'),
(2291, 'БеловаСА', 'D204A0A7-F2BA-4B2B-8707-5D5EBC249E86'),
(2292, 'МочаловаЕН', '5B85F3EE-42C2-480B-A862-075CBFE2601C'),
(2303, 'БударинаНН', '30E50D00-EC53-490E-9700-6C640AA97CE0'),
(2304, 'ГерасимовааЕС', '4AB63581-38AF-4B4F-BE3B-7BC60DA8EFC2'),
(2313, 'ФоминаЕА', '2A9136EE-D98B-4B50-9959-F7720ABE0B4A'),
(2317, 'СрывалкинаОО', '80E62A7C-FF8C-42F7-87C8-C0E6811C78C3'),
(2320, 'РаковскаяДЭ', '23154E15-2EC7-405A-B242-4B56B39A5954'),
(2322, 'ЧудноваМВ', 'C726E549-556D-4FF4-A4BE-DD3F936EDE53'),
(2325, 'ЗверяковаЮЕ', '990A85D4-97C2-4893-8F48-49E761EC580A'),
(2326, 'ЧерныхМА', 'A145051D-61BD-48C8-919C-464390DB81CD'),
(2329, 'ВитерМС', 'F54B1DBA-07C3-4ACD-BA08-CD20CF86DFD1'),
(2332, 'ЛопареваВС', '30E9C155-8153-48D9-843B-2D361FB96751'),
(2334, 'ЦарёваЕВ', 'D6D2D13E-4530-4621-BC6B-C23C1185E594'),
(2338, 'ГлазуноваНА', '326ECD13-5854-4F95-9940-D5A334DC9CC5'),
(2339, 'КизимаЕС', 'D3E645EA-43D8-4729-AA2D-60CD2E089984'),
(2341, 'РоговченкоДА', '4A258878-3DFC-432D-9E3F-151041E7C2C6'),
(2351, 'ЯзмухамедоваРР', 'F03F0F3B-D51D-4D42-83BF-FDF27935CBEC'),
(2355, 'СемёноваЕЮ', 'ABC1C256-E6F2-40D4-AE92-C42B31B753AD'),
(2356, 'ЛеухинаНС', 'EBA32D60-CAEB-4813-8939-83D963C6A7EB'),
(2357, 'СазоноваИВ', 'A11E5D14-7485-4C0F-9568-E438E635A24E'),
(2368, 'БрегадзеЕЮ', '28CFBA85-C0E7-487E-8B38-38024B2A0BEF'),
(2369, 'РоговченкоАЕв', '226CABCA-2C12-481C-9F80-7D000D87271D'),
(2376, 'ЛандышевЮС', '74F42067-717C-41C2-9DAE-C2FF8CD90E58'),
(2377, 'ДржевецкаяОН', 'CBBECD16-D87A-4285-8D8E-5FEA6E7C0201'),
(2381, 'ХолявкаГН', '25266201-FD9F-4804-B6E3-D6A07DFE573F'),
(2382, 'ЛуценкоВТ', 'FE5B343D-8ED1-4972-9EAA-B7289C87B930'),
(2383, 'ЧумаковаЮВ', 'D861BE99-D9F1-487D-A7CF-7E40B0AD1AF9'),
(2384, 'ГончарМВ', '8EF5E01A-7390-462F-8C80-9FAC23B05607'),
(2389, 'СазанскаяИП', '5C14E0A5-BEB4-4D5B-8442-0E025B74ADFE'),
(2390, 'КлимоваСА1', '4CCA30B1-035C-44F4-A4D2-71381FB37C4F'),
(2392, 'ЖариковаСМ', 'DD7CF55C-E547-4311-8448-0EC2E90D6ED9'),
(2393, 'ЯдыкинаНИ', '87EA5502-CC64-4C4F-BBD9-4DE447B6DCC6'),
(2395, 'СергаОВ', '3380CD53-83F1-4341-BFA5-77D49FCF8605'),
(2400, 'ПоплавскаяВА', 'D65F89EC-1996-454A-AF35-6A020BCCDD83'),
(2401, 'АнуфриеваАЕ', '7FF6FECD-E19F-4486-9A6F-FEDBD633B90A'),
(2402, 'КнигаАН', '3ADF4E63-854B-4C64-8B48-CC7FC2B366BE'),
(2406, 'МулявкоВС', 'B6B613CB-D5ED-4D6F-874E-BB77D1869189'),
(2407, 'КапшукНВ', '80CD828A-F776-4AA1-925E-097A7D477E6A'),
(2409, 'ВысоцкийИИ', '1228EF03-6BE9-447E-8BC3-3AEC12E07C97'),
(2411, 'ХицкоВС', '07059BA8-D9CE-407E-9941-D701E5606995'),
(2412, 'РадченкоТА', '8EB9E0FE-52B4-457C-9705-0C336AA7F286'),
(2413, 'КомковаОА', '9241757B-D202-490D-89DA-C5E19A428FA7'),
(2414, 'КуцияНЛ', '61C18CEF-2C8E-4B3B-A048-0EBFA37C5482'),
(2415, 'СухоносоваЮН', 'C32614A8-4771-4382-A7B2-319972FC61A1'),
(2417, 'БурчакАК', '3D835CEF-28C8-4FE5-8C53-F4BEBD3BC393'),
(2418, 'КондратьеваАА', '6283590A-23AF-47EE-ABD7-ED582BAABD82'),
(2419, 'КрамаренкоЮМ', 'EF5C06E9-5FF7-4EA5-B0A6-294E99AD81AE'),
(2420, 'ПивашеваДВ', 'FA6CDD7A-E892-4636-AE59-7CBCECEE9DEF'),
(2422, 'АрсабиевТЧ', '042F9FC7-C58D-4AAF-ADEB-DDA5F3A0A728'),
(2423, 'МенжулинаАА', '1788D73F-E79E-4DB1-BE8F-3C7781E7317A'),
(2424, 'ИсаевВВ', 'EA35F3B4-BF9D-46B0-B864-802E698FDB04'),
(2425, 'ЧумакВС', '8CF8F399-E364-4347-99E0-E92DA1A0AEC5'),
(2430, 'КолобоваЕС', 'B89D3352-763A-4EFC-8B3A-C6310226BF8C'),
(2431, 'ГанжаТС', 'C3A64DB9-DC06-41CC-BEBB-7EAB2AB71242'),
(2437, 'КлюкаОМ', '1B919982-D5B8-4A6D-B333-33336EE5F910'),
(2439, 'ПодзеринаОП', 'A9F5897A-8860-4173-A2BF-CB2A64DFF3AE'),
(2441, 'РытовАД', '9A338FC7-4FFC-4B58-A468-5ED283BC0278'),
(2442, 'МаринкевичНМ', '2A0E01A9-4E66-4B27-8973-4BBC4B5B5AE4'),
(2443, 'СомоваМА', 'F2C14292-1241-47E1-AE47-7BEBB75B4F74'),
(2444, 'МитякинМВ', '3BBFE0B9-0CF4-4915-BDB6-87F49B524C48'),
(2447, 'КафтайкинаАЮ', '29AEB545-A457-412F-A579-FD8ADBAAC745'),
(2448, 'ЕзекянЕА', '25E9C9AC-FC03-4AF9-B308-9317F157D153'),
(2449, 'ГрунинааВА', '6F72D489-00F8-4AA2-A2B4-01A7F6E79F9D'),
(2452, 'НовгородовДА', '228832D1-23F7-4A82-8DB8-4928DDC0DC0C'),
(2455, 'СнегиревДС', '534BE25B-9AF1-459F-AEE4-627AEDAC2BCC'),
(2456, 'ПатринаВА', '1BC27D4D-7825-4173-BAE2-E660DCA8CE3B'),
(2458, 'милосердоватн', 'EC7BA4E0-FFE5-4AA2-9054-D098FB2E635C'),
(2459, 'ДзюбанМВ', 'F0B20D2F-E765-435E-9801-4C01B666425A'),
(2461, 'ТалпэВА', '15F240C9-C08A-426C-A238-76373BF43AFB'),
(2464, 'ЖилковаВК', '23F05C28-3862-40AF-BABA-B60BAC65F67A'),
(2465, 'КучикАВ', 'BC880F6E-CC45-4558-83E1-5B4833853473'),
(2467, 'КомароваИС', 'DB91C65A-9BA2-45EE-896D-243DB7B9FBE9'),
(2468, 'ПапуцяИС', 'EF7BE4A9-B664-4DA0-B1C2-0FA0136D1B40'),
(2469, 'ОрловаВВ', '0203D9BE-0348-4AD5-AE26-143A1A88F509'),
(2473, 'ПриходькоТН', 'DC2F4793-EFF9-4E19-A428-A219F65D9C50'),
(2474, 'БойковаОК', '34F055BE-66E4-46AF-AE0D-EDB5B0B87432'),
(2477, 'ПищулинаТВ', 'F85E8F77-9CB7-4314-951C-754D23F45647'),
(2480, 'АрсентьеваЛВ', 'D85129DD-7AE6-4A3F-94BA-24B0577B9289'),
(2481, 'ШиховаДВ', '3B29474D-E0FC-460E-A9A9-3F8DEE742165'),
(2483, 'МайороваАО', '0CAF1C74-D70A-4E13-A018-DE0F5D125555'),
(2485, 'ДерябинаЕА', 'AB0C81A2-7401-4999-B275-50B1BFE4593B'),
(2486, 'ВислополовАВ', 'F8CE0C5A-7D42-483B-A40E-DE66DFA394A8'),
(2487, 'ВислополоваЕА', '50F12E82-8D20-48D3-A496-5C3D7EE20C41'),
(2488, 'ВышегородцеваОВ', 'BB3009EB-D45D-4E44-8FBF-28342DC1E062'),
(2489, 'КолотийОВ', '4ECF8E76-A6ED-4FCD-9703-745123801CAC'),
(2490, 'ФроловаКА', '8898C903-6B11-414A-9786-09A65440BB15'),
(2496, 'ПристинскаяАА', '4E63A293-FC3D-4958-A7BA-2E5F0DB444BA'),
(2498, 'ДрагальчукДА', 'FD210DB7-4B7F-4977-ACE9-336C79BBA65B'),
(2502, 'МаксимчукОН', '9641C352-ADCC-4868-BC25-FD881DF61FEA'),
(2526, 'МавринскаяКА', '70C2DE86-40FC-4A06-A681-31BCCC00D89F'),
(2527, 'СорокинаВВ', '60FD0A64-92E3-4FEA-9937-B4FB8B5BA6BD'),
(2531, 'КузьминаЮА', '46BCA22B-EA44-4512-8E46-C1F7DA038BF9'),
(2532, 'СамигуллинаЮИ', 'A2E9BEB2-F074-435C-ACEF-5C6434C741F5'),
(2534, 'МакароваЕЮ', '772BA985-81A3-4EBE-AC9B-DD3825F20D9A'),
(2535, 'СолонинаТН', '9A4BE7D8-3026-4005-9F75-2F74CB6C9816'),
(2542, 'ГнатенкоСВ', '4A592117-A075-4BBC-8784-0FA05F3F3F87'),
(2543, 'КирилловаЕН', 'E9B61012-AB38-4478-8EF7-D164B2B90DB2'),
(2544, 'НовиковаВН', 'BC1745B0-A838-4C43-9718-85C8337D1236'),
(2546, 'ГесальАА', 'EE17DE42-8FE3-41A3-8D6E-CDDCA33DAAC7'),
(2547, 'МакароваАВ', 'B50499CC-FB2B-4F8C-A4A2-2A83C0112E01'),
(2548, 'МинжулинаНС', '8EC83CA2-5544-4019-9977-800FA3A96E87'),
(2550, 'БичеоолХЮ', 'D36BA74A-BF56-449D-8D85-FF966C9C207C'),
(2551, 'БутаевИИ', 'C6170513-0582-4B94-A14E-14A3039DF626'),
(2552, 'ЛаппоИА', '3F328671-E141-404C-8E61-F38FA63E2FA3'),
(2554, 'ГибалкинаЮС', '68BC9EA3-CD35-45C4-8B58-FBB87B09761C'),
(2555, 'ГераськинаСВ', '29BE2293-2C62-457D-A669-ACAEF43F97C0'),
(2559, 'ГриценкоДА', 'DC418057-4DB9-4DC2-8013-F20849D7AFB8'),
(2567, 'РогудеевСА', 'CABB22E6-D8F4-4C5B-BE5C-3736539A53B8'),
(2568, 'ГудоваАН', '3CE1B699-D9F7-4572-BE2A-B7C4C40EBBEF'),
(2569, 'ГаранинИА', 'E19E2EF4-4E5F-482A-B4F4-7461FBAF3A5A'),
(2570, 'ГлушковЕА', '3880B5A1-B72F-47C7-88D0-AFD47CB4A804'),
(2574, 'ВаржавиноваВВ', 'F615A133-8C0B-4132-BAEA-2E21D3FD63F3'),
(2575, 'ЯкубоваЮА', 'EDD88B16-3E03-4E53-B90C-694434FE36E9'),
(2577, 'ЗубковаМВ', '4D841F85-EDDE-46BE-AD36-EAD57E0D8067'),
(2578, 'ГупалоАС', '005B4535-9552-4A2A-93A2-82C41F50E8AF'),
(2579, 'ШквырёвРА', '0D1CA277-9825-4F2D-BD6D-227416F23325'),
(2580, 'ГалиеваКВ', '4ECC5137-4DBE-45ED-A71F-D9FF02878A93'),
(2581, 'ТрощенковаДА', 'BA2995E7-B9D3-445E-A6C3-676760290789'),
(2583, 'ВаяйАС', '233835AA-0580-478B-ABC7-F5DD7D0F42D2'),
(2584, 'МихайловИВ', '59001F34-777F-4275-A3CF-8B2AEEADE890'),
(2586, 'МальцеваТА', 'A5ABDBE5-ADE3-42D6-A632-4E21D966EB0F'),
(2597, 'БезрукНВ', '93FB0E15-FE33-4293-B5A8-65522E6A21C9'),
(2601, 'ПуховСС', '458F991E-07FE-4381-9CF5-3BF0C16D9E4D'),
(2608, 'РадионоваДС', '701A550E-06E9-47FA-A333-C314F9368391'),
(2610, 'ТрофимчукОЕ', 'CC19E379-1A62-4F82-BC1C-59018ACEAC72'),
(2612, 'СороговецВА', 'D2D3D23A-6D62-4DE2-B226-BC5D71FFA6D5'),
(2616, 'МитякинаАС', '60B4DD58-9CB0-4577-9E6D-CCC306E7CE0D'),
(2617, 'БахваловаАД', 'E0335990-5275-410C-A1F5-30362F069483'),
(2619, 'СаливонОН', 'BAACF8DD-7103-42B3-9EFB-912445FB1AA1'),
(2620, 'СавоськоВР', 'CBA66F6D-4C98-4AB9-BE45-4F37BFC3CB58'),
(2621, 'МалыноваИГ', '9317B998-5890-4F89-AA6A-2C3D5C43286B'),
(2626, 'ВоротынцевааЕС', '7DF8C55D-3AD6-4578-98CD-13C09C91CD98'),
(2628, 'ШколаАВ', '970D2DF9-1115-403D-B737-FC6873A3C33D'),
(2629, 'ГриценкоАА2', '3BDF062F-D75C-4DB0-BC84-783CDAE44F70'),
(2633, 'ЛепехинРА', '43D5C92F-F871-431C-934E-9A516E841D89'),
(2640, 'АстанинФМ', 'B2980846-550C-46D7-987E-6D36B5858DD7'),
(2641, 'КомиссароваТИ', '235989DA-0518-48CB-B462-9216E5B78166'),
(2647, 'ХристинаМВ', 'C277716C-A5E9-4582-8EF7-3BA753F0266F'),
(2649, 'СтроковаТС', '2C4F5F89-7985-4184-A0C4-BA3A29FA0B48'),
(2650, 'АндрееваМВ', 'E455E19F-E215-4204-AF9F-641881147BF6'),
(2651, 'НосковАВ', '14E58AD8-3F5D-4455-8C5D-12B7B056C21C'),
(2652, 'ЩурАЮ', 'C9C88B36-602C-46BC-8775-036F69CA2799'),
(2653, 'ЭглеТВ', '90A40585-003A-4AEF-8B0D-89F82A375C79'),
(2654, 'СтепаненкоЕА', 'AB8E4691-DC11-4D3E-A931-9C45E4FDAB43'),
(2655, 'СмирноваНЕ', '895F8E30-AD76-4B07-9CE5-31106CFD8E6D'),
(2656, 'БелоусРА', '63FF090F-E31B-428B-B43E-375715BD9C94'),
(2657, 'КопытовскийВЮ', '1487040D-CF04-44B3-AC93-E5D40F8D1320'),
(2658, 'РоссихинаСП', '58F3A2B5-A0DF-4FDD-B601-1DA7314C1C0C'),
(2659, 'КуцОБ', '5F7DF537-D6E6-4FCD-A5D9-D209D0FDE862'),
(2661, 'БутузоваЕЛ', '809AF8D0-8057-4AB0-9CE5-9257302A7713'),
(2663, 'НовоселоваАВ', 'E11D0283-42D6-4F06-83CF-13386E79F65D'),
(2664, 'ЛуценкоАА', '47ACCC6C-2BD0-4577-BFBB-C4C741DF7D56'),
(2665, 'ШешераТВ', 'F643DEBD-9085-4B84-8BA7-40D22F4D6306'),
(2668, 'МелисовБТ', '669DE2B9-8610-4BBF-AB13-1991BD2F4DE7'),
(2669, 'КрукДР', '773F3762-0165-4BB2-91E4-72805F6850E5'),
(2671, 'ПинегинаДВ', '441D5292-9301-4399-8080-73429B7DD431'),
(2677, 'НикишовИВ', '641A06E3-24BB-4102-9BF9-529BC2E04F49'),
(2680, 'ВдовинОБ', 'B9A1C099-FB5B-41E8-AE2E-890494C4EF04'),
(2682, 'ДолгоруковаКВ', '01E345E8-8801-4764-BAF5-619BC64FDAC2'),
(2686, 'БоваТН', '5FA732C0-F8CD-413D-AFF6-7EA18B980309'),
(2691, 'ЗвереваСГ', '1C0FCE82-6D29-4DCA-AB60-666AF97DE254'),
(2693, 'СухоносДМ', 'DA3E2914-C19F-448B-8743-1A4CB744E4EB'),
(2695, 'АлзамановаСГ', '9ED9CB9E-7C0E-42B5-8D0F-AF749451F4AB'),
(2697, 'КиселевОА', 'F19F3D6F-DB6F-4032-A3D5-AE3C082A9B88'),
(2700, 'СтроковПВ', '47CD4395-7D9C-4F4A-9B2C-C3C27A718608'),
(2701, 'КольцоваСД', '69F58F8C-D5BE-4E24-A713-21BD33E2319B'),
(2702, 'СоловьеваМИ', 'EB1924BE-E4A3-4456-BB59-FF7119F76DAD'),
(2705, 'КрживокольскийВВ', '88147C41-BE6D-4A4F-A868-006D22CBCE49'),
(2706, 'ОсиповаЕА', 'C0C0523E-F6C5-484D-B960-45E3667E865C'),
(2707, 'СамаринОВ', '0CF56F43-DD1B-454E-BCB0-40952A6D6960'),
(2708, 'ГодованюкЮВ', '7804C0C5-8FF2-46BD-810D-AF7B00C48DE4'),
(2712, 'ЗаикаПА', '1E33F796-48B2-4919-879E-8345EB27B0EA'),
(2714, 'СиманихинаЮС', '2E9C31B9-AB7A-41CF-9A75-0D90DD1B7624'),
(2718, 'СуховЗА', '3ACE7775-3A7E-45F7-9A06-E8256142B9F0'),
(2724, 'АндрееваЛА', '6F07CF86-7185-42C6-AD32-B24EF50EEE1A'),
(2726, 'ВороковаВЕ', 'EF3AC9BF-2827-480C-A841-3D50E4895DEB'),
(2728, 'ЖуравлеваВА', '6C9A87DD-4021-401A-A0AB-43EA447B2F21'),
(2729, 'ХайковГС', '2F55A6EB-AE61-4D7F-85F3-A1662420ACFC'),
(2732, 'БогомяковаИН', '480287C6-F625-4AD3-A5B1-0CD28FD8CB5B'),
(2733, 'ПчелинаКЭ', '12DA62B1-C98C-48C4-AEAB-2907E48D059E'),
(2740, 'ШадураАА', '94758DC2-502E-4C89-B4BC-02C9ADFD970E'),
(2742, 'ЦыбенкоДА', 'D4B4CD5C-8816-43AA-B72A-81299ACD7001'),
(2748, 'ЛежакНВ', 'AAFFD806-CF91-4380-99C0-9C2C785D26CC'),
(2750, 'ТарабанькоВВ', '2AAB4512-1795-4B4D-93A5-6102464EBA62'),
(2752, 'НэлинВА', 'EF24AD77-4160-45AD-97CA-AC9F0376107B'),
(2753, 'АндрияновАС', 'FC07084B-F709-4C9F-BE0D-181FA5EE3A0C'),
(2755, 'МолокинДВ', '4C3C0388-CA0C-4960-BBAF-D924B446E746'),
(2756, 'АлтунинаНЮ', 'FDC74D58-CA49-440F-8207-C3FE77790AAA'),
(2758, 'МалярЕИ', '63E2CE6B-E3F6-4F86-811C-6D25483690E2'),
(2759, 'МаскинаЮН', '0928A006-14AC-4C8D-8080-7160A25E1760'),
(2760, 'КотенкоДВ', '24ECEF9D-F419-44AE-9BC2-A7AAA6272D44'),
(2762, 'ЖоровНЕ', '7C556ABD-53C3-4220-9BD6-EBF15B6B6C7E'),
(2763, 'КурамшинаЯЮ', 'FEBC38EB-A4CD-46E5-9AD0-B8BD41B5F000'),
(2767, 'ЯкубовскаяТВ', '8DCE8EA3-5313-4952-AD14-238B8B527A5E'),
(2773, 'ТребикАФ', 'DEEB52F4-BD7B-49A2-A4DD-293DDD4846A9'),
(2775, 'ГасымоваНА', 'BD2AE615-9775-4DC1-965E-7D85C41640DC'),
(2796, 'ПечерскаяЛВ', '81E9E69E-9974-459E-BB80-F60DB572888C'),
(2798, 'НедидСН', '9024AA6A-4C0B-454F-B2AB-D4AA02605DF3'),
(2809, 'ЕрохинаДВ', 'DDCDDBAE-6021-42BF-BBCB-D156F1AF5CA9'),
(2812, 'ШевченкоАФ', '1E22A9BC-3A55-4D93-B59F-DDB4D0EBE09F'),
(2813, 'БонадыковаДК', '873343AC-1373-4EEC-B907-6E95A1E869C0'),
(2820, 'СидоренкоКП', '1B8C5644-2EF3-4C18-9559-5EDC09AB8EB0'),
(2821, 'РароваМВ', '12E87C0F-6B7B-472A-84FC-90E520A7FC96'),
(2822, 'КазаковаТВ', 'B9CB7FCF-6CF0-4296-8E7B-AE569DDAB043'),
(2823, 'ЯнькоАЮ', '192449EC-23D1-424F-A812-6E0574C7C4F6'),
(2824, 'СмирноваВА', '5D8AE4C5-CAA2-493B-9E81-D75E6E180EBA'),
(2825, 'ДикаяЕА', '4564BAEB-F12E-4E26-A674-58CC68407D87'),
(2827, 'РешетькоЮА', 'C4058C08-4BD7-4067-B3CD-F8BAB9EE7C1F'),
(2829, 'СадыговаЛЧ', 'FA6E4908-0250-4C18-9BE5-0F5F0DD6E869'),
(2830, 'ЕфремовВА', '591564B3-3F3D-403F-87CB-B7D602134ED1'),
(2833, 'КомароваСИ', 'B83B7C6E-D519-4FC4-B4CA-6ADD400C2A3A'),
(3833, 'ТеодоровичКВ', '6B30C7F9-C10F-4406-8BA4-25206CA128FD'),
(3834, 'СимагинаАЕ', '202825F8-DDB0-4FED-B57D-90570749CEC4'),
(3835, 'УтюшеваАС', '301411EA-FE5A-4310-AF67-8FC34D0900CD'),
(3836, 'ЛукьяненкоВН', '6E6A4A70-FFD5-4F22-8E8E-A86F620ABD8A'),
(3841, 'ЖилкинаМИ', 'F8F0D141-9974-4417-AC72-8B651935121B'),
(3847, 'ГерасименкоАО1', '13318490-1945-4A05-B4A1-2A0547419278'),
(3848, 'ШевчукАА', '98D380CC-842A-4ACA-AB1B-3DA334873FCB'),
(3850, 'КузьминаЕВ', '153D3FD6-DFDB-4C27-847B-D8651C1A0D15'),
(3852, 'КондратовГФ', '8EA77F78-E4D1-4723-853C-1E3A502C09E1'),
(3853, 'КирилловаЮВ', '9A797C6C-A955-4DC5-BA61-501F6558F450'),
(3854, 'ЛитвяковаСВ', 'D671CBEA-C41D-4B1C-97A6-AE62E0979B75'),
(3857, 'ПаластроваАР', '016A4871-34A3-4813-8B70-558EFDAC02AE'),
(3858, 'СкабелкинаАА', '7C36B9E7-796D-4327-954A-473D164767CF'),
(3859, 'БуйноваЮС', '48B836B6-46B6-422B-A820-BAD95CDE6D9F'),
(3860, 'НикифороваПС', 'C46064EB-5ABB-45E9-9E1F-1643622362A4'),
(3864, 'НизовойОО', '718571BC-C948-41AB-83C0-B21771C7BE9C'),
(3865, 'БирилоТВ', '6B60A2CE-DAF7-4C74-8154-5792DDC69235'),
(3866, 'КочарянАА', '1289BB00-28B4-46AA-8963-0F14A37D833E'),
(3867, 'СевостьяновЕВ', '41AC5234-726A-4153-89D1-6BC6EC8D901C'),
(3868, 'МонгушАА', '8B10C34E-3173-4EAC-B286-359E55B169EF'),
(3869, 'МухутдиноваДА', '1DE00949-1665-4DE6-AD55-5DBB73A162B9'),
(3871, 'ВоронаНД', '8254C74C-3DDA-4C5D-86FD-C508EF0D2F7F'),
(3874, 'НамаконоваВС2', 'FAC76471-2539-4650-950A-27D9158FD038'),
(3876, 'РыжоваЕА', 'EF614981-8E14-47D3-9FA6-B2ECDD25E76C'),
(3877, 'БерезнякСВ', '9BAE2A3A-36BE-4E3B-926D-E8EC06C526A8'),
(3878, 'ГерусВО', 'A14FCF9E-E1EE-4DD8-A558-04227E700B9A'),
(3880, 'КурбонкуловАВ1', '5ED7940B-DF32-4F21-9B6F-5977B6F2553C'),
(3882, 'ТенДС', 'CA9E58AA-76CE-447F-B9AF-F8AA591FF49C'),
(3883, 'ГнатенкоГА', 'D202C41E-5032-45FB-ACED-888482E1D9E7'),
(3890, 'ПетренкоРС1', '8660CFD1-4D36-4B0C-B2EE-B90984CEF61C')
]
return user_data
def test_database_connection():
"""Тестирует подключение к БД"""
try:
db = SessionLocal()
# Простой запрос для проверки подключения
result = db.execute(text("SELECT 1"))
db.close()
print("✓ Подключение к БД успешно")
return True
except Exception as e:
print(f"✗ Ошибка подключения к БД: {e}")
return False
def test_password_generation():
"""Тестирует генерацию паролей"""
print("Тест генерации паролей:")
for i in range(5):
password = generate_clear_password(12)
print(f" Пароль {i+1}: {password}")
def main():
"""Основная функция для выполнения обновления паролей"""
print("Начало обновления паролей...")
# Тестируем подключение к БД
if not test_database_connection():
return
# Тестируем генерацию паролей
test_password_generation()
# Получаем список пользователей
user_list = create_user_list_from_data()
print(f"Найдено пользователей для обработки: {len(user_list)}")
# Выберите метод обновления:
# 1. Через ORM (рекомендуется)
print("\nИспользование ORM метода...")
try:
updated_count, results = update_passwords_with_random(
user_list,
password_length=12,
output_file='updated_passwords_orm.txt'
)
print(f"Результаты (ORM):")
print(f" Успешно обновлено: {updated_count} пользователей")
print(f" Ошибки: {len(user_list) - updated_count} пользователей")
except Exception as e:
print(f"Ошибка при обновлении паролей (ORM): {e}")
# 2. Через прямое SQL (альтернатива)
# print("\nИспользование прямого SQL метода...")
# try:
# updated_count, results = update_passwords_direct_sql(
# user_list,
# password_length=12,
# output_file='updated_passwords_sql.txt'
# )
# print(f"Результаты (SQL):")
# print(f" Успешно обновлено: {updated_count} пользователей")
# print(f" Ошибки: {len(user_list) - updated_count} пользователей")
# except Exception as e:
# print(f"Ошибка при обновлении паролей (SQL): {e}")
# Создаем удобный отчет
if 'results' in locals():
create_password_report(results)
def create_password_report(results: list, filename: str = 'password_report.txt'):
"""Создает удобный отчет с паролями"""
with open(filename, 'w', encoding='utf-8') as f:
f.write("ОТЧЕТ ОБ ОБНОВЛЕНИИ ПАРОЛЕЙ\n")
f.write("=" * 50 + "\n\n")
success_results = [r for r in results if r['status'] == 'SUCCESS']
error_results = [r for r in results if r['status'] != 'SUCCESS']
f.write(f"Всего пользователей: {len(results)}\n")
f.write(f"Успешно обновлено: {len(success_results)}\n")
f.write(f"Ошибок: {len(error_results)}\n\n")
f.write("СПИСОК ПАРОЛЕЙ:\n")
f.write("-" * 50 + "\n")
for result in success_results:
f.write(f"Логин: {result['login']}\n")
f.write(f"UserID: {result['user_id']}\n")
f.write(f"Пароль: {result['password']}\n")
f.write(f"GUID: {result['guid']}\n")
f.write(f"Хеш: {result['hash']}\n")
f.write("-" * 30 + "\n")
if error_results:
f.write("\nОШИБКИ:\n")
f.write("-" * 30 + "\n")
for error in error_results:
f.write(f"UserID: {error['user_id']}, Логин: {error['login']}\n")
f.write(f"Ошибка: {error['status']}\n")
f.write("-" * 20 + "\n")
if __name__ == "__main__":
main()