第16章

雨线斜着挂在天幕上,像是一层冰冷僵硬的帘子。北港中继塔的钢骨在雨里发出低沉的嗡鸣,红色航空灯一闪一灭,照得塔身像一根从云底刺下来的钉子。海风沿着港区的空巷直灌进来,带着浓重铁锈味。警报灯静默闪动着,城市像被人按住了喉咙。

凌峰压低身形,从废弃仓库的挡风墙后探出半个眼睛。前方八十米,塔区外围护栏开了一条缝,守卫巡逻的步幅规整,两台无人巡逻车沿着防火通道交替拐弯。右侧是自动售货机和拐角的消防栓,左侧是通往塔楼底座的金属台阶。雨声盖住了脚步,霓虹招牌在背后频闪,把每个人的影子都切成碎块。

“风偏东南,十五米。无人机热源扫描每三十秒循环一次。”韩明远压着嗓子,指尖紧扣着掌心终端,“电量46%,备用电磁脉冲只够一次。我们只有一次机会。”

“就一次。”凌峰吐出这两个字,手背在雨里绷出青筋,他回头看了一眼众人,“按计划走位。青禾,你带两人压住东侧通道。林妍,跟我贴着阴影走,进底座先拿到管理机房的物理钥匙。”

林妍点头,呼吸有点快。雨珠从她额角滑进鬓缝,她抬手扣紧耳后的迷你摄像头,喉结滚动了一下:比了一个ok的手势。

他们已经围着这座中继塔观察了三天。这里是恒星科技在北港的信号汇聚点,所有走向城内Ω节点的低频控制波都会在这里做一次转码。只要拿到转码日志,就能证明那场“培训”里的脑机芯片在被远程唤醒——这是扳倒恒星科技另一根支撑柱的抓手。今晚是设备维护窗口,也是陷阱最可能张开的时间。

“走。”

话音刚落,沈青禾像一阵风,先从挡风墙上翻下去,落地时膝盖微屈,把落地声压成一记闷响。他像夜里一根拉开的弦,几步窜到消防栓旁,拔出预先卡在管口的金属楔,旋开阀门,不出声地让一股水雾沿地面漫出去。水汽遇冷,很快在地面铺开一层雾气。韩明远贴着墙,用屏蔽器遮挡巡逻车的短程信号,红灯一闪,巡逻车的车头晃了一下,停在雨里像一头迷路的金属兽。

“现在。”凌峰低喝。他和林妍几乎同时掠出阴影,踩在湿滑的地砖上,鞋底发出轻微的吱声。他们贴着货柜走,手掌擦过锈迹,把身上的温度留在冰冷的铁上。右前方的防火门上锁,门边有只老旧的读卡器,灯光暗得像快要熄灭。

林妍把手里那张在旧城换来的员工卡片抽出来,背面贴着粘胶绕了三层,卡面早被磨花。她吸了口气,卡片轻轻一刷。读卡器先是毫无反应,半秒后忽然亮了一下绿灯,门缝从里头弹出一毫米。

“顶住。”凌峰用肩一挤,肩骨硬生生顶得防火门震了一下。他手掌贴上门边的橡胶条,一股腥甜的塑料味从里头冒出来。他把身体压进缝里,像一片硬叶子,硬是撑出一道人可以侧身钻过的空隙。

里面是一个狭窄的走廊。灯管时明时暗,电流在管壁里波动,发出微弱的嗡嗡声。墙上贴着“设备间严禁明火”的红字,字边缘翘起来,露出潮气泡过的墙皮。地面是防滑格栅,每一步都会带出孤零零的回声。

“交替掩护。”沈青禾向左侧的斜坡侧滑过去,枪口平举,视线像刀一样劈开雾。“第一机房在下两层,二号通风井可以直达,但要过监控盲区。”

“前面有转角,摄像头俯拍角度七十度。”韩明远的眼睛盯着掌心屏,“镜头脉冲每十八秒闪烁一次,我们只能在闪烁间隙通过。准备。”

转角处风更冷。金属腥味夹着消毒水味从下层往上扑。林妍把贝雷帽往下压了一下,手背贴在墙面,能感觉到墙里机器运转传来的细小颤动。她忽然感觉到这座塔像活着的东西,血液在管道里流动,神经在光纤里跳跃。

“三、二、一——走!”

灯管抖了一下,摄像头在上方短促地闪动,几个人像一支笔划过白纸,在短短的空白里疾速通过。凌峰迈步很快,但脚落得极轻,他每一步都踩在格栅同一条横线,避免发出不同的金属声。

他们在第二个平台停下。左侧是一扇厚重的合金门,门边嵌着一个老式机械锁,这是恒星早期的安保风格。“凯恩的习惯,”凌峰低声说,“关键门不用全电子,防黑。”他从战术背包里抽出一支细长的撬棒,金属头在灯底下泛着暗光。工具进入锁孔,微弱的咔哒声像雨里一粒砂落在铁盘上,他的手腕只动了极小的弧度,像跟某种活物在较劲。然后是第二声、第三声——“好了。”

门开了一条缝。冷气像刀,从缝里砍在脸上。机房里一排排服务器柜亮着蓝光,像站立的玻璃墓碑,风从地板下涌出来,把电缆轻轻吹得发颤。机器运转发出稳定的低鸣,像某种巨兽在睡觉。

“林妍,右二排第三柜,最上层有本地日志备份盘。”韩明远的声音带着按压过的焦灼,“你拔盘的同时我启动拷贝,十分钟。我们只要那十分钟。”

林妍小跑到指定机柜前,双手握住柜门两端把手,拉开。冷风从缝里喷出来,带着一股塑料和清洁剂混出来的味道。她按下释放卡扣,顶层那块比手掌略大的硬盘轻轻弹动了一下。她的指尖在冻得发硬的金属边沿一掀,硬盘半寸半寸地退出,卡扣突然一紧,发出一声极轻的“叮”。

同一瞬间,机房尽头响起了另一种声响。是鞋跟敲在金属地板上的节奏——不快不慢,像某个有耐心的人在审问室外来回走。

“凯恩。”凌峰的目光瞬间变得像夜里的海,冷而深。他感到皮肤上的汗毛一根根竖起来。

那脚步声停在他们这排机柜的尽头。蓝光映出一双干净到极端的黑皮手套,手套上缝着细细的银线,像蜘蛛丝。然后是一个侧影:削瘦,颧骨高,右耳上挂着一只细长的银色助听器,助听器的壳面磨得发亮,贴着皮肤像一块冰。那人把头微微一偏,像是在听哪条机器的呼吸。

“你们总喜欢挑雨夜。”凯恩开口,嗓音不重,语尾总在最后一个字压低,“雨能盖住脚步,但也会把气味留在金属上。”

林妍握着硬盘,手心立刻出汗。她眼角余光瞥到对方腰际的枪套和大腿侧的绑带刀鞘,刀柄上有一道暗色的缺口。她压了压呼吸:“拖住他。”

“我都替你们通知了维修窗口,给了你们十分钟狂欢。”凯恩轻轻抬手,黑手套在蓝光里闪了一下,把半空中的灰尘分出一束束细丝,“可你们总是把希望押在运气上。运气是穷人的儿子,总要晚点回家。”

他说话时眼睛没有看向任何一个人,而是看向整座机房,像是和这栋建筑本身交谈。他的右耳助听器亮了一下,一道微光从边缘滑过。他突然抬起手指了指林妍所在的那一柜:“把那块盘放回去。”

“做梦。”沈青禾半步上前。下一瞬,凯恩侧身,像一条被甩开的黑带,黑手套顺势抓住了机柜边缘,整个人借力一扳,身体消失在一排机柜之后。他的动作像一张在雨里折叠的纸,没有多余的展开。

“压制!”凌峰低吼。枪声压住了机器的低鸣,火舌在蓝光里散成细碎的火星。子弹打在机柜门上,溅出一簇簇金属屑,像撒开的盐。空气里的金属味瞬间浓起来。

凯恩没有反击。他像一阵阴影,在机柜的间隙里穿梭,移动时几乎没有声音。每一次拐弯,他都会把手指触在耳侧助听器上,像是在调试某个频率。凌峰忽然意识到,他在用机房的背景噪音定位他们的呼吸。他们每一次换气,被风从地板下带出来,就像在水面上多起了一个圈。

“收缩阵型。”凌峰压低声音说到。他压低身形,退向林妍,护在她侧后。林妍把硬盘塞进胸前的防水袋,拉上胶条,她的喉咙动了动,咬住舌尖让自己清醒。

韩明远的声音在耳机里更快:“拷贝开始,剩余八分四十。电量41%。刚才的枪声触发外围巡逻的自检,十秒内通道会有动静。”

就十秒。凌峰握紧枪,把耳后的雨水甩掉。他知道凯恩不会用正面硬撞,他是那种把人拖进他熟悉的节奏里再收割的人。必须把节奏抢回来。

“青禾,左二排,切断冷却风。”凌峰说。

“收到。”

沈青禾一个翻身,刀子在手背上一滚,刀尖插进地板下的通风栅格。他一抬,栅格翘起一角。他扯下身边的线缆把栅格绑住,猛地一拉,冷风立刻减弱。机房里的温度在半分钟里爬升了两度,机器的风扇自动提速,嗡鸣变大。背景噪音一变,凯恩的听觉定位被打乱。

“你们学得很快。”凯恩隔着机柜说,声音像从铝管里反弹出来,“不过,学得再快也赶不上被你们浪费掉的时间。”

他突然从另一排机柜的尽头探出身,手腕一翻,丢出一个椭圆的黑色小物。凌峰本能地抬手挡,下一秒那东西在空中炸成一团灰白烟雾。不是杀伤,是致盲。与此同时,机房天花板的应急喷淋被触发,细细的水珠直线落下,像挂了一层紗。

视线被打断,呼吸里灌进水汽,咸涩得鼻腔发痛。凌峰半眯着眼,侧耳听脚步。林妍紧贴他背后,手摸到了他的战术背心边缘,她手指很冷,冷得像给他敲了一记醒。

他们向后撤。烟雾里有人影一闪,是凯恩。他左脚跨到另一排机柜的间隙,右手迅速探出,指虎在指节上闪了一下,在凌峰肩甲上砸出一声闷响。凌峰闷哼,侧肩一沉,肩胛骨像被锤了一记。疼痛让他眼前发白,但他没有后退,反而上前半步,把身体重心压过去,用胸甲去撞。凯恩被撞退半步,脚后跟踩到水,身体一晃,却在下一瞬以不可思议的角度侧腰,像一面旗在风里平平地偏过去,人已经绕到另一侧。

“你们想要的是日志?”他轻轻发问,像在跟学生对话,“那就留着希望出去吧。”

“把门口堵上。”凌峰咬住后槽牙,他把枪换到左手,右臂一抬,从背后抄起一把紧凑的防爆盾。盾面登时被水珠敷满。沈青禾则把一台备用服务器柜往门口推,硬生生堆出一道临时障碍。

“六分五十。”

“明远,能不能提前切断塔外环的报警回路?”凌峰问。

“可以,但要两分钟,我得绕过二级核验。”

“你只剩六分——不,五分钟。”凌峰的声音像被磨过,“给我把‘晨光’的频段也一起拉出来。”

“明白。”

烟雾开始淡。冷风也渐渐恢复,风扇声压住喷淋的细碎落水声。林妍的手臂在发抖,她咬着牙让自己别把抖动传到枪口上。她突然想起第一天在广场拍摄时那个倒在她镜头前的老人,那张脸在雨水里灰下去的样子。

凯恩再一次出现,这一次他没有靠近。他站在机房尽头,双手空空,掌心向外,像示意“我来谈判”。他抬起下巴,露出右耳那个银色助听器,薄薄一片贴着皮。蓝光沿着助听器边沿走了一圈。

“你们还差一个人。”他的眼神扫过他们四个,“顾城。你们还想不想见他?”

林妍心口下沉,指尖发凉。

“他在这座塔下面的储能层。”凯恩语气不紧不慢,“氧气供应有故障,剩余时间——二十分钟。你们带着那块盘往外走,每走一步,他就少一口气。如果你们把盘放回去,我可以考虑给你们一个坐下来谈的机会。”

“机会?”凌峰冷笑,“你会在桌下放第二把枪。”

“当然。你们也会。”凯恩轻轻耸肩,“你看,我们彼此都很诚实。”

“时间。”凌峰没有看他,低声问韩明远。

“五分四十。”

“我们没有资格用他的命换盘。”林妍压着嗓子,眼里像藏着一团火,“可我们也没有资格用全城人的命换一个人。”

“所以,我给你们一个更公平的条件。”凯恩眼神微冷,“你们可以带走拷贝,但把原盘放回去。原盘是我们留在这里的‘保险’,你们带走拷贝,出去之后发现那只是哈希陷阱,你们会自己把它毁掉。反之,你们现在就毁掉原盘,你们也拿不走任何可用数据。这是我设计的,夜里我睡得很安稳。”

“你放心,我们也让你睡得很安稳。”沈青禾咧嘴,露出一排白牙,“安稳到下地狱。”

“青禾——”凌峰低喝一声,挡了他半步。

凯恩站在原地,像在水里听一条船划过。他转动了一下助听器,“四分过去了。你们每说一句话,他少一口气。”

“凌队。”韩明远声音里第一次有了颤,“我可以在剩下四分钟里做一件事:把‘晨光协议’的频段提走,同时把原盘做镜像覆盖。这样一来原盘内容在我们走后会自动被垃圾数据替换,但在这四分钟里它仍然是‘完整’的。我们一走它就坏,凯恩会以为是系统故障。风险是,我需要你们把凯恩的注意力全拉走,否则他会看出我在动盘。”

“行。”凌峰只说了一个字。他抬起盾,目光穿过盾沿,“拖四分钟。”

“我来挑他的耳朵。”沈青禾抽出腰侧的短刃,刀锋在灯下划了一道冷线。他把刀柄往手心一扣,转身一低,从机柜下方的缝隙滑了出去,像条贴地的小蛇。他绕到另一侧机柜后面,藏在水汽里,呼吸贴着地面。

“开始。”韩明远手指在终端上飞,屏幕上涌出一串串滚动的数据,像雨在玻璃上流。

凯恩显然也觉察到了什么。他像一只在平地闻到风向变化的猎犬,抬头嗅了嗅空气。他的左脚向后错了一小步,重心移到了后腿,右手垂着,那只黑手套在指尖收紧。

“你们喜欢在风里藏东西。”他慢慢说,“可风会把一切都吹到我耳朵里。”

他话音未落,机房右侧突然亮起刺眼的白光——是紧急检修灯被强行点亮。林妍的眼睛被白光刺得一缩,同一瞬,一个黑影从她左侧掠过,脚步轻到不可思议。凌峰预判到这一点,盾牌猛地横过来,挡住那一道如电的黑影。金属击金属,一声脆响,凯恩被挡住了一瞬,但他毫不恋战,手掌一按盾边,整个人借力后翻,躲回机柜间隙。

“还剩三分。”韩明远牙齿在嘴里咬出一声,“覆盖已开始,别让他贴近这排。”

韩明远一把把袖口往上撸,湿冷的空气贴在前臂皮肤上,他的指尖开始不规则地敲击屏幕,似快似慢,像雨点砸在两片不同材质的瓦上。

凯恩又一次靠近,这一次他没有直接冲。他把助听器的频段调高,机房里的所有微声都被放大。他仿佛能听见林妍牙齿撞在一起的轻微声,听见沈青禾掌心摩擦地面的摩擦声,听见凌峰心跳在胸腔里笃笃敲击——他向左一步,再一步,突然停,猛地往右切。

沈青禾像提前知道了,他从地面弹起,整个人借着湿滑的地板滑出一个极低的弧线,刀刃从下往上挑。那是用来挑断人耳后神经的角度。凯恩的眼神在那一瞬间第一次冷了一分,他的头微微一偏,刀锋擦着助听器的边沿过去,带起一溜火星——助听器壳面被划出一道浅沟,银光一暗。

“抓到了。”沈青禾低声。他的下一刀已经抬起,往咽喉去。凯恩左手握住刀背,手套上那道银线紧紧绷住,发出一声细若蚊鸣的“咛”。他右膝顶住沈青禾的大腿内侧,一下,准,狠。沈青禾闷哼,半条腿麻掉,刀势一滞。

凌峰冲上去,盾面迎面撞,凯恩顺势退,脚在水里划了半圈,借着惯性往后滑。他边退边抬手,手里不知何时多了一支短枪,黑洞洞的枪口对准韩明远的掌心屏。“你再敲一下,我就敲掉你的手。”

“二分。”韩明远的嗓子像被水嗆了一下。

“换我。”林妍忽然开口。她从凌峰身后闪出去,身形小,却直直挡在凯恩和韩明远之间。她把枪口抬起来,手臂还在发抖,但枪线稳得出奇,“你耳朵上那玩意儿,很贵吧?”

凯恩笑了一下,那笑容一点不温暖。他把枪口也抬起,黑洞洞地对着她的眉心。他的眼神无悲无喜:“你是那个记者。”

“是。”林妍说,“你今晚会上我的镜头。”

“你以为镜头能救命?”凯恩偏头,“镜头只能让人死得好看一点。”

“那就死得好看一点。”她声音很平,像把一块石头放在水底,“给我让开。”

他们隔着两米对持。雨声,风声,风扇声,水滴打在金属上的声,一起压过来。林妍背后,凌峰的手轻轻在她肩胛骨上一拍,像是在说:在。

“还剩一分钟四十。”韩明远声音干脆,“覆盖80%。晨光频段已掏走。”

“结束后走东侧消防通道。”凌峰声音低,“青禾,护她。”

“成。”沈青禾咧嘴,血顺着他大腿流下,混进鞋里。他把刀反握,像一根刺贴在身体侧面。

“你们今晚确实学得很快。”凯恩又一次把助听器调了一下,像是在给自己的耳朵找一个舒服的角度,“可惜,你们总把胜算寄托在‘如果他不做这个’上。比如现在——如果我不开枪。”

他说完这句话,扳机扣下去的声音没响。因为他没有扣。他把枪口微微下压了一点,瞄准了林妍身后的某个点——那是凌峰右臂与盾牌之间的空隙。他不是要杀人,他要让人掉队。

“走!”凌峰低吼。几乎同时,他把盾牌硬生生往下一压,挡住那条射线。子弹撞在盾面上,火星炸开,铁味瞬间浓了一层。林妍趁势侧身,贴着盾边滑过去,一把抓住韩明远的手腕:“时间到没?”

“十,九,八——”韩明远的手指还在屏上跳,“三,二,一——好!”

“撤!”

三个人几乎同时朝东侧通道冲。沈青禾最后,他步子略有一丝不稳,但脚跟一提,就像把疼痛扣在鞋底。他冲到门口时回身一眼,凯恩站在机柜间的蓝光里,那只银色助听器上还挂着一道浅浅的刀痕。他像是在记住这道痕,也像是在记住这群人离开的背影。

“再见,记者。”凯恩抬起手,做了一个很小的、几乎看不见的敬礼动作,像是对猎物的礼貌。

紧急通道狭窄,风被挤成一道细流往上冲。走廊尽头的防火门阻住了外面的雨声。他们冲出门,雨把身体上的热火一下浇灭。远处港区的照明在雨帘里模糊成一片微光,像一滩被风揉碎的银。

“他不会放我们走的。”林妍气息重,嗓子发紧,“顾城——”

“先活着拿出去。”凌峰用力咬字,“拷贝是证据,也是钥匙。顾城我们会去救。”

“这话记住。”沈青禾笑了一下,血从他裤腿滴在台阶上,被雨很快冲淡了,像什么都没有发生过,“‘先活着拿出去’——救他的时候别忘了。”

“记住。”凌峰看着他,眼神里有一瞬的硬和软交叠在一起,“我们全都记住。”

他们沿着雨滑的铁梯往下冲。脚步声在空心的梯子里回响,像在提醒:时间被踩在脚下,越踩越薄。塔区的外侧警报终于被触发,几束白光从上方的固定机枪位射下来,像几条硬直的索,试图缠住逃跑的影子。

“烟雾!”凌峰吼。沈青禾扯开腰包,丢出两枚烟雾罐。灰白的烟在雨里扩散得很快,光束被切成一段段短短的柱子,像被人用刀切过。

“快到外围护栏!”韩明远的声音发紧,“左侧那个自动售货机后有个监控盲区——我们来时走过的小巷。”

“看见了。”

林妍的手指扣紧防水袋里那块硬盘,指节发白。她知道那里面装着他们想要的证据,也装着即将引来的更大风暴。她忽然想起在塔内凯恩那句“运气是穷人的儿子”。她想回答:运气是穷人的儿子没错,可我们不是等他回家的人,我们会去把他找回来。

他们贴着围栏的阴影跑,铁丝网冰冷,雨沿着网线一粒粒滑下,滴在她的手背上,凉得她牙根发酸。她换气的节奏乱了一次,又被自己硬生生拉回均匀。前方拐角那台自动售货机在雨里静静立着,机器外壳被人涂了“还我们工作”的字样,红色被雨冲得像被人一遍遍抹过,糊成一团。

“进去!”

四个人一起钻进售货机和墙之间的缝隙。那是一条刚好容下一个人侧身的狭缝,地上铺着碎玻璃,玻璃上粘着糖水,湿滑而粘。凌峰伸手去推那块松动的铁皮,铁皮向内一陷,露出一条黑影里通向外巷的小道。他把身体先塞进去,肩膀擦过铁皮时又是一阵钝痛。他忍住,回手拉林妍,手掌紧到像要把她从雨里拉出一个洞。

他们像从一张巨大的网里挤出来。外面是港区废弃仓库的背巷,地面是泥和混着油的水,脚踩上去会溅起一片黑点。远处海面轰隆隆地喘气,灯在雨里摇。

“清点。”凌峰靠着墙,胸口起伏,“有伤?”

“腿,擦伤。”沈青禾吸了口冷气,把裤腿拉起来,皮肉下面是一片青紫,“还能跑。”

“我没事。”林妍把手在衣服上抹了一把,衣服上立刻多出一片暗色,“盘在。”

“电量剩34%。”韩明远把终端抱在怀里,像抱着个孩子,“拷贝完整。‘晨光’频段也拿到了。”他抬起头,眼里第一次有光,“我们可以告诉全城:那些‘培训’的芯片,随时能被唤醒。”

海风把他的气息吹散,但那句话像钉子,稳稳地钉进了四个人的心里。

“那么下一步。”凌峰抬头看了看天,又看向港城的方向。远处城市的光像一块被雨水揉开的布,模糊却没熄,“下一步,救顾城。”

“还有——”林妍的声音忽然压低,“凯恩说的‘坐下来谈’,只会换一个更深的陷阱。他不会放弃那块被他自己设计的‘保险’。我们要反过来利用它。”

“怎么利用?”沈青禾扶着墙直起身子。

“把它变成‘假保险’。我们告诉他,原盘在我们手里也是活的。我们用这东西换人,但准备几点——把他引到我们选的地形。楼梯瓶颈,交叉视野,烟雾加夜视。”她说着,自己都感到手心在发汗,“我们没得选。”

“选了。”凌峰点头。他看了看每个人的脸,雨水在每个人的睫毛上挂着,眼睛都红得像熬了夜,“今晚的口令,换一个。‘先活着拿出去。’记住。”

“记住。”三个人齐声。

远处塔区传来延迟的警报,像迟到的怒吼。凯恩应该已经发现原盘覆盖后的异常,也许正沿着他们留下的水印追来。凌峰把背包提在身前,看看四周的掩体,做了个决定。

“走港桥下。雨把脚印洗得干净些。”他抬手指向那片漆黑的桥洞,“桥洞里泥深,滑,但有人靠近会留下痕。我们反向利用。”

“懂了。”沈青禾换了个呼吸,把自己疼得发麻的腿换做支点,“到桥洞我守尾。”

“你腿——”

“能守。”他笑,“我一只腿也能守。你们先走。”

“别逞强。”凌峰声音重了一点,“你守,但不许掉队。”

“保证。”沈青禾伸出拳头,轻轻碰了凌峰一下,“你欠我一瓶真正的啤酒。”

“救出顾城请你喝。”凌峰回拳。

他们沿着黑暗的巷道往桥洞跑。雨在桥面上拍出一片密密的响,像无数个脚步堆叠在一起。林妍跑在第二,她的呼吸终于平稳下来,心口的硬盘在胸前打着她的肋骨。她忽然对着雨夜低声说了一句话,像对自己,也像对那台塔里冷得没有心的机器:“你听着,我们要把你的喉咙撕开。”

雨夜无言,风像冷冷的手抚过她的脸。她知道,下一场硬仗已经在桥洞里等他们。

雨越往桥下压越低,像一层层重的布。桥洞里的混凝土柱沾着厚厚的苔藓,潮气往外冒,灯管远远地闪了一下又暗下去。河面黑得发亮,水流在墩脚间挤出一溜溜白泡,像牙缝里的冷气。我们踩进泥里,鞋跟发出“噗”的小声,立刻被雨吞掉。

“这儿。”凌峰指向最靠北的桥墩,那里有一张被雨泡烂的破沙发横着搁在台阶上,海绵鼓得像长了霉。沙发后挡着一扇不太起眼的检修门,门缝里透着一股冷金属味。门侧墙上,有一块新换的铁板,比四周的旧锈颜色浅,显眼得过分。

沈青禾蹲下,指肚轻轻抚过铁板边缘,指尖带回一层细粉——新喷的防锈漆还没完全干,他把粉在雨里一抹,粉团在手心结成一粒,“这条路八成被他放了耳朵。”

“绕。”凌峰看向桥墩第二格的阴影,“从下水涵洞走,和塔储能层的旧排污阀相通。明远,剩多少时间?”

“按凯恩说的氧气余量估算,十六到十八分钟。”韩明远盯着掌心屏,屏上的电量提示跳到33%,“我能用‘晨光’的握手包去骗开一层防火阀,但需要稳定信号。桥下这儿反射乱,得找个角。”

“就那块灯管的盲区。”林妍抬手指向右侧,灯管下方有一块黑影,风把雨吹成斜的线,那里正好被桥梁的横梁折出了一道暗槽,“我过去打伞,你们在内侧连线。”

她说“打伞”,其实是用身体挡信号。她走过去,背靠混凝土横梁,头顶的雨被梁边正好削掉一半,落在她左肩。她把背包里的小型馈线拉出来,用掌心把线压在梁上,指节隐隐发白。韩明远把终端贴上,屏幕上一串串握手码像风里乱舞的线,忽明忽暗。他咬了一下嘴唇,指尖飞快在屏上点,“开……开了,第一道阀响应。十秒后复位,我得趁这十秒把旁路的检修口状态锁死。”

“好,锁住了。”韩明远吐气,眼底一亮,“涵洞那扇检修门状态变黄,我们能从那里下去。”

“走。”凌峰抢在前,翻过破沙发,抬手把检修门把手往上一提。门一开始很紧,像咬住了他手里的力,第二下,门轴发出一声短促的“吱”,一股冷空气扑面而出,夹着下水道特有的酸臭味,还有汽油和潮泥混合的腥。他们一个接一个钻进去,门在身后轻轻合上,桥外的雨声像被一张厚布盖住。

涵洞里墙壁是粗糙的混凝土,地面积水没过脚背。灯管坏了几根,剩下的几根闪闪烁烁,泛着病态的黄。空气里有回声,轻一点的衣料摩擦声在这里都会被拉长。他们尽量把脚步压轻,贴墙推进。墙角有一扇被漆成灰色的小门,门轴下方的水渍新而亮,像有人刚从里面经过。

“他的人也从这边走。”凌峰低声,“但那扇门不是我们的目标。右拐,下二级台阶,有一道手摇阀——顾城给过我们图,那阀后是储能层排气槽。”

“十分钟到十五分钟。”韩明远再一次报。

台阶很窄,混凝土边缘被水泡得发滑。沈青禾把手按在墙上,手心的汗与冰冷的水混在一起。背伤在潮里开始发热,他吸一口气,换了个呼吸法,把痛压到一个可以忍受的位置。他知道这段路每一步都在计价——时间、体力、弹药,和命。

“前方有光。”林妍停了一瞬,头微微侧过去。她的听觉在这种静得过分的地方更敏感,能把风从哪个孔里漏进来的方向分得很清楚。前方光不是稳白,是一种手电的冷白,随着持灯者的步子晃动,每抖一下就把水面里的自己抖出一道影。那团光忽远忽近,最后停在我们下一个拐角的背后。

“等他过去。”凌峰把手抬了一点,五指摊开,掌心向下压,表示压低。四个人像四片暗色贴在墙上。光近了,近得能看见持灯人雨披下摆被水泡出一条深色的线。像背着东西跑过来。灯光扫到墙面,一下,擦过他们的鞋尖,又一下,过了拐角,继续走。脚步声在水面上敲了三十下,远了,消失。

“走。”凌峰声音像一根拉紧的弦。他们掠过拐角,迎面是一扇半掩的铁门,门缝里透出淡淡的白光。门后果然是排气槽,墙面上贴着一张小小的“注意压力”标识,边缘卷起来。靠墙的手摇阀旁边贴着一条新的黄色封条。他们掀阀把——逆时针,四十度,摇。阀门一开始像卡着泥,凌峰的指节一瞬间涨白,青筋起,咬着牙把它一点一点往回扳。第三下卡点过了,阀把“咔哒”回到另一档位,槽里的风变了声,像有人把一个大喉咙转了个口。

“气流改向。”韩明远低声,“储能层的二号通风井现在在往我们这边泄压,他们那边的氧气能多坚持四到五分钟。”

“够我们进。”凌峰话还没落,远处就传来一阵轻微的金属撞击声。不是偶然,是节奏——三短一长。这是凯恩的人习惯用的“门开启信号”。他们从另一头也进来了。

“分两路。”凌峰当机立断,“我和青禾向下抢人。林妍、明远守拐口,拖住。拖三分钟,哪怕多三十秒都拖。”

“成。”林妍没问“行不行”,她只是把枪调到点射,站位靠右,把背留给一面能借声的墙。韩明远把终端贴在墙上,一边盯“晨光”通道的状态,一边把身边挡手电的角度微调——每调一个,眼睛就眯一下,像把整个空间在脑子里转过一圈。

下一级台阶更窄,水更深,到了小腿。地上混着细碎的玻璃渣,踩上去滑得凶。沈青禾把脚放得极稳,脚踝内侧被一块玻璃刮了一道,他吸一口凉气,没停。他们转过一道弯,迎面是一扇带着封条的防火门。门上电锁亮着红,旁边一个老式的机械栓挂着半截生锈链子。

“我来。”沈青禾抽出他那只早就磨顺手的扳手,手腕一扣,扳手卡在栓上。他吸气,肩胛往下压,把力聚到手腕,轻轻往外带。链子“咯吱”一声,断了半截,防火门松了一线。他用半个身子顶开,冷气像刀一样切进来。

防火门后一条廊直插到底,尽头是储能层的安全窗,双层钢化玻璃后面,一个人影靠着墙坐着,头垂着,肩还在微微起伏。顾城。他的脸灰白,唇色发黑,鼻翼轻轻翕动,像一只受了伤的动物还在细细喘。玻璃上挂着一层水雾,他抬眼看见我们,眼睛里先浮出一种本能的亮,又很快压下去,担心这亮会暴露他。他抬手,比了一个极小的“上方”的手势,指出玻璃上方的气阀。

“阀在上面。”沈青禾抬头,天花板上的管路交错,有一只标着“紧急惰化”的阀盒,箱盖半开着,红灯在里面一亮一灭。他心一沉——凯恩打开了充氮。顾城还能喘,是因为氮气还没完全压下来,但也就是几分钟的事。

“你撬,我登。”凌峰把背包往地上一丢,从包里甩出一卷捆扎带,“我上去拧阀,你开窗旁的旁路电磁锁。三十秒。”

“成。”沈青禾把捆扎带一头套在凌峰腰上,另一头绕到地上的管基上,打死结。他勾过一张倒在墙边的金属栈板,竖在墙下做临时踏板。凌峰足尖一点,整个人蹿上栈板,手伸到阀盒边缘,五指扣住边,肩臂肌肉绷出一条条线。他的肩在机房里被凯恩的指虎砸过,此刻一发力,疼像钩子从肌肉里把那一块撩起来。他吸了一口气,把这口气像一块铅一样压在阀盒上,让疼倒流。他把阀顺着箭头方向扳——比想的要紧,阀轴上的锈像牙齿。他微微换了个角度,整个肩往上一抬,阀轴这才“嘎吱”动了半格。

与此同时,沈青禾在防火玻璃旁边找到那只电磁锁盒,盒子被一层透明防水胶封着。他用刀尖沿着胶边划出一条缝,手指探进去,感到一只小杠杆。他把杠杆往下压,电磁锁“嗒”地缩回去一半,玻璃门松了半指缝。他把手掌塞进去,用力往外掰,玻璃门对到位,第二道锁还在。他把刀换手,从缝里抄进去,把第二道锁舌往上挑。玻璃门像是一口憋了很久的气,“呼”的一声松开,冷风从里面涌出来,带着一股像是旧电池漏液的酸味。

“上!”凌峰肩一沉,阀终于被他扳到“手动关闭”的位置。红灯灭了。头顶的气流声从“呼呼”变成了“嘶嘶”,像一条蛇被捏住了喉咙。他的手还扣在阀柄上,臂上的肌肉一跳一跳,汗从下巴一滴滴掉到他的喉窝里。他松手,下到地上,脚跟踩在水里发出沉重的一声。

“顾城。”他叫。

顾城本能地想说话,喉咙里挤出一点哑声。他摆摆手,示意“别说”,“走”。他站起来时几乎没站稳,扶住墙,手背上一条老伤的疤在灯下发白。他把自己背上的一个小包卸下,一丢——包落在水里,沉。他指了指自己的胸口,又指了指凌峰的包,意思是:证据比我有价值。

“别多话。”沈青禾把他一把拉出玻璃门,肩一沉,半扛半扶。他的腿还在出血,血顺着他的靴筒和河水混一起,打成一条条淡红色的丝。他咧一下嘴,“欠你那瓶啤酒,今晚先记账。”

“回去再喝。”顾城靠在他肩上,嘴角动了一下,“你们……还能笑?”

“再不笑就要哭了。”沈青禾的嗓子也哑了,“走。”

他们往回撤。这时,后方传来一阵极短的枪声——三下,连,像在乒乓板上弹开的铁珠。紧接着是手电光被打偏的光影。林妍和韩明远顶住了第一波。再往后一秒,耳机里传来韩明远短促的“我被压了”,紧接着是林妍的“左墙,低位”。

“快。”凌峰眼角收紧。他把顾城从沈青禾那边接过来一点,分担重量。肩膀被撞一下,他眼前晃了一下白。他咬牙,脚步没乱。

拐回上一个弯时,眼前一亮——本来昏黄的灯光被人一股脑全部打开,白得刺眼。凯恩的手伸到了涵洞。光一亮,他们的影子立刻被钉在墙上,成了最好的靶子。凌峰本能地把顾城往墙下压,自己抬手打灯。灯泡爆的一瞬,玻璃渣像一阵细雨洒下来。

“右上!”林妍的声音像一根绷紧的弦,斜刺进耳朵。她堵在拐角,用一片破铁皮当掩体,枪口从铁皮上的一条缝里伸出,左眼闭到只剩一条缝,右眼定在准星上。对面手电光一抖,她往光源边缘压了一枪,火花一开一收,光线倾斜下去。她没有恋战,手一抽,换位,退回另一个角。脚底的水把她一下打滑,她用左手撑墙稳住,手背蹭掉一层皮。她吸气,继续顶在缝后。

“剩下八分钟。”韩明远的声音又稳回来,“他们在放催泪瓦斯,风对我们有利,先忍一忍。”

眼睛和喉咙同时被辣了一把,像有人把辣椒面撒在鼻腔里。顾城的胸口起伏加快,他咳,一咳就像把胸腔里那点仅有的气都吐出来。他靠墙上停了一秒,抬手按住自己的胸骨,然后把手往下滑,按到肋骨下的一个点,像在提示自己呼吸往下送——他没忘。他还记得这些年在各种突发里练下的那点本事。他抬眼看我们,“撑住。”

凌峰觉得自己的舌头像被谁用砂纸打磨过,嘴里只剩下金属味。他看向前方——下一个拐角就是林妍的位点,再过去就是他们进来的那道检修门。检修门外是桥洞,桥洞外是雨,雨能洗掉他们的一部分痕。他们只需要顶住这几步。

“上面。”沈青禾忽然扬下巴。他听见一串轻轻的“嗒嗒嗒”,那不是脚步,是轮子在水泥地上滚。无人车进涵洞了。

“前压。”凌峰把顾城交回给沈青禾,他自己抬枪,瞄准那条还没露头的拐角边缘——无人的轮子先露,再是探头的传感器。他一点,火花打在传感器侧,传感器冒出一小片烟,轮子在水里打滑,横着撞到墙,发出一声干硬的“砰”。后面的轮子跟上来,被前面的卡住,形成了一个临时的“障碍堆”。他们绕无人车的右侧挤过去。凌峰让顾城贴左,他贴右,枪口根本不离手。催泪瓦斯在这一小段拐角上被墙折了方向,风把一半吹回去。对面的手电被烟折进自己的队形,两声骂被水裹住,在耳边炸又散。

“出去!”林妍从掩体里起身,向外通道斜退。她的手在抖,但每一步都踩在水中影子最暗的地方。她递出一只手,手心朝里,接住顾城的前臂,把他从最后一道水里拉过去。顾城的脚踝一脚踩空,脚背在水下撞到混凝土边,痛得他“嘶”的一声。他把这股痛像一把钉子钉在自己的脚背上,继续往前挪。

检修门外的桥洞里。风把催泪瓦斯的残味吹散一些,换来潮湿的河风。雨从桥面灌下来,沿着柱面成串落下。他们几个冲出门,凌峰回手把检修门往里一带,门“哐”的一声关死,外头一截铁螺栓自己落下来,插进门扣。他没指望这层门能挡多久,但能抢出三十秒就是三十秒。

“从这边。”韩明远指向更暗的一道缝隙,那是桥墩与堤岸之间被多年潮水掏出来的凹槽。凹槽里长着滑腻的青苔,一步踩上去像踩在肥皂上。他先把终端塞进衣服,抱胸,身体像一块板,贴着墙侧滑过去。凌峰让顾城走在中间,他断后,枪口朝着检修门。

“他会从桥上投光下来打我们。”林妍一边走一边说,“我们走桥下的梁,贴着水走,他的光会被水反射,打不准。”

门里传来一声重响——有人用肩撞门,门轴发出一声尖,螺栓被顶得“咔咔”响。第二下,门抖了一下。第三下,螺栓扛不住,“啪”的一声,从门扣里弹出来,滚到地上。凌峰看也没看,脚下速度再加一格。他们刚好绕过那条凹槽最窄的地方——那里水深,淤泥糊脚。一束冷白从桥上斜落下来,打在河面上,水面反光在桥底一片乱抖。光在他们身上扫过去时,全被水面反射成几片抖动的影子。

“到桥洞下的栈道。”韩明远低声,“那儿有个消防栓,能打出一墙水。”

“打谁?”沈青禾问。

“打他们的脚。”韩明远说,“他们穿的是重靴。”

“懂。”沈青禾眼里擦出一丝笑,“我喜欢这种公平的战术。”

栈道是木的,旧,踩上去“吱呀”,发软。边上立着一只红色消防栓,油漆被雨泡得起皮,螺帽生锈。沈青禾抬手拧,拧不动,他用扳手,扳手冷得像刚从冰水里捞出来。第一下没动,第二下动了一点,第三下喷口“喀”的一声打开,一股细白水柱冲出来,打在栈道的边缘。再拧一圈,水柱变粗了,像一面硬硬的布往对面压。对面刚追出检修门的两个身影踩在木板边,水柱打在他们的脚背,整个人像被绊了一下,身形一折,一个脚踩空,半条腿插进水里,另一人去拉他,自己也滑了一跤。

“撤!”他低喝一声。

他们沿着栈道斜切,转入堤岸下的另一道涵沟。这条沟更矮,得弯腰走;空气潮得像粘在皮肤上。顾城的呼吸在这儿开始明显费力,他每一次吸气都像有一个小小的锉刀从胸骨下往里推。他把左手按在肋骨下的那一点,像给自己加一个支点。“前面的拐角有一台自动售货机。”韩明远忽然说。

“桥洞下有售货机?”沈青禾苦笑,“这城真够会摆摊的。”

“不是卖的。”韩明远喘一口,“是我们那条线的旧‘壳’,里面有一台备用电台。我们可以用它把‘晨光’的样本撒出去,早一分钟发出去,早一分钟逼他们露手。”

“顾城先走。”凌峰道,“林妍,跟明远去把电台开起来。青禾护尾。”

“成。”三人分成两路。林妍和韩明远往售货机那边走,边走边把汗和雨从额头抹开。售货机外壳被涂了旧广告,红色的字被霉斑吃掉一半。韩明远把外壳上伪装螺丝的帽盖抠下来,露出里面真正的螺丝,手腕一抖,螺丝掉在手心。他把外壳揭开一角,一台小小的电台躲在里面,天线缩着,像一条被受宠若惊的猫。他把电台拽出来。

电台上那盏旧的绿灯亮起来,亮得很朴素。他们把“晨光”的样本打包,发出去。信号像一把石子扔进水里,水面不动,水底的纹却开始动。几秒后,他们的终端几乎同时震了一下——公共链上出现了一个匿名的节点,里面挂着“晨光”的频段对照表。那表看起来像一张平平无奇的时刻表,只有行内人知道每一个“时刻”对应的是一个能把某一类人唤醒的频率。

“走!”林妍把电台塞回壳,外壳盖回去的时候没盖严,她故意留了一条指甲宽的缝。她知道,凯恩的人看到这条缝,会知道有人动过这台机器,会绕回来查。那将是下一步的“钩”。

“回桥下大道。”凌峰的声音从耳机里进来,“我们要往东。”

“东面?”韩明远一愣,“东面是旧干船坞。”

“那里有坡,逆风。适合对峙。”凌峰说。

干船坞像一口巨大的空池,黑水退去,只剩湿滑的水泥底,嘶嘶地往外冒气。坞壁上挂着几只旧的拉梯,梯子铁锈把边都吃花了。东侧有一道窄窄的上坡,坡顶是一扇被铁栏吞了一半的防火门。风从坞底往上吹,吹得人眼睛发疼。坡面滴着水,像一条刚被拖上岸的鱼肚子。我们在坡底停了一秒,彼此看了一眼。

“青禾,你守错位点,一旦他们冲坡,你切他们脚。”凌峰在风里说话,声音往后吹,听起来像从胸腔里石头磨出来的,“林妍,你卡门。我把顾城带上去,明远在门后配合。”

“好的。”三个声音几乎一起。

“来了。”林妍说。

她说“来了”的那一瞬,一束白光从坞口打进来,接着是三束、五束。光不是直直地扫,而是随着追击者的步调在坡面上跳。脚步声先轻后重,重到像有人把铁锤往地上捶。第一拨三人试图用泡沫封住他们脚下的路,喷口一抬,白沫像腻子。沈青禾不等泡沫成型,一个半身侧滑,整个人贴着坡面滑出半米,刀背砍在喷口的侧链上,“咔”的一声,喷口偏了,泡沫打在坡面的左侧,自己把自己封了半条路。

第二人抬起硬盾,盾面镀膜在灯下闪。他刚想前压,凌峰把顾城往右一扯,自己一盾面顶在坡面上滑,借坡面把整个身体像楔子一样送上去,他的肩又被撞了一下,他把楔子插在硬盾和坡面的夹角,硬生生把人顶得后退两步。

第三人抛出一个像网的圆筒。林妍看见它的轨迹,抬枪,一枪过,网在空中张开,却被她打偏了中心,网腿落在坡面,粘住了一片泡沫。网变成了他们的“路障”。她换位,卡门。防火门在她背后,她能感觉到门的铁皮把风反回她背。

“上!”凌峰把顾城拉到自己左侧,顾城的呼吸像终于从一个小口子里挤出来。他不好受,但他笑了一下——那种在风里勉强咧开的笑,像告诉你:活着。凌峰用盾和身体把他护上坡。沈青禾在他们后半步,刀刃贴着自己的前臂,随时准备给追上来的人一击。

坞壁另一侧的照明忽然全亮,又忽然全灭。黑在风里“啪”的一下合上,又被雨轻轻揭开。

坡顶的防火门背后传来一声很轻的“嗒”,像有人在里面把门栓拨开。韩明远把门与门框的缝调到正好容得下一把刀伸出来的宽度。他把自己所有能用的手段都用在这道门上了——门后的一张破讲台、两袋砂、一只倒扣的工具箱,全部都成了他要的武器。

凌峰把顾城往门里一塞,门后的人手像早知道他有多重那样正好在他腰下撑住,“走!向后走!别停!”

“青禾——”凌峰回头。

“我守着。”沈青禾已经半跪在坡面,刀尖抵着地。他看着最后一个冲坡的人脚步乱了半拍,他把刀往上一抬——切向对方重靴。那人一屁股坐在泡沫上,泡沫滑,他自己把自己旋了半圈。沈青禾收刀,退半步,跑进门里。

门在他们身后“砰”的一声关死。风一下被挡住,耳朵里嗡的一下像突然安静了。韩明远立刻把门后那张破讲台顶上,工具箱压边,砂袋抵底,两秒成。

“走。”凌峰不停。他们穿过一条几乎被拆空的走廊,走廊两边的房门都被卸掉,只留下门框。墙上涂着“注意安全”的红字,被潮气糊得像哭了一次。地上各处堆着杂物:一扇掉漆的防火门、几根绑带、一本被泡烂的记录本。顾城在其中一段路忽然停了一下,目光落在那本记录本的残页边,那页上还看得见两行字:设备——检修计划——乙类。他轻轻“啧”了一声,像把一块小石头在舌下转了一圈,“等我喘过来,我们要去把‘乙类’的仓库翻个底朝天。”

走廊尽头外面就是街。雨还像刚才那样下,但风向变了一点,从东南偏到正南。港区远处一只旧吊车的影子在雨里摆来摆去,像一个没睡醒的巨人。我们把自己塞进雨里,雨把我们身上沾的一切都往下洗。身后的防火门在风里轻微震了一下,像一只被关住的兽在墙后面呼气。他们知道这道门顶不住太久——凯恩的人会找到另一条路,或许更快更狠——但今晚,他们已经找回了要找的数据。

凌峰站在街角的阴影里,眼睛扫过每一张脸。

“腿还能用。”沈青禾笑,笑里没力,但是真笑,“靴子湿了,回去要晾晒一晚上。”

“气顺了些。”顾城吸一口气,胸腔那把钉像终于被人拔出来半寸。他的声音还是哑,却稳了很多。

“手背裂口。”林妍抬起手,指背上那片破皮白到发亮,混着雨看上去像贴了一层薄薄的蜡。“不碍事。”

“电量30%,拷贝完整。”韩明远把终端贴到胸前,“公共链上‘晨光’样本热度在涨。有人在看。”

“那就让他们看。”凌峰说。他把目光从雨里收回来,落在我们每一张眼睛上,“下一步,按证据链把市政‘乙类’仓储点标出来,交给那几家还敢发声的媒体。

雨像一层幕把我们与城市隔开又连接。他们沿着港区的边缘走,走向那条在地图上看不出来、只有脚知道的路。身后,北港中继塔的航空灯一闪一灭,像一只不肯合眼的猛兽。