java反射学习之二万能EXCEL导出

一、EXCEL导出的实现过程

  假设有一个对象的集合,现在需要将此集合内的所有对象导出到EXCEL中,对象有N个属性;那么我们实现的方式是这样的:

  循环这个集合,在循环集合中某个对象的所有属性,将这个对象的所有属性作为EXCEL的列,该对象占据EXCEL的一行

二、万能EXCEL导出(以JXL为例,jxl、poi等excel导入导出的jar包不做介绍了)

  1、创建java工程、引入jxl的jar包

  2、直接上代码

    Book.java

    

/**
* Book对象
* @author bwy
*
*/
public class Book {
private String name;
private double price; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public double getPrice() {
return price;
} public void setPrice(double price) {
this.price = price;
} public Book(String name, double price) {
this.name = name;
this.price = price;
} }

    excel工具类ExcelUtil.java

 /**
* EXCEL工具类
*
* @author bwy
*
*/
public class ExcelUtil { /**
* excel导出方法
*
* @param list
* 导出的对象集合
* @param filePath
* 导出路径
*/
@SuppressWarnings("rawtypes")
public static void exportExcel(ArrayList list, String filePath) { // 创建workbook对象
WritableWorkbook workBook = null; // sheet对象
WritableSheet sheet = null;
try {
workBook = Workbook.createWorkbook(new File(filePath));
sheet = workBook.createSheet("book", 0); // 循环该对象的集合
for (int i = 0; i < list.size(); i++) { // 获取对象
Object obj = list.get(i); // 获取对象的类
Class cls = obj.getClass(); // 获取该类的所有属性
Field[] fis = cls.getDeclaredFields(); // 循环类属性
for (int j = 0; j < fis.length; j++) { // 设置私有属性访问权限,这一步很重要
fis[j].setAccessible(true); // 创建label
Label label = new Label(j, i, fis[j].get(obj).toString()); // 放入到sheet中
sheet.addCell(label);
}
} // 写文件
workBook.write();
} catch (Exception e) {
e.printStackTrace();
} finally { // 关闭流
try {
workBook.close();
} catch (WriteException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

    最后是测试类  ExcelExportTest.java

 public class ExcelExportTest {
public static void main(String[] args) {
Book b1 = new Book("我和凤姐同居的日子",32.00);
Book b2 = new Book("HTML5开发手册",18.00);
Book b3 = new Book("thiking in java",90.0);
Book b4 = new Book("数据结构",22);  
Book b5 = new Book("毛 泽 东思想",10); ArrayList<Book> bookList = new ArrayList<Book>();
bookList.add(b1);
bookList.add(b2);
bookList.add(b3);
bookList.add(b4);
bookList.add(b5); ExcelUtil.exportExcel(bookList,"c:/export.xls");
}
}

  运行测试类,可以看到,在C盘根目录生成了export.xls文件

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABBoAAAIeCAIAAACa//skAAAgAElEQVR4nO3dTW9j92G/fb0Vv4tCayFd9VUUENG1ESQo0KTZFHQRBMqumfUNlACDGTg2lBiODacTGoGDoIuIpMiR+CRRYkU9QG7QzX/Be0GK5xzy8GmODi/xN9cHQmtzNJprRM6EXx8enr1R0rfa0Cg39O+M8fbt22+++ea//uu/3r59+/bt2z/+8Y/Zv+YH/i2VJEnKz15+z4YlSZIkhc05IUmSJOk9OSckSZIkvSfnhCRJkqT35JyQJEmS9J6cE5IkSZLek3NCkiRJ0ntyTkiSJEl6T3v/7+/+zg8/duiD/iMjSZKkiHPCjx37oP/ISJIkKeKc8GPHPug/Mgs9PDzQCZnYz7KfZT/Lfpb9rAD6nRN+7NgH/admobu7OzohE/tZ9rPsZ9nPsp8VQL9zwo8d+6D/1Cw0HA7phEzsZ9nPsp9lP8t+VgD9zgk/duxjs8d4r1Q4SCiUevn8aRrd3Nw8/xed6z84ODg4KFae/1fKp3+U/lvI4zeQV/9oNBpVivk/hHJ7/CS/2fO3PJM8v/85Zk/l2z+W5+9ii4+fnfrzm/8jZ+z5+yd/c87Ej/8uev7fUX7/+5X4C3MX//5J/E/Yzv35nZHXM6CbmxvnhB879rH5H6f4n/9KMbc/T4PB4Pm/6Lb+t3CUU/9oe7+FPPvjv4G8HkJbevzkdnfk9f0fy/9RlG//WJ6/i208fnqlQm5PR/z7Z1avVDgoFGbqK8X5255Fbo+f5FPwnfv7p1JM/AZyewaxpb//8+zfe/8naqPR//7v/7bb7em/ViqVbj7++Ot//Ojjn/zn1z/56ON//OS/c/pFupVKDg/ylD88lWI+d+fV1dXzf9FRpTizx3P7X5T5/hzmRMpv6Lnk8v3f4pzI5/Gzvd9CPv1pD/d8fkdbevzkdnfk9fgZy/9RlG//WJ6/i/wfP3n9L9eYf//M6pUKB8VSqRD/pleKB8XSjv39k/gt7NjfPym5OT0D2tbzh7zugKurq/efE+MtEZ8Tb9++zed5/p8++bcffPSrT7vdT//p4x/8/a//lM+v0n379u0zf4NHC57O5vOXW7/ff/4vmtuT73nz/bnMidz+RzGX7/8W50Qu/aPt/Rb8/qfY4pzI6/Ezlv8dkW//WJ6/i5wfP7n/L4F//8wal/fiT8YrxfEtOfyO8nz89EqFp+Dd+vsntTafPbGt/rzugH6//55zYrol4nPim2++yeVp/n//x99PVsSfPvm3H3z0b//xx1x+me4333zz/N/jtBeO5/RfeC4uLp7/i+b7H6QS5vvzmRN5/XHK5fufeu5EPv/jmEv/KO23sEP96OP/GWzx3Ju8Hj9j+T8pzLd/LM/fRW6Pn/HTwdz/s1Kef/9sY048f3/0zX/6O2j83yLz+R3l+fiJ/VfU3O6OLf79n8u0zvf7P5Xbfxa4uLh4nzkR3xLxOfH111/n8Sz/j7/+x+lrnOL//Oy+/vrr5/8ep//XwVyeoXS73ef/olt8OjXfv1tzIpfv/xb/63gu/aPt/Ra28PiPnZH9/H8qtvT4ye3uyOvxM5b/oyjf/rE8fxe5PX4KhcLB+BU2uf5PgX//zHoqn+6JyXPyfH5HOf/98/Sb2K2/f7Y4J3L7/m/pVOxut7vxnJjZEvE58eWXX+bwJP9Pn/zbDz76+Cf/OXnK/5OPcnu905dffvn83+P0F9vk8ucpfl88my2+2Gm+f7de7JTL93+LcyKX/tH2fgtb/P7n8hDaUn9ud0dej5+x/B9F+faP5fm7yO3x81Sc53nYI//+mTctnzwVf/ov/Pn8jnL/+2f8iqfd+vsnvL//c9NutzebE/NbIv4t+OKLL57/Of5//8fff/yDj2Y+8nm90xdffPH83+MtPp1ttVrP/0VT9kReC2O+f7dOxc7l+7/Fvw7yefxs77eQT3/qc6hc/ghv6fGT292R1+NnLP9H0TYe/3n+Lrbw+Mn1NU/+/TMrceJKoVR5OkiRz+9oC4+f/M4jH+X59/92TsUO4PnDBnMidUvE58Rvf/vbZ3+K/8df/2PycMT4YEUur3f67W9/+/zf47m7M7//xHN2dpbDVx3/T8i0OPlvz2q+f7feKDaX7/8W/zrI6fGztd9Cnv3xx8z4+PHzP4i29PjJ7e7I6/s/lv+jKLf+6D9g5Prf97fy+MlxUPj3z6xY+fhllpPHTj6/o208fiavvdmpv3+29UaxATx/WHdOLNoS8Tnx+eefP/cz/JTxMDcwns3nn3/+/N/jlNeu5XXvNpvNfL5w8ipeuT045/ufaU5s5buf0/c//VTaXH4XeT1+tvU3Wo6P/5m7IZ/fTW6Pny3NiTy//9t4FG3l788cfwtbfPzk8vvI8++fbbx4/Pn749/8+LPYfP4sbOfxk98ezfPvn208AdrSn9/cNJvNTNedmPGb3/zm2Z/ib9NvfvObZ/m2UhqNBp2QyXz/M8yJLQrv+79b7GfZz7KfZT/Lflaj0XjOOfHmzRt6EWTy5s2bZ/m2Uur1Op2QyXz/bs2J8L7/u8V+lv0s+1n2s+xn1ev1Z5sTs2dL7+zHc31zt69ardIJmcz379acCO/7v1vsZ9nPsp9lP8t+VrVaTcyJv/zlL3/+85+/++67P/3pT99++22lUnn79u0f/vCHb7755uuvv/7qq6++/PLLL7744ne/+93x8fHnn3/+2Wefffrpp2/evHn9+jU+A57ro6wXI3VO0FGSJEmKJOZEllcK7fp/2h89HWDZ+9e96QddtJmTkxM6IZP5/t06OhHe93+32M+yn2U/y36W/ayTkxPnRGRmTtA5Gwvg4Thzi3Nim+xn2c+yn2U/y35WAP05z4njw729vb29w+PRu6P98f/d2zs8XvhZC0w+IdX+0bv45z19kXdH+7OfOfmh9C82Ss6J7N/c7Qvg4Thzi3Nim+xn2c+yn2U/y35WAP1rzYn//NUPPvr4J/+5/pyYPmOPnuu/O9p/+pfjw/FT++gZ/3RIzD7Vn/yU2ExIin3VmX9L/kj8Syz8YtM5kSxJ/gJ7s8lzQUt/PE8BPBxnbnFObJP9LPtZ9rPsZ9nPCqB/5ZwYX0huwzkxlnxGf3yYeHofiT+9TzzVj37+GnMiMUT2j96995yYfNm92fET/6fR8WHysEj0i4w/I/ap2xPAw3HmFufENtnPsp9lP8t+lv2sAPqXz4lP/yl6y6P150TK64yWvUhp3TmRduQiMRrGr6eKXla1bE7MveJpFJ8TCceH49an/z/9Paa9aOvpM1J/PGcBPBxnbnFObJP9LPtZ9rPsZ9nPCqB/5Zz4yX9ODlBkPzox8/x6fnUcHq99dGLyY4lfYnL8Y/zJS8+dWHV0YqZy2XGImU+ND6MFR2NyE8DDceYW58Q22c+yn2U/y36W/awA+tc5d+J55sTk2MFoNPOEPvHEfOmciH29p3+M/xKTn5s2NEZpL3ZKDo7R/JyYfELKKkjfGM6JbJwTLPtZ9rPsZ9nPsp8VQH/OcyJ+ZCA6eJCcDPGXPi2cE7EzJKZvE5X4lOltk89da07EXrw0WvRip7njEOnvTjVyTmTlnGDZz7KfZT/Lfpb9rAD685gTsRkRf0b97mh/f39/9p1d94+ODvcOjyb/uT99Tsy8pCn2dedeTzX9sdUvdlpzTsyfM7FoJzgnsnFOsOxn2c+yn2U/y35WAP3be7FT4r/qvzva3z86Hj/9njy9fzpDOn1OTG9NvgJp/Cmz7+8Ue83T1Hu82Cn6mdGvtvQNmzwVOxPnBMt+lv0s+1n2s+xnBdC/nTkxfua+f3g481ZNT2+quvzcifismAyJp5MXpnMidrxh/GPHm73YaTSKz4n4C5wSv/qKAw6+UWwWzgmW/Sz7Wfaz7GfZzwqgP/85cXwYvc4odu5D4tVLSy9jN/4P/XNP5sc/LXZMI/nyokzXnUi7YN38xbSnV6OYe73Vnpexew/OCZb9LPtZ9rPsZ9nPCqB/ratiryMxJ2ZOsE6In+DwdMPSoxMLr38X+6WSL5Oaf+YfnycL58SuC+DhOHOLc2Kb7GfZz7KfZT/LflYA/fnMiV3zUXS1vh3+XQTwcJy5xTmxTfaz7GfZz7KfZT8rgH7nxGjknHgZnBMs+1n2s+xn2c+ynxVAf2JO/OUvf/nzn//83Xff/elPf/r2228rlcrbt2//8Ic/fPPNN19//fVXX3315ZdffvHFF7/73e+Oj48///zzzz777NNPP33z5s3r169nnpHv0Mdobk6c6GVInRN0lCRJkiJ7z/XfffFV8IxzYu9f98Yfz7PatuVk99ftzC0endgm+1n2s+xn2c+ynxVA/7PNidFoVC6XnyVr+1LnBB21sQAejjO3OCe2yX6W/Sz7Wfaz7GcF0B/cnFj8rk7xd3eafGZ0Ub3D4/G3YzePS4wF8HCcucU5sU32s+xn2c+yn2U/K4D+VXOiVyocTBQrK75cNCfmrwkdXTwi7fn98fj2mfdvjS5xvfAi0/EvmHw72flLcs+83Wzs/WIn/zidE7PZKb/coveunX6G153YmHOCZT/Lfpb9LPtZ9rMC6F8+JyrF6YqoFA8OCqXesi+3ek4s+9f9/Zmfc3wY3bZoTiy+hsSqORH7mU8X1R7PieTnxIdBdKnrd0f7qYPBq2Jn4Zxg2c+yn2U/y36W/awA+pfOiUoxtiB6pcKKAxTZ5sThUfIZ//Hh3uHR0fI5kbwidcKKOZF2nCR+d45/fP/wcD++OhLTYv5Xjt24aP/kKYCH48wtzoltsp9lP8t+lv0s+1kB9K9/7kTsSMUCGefEceIp//Hh5MVRS+bE/CuYFv7Ykk+dXnU7MSeOj9/N/rqxf0ldE6v3Rr4CeDjO3OKc2Cb7Wfaz7GfZz7KfFUD/unOiVyqseq3TzJyYt2pOxJ/zj1+LtGJOTF4OFTuZIf0XXnQy9tMXSTk6kd45/fqpS8E5kY1zgmU/y36W/Sz7WfazAuhfa070SoU1zsTOfHQidgxhcmbD8jnx7mg/eso+exbFmkcn3h3tHx4dHR69G6XenbMLIb5aUnucE+/POcGyn2U/y36W/Sz7WQH0r54TvVJh5UnYY9nnxNOz/qdtsOLoRNzs0/en86ujf017dj/5hY4PJ+/sNPvj8V935VpwTmTjnGDZz7KfZT/Lfpb9rAD6V8yJNY9LjD3DnBg/Cz9+eu7//nMi5dTr1JMd4i+uyjonPBU7G+cEy36W/Sz7Wfaz7GcF0L90TqxzwkTMc8yJyakMk2fly+dE/N1Y3829LdTSy1Ck3XS86sVO0YurfKPYPDgnWPaz7GfZz7KfZT8rgP5lc6JSPJiR7zs7jf85OkNhZk6knE0duzn21eJfIfYrzF13Iv6r7O3t7a8+FTvtMnbJ5TI9sdvL2G3MOcGyn2U/y36W/Sz7WQH0r/9GsatFc4KTOD07efvsRS2Opzti8gMB3J10QibOCZb9LPtZ9rPsZ9nPCqA/tDmRRQB3J52QiXOCZT/Lfpb9LPtZ9rMC6HdORAK4O+mETJwTLPtZ9rPsZ9nPsp8VQH9iTtze3g6Hw5ubm8FgcH19fXV11e/3Ly8vLy4uut1up9Npt9utVuv8/Pzs7KzZbDYajdPT03q9XqvVqtVquVw+kZ5P6pygoyRJkhTx6ETk5ORk71/34h900WZOdn/dztzi0Yltsp9lP8t+lv0s+1kB9DsnIjNzgs7ZWAAPx5lbnBPbZD/Lfpb9LPtZ9rMC6HdOROJzgm55HwE8HGducU5sk/0s+1n2s+xn2c8KoH/VnIiuPbH6enbpcyL1CnTRjWk/nPGS0hv89MSnTufE04/MXGEifuuir7/yE3IUwMNx5hbnxDbZz7KfZT/Lfpb9rAD6174qdqW46ip2Cy5jt+LJfcbp8JzGc2I0GsWvhDd7hb2lF732qthZOCdY9rPsZ9nPsp9lPyuA/vVf7FQprjpAEcCcmPxTImp62euZC2nPV6/8hHwF8HCcucU5sU32s+xn2c+yn2U/K4D+dedE/EDFIk9z4vhwL/Y6ofET66fbJk+xU1/sdHw4+TnT294d7e8dHs2/7Ch6SdHRstdKLfrpKZ86Gh0frpgT6Rsj/Yulf0LOAng4ztzinNgm+1n2s+xn2c+ynxVA/xpzolcqbHruxOzRiacZMX0N0PyciF5eNLMHnm6NXj8U/VP8a0dW/PTUTz0+3NuL3Z1pv4RzImfOCZb9LPtZ9rPsZ9nPCqB/7Rc7ZTp3InUnxObEUexzZj9t7ucmnqinrYTlPz39UyffjuSPjI9pHE8+xzmRM+cEy36W/Sz7Wfaz7GcF0L/dcycWzInYc/ZFnxb987vE9Fj6xlCrT+GI3fruaMHd6YudtsQ5wbKfZT/Lfpb9LPtZAfS/iDkxe9Bh+R7Y7OjEenPi3dH+3n763Rn9RE/FzpdzgmU/y36W/Sz7WfazAuhfOifiL3DqlQrrnoq9+FVGy+ZE7Nn4ij2w0bkT682J48O9vdip2LFhEN8rvlFsrpwTLPtZ9rPsZ9nPsp8VQP+KoxOT07APDlaeODFKXMZucubB7CkHy+fE+GcdHq/eA9E7Ox0ue9HRBi92ene0v5e4O5NvTzV3a/Slkq9qSvmErQng4Thzi3Nim+xn2c+yn2U/y35WAP3rv9hptfSrYucr4ykKi0/F3kHh9Tsntsl+lv0s+1n2s+xnBdC/g3Mi/kqqrC8qSqyRAO5OOiET5wTLfpb9LPtZ9rPsZwXQv4NzIvZap/Rr0230RWJfIIC7k07IxDnBsp9lP8t+lv0s+1kB9CfmxO3t7XA4vLm5GQwG19fXV1dX/X7/8vLy4uKi2+12Op12u91qtc7Pz8/OzprNZqPROD09rdfrtVqtWq2Wy+UT6fmkzgk6SpIkSZGdPDqRk5OTk71/3Yt/0EWbOdn9dTtzi0cntsl+lv0s+1n2s+xnBdDvnIjMzAk6Z2MBPBxnbnFObJP9LPtZ9rPsZ9nPCqA/nznx7mj/6fILk/eK3T96N/3XhOPD8dkL03dYTZie2TD/Pq9pXyx549Mvu674nFj/Z70cATwcZ25xTmyT/Sz7Wfaz7GfZzwqgf7050SsVNrvuxOSp/PHh3uHR9En908hIiOZE2vUjYu/gNPtTV86J1F9umemcmPzsp02TGCjzN842e92J9+ScYNnPsp9lP8t+lv2sAPrXmhOV4maXsYs9644dZpi59fA4fkDi8HDJ0Yl38UWS9mnTZ++xOZF2uGP5c/zxnJj+5OhL7kUHUOZuTPCq2Fk4J1j2s+xn2c+yn2U/K4D+NeZEpXhQKGx6dGL09NQ/5WBB4kVIKUcnnn588v+nnz53/en4E/bE0Ng/OlrzcEZcdHcmfqWn11ml3jj7Kzx9RvpFuPMVwMNx5hbnxDbZz7KfZT/Lfpb9rAD6V86JXqlQrGz+Yqfjw9ghh8Pj0ej4aD/1RU9L5kTsK6UcXEhbB7Fn/ofHo5kn9RvMiYTUIw1pN87+alku1/0+Ang4ztzinNgm+1n2s+xn2c+ynxVA/4o50SsVCqXepudOxF/zc3g8PUwxWQxpayH5yqf5lztFT87TP2/8LP7pCEX6GRcpZ2fMfTvmb4xfg3v5jc6JjJwTLPtZ9rPsZ9nPsp8VQP/yOVEpFkq90fucij1KeUI9PioxXROJJ//xjTH7jkzrvnDo3dHh/v7e4fHk6Md4TEwnxer3eZq/O98d7acfhEjtcU5k45xg2c+yn2U/y36W/awA+pfNiUrxaUO8x9GJBUcP9g8Pk8/qY4csDg/nzrOezILYv6eejD15N9rD4+h4RHQsYvYUjGXfjvi/vjvanz/fOvXG2I85J96fc4JlP8t+lv0s+1n2swLoXzInKsWDWcsnRezoRPyZdfwlR/OnHEye9iffUnb6ReYPAsyvgsnXPz46epc4aWJmccx+9dRvR/yX2eC4RFTiqdjvzznBsp9lP8t+lv0s+1kB9Odz3Yl3x8fR+8LG38Vp5obR05w4PhwfeFg0J6IXRh0vmhNz/zxj9WUoortzgxMmEnyj2CycEyz7Wfaz7GfZz7KfFUB/XpexmwyA/aOjw/GLkaJXCSWv2XB8uH90PP5P+SmvYxqf/LA38w6tC87EHi2dEyvf2Cm6O1NfrLXoFVxzb187k7Q9ATwcZ25xTmyT/Sz7Wfaz7GfZzwqgf705sZ7kuRPx59OzV30bvxRo8tR7+jKkJUcnEjducHQiPj5WnsoQwN1JJ2TinGDZz7KfZT/Lfpb9rAD6c5kTOyqAu5NOyMQ5wbKfZT/Lfpb9LPtZAfQ7JyIB3J10QibOCZb9LPtZ9rPsZ9nPCqA/MSdub2+Hw+HNzc1gMLi+vr66uur3+5eXlxcXF91ut9PptNvtVqt1fn5+dnbWbDYbjcbp6Wm9Xq/VatVqtVwun0jPJ3VO0FGSJEmKeHQicnJysveve/EPumgzJ7u/bmdu8ejENtnPsp9lP8t+lv2sAPqdE5GZOUHnbCyAh+PMLc6JbbKfZT/Lfpb9LPtZAfRvb07E32g1drG36butppl5Y6eVF7Ze8GXm39kp9pWinxOfE+/3HWAF8HCcucU5sU32s+xn2c+yn2U/K4D+VXOiVypMr4ldKPWWfrmZq2IvnwYT0VUbZt7jNeWy0ivXRPJrJN5ndubnJubE0z9N58Tiiunva8nF8rzuxHtyTrDsZ9nPsp9lP8t+VgD9q+ZEpbjG9esmFh6dWHoFuehZfzQtEhegTr1wXfpWWePoxMxXm179Ynp0ItmdGAYrL3rtVbGzcE6w7GfZz7KfZT/LflYA/SvmRKW48phEZNmcSHtqP3+0Ydl/2199Vev1j048/Tr7R++SRydmSvYPD/cT18iLvUorpWblJ+QrgIfjzC3OiW2yn2U/y36W/Sz7WQH0L58TvVJh/TWx9MVOaU+t3x0f7sd/aHIw4PAw5Scknp6nXi578hXWmBPvjg4PD/f3j969O9rfPzqKH52ItR0/Hct4+iKJhNhySG9M+4ScBfBwnLnFObFN9rPsZ9nPsp9lPyuA/uVzolI8KBQK65058Z4vdjo+3Ds8Go+Pw+NR9Lz/6YjG9FTt5MGFhXNi1Yudxj950bkTs1/QObFFzgmW/Sz7Wfaz7GfZzwqgf+mc6JUK0YpYfRbFBi922lv4XDv1fOsVp09Mf0J8t7x79y7tyx4fHh4vfmenlBrnxLY4J1j2s+xn2c+yn2U/K4D+9d8odvVpFNM5sfb7Ok2f1y/aC+k/beHRibilZ0N7dOIFck6w7GfZz7KfZT/LflYA/bnMiVkpL3Z6umnuhxa+G2zsByZzYnZVTJ7OR58YfULy1ImnBTM+E3tvzTnhqdg5c06w7GfZz7KfZT/LflYA/UvnRKV4MH2B0xpnZW8wJ2JnSBweLz3lYe5NZEexmTD7hrLpbxg1/UWefjhxksb0mf/xqjnhG8XmyznBsp9lP8t+lv0s+1kB9K84OhG7it3qy0+sPyemz+DnXxGUdnRi9tMSp0g8LYrpjbNfIXbaxN7h8fS1TfOftnJOxE60SGyM2NdJ+YStCeDhOHOLc2Kb7GfZz7KfZT/LflYA/eu/2Gm1hXNi0YUnFpyAMHNbdHJD9GXS90L072uegZH8tADuTjohE+cEy36W/Sz7Wfaz7GcF0L+dObEbArg76YRMnBMs+1n2s+xn2c+ynxVAv3MiEsDdSSdk4pxg2c+yn2U/y36W/awA+hNz4vb2djgc3tzcDAaD6+vrq6urfr9/eXl5cXHR7XY7nU673W61Wufn52dnZ81ms9FonJ6e1uv1Wq1WrVbL5fKJ9HxS5wQdJUmSpIhHJyInu78O6YRM5vs9OrFN9rPsZ9nPsp9lPyuAfudEJIC7k07IxDnBsp9lP8t+lv0s+1kB9DsnIgHcnXRCJs4Jlv0s+1n2s+xn2c8KoH/lnIiuPLHqKnbOCVh4/c6JbbKfZT/Lfpb9LPtZAfSvmBOV4tOM6JUKqwaFc4IVXr9zYpvsZ9nPsp9lP8t+VgD9y+dEpbj6mETEOcEKr985sU32s+xn2c+yn2U/K4D+pXOiVyocFCtrfznnBCu8fufENtnPsp9lP8t+lv2sAPqXzolK8aBQqjydPLFyWDgnWOH1Oye2yX6W/Sz7Wfaz7GcF0L9qTkzPwI7OoljIOcEKr985sU32s+xn2c+yn2U/K4D+1UcnnhbE6lc+OSdY4fU7J7bJfpb9LPtZ9rPsZwXQv/65E86Jly68fufENtnPsp9lP8t+lv2sAPpXv1Fs7MVOK86ecE6wwut3TmyT/Sz7Wfaz7GfZzwqgfy/1GZsffrzYD/pPzUIB/HVAJ2RiP8t+lv0s+1n2s5wTfuzeB/2nZqEA/jqgEzKxn2U/y36W/Sz7Wc4JP3bvg/5Ts1AAfx3QCZnYz7KfZT/Lfpb9LOeEH7v3Qf+pWSiAvw7ohEzsZ9nPsp9lP8t+lnPCj937OJEkSdKL4ZzwY8c+6BG+0Mnu/9cFOiET+1n2s+xn2c+yn+Wc8GP3Pug/NQsF8NcBnZCJ/Sz7Wfaz7GfZzzo5Odl7xi/ndSdY9rPsZ9nPsp9lP8t+lv2sVXOiUjxImlzSbgHnBMt+lv0s+1n2s+xn2c+yn7XJ0Qmviv3i2c+yn2U/y36W/Sz7Wfaz1p8Ta4wJ5wTNfpb9LPtZ9rPsZ9nPsp+17pzolQorXuc0Go2cEzT7Wfaz7GfZz7KfZT/Lftaac6JXKqw+NDFyTtDsZ9nPsp9lP8t+lv0s+1nrzYl114RzAmY/y36W/Sz7Wfaz7GfZz1prTqy9JpwTMPtZ9rPsZ9nPsp9lP8t+1lpzolJc57yJ0cg5QbOfZT/Lfpb9LPtZ9rPsZ60zJ9Y/OOGcgNnPsp9lP8t+lv0s+1n2s9aZE+sfnHBOwOxn2c+yn2U/y36W/Sz7Wetfd2ItzgmW/Sz7Wfaz7GfZz7KfZT/LOZEQwN1JJ2RiP8t+lv0s+1n2s+xnBdDvnIgEcHfSCZnYz7KfZT/Lfpb9LPtZAfTvPV8YlgQAACAASURBVD4+Pjw83N/f393d3d7eDofDm5ubwWBwfX19dXXV7/cvLy8vLi663W6n02m3261W6/z8/OzsrNlsNhqN09PTer1eq9Wq1Wq5XD6RJEmS9MHw6ETkZPfXIZ2Qif0s+1n2s+xn2c+ynxVAv3MiEsDdSSdkYj/Lfpb9LPtZ9rPsZwXQ75yIBHB30gmZ2M+yn2U/y36W/Sz7WQH0r5oTvVLhYGz11SecEyz7Wfaz7GfZz7KfZT/LftbKOVEpHkwuid0rFQ5WXR3bOcGyn2U/y36W/Sz7Wfaz7GetmhO9UiGaEKsvj+2cYNnPsp9lP8t+lv0s+1n2s1YenYjtidVrwjkBs59lP8t+lv0s+1n2s+xnrXMq9tPJE6tPnXBOwOxn2c+yn2U/y36W/Sz7WWudOzHeEZ478fLZz7KfZT/Lfpb9LPtZ9rM8dyIhgLuTTsjEfpb9LPtZ9rPsZ9nPCqDfOREJ4O6kEzKxn2U/y36W/Sz7WfazAuhffSq2L3baFfaz7GfZz7KfZT/Lfpb9rDVOxfYydrvDfpb9LPtZ9rPsZ9nPsp+1zjs7bcA5wbKfZT/Lfpb9LPtZ9rPsZzknEgK4O+mETOxn2c+yn2U/y36W/awA+p0TkQDuTjohE/tZ9rPsZ9nPsp9lPyuA/r3Hx8eHh4f7+/u7u7vb29vhcHhzczMYDK6vr6+urvr9/uXl5cXFRbfb7XQ67Xa71Wqdn5+fnZ01m81Go3F6elqv12u1WrVaLZfLJ5IkSZI+GB6diJzs/jqkEzKxn2U/y36W/Sz7WfazAuh3TkQCuDvphEzsZ9nPsp9lP8t+lv2sAPqdE5EA7k46IRP7Wfaz7GfZz7KfZT8rgP61rzux+rITzgmY/Sz7Wfaz7GfZz7KfZT9r5ZyoFA9iV8VecVFs5wTMfpb9LPtZ9rPsZ9nPsp+1ak4kNkSluOoIhXOCZT/Lfpb9LPtZ9rPsZ9nPck4kBHB30gmZ2M+yn2U/y36W/Sz7WQH0r36x03hPjM+hWP5yJ+cEy36W/Sz7Wfaz7GfZz7KftcGp2IVSZeXZE84Jlv0s+1n2s+xn2c+yn2U/a6M3ivXFTi+d/Sz7Wfaz7GfZz7KfZT9rkzmxxls7OSdY9rPsZ9nPsp9lP8t+lv2sdc6dmByRiM6iWMw5wbKfZT/Lfpb9LPtZ9rPsZ61xdKJSPPAydjvCfpb9LPtZ9rPsZ9nPsp+10bkTqzknWPaz7GfZz7KfZT/Lfpb9LOdEQgB3J52Qif0s+1n2s+xn2c+ynxVAv3MiEsDdSSdkYj/Lfpb9LPtZ9rPsZwXQv/f4+Pjw8HB/f393d3d7ezscDm9ubgaDwfX19dXVVb/fv7y8vLi46Ha7nU6n3W63Wq3z8/Ozs7Nms9loNE5PT+v1eq1Wq1ar5XL5RJIkSdIHw6MTkZPdX4d0Qib2s+xn2c+yn2U/y35WAP3OiUgAdyedkIn9LPtZ9rPsZ9nPsp8VQL9zIhLA3UknZGI/y36W/Sz7Wfaz7GcF0L90TsxeCbtXKowvQpF+QTvnBMt+lv0s+1n2s+xn2c+yn7V8ToyvYBcth+mFsRddIds5wbKfZT/Lfpb9LPtZ9rPsZy2cE+PDEIViMXZ0olKcXhl79qjFhHOCZT/Lfpb9LPtZ9rPsZ9nPWjwnKpXeKDkbEhMiNi1inBMs+1n2s+xn2c+yn2U/y37WJudOOCdePPtZ9rPsZ9nPsp9lP8t+lnMiIYC7k07IxH6W/Sz7Wfaz7GfZzwqg3zkRCeDupBMysZ9lP8t+lv0s+1n2swLoX/+NYj0V+6Wzn2U/y36W/Sz7Wfaz7Gdtdt0J3yj2hbOfZT/Lfpb9LPtZ9rPsZ202J56uROFl7F4o+1n2s+xn2c+yn2U/y37WqjmxIecEy36W/Sz7Wfaz7GfZz7Kf5ZxICODupBMysZ9lP8t+lv0s+1n2swLod05EArg76YRM7GfZz7KfZT/Lfpb9rAD69x4fHx8eHu7v7+/u7m5vb4fD4c3NzWAwuL6+vrq66vf7l5eXFxcX3W630+m02+1Wq3V+fn52dtZsNhuNxunpab1er9Vq1Wq1XC6fSJIkSfpgeHQicrL765BOyMR+lv0s+1n2s+xn2c8KoN85EQng7qQTMrGfZT/Lfpb9LPtZ9rMC6HdORAK4O+mETOxn2c+yn2U/y36W/awA+je67sTiG0ejkXOCZj/Lfpb9LPtZ9rPsZ9nPWj4nxhetm1kOqTdOOCdY9rPsZ9nPsp9lP8t+lv2shXOiVyocHBwUisX4gYjUG+OcEyz7Wfaz7GfZz7KfZT/LftbiOVGp9Eazr2tKvTHOOcGyn2U/y36W/Sz7Wfaz7Gd57kRCAHcnnZCJ/Sz7Wfaz7GfZz7KfFUC/cyISwN1JJ2RiP8t+lv0s+1n2s+xnBdDvnIgEcHfSCZnYz7KfZT/Lfpb9LPtZAfQ7JyIB3J10Qib2s+xn2c+yn2U/y35WAP3OiUgAdyedkIn9LPtZ9rPsZ9nPsp8VQL9zIhLA3UknZGI/y36W/Sz7Wfaz7GcF0L90TmzIOcGyn2U/y36W/Sz7Wfaz7Gc5JxICuDvphEzsZ9nPsp9lP8t+lv2sAPqdE5EA7k46IRP7Wfaz7GfZz7KfZT8rgP69x8fHh4eH+/v7u7u729vb4XB4c3MzGAyur6+vrq76/f7l5eXFxUW32+10Ou12u9VqnZ+fn52dNZvNRqNxenpar9drtVq1Wi2XyyeSJEmSPhgenYic7P46pBMysZ9lP8t+lv0s+1n2swLod05EArg76YRM7GfZz7KfZT/Lfpb9rAD6nRORAO5OOiET+1n2s+xn2c+yn2U/K4D+Ta470SsVDiZSLzzhnGDZz7KfZT/Lfpb9LPtZ9rOWz4lKMTEcKsXpv1SKBweFUm/2JzgnWPaz7GfZz7KfZT/Lfpb9rIVzYnwcolAsRkcnKsXYgki/MrZzgmU/y36W/Sz7Wfaz7GfZz1o8JyqV3mjRahgljlTEOCdY9rPsZ9nPsp9lP8t+lv2sDc+diN+c8lon5wTMfpb9LPtZ9rPsZ9nPsp/1PnOiVyosOBPbOQGzn2U/y36W/Sz7Wfaz7GdtPCd6pULqSdhjzgmW/Sz7Wfaz7GfZz7KfZT9rszmx5LjEmHOCZT/Lfpb9LPtZ9rPsZ9nP2mROLDphIsY5wbKfZT/Lfpb9LPtZ9rPsZ20wJ8YXoYjznZ1eGvtZ9rPsZ9nPsp9lP8t+1qo5sSHnBMt+lv0s+1n2s+xn2c+yn+WcSAjg7qQTMrGfZT/Lfpb9LPtZ9rMC6HdORAK4O+mETOxn2c+yn2U/y36W/awA+vceHx8fHh7u7+/v7u5ub2+Hw+HNzc1gMLi+vr66uur3+5eXlxcXF91ut9PptNvtVqt1fn5+dnbWbDYbjcbp6Wm9Xq/VatVqtVwun0iSJEn6YHh0InKy++uQTsjEfpb9LPtZ9rPsZ9nPCqDfOREJ4O6kEzKxn2U/y36W/Sz7WfazAuh3TkQCuDvphEzsZ9nPsp9lP8t+lv2sAPo3uCp27NoT6dezc06w7GfZz7KfZT/Lfpb9LPtZy+fEeD2kXRW7Uky7ip1zAmY/y36W/Sz7Wfaz7GfZz1o4J3qlwsHBQaFYLKTNhtGoUkw7QOGcYNnPsp9lP8t+lv0s+1n2sxbPiUqlN5p7sdP0R2MHKuKcEyz7Wfaz7GfZz7KfZT/LftaG506Mng5beO7Ei2Q/y36W/Sz7Wfaz7GfZz9p8Tox57sSLZD/Lfpb9LPtZ9rPsZ9nPet854bkTL5L9LPtZ9rPsZ9nPsp9lP8s5kRDA3UknZGI/y36W/Sz7Wfaz7GcF0L/2nIi/wKlXKngq9stjP8t+lv0s+1n2s+xn2c/a7OjE5DTs+MUokpwTLPtZ9rPsZ9nPsp9lP8t+1qo5sSHnBMt+lv0s+1n2s+xn2c+yn+WcSAjg7qQTMrGfZT/Lfpb9LPtZ9rMC6HdORAK4O+mETOxn2c+yn2U/y36W/awA+vceHx8fHh7u7+/v7u5ub2+Hw+HNzc1gMLi+vr66uur3+5eXlxcXF91ut9PptNvtVqt1fn5+dnbWbDYbjcbp6Wm9Xq/VatVqtVwun0iSJEn6YHh0InKy++uQTsjEfpb9LPtZ9rPsZ9nPCqDfOREJ4O6kEzKxn2U/y36W/Sz7WfazAuh3TkQCuDvphEzsZ9nPsp9lP8t+lv2sAPo3vyr2wktlOydg9rPsZ9nPsp9lP8t+lv2s5XOiUky7Yl2l6GXsXij7Wfaz7GfZz7KfZT/LftbCOTG+AHahWJw9EFEpHhQKHp14mexn2c+yn2U/y36W/Sz7WYvnRKXSG82/rqlXKhQrvtjppbKfZT/Lfpb9LPtZ9rPsZ2127kSvVCiUep478WLZz7KfZT/Lfpb9LPtZ9rM2mhOVYqGUdsgi4pxg2c+yn2U/y36W/Sz7WfazNpgTleLTPzknXir7Wfaz7GfZz7KfZT/Lftb6c2L8Lk8J85PCOcGyn2U/y36W/Sz7Wfaz7Gd53YmEAO5OOiET+1n2s+xn2c+yn2U/K4B+50QkgLuTTsjEfpb9LPtZ9rPsZ9nPCqB/6ZzYkHOCZT/Lfpb9LPtZ9rPsZ9nPck4kBHB30gmZ2M+yn2U/y36W/Sz7WQH0OyciAdyddEIm9rPsZ9nPsp9lP8t+VgD9e4+Pjw8PD/f393d3d7e3t8Ph8ObmZjAYXF9fX11d9fv9y8vLi4uLbrfb6XTa7Xar1To/Pz87O2s2m41G4/T0tF6v12q1arVaLpdPJEmSJH0wPDoROdn9dUgnZGI/y36W/Sz7Wfaz7GcF0O+ciARwd9IJmdjPsp9lP8t+lv0s+1kB9DsnIgHcnXRCJvaz7GfZz7KfZT/LflYA/Ztcd6JXKkyviV0o9eY+3TnBsp9lP8t+lv0s+1n2s+xnLZ8TleLBwUF8TlSKC65fN+GcYNnPsp9lP8t+lv0s+1n2sxbOifFxiEKxGD86USmmHpOIOCdY9rPsZ9nPsp9lP8t+lv2sxXOiUumNZl7s1CsVlq8J5wTMfpb9LPtZ9rPsZ9nPsp+10bkTleJBoVBYfOaEc4JmP8t+lv0s+1n2s+xn2c/aZE70SoVoRaSfReGcYNnPsp9lP8t+lv0s+1n2szZ8Z6dI+mkUzgmW/Sz7Wfaz7GfZz7KfZT/LOZEQwN1JJ2RiP8t+lv0s+1n2s+xnBdC/9pyoFA/iL3zyuhMvj/0s+1n2s+xn2c+yn2U/a7OjE7Gr2KVffsI5wbKfZT/Lfpb9LPtZ9rPsZ62aExtyTrDsZ9nPsp9lP8t+lv0s+1nOiYQA7k46IRP7Wfaz7GfZz7KfZT8rgH7nRCSAu5NOyMR+lv0s+1n2s+xn2c8KoH/v8fHx4eHh/v7+7u7u9vZ2OBze3NwMBoPr6+urq6t+v395eXlxcdHtdjudTrvdbrVa5+fnZ2dnzWaz0Wicnp7W6/VarVatVsvl8okkSZKkD4ZHJyInu78O6YRM7GfZz7KfZT/Lfpb9rAD6nRORAO5OOiET+1n2s+xn2c+yn2U/K4B+50QkgLuTTsjEfpb9LPtZ9rPsZ9nPCqB/o6tiR1eeSLuKnXMCZj/Lfpb9LPtZ9rPsZ9nPWj4nKsXkFesqxacZ0SsV0gaFc4JlP8t+lv0s+1n2s+xn2c9aOCfGhyEKxWLs6ESlmH5MIuKcYNnPsp9lP8t+lv0s+1n2sxbPiUrl6SjE05yYfeFTCucEy36W/Sz7Wfaz7GfZz7Kftcm5E5XiQaFUeTp5InVYOCdY9rPsZ9nPsp9lP8t+lv2sDefE9Azs6CyKBOcEy36W/Sz7Wfaz7GfZz7KftfHRiV7KD0ScEyz7Wfaz7GfZz7KfZT/LftYmcyKxIJwTL5H9LPtZ9rPsZ9nPsp9lP2uz605ExycqxdSzJ5wTLPtZ9rPsZ9nPsp9lP8t+1mZzIn4ZO0/FfoHsZ9nPsp9lP8t+lv0s+1mr5sSGnBMs+1n2s+xn2c+yn2U/y36WcyIhgLuTTsjEfpb9LPtZ9rPsZ9nPCqDfOREJ4O6kEzKxn2U/y36W/Sz7WfazAujfe3x8fHh4uL+/v7u7u729HQ6HNzc3g8Hg+vr66uqq3+9fXl5eXFx0u91Op9Nut1ut1vn5+dnZWbPZbDQap6en9Xq9VqtVq9VyuXwiSZIk6YPh0YnIye6vQzohE/tZ9rPsZ9nPsp9lPyuAfudEJIC7k07IxH6W/Sz7Wfaz7GfZzwqg3zkRCeDupBMysZ9lP8t+lv0s+1n2swLoX/u6E5XiQdLkknYxzgmW/Sz7Wfaz7GfZz7KfZT9r+ZwYD4i0C9Z5VewXyX6W/Sz7Wfaz7GfZz7KftXBOjC9/XSgWCymzYcGYcE7Q7GfZz7KfZT/Lfpb9LPtZi+dEpdIbJV/sNP2hUiHldU6j0cg5QbOfZT/Lfpb9LPtZ9rPsZ21y7sTim6acEyz7Wfaz7GfZz7KfZT/Lftbmc2LZmnBOwOxn2c+yn2U/y36W/Sz7WRvPiaVrwjkBs59lP8t+lv0s+1n2s+xnbTwnKsVF502MRs4Jmv0s+1n2s+xn2c+yn2U/a9M5sfzghHMCZj/Lfpb9LPtZ9rPsZ9nP2nROLD844ZyA2c+yn2U/y36W/Sz7WfazVs2JDTknWPaz7GfZz7KfZT/Lfpb9LOdEQgB3J52Qif0s+1n2s+xn2c+ynxVAv3MiEsDdSSdkYj/Lfpb9LPtZ9rPsZwXQv/f4+Pjw8HB/f393d3d7ezscDm9ubgaDwfX19dXVVb/fv7y8vLi46Ha7nU6n3W63Wq3z8/Ozs7Nms9loNE5PT+v1eq1Wq1ar5XL5RJIkSdIHw6MTkZPdX4d0Qib2s+xn2c+yn2U/y35WAP3OiUgAdyedkIn9LPtZ9rPsZ9nPsp8VQL9zIhLA3UknZGI/y36W/Sz7Wfaz7GcF0L/JdSd6pcLBWPrVJ5wTLPtZ9rPsZ9nPsp9lP8t+1vI5USkeHBxEc6JSfPqXXqlwkHZ1bOcEy36W/Sz7Wfaz7GfZz7KftXBOjI9DFIrF6OhE4khF+uWxnRMs+1n2s+xn2c+yn2U/y37W4jlRqfRGMxMi9i/pa8I5AbOfZT/Lfpb9LPtZ9rPsZ2147sT05In0UyecEzD7Wfaz7GfZz7KfZT/LftZGc6JSfNoRnjvxMtnPsp9lP8t+lv0s+1n2szaZE5478eLZz7KfZT/Lfpb9LPtZ9rOcEwkB3J10Qib2s+xn2c+yn2U/y35WAP3rv9ipVyr4YqcXzX6W/Sz7Wfaz7GfZz7KfteGp2F7G7mWzn2U/y36W/Sz7Wfaz7GetmhMbck6w7GfZz7KfZT/Lfpb9LPtZzomEAO5OOiET+1n2s+xn2c+yn2U/K4B+50QkgLuTTsjEfpb9LPtZ9rPsZ9nPCqB/7/Hx8eHh4f7+/u7u7vb2djgc3tzcDAaD6+vrq6urfr9/eXl5cXHR7XY7nU673W61Wufn52dnZ81ms9FonJ6e1uv1Wq1WrVbL5fKJJEmSpA+GRyciJ7u/DumETOxn2c+yn2U/y36W/awA+p0TkQDuTjohE/tZ9rPsZ9nPsp9lPyuAfudEJIC7k07IxH6W/Sz7Wfaz7GfZzwqg/72uO5F+2QnnBMx+lv0s+1n2s+xn2c+yn7V8TlSKBwexq19Xigexq2KnXBTbOQGzn2U/y36W/Sz7Wfaz7GctnBPj4xCFYjHaDYkNUSmmHaFwTrDsZ9nPsp9lP8t+lv0s+1mL50SlMnsYwjnx4tnPsp9lP8t+lv0s+1n2szY6d6JSfHrl0/jYxfzLnZwTLPtZ9rPsZ9nPsp9lP8t+1nueil0oVVLPnnBOsOxn2c+yn2U/y36W/Sz7WRvOiYgvdnqJ7GfZz7KfZT/Lfpb9LPtZ7zsnFtzunGDZz7KfZT/Lfpb9LPtZ9rM2PXdickQiOosiyTnBsp9lP8t+lv0s+1n2s+xnbXh0YnwhCi9j91LZz7KfZT/Lfpb9LPtZ9rNWzYkNOSdY9rPsZ9nPsp9lP8t+lv0s50RCAHcnnZCJ/Sz7Wfaz7GfZz7KfFUC/cyISwN1JJ2RiP8t+lv0s+1n2s+xnBdC/9/j4+PDwcH9/f3d3d3t7OxwOb25uBoPB9fX11dVVv9+/vLy8uLjodrudTqfdbrdarfPz87Ozs2az2Wg0Tk9P6/V6rVarVqvlcvlEkiRJ0gfDoxORk91fh3RCJvaz7GfZz7KfZT/LflYA/c6JSAB3J52Qif0s+1n2s+xn2c+ynxVAv3MiEsDdSSdkYj/Lfpb9LPtZ9rPsZwXQv2BO9EqFyTUm4heemN6adhE75wTNfpb9LPtZ9rPsZ9nPsp+1aE7ELntdKR7MXQzbq2K/TPaz7GfZz7KfZT/Lfpb9rAVzolKMXfd6emXs2K0zV8t+4pxg2c+yn2U/y36W/Sz7Wfaz1jl34ulQRGJCJAbHlHOCZT/Lfpb9LPtZ9rPsZ9nPWj0neqXCZDg4J148+1n2s+xn2c+yn2U/y37WijnRKxWikyScEy+e/Sz7Wfaz7GfZz7KfZT9r2ZzolQoH8c3gnHjx7GfZz7KfZT/Lfpb9LPtZC+dE4rjEhKdiv3T2s+xn2c+yn2U/y36W/awFcyI6YSLBN4p94exn2c+yn2U/y36W/Sz7WelzolI8mPG0HaY/4mXsXiL7Wfaz7GfZz7KfZT/LftY6bxS7AecEy36W/Sz7Wfaz7GfZz7Kf5ZxICODupBMysZ9lP8t+lv0s+1n2swLod05EArg76YRM7GfZz7KfZT/Lfpb9rAD69x4fHx8eHu7v7+/u7m5vb4fD4c3NzWAwuL6+vrq66vf7l5eXFxcX3W630+m02+1Wq3V+fn52dtZsNhuNxunpab1er9Vq1Wq1XC6fSJIkSfpgeHQicrL765BOyMR+lv0s+1n2s+xn2c8KoN85EQng7qQTMrGfZT/Lfpb9LPtZ9rMC6HdORAK4O+mETOxn2c+yn2U/y36W/awA+hfMiV6pMHvRifgPed2Jl8h+lv0s+1n2s+xn2c+yn7VoTsQue10pHiSukD2+kp1z4iWyn2U/y36W/Sz7Wfaz7GctmBOVYmxBRAcjxkcsCsWiRydeJvtZ9rPsZ9nPsp9lP8t+1jrnTkRHKnqVSm/ki51eLvtZ9rPsZ9nPsp9lP8t+1uo50SsVEq91GjknXi77Wfaz7GfZz7KfZT/LftaKOdErFVJOk3BOvFT2s+xn2c+yn2U/y36W/axlc6JXKhzMHpiY/oBz4iWyn2U/y36W/Sz7Wfaz7GctnBPpxyWiH3NOvET2s+xn2c+yn2U/y36W/awFcyLlhImZH3VOvET2s+xn2c+yn2U/y36W/az0OTG+tERcYj04J14q+1n2s+xn2c+yn2U/y37WOm8UuwHnBMt+lv0s+1n2s+xn2c+yn+WcSAjg7qQTMrGfZT/Lfpb9LPtZ9rMC6HdORAK4O+mETOxn2c+yn2U/y36W/awA+vceHx8fHh7u7+/v7u5ub2+Hw+HNzc1gMLi+vr66uur3+5eXlxcXF91ut9PptNvtVqt1fn5+dnbWbDYbjcbp6Wm9Xq/VatVqtVwun0iSJEn6YHh0InKy++uQTsjEfpb9LPtZ9rPsZ9nPCqDfOREJ4O6kEzKxn2U/y36W/Sz7WfazAuh3TkQCuDvphEzsZ9nPsp9lP8t+lv2sAPoXzIleqTB/0YnUG2OcEyz7Wfaz7GfZz7KfZT/LftaiOVEpTgdDpXgwuUJ26o0JzgmW/Sz7Wfaz7GfZz7KfZT9rwZyoFGNj4eki2Kk3JjknWPaz7GfZz7KfZT/Lfpb9rHXOnYgdlFhxo3MCZj/Lfpb9LPtZ9rPsZ9nPWj0neqXC/MuaUm8cOSdo9rPsZ9nPsp9lP8t+lv2sFXOiVyrMH4RIvXHMOcGyn2U/y36W/Sz7Wfaz7GctmxO9UmH+fOvUG6ecEyz7Wfaz7GfZz7KfZT/LftbCObHpcYkx5wTLfpb9LPtZ9rPsZ9nPsp+1YE5sdMJEjHOCZT/Lfpb9LPtZ9rPsZ9nPSp8TleLBjGIl/cYZzgmW/Sz7Wfaz7GfZz7KfZT9rnTeK3YBzgmU/y36W/Sz7Wfaz7GfZz3JOJARwd9IJmdjPsp9lP8t+lv0s+1kB9DsnIgHcnXRCJvaz7GfZz7KfZT/LflYA/XuPj48PDw/39/d3d3e3t7fD4fDm5mYwGFxfX19dXfX7/cvLy4uLi2632+l02u12q9U6Pz8/OztrNpuNRuP09LRer9dqtWq1Wi6XTyRJkiR9MDw6ETnZ/XVIJ2RiP8t+lv0s+1n2s+xnBdDvnIgEcHfSCZnYz7KfZT/Lfpb9LPtZAfQ7JyIB3J10Qib2s+xn2c+yn2U/y35WAP0L5kSvVJi/vkR07Yn069k5J1j2s+xn2c+yn2U/y36W/axFc6JSnK6ISnEyHuJXxY79eJxzgmU/y36W/Sz7Wfaz7GfZz1owJyrF2OGHXqkwPx0SnzHlnGDZz7KfZT/Lfpb9LPtZ9rPWOXci5UhE/EBFnHOCZT/Lfpb9LPtZ9rPsZ9nPWj0nZpfD5JwKz514iexn2c+yn2U/y36W/Sz7WSvmRK9USD1HwnMnXib7Wfaz7GfZz7KfZT/LftayOdErFRYdhfDciZfJfpb9LPtZ9rPsZ9nPsp+1cE4sPC4x4Zx4iexn2c+yn2U/y36W/Sz7WQvmROqp1vEXOPVKBU/FfnnsZ9nPsp9lP8t+lv0s+1npcyK6Wl3ySnapl7aLc06w7GfZz7KfZT/Lfpb9LPtZ67xR7AacEyz7Wfaz7GfZz7KfZT/LfpZzIiGAu5NOyMR+lv0s+1n2s+xn2c8KoN85EQng7qQTMrGfZT/Lfpb9LPtZ9rMC6N97fHx8eHi4v7+/u7u7vb0dDoc3NzeDweD6+vrq6qrf719eXl5cXHS73U6n0263W63W+fn52dlZs9lsNBqnp6f1er1Wq1Wr1XK5fCJJkiTpQgSpTwAAD/9JREFUg+HRicjJ7q9DOiET+1n2s+xn2c+yn2U/K4B+50QkgLuTTsjEfpb9LPtZ9rPsZ9nPCqDfOREJ4O6kEzKxn2U/y36W/Sz7WfazAuhfMCeWXGOiVyp43YkXyX6W/Sz7Wfaz7GfZz7KftWhOxK6AXSkeJK+QXSl6GbsXyn6W/Sz7Wfaz7GfZz7KftWBOVIqxBZE8GFEpHhQKHp14mexn2c+yn2U/y36W/Sz7WeucOxE7UjHqlQrFii92eqnsZ9nPsp9lP8t+lv0s+1mr50SvVJgeqeiVCoVSz3MnXiz7Wfaz7GfZz7KfZT/LftaKOdErFWKnSVSK413hnHip7GfZz7KfZT/Lfpb9LPtZy+ZEr1SIn4RdKT5tCOfES2U/y36W/Sz7Wfaz7GfZz1o4J5LHJUaT93NKmp8UzgmW/Sz7Wfaz7GfZz7KfZT9rwZyInzCR/qMenXiJ7GfZz7KfZT/Lfpb9LPtZ6XNi/khEYj04J14q+1n2s+xn2c+yn2U/y37WOm8UuwHnBMt+lv0s+1n2s+xn2c+yn+WcSAjg7qQTMrGfZT/Lfpb9LPtZ9rMC6HdORAK4O+mETOxn2c+yn2U/y36W/awA+vceHx8fHh7u7+/v7u5ub2+Hw+HNzc1gMLi+vr66uur3+5eXlxcXF91ut9PptNvtVqt1fn5+dnbWbDYbjcbp6Wm9Xq/VatVqtVwun0iSJEn6YHh0InKy++uQTsjEfpb9LPtZ9rPsZ9nPCqDfOREJ4O6kEzKxn2U/y36W/Sz7WfazAuh3TkQCuDvphEzsZ9nPsp9lP8t+lv2sAPoXzIleqTB/0YnYjamXuXNOsOxn2c+yn2U/y36W/Sz7WYvmRKU4XRGVYjQdKsUF16+bcE6w7GfZz7KfZT/Lfpb9LPtZC+ZEpRg7+BBdBDtxcxrnBMt+lv0s+1n2s+xn2c+yn7XOuRPTIxW9UmH5mnBOwOxn2c+yn2U/y36W/Sz7WavnRK9UeDokUSkeFAqFxWdOOCdo9rPsZ9nPsp9lP8t+lv2sFXOiVypEZ2LHhsWisyicEyz7Wfaz7GfZz7KfZT/LftayOdErFRYdhVh0GoVzgmU/y36W/Sz7Wfaz7GfZz1o4JxLHJVI4J14i+1n2s+xn2c+yn2U/y37WgjmReF3Tk9ibxy46K9s5wbKfZT/Lfpb9LPtZ9rPsZ6XPiUrxYMZ4RqRe2i7OOcGyn2U/y36W/Sz7Wfaz7Get80axG3BOsOxn2c+yn2U/y36W/Sz7Wc6JhADuTjohE/tZ9rPsZ9nPsp9lPyuAfudEJIC7k07IxH6W/Sz7Wfaz7GfZzwqgf+/x8fHh4eH+/v7u7u729nY4HN7c3AwGg+vr66urq36/f3l5eXFx0e12O51Ou91utVrn5+dnZ2fNZrPRaJyentbr9VqtVq1Wy+XyiSRJkqQPhkcnIie7vw7phEzsZ9nPsp9lP8t+lv2sAPqdE5EA7k46IRP7Wfaz7GfZz7KfZT8rgH7nRCSAu5NOyMR+lv0s+1n2s+xn2c8KoH/BnEi/xkR0a9pV7JwTMPtZ9rPsZ9nPsp9lP8t+1qI5EbsCdqU43Q7RP6ZeNts5QbOfZT/Lfpb9LPtZ9rPsZy2YE5VibCz0SoXxtEjcmso5wbKfZT/Lfpb9LPtZ9rPsZ61z7sTTkYrprFjMOcGyn2U/y36W/Sz7Wfaz7GetnhPRy5oqxYNCqfJ08kTqsHBOsOxn2c+yn2U/y36W/Sz7WSvmRK9UiIZDpXiQchZFgnOCZT/Lfpb9LPtZ9rPsZ9nPWjYneqVCYjOkn1CR4Jxg2c+yn2U/y36W/Sz7WfazFs6JxHGJ6KbpLc6Jl8h+lv0s+1n2s+xn2c+yn7VgTix4H9jo+ETsjWTjnBMs+1n2s+xn2c+yn2U/y35W+pyoFA9mPE2H6DJ2nor9AtnPsp9lP8t+lv0s+1n2s9Z5o9gNOCdY9rPsZ9nPsp9lP8t+lv0s50RCAHcnnZCJ/Sz7Wfaz7GfZz7KfFUC/cyISwN1JJ2RiP8t+lv0s+1n2s+xnBdC/9/j4+PDwcH9/f3d3d3t7OxwOb25uBoPB9fX11dVVv9+/vLy8uLjodrudTqfdbrdarfPz87Ozs2az2Wg0Tk9P6/V6rVarVqvlcvlEkiRJ0gfDoxORk91fh3RCJvaz7GfZz7KfZT/LflYA/c6JSAB3J52Qif0s+1n2s+xn2c+ynxVAv3MiEsDdSSdkYj/Lfpb9LPtZ9rPsZwXQv2BORFeYeLrExNzVKOYvdOecYNnPsp9lP8t+lv0s+1n2sxbNidhVryvFlOHgVbFfJPtZ9rPsZ9nPsp9lP8t+1oI5USnGFkSvVJiZDgvGhHOCZj/Lfpb9LPtZ9rPsZ9nPWufcidnx0CsVUl7nNBqNnBM0+1n2s+xn2c+yn2U/y37W6jkxNx7mD1ZEnBMs+1n2s+xn2c+yn2U/y37WijnRKxVmX9a0bE04J2D2s+xn2c+yn2U/y36W/axlc6JXKsyfhL10TTgnYPaz7GfZz7KfZT/Lfpb9rIVzIuW4xGg0mjlJe45zgmU/y36W/Sz7Wfaz7GfZz1owJxaebb384IRzAmY/y36W/Sz7Wfaz7GfZz0qfE3MXrJtOiOUHJ5wTMPtZ9rPsZ9nPsp9lP8t+1jpvFLsB5wTLfpb9LPtZ9rPsZ9nPsp/lnEgI4O6kEzKxn2U/y36W/Sz7WfazAuh3TkQCuDvphEzsZ9nPsp9lP8t+lv2sAPr3Hh8fHx4e7u/v7+7ubm9vh8Phzc3NYDC4vr6+urrq9/uXl5cXFxfdbrfT6bTb7VardX5+fnZ21mw2G43G6elpvV6v1WrVarVcLp9IkiRJ+mB4dCJysvvrkE7IxH6W/Sz7Wfaz7GfZzwqg3zkRCeDupBMysZ9lP8t+lv0s+1n2swLod05EArg76YRM7GfZz7KfZT/Lfpb9rAD6F8yJXqkwe9GJ+I3pV59wTrDsZ9nPsp9lP8t+lv0s+1mL5kSlOF0RleLTeIhu7JUKB2lXx3ZOsOxn2c+yn2U/y36W/Sz7WQvmROLi171S4aBYif7//GdMOSdY9rPsZ9nPsp9lP8t+lv2sdc6dmB6UiO2J9DXhnIDZz7KfZT/Lfpb9LPtZ9rNWz4leqTBzpGLxqRMhzIn/93d/9wF+0N/4iQD+ONEJmdjPsp9lP8t+lv2sAPqXzYnkORLRWRQBnzuBP7N3Tuwu+1n2s+xn2c+yn2U/a9mc6JUKicMQH8a5E/gze+fE7rKfZT/Lfpb9LPtZ9rMWzomU4w/OiXA/6G/8RAB/nOiETOxn2c+yn2U/y35WAP1pcyJ5wsT8rb7YKbAP+hs/EcAfJzohE/tZ9rPsZ9nPsp8VQH/KnKgUD2ZMpsMHcBk7/Jm9c2J32c+yn2U/y36W/Sz7Weu8UewGnBM7+kF/4ycC+ONEJ2RiP8t+lv0s+1n2swLod05EFs0Jumtd6zwcX/JvMIA/TnRCJvaz7GfZz7KfZT8rgH7nRMQ5wQrgjxOdkIn9LPtZ9rPsZ9nPCqB/7/Hx8eHh4f7+/u7u7vb2djgc3tzcDAaD6+vrq6urfr9/eXl5cXHR7XY7nU673W61Wufn52dnZ81ms9FonJ6e1uv1Wq1WrVbL5fLJjkt9tk1HPafgf4OSJEnaJo9ORE48OoFap/8ls59lP8t+lv0s+1n2s5wTCc4JVgB/nOiETOxn2c+yn2U/y35WAP3OiYhzghXAHyc6IRP7Wfaz7GfZz7KfFUD/gjkRXWIidr266Y3pl51wTsCcEyz7Wfaz7GfZz7KfZT9r0ZyoFKcrolJ8Wg/RP/VKhbSLYjsnYM4Jlv0s+1n2s+xn2c+yn7VgTlSKseMPT9shsSESnzHlnGA5J1j2s+xn2c+yn2U/y37WOudOPB2pcE68eM4Jlv0s+1n2s+xn2c+yn3VycrJXVkzqs+34J9B32Qbe7zcoSZIkrW/v/xST+mx7+qPlXZsTm/4GJUmSpI04JxKcE5IkSdL6nBMJzglJkiRpfc6JBOeEJEmStD7nRIJzQpIkSVqfcyLBOZFFr9d78+bN0dHRj3/84x//+MdHR0dv3rzp9XrP9fUlSZL00jgnEp5vTnz7w49/8MO/Zh8FvVc/f8+vs+U58dVXX/30pz99/fr1d9991+/3+/3+d9999/r165/+9KdfffXVs/wSkiRpHvHWoFLEOZHgnHgP33///atXr375y1+mHojo9Xq//OUvX7169f3332f8hSRJ0rz1n5+Mn/y9z7MKaTHnRIJz4j28fv361atXf/vb3xZ9wt/+9rdf/epXb968yfgLSZIUvM8+++yzzz7b6Kc4J8TKcU58++23L/arLfLcc+LbH378g48+/sFHiWnRe/XzyY0fffzJ70fLb4/Nib9+8tHHP/iH3/fWLNjOnOh0Oj/72c/u7u7iN/7oRz/60Y9+FL9lOBz+5Cc/6XQ6WX4tSZKC55zQzslrTnz77bfPPie2sCied05Eq+Cvn3z08T+9+p/RZDP8f9+Ob279/p+ePmfZ7T/862j0P6V/2PBwx3bmxOvXrz/99NOZG+fnxP/93/99+umnHqCQJOnZLXp+8qMf/Wj+uYFzQs8ulznx7ZMX/jXn5fZip6dV8NdPkkcknj5t0e2Tn/jtDzc5LjG2nTnx7//+741GY+bG1DlRq9V+/vOfZ/m1JEnSvNTnJ+P/LZ5/buCc0LN7/jnxbczL/7Izcp0T//D7Xuv3//TRz0ut0bq3R6+ASvzoWrYzJ/75n/95OByO//lHC4x/dPx6pyy/liRJwXuWFztN/yd4/rmBc0LPzqMTCbnNiVVHIVYcnUi8FGpNL21OXF9f/8u//EuWX0uSpOBlnxPx/wmef27gnNCz89yJhGc+d+LpkELsXIhvf/hx8hyJyecsun16KnbiE9axnTnxySefvHv3buZGX+wkSdLWeHRCLN/ZKeGZj078vvQPKe/gFL3dU/IlTKm3x97Z6X9K/7DJq562Myd+/etfr38q9uvXr7P8WpIkaZ7nTojldScSnm9O8HyjWEmSds4zvlGsc0Lb4ZxIcE68h1//+tfrXMbOQxOSJK3kdSe0c5wTCc6J9/D999+/evXq1atX03Oy44bD4a9+9atXr159//33GX8hSZI0zzkhlnMiwTnx3r766quf/exnb968qdVqg8FgMBjUarU3b9787Gc/++qrr57ll5AkSfOcE2I5JxKcE1n0er03b9784he/GJ878Ytf/OLNmze9Xu+5vr4kSZpXllDOiQTnhCRJkrQ+50TC8mfbH03fyHVHPjb9DUqSJEkbcU4kpD7bDv6D/q5LkiRpVzknEvBn9s4JSZIk7RDnRAL+zN45IUmSpB3inEjAn9k7JyRJkrRD9vDThV/UB/7MHvnAv+1++OGHH3744Ycffuzoh3Mi8YE/s3dO+OGHH3744YcffvixQx/OicQH/szeOeGHH3744Ycffvjhxw59/P/imVZO5JGkdQAAAABJRU5ErkJggg==" alt="" />

  当然,这个导出的功能不是最完善的,只是通过这一功能去了解java反射的使用。

上一篇:CodeForces723-A. The New Year: Meeting Friends


下一篇:安装qt5.3.2后,qtcreator在ubuntu 11.04无法启动的问题