Наступні кілька днів промайнули майже непомітно.
Лабораторія PHARMASY не згасала навіть уночі. Холодне світло моніторів відбивалося у скляних стінах, вентиляція тихо гнала сухе повітря крізь стельові решітки, а запах кави й нагрітої електроніки поступово просочив приміщення.
Анна і Джек знову й знову намагалися зрозуміти, що саме пішло не так в експерименті з перенесенням.
Команда була простою.
Архітектура — перевіреною.
Але кожен запуск закінчувався однаково.
Захоплення речовини відбувалося.
А потім система руйнувалася.
Помилка пошуку цілі.
Монітори зависали.
Наніти всередині резервуара починали поводитися дивно — іноді просто завмирали, іноді металися хвилями від стінки до стінки, мов море у скляному штормі.
Анна переписувала фільтри обробки сигналів.
Джек перевіряв архітектуру стабілізації.
Результат залишався тим самим.
Помилка поверталася.
На третій день вони майже перестали розмовляти — лише обмінювалися короткими фразами й новими гіпотезами.
Саме тоді рішення несподівано запропонував Адріан.
Він сидів трохи осторонь, майже не беручи участі в розмові. Перед ним лежав планшет із системним журналом. Екран холодно освітлював його обличчя, підкреслюючи втому останніх днів.
Пальці повільно прокручували рядки.
Логи тягнулися одноманітно: команди, підтвердження, системні відгуки.
І раптом його погляд зачепився за короткий фрагмент.
Адріан зупинився.
Рядок виглядав майже звичайним.
Але не зовсім.
Він наблизив журнал.
Серце на секунду вдарило сильніше.
У журналі був слід.
Короткий, майже непомітний.
Слід зовнішнього втручання.
Спроба стерти його залишила ледь помітний розрив у послідовності команд. Саме через нього система тепер зациклювалася і пропускала частину операцій.
Адріан відчув, як по спині пробіг холод.
Якщо він це побачив…
значить, можуть побачити й вони.
Долоні почали повільно вкриватися потом.
Він швидко озирнувся.
Анна і Джек усе ще сперечалися біля іншого монітора.
Адріан нахилився ближче до екрана.
Пальці швидко торкнулися сенсорної панелі.
Кілька рядків зникли.
Лог вирівнявся.
Але петля в коді залишилася.
Тепер вона виглядала як звичайна помилка системи.
Адріан на секунду завмер.
Потім відкинувся на спинку крісла.
І раптом коротко всміхнувся.
Геніально.
Він навіть відчув дивний приплив захвату — настільки витонченою здавалася власна імпровізація.
Адріан різко випростався.
— Зачекайте.
Анна підвела голову.
— Що?
Адріан розвернув планшет до них.
— Ви серйозно цього не помітили?
Джек насупився.
— Чого саме?
Адріан тицьнув пальцем у журнал.
— Система намагається синхронізувати два типи нанітів.
Анна завмерла.
— Але протокол синхронізації вимкнений.
— Код каже те саме, — спокійно відповів Адріан. — Але система все одно намагається це зробити.
Джек нахилився ближче.
На графіках справді з’являлися сигнали, що збігалися.
Анна швидко відкрила діагностичне вікно.
— Чорт…
Вона провела пальцем по екрану.
— Тому перенесення ламається.
— Один тип виконує команду, — продовжив Адріан. — Другий намагається повторити її… але не знаходить об’єкт.
Джек видихнув.
— І система йде в нескінченний пошук.
Анна мовчки дивилася на графіки.
— Як ми могли це пропустити…
Адріан знизав плечима.
— Кілька безсонних ночей — і навіть хороші інженери починають дивитися не туди.
Він сказав це майже недбало.
Але всередині вже відчував, як напруження повільно відпускає.
Слід зник.
Помилка залишилася.
І тепер вона належала системі.
А не йому.
Кілька секунд усі мовчали, дивлячись на графіки.
Джек першим порушив тишу.
— Ми навіть не думали про те, що станеться, якщо наніти не знайдуть об’єкт.
Він провів пальцем по екрану, переглядаючи логи.
— Система просто йде в нескінченний пошук. Треба додати обмеження.
Анна кивнула.
— Таймер виконання команди… і аварійний вихід.
— Саме так, — сказав Джек. — Якщо об’єкт не знайдено — команда переривається. Наніти повертаються в базовий стан.
Він відкрив редактор коду.
Екран наповнився рядками.
Анна швидко дописала фільтр перевірки цілі.
Джек додав обмеження циклу.
Пальці стукали по клавіатурі швидко й упевнено.
У лабораторії знову залунали знайомі робочі звуки — тихі клацання клавіш, гул серверів, короткі сигнали системи.
Анна зупинилася.
— Готово.
Джек натиснув команду збірки.
На екрані з’явився рядок:
Compiling architecture…
Сервери загуділи трохи гучніше.
Минуло кілька секунд.
Compilation successful.
Writing to system…
Індикатор запису повільно заповнив шкалу.
Нова версія коду завантажилася в систему.
Десь у глибині приміщення тихо клацнуло реле живлення.
Анна вимкнула залишковий канал синхронізації.
Система перезапустилася.
Монітори на секунду згасли.
Коли вони знову ввімкнулися, сталося ще одне дивне відкриття.
Після розділення моделей наніти почали працювати гірше.
Модифікована версія втрачала стабільність.
Базова майже перестала реагувати на команди.
Ніби обидві системи втратили частину своїх функцій.
Джек дивився на графіки кілька секунд.
— Це неможливо…
Анна повільно похитала головою.