
Часть I. Дом стоит не там
Глава 1. Сорок девятая квартира
Сканер отказался начинать съёмку: штатив стоял с наклоном в четыре минуты. Анна Ланская переставила одну опору с размокшего асфальта на бетонную плиту и повторила проверку. Прибор повернул головку, нашёл две мишени на фасаде и вывел на планшет зелёный круг.
Дом №17 стоял за временным ограждением, серый и пустой. За ним дорога упиралась в бетонные блоки, а между домами лежал почерневший снег. Вода уходила в трещины у бордюра. Ночью она снова замёрзнет и раздвинет их сильнее.
Анна приехала по контракту на два дня: обследовать последний дом, передать модель и уехать вечерним поездом. Матери о приезде она не сообщила. В Березниках у неё оставалась работа, остальное можно было не трогать.
Одна створка входной двери просела и упиралась углом в крыльцо. Прораб пытался открыть её ломиком, но металл только скрёб по бетону.
— Уберите ломик. Вы двигаете дверь вместе с контрольной маркой.
Прораб посмотрел на белую наклейку у косяка, положил ломик на крыльцо и отошёл. На металле осталась пыль.
— В десять зайдут демонтажники. Если грунт позволит.
— До десяти успею. Где Дарья Кетова?
— Не приехала. Телефон выключен.
Анна набрала Дарью. После пяти гудков включился оператор. Она повторила вызов и убрала телефон в карман.
Первый круговой скан занял меньше трёх минут. Луч прошёл по фасаду, оконным проёмам и краю крыши. На планшете появилась пятиэтажка из серых точек. Верхний угол дома уходил от вертикали на семь сантиметров. Для расселённого здания у опасной зоны это не было новостью, но Анна поставила метку и сохранила замер.
За девять лет работы Анна привыкла доверять модели только после проверки исходного пакета. Серые точки показывали начало расхождения.
Охранник подошёл от будки и проверил её допуск. Потом указал на дверь:
— В подвал не спускаться. Вода пошла по восточной стене.
— Подвал есть в задании.
— Сегодня его нет.
— Тогда внесите ограничение в журнал.
Он разрешил работать только в тамбуре. Прораб нажал на ломик, дверь поддалась. Внутри пахло мокрой штукатуркой. На полу лежала ледяная корка, поверх неё натекла вода.
Анна поставила штатив у стены и запустила новую станцию. Лазерная головка вращалась почти беззвучно. На экране появился первый этаж, затем лестничная клетка. Сквозь пролом в перегородке прибор собрал край ступеней, ведущих к подвалу.
Под нижней площадкой шла ещё одна линия. Она опускалась ниже уровня, указанного в проекте, и обрывалась в темноте.
— Здесь был приямок? — спросила Анна.
Прораб наклонился к экрану и прищурился.
— Кладовка. Дворники ставили инвентарь.
— Кладовка не уходит вниз на два метра.
— Значит, программа добавила.
— Это сырые точки. Программа ещё ничего не строила.
Анна увеличила фрагмент. От мокрого пола могли появиться ложные отражения, но не последовательная кромка. Она отключила цвет и увидела семь ступеней. Нижняя уходила за бетонный край.
Она перенесла прибор на другую сторону тамбура. Контрольная марка у двери сместилась на одиннадцать миллиметров, хотя крепление осталось целым. Анна вернулась к первой станции, сняла марку крупным планом и сравнила координаты. За время съёмки косяк вместе со стеной сместился внутрь.
Ошибка привязки всё ещё могла объяснить лишнюю линию лучше, чем неизвестная лестница. Анна не любила ранние выводы. Если данные не совпадали, виноват был прибор или человек; оба варианта проверялись повтором.
Анна заново сняла мишени, привязала станцию к внешнему реперу и запустила полный проход. Вода капала с трубы у потолка в пластиковое ведро, оставленное рабочими.
— Дарья часто сюда приезжала? — спросила она.
— Три раза за неделю. Ставила у стены маленький датчик. Хотела ниже, но охрана не пустила.
— Что она искала?
— Сказала, отчёт не совпадает с землёй.
Сканер закончил оборот. Анна открыла данные до сшивки станций. Вторая позиция показала тот же спуск. Семь ступеней совпали с первой съёмкой в пределах трёх миллиметров. Ниже них проступил угол площадки, затем прямая стена.
Она проверила высоту прибора и время записи. Ошибки привязки не было.
За проломом в перегородке проходила щель шириной с ладонь. Анна посветила внутрь. Луч упёрся в арматуру и чёрную воду. Прямого обзора вниз не было. Лазер мог пройти между прутьями, но тогда на облаке остались бы отдельные точки, а не связный контур.
Она наложила две станции друг на друга. Лестница не исчезла. За ней обозначилось помещение длиной около пяти метров. Его верхняя граница лежала ниже официального пола подвала.
— Сколько квартир в доме?
— Сорок восемь.
Анна открыла автоматическую классификацию. Программа отделила стены от проёмов и вывела счётчик: сорок восемь жилых помещений. Она добавила нижний контур. Число сменилось на сорок девять.
Прораб усмехнулся, но придвинулся к экрану. Собственная шутка его не успокоила.
— Нашли лишнюю квартиру.
— Номер берётся из проекта. В проекте её нет.
В журнале обработки появилась запись: «Помещение 49». Источник поля не указывался. Анна открыла свойства проекта и проверила таблицу помещений. Последним там значился номер 48. Ни скрытого слоя, ни архивной подложки с другой нумерацией программа не показывала.
Она удалила результат, очистила временный слой и повторила расчёт. Прямоугольник под подвалом вернулся. Рядом возник номер 49.
Она сохранила скриншот, но не стала считать его уликой. Ошибка могла сидеть в шаблоне заказчика или старом кэше. Нижний контур повторился с двух позиций — это требовало проверки.
Сообщение Дарье не доставилось, хотя сеть работала. С улицы донёсся двигатель: за ограждением прошла машина аварийной службы и остановилась у соседнего дома; прораб выглянул наружу.
— Они с утра ездят. Ночью один датчик дал скачок, поэтому тяжёлую технику не запускают.
— До какого времени?
— Пока начальство не решит, что всё успокоилось.
Анна закрыла журнал классификации. Сейчас ей требовалась третья позиция.
— Нужна ещё одна станция со двора.
Охранник открыл внутренние ворота после звонка прорабу. Сам остался у створки.
— Семь минут. Потом сектор закрываю.
— Почему семь?
— Поступил новый замер. Ещё один такой же — всех выведут.
Под снегом во дворе стояла вода. Анна поставила штатив у старой песочницы, нашла мишень на торце и запустила съёмку заднего фасада.
На четвёртом этаже вспыхнул свет. Анна остановила вращение модели на планшете.
Он появился в крайнем окне, где секунду назад отражалось серое небо. Тёплое пятно заполнило комнату. На его фоне прошла человеческая фигура и остановилась у стекла.
Анна подняла голову и увидела человека в окне.
— В доме есть рабочие?
Прораб тоже поднял голову; рука с телефоном опустилась.
— Где?
— Четвёртый этаж. Крайнее окно.
Фигура отошла, и свет погас.
Прораб вызвал охрану. Анна остановила сканирование, зафиксировала время и направила камеру планшета на фасад. Окно снова было пустым.
Охранник пришёл через минуту. У ворот он открыл журнал доступа.
— Третий подъезд опечатан с вечера. Утром открывали только первый.
— Второй комплект ключей у аварийной службы? — спросила Анна.
— Да. Получение ключа фиксируется. Записей нет.
— Внутренний проход есть?
— Подвал перекрыт. Между подъездами стены.
На стекле оставалось бледное отражение прожектора. Сам прожектор стоял за спиной Анны, ниже крыши соседнего здания. Она сделала несколько шагов в сторону. Отражение сместилось к раме. Жёлтое пятно, которое она видела, находилось глубже комнаты.
Анна проверила запись камеры планшета покадрово. Свет возник за три кадра, силуэт занял ещё два. Лица не было видно. При увеличении человек распался на тёмные квадраты, и доказать присутствие в комнате по этой записи было невозможно.
— Нужно проверить этаж.
— После разрешения, — ответил охранник. — В перекошенный подъезд людей не поведу.
— Там мог остаться человек.
— Аварийная сеть могла включить лампу. Фигура могла появиться от трубы перед окном.
Он говорил спокойно, но смотрел на дом. Прораб тоже перестал шутить.
Анна отметила азимут и высоту окна. Рациональное объяснение существовало, но проверить его без входа было нельзя.
Она вернулась к сканеру. Контрольная точка на планшете ушла на шесть миллиметров. Ножки штатива не просели. Смещение пришло от мишени на фасаде.
Рядом с ней появилась свежая трещина. Она шла от оконного проёма к цоколю.
— Утром была? — спросила Анна.
Прораб показал фотографию, сделанную в 7:40. Панель была целой.
Охранник запросил по рации последнее значение. В ответе прошли помехи, потом прозвучало слово «повтор».
— Сворачиваемся.
— Мне нужна минута, чтобы закончить оборот.
Анна включила ускоренный режим. Плотность точек снизилась, но фасад закрывался целиком. В середине прохода под ногами прошёл слабый толчок. Вода в песочнице дрогнула.
Сирена у будки дала два длинных сигнала. Охранник поднял руку, указывая на выход.
Прораб подхватил кейс с мишенями. Анна сняла сканер со штатива и быстрым шагом направилась к воротам: на ледяной корке легко было упасть.
За спиной разбилось стекло. Она не обернулась. В такие минуты взгляд назад отнимал шаг и не давал полезной информации. Анна следила за подошвами прораба: он шёл первым и показывал, где лёд выдерживает вес.
У ворот асфальт просел у самого бордюра. Ещё утром там помещалась только узкая щель, теперь в неё уходила талая вода. Анна отметила место в телефоне. Этот снимок не входил в её задание, но объяснял, почему дом перестал быть неподвижным объектом ещё до начала сноса.
Они вышли за внутреннее ограждение. Охранник закрыл ворота и поставил электронную метку времени. Прораб пересчитал мишени, одну не нашёл и хотел вернуться. Охранник молча показал на сирену. Белая панель осталась во дворе у стены.
— Объект закрыт до решения комиссии.
— В акте укажите движение грунта, время остановки и неполный доступ в подвал.
— Укажу.
Анна поставила сканер в кейс и подключила накопитель к ноутбуку на капоте машины. Первый пакет скопировался за сорок секунд. Второй шёл медленнее. Она достала резервный носитель и запустила дублирование.
Охранник посмотрел на экран, нахмурился и промолчал.
— Можно сделать это за воротами.
— Исходные данные пока есть только у меня. Я сохраню две копии до передачи акта.
Прораб подписал документ на планшете. Работа была прекращена в 9:47 из-за локального движения грунта. Анна добавила, что две станции дали совпадающий нижний контур, приложила скриншоты и поставила электронную подпись.
Копирование закончилось. Анна сверила контрольные суммы файлов. Оба носителя содержали одинаковые пакеты, журнал станций и снимок окна. Резервную копию она убрала в карман куртки.
На дороге остановился белый фургон аварийной службы. Из него вышел высокий мужчина в тёмной рабочей куртке. Он посмотрел на дом, затем на Анну.
Анна узнала Илью Бессонова не сразу. В школе он носил длинные волосы и начинал смеяться, не успев договорить. Теперь волосы были короткими, а у левой брови проходил старый шрам.
— Анна Ланская. Значит, Дарья всё-таки вытащила тебя сюда.
— Она не пришла.
— Знаю. Вчера в девять вечера перестала отвечать.
Илья показал охраннику удостоверение и попросил журнал утренних замеров. Получив отказ, он вернулся к Анне.
— В службе говорят, Дарья взяла выходные, — сказал он. — Заявление появилось утром. Но вчера она просила меня найти тебя на объекте.
— Зачем?
— Чтобы ты не брала готовую модель квартала. Только свои сырые данные. И обязательно проверила дом семнадцать до сноса.
Анна развернула экран. Облако точек медленно поворачивалось. Пять этажей стояли над серым основанием. Под официальным подвалом проступал ещё один прямоугольный объём. От лестницы к нему тянулась линия, которую две независимые позиции дали почти одинаково.
— Она знала об этом? — спросила Анна.
— Не объяснила. Только спросила, умеет ли твоя программа считать квартиры.
В правом углу светилось число сорок девять. Илья молчал.
Анна открыла протокол обработки. Строка с помещением 49 оставалась на месте, хотя временный слой был очищен. Ниже появилась новая запись. Время совпадало с моментом второго сканирования, но имя автора отсутствовало.
Она отключила ноутбук от сети и повторно открыла журнал. Запись не исчезла: «Объект существовал ранее».
Анна сохранила протокол на оба носителя. Потом закрыла кейс и посмотрела на дом №17. Крайнее окно четвёртого этажа было тёмным. Новая трещина на торце доходила до земли.
Глава 2. Дом стоит не там
До муниципальной службы геомониторинга они добрались за двенадцать минут. Илья вёл фургон, а Анна держала ноутбук на коленях и повторно проверяла строку «Объект существовал ранее».
Поле автора оставалось пустым. Запись создали во время второго сканирования; тогда программа работала без сети, а проект Анна утром создала сама.
— Дарья могла заранее добавить правило в модель заказчика? — спросил Илья.
— Я не брала их модель.
— Значит, Дарья не могла вмешаться.
— Могла только самым простым способом, — ответила Анна.
Источник строки всё ещё требовалось найти.
Муниципальная служба занимала двухэтажное здание с новым фасадом и стёртыми ступенями. Внутри пахло мокрой одеждой и разогретой едой. За стеклянной перегородкой работали четыре человека. На большом экране тянулся ряд значений с датчиков. Один участок графика был выделен жёлтым.
Женщина за стойкой попросила подождать. Через минуту из бокового кабинета вышла Марина Архипова. Ей было чуть больше тридцати. Волосы она собрала резинкой, на рукаве свитера остался след от синей ручки.
— Вы Анна Ланская? Дарья говорила, что вы приедете.
Анна спросила, где она. Марина посмотрела на кейс со сканером и ответила, что Дарья с сегодняшнего дня в отпуске. Место поездки ей якобы не сообщили.
Илья сообщил, что Дарья перестала отвечать вчера около девяти вечера. Утром в системе появилось заявление, и теперь требовалось подтвердить, что она подала его сама.
Марина скрестила руки.
— Я не занимаюсь кадрами.
— Но заявление видели, — сказала Анна. — Покажите файл. Дарья заказала обследование и не пришла на объект. Мне нужно понять, кому передавать результаты.
Марина помедлила, затем провела их в кабинет Дарьи. Рабочее место было прибрано: чистый стол, выключенный монитор, чашка без ложки. На спинке стула висела жилетка со светоотражающими полосами. Рядом с клавиатурой лежала связка ключей.
Она вошла в систему под своей учётной записью. Заявление занимало половину страницы: три дня за свой счёт по семейным обстоятельствам. Подпись стояла электронная.
Заявление она увидела около девяти. Свойства открыла не сразу; палец замер на мыши, хотя в обычном документе скрывать было нечего.
Файл создали в 8:46 и подписали через три минуты. Загрузку выполнили со служебной учётной записи отдела.
Дарья оставалась на работе до половины седьмого. Марина предположила, что утром она отправила документ с телефона. Анна запросила журнал внешних входов.
Марина закрыла карточку, но Анна повторно её открыла. Время сервера ставилось при загрузке и не зависело от задержки на телефоне. У Дарьи не было внешней авторизации после восемнадцати тридцати двух. Заявление загрузили с внутреннего адреса, привязанного к общему компьютеру отдела.
— У кого есть доступ к этой учётной записи? — спросил Илья.
— У всего отдела. Она служебная.
— Кто утром пришёл первым?
— Дежурный инженер. Потом я и ещё двое.
— Общий компьютер стоит где?
— В соседней комнате. Камера видит дверь, но не экран.
— Запись сохранилась?
— Если её не изъяли, хранится тридцать дней.
— Почему её должны были изъять?
Марина поправила резинку на запястье.
— Потому что Дарья вчера поссорилась с руководителем смены. После таких разговоров у нас любят проверять, кто куда ходил.
Марина села на край стола.
— Вчера она просила меня не лезть. Сказала, что сама всё проверит и утром объяснит.
— Что именно?
— Ряды по северному сектору. Первичные значения расходились с отчётными. Не настолько, чтобы поднимать тревогу, но Дарья считала, что расхождение повторяется.
Анна поставила ноутбук на стол и показала облако точек дома №17. Под официальным подвалом лежал прямоугольный объём.
Марина наклонилась к экрану и сразу выпрямилась. Дарья не рассказывала Марине о нижнем уровне, однако Марина видела похожий контур на старой схеме Дарьи.
Нижний ящик оказался пустым, кроме кабелей и запасных батарей.
Вчера Марина предупреждала Дарью, что расчёты не примут без повторного ряда. Та ответила, что повтор уже есть. Его дал старый датчик на участке за ограждением. Устройство сняли с баланса, однако Дарья продолжала забирать показания вручную.
Доступ в закрытую зону у неё отозвали неделю назад. В последний раз Марина видела её в 6:20. Дарья забрала рюкзак и ушла пешком.
Марина призналась, что сначала решила: Дарья спряталась на день, чтобы заставить отдел поднять старые данные. После её проверок объясняться с начальством обычно приходилось остальным.
— А если она не прячется? — спросила Анна.
Марина посмотрела на заявление. В коридоре зазвонил телефон, но трубку не сняли.
— Вчера Дарья сказала не доверять итоговым пакетам. Первичные значения меняют перед выгрузкой.
Марина не знала, кто меняет файлы. Дарья либо не знала, либо не успела назвать имя.
Анна попросила исходный ряд. Марина отказалась: передача без разрешения стоила бы ей работы.
— Тогда сделайте копию для себя, — сказала Анна. — Сейчас. Если файл меняют, завтра вы не докажете, что видели другое.
Марина несколько секунд сидела неподвижно, затем вставила флешку в рабочий компьютер. Копирование заняло меньше минуты. Носитель она убрала в карман.
Закончив телефонный разговор, Илья сообщил, что аварийный осмотр дома разрешили из-за перекоса входной двери после утреннего толчка.
Марина проводила их до выхода.
— Найдёте Дарью — позвоните мне раньше начальства.
— Зачем раньше?
— Чтобы я успела сохранить второй ряд.
К дому №17 они вернулись в половине двенадцатого. Ворота были закрыты. Охранник проверил разрешение и выдал каски.
Охранник дал им пятнадцать минут и запретил спускаться в подвал. Анна попросила осмотреть замурованную стену на первом этаже, но этого пункта в разрешении не было. Илья показал схему: перекос шёл по всей оси подъезда, поэтому стену можно было проверить при спуске.
— Начнётся движение — выходите по моей команде, — предупредил охранник.
Дверь подъезда открылась на ладонь и упёрлась нижним краем в пол. Илья поднял её плоским домкратом. Анна прошла боком, не касаясь полотна.
В подъезде было холоднее, чем снаружи. Окна на площадках закрывала фанера, свет проходил через щели. На ступенях лежала белая пыль. В ней сохранились следы рабочих ботинок, часть размыла вода.
Стена у первого пролёта отошла от лестницы. Утренний скан показывал три сантиметра, сейчас в щель помещалась ладонь. Анна назвала значение. Илья поставил карандашную метку и записал время.
На четвёртом этаже пломба крайней квартиры была цела. Охранник срезал проволоку и открыл замок. Дверь задела линолеум и остановилась на середине.
Комнату освещал серый свет из окна. Патрон под потолком был пуст, выключатель не работал.
На подоконнике лежал маленький чёрный диктофон. Корпус покрывала белая пыль, но кнопка записи оставалась чистой.
— Не трогай, — сказал Илья.
Илья сфотографировал комнату с порога, пока охранник сообщал о находке диспетчеру. Анна подошла к окну. Прожектор за соседним домом находился ниже и не мог дать утренний свет. Значит, источник приносили внутрь. Охранник указал на целую пломбу и предположил, что человек вошёл до опечатывания.
Возле двери белая пыль была нарушена. Один след шёл от комнаты к кухне. Узкая пятка и поперечные полосы на носке отпечатались ясно, края ещё не осыпались.
— Когда квартиру опечатали? — спросила Анна.
Охранник сверился с журналом на телефоне.
— Вчера в 17:42.
— После этого дверь открывали?
— По журналу — нет.
— А окно?
— Четвёртый этаж. Снаружи не залезешь.
— Я спрашиваю, было ли оно закрыто при осмотре.
Охранник подошёл к раме и проверил ручку в нижнем положении.
— В акте написано: закрыто. Сейчас тоже закрыто.
Илья положил рядом линейку.
— Примерно тридцать восьмой размер.
На кухне след заканчивался у стены, где раньше стояла мойка. Кафель сняли, трубы обрезали. В центре была кладка из серых блоков, заметно новее старого кирпича.
Анна открыла план этажа. За стеной проходила узкая вентиляционная шахта, но кладка уходила глубже.
Место совпадало с осью нижнего коридора, лежавшего двумя этажами ниже; здесь проходила его верхняя граница.
Илья постучал рукояткой отвёртки. В середине звук изменился.
— За блоками пустота.
— Ломать нельзя, — сказал охранник.
Анна поднесла ладонь к щели у плинтуса. Оттуда тянуло сыростью. Контур ниши на плане совпадал с тем местом, где в облаке точек начиналась неизвестная лестница.
За спиной щёлкнул диктофон. На корпусе загорелся зелёный индикатор, из динамика пошёл шум.
Все трое обернулись.
— Сработал от звука, — сказал Илья. — Мы стучали по стене.
— Это воспроизведение, — ответила Анна.
На экране шёл файл без названия. Счётчик показывал двадцать семь секунд. После трёх ударов появился женский голос:
— Если это нашла ты, значит, я не успела вернуться. Дом стоит не там…
Помехи закрыли несколько слов, но следующую фразу Дарья произнесла отчётливо:
— Не сравнивай стены. Сравни адреса.
Запись оборвалась, индикатор погас.
— Может быть старая запись.
Файл создали вчера в 21:14, когда Дарья уже не отвечала. Охранник предположил, что она заранее оставила устройство и выключила телефон ради поисков. Анна не стала снимать эту версию до проверки.
Анна подключила диктофон к планшету и скопировала файл, не меняя исходник. Перед первой фразой звучали три удара. Пауза между вторым и третьим была длиннее. Тот же ритм она слышала утром в тамбуре.
Под ногами прошла вибрация. За кладкой плеснула вода, затем ударила по трубе. Пол возле плинтуса потемнел.
— Выходим, — сказал Илья.
Дверь квартиры закрылась легко, хотя при входе цепляла линолеум. На первом этаже входная дверь не открылась. Нижний угол снова упёрся в пол, щель у косяка стала уже.
— Домкрат снаружи, — сказал охранник.
Илья осмотрел петли и связался с будкой. Снаружи согласились снять нагрузку с нижнего края.
Анна открыла утренний скан.
— Верх полотна ушёл внутрь на два сантиметра. Если поднимать выше трёх, дверь зажмёт в раме. После подъёма тяните за ручку и прижимайте раму у замка.
Металл заскрипел, под дверью появился просвет. Илья потянул ручку, изменил угол и нажал плечом на раму; проход открылся. Они вышли во двор, а из подъезда следом потекла мутная вода.
У будки диктофон зарегистрировали как имущество, найденное при аварийном осмотре. Оригинал должен был остаться у службы до передачи полиции. Анна потребовала указать контрольную сумму аудиофайла и время копирования.
В акте охранник указал, что воспроизведение началось после удара по кладке. Причину Анна просила не назначать: сейчас важен был только факт.
Анна сохранила копию рядом с утренними сканами. Илья продублировал её на служебный носитель.
Они сели в фургон. Разрешение на осмотр истекало через две минуты.
Илья спросил, считает ли она исчезновение спектаклем. Анна напомнила, что заявление загрузили из отдела, а диктофон могли оставить до опечатывания. Свет объяснялся переносным фонарём, след требовал сравнения.
Илья завёл двигатель, но не тронулся.
— Ты всегда так говоришь, когда боишься?
— Я не боюсь.
— Тогда фразы становятся ещё короче.
Анна не ответила. Она повторно включила запись. После слов про адреса оставались четыре секунды слабого шороха. У диктофона было два микрофона. В левом канале лежал голос, правый почти полностью занимал низкий шум.
Она подняла уровень правого канала. Под помехами проявилась ещё одна дорожка. Дарья медленно произносила цифры парами.
Илья выключил двигатель.
Анна выписала значения и открыла карту квартала. Координаты не попадали в дом №17. Точка лежала за внутренним ограждением, на пустом участке между расселёнными пятиэтажками. Старый датчик, о котором говорила Марина, находился в стороне.
На современной схеме участок был пуст. Анна увеличила спутниковый снимок. Под серым снегом проступал прямой угол старого фундамента. От него к дому №17 тянулась полоса более тёмной земли.
По контракту её работа закончилась у ворот. Теперь у неё был маршрут, которого в задании не существовало.
— Едем к ограждению, — сказала Анна. — Сначала посмотрим, что находится над этими координатами.
Глава 3. Старый номер
Координаты из второго трека вывели их к пустому участку за ограждением. Под серым снегом проступал прямой край старого фундамента. Анна дважды сверила точку на планшете. Погрешность не превышала метра. Дом №17 находился в другом месте.
Илья остановил фургон у бетонного блока. За сеткой талая вода уходила под снег.
Он предположил, что Дарья записала старые координаты. Анна не исключала и другую систему. Обе версии оставались рабочими. Третью Анна пока не искала.
На современной схеме точка лежала в белом поле без номера участка. Анна сфотографировала ограждение. Без старого плана внутри всё равно нечего было искать.
— Нужен архив, — сказала Анна. — План квартала до аварии и таблица перехода координат.
— Архив в старом шахтном управлении.
— Я знаю.
Илья посмотрел на неё, но вопроса о том, откуда она знает дорогу, не задал. Фургон развернулся у блоков и поехал обратно к центру.
Муниципальный архив занимал левое крыло старого шахтного управления. Главные двери закрыли металлом, новый вход вывели во двор. Часы над бывшей проходной сняли; на стене остался светлый круг.
За стойкой сидел Евгений Русаков. Он проверил их документы, прочитал запрос и вернул бумаги Анне.
Русаков сообщил, что планы опасной зоны выдаются по согласованию. Анна сузила запрос до квартала у дома №17 перед первой корректировкой адресов. Архивист ответил, что этот квартал и составляет опасную зону. Тогда она попросила открытые копии.
Он поправил очки и посмотрел на Илью.
Затем спросил, почему аварийная служба занялась историей адресов. Илья объяснил, что пропала сотрудница геомониторинга. Официального розыска пока не было, и архивист отказался открывать закрытый фонд на основании устного сообщения.
Анна поставила на стойку планшет. На экране появился фрагмент диктофонной записи с координатами.
— Эти координаты оставила Дарья Кетова. Они ведут на пустой участок. Утром под домом №17 мы получили геометрию нижнего уровня, которого нет в проекте. Мне нужно исключить ошибку при переводе старого плана.
Русаков прочитал координаты и записал их на листке.
— Копии восьмидесятых годов находятся в открытой описи. Оригиналы и приложения после аварии закрыты. Фотографировать нельзя.
— Скан архива?
— Только заверенная копия. Заказ выполняется три рабочих дня.
— Дарья может находиться под землёй сейчас.
Русаков поднял глаза.
— Тогда вам нужен не архивист, а спасатели.
— Спасателям нужен вход. Вход может быть на старом плане.
Он выдержал паузу, затем снял трубку внутреннего телефона. Русаков назвал номер описи и подтвердил, что посетители работают в читальном зале.
— Покажу копию, — сказал он. — Оригинал останется в хранилище. Записи делаете карандашом. Документ на столе не переворачиваете.
В читальном зале Русаков принёс тубус и современные распечатки. Старый план был склеен из четырёх листов. Линии выцвели, но номера читались.
Анна разложила рядом современную схему. На первый взгляд кварталы совпадали: та же дорога, одинаковый поворот теплотрассы, знакомый ряд пятиэтажек. Дом №17 стоял на обоих планах, только соседние номера расходились.
— Здесь могла смениться система координат, — сказал Русаков. — После оцифровки такое бывало.
— Поэтому я не сравниваю рамки листов.
Анна нашла три объекта, которые пережили перестройку квартала. На старом плане сохранились насосная станция и торец дома у дороги. Третьей точкой был геодезический репер возле вентиляционного сооружения.
Она ввела старые и современные координаты в таблицу. Программа повернула архивный слой. Насосная легла на место, торец соседнего дома совпал почти точно. На репере осталось двадцать один сантиметр.
— Для старой съёмки нормально, — сказала Анна.
Илья спросил, нашли ли они ошибку. Анна ответила, что пока подтвердилось только само преобразование.
Она включила прозрачность и наложила планы. Контуры домов дрогнули, потом остановились. Большая часть квартала совпала в пределах толщины архивной линии.
Дом №17 не совпал. Красный контур архивного дома проступал внутри пустого участка, куда утром вывели цифры Дарьи. Архивный контур лёг точно на координаты Дарьи; случайной подписью это уже не объяснялось.
На плане восьмидесятых он стоял восточнее. Между старым и современным контуром было почти семьдесят метров. В точке, куда их привели координаты Дарьи, лежал именно старый дом №17. На нынешнем месте семнадцатого раньше значился дом №23.
Илья наклонился над экраном.
— Номер переехал.
— Дом на современной схеме тоже сдвинут.
— Его могли снести и построить новый.
Русаков провёл пальцем над планом, не касаясь бумаги.
Проверка описи показала: оба дома относились к одной серии и строились почти одновременно. Сведений о сносе не было.
Анна увеличила подпись у старого контура. Под адресом стоял служебный индекс: «участок Б-17». Рядом шла пунктирная линия, уходившая под два дома. На современной схеме её не было.
Она спросила об индексе. Русаков надел очки и объяснил, что это старый шахтный номер участка. Точное приложение комиссия закрыла после аварии. Содержание он показать не мог, но номер дела записал по её требованию.
Русаков записал шифр на бланке. Анна попросила его указать, с какой копии сделан план и когда документ передали в архив. Он посмотрел на неё с одобрением, которое сразу спрятал.
— Вы собираетесь использовать это как доказательство?
— Пока как источник. Доказательством станет цепочка, если она не оборвётся.
— Тогда фотография с телефона вам не поможет.
Он поставил штамп на копии нужного фрагмента. На ней остались номер описи, дата и подпись Русакова. Оригинал он унёс сразу.
Анна сохранила цифровой снимок рядом с утренними пакетами. Контрольную сумму записала в рабочий журнал.
Илья предложил проверить ориентиры на местности. Анна согласилась: одного смещённого знака хватило бы, чтобы вся привязка оказалась ложной.
Русаков закрыл папку с современными схемами.
— Репер у вентиляционного сооружения должен стоять. Насосную перестроили пять лет назад. А торец дома… дом ещё есть, только двор просел.
— Насколько?
— Смотря с какой стороны подходить.
На улицу они вышли после трёх. Снег на крышах начал сползать к водостокам. Илья купил в автомате два кофе. Анна сделала глоток и поставила стакан в держатель.
— Ты не ела с утра, — сказал он.
— В архиве нельзя.
— Мы уже снаружи.
— После проверки.
— В школе ты отвечала так же.
Анна посмотрела на него.
— В школе я не работала с домом, который стоит в двух местах.
— Зато контрольные тоже считала аварийными объектами.
Она не улыбнулась, но кофе взяла с собой.
Площадка геодезических знаков находилась за насосной. От первого ориентира остался обломок основания. На его месте стоял кабельный колодец, а табличку прибили к ограждению.
Анна сравнила фото из архива с нынешним видом.
Этот ориентир Анна исключила. Сохранённая табличка не заменяла координату, от которой её перенесли.
Второй ориентир стоял у торца жилого дома. Металлический знак был цел, но цоколь под ним дал трещину. Анна поставила сканер на устойчивом участке и сняла стену. Нижний угол ушёл к дороге на восемнадцать сантиметров. Верх остался почти на месте.
Илья заметил наклон дома. Знак сместился вместе со стеной, поэтому второй ориентир тоже не годился. Архивный план спасал только сохранившийся репер.
К вентиляционному сооружению они шли вдоль закрытого двора. Под снежной коркой стояла вода, и Илья проверял подошвой каждый тёмный участок.
Репер нашли у бетонной стены. Латунная головка выступала из основания, номер совпадал с архивной ведомостью. Анна очистила её щёткой и установила прибор.
Анна сняла два угла соседней пятиэтажки и сравнила расстояния с бумажным планом. Разница составила четыре и шесть сантиметров.
— Этого хватит? — спросил Илья.
— Хватит, чтобы не списывать семьдесят метров на погрешность.
Анна пересчитала преобразование, исключив разрушенный ориентир. Потом повторила расчёт без смещённого знака. Старый дом №17 оставался на точке Дарьи. Современный контур снова вставал на место бывшего дома №23.
Смещение не совпадало с поворотом системы координат или просадкой квартала. Номера перенесли отдельно от геометрии.
Илья допустил ошибку в подписях при оцифровке. Анна показала, что вместе с номером перенесли контур участка и привязку к дороге.
На архивном плане подъезд к дому №17 шёл с востока. На современной схеме тот же проезд обрывался в пустом участке. У нынешнего дома дорога была другой и появилась позже.
— Значит, Дарья просила сравнивать адреса, потому что стены ничего не докажут, — сказал Илья.
— Стены можно перестроить. Адрес тоже можно изменить. Вопрос — зачем менять оба.
Они вернулись к фургону и встали у края опасной зоны. За ограждением виднелся дом №17. На торце работники закрепляли датчик над утренней трещиной.
Анна отправила Русакову подписанный запрос с требованием сохранить оригинал и зафиксировать состояние дела. Через минуту пришло подтверждение.
Она позвонила Марине. Та ответила не сразу и говорила тише, чем утром.
— Я нашла старый план. Координаты Дарьи ведут к прежнему дому №17.
— Там пустой участок?
— Сейчас да. Раньше стоял дом. На нынешнем месте был другой номер.
Марина долго молчала.
— Дарья проверяла двенадцать адресов, — сказала она. — Я видела таблицу, но не скопировала.
— Какие адреса?
— Не помню все. Семнадцатый был первым. Она отмечала старый номер и новый.
— Где таблица?
— На её рабочем диске ничего нет. Возможно, в личной папке или на диктофоне.
— У нас только запись с координатами.
— Тогда найдите старую нумерацию. Она сказала: если совпадёт больше трёх домов, это не ошибка.
Связь оборвалась. Анна перезвонила Марине, но телефон оказался недоступен.
Илья связал обрыв с неустойчивой сетью возле ограждения. Утром связь работала лучше, но и грунт тогда двигался слабее.
Анна открыла журнал звонков. Экран сменился на входящий вызов.
Номер состоял из четырёх цифр.
Она помнила его без справочника. В детстве звонила по нему с проходной, когда отец задерживался после смены. Внутренняя линия маркшейдерской комнаты: 4317.
Телефон продолжал вибрировать в её руке.
— Что такое? — спросил Илья.
— Старый внутренний номер.
— Чей?
Анна включила запись разговора и приняла вызов.
В трубке прошёл треск. Прозвучали три удара. Между вторым и третьим была длинная пауза, такая же, как на записи Дарьи.
Анна прижала телефон плотнее.
— Говорите.
Сначала ответил шум, похожий на воду в трубе. Потом мужской голос произнёс два слова. Первое могло быть её именем. Второе начиналось с «ни», но связь оборвалась раньше, чем Анна успела разобрать окончание.
На экране осталось время разговора: девять секунд.
Илья протянул руку.
— Дай номер.
Анна показала экран, не выпуская телефон. Он набрал диспетчерскую аварийной службы и попросил проверить старую внутреннюю линию по архивному справочнику.
Пока он говорил, Анна сохранила запись на два носителя. Пальцы слушались хуже обычного.
— Это могла быть подмена номера, — сказала она.
Илья прикрыл микрофон ладонью.
— Могла.
— Или старая станция дала наводку.
— Станция должна быть включена.
— Значит, сначала проверим станцию.
Через несколько минут Илья перенёс ответ диспетчера в блокнот.
— Линия 4317 принадлежала маркшейдерской комнате старого управления. Её отключили после аварии. Кабельный ввод разобрали двадцать лет назад.
— Точный срок?
— Двадцать лет и четыре месяца. Повторно номер не выдавали.
Анна прослушала вызов через наушники. Три удара звучали отчётливо. Голос после них терялся в помехах. Она прогнала запись через простой фильтр. Стало слышно начало: «Аня, ни…»
Дальше оставался обрыв.
Она сняла наушники.
— Этот номер знал не только отец.
— Но ты его узнала.
— Узнала номер. Голос я не подтверждаю.
Илья смотрел за её плечо, на дом №17.
Утренняя трещина пошла дальше. От цоколя она пересекла отмостку и вышла на дорогу. Сначала край асфальта просел на несколько миллиметров. Потом из щели выступила вода.
Охранник у ворот поднял рацию. Рабочие у датчика отошли от стены. По ограждению прошёл металлический звон.
— Назад, — сказал Илья.
Они отступили к фургону. Трещина раскрылась ещё на ладонь и остановилась у белой линии разметки. Вода быстро заполнила углубление.
Анна сняла происходящее с безопасного расстояния. Звонок прозвучал перед новым толчком. Анна отметила совпадение, не делая вывода. Грунт смещался с утра.
На планшете лежали два совмещённых плана. На старом дом №17 стоял в точке, которую оставила Дарья. На новом плане за ограждением было пустое место. Нынешний дом №17 стоял на месте бывшего двадцать третьего. След переноса исчез только с карты.
Глава 4. Номер, который отключили
К дому матери Анна подъехала в половине восьмого. За день снег у обочины осел, вода дошла до нижней ступени крыльца. Свет горел только на кухне. В окне висела старая занавеска с зелёной каймой, которую Татьяна собиралась выбросить ещё десять лет назад.
Анна оставила сканер в машине, взяла ноутбук и два накопителя. Мать о приезде она не предупредила: собиралась работать до ночи и уехать, не возвращаясь к старым разговорам.
Дверь открылась раньше, чем она постучала.
— Я видела машину. Заходи, на улице вода.
Татьяна отступила в коридор и подала старое полотенце для обуви. Не обняла и не спросила, почему дочь приехала.
— Ты знала, что я сегодня в городе?
— Илья звонил после обеда. Спросил, дома ли я.
На кухне парила картошка. Татьяна достала вторую тарелку, но Анна сказала, что сначала проверит повреждённый пакет.
— За двадцать минут он не станет хуже.
— Может, если сбоит накопитель.
Мать вернула тарелку в шкаф, поставила на край стола хлеб и отошла к плите.
— Тогда работай. Ты всегда умела выбрать время.
Анна перенесла ноутбук в маленькую комнату, где раньше был отцовский стол. Мебель заменили, обои переклеили, но розетка у окна осталась на прежнем месте. Сеть ловила одну полосу и пропадала, когда за окном проезжал грузовик.
Из четырёх пакетов два сохранились полностью. Третий оборвался во время выхода из дома, в четвёртом не совпадала контрольная сумма одного блока.
На экране появилась пятиэтажка из серых точек: фасад, лестничная клетка, подвал. Ниже сохранялся прямоугольный объём, который не должен был попасть в луч.
Анна отключила автоматическую классификацию. Исчезли номера помещений и цветные границы, остались координаты отражений. Коридор не пропал: точки складывались в две стены и пол, образуя проход длиной около девяти метров с поворотом на дальнем конце. Случайные отражения могли обмануть алгоритм, но не добавить в исходный пакет последовательные измерения.
У каждой точки были время, угол и расстояние. Сканер действительно получил ответ с нижнего уровня, хотя между прибором и коридором находился бетон.
Луч двигался без скачков: дальность менялась так, как при проходе вдоль настоящей стены.
Она пометила этот вывод как рабочий, а не окончательный. Для доказательства требовалось воспроизвести контур другим прибором или получить физический доступ. Но списать нижний уровень на повреждение файла уже не получалось.
Из тамбура луч мог пройти через щель у арматуры и захватить часть лестницы. Дворовую станцию от нижнего уровня закрывали фундамент и грунт, однако именно она дала дальнюю стену с лучшей плотностью.
Анна запустила восстановление повреждённого блока. Программа пыталась проверить лицензию и зависала, поэтому она отключила сеть, вручную выставила контрольные станции и пересобрала облако без модели заказчика. Нижний коридор появился снова; положение изменилось на четыре миллиметра.
Сделав резервную копию, Анна позвонила Илье.
— Ты дома? — спросил он.
— У матери. Проверь старые коммуникации между пустым участком и домом №17.
— На городской схеме ничего действующего.
— Мне нужно недействующее.
Илья уже нашёл линию, закрытую после аварии: служебная связь и, возможно, кабельный канал. На новой схеме она обрывалась у ограждения.
— Пришли исходный лист.
— Он в плохом качестве.
— Пришли какой есть.
— И поешь. Ты с утра живёшь на кофе.
— Сначала файл.
Через минуту пришёл снимок схемы. Интернет загрузил только половину страницы, и Анна открыла вложение с телефона. Линия от пустого фундамента шла на юго-запад и заканчивалась у границы участка матери.
Татьяна появилась в дверях. Спросила, останется ли Анна ночевать, и заметила схему на экране.
— Это наш район?
— Да. Сегодня мне звонили с номера 4317.
Мать остановилась, рука сжала спинку стула.
— Откуда у тебя этот номер?
— Помню. После смерти отца с него звонили?
Татьяна отвернулась к окну и предложила сначала поесть. Анна повторила вопрос: первый вызов пришёл до официального сообщения или после?
— Я не собираюсь снова это обсуждать.
— Ты никогда не обсуждала.
Мать поставила чашку в раковину и повернулась. Голос стал ниже.
— Твой отец погиб. Тебе было пятнадцать. Утром я должна была объяснить, что его больше нет. Потом пришли люди с предприятия и сказали, что Сергей сам нарушил приказ. Через два дня об этом знал весь город. Что изменит этот номер?
— Он отключён двадцать лет, а сегодня позвонил мне. Ты его узнала.
Татьяна молчала. Анна включила запись. Три удара прозвучали на кухне отчётливее, чем у ограждения, затем помехи закрыли голос. Мать остановила воспроизведение.
— Не включай это здесь.
— Значит, звонки были.
Татьяна села напротив и разгладила ладонью клеёнку. Несколько секунд она смотрела на картошку, остывающую в кастрюле, будто разговор можно было вернуть к ужину.
— Первый раз аппарат зазвонил после того, как нам сообщили о гибели. Я сняла трубку и услышала три удара.
— Потом?
— Ещё несколько раз. До ночи.
— Номер проверяла?
— На нашем телефоне он не показывался. Я позвонила на станцию. Дежурная сказала, что вызов пришёл с шахтной линии, а через пять минут перезвонила и велела забыть.
— Ты послушалась?
— Нет. После второго звонка подключила кассетный аппарат Сергея.
— Через переходник?
— Просто поставила микрофон возле трубки. Там музыка, шум и несколько слов.
— Его голос?
Татьяна взяла край клеёнки и отпустила.
— Один раз голос был похож. Я не уверена.
— Где кассета?
— Здесь. И пока я её не отдам.
— Двадцать лет ты хранишь запись и ни разу не сказала мне.
— Тебе было пятнадцать.
— Потом двадцать. Потом тридцать.
— И что бы ты сделала? Вернулась доказывать, что все лгут? Они этого и ждали: дочь нарушителя, которая не принимает очевидное.
— Я могла хотя бы знать, что официальная версия не единственная.
— Ты бы не жила, а проверяла её каждый день.
— Решать должна была я.
— В пятнадцать лет?
— Не только в пятнадцать.
— Когда ты стала взрослой, ты уже уехала и не хотела слышать о шахте.
— Потому что мне дали только одну версию.
— Потому что другая состояла из шума, трёх ударов и голоса, которого я сама не узнала.
— Теперь этот шум связан с домом №17 и моделью нижнего коридора.
Татьяна сняла с вешалки кофту, расправила рукав и повесила обратно. Это движение было знакомо Анне с детства: мать занимала руки, когда не могла закончить разговор.
— Тебе мало одного погибшего в семье?
— Я спрашиваю об источнике.
— А я говорю о том, что ты опять уходишь туда, откуда людей не возвращают.
— Молчание не остановило шахту и не вернуло отца.
— Зато не дало ей забрать тебя сразу следом.
— Ты называешь это заботой.
Татьяна побледнела, но не повысила голос.
— Я оставила тебя в живых. Другой задачи тогда не было.
После этих слов на кухне стало слышно, как вода капает из крана. Татьяна подошла и затянула вентиль, потом вытерла ладонь о полотенце. Анна видела, что мать хочет уйти, но остаётся в комнате, потому что после сказанного вернуться к прежнему молчанию уже не получалось.
Анна вернулась в комнату, не закрывая дверь. Мать могла считать молчание единственным способом пережить тот год, и признавать это не хотелось.
В коридоре сохранился старый телефонный справочник. На странице внутренних линий шахтного управления номер 4317 значился за маркшейдерской комнатой. Под ним карандашом стояло время: 18:47.
— Твоя запись?
— Первый звонок после сообщения, — ответила Татьяна.
Анна сфотографировала страницу.
— Кассету я пока не отдам, — сказала Татьяна. — Ты услышала знакомый номер и теперь ищешь подтверждение всему, во что хочешь поверить.
— Я ищу источник.
— Нет. Ты решила, что отец возвращается в твою работу.
— Я этого не говорила. Координаты Дарьи попали к нашему участку.
На старой схеме линия проходила через пустой участок у дома №17 и заканчивалась у южной границы двора. Татьяна долго смотрела на экран, затем указала на край участка.
— За сараем есть колодец.
— Какой?
— Бетонная крышка в земле. Твой отец говорил, что там кабель. После аварии приезжали рабочие, засыпали края и сказали не подходить.
— В каком году?
— В том же. Через неделю или две после похорон. Я даты не записывала.
Сергей называл люк кабельным колодцем, но на действующей схеме коммуникаций его не было.
Анна открыла снимок участка. За сараем, возле яблони, тянулась тёмная полоса. На действующей карте коммуникаций её не было.
Она позвонила Илье.
— У нас за сараем старый колодец. Мать говорит, кабельный.
— Не открывайте. Буду через двадцать минут.
— Проверю только положение крышки.
— По дорожке и без щупа в грунт не сходи.
После разговора Татьяна усмехнулась без радости: Илья хотя бы учитывал, что расчёты нужно закончить до следующего движения грунта.
Они вышли на заднее крыльцо. Стемнело, вода у сарая покрылась первой коркой льда. Татьяна направила фонарь на небольшую впадину под снегом. Анна осталась на бетонной дорожке, сняла точку с телефона и сравнила с координатами. Расхождение было меньше четырёх метров — допустимо для старой схемы.
В доме мигнул свет. Ноутбук перешёл на батарею, через секунду электричество вернулось. Татьяна сказала, что перебои начались неделю назад; электрики проверили линию и назвали её старой.
Интернет исчез полностью. Анна продолжила работу локально: убрала отражения с низкой достоверностью, разделила станции и проверила журналы. Первая позиция дала лестницу, вторая — правую стену, дворовая — дальний участок без прямой видимости. Имена файлов совпадали с серийным номером сканера, время шло от утреннего запуска до остановки. Данные другого объекта в проект не попали.
Специалист технической поддержки запросил журнал, серийный номер и фрагмент исходного пакета. Анна отправила только технические данные без адреса объекта. Через десять минут он подтвердил: повреждённый индекс можно восстановить, но новых дальностей он не создаёт.
— Значит, прибор записал реальные измерения? — спросила Анна.
— Либо получил повторный сигнал по сложной траектории. Вода, стекло, полированный металл.
— При повторном сигнале сохранится последовательная стена?
— Если геометрия отражения стабильна. Но для этого нужна поверхность, которую вы должны видеть в скане.
Анна построила возможную плоскость отражения. Для коридора требовалась гладкая поверхность под углом, которого в доме не было. Зеркальная геометрия тоже отсутствовала.
Татьяна поставила рядом тарелку.
— Ешь здесь, раз за стол не идёшь.
— Спасибо.
— Это не примирение.
— Я понимаю.
Илья приехал в 21:20 с планшетом и длинным щупом. Татьяна встретила его спокойнее, чем дочь.
— Сначала чай.
— Сначала двор. Потом чай.
— Хоть один разумный человек.
Анна закрыла ноутбук и надела куртку. Илья передал ей датчик и напомнил: идти только по бетонной дорожке.
У сарая он проверял грунт перед каждым шагом. Край крышки нашли щупом под снегом и землёй, но открывать не стали: плита могла потерять опору. На очищенном бетоне проступили выцветшие цифры: 17-К.
— Кабельный? — спросила Анна.
— Возможно, служебный канал. Старые обозначения менялись.
Датчик показал пустоту под плитой, продолжавшуюся в сторону улицы. Илья прошёл вдоль края впадины, не сходя с твёрдого грунта, и снял ещё три точки. Отклик сохранялся на одной линии, затем уходил под дорожку. Обычный кабельный колодец мог быть неглубоким, но здесь пустота продолжалась дальше корпуса.
По старой схеме канал вёл к прежнему дому №17. Анна нанесла колодец на карту и добавила погрешность архивного листа. Даже с поправкой направление совпадало с осью нижнего коридора. Она сохранила снимок крышки, показания датчика и координаты отдельным пакетом, чтобы позднее не смешать физическую находку с данными модели.
Когда они вернулись, ноутбук сам вышел из сна. Модель повернулась, хотя перед выходом Анна закрыла его. В журнале последней командой значилось обновление облака в 21:31, когда все находились во дворе.
Удалённый доступ был закрыт, интернета не было. В новом слое от дальнего конца коридора отделялась линия редких точек. Она шла на юго-запад, к участку Ланских, и обрывалась через двадцать метров.
— Раньше этого не было, — сказала Анна.
— Из восстановленного пакета?
— Точки утренние. Слой появился сейчас.
Источником значилась станция №2 из тамбура дома №17. Время создания слоя — 18:47. То же время мать двадцать лет хранила карандашом в справочнике.
Телефон в коридоре один раз зазвонил.
Звук был коротким, механическим. Татьяна вышла первой. Бежевый аппарат находился на тумбе, трубка была сдвинута к краю. Кабель обрезали у корпуса; медные жилы потемнели под старой изоляцией.
Илья снял крышку розетки. Проводов внутри не оказалось.
Старый звонок мог сработать от удара или перепада температуры. Но в коридоре было тепло, и к корпусу никто не прикасался. Анна подняла трубку — ни шума, ни щелчка. Илья дважды нажал на рычаг, звонок не повторился.
— В акт это не внесёшь, — сказал он.
— Пока нет акта.
— Тогда что у нас есть?
— Отключённый аппарат, один звонок и совпавшее время. Мало для вывода, достаточно для сохранения.
Ответвление под домом №17 заканчивалось в направлении колодца 17-К. На последней точке стояло 18:47 — минута, которую Татьяна записала после первого звонка из шахты.
Глава 5. Контрольная точка
К половине восьмого ночная вода у дома №17 схватилась льдом. Трещина на дороге стала уже, но белая корка по краям показывала её настоящую ширину. Рабочие посыпали проход песком и поставили второе ограждение. За ним стоял серый автомобиль городской службы промышленной безопасности.
Анна приехала со своим сканером. Илья выгрузил из фургона второй прибор в жёлтом кейсе. Его выдали аварийной службе на один день. Модель была другой, программное обеспечение тоже.
Илья спросил, хватит ли этого для независимой проверки. Анна ответила, что сначала нужно убедиться в отсутствии её проекта.
Она проверила журнал. Последняя съёмка проходила месяц назад на другом конце города. Новый проект она создала сама и вместо адреса поставила дату.
У ворот их ждали прораб, охранник и мужчина в тёмном пальто поверх рабочей куртки.
Прораб представил Семёна Андреевича Зорина, руководителя городской службы промышленной безопасности.
Зорин пожал Анне руку, посмотрел на жёлтый кейс и сказал, что прочитал вчерашний акт. Допуск разрешал две точки на первом этаже и одну снаружи, а подвал оставался закрытым.
— С первого этажа источник контура не проверить.
— Если дом снова сдвинется, людей из подвала придётся выводить нам.
Он говорил спокойно и каждое возражение переводил в вопрос ответственности.
Анна открыла подготовленный бланк. В нём были указаны две позиции в подвале, запрет на повреждение кладки и выход по команде охраны.
— Мне нужно двадцать минут. Я отвечаю за метод. Вы фиксируете время допуска и основание остановки.
— В десять начнётся оттепель.
— Мы закончим до девяти.
Зорин прочитал документ, дописал от руки «не более двадцати минут» и подписал.
— Объект закроют независимо от результата.
— Этого хватит.
В подъезд вошли Анна, Илья и охранник. Сразу на нижней площадке Илья установил переносной датчик и проверил связь. За ночь перекос двери увеличился ещё на пять миллиметров, но домкрат держал проход.
В подвале вода отступила к восточной стене. На полу осталась полоса белого налёта. Луч фонаря выхватывал трубы и старые номера секций.
Кладка напротив лестницы отличалась от остальных стен. Основной кирпич был красным, этот участок заложили серым. Раствор по краям лёг поверх старой штукатурки.
По схеме стена считалась поперечной опорой. Илья провёл фонарём по краю и заметил, что с боковой кладкой её не связали. Анна решила сначала закончить измерение.
Она закрепила три новые марки: на бетонной колонне, на жёсткой трубе и на старой красной стене. Вчерашние точки не использовала.
Второй сканер прошёл полный оборот. Анна сохранила пакет, переставила прибор к противоположной стене и повторила съёмку. На планшете возник подвал. Под полом никакого помещения не было.
Охранник решил, что вчера ошиблась программа. Анна напомнила: новые станции ещё не были привязаны.
Она сшила их по двум маркам. Ошибка составила два сантиметра. После третьей точки расхождение уменьшилось до четырёх миллиметров, но нижний контур не появился.
В исходном пакете оставались дальние отражения. Они лежали ниже пола, и программа отбрасывала их как шум.
Анна поставила четвёртую марку на серую кладку.
Илья предупредил, что влажный кирпич может повлиять на марку. Анна решила проверить её после прохода.
Когда участок стены вошёл в расчёт, дальние точки выстроились в две линии. Между ними появился коридор. На конце проступил прямоугольный объём.
Охранник спросил, что изменилось. Анна указала на серую кладку: кирпич был новее, но геометрия за ним повторяла старый контур.
Она исключила четвёртую марку. Коридор распался. Вернула — появился. Анна повторила проверку и записала экран.
Илья измерил положение марки ручным дальномером.
Марка не сдвинулась. Илья спросил, почему без неё точки распадаются. Анна объяснила, что углы согласуются с плоскостью за кладкой, хотя луч через кирпич пройти не мог.
Нижний уровень повторял вчерашнюю геометрию с расхождением до шести сантиметров. Другой прибор и новые позиции дали практически тот же результат.
В наушнике Ильи прозвучал диспетчер. Датчик у дома показал рост смещения.
— Заканчиваем.
— Один короткий проход.
Анна сместила станцию на полметра. После привязки к серой кладке коридор снова появился. Она сохранила пакеты и контрольные суммы.
Перед выходом Анна поставила второй прибор у подвального окна и направила его на наружную контрольную марку. Эта станция не видела серую кладку целиком. Она должна была только связать подвал с фасадом и исключить сдвиг локальной системы.
Охранник спросил, не подхватывает ли прибор вчерашние точки. Анна показала пустой журнал проекта и время записи новых отражений. Вчерашних данных в сканере не было.
Она соединила внешнюю станцию с двумя подвальными. Коридор сохранился, но его дальняя стена стала реже. Ось по-прежнему уходила к юго-западу, в сторону старого служебного канала и участка Ланских.
Анна сняла марки.
На первом этаже их ждал Зорин.
— Результат воспроизвёлся?
— Да. На втором приборе и из новых позиций.
— Тогда почему охрана не увидела его сразу?
— Очистка считает нижние точки шумом. Они собираются при привязке к заложенной стене.
Анна показала снимок.
— В проекте это несущая опора. На месте — поздняя кладка без перевязки. За ней может быть старый проём.
— «Может» здесь главное слово, — сказал Зорин. — Вскрывать стену нельзя.
Анна попросила поэтажный разрез. На бумаге опора доходила до плиты, хотя над решёткой оставался зазор.
Прораб перелистал журнал осмотров. По документам стену здесь не строили: кладка уже существовала при передаче дома на расселение. Акт подписала комиссия, фамилии хранились в архиве.
Зорин велел поднять документ к заседанию и не выносить оригинал.
Анна отметила этот приказ в своём журнале. Зорин не пытался скрыть кладку, однако каждый новый документ сразу уходил в процедуру, которой он управлял.
— Есть вентиляционный зазор. Снимем решётку и введём камеру. Кирпич не тронем.
Зорин проверил время.
— Десять минут. Если крепёж не идёт, прекращаете.
Они снова спустились. Зорин остался на лестнице, откуда видел стену и выход.
Два винта решётки вышли сразу. Третий прокручивался вместе с гайкой. Илья придержал её клещами и снял решётку без удара.
За отверстием шёл узкий зазор. Из зазора тянуло сыростью. Илья ввёл инспекционную камеру. На экране прошла серая кладка, затем тёмная полоса.
— Поверни вправо, — сказала Анна.
За кирпичом стояла металлическая дверная коробка. Краска отслоилась, нижняя часть уходила под воду. Между рамой и кладкой оставалось пустое пространство.
— Проём закрывали с этой стороны, — сказал Илья.
Анна измерила расстояние до коробки. Семнадцать сантиметров. По модели стена была почти метровой. За рамой начиналась пустота, но камера не проходила дальше из-за угла.
— Подай выше.
Объектив скользнул по перекладине. На металле висела прямоугольная табличка. Белая краска почти сошла, но две цифры читались ясно: 49.
Анна остановила запись.
— Дай масштаб.
Илья провёл рядом гибкую линейку. Табличка была длиной восемь сантиметров и держалась на одном винте.
Зорин спустился на две ступени.
— Это может быть номер секции.
— Может. Но вчера программа обозначила нижнее помещение тем же номером до находки.
— Номер мог остаться в старом файле.
— В моём проекте нумерация заканчивается на сорока восьми. Второй прибор моего файла не видел.
Зорин попросил увеличить изображение. Анна показала коробку и замеры.
Илья продвинул камеру влево. Подсветка ушла в пустоту и не достала до дальней стены.
— По плану здесь опора толщиной сорок сантиметров, — сказала Анна. — До коробки — семнадцать сантиметров. За ней больше двух метров свободного пространства.
— Камера искажает глубину.
— Поэтому точный размер я не называю. Но дверная рама внутри опоры на проекте не обозначена.
Сверху передали новое значение датчика. Зорин поднял руку.
— Осмотр прекращаем.
Илья потянул кабель. Тот задел табличку, и она качнулась.
— Осторожно, — сказала Анна.
Она сняла общий кадр и крупный план с линейкой. Когда Илья вывел камеру, винт выпал. Табличка соскользнула на верхний кирпич.
Её достали магнитным захватом. Илья положил находку на чистый пакет. Номер был выдавлен в металле, а потом покрыт белой краской. С обратной стороны сохранился синий слой.
Анна сфотографировала обе стороны. Зорин надел перчатки.
— Предмет из аварийной зоны передаётся службе безопасности.
— С точным местом находки и обстоятельствами снятия.
— Разумеется.
— До подписи он остаётся здесь.
Зорин посмотрел на неё, затем передал пакет охраннику.
— Оформляйте на месте.
Прораб принёс складной стол. Анна сделала копии видео и записала контрольную сумму. Илья указал, что табличка отделилась при извлечении кабеля. В графе назначения Зорин написал: «номер помещения либо технического участка, происхождение не установлено».
Анна спросила, почему в акте нет слова «квартира». Зорин ответил, что для такого вывода нужны документы и жилое помещение. Пока имелся только кусок металла за стеной. Анна заметила, что технический участок тоже должен подтверждаться документами. Именно поэтому Зорин указал оба варианта.
Анна добавила ссылки на фотографии и подписала акт. Пакет отнесли в серый автомобиль, не вскрывая.
На улице теплело. С крыш капала вода. Зорин попросил Анну пройти в будку. На стене висела карта опасной зоны. Красная граница обходила расселённый квартал и не доходила до жилых домов.
— Ваш контракт предусматривал модель перед сносом, — сказал он. — Контроль выполнен. Дальше работают профильные службы.
— Геолог, которая занималась этим участком, пропала.
— Кетова официально в отпуске.
— Заявление загрузили после её исчезновения с общего компьютера.
— Это проверят отдельно.
— Пока вы снова закроете дверь на схеме?
Зорин сел за стол. Перед ним лежала папка с утренними значениями.
— Вы вернулись на один объект и за сутки решили, что город подделывает карты.
— Я решила, что дом №17 перенесли на семьдесят метров в цифровом плане. Старый адрес совпал с координатами Дарьи. В подвале нашли замурованный проём с номером, который появился в двух независимых моделях.
— Старые номера переносили при расселении. Участки перепривязывали, документы оцифровывали в спешке. Для этого не нужен заговор.
— Мне тоже удобнее ошибка.
— Тогда оставьте ей право быть ошибкой, пока нет доказательства другого.
Анна посмотрела на карту. Линия опасной зоны проходила близко к участку матери. Служебный канал на старой схеме пересекал эту границу.
— Ошибка становится решением, если её не исправляют после проверки.
Зорин положил ладонь на папку.
— Безопасность требует одной действующей карты. Диспетчер не может выбирать между старым планом и личной версией специалиста. Ему нужен маршрут, по которому выводят людей сейчас.
— Если маршрут неверен, людей выведут не туда.
— Тогда карту меняют после подтверждения. Не после строки в программе и звонка с отключённого номера.
Анна не спросила, откуда он знает о звонке. Илья мог внести его в сводку, но номер там указывать не требовалось.
— Вы видели запись?
— Я вижу, как вокруг аварийного дома растут версии. Одна карта сохраняет управляемость. Несколько карт оставляют людей ждать у ворот.
— Правда не зависит от удобства.
— Непроверенная версия тоже не становится правдой из-за личной связи.
Он сказал это без нажима. Зорин назвал три вещи, которые Анна старалась разделить: отца, старый номер и дом матери. Анна открыла журнал измерений.
— Два прибора. Новые позиции. Сырые пакеты. Этого достаточно, чтобы остановить снос и сохранить стену.
Зорин просмотрел таблицу.
— Снос сегодня не начнётся. Стена остаётся. Доступ закроют до комиссии.
— Мне нужна копия решения и уведомление о перемещении таблички.
— Получите до обеда.
— В отчёте будет указано: измеренный нижний объём не соответствует утверждённой модели.
— Это факт. Его я не оспариваю.
— И дверная коробка с номером 49.
— Укажите находку. Историю ей назначит архив, а не программа.
В этом он был прав, и от этого спор становился труднее. Зорин не отрицал измерение. Он разделял факты так, чтобы ни один не требовал немедленно менять карту.
У двери он задержался.
— Анна Сергеевна, город пережил достаточно решений, принятых при неполной картине. Не добавляйте ещё одно.
— Тогда откройте полную.
— Когда она будет существовать.
Серый автомобиль уехал вместе с табличкой. Охранник опечатал вход в подвал новой лентой. Анна получила копию акта и проверила вложения.
Илья стоял у подвального окна.
— Он тебя не остановил.
— Он оформил остановку так, что она выглядит разумной.
— Опасность реальная. В стену сейчас лезть нельзя.
— Я знаю.
— Тогда из-за чего ты злишься?
— Он оставляет каждый факт отдельно. Адрес, дверь и исчезновение Дарьи пока существуют как три раздельных факта. Пока связи нет на бумаге, менять ничего не нужно.
— Значит, связываем документами.
Прораб окликнул их от ворот. На стене подвала проступил белый след. Он решил, что кирпич намок после осмотра.
Анна подошла к подвальному окну. На серой кладке, напротив скрытой дверной рамы, появился светлый прямоугольник с ровными краями.
Илья приложил линейку к стеклу и сделал снимок. Размер совпал с табличкой, которую увёз Зорин.
Анна попросила охранника принести чистый шпатель, но стену за стеклом трогать не разрешили. Илья снял след через окно с двух углов и сравнил его с утренними фотографиями кладки. В 08:23 кирпич был серым, без светлого пятна. Теперь прямоугольник выделялся даже на общем кадре.
Прораб предположил, что соль вышла по месту старого крепежа. Анна напомнила: крепёж находился за кирпичом. Вода могла пройти по шву, поэтому до лабораторной пробы оставалось только фиксировать изменение.
За семь минут края прямоугольника стали ярче, а середина осталась серой.
Илья спросил, отправит ли она снимки Зорину. Анна решила передать всю серию: отдельный кадр легко принять за обычную влагу, а последовательность покажет время появления следа. Объяснение всё равно придётся искать внутри стены.
Белый налёт лежал на внешней стороне кирпича. Номер 49 со стены исчез. На его месте проступил прямоугольный след, которого утром не было.
Глава 6. Дома возвращаются
Русаков встретил их у входа в старое шахтное управление и сразу посмотрел на часы. Было 12:10. До закрытия архива оставалось больше четырёх часов, но архивист выглядел так, будто они опоздали на несколько лет.
— Акт принесли?
Анна подала папку. Русаков задержался на описании замурованной рамы и фотографии номера 49.
— Табличка где?
— У службы промышленной безопасности, в опечатанном пакете.
— Значит, у Зорина. Фотографии происхождение подтверждают?
Анна показала подписи, время съёмки и контрольные суммы. Архивист прочитал внимательнее и вернул акт.
— Хорошо. Это хотя бы не картинка без родителей.
В читальном зале было прохладно. На столе лежала заверенная копия плана восьмидесятых годов: старый дом №17 по-прежнему находился на пустом участке, куда вели координаты Дарьи.
— Мне нужны документы о перенумерации квартала, — сказала Анна.
В открытой описи их не было. После аварии дела передавали комиссиям, листы возвращались в другие папки, а старые номера снимали. По словам Русакова, опись сохранила порядок только снаружи.
Он не хотел открывать закрытый фонд людям без допуска. Анна предложила оформить любой найденный лист как неучтённый материал и оставить архиву полный комплект своих данных: сканы, фотографии стены, протоколы и преобразование координат.
— Оригинал не заберу. До проверки происхождения ничего не опубликую отдельно от пояснения.
Русаков покрутил ручку между пальцами.
— Ваша геолог тоже обещала проверять происхождение.
— Дарья приходила сюда?
Она работала с открытым фондом неделю назад и ещё раз в понедельник. Искала старые схемы привязки — те же дела, которые теперь запрашивала Анна. Русаков взял папку с актом.
— Ждите здесь. В хранилище не входить.
Он отсутствовал почти двадцать минут. Илья подвинул к Анне кофе и получил планшет с современной схемой.
— Выпиши номера домов и отметь сохранившиеся фундаменты.
— Уже похоже на участие.
Анна раньше предпочла бы сделать это сама: чужая ошибка в таблице отнимала больше времени, чем самостоятельная работа. Но перепроверять Илью она не стала: времени не хватало. Пока он сверял контуры, Анна подготовила чистый проект для наложения и записала условия проверки: один устойчивый репер, старые фундаменты, никаких современных адресных точек.
Русаков вернулся с плоской папкой без номера. Внутри лежала калька, сложенная вчетверо. Края пожелтели, по сгибам бумага начала расходиться.
— Нашёл между двумя ведомостями, — сказал он. — В описи не указана. На листе нет подписи и даты.
— Откуда папка?
— Из фонда проектного отдела. Передали после закрытия старого крыла.
Он положил рядом чистый бланк и заполнил первую строку: «Неучтённый графический материал». В графе состояния отметил разрывы на сгибах.
Анна поставила подпись свидетеля. Илья подписался вторым.
Русаков расправил кальку под прозрачными прижимами. На ней были нанесены три варианта одного квартала. Линии отличались цветом. Чёрные показывали исходную застройку. Синие сдвигали часть домов к дороге. Красные соответствовали современной схеме, но номера рядом с ними исправляли от руки.
Дом №17 повторялся трижды. На чёрном слое он стоял в пустом участке. На синем сдвигался на половину расстояния. Красный контур находился в нынешней точке.
— Это не план строительства, — сказала Анна. — Здесь меняли привязку существующих объектов.
Русаков показал на примечание у края.
— Почерк не узнаю. Написано: «совместить по безопасной границе».
— Что значит безопасная граница?
— Без приложения ничего.
— Приложение есть?
— В описи нет.
Илья наклонился над калькой.
— Почему дома двигаются в одну сторону?
Анна сняла кальку сверху, добавив масштаб и номер временной карточки, затем выровняла изображение по рамке. Линии имели разную толщину, а по сгибам лист растянулся, поэтому простое наложение давало ошибку до трёх метров.
Для проверки она выбрала двенадцать контуров, от которых сохранились хотя бы две стены фундамента. Илья сверял их с современной схемой, Русаков приносил карточки строений по одной.
Совмещение по дороге и насосной уложило на место только два дома. Привязка по сохранившемуся реперу уменьшила ошибку в центре и увеличила по краям. Анна разделила кальку на четыре участка и ввела локальные поправки. Контуры сблизились, но нынешний дом №17 по-прежнему оказался поверх прежнего №23.
— При оцифровке могли перепутать номера и контуры, — сказал Русаков.
— Один объект — могли. Двенадцать уже требуют системы.
Марина говорила почти теми же словами: если совпадёт больше трёх домов, это не ошибка. Анна не стала считать выбранные контуры результатом и построила отдельное наложение для чёрного слоя, используя только старые фундаменты и устойчивый репер.
На экране появились белые здания нынешнего квартала и красные исходные контуры. Короткие линии смещения шли в основном на запад; длина различалась, но концы ложились вдоль одной изогнутой границы.
— Они не двигали дома одинаково, — сказал Илья. — Они освобождали полосу.
Под чёрными контурами проходил пунктир. Он начинался у старого дома №17, уходил под соседний двор и продолжался к южной части квартала. Его ось совпадала с нижним коридором в пределах погрешности кальки.
— Линию убрали вместе со старыми координатами, — сказала Анна.
Русаков отошёл к окну. За стеклом виднелась стена закрытого крыла. Штукатурка осыпалась, под ней проступал старый кирпич.
— В архиве часто исчезают приложения, — сказал он. — Обычно потому, что лист кому-нибудь понадобился. Но здесь не один лист. Здесь меняли весь способ читать квартал.
— Вы видели эту кальку раньше? — спросила Анна.
— Нет.
— Дарья могла видеть?
— Она работала с соседней папкой. Если калька тогда лежала там, могла. Папки после неё я проверял не сразу.
Анна сохранила снимок в двух форматах. Один носитель передала Русакову. Он проверил наличие файла на архивном компьютере и записал контрольную сумму в карточку.
— Теперь наложение, — сказал он. — Вы обещали оставить всё.
— Оставлю, когда закончу расчёт.
— Не забудьте, что архив тоже умеет делать копии.
— Поэтому я вам и доверяю.
Русаков впервые за всё время слабо улыбнулся.
К трём часам они получили шесть допустимых вариантов совмещения. На каждом плане одни здания совпадали, другие расходились. Анна отбрасывала решение, если оно требовало разных масштабов у соседних домов или нарушало геометрию дороги.
Лучший результат дала привязка по старым фундаментам после отключения современных адресных точек.
Красные контуры один за другим легли на следы в нынешней модели. Не на здания, которые стояли сейчас, а на пустые площадки, обрезанные дворы и участки под ограждением.
Старый дом №17 вернулся на координаты из диктофона Дарьи. Ещё один контур лёг под нынешнюю стоянку аварийной службы. Третий оказался на месте пустыря, где вода каждую весну уходила под бетонные плиты.
Илья считал совпадения вслух.
— Семь. Восемь. Девять.
— Не считай, пока не проверим остаточную ошибку.
— Она уменьшается.
Анна запустила расчёт. Среднее отклонение составило двадцать восемь сантиметров, что укладывалось в погрешность старой кальки.
Десятый дом совпал по трём углам. Одиннадцатый — по линии фасада и лестничному выступу. Двенадцатый сохранился только половиной фундамента, но его положение подтверждала архивная фотография.
Все двенадцать стояли на местах до аварии. Их современные адреса находились западнее, вдоль новой границы.
— Получается, дома не переносили, — сказал Илья.
— Физически нет. На карте старые здания получили новые координаты и номера. Потом на этих координатах закрепили нынешние объекты.
— Зачем?
Анна указала на пунктирную линию.
— Чтобы она оказалась под пустыми участками или под другими адресами. Тогда старый ход нельзя связать с конкретным домом.
Русаков вернулся к кальке и прочитал примечание у нижнего края.
— Здесь ещё одна надпись. Очень бледная.
Анна подсветила лист сбоку. Карандашные буквы проступили лучше: «адресный ряд заменить после закрытия уровня».
Последнее слово было исправлено. Под ним угадывалась цифра, но сгиб проходил прямо по записи.
— Ноль? — спросил Илья.
— Может быть буква «О», — ответила Анна.
Русаков принёс лампу с холодным светом. Цифра стала видна отчётливее. Рядом шёл короткий штрих.
— Пишем только то, что читается, — сказал он. — «После закрытия уровня». Остальное под вопросом.
Анна кивнула. Штрих мог быть частью цифры, но она не стала додумывать документ.
Она построила линию нижнего коридора поверх чёрного слоя. Измеренные точки под домом №17 легли на пунктир кальки. Ответвление в сторону участка матери продолжало его за границей листа.
Система была шире одного дома. Коридор соединял исходные адреса, хотя современная карта разрезала его на пустые участки.
Анна открыла новый проект и назвала его датой. Внутрь загрузила только сырые сканы, координаты репера и фотографию кальки. Никаких библиотек объектов и готовой модели квартала.
— Сейчас проверим, не тянет ли программа старый слой, — сказала она.
Русаков покачал головой.
— На этой станции архивной базы нет.
— Я всё равно пересоберу с чистого носителя.
— Вы не доверяете моему компьютеру?
— Я не доверяю системе, пока не проверю источник.
— Хорошая привычка для архива.
Илья принёс из машины новый накопитель в упаковке. Анна вскрыла её при Русакове и записала серийный номер. Потом скопировала только исходные пакеты. Рабочую программу запустила в переносной версии без сети.
Первая сборка дала дом №17 и часть соседнего фасада. Нижний коридор появился после привязки к старой стене, как утром.
Анна добавила контрольные точки квартала. Современные здания сместились. Сначала на несколько метров, затем на десятки. Программа ставила их туда, где на кальке лежали чёрные контуры.
— Останови, — сказал Илья.
— Я ничего не двигаю.
На экране дом №17 уже стоял в пустом участке. Следующий дом ушёл с нынешней улицы к старому фундаменту. Третий развернулся на два градуса и лёг по линии разрушенного двора.
Русаков подошёл ближе.
— Вы загрузили кальку?
— Только как изображение без координат. Она выключена.
Анна открыла список слоёв. Архивная фотография не участвовала в расчёте. Программа использовала сканы поверхности и три контрольные точки.
— Может быть, координаты сохранились в настройках проекта, — сказал Илья.
— Проект новый.
Она закрыла программу, удалила временные файлы и перезапустила компьютер. Создала ещё один проект на чистом носителе. На этот раз контрольные точки вводил Илья по бумажной записи, а Анна проверяла каждое значение.
— Седьмая цифра, — сказала она.
— Четыре.
— В журнале девять.
Илья посмотрел на лист.
— Моя ошибка.
— Поэтому читаем по одной строке.
— Участие оказалось короче, чем я думал.
Анна исправила значение и продолжила. После последней точки модель снова начала смещаться.
Дома возвращались в той же последовательности. Ни номера, ни расстояние от сканера не объясняли порядок. Сначала появлялись объекты, стоявшие ближе к пунктирной линии.
Программа не показывала движение. Старый контур просто становился основным, а современный уходил в серый слой расхождения.
На экране выстроились двенадцать зданий. Между ними прошёл нижний коридор. Его дальние участки состояли из редких точек, хотя сканер никогда не работал возле тех домов.
Анна проверила источник каждой группы. Часть относилась к утренним станциям дома №17. Остальные имели корректный формат координат, но поле прибора оставалось пустым.
— Эти точки не принадлежат нашим пакетам, — сказала она.
— Но появились после привязки, — ответил Илья.
— Да.
— Их можно извлечь отдельно?
— Уже.
Анна сохранила неизвестную группу и открыла метаданные. Время создания отсутствовало. Вместо серийного номера сканера стоял прочерк.
Русаков положил рядом кальку.
— На ней есть подпись к линии.
— Где?
Он указал на сгиб. Под лампой читалось одно слово: «горизонт». Цифра после него была повреждена.
В этот момент интерфейс модели обновился. Под линией коридора появилась подпись: «горизонт 0».
Анна убрала руки с клавиатуры.
— Ты вводил это? — спросила она Илью.
— Нет.
— Русаков?
— Я к вашему компьютеру не прикасался.
Анна открыла журнал команд. Последним действием была загрузка контрольной точки. Текстовую подпись программа не создавала автоматически. В библиотеке проекта слова «горизонт» не было.
Она выполнила поиск по накопителю. Результат оказался пустым.
— Закрывай сеть, — сказал Илья.
— Она отключена.
— Тогда откуда надпись?
— Пока источника нет.
Анна сняла экран на телефон, сохранила проект и сделала образ чистого носителя. Потом открыла подпись как объект. В поле создания стояло время 16:12. Автор отсутствовал.
Русаков сверился с архивными часами.
— Сейчас 16:12.
Надпись возникла при открытии файла. Сбой интерфейса объяснял её появление, но не текст.
Анна отключила неизвестные точки. Подпись исчезла вместе с коридором. Она включила слой снова. «Горизонт 0» вернулся под двенадцатью домами.
Илья провёл ладонью по лицу.
— Зорину отправим?
— Сначала полный протокол.
— Он закроет доступ.
— Доступ и так закроют. Нужно, чтобы копии лежали в трёх местах.
Русаков подвинул к ней архивный накопитель.
— Четырёх.
Анна записала проект ему и проверила копию. Потом сохранила ещё одну для Ильи.
На экране двенадцать старых домов стояли там, где их строили. Современная карта оставалась серым контуром, сдвинутым к западу. Линия нулевого горизонта проходила под прежними адресами и выходила к участку Ланских.
— Один дом можно было объяснить ошибкой, — сказал Илья.
— Два тоже.
— А двенадцать?
— Двенадцать объясняются решением.
Но кто его принял и зачем, модель не сообщала.
Анна открыла письмо, которым Дарья месяц назад прислала договор на обследование. Внизу стояла ссылка на общее облачное хранилище. Раньше папка содержала только техническое задание. Теперь рядом появился файл без расширения.
Дата загрузки — вчера, 21:12.
Илья прочитал имя файла:
— «Сравни адреса».
Анна скачала его на чистый носитель. Внутри оказались двенадцать строк. В каждой стоял старый адрес и текущий номер дома.
Она сверила первую строку с моделью. Совпало.
Вторая вела к зданию, которое только что вернулось на прежнее место. Третья — к пустому двору у насосной. Остальные десять адресов один за другим легли на красные контуры кальки.
Дарья оставила не предположение. Она подготовила маршрут проверки.
На экране возвращённые дома стояли вдоль линии с подписью «горизонт 0». Рядом открывался файл Дарьи с теми же двенадцатью адресами. Теперь требовалось проверить всю линию из двенадцати домов.
Часть II. Удалённые адреса
Глава 7. Двенадцать адресов
Файл Дарьи не открывался. После третьей попытки облачное хранилище заблокировало ввод на десять минут и вывело предупреждение о возможном удалении данных при новых ошибках. Анна убрала руки с клавиатуры и посмотрела на название папки: «Сравни адреса».
В архиве стемнело раньше, чем на улице. Окна выходили во двор старого управления, где высокий корпус закрывал вечерний свет. Русаков включил настольную лампу и отодвинул кальку от края стола.
Русаков предупредил, что защита может стереть папку. Анна объяснила: облако только увеличивает паузу между попытками, но его предупреждение всё равно заставило её проверить локальные копии.
Илья стоял у рабочего шкафа и повторно слушал запись с диктофона. Второй трек начинался после слов Дарьи о доме и содержал пары цифр. Раньше они приняли их за координаты. Первая часть действительно привела к старому фундаменту. Дальше шла другая последовательность, короче любой географической точки.
— Двенадцать пар, — сказал Илья. — По одной на каждый адрес.
Анна возразила: номера домов стояли в таблице, а значит, последовательность указывала на другие документы. Она взяла лист с расшифровкой. Пары выглядели так: 17–84, 23–86, 11–89. Между ними Дарья делала паузу. Последние две строки заканчивались числами 04 и 06. Русаков придвинул к себе бумагу.
— В восьмидесятые акты расселения писали по дому и году, — сказал Русаков. — Семнадцатый, восемьдесят четвёртый. Двадцать третий, восемьдесят шестой.
— Форму потом меняли?
— Меняли. Запись по привычке оставалась.
Анна открыла опись. Акт №17 за 1984 год существовал, следующая пара тоже совпала. Третий документ относился к дому, исчезнувшему с карты после проседания двора.
— Дарья оставила указатель на акты, — сказал Илья.
— И порядок для ключа, — ответила Анна.
Блокировка закончилась. Поле пароля снова стало активным.
Анна попробовала номера без знаков. Система отказала. Потом ввела только годы — тот же результат. Русаков нашёл карточку первого акта. На обороте стояла дата утверждения: 14 марта 1984 года.
— Номера ведут к актам, а даты могут дать ключ.
— Двенадцать дат в поле не войдут.
— Тогда нужна не вся строка. Проверим края и порядок.
Они подняли три документа. Акты утверждали четырнадцатого, семнадцатого и двадцать первого числа. Разница составляла три и четыре дня и не объясняла перенос адресов.
Анна вернулась к аудиозаписи. Перед каждой парой слышался короткий удар, после четвёртой — два. Она разделила трек на фрагменты и усилила паузы. Под шумом проступили тихие слова. Дарья называла не годы, а месяцы: март, ноябрь, апрель.
— Она диктует месяцы, а день оставляет в номере акта.
Анна составила строку из дней и месяцев. Пароль не подошёл. Тогда она расположила даты по местам домов на старой кальке, отказавшись от последовательности записи.
Папка открылась. Внутри лежали таблица, двенадцать фотографий и текстовый файл с одной строкой: «Проверять бумагу отдельно от базы». Последнее изменение внесли вчера в 21:12.
Фотографии Дарья снимала не для отчёта. На первой был перекошенный цоколь с мелом у трещины. На второй — табличка дома, прикрученная поверх старых отверстий. В углу каждого кадра лежал лист с датой и номером акта, поэтому снимки можно было связать с бумажными делами без догадок.
Илья выдохнул и сел. Он заметил, что без кальки порядок домов восстановить было невозможно. Значит, Дарья либо рассчитывала на архив, либо сама видела неучтённый лист.
Анна отключила автоматическую синхронизацию и скопировала папку на два носителя. Русаков получил третий экземпляр для архива. Только после этого она открыла таблицу.
В первой колонке стоял адрес до аварии. Во второй — номер после корректировки. Третья содержала дату инцидента. Дальше шли номера актов и короткие примечания Дарьи.
Анна проверила историю версий. Таблицу создали месяц назад, а строки добавляли по одной. Последнюю Дарья внесла за сорок минут до записи на диктофоне. Удалённых листов не было, однако дважды менялись названия колонок: сначала «ошибка адреса», потом «перенос». Дарья отказалась от случайности ещё до исчезновения.
В каждой строке дом сначала получал повреждение, затем исчезал из действующей схемы или менял номер. Иногда его признавали аварийным через несколько месяцев. В других случаях новый адрес появлялся раньше официального расселения.
По объёму ссылок было видно: Дарья собирала материал не один день. Анна перевела внимание на даты изменений.
Дом №17 сместили на современной схеме через восемь дней после проседания у старого фундамента. Дом №11 перенумеровали после обрыва водовода. В строке дома №6 стояла отметка: «граница риска пересчитана по новому адресу».
— Старый дом закрывали, а его номер отдавали новому, — сказал Илья. — Обычная перенумерация.
— Тогда новый адрес должен появляться после расселения. Здесь четыре раза он появился раньше.
Русаков прочитал примечание о коммуникациях, отключённых по старому адресу. Пока это оставалось записью Дарьи, поэтому Анна выбрала три дома с разными годами для независимой проверки. Если бумажные документы подтвердят порядок событий, обычная путаница в учёте перестанет быть достаточным объяснением. Илья взял первую строку.
— Я проверю ведомости отключения, — сказал Илья. — Где их держат?
— Часть фонда передали коммунальной службе, — сказал Русаков. — Остальное в хранилище. Вас туда не пущу.
— Тогда вы ищете, я читаю, — ответил Илья.
— Архив закрылся двадцать минут назад.
— Дарья пропала после работы с этими строками, — сказала Анна.
Русаков посмотрел на часы, взял карточку и ушёл в соседнюю комнату. Илья проводил его взглядом.
— Он и сам хочет знать, — сказала Анна.
— А ты?
— Сначала проверю три строки. Потом отвечу.
Анна закрыла таблицу, чтобы не видеть последнюю строку. Она заметила знакомое название улицы ещё при открытии, но не прочитала номер дома. До проверки первых записей это могло быть совпадением.
Через десять минут Русаков принёс ведомость отключения тепла по дому №11. В графе причины стояла аварийная деформация ввода. Дата — шестое апреля. Официальный акт расселения оформили девятого, а новый адрес внесли в реестр седьмого.
— Один день после отключения, — сказал Илья. — Документы могли готовить заранее.
— Могли. Одна строка ничего не доказывает. Давай следующую.
По дому №6 коммунальная ведомость сохранилась только в копии. Воду отключили двадцать второго августа. Почтовая карточка сообщала, что с двадцать третьего корреспонденцию следует направлять по новому номеру. Решение комиссии подписали тридцатого.
Русаков положил рядом конверт из того же дела. Штемпель стоял за два дня до решения.
— Почта получила указание раньше комиссии, — сказала Анна.
— Итоговое решение иногда оформляли после фактического переселения, — ответил Русаков.
— Тогда должно быть предварительное распоряжение.
Русаков проверил оборот карточки и вложения, но предварительного распоряжения не нашёл. Третья строка относилась к дому №23, который занимал нынешнее место семнадцатого. Илья нашёл ведомость отключения кабельной линии. В ней значился старый шахтный индекс Б-17, а адрес вписали поверх стёртой записи.
Она направила свет вдоль бумаги. Под новым номером проступал прежний.
— Двадцать третий заменили на семнадцатый, — сказал Илья.
— После инцидента у старого семнадцатого, — ответила Анна. — Риск привязали к номеру, который перенесли западнее.
Русаков разложил три почтовые карточки по датам. На каждой адрес менялся до итогового решения. Формально жителей переселяли позже, но учётная точка сдвигалась на следующий день после повреждения.
— Почтовый адрес могли менять ради доставки после эвакуации.
— Почему тогда номер получал существующий дом? Временный адрес можно было открыть отдельно.
— Отдельную точку пришлось бы заносить во все реестры.
Илья посмотрел на современную карту и провёл пальцем по новому контуру. Готовый номер проходил без создания новой точки.
Анна нанесла три даты на схему. После каждого изменения красная граница риска отходила от жилого массива. В первом случае она сместилась на сорок восемь метров, во втором — почти на шестьдесят. Между реальным повреждением и новой линией оставался старый фундамент, который на действующей карте считался пустым участком. Земля сохраняла трещину, а документ переносил её за пределы жилой зоны. Целью было не исчезновение дома, а сдвиг точки, от которой считали опасность.
— Граница всё равно должна опираться на геологию, — возразил Русаков.
— В отчёте Дарьи границу строят по адресным точкам датчиков, — сказала Анна. — Перенесли адрес, и зона ушла вместе с ним.
— А если старый прибор сняли? — спросил Илья.
— Его историю могли присвоить новому. Тогда проседание осталось у удалённого адреса.
— Изменения шли десятилетиями, — сказал Русаков, садясь напротив и придвигая карту. — Разные комиссии должны были делать одно и то же.
— Им не требовалось знать общую цель, — ответила Анна. — Каждый исправлял свой документ.
— А итоговая карта становилась удобнее, — добавил Илья.
В коридоре щёлкнул замок. Русаков поднялся. В читальный зал вошёл сотрудник охраны с конвертом. На нём стояла печать городской службы промышленной безопасности.
— Распоряжение заведующему архивом, — сказал охранник. — Помещение закрывается до проверки.
Русаков вскрыл конверт. В документе указывалось нарушение требований пожарной безопасности: перегруженная линия в читальном зале и отсутствие актуального плана эвакуации. Проверка начиналась немедленно.
Илья посмотрел на обогреватель, который вчера никому не мешал. Русаков ответил, что вчера у службы не было причины читать архивные акты.
Охранник попросил выключить оборудование и покинуть помещение в течение пятнадцати минут. Оригиналы запрещалось выносить до завершения проверки. Распоряжение подписал Зорин.
Илья набрал его номер. Ответ пришёл после второго гудка.
— Семён Андреевич, закрытие остановит проверку материалов по дому №17.
Зорин сослался на старую проводку и ответственность за людей. Документы останутся на месте, а работа продолжится после допуска. Илья включил громкую связь.
— Дайте нам час, — сказала Анна. — Обогреватель отключим.
— Проверка касается всего помещения.
— Дарья пропала после работы с этими документами.
— Её поиском занимаются уполномоченные службы. Архив опечатают именно для сохранности материалов.
— Сохранение без доступа удобно тому, кто назначает срок.
— Срок определит пожарный инспектор, Анна Сергеевна.
Связь оборвалась. Русаков прочитал распоряжение ещё раз и признал, что формально Зорин прав: проводка устарела. Илья напомнил, что обогреватель работал здесь много лет, но для распоряжения это ничего не меняло.
Анна посмотрела на стол. До закрытия оставалось меньше десяти минут. Фотографировать всё подряд было бессмысленно: без каталога снимки потеряют происхождение.
Она создала таблицу учёта. Русаков называл шифр дела и номер листа. Илья снимал общий вид, затем дату и адрес. Анна записывала имя файла и контрольную сумму. Камера Ильи показала 10% заряда, и он выключил просмотр после каждого кадра. Русаков подсовывал под лист серую шкалу, чтобы позднее нельзя было принять изменение цвета бумаги за обработку снимка.
Охранник потребовал ускориться и дал им семь минут. Русаков напомнил, что каталог разрешён правилами и оригиналы останутся в архиве.
Они закончили три проверенные строки. Четвёртое дело Русаков успел только открыть. Внутри лежали карточка квартиры и старый лист регистрации семьи.
В верхней строке стояло: «Белов Николай Петрович». Адрес: дом №17, квартира 49.
Анна приблизила фотографию из подвала. Цифры на металлической табличке совпадали с номером квартиры.
— По реестру в этом доме было сорок восемь квартир.
— По позднему реестру. Карточка старше.
Он перевернул лист. В графе выбытия стояла дата аварии, в которой погиб Сергей Ланской. Рядом карандашом написали: «семья переселена после утраты кормильца».
Анна спросила, работал ли Белов с её отцом. Илья открыл список погибших: Николай Белов, проходчик, та же смена.
В карточке указывались жена и сын. Мальчику в год аварии было четырнадцать. Новый адрес зачеркнули, поверх него поставили штамп «сведения уточняются». Дальше шли две пустые строки, хотя карточки переселённых семей обычно заканчивались отметкой о новом участке. Семья Белова исчезала из почтового учёта в тот день, когда квартира 49 пропала из реестра дома.
— Эту папку не выдавали с девяностых, — сказал Русаков, подтягивая лист к лампе.
На серой бумаге возле фамилии Белова проступал белый отпечаток пальца. Порошок лежал поверх старой пыли и не потемнел по краям. Русаков поднял руки в хлопчатобумажных перчатках.
— Я листа не касался.
— Могла выйти соль, — сказал Илья. — Здесь сыро.
— Тогда след растёкся бы по волокнам, — ответила Анна.
Она сняла отпечаток с масштабом. Белый порошок повторял дуги пальца. На столе рядом ничего похожего не было, и охранник выключил верхний свет.
— Время.
Русаков закрыл дело и поставил временную карточку. Анна сохранила каталог на архивный компьютер и два своих носителя. Оригиналы остались на столе до передачи охране.
Перед выходом она открыла таблицу Дарьи. Строка семьи Белова стояла одиннадцатой. В примечании было написано: «квартира 49 сохранена в старом реестре, вход отсутствует». Оставалась двенадцатая строка, но Анна долго не нажимала на неё. Потом развернула ячейку.
Старый адрес совпадал с адресом дома Татьяны Ланской. В соседней колонке стоял индекс колодца 17-К. Дата инцидента отсутствовала. Вместо неё Дарья поставила знак вопроса и время: 18:47.
Русаков спросил, принадлежит ли адрес семье Анны и входил ли дом в зону расселения. Анна ответила отрицательно. Илья прочитал примечание Дарьи:
— Адрес не переносился. Граница остановлена по участку.
За дверью охранник потребовал выйти. Русаков забрал временную карточку и положил её поверх опечатанной папки.
На замок читального зала надели две пломбы. Русаков переписал их номера в свой журнал и заставил охранника расписаться рядом. Анна сняла закрытую дверь одним кадром, чтобы в каталоге осталось время прекращения доступа. Теперь сохранность документов зависела от людей, которые запретили их читать.
Анна закрыла ноутбук. Теперь двенадцать адресов образовывали не только линию под кварталом. Последний упирался в дом, где двадцать лет хранился отключённый телефон и запись первого звонка после гибели Сергея.
Глава 8. Линия под городом
К дому Ланских они вернулись в половине десятого. Татьяна не спала. На кухонном столе стояли три чашки, а старый телефонный справочник лежал рядом с сахарницей, открытый на странице с номером 4317. Мать посмотрела на архивную папку в руках Анны и освободила место возле окна.
— Архив закрыли, — сказала Анна. — По распоряжению Зорина. Мы нашли двенадцать адресов. Наш дом в последней строке.
Татьяна придвинула к себе справочник.
— Наш дом никуда не переносили.
— Поэтому он и последний.
Анна поставила ноутбук на стол. Илья принёс из машины планшет и трассоискатель. Снимать участок ночью они не собирались. Сначала требовалось проверить, не добавила ли Дарья дом Ланских из-за старой истории Сергея.
В таблице точность координат различалась. Для дома №17 Дарья указала положение с погрешностью меньше метра. У двух старых зданий значения округлялись до десятков метров. Последняя строка содержала только адрес Ланских, индекс колодца 17-К и время 18:47.
— Из этого нельзя строить одну линию, — сказал Илья.
— Построим полосу возможных положений.
Татьяна поставила чайник и спросила, что будет, если совпадение подтвердится. Анна не ответила сразу. Точный ответ означал обследование участка, а при худшем результате — эвакуацию и потерю дома. Она сказала, что сначала понадобятся документы и замеры.
Мать напомнила, что после аварии участок уже проверяли люди от предприятия. Акта у неё не сохранилось.
Анна открыла современную карту. На неё легли двенадцать отметок Дарьи, старые адреса с кальки и диапазоны ошибки. Вместо красивой линии на экране появилась широкая полоса, местами почти в сто метров.
Илья посмотрел на неё.
— Убедительно.
— Так честнее. Старые точки нельзя притягивать к нужному результату.
Анна по очереди исключала наименее точные координаты. Полоса сужалась возле старого дома №17, расширялась у насосной и снова сходилась у участка Ланских. Потом она добавила открытый план шахтных работ. Под кварталом проходила старая выработка. На схеме она обрывалась возле расселённой зоны, но направление совпадало с расчётным коридором.
Илья заметил, что это могла быть соседняя выработка. Анна решила проверить расстояния по трём устойчивым точкам: реперу, углу старого фундамента и колодцу 17-К. Одиннадцать адресов легли внутрь полосы. Дом Ланских находился у северного края и вошёл в неё после добавления допустимой погрешности старой съёмки.
Анна пересчитала результат по датам актов и координатам с почтовых карточек. Оставила только сохранившиеся фундаменты. Ширина полосы менялась, направление сохранялось. От участка Ланских она отходила максимум на девять метров.
Илья приложил линейку к бумажной схеме и измерил расстояние от выработки до колодца. В масштабе выходило чуть меньше сантиметра. Ошибка старого плана могла скрыть несколько метров, но не целый квартал.
— Если убрать наш дом? — спросил он.
Анна отключила последнюю строку. Ось расчёта сохранила положение; край полосы всё равно пересёк двор.
— Дарья не притянула линию к адресу. Адрес попал в неё до добавления её точки.
— Ты увеличила ошибку, чтобы получить совпадение, — сказала Татьяна.
— Предел указан в документах того года. Я задала его до расчёта.
— На экране можно доказать что угодно.
— Поэтому у нас есть бумажный план и репер на местности.
Мать убрала со стола сахарницу.
— Мой дом не часть вашей схемы. Сергей проверял участок сам.
— Отец не мог проверить выработку без данных предприятия.
— Он знал, где можно жить.
— Он погиб в смене, после которой адреса начали менять.
Чашка ударилась о блюдце, чай выплеснулся на стол. Илья подал полотенце. Татьяна потребовала не связывать каждый документ с Сергеем: Анна приехала проверить один дом, а теперь проводила линию через семейную кухню.
На карте полоса нулевого горизонта действительно проходила под столом. Анна закрыла слой домов, оставив выработку и границы погрешности.
— Я хочу исключить наш дом. Для этого нужно осмотреть участок.
— Нет.
— Без бурения. Только стены и старый колодец снаружи.
— Ты хорошо умеешь превращать людей в строки. Напиши, что собственник отказался.
Анна отвернулась к экрану. Последняя строка отличалась от остальных: вместо даты инцидента стояло время первого звонка после гибели Сергея.
Илья открыл схему коммуникаций. Выработка и кабельный канал шли рядом до старого дома №17. Дальше канал поворачивал к участку Ланских, а шахтная линия продолжалась восточнее. Возможно, Дарья связала дом не с выработкой, а с колодцем.
Татьяна услышала последнее слово.
— В колодец не полезете.
— Не полезем, — сказал Илья. — Крышка заварена. Проверим только трассу и грунт.
Анна показала фотографию из таблицы Дарьи. На ней возле цоколя стоял небольшой серый датчик. В кадр попали водосточная труба и край крыльца, поэтому место сомнений не вызывало.
Татьяна приблизила снимок.
— У нас такого нет.
— Тогда проверим стену, — сказала Анна.
Мать взяла фонарь и разрешила пройти только вдоль дома. На улице подмораживало. Вода на дорожке стала матовой, и Илья проверял каждый шаг подошвой.
Старая трещина под кухонным окном шла по раствору и заканчивалась у вентиляционной решётки. На снимке Дарьи рядом стоял датчик, но сейчас под трубой виднелось только тёмное пятно.
Илья направил фонарь ниже. Корпус оказался за водосточной бочкой. Его прикрутили к цоколю двумя новыми анкерами. Провод уходил под отлив и дальше в землю. Маркировочную табличку сняли.
— Когда его поставили? — спросила Анна.
Татьяна ответила, что осенью приходили проверять счётчик, а других работников она не видела. По её словам, неизвестный прибор не мог долго оставаться незамеченным.
Анна коснулась корпуса тыльной стороной перчатки. Под крышкой мигнул зелёный светодиод.
— Работает.
Илья запретил открывать корпус. Анна сняла общий кадр с углом дома и крепления крупным планом. На нижнем ребре сохранился обрывок наклейки, номер был срезан. Возле правого анкера пластик поцарапали недавно.
Трассоискатель показал слабый импульс. Провод уходил к колодцу 17-К.
— Линия живая, — сказал Илья.
— Может быть батарея и передача по кабелю.
— Старый кабель начинается под землёй. Новый только ввод в корпус.
Татьяна потребовала снять прибор. Анна отказалась: без фиксации они потеряют источник и запись. Мать ответила, что Анна рассуждает спокойно только потому, что давно здесь не живёт.
— Это и мой дом тоже, — сказала Анна.
— Ты уехала двадцать лет назад.
Илья отошёл к краю дорожки. Анна включила приложение приёма служебной телеметрии. В официальном реестре рядом с участком значились два городских датчика, оба дальше по улице. Серийного номера у найденного корпуса не было, поэтому она запустила ручной поиск.
Прибор передавал короткий пакет раз в минуту. Заголовок содержал тип датчика, заряд и текущее время. Поле владельца оставалось пустым.
Анна записала три пакета. Интервалы совпали до секунды. Устройство работало штатно, хотя в городской системе не существовало.
Она сверила время прибора с телефоном и часами Ильи. Отставание составляло две секунды и не менялось между передачами. Отключила мобильную сеть на планшете. Следующий пакет пришёл напрямую от датчика, значит, старые данные не подтягивались из облака. Радиус сигнала был небольшим: у калитки приём ослаб, возле стены восстановился.
Илья прошёл трассоискателем вдоль цоколя. Кабель обходил дом и шёл отдельно от бытовой проводки. Он уходил под дорожку к служебной полосе. Установка требовала хотя бы получаса работы у стены, а отверстия от сверления прикрывала водосточная бочка.
Она попыталась связаться с Мариной. Телефон был недоступен. Письмо в отдел геомониторинга вернуло автоматический ответ: обращение зарегистрируют утром.
Илья предположил, что Дарья установила прибор сама. За последние дни она оставила диктофон, защищённую таблицу и координаты, поэтому несанкционированный датчик уже не выглядел случайностью.
— Эта женщина ходила по моему двору? — спросила Татьяна.
— Мы знаем только, что она фотографировала дом, — ответила Анна. — Возможно, не успела предупредить.
Мать направила фонарь на трещину.
— Все приходят потом. Когда дом надо отнять, документы находятся быстро.
— Я не собираюсь отнимать дом.
— Тогда зачем ведёшь под него линию?
— Потому что линия там проходит независимо от моего желания.
На кухне Анна выгрузила пакеты. Поле местоположения содержало нули. Устройство начало запись шесть дней назад, незадолго до исчезновения Дарьи.
Илья нашёл формат производителя. Такие датчики ставили на трещины и локальные смещения. Корпус мог работать от батареи, но для передачи требовался шлюз. Кабель к колодцу, вероятно, вёл к старому узлу связи.
В служебном поле стоял идентификатор проекта: DK-12. Инициалы совпадали с Дарьей Кетовой, а число — с количеством адресов.
— Она решила, что мой дом опасен, и промолчала, — сказала Татьяна.
— Она собирала доказательства. Без них прибор сняли бы в тот же день.
— А теперь она пропала, и вы нашли его у меня.
Анна изучила график. Смещение составляло доли миллиметра, но направление менялось после вечернего замерзания. За последние двое суток вектор повернул к северо-западу.
— Это может быть температурная деформация цоколя, — сказала она. — Один прибор без контрольной точки ничего не доказывает.
Илья предложил поставить временную марку, но Татьяна отказалась. Она видела, как простой осмотр за несколько минут превратился в поиск неизвестного датчика, и не хотела следующего шага.
Она опустила крышку ноутбука.
— Тогда проверим колодец со стороны общего проезда. Он стоит в служебной полосе у границы участка.
— Ты принесла карту и сразу нашла способ войти без моего разрешения.
— Под землёй может находиться Дарья.
Эти слова остановили мать. До этого спор касался дома и Сергея. Исчезновение Дарьи оставалось в стороне.
— Ты думаешь, она в колодце? — спросила Татьяна.
— Нет. Но её прибор связан с ним. Последний пакет записан сегодня.
Мать разрешила осмотр при условии, что Илья не даст Анне открыть крышку. Он согласился.
Служебный колодец находился за сетчатым ограждением, в двух метрах от участка. К нему вела узкая полоса утоптанного снега. Илья поставил фонарь у калитки и натянул сигнальную ленту вдоль безопасного прохода. Если грунт у плиты начнёт оседать, возвращаться пришлось бы тем же путём, без поисков обхода в темноте.
Днём они видели только бетонную плиту. Теперь Илья расчистил край и нашёл сварной шов по всей окружности.
Крышку заварили недавно. Металл над старой ржавчиной оставался тёмным, рядом лежали мелкие брызги шлака.
— Вчера этого не заметили, — сказала Анна.
— Вчера сверху была земля. Весь край мы не чистили.
Илья проверил грунт щупом. Плита держалась, но справа под ней начиналась пустота. Вскрывать люк без вентиляции, страховки и второго выхода он отказался.
Они сняли размеры и положение шва. Анна приложила к плите акустический датчик. После удара резиновым молотком первый отклик пришёл почти сразу, второй — с задержкой. Расчёт дал около восьми метров до воды либо нижнего перекрытия.
При повторном измерении задержка изменилась. На глубине примерно трёх метров открывался боковой объём. Через технологическое отверстие возле сварного шва Илья опустил груз на измерительном кабеле. Провод прошёл два метра, коснулся стены и после поворота катушки снова пошёл вниз.
— Канал отклоняется к улице, — сказал он.
— Совпадает со старой схемой.
— Приблизительно. Направление отсюда точно не измерить.
На глубине семи метров груз коснулся воды. Когда Илья начал поднимать кабель, приёмник на планшете подал короткий звуковой отклик. В сети появился новый узел.
Идентификатор состоял из букв DK и отдельного номера. Следом пришла строка телеметрии: давление, влажность и уровень воды. Поле местоположения содержало координаты колодца 17-К.
— Шлюз или второй датчик, — сказал Илья.
— Он проснулся после вибрации.
Анна сохранила передачу. В поле оператора стояло: D.Ketova. Последняя синхронизация прошла меньше минуты назад.
— Её отпуск начался утром, — сказал Илья.
— А устройство передало пакет сейчас.
Буферная задержка могла объяснить позднюю отправку, но тогда время измерения отличалось бы от времени передачи. Обе метки совпадали до секунды.
Анна отключила интернет на планшете и повторила пассивный приём. Через минуту узел передал новый заголовок с тем же текущим временем. Пакет шёл из колодца, а не с удалённого сервера. Заряд устройства показывал 63%. Значит, его оставляли работать надолго или рассчитывали вернуться.
Она сравнила идентификатор с файлами Дарьи. В свойствах таблицы стояла та же строка DK-12, только без номера узла. Совпадение можно было подделать лишь при доступе к облачной папке Дарьи и устройству под заваренной крышкой.
Анна запросила журнал. Узел ответил одним блоком. В нём хранились семь записей за последние два дня. Первые шесть передавались по часам. Седьмая появилась после удара по крышке. В графе состояния стояло: «ручной сеанс».
— Автоматика так пишет? — спросил Илья.
— Может, если режим так назвали при настройке. Серийный номер запросим без активной команды.
Ответ не пришёл. Повторять Анна не стала: новый запрос мог стереть буфер или выдать их присутствие тому, кто следил за каналом.
Илья поднял груз. На кабеле остался белый налёт. Он запечатал его в пакет.
Татьяна ждала у калитки.
— Нашли её?
— Прибор с её идентификатором передал данные сегодня вечером, — сказала Анна. — Это подтверждает работу устройства, но не местонахождение Дарьи.
Мать посмотрела на заваренную крышку.
— Вы всё равно её откроете.
— Только с официальным допуском и спасательной группой.
— Зорин даст его?
— Прибор вне реестра обязан стать основанием.
Илья промолчал. После закрытия архива надежда на добровольный допуск выглядела слабой.
В доме Анна добавила данные нижнего узла к карте. Перед расчётом она исключила первые минуты после ударов по крышке, чтобы вибрация не исказила результат. Направление смещения рассчитывалось по двум приборам: наружному на цоколе и скрытому в колодце. Вектор шёл через жилой микрорайон к северо-западу.
Она проверила знак осей, поменяла порядок датчиков и пересчитала. Направление осталось прежним.
— Насколько быстро? — спросила Татьяна.
— Меньше миллиметра в сутки. После оттепели скорость выросла, но шести дней мало для прогноза.
В буфере первые сутки движение шло к пустому кварталу. Направление изменилось после первого звонка на отключённый номер. Тогда же в модели появилось ответвление. Анна не стала говорить об этом матери: сначала требовалась независимая проверка.
На экране линия нулевого горизонта прошла под кухонным столом и вышла за границу участка. Дальше она тянулась к домам, где жили люди и где официальная карта не показывала опасной зоны.
Анна сохранила телеметрию и подготовила запрос на аварийный доступ к колодцу. В приложении указала, что последняя передача устройства DK-12 выполнена после начала отпуска Дарьи Кетовой. Добавила главное: вектор смещения направлен от расселённого квартала к жилому микрорайону.
Глава 9. Первичные данные
К восьми утра перед входом в службу геомониторинга стоял новый охранник. Он проверил паспорт Анны, нашёл её фамилию в планшете и сообщил, что временный доступ отозван вчера в 22:40. Основание в карточке не указывалось.
Илья показал служебное удостоверение и назвал номер ночной заявки о неучтённом датчике. Его пропустили. Анне предложили ждать на улице, хотя обращение подписала она и только у неё был формат пакета DK-12.
За стеклянной дверью появилась Марина. Она попросила провести Анну в переговорную без доступа к внутренней сети и записала посещение на себя.
В маленькой комнате рядом с серверной стоял выключенный экран. На столе лежал журнал выдачи ключей. Марина не сняла куртку.
— После вашего ухода сменили пароли. Дарьину учётную запись заблокировали, мою ограничили текущей сменой.
— Распоряжение Зорина? — спросила Анна.
— Его электронная подпись.
Илья закрыл дверь. Анна показала ночную телеметрию двух узлов: датчика на цоколе дома Ланских и устройства под заваренной крышкой колодца. Оба отсутствовали в реестре. В поле проекта стояло DK-12.
Марина узнала обозначение. Дарья просила её проверить резервный канал, если связь с ней прервётся. По словам Марины, тогда она решила, что коллега перестраховывается. Теперь она объяснила устройство системы: сервер принимал пакет и формировал квитанцию с контрольной суммой. Сам файл могли удалить, но запись о приёме оставалась в отдельном журнале.
Доступ к журналу у Марины тоже отозвали. Официальный запрос аварийной службы занял бы не меньше суток, а буфер датчика мог перезаписаться раньше.
— Нам не нужен архив, — сказала Анна. — Сверим один пакет, который ты имеешь право открыть. Данные не копируем.
— Если суммы различаются, я обязана зарегистрировать инцидент.
— Поэтому проверяем при тебе.
Марина провела ладонью по столу.
— Вы уйдёте, а я останусь.
— Решение всё равно будет твоим, — ответила Анна. — Я могу только показать расхождение.
Марина принесла рабочий ноутбук и распечатанную квитанцию за утренний пакет дома №17. На бумаге стояли время приёма, размер и контрольная сумма. Официальный отчёт хранился под той же отметкой времени.
Суммы различались в пяти знаках из шестнадцати. Архивная квитанция указывала сорок восемь килобайт, официальный файл весил тридцать девять.
Илья спросил о сжатии. Марина объяснила, что обработанная версия должна иметь другое расширение. Здесь файл был обозначен как исходный. Журнал преобразования оставался пустым.
— В нём меньше записей, — сказала Анна. — Или их пересобрали.
— Одного пакета мало, — ответила Марина.
Анна предложила ей самой выбрать даты, чтобы подозрение нельзя было подогнать под удобные пики.
Следующим шагом стала локальная проверка суммы. Анна попросила Марину не доверять экрану и пересчитать её утилитой. Они сохранили официальный файл во временную папку, отключили сеть и повторили проверку дважды. Результат не изменился. Марина распечатала свойства и поставила рядом с серверной квитанцией. Время приёма совпадало до секунды, серийный номер датчика был тем же, но количество измерений сократилось на сто двадцать четыре строки.
Анна сверила начало и конец ряда. Первые десять минут сохранились полностью, последние тоже. Пропуск находился в середине, там, где датчик показал ускорение. Случайный обрыв обычно повреждал конец файла. Здесь границы были точными. Марина нашла в отчёте интерполяцию, которая заполняла провал средними значениями. Файл выглядел непрерывным, если не сравнивать его с квитанцией.
Марина открыла календарь и отметила три периода после резкой оттепели. Один относился к прошлой весне, второй — к ноябрю, третий — к позапрошлому году. Сырые файлы на основном сервере хранились девяносто дней. Старые копии оставались в резервном узле в подвале прежнего корпуса.
Илья зарегистрировал совместную проверку через дежурного своей службы. Марина вписала Анну консультантом без права копирования. В журнале появились время, цель и фамилии участников.
Терминал резервного узла стоял в комнате с низким потолком. Старые кабельные короба шли вдоль стены. Вентилятор сервера то затихал, то запускался с тяжёлым толчком.
Марина открыла первый период. На экране появились два графика одного датчика. Серый ряд был построен по принятому пакету, синий — по официальному отчёту. Серый резко поднялся после полудня. В синем вершину срезали почти наполовину.
— Фильтрация выброса, — сказала Марина. — Если соседние точки не подтверждают пик, его исключают.
Анна вывела соседний датчик. Рост на нём начался на четыре минуты позже и был слабее, но направление совпадало. В журнале обработка значилась как «нормализация ряда». Её выполнили в два часа ночи из учётной записи службы промышленной безопасности. Формула и основание отсутствовали.
Во втором периоде исходный график поднимался ступенью и держался почти час. В отчёте вместо него шла пологая дуга. Третья дата дала похожий результат: короткий рост заменили средним значением соседних часов.
Все изменения выполнялись одной служебной учётной записью. Серийные номера датчиков сохранялись, а отметка о фильтрации в отчёте не появлялась.
— Значит, Дарья была права, — сказала Марина.
— В части происхождения файлов, — ответила Анна. — Но пик ещё не доказывает опасное движение. Сначала проверим причину.
Марина повернулась к ней с явным раздражением, однако открыла технический журнал. Анна попросила подготовить акт сверки с контрольными суммами и номерами операций. Терминал потребовал подтверждение службы безопасности.
Дверь в коридоре открылась. Зорин вошёл без пальто, в рабочей куртке поверх серого свитера. Следом появился начальник смены.
— Проверка закончена, — сказал Зорин. — Резервный узел закрывается.
Марина сообщила о несовпадении квитанции и официального пакета. Зорин подошёл к экрану и просмотрел графики. Он не отрицал изменения, но назвал их стандартной коррекцией помех.
Анна указала на пустое поле преобразования.
— Скорректированный ряд выдан за первичный.
— Это ошибка оформления.
— Из-за неё нельзя восстановить динамику.
Зорин попросил открыть соседние датчики за первую дату. Два показывали рост, третий почти не изменился, четвёртый оборвался в момент пика. Он поднял журнал ремонта. Оба растущих датчика были подключены к одному контроллеру, где зафиксировали скачок напряжения. После замены блока пики не повторялись.
Анна признала, что первый случай объясняется аппаратной ошибкой. При этом ссылка на ремонт в карточке отсутствовала.
— Система собиралась разными подрядчиками, — сказал Зорин. — Поля не совпадают. Дежурному нужен итог, а не история каждого обходного действия.
Во втором периоде часовой рост не повторился на соседних точках. Зорин показал заявку об утечке тёплой воды под цоколем. После ремонта температура основания снизилась, и ряд вернулся к прежнему уровню. Причина была реальной, но не относилась к движению здания.
— Пик существовал, — сказала Анна. — Его следовало сохранить и объяснить.
— Если каждое такое значение отправлять в городскую сводку, кварталы будут эвакуировать из-за тёплой трубы.
— Из одного значения эвакуация не следует.
— На практике хватает слов «ускорение деформации», чтобы остановить объект. Решение требует людей и техники, которые в этот момент могут быть нужны в другом месте.
Он говорил спокойно и показывал документы. В двух случаях поспешный вывод Дарьи действительно не выдерживал проверки. Но в обоих случаях исходные данные заменили без следа. Объяснение приходилось принимать на слово у той же службы, которая изменила файл.
Зорин открыл третью дату. Серый пик был сильнее первых. Рост начался после быстрого замерзания верхнего слоя и закончился через двадцать семь минут.
По его словам, три прибора тогда потеряли устойчивую опору. Контрольные марки сдвинулись вместе с поверхностным грунтом. Методика разрешала исключить такое движение, если конструкция его не подтверждала.
Бесплатный фрагмент закончился.
Купите книгу, чтобы продолжить чтение.