diff options
-rw-r--r-- | res-hdpi/images/loop00000.png | bin | 9715 -> 9201 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00001.png | bin | 9823 -> 9276 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00002.png | bin | 9807 -> 9279 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00003.png | bin | 9748 -> 9267 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00004.png | bin | 9966 -> 9476 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00005.png | bin | 10030 -> 9528 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00006.png | bin | 10211 -> 9690 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00007.png | bin | 10300 -> 9779 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00008.png | bin | 10271 -> 9764 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00009.png | bin | 10172 -> 9678 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00010.png | bin | 10252 -> 9798 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00011.png | bin | 10194 -> 9731 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00012.png | bin | 10246 -> 9821 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00013.png | bin | 10280 -> 9829 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00014.png | bin | 10263 -> 9823 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00015.png | bin | 10214 -> 9800 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00016.png | bin | 10308 -> 9890 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00017.png | bin | 10082 -> 9641 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00018.png | bin | 10115 -> 9681 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00019.png | bin | 10004 -> 9578 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00020.png | bin | 9793 -> 9383 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00021.png | bin | 9952 -> 9529 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00022.png | bin | 9784 -> 9372 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00023.png | bin | 9758 -> 9307 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00024.png | bin | 9738 -> 9284 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00025.png | bin | 9716 -> 9279 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00026.png | bin | 9912 -> 9477 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00027.png | bin | 9716 -> 9265 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00028.png | bin | 10005 -> 9532 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00029.png | bin | 10038 -> 9536 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00030.png | bin | 9975 -> 9511 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00031.png | bin | 9855 -> 9368 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00032.png | bin | 9743 -> 9280 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00033.png | bin | 9989 -> 9513 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00034.png | bin | 10005 -> 9521 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00035.png | bin | 10192 -> 9692 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00036.png | bin | 10112 -> 9636 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00037.png | bin | 10325 -> 9833 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00038.png | bin | 10477 -> 10034 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00039.png | bin | 10458 -> 10005 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00040.png | bin | 10381 -> 9925 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00041.png | bin | 10791 -> 10310 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00042.png | bin | 10753 -> 10307 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00043.png | bin | 10721 -> 10253 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00044.png | bin | 10763 -> 10274 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00045.png | bin | 10839 -> 10364 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00046.png | bin | 10883 -> 10416 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00047.png | bin | 11049 -> 10593 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00048.png | bin | 10971 -> 10473 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00049.png | bin | 11018 -> 10521 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00050.png | bin | 10662 -> 10203 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00051.png | bin | 10500 -> 10022 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00052.png | bin | 10593 -> 10115 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00053.png | bin | 10591 -> 10126 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00054.png | bin | 10594 -> 10117 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00055.png | bin | 10338 -> 9845 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00056.png | bin | 10291 -> 9782 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00057.png | bin | 10227 -> 9735 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00058.png | bin | 10082 -> 9582 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00059.png | bin | 9914 -> 9391 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00060.png | bin | 10011 -> 9512 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00061.png | bin | 9884 -> 9383 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00062.png | bin | 9943 -> 9404 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00063.png | bin | 9961 -> 9421 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00064.png | bin | 9965 -> 9430 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00065.png | bin | 9969 -> 9429 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00066.png | bin | 9816 -> 9308 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00067.png | bin | 10008 -> 9516 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00068.png | bin | 9980 -> 9468 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00069.png | bin | 9829 -> 9302 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00070.png | bin | 10000 -> 9517 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00071.png | bin | 9831 -> 9358 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00072.png | bin | 9641 -> 9165 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00073.png | bin | 9616 -> 9171 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00074.png | bin | 9440 -> 8981 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00075.png | bin | 9238 -> 8780 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00076.png | bin | 9244 -> 8790 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00077.png | bin | 9056 -> 8609 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00078.png | bin | 9027 -> 8561 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00079.png | bin | 9030 -> 8543 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00080.png | bin | 9251 -> 8797 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00081.png | bin | 9435 -> 9012 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00082.png | bin | 9672 -> 9226 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00083.png | bin | 9581 -> 9140 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00084.png | bin | 9684 -> 9214 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00085.png | bin | 9824 -> 9336 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00086.png | bin | 9833 -> 9322 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00087.png | bin | 9827 -> 9309 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00088.png | bin | 9772 -> 9265 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00089.png | bin | 9626 -> 9137 bytes | |||
-rw-r--r-- | res-hdpi/images/loop00090.png | bin | 9715 -> 9201 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00000.png | bin | 6155 -> 5900 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00001.png | bin | 6135 -> 5873 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00002.png | bin | 6122 -> 5854 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00003.png | bin | 6181 -> 5924 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00004.png | bin | 6224 -> 5981 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00005.png | bin | 6280 -> 6052 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00006.png | bin | 6318 -> 6096 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00007.png | bin | 6345 -> 6126 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00008.png | bin | 6382 -> 6132 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00009.png | bin | 6406 -> 6179 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00010.png | bin | 6299 -> 6078 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00011.png | bin | 6373 -> 6167 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00012.png | bin | 6269 -> 6079 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00013.png | bin | 6351 -> 6147 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00014.png | bin | 6257 -> 6052 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00015.png | bin | 6288 -> 6089 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00016.png | bin | 6273 -> 6069 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00017.png | bin | 6228 -> 6040 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00018.png | bin | 6248 -> 6055 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00019.png | bin | 6116 -> 5923 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00020.png | bin | 6031 -> 5831 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00021.png | bin | 6036 -> 5844 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00022.png | bin | 6049 -> 5839 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00023.png | bin | 6077 -> 5865 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00024.png | bin | 5992 -> 5789 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00025.png | bin | 6007 -> 5779 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00026.png | bin | 6029 -> 5819 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00027.png | bin | 5993 -> 5763 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00028.png | bin | 6004 -> 5769 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00029.png | bin | 6146 -> 5932 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00030.png | bin | 6196 -> 5973 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00031.png | bin | 6134 -> 5904 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00032.png | bin | 6114 -> 5872 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00033.png | bin | 6083 -> 5843 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00034.png | bin | 6132 -> 5903 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00035.png | bin | 6239 -> 6000 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00036.png | bin | 6260 -> 6023 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00037.png | bin | 6317 -> 6057 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00038.png | bin | 6424 -> 6204 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00039.png | bin | 6479 -> 6265 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00040.png | bin | 6515 -> 6307 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00041.png | bin | 6643 -> 6420 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00042.png | bin | 6654 -> 6448 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00043.png | bin | 6619 -> 6411 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00044.png | bin | 6730 -> 6504 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00045.png | bin | 6622 -> 6384 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00046.png | bin | 6683 -> 6447 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00047.png | bin | 6655 -> 6437 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00048.png | bin | 6768 -> 6532 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00049.png | bin | 6671 -> 6424 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00050.png | bin | 6572 -> 6323 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00051.png | bin | 6551 -> 6327 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00052.png | bin | 6561 -> 6342 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00053.png | bin | 6486 -> 6263 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00054.png | bin | 6559 -> 6347 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00055.png | bin | 6498 -> 6277 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00056.png | bin | 6369 -> 6133 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00057.png | bin | 6336 -> 6103 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00058.png | bin | 6329 -> 6083 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00059.png | bin | 6261 -> 6014 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00060.png | bin | 6168 -> 5930 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00061.png | bin | 6161 -> 5902 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00062.png | bin | 6185 -> 5927 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00063.png | bin | 6235 -> 5952 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00064.png | bin | 6226 -> 5965 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00065.png | bin | 6280 -> 6010 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00066.png | bin | 6167 -> 5918 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00067.png | bin | 6161 -> 5916 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00068.png | bin | 6234 -> 5976 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00069.png | bin | 6190 -> 5941 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00070.png | bin | 6168 -> 5948 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00071.png | bin | 6083 -> 5867 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00072.png | bin | 5992 -> 5777 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00073.png | bin | 5967 -> 5757 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00074.png | bin | 5818 -> 5602 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00075.png | bin | 5717 -> 5468 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00076.png | bin | 5724 -> 5507 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00077.png | bin | 5644 -> 5417 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00078.png | bin | 5660 -> 5415 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00079.png | bin | 5670 -> 5430 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00080.png | bin | 5718 -> 5478 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00081.png | bin | 5872 -> 5633 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00082.png | bin | 5929 -> 5706 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00083.png | bin | 6009 -> 5783 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00084.png | bin | 5988 -> 5750 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00085.png | bin | 6026 -> 5778 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00086.png | bin | 6021 -> 5782 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00087.png | bin | 6163 -> 5927 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00088.png | bin | 6127 -> 5882 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00089.png | bin | 6243 -> 5992 bytes | |||
-rw-r--r-- | res-mdpi/images/loop00090.png | bin | 6155 -> 5900 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00000.png | bin | 13121 -> 12215 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00001.png | bin | 12986 -> 12095 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00002.png | bin | 13588 -> 12714 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00003.png | bin | 13584 -> 12748 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00004.png | bin | 13685 -> 12846 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00005.png | bin | 13802 -> 12919 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00006.png | bin | 14188 -> 13349 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00007.png | bin | 14027 -> 13162 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00008.png | bin | 14273 -> 13426 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00009.png | bin | 14122 -> 13291 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00010.png | bin | 14226 -> 13407 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00011.png | bin | 14155 -> 13346 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00012.png | bin | 14375 -> 13566 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00013.png | bin | 14231 -> 13444 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00014.png | bin | 14037 -> 13322 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00015.png | bin | 14052 -> 13292 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00016.png | bin | 13930 -> 13175 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00017.png | bin | 14127 -> 13359 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00018.png | bin | 14157 -> 13405 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00019.png | bin | 13666 -> 12973 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00020.png | bin | 13677 -> 12998 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00021.png | bin | 13777 -> 13037 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00022.png | bin | 13546 -> 12811 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00023.png | bin | 13674 -> 12911 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00024.png | bin | 13465 -> 12696 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00025.png | bin | 13421 -> 12677 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00026.png | bin | 13507 -> 12789 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00027.png | bin | 13272 -> 12504 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00028.png | bin | 13692 -> 12906 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00029.png | bin | 13709 -> 12916 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00030.png | bin | 13650 -> 12847 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00031.png | bin | 13519 -> 12718 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00032.png | bin | 13523 -> 12708 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00033.png | bin | 13526 -> 12751 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00034.png | bin | 13751 -> 12940 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00035.png | bin | 14005 -> 13215 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00036.png | bin | 14137 -> 13399 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00037.png | bin | 14320 -> 13587 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00038.png | bin | 14322 -> 13600 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00039.png | bin | 14536 -> 13801 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00040.png | bin | 14550 -> 13828 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00041.png | bin | 14691 -> 13956 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00042.png | bin | 14935 -> 14150 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00043.png | bin | 14884 -> 14067 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00044.png | bin | 14958 -> 14166 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00045.png | bin | 14868 -> 14042 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00046.png | bin | 15135 -> 14322 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00047.png | bin | 14967 -> 14156 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00048.png | bin | 15144 -> 14298 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00049.png | bin | 15063 -> 14274 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00050.png | bin | 14846 -> 14025 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00051.png | bin | 14867 -> 14001 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00052.png | bin | 14738 -> 13965 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00053.png | bin | 14750 -> 13886 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00054.png | bin | 14430 -> 13573 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00055.png | bin | 14483 -> 13665 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00056.png | bin | 14106 -> 13313 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00057.png | bin | 14331 -> 13505 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00058.png | bin | 13771 -> 12874 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00059.png | bin | 13765 -> 12906 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00060.png | bin | 13502 -> 12708 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00061.png | bin | 13758 -> 12947 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00062.png | bin | 13659 -> 12817 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00063.png | bin | 13836 -> 13004 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00064.png | bin | 13734 -> 12871 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00065.png | bin | 13620 -> 12785 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00066.png | bin | 13530 -> 12684 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00067.png | bin | 13549 -> 12712 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00068.png | bin | 13608 -> 12809 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00069.png | bin | 13454 -> 12696 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00070.png | bin | 13830 -> 12995 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00071.png | bin | 13616 -> 12807 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00072.png | bin | 13308 -> 12497 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00073.png | bin | 13150 -> 12366 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00074.png | bin | 13091 -> 12355 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00075.png | bin | 12954 -> 12181 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00076.png | bin | 12621 -> 11868 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00077.png | bin | 12465 -> 11726 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00078.png | bin | 12583 -> 11873 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00079.png | bin | 12643 -> 11893 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00080.png | bin | 12859 -> 12119 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00081.png | bin | 13182 -> 12445 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00082.png | bin | 13031 -> 12273 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00083.png | bin | 12974 -> 12183 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00084.png | bin | 13116 -> 12329 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00085.png | bin | 13734 -> 12875 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00086.png | bin | 13390 -> 12559 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00087.png | bin | 13576 -> 12706 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00088.png | bin | 13439 -> 12610 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00089.png | bin | 13377 -> 12531 bytes | |||
-rw-r--r-- | res-xhdpi/images/loop00090.png | bin | 13121 -> 12215 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00000.png | bin | 23844 -> 22250 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00001.png | bin | 23888 -> 22260 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00002.png | bin | 23921 -> 22323 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00003.png | bin | 23643 -> 22069 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00004.png | bin | 24601 -> 22969 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00005.png | bin | 24930 -> 23280 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00006.png | bin | 25409 -> 23713 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00007.png | bin | 25252 -> 23577 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00008.png | bin | 25374 -> 23713 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00009.png | bin | 25053 -> 23372 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00010.png | bin | 25072 -> 23521 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00011.png | bin | 25067 -> 23468 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00012.png | bin | 24800 -> 23188 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00013.png | bin | 24816 -> 23279 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00014.png | bin | 24964 -> 23440 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00015.png | bin | 25074 -> 23498 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00016.png | bin | 25015 -> 23475 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00017.png | bin | 25105 -> 23496 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00018.png | bin | 25231 -> 23561 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00019.png | bin | 24874 -> 23270 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00020.png | bin | 24930 -> 23358 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00021.png | bin | 24971 -> 23377 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00022.png | bin | 25078 -> 23475 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00023.png | bin | 24149 -> 22471 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00024.png | bin | 24109 -> 22493 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00025.png | bin | 23882 -> 22297 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00026.png | bin | 24783 -> 23125 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00027.png | bin | 24047 -> 22420 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00028.png | bin | 24328 -> 22678 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00029.png | bin | 24725 -> 23034 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00030.png | bin | 24785 -> 23109 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00031.png | bin | 24155 -> 22555 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00032.png | bin | 25102 -> 23459 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00033.png | bin | 24598 -> 23005 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00034.png | bin | 24534 -> 22961 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00035.png | bin | 25207 -> 23649 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00036.png | bin | 24850 -> 23331 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00037.png | bin | 25157 -> 23640 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00038.png | bin | 25568 -> 24031 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00039.png | bin | 25564 -> 24099 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00040.png | bin | 26059 -> 24521 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00041.png | bin | 25794 -> 24242 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00042.png | bin | 26273 -> 24703 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00043.png | bin | 25908 -> 24344 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00044.png | bin | 26792 -> 25285 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00045.png | bin | 26875 -> 25408 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00046.png | bin | 26449 -> 24991 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00047.png | bin | 27025 -> 25458 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00048.png | bin | 27182 -> 25598 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00049.png | bin | 27526 -> 25977 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00050.png | bin | 25743 -> 24186 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00051.png | bin | 26020 -> 24442 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00052.png | bin | 26003 -> 24436 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00053.png | bin | 25282 -> 23786 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00054.png | bin | 25708 -> 24167 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00055.png | bin | 25423 -> 23910 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00056.png | bin | 25506 -> 23882 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00057.png | bin | 25419 -> 23858 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00058.png | bin | 24999 -> 23387 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00059.png | bin | 24117 -> 22514 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00060.png | bin | 24146 -> 22566 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00061.png | bin | 24194 -> 22578 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00062.png | bin | 24219 -> 22564 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00063.png | bin | 24330 -> 22657 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00064.png | bin | 24550 -> 22874 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00065.png | bin | 24535 -> 22746 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00066.png | bin | 24626 -> 22808 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00067.png | bin | 24133 -> 22384 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00068.png | bin | 24107 -> 22328 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00069.png | bin | 24891 -> 23196 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00070.png | bin | 24404 -> 22758 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00071.png | bin | 24130 -> 22433 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00072.png | bin | 24004 -> 22350 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00073.png | bin | 23694 -> 22077 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00074.png | bin | 23131 -> 21585 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00075.png | bin | 23422 -> 21795 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00076.png | bin | 22994 -> 21463 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00077.png | bin | 23012 -> 21422 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00078.png | bin | 22839 -> 21289 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00079.png | bin | 23360 -> 21748 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00080.png | bin | 23761 -> 22136 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00081.png | bin | 23512 -> 21906 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00082.png | bin | 23673 -> 22050 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00083.png | bin | 24356 -> 22755 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00084.png | bin | 23987 -> 22357 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00085.png | bin | 24223 -> 22632 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00086.png | bin | 24309 -> 22726 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00087.png | bin | 24488 -> 22801 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00088.png | bin | 24539 -> 22898 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00089.png | bin | 24543 -> 22853 bytes | |||
-rw-r--r-- | res-xxhdpi/images/loop00090.png | bin | 23844 -> 22250 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00000.png | bin | 32138 -> 29744 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00001.png | bin | 32195 -> 29762 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00002.png | bin | 32040 -> 29731 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00003.png | bin | 32554 -> 30210 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00004.png | bin | 32935 -> 30518 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00005.png | bin | 33131 -> 30698 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00006.png | bin | 33508 -> 31133 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00007.png | bin | 34862 -> 32354 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00008.png | bin | 34026 -> 31543 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00009.png | bin | 33660 -> 31303 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00010.png | bin | 34391 -> 32007 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00011.png | bin | 34154 -> 31710 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00012.png | bin | 34256 -> 31918 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00013.png | bin | 34040 -> 31732 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00014.png | bin | 35473 -> 33175 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00015.png | bin | 34333 -> 31977 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00016.png | bin | 33916 -> 31668 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00017.png | bin | 34493 -> 32141 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00018.png | bin | 33763 -> 31503 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00019.png | bin | 33855 -> 31538 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00020.png | bin | 33288 -> 31061 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00021.png | bin | 33174 -> 30781 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00022.png | bin | 33157 -> 30730 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00023.png | bin | 33287 -> 30866 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00024.png | bin | 32859 -> 30482 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00025.png | bin | 32260 -> 29882 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00026.png | bin | 32597 -> 30197 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00027.png | bin | 31878 -> 29631 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00028.png | bin | 32518 -> 30156 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00029.png | bin | 32930 -> 30608 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00030.png | bin | 33688 -> 31201 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00031.png | bin | 32547 -> 30294 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00032.png | bin | 33104 -> 30856 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00033.png | bin | 32907 -> 30695 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00034.png | bin | 33611 -> 31456 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00035.png | bin | 33202 -> 31051 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00036.png | bin | 32973 -> 31007 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00037.png | bin | 33595 -> 31503 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00038.png | bin | 34809 -> 32686 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00039.png | bin | 34692 -> 32568 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00040.png | bin | 35484 -> 33303 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00041.png | bin | 35146 -> 33036 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00042.png | bin | 34815 -> 32627 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00043.png | bin | 35465 -> 33272 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00044.png | bin | 35643 -> 33420 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00045.png | bin | 35835 -> 33601 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00046.png | bin | 36635 -> 34392 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00047.png | bin | 36481 -> 34190 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00048.png | bin | 36482 -> 34209 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00049.png | bin | 36341 -> 34099 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00050.png | bin | 34835 -> 32586 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00051.png | bin | 35569 -> 33282 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00052.png | bin | 34899 -> 32691 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00053.png | bin | 34589 -> 32340 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00054.png | bin | 34365 -> 32088 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00055.png | bin | 34332 -> 32066 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00056.png | bin | 34188 -> 31890 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00057.png | bin | 33961 -> 31671 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00058.png | bin | 33300 -> 31028 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00059.png | bin | 33405 -> 31030 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00060.png | bin | 33229 -> 30831 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00061.png | bin | 31814 -> 29450 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00062.png | bin | 32900 -> 30420 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00063.png | bin | 32809 -> 30289 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00064.png | bin | 32625 -> 30063 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00065.png | bin | 33560 -> 30967 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00066.png | bin | 32825 -> 30301 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00067.png | bin | 32885 -> 30273 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00068.png | bin | 31901 -> 29460 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00069.png | bin | 32514 -> 29991 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00070.png | bin | 33063 -> 30574 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00071.png | bin | 32486 -> 30057 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00072.png | bin | 32218 -> 29668 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00073.png | bin | 32100 -> 29647 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00074.png | bin | 31018 -> 28742 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00075.png | bin | 31186 -> 28865 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00076.png | bin | 30704 -> 28477 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00077.png | bin | 30379 -> 28217 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00078.png | bin | 31001 -> 28767 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00079.png | bin | 31273 -> 29012 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00080.png | bin | 30904 -> 28594 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00081.png | bin | 31821 -> 29414 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00082.png | bin | 31287 -> 28937 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00083.png | bin | 31149 -> 28804 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00084.png | bin | 31294 -> 28994 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00085.png | bin | 31875 -> 29510 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00086.png | bin | 32357 -> 30033 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00087.png | bin | 32312 -> 29930 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00088.png | bin | 31914 -> 29559 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00089.png | bin | 32685 -> 30335 bytes | |||
-rw-r--r-- | res-xxxhdpi/images/loop00090.png | bin | 32138 -> 29744 bytes | |||
-rw-r--r-- | tests/unit/rangeset_test.cpp | 40 | ||||
-rw-r--r-- | tools/recovery_l10n/res/values-hi/strings.xml | 2 | ||||
-rw-r--r-- | update_verifier/update_verifier.cpp | 2 | ||||
-rw-r--r-- | update_verifier/update_verifier.rc | 8 | ||||
-rw-r--r-- | updater/blockimg.cpp | 392 | ||||
-rw-r--r-- | updater/include/updater/rangeset.h | 125 | ||||
-rw-r--r-- | verifier.cpp | 6 |
462 files changed, 330 insertions, 245 deletions
diff --git a/res-hdpi/images/loop00000.png b/res-hdpi/images/loop00000.png Binary files differindex 030fa2b36..9e9d1e320 100644 --- a/res-hdpi/images/loop00000.png +++ b/res-hdpi/images/loop00000.png diff --git a/res-hdpi/images/loop00001.png b/res-hdpi/images/loop00001.png Binary files differindex 546a10247..cd53cc6cd 100644 --- a/res-hdpi/images/loop00001.png +++ b/res-hdpi/images/loop00001.png diff --git a/res-hdpi/images/loop00002.png b/res-hdpi/images/loop00002.png Binary files differindex 262be3f24..d5b5cead4 100644 --- a/res-hdpi/images/loop00002.png +++ b/res-hdpi/images/loop00002.png diff --git a/res-hdpi/images/loop00003.png b/res-hdpi/images/loop00003.png Binary files differindex 1282fb308..50e08ded4 100644 --- a/res-hdpi/images/loop00003.png +++ b/res-hdpi/images/loop00003.png diff --git a/res-hdpi/images/loop00004.png b/res-hdpi/images/loop00004.png Binary files differindex 2ff7678ff..d69f76263 100644 --- a/res-hdpi/images/loop00004.png +++ b/res-hdpi/images/loop00004.png diff --git a/res-hdpi/images/loop00005.png b/res-hdpi/images/loop00005.png Binary files differindex 20b4d815b..32d368e28 100644 --- a/res-hdpi/images/loop00005.png +++ b/res-hdpi/images/loop00005.png diff --git a/res-hdpi/images/loop00006.png b/res-hdpi/images/loop00006.png Binary files differindex 0f5b28d49..fcc750bdf 100644 --- a/res-hdpi/images/loop00006.png +++ b/res-hdpi/images/loop00006.png diff --git a/res-hdpi/images/loop00007.png b/res-hdpi/images/loop00007.png Binary files differindex 008acc85b..d37ba5ca8 100644 --- a/res-hdpi/images/loop00007.png +++ b/res-hdpi/images/loop00007.png diff --git a/res-hdpi/images/loop00008.png b/res-hdpi/images/loop00008.png Binary files differindex ca1309dc2..5a1605470 100644 --- a/res-hdpi/images/loop00008.png +++ b/res-hdpi/images/loop00008.png diff --git a/res-hdpi/images/loop00009.png b/res-hdpi/images/loop00009.png Binary files differindex b2730f198..49ede64ad 100644 --- a/res-hdpi/images/loop00009.png +++ b/res-hdpi/images/loop00009.png diff --git a/res-hdpi/images/loop00010.png b/res-hdpi/images/loop00010.png Binary files differindex 3867e9c96..f9e219ff7 100644 --- a/res-hdpi/images/loop00010.png +++ b/res-hdpi/images/loop00010.png diff --git a/res-hdpi/images/loop00011.png b/res-hdpi/images/loop00011.png Binary files differindex 2761d8fcb..3fbe0b5aa 100644 --- a/res-hdpi/images/loop00011.png +++ b/res-hdpi/images/loop00011.png diff --git a/res-hdpi/images/loop00012.png b/res-hdpi/images/loop00012.png Binary files differindex 2d976ef62..32294612c 100644 --- a/res-hdpi/images/loop00012.png +++ b/res-hdpi/images/loop00012.png diff --git a/res-hdpi/images/loop00013.png b/res-hdpi/images/loop00013.png Binary files differindex 5c96bb52c..69773ec6c 100644 --- a/res-hdpi/images/loop00013.png +++ b/res-hdpi/images/loop00013.png diff --git a/res-hdpi/images/loop00014.png b/res-hdpi/images/loop00014.png Binary files differindex d481ec57a..56c15ccde 100644 --- a/res-hdpi/images/loop00014.png +++ b/res-hdpi/images/loop00014.png diff --git a/res-hdpi/images/loop00015.png b/res-hdpi/images/loop00015.png Binary files differindex 47716ede3..26126814d 100644 --- a/res-hdpi/images/loop00015.png +++ b/res-hdpi/images/loop00015.png diff --git a/res-hdpi/images/loop00016.png b/res-hdpi/images/loop00016.png Binary files differindex c0cffe85c..69f632ec4 100644 --- a/res-hdpi/images/loop00016.png +++ b/res-hdpi/images/loop00016.png diff --git a/res-hdpi/images/loop00017.png b/res-hdpi/images/loop00017.png Binary files differindex a0dc2e51f..af356150e 100644 --- a/res-hdpi/images/loop00017.png +++ b/res-hdpi/images/loop00017.png diff --git a/res-hdpi/images/loop00018.png b/res-hdpi/images/loop00018.png Binary files differindex c8eefc5f8..0f72ff090 100644 --- a/res-hdpi/images/loop00018.png +++ b/res-hdpi/images/loop00018.png diff --git a/res-hdpi/images/loop00019.png b/res-hdpi/images/loop00019.png Binary files differindex 0d9d8e0fe..f167644c3 100644 --- a/res-hdpi/images/loop00019.png +++ b/res-hdpi/images/loop00019.png diff --git a/res-hdpi/images/loop00020.png b/res-hdpi/images/loop00020.png Binary files differindex b4909a80d..202a0fe3e 100644 --- a/res-hdpi/images/loop00020.png +++ b/res-hdpi/images/loop00020.png diff --git a/res-hdpi/images/loop00021.png b/res-hdpi/images/loop00021.png Binary files differindex b3c5274c8..8c102d983 100644 --- a/res-hdpi/images/loop00021.png +++ b/res-hdpi/images/loop00021.png diff --git a/res-hdpi/images/loop00022.png b/res-hdpi/images/loop00022.png Binary files differindex 827c93707..4bde99c61 100644 --- a/res-hdpi/images/loop00022.png +++ b/res-hdpi/images/loop00022.png diff --git a/res-hdpi/images/loop00023.png b/res-hdpi/images/loop00023.png Binary files differindex 84440fec6..350acfb07 100644 --- a/res-hdpi/images/loop00023.png +++ b/res-hdpi/images/loop00023.png diff --git a/res-hdpi/images/loop00024.png b/res-hdpi/images/loop00024.png Binary files differindex cfc4c5bab..dde1a8e70 100644 --- a/res-hdpi/images/loop00024.png +++ b/res-hdpi/images/loop00024.png diff --git a/res-hdpi/images/loop00025.png b/res-hdpi/images/loop00025.png Binary files differindex fd048fdcf..a133ebd4d 100644 --- a/res-hdpi/images/loop00025.png +++ b/res-hdpi/images/loop00025.png diff --git a/res-hdpi/images/loop00026.png b/res-hdpi/images/loop00026.png Binary files differindex 68251873a..6825ad93d 100644 --- a/res-hdpi/images/loop00026.png +++ b/res-hdpi/images/loop00026.png diff --git a/res-hdpi/images/loop00027.png b/res-hdpi/images/loop00027.png Binary files differindex 238dad60a..91bf1cf74 100644 --- a/res-hdpi/images/loop00027.png +++ b/res-hdpi/images/loop00027.png diff --git a/res-hdpi/images/loop00028.png b/res-hdpi/images/loop00028.png Binary files differindex 55e058d2e..8cba9bba3 100644 --- a/res-hdpi/images/loop00028.png +++ b/res-hdpi/images/loop00028.png diff --git a/res-hdpi/images/loop00029.png b/res-hdpi/images/loop00029.png Binary files differindex fc761370e..bd0599357 100644 --- a/res-hdpi/images/loop00029.png +++ b/res-hdpi/images/loop00029.png diff --git a/res-hdpi/images/loop00030.png b/res-hdpi/images/loop00030.png Binary files differindex 920634f89..e30821a93 100644 --- a/res-hdpi/images/loop00030.png +++ b/res-hdpi/images/loop00030.png diff --git a/res-hdpi/images/loop00031.png b/res-hdpi/images/loop00031.png Binary files differindex f54846461..40198609b 100644 --- a/res-hdpi/images/loop00031.png +++ b/res-hdpi/images/loop00031.png diff --git a/res-hdpi/images/loop00032.png b/res-hdpi/images/loop00032.png Binary files differindex 4cff5c44c..41832bb94 100644 --- a/res-hdpi/images/loop00032.png +++ b/res-hdpi/images/loop00032.png diff --git a/res-hdpi/images/loop00033.png b/res-hdpi/images/loop00033.png Binary files differindex 5d2d27222..583f19cba 100644 --- a/res-hdpi/images/loop00033.png +++ b/res-hdpi/images/loop00033.png diff --git a/res-hdpi/images/loop00034.png b/res-hdpi/images/loop00034.png Binary files differindex b4d73416e..bffa72bcd 100644 --- a/res-hdpi/images/loop00034.png +++ b/res-hdpi/images/loop00034.png diff --git a/res-hdpi/images/loop00035.png b/res-hdpi/images/loop00035.png Binary files differindex 49025b82d..d65d6b4e8 100644 --- a/res-hdpi/images/loop00035.png +++ b/res-hdpi/images/loop00035.png diff --git a/res-hdpi/images/loop00036.png b/res-hdpi/images/loop00036.png Binary files differindex b3aa58da5..a26cda154 100644 --- a/res-hdpi/images/loop00036.png +++ b/res-hdpi/images/loop00036.png diff --git a/res-hdpi/images/loop00037.png b/res-hdpi/images/loop00037.png Binary files differindex ff47e85d6..660530dca 100644 --- a/res-hdpi/images/loop00037.png +++ b/res-hdpi/images/loop00037.png diff --git a/res-hdpi/images/loop00038.png b/res-hdpi/images/loop00038.png Binary files differindex 8039b925f..a3c9f31b9 100644 --- a/res-hdpi/images/loop00038.png +++ b/res-hdpi/images/loop00038.png diff --git a/res-hdpi/images/loop00039.png b/res-hdpi/images/loop00039.png Binary files differindex e76d4bc96..609d8cac2 100644 --- a/res-hdpi/images/loop00039.png +++ b/res-hdpi/images/loop00039.png diff --git a/res-hdpi/images/loop00040.png b/res-hdpi/images/loop00040.png Binary files differindex 963cce7b6..41904445b 100644 --- a/res-hdpi/images/loop00040.png +++ b/res-hdpi/images/loop00040.png diff --git a/res-hdpi/images/loop00041.png b/res-hdpi/images/loop00041.png Binary files differindex dcd5f1117..9c3c37188 100644 --- a/res-hdpi/images/loop00041.png +++ b/res-hdpi/images/loop00041.png diff --git a/res-hdpi/images/loop00042.png b/res-hdpi/images/loop00042.png Binary files differindex 72fe63ab4..dd5baae16 100644 --- a/res-hdpi/images/loop00042.png +++ b/res-hdpi/images/loop00042.png diff --git a/res-hdpi/images/loop00043.png b/res-hdpi/images/loop00043.png Binary files differindex c109af88f..814724ef5 100644 --- a/res-hdpi/images/loop00043.png +++ b/res-hdpi/images/loop00043.png diff --git a/res-hdpi/images/loop00044.png b/res-hdpi/images/loop00044.png Binary files differindex 6648ec226..63c7392a1 100644 --- a/res-hdpi/images/loop00044.png +++ b/res-hdpi/images/loop00044.png diff --git a/res-hdpi/images/loop00045.png b/res-hdpi/images/loop00045.png Binary files differindex 90bf4313d..5c666effc 100644 --- a/res-hdpi/images/loop00045.png +++ b/res-hdpi/images/loop00045.png diff --git a/res-hdpi/images/loop00046.png b/res-hdpi/images/loop00046.png Binary files differindex 50473f0eb..6fa4667ab 100644 --- a/res-hdpi/images/loop00046.png +++ b/res-hdpi/images/loop00046.png diff --git a/res-hdpi/images/loop00047.png b/res-hdpi/images/loop00047.png Binary files differindex db4702369..52537ea6e 100644 --- a/res-hdpi/images/loop00047.png +++ b/res-hdpi/images/loop00047.png diff --git a/res-hdpi/images/loop00048.png b/res-hdpi/images/loop00048.png Binary files differindex 462a42131..412fd1c71 100644 --- a/res-hdpi/images/loop00048.png +++ b/res-hdpi/images/loop00048.png diff --git a/res-hdpi/images/loop00049.png b/res-hdpi/images/loop00049.png Binary files differindex f86af40f2..6cc8ef01b 100644 --- a/res-hdpi/images/loop00049.png +++ b/res-hdpi/images/loop00049.png diff --git a/res-hdpi/images/loop00050.png b/res-hdpi/images/loop00050.png Binary files differindex 8c0af52ff..caf36c504 100644 --- a/res-hdpi/images/loop00050.png +++ b/res-hdpi/images/loop00050.png diff --git a/res-hdpi/images/loop00051.png b/res-hdpi/images/loop00051.png Binary files differindex 2360fc0db..1cf8fb4a5 100644 --- a/res-hdpi/images/loop00051.png +++ b/res-hdpi/images/loop00051.png diff --git a/res-hdpi/images/loop00052.png b/res-hdpi/images/loop00052.png Binary files differindex dd5220018..7ee60e82a 100644 --- a/res-hdpi/images/loop00052.png +++ b/res-hdpi/images/loop00052.png diff --git a/res-hdpi/images/loop00053.png b/res-hdpi/images/loop00053.png Binary files differindex c7f0c1886..691bca0ea 100644 --- a/res-hdpi/images/loop00053.png +++ b/res-hdpi/images/loop00053.png diff --git a/res-hdpi/images/loop00054.png b/res-hdpi/images/loop00054.png Binary files differindex 7f16eff59..fa8d0002d 100644 --- a/res-hdpi/images/loop00054.png +++ b/res-hdpi/images/loop00054.png diff --git a/res-hdpi/images/loop00055.png b/res-hdpi/images/loop00055.png Binary files differindex b9af0ce54..3b7acb052 100644 --- a/res-hdpi/images/loop00055.png +++ b/res-hdpi/images/loop00055.png diff --git a/res-hdpi/images/loop00056.png b/res-hdpi/images/loop00056.png Binary files differindex 40b9e9b32..1c94d3094 100644 --- a/res-hdpi/images/loop00056.png +++ b/res-hdpi/images/loop00056.png diff --git a/res-hdpi/images/loop00057.png b/res-hdpi/images/loop00057.png Binary files differindex 51068cb20..703f48e95 100644 --- a/res-hdpi/images/loop00057.png +++ b/res-hdpi/images/loop00057.png diff --git a/res-hdpi/images/loop00058.png b/res-hdpi/images/loop00058.png Binary files differindex eba4486ac..8dae68a71 100644 --- a/res-hdpi/images/loop00058.png +++ b/res-hdpi/images/loop00058.png diff --git a/res-hdpi/images/loop00059.png b/res-hdpi/images/loop00059.png Binary files differindex 28761ac84..1105b4381 100644 --- a/res-hdpi/images/loop00059.png +++ b/res-hdpi/images/loop00059.png diff --git a/res-hdpi/images/loop00060.png b/res-hdpi/images/loop00060.png Binary files differindex 6532eb93a..8ae4a864c 100644 --- a/res-hdpi/images/loop00060.png +++ b/res-hdpi/images/loop00060.png diff --git a/res-hdpi/images/loop00061.png b/res-hdpi/images/loop00061.png Binary files differindex fbe2e2e9d..c4fca2f7e 100644 --- a/res-hdpi/images/loop00061.png +++ b/res-hdpi/images/loop00061.png diff --git a/res-hdpi/images/loop00062.png b/res-hdpi/images/loop00062.png Binary files differindex 54341e34a..d59b9d40d 100644 --- a/res-hdpi/images/loop00062.png +++ b/res-hdpi/images/loop00062.png diff --git a/res-hdpi/images/loop00063.png b/res-hdpi/images/loop00063.png Binary files differindex cfe9c802c..7ac8fdf08 100644 --- a/res-hdpi/images/loop00063.png +++ b/res-hdpi/images/loop00063.png diff --git a/res-hdpi/images/loop00064.png b/res-hdpi/images/loop00064.png Binary files differindex e1fe674ea..1fa8fe817 100644 --- a/res-hdpi/images/loop00064.png +++ b/res-hdpi/images/loop00064.png diff --git a/res-hdpi/images/loop00065.png b/res-hdpi/images/loop00065.png Binary files differindex efa35b64a..542ed34cf 100644 --- a/res-hdpi/images/loop00065.png +++ b/res-hdpi/images/loop00065.png diff --git a/res-hdpi/images/loop00066.png b/res-hdpi/images/loop00066.png Binary files differindex d8c20fef1..7b6af52f5 100644 --- a/res-hdpi/images/loop00066.png +++ b/res-hdpi/images/loop00066.png diff --git a/res-hdpi/images/loop00067.png b/res-hdpi/images/loop00067.png Binary files differindex ddf1ea4cc..58d4fb732 100644 --- a/res-hdpi/images/loop00067.png +++ b/res-hdpi/images/loop00067.png diff --git a/res-hdpi/images/loop00068.png b/res-hdpi/images/loop00068.png Binary files differindex 827cfc6af..1f1616e82 100644 --- a/res-hdpi/images/loop00068.png +++ b/res-hdpi/images/loop00068.png diff --git a/res-hdpi/images/loop00069.png b/res-hdpi/images/loop00069.png Binary files differindex 6ab833f4b..a2dbbfaec 100644 --- a/res-hdpi/images/loop00069.png +++ b/res-hdpi/images/loop00069.png diff --git a/res-hdpi/images/loop00070.png b/res-hdpi/images/loop00070.png Binary files differindex a4cc06f12..60a345fc9 100644 --- a/res-hdpi/images/loop00070.png +++ b/res-hdpi/images/loop00070.png diff --git a/res-hdpi/images/loop00071.png b/res-hdpi/images/loop00071.png Binary files differindex 96653c188..ac444273e 100644 --- a/res-hdpi/images/loop00071.png +++ b/res-hdpi/images/loop00071.png diff --git a/res-hdpi/images/loop00072.png b/res-hdpi/images/loop00072.png Binary files differindex 44a15f874..a9171eb7d 100644 --- a/res-hdpi/images/loop00072.png +++ b/res-hdpi/images/loop00072.png diff --git a/res-hdpi/images/loop00073.png b/res-hdpi/images/loop00073.png Binary files differindex 8352c7ce0..7911d324c 100644 --- a/res-hdpi/images/loop00073.png +++ b/res-hdpi/images/loop00073.png diff --git a/res-hdpi/images/loop00074.png b/res-hdpi/images/loop00074.png Binary files differindex 914f1b7fb..dcea580a2 100644 --- a/res-hdpi/images/loop00074.png +++ b/res-hdpi/images/loop00074.png diff --git a/res-hdpi/images/loop00075.png b/res-hdpi/images/loop00075.png Binary files differindex 372b87139..0a7a5a527 100644 --- a/res-hdpi/images/loop00075.png +++ b/res-hdpi/images/loop00075.png diff --git a/res-hdpi/images/loop00076.png b/res-hdpi/images/loop00076.png Binary files differindex ffbf28570..674c9d233 100644 --- a/res-hdpi/images/loop00076.png +++ b/res-hdpi/images/loop00076.png diff --git a/res-hdpi/images/loop00077.png b/res-hdpi/images/loop00077.png Binary files differindex 8dc6a4002..e344f47f3 100644 --- a/res-hdpi/images/loop00077.png +++ b/res-hdpi/images/loop00077.png diff --git a/res-hdpi/images/loop00078.png b/res-hdpi/images/loop00078.png Binary files differindex cf1ea6120..e0968ce3c 100644 --- a/res-hdpi/images/loop00078.png +++ b/res-hdpi/images/loop00078.png diff --git a/res-hdpi/images/loop00079.png b/res-hdpi/images/loop00079.png Binary files differindex 8674c822a..2ff1fb088 100644 --- a/res-hdpi/images/loop00079.png +++ b/res-hdpi/images/loop00079.png diff --git a/res-hdpi/images/loop00080.png b/res-hdpi/images/loop00080.png Binary files differindex 3d84259bb..26de5af76 100644 --- a/res-hdpi/images/loop00080.png +++ b/res-hdpi/images/loop00080.png diff --git a/res-hdpi/images/loop00081.png b/res-hdpi/images/loop00081.png Binary files differindex aed44c53b..1ef6cdd98 100644 --- a/res-hdpi/images/loop00081.png +++ b/res-hdpi/images/loop00081.png diff --git a/res-hdpi/images/loop00082.png b/res-hdpi/images/loop00082.png Binary files differindex a39769bdb..334874ff1 100644 --- a/res-hdpi/images/loop00082.png +++ b/res-hdpi/images/loop00082.png diff --git a/res-hdpi/images/loop00083.png b/res-hdpi/images/loop00083.png Binary files differindex 905355d9e..3b0deb1cb 100644 --- a/res-hdpi/images/loop00083.png +++ b/res-hdpi/images/loop00083.png diff --git a/res-hdpi/images/loop00084.png b/res-hdpi/images/loop00084.png Binary files differindex c86deea16..4b8494c4c 100644 --- a/res-hdpi/images/loop00084.png +++ b/res-hdpi/images/loop00084.png diff --git a/res-hdpi/images/loop00085.png b/res-hdpi/images/loop00085.png Binary files differindex 3744ab708..2e5702753 100644 --- a/res-hdpi/images/loop00085.png +++ b/res-hdpi/images/loop00085.png diff --git a/res-hdpi/images/loop00086.png b/res-hdpi/images/loop00086.png Binary files differindex 0bb9b0963..ab6f437bc 100644 --- a/res-hdpi/images/loop00086.png +++ b/res-hdpi/images/loop00086.png diff --git a/res-hdpi/images/loop00087.png b/res-hdpi/images/loop00087.png Binary files differindex 83f97bdd0..d6c3dcdde 100644 --- a/res-hdpi/images/loop00087.png +++ b/res-hdpi/images/loop00087.png diff --git a/res-hdpi/images/loop00088.png b/res-hdpi/images/loop00088.png Binary files differindex 6fd37909a..88b386842 100644 --- a/res-hdpi/images/loop00088.png +++ b/res-hdpi/images/loop00088.png diff --git a/res-hdpi/images/loop00089.png b/res-hdpi/images/loop00089.png Binary files differindex 09500f87f..5b4551be9 100644 --- a/res-hdpi/images/loop00089.png +++ b/res-hdpi/images/loop00089.png diff --git a/res-hdpi/images/loop00090.png b/res-hdpi/images/loop00090.png Binary files differindex 030fa2b36..9e9d1e320 100644 --- a/res-hdpi/images/loop00090.png +++ b/res-hdpi/images/loop00090.png diff --git a/res-mdpi/images/loop00000.png b/res-mdpi/images/loop00000.png Binary files differindex d7092b68f..0e11c0100 100644 --- a/res-mdpi/images/loop00000.png +++ b/res-mdpi/images/loop00000.png diff --git a/res-mdpi/images/loop00001.png b/res-mdpi/images/loop00001.png Binary files differindex e04a5255a..9d87ecc7d 100644 --- a/res-mdpi/images/loop00001.png +++ b/res-mdpi/images/loop00001.png diff --git a/res-mdpi/images/loop00002.png b/res-mdpi/images/loop00002.png Binary files differindex e2a783102..4a4798645 100644 --- a/res-mdpi/images/loop00002.png +++ b/res-mdpi/images/loop00002.png diff --git a/res-mdpi/images/loop00003.png b/res-mdpi/images/loop00003.png Binary files differindex 28f79bf4b..5e01eabd2 100644 --- a/res-mdpi/images/loop00003.png +++ b/res-mdpi/images/loop00003.png diff --git a/res-mdpi/images/loop00004.png b/res-mdpi/images/loop00004.png Binary files differindex e4bec8084..cebf84a4b 100644 --- a/res-mdpi/images/loop00004.png +++ b/res-mdpi/images/loop00004.png diff --git a/res-mdpi/images/loop00005.png b/res-mdpi/images/loop00005.png Binary files differindex de673e03a..4d0e8b039 100644 --- a/res-mdpi/images/loop00005.png +++ b/res-mdpi/images/loop00005.png diff --git a/res-mdpi/images/loop00006.png b/res-mdpi/images/loop00006.png Binary files differindex 71d420311..00f9543cd 100644 --- a/res-mdpi/images/loop00006.png +++ b/res-mdpi/images/loop00006.png diff --git a/res-mdpi/images/loop00007.png b/res-mdpi/images/loop00007.png Binary files differindex dee70b3b4..95642214c 100644 --- a/res-mdpi/images/loop00007.png +++ b/res-mdpi/images/loop00007.png diff --git a/res-mdpi/images/loop00008.png b/res-mdpi/images/loop00008.png Binary files differindex 9eccc7fe4..8d41cc514 100644 --- a/res-mdpi/images/loop00008.png +++ b/res-mdpi/images/loop00008.png diff --git a/res-mdpi/images/loop00009.png b/res-mdpi/images/loop00009.png Binary files differindex d6672ac0f..2761756b8 100644 --- a/res-mdpi/images/loop00009.png +++ b/res-mdpi/images/loop00009.png diff --git a/res-mdpi/images/loop00010.png b/res-mdpi/images/loop00010.png Binary files differindex 1bb8f5c38..d8b4865de 100644 --- a/res-mdpi/images/loop00010.png +++ b/res-mdpi/images/loop00010.png diff --git a/res-mdpi/images/loop00011.png b/res-mdpi/images/loop00011.png Binary files differindex 849ce3dd0..84423537e 100644 --- a/res-mdpi/images/loop00011.png +++ b/res-mdpi/images/loop00011.png diff --git a/res-mdpi/images/loop00012.png b/res-mdpi/images/loop00012.png Binary files differindex cee9dcf04..cb986c532 100644 --- a/res-mdpi/images/loop00012.png +++ b/res-mdpi/images/loop00012.png diff --git a/res-mdpi/images/loop00013.png b/res-mdpi/images/loop00013.png Binary files differindex 1ef61d734..63b89b29e 100644 --- a/res-mdpi/images/loop00013.png +++ b/res-mdpi/images/loop00013.png diff --git a/res-mdpi/images/loop00014.png b/res-mdpi/images/loop00014.png Binary files differindex bc84637bd..9713813a4 100644 --- a/res-mdpi/images/loop00014.png +++ b/res-mdpi/images/loop00014.png diff --git a/res-mdpi/images/loop00015.png b/res-mdpi/images/loop00015.png Binary files differindex f5607f237..3f666d7c6 100644 --- a/res-mdpi/images/loop00015.png +++ b/res-mdpi/images/loop00015.png diff --git a/res-mdpi/images/loop00016.png b/res-mdpi/images/loop00016.png Binary files differindex 235527c33..3d76b046e 100644 --- a/res-mdpi/images/loop00016.png +++ b/res-mdpi/images/loop00016.png diff --git a/res-mdpi/images/loop00017.png b/res-mdpi/images/loop00017.png Binary files differindex 88307a6b6..1438d77b8 100644 --- a/res-mdpi/images/loop00017.png +++ b/res-mdpi/images/loop00017.png diff --git a/res-mdpi/images/loop00018.png b/res-mdpi/images/loop00018.png Binary files differindex 02472d753..c285fc6e9 100644 --- a/res-mdpi/images/loop00018.png +++ b/res-mdpi/images/loop00018.png diff --git a/res-mdpi/images/loop00019.png b/res-mdpi/images/loop00019.png Binary files differindex f06bdaae5..d6969ec44 100644 --- a/res-mdpi/images/loop00019.png +++ b/res-mdpi/images/loop00019.png diff --git a/res-mdpi/images/loop00020.png b/res-mdpi/images/loop00020.png Binary files differindex dc522c071..89aa0124e 100644 --- a/res-mdpi/images/loop00020.png +++ b/res-mdpi/images/loop00020.png diff --git a/res-mdpi/images/loop00021.png b/res-mdpi/images/loop00021.png Binary files differindex 3a53ee53d..b0bd51402 100644 --- a/res-mdpi/images/loop00021.png +++ b/res-mdpi/images/loop00021.png diff --git a/res-mdpi/images/loop00022.png b/res-mdpi/images/loop00022.png Binary files differindex 09b8eea14..684d023de 100644 --- a/res-mdpi/images/loop00022.png +++ b/res-mdpi/images/loop00022.png diff --git a/res-mdpi/images/loop00023.png b/res-mdpi/images/loop00023.png Binary files differindex ebc677d41..d008e9873 100644 --- a/res-mdpi/images/loop00023.png +++ b/res-mdpi/images/loop00023.png diff --git a/res-mdpi/images/loop00024.png b/res-mdpi/images/loop00024.png Binary files differindex a4fd8e508..8fe2185eb 100644 --- a/res-mdpi/images/loop00024.png +++ b/res-mdpi/images/loop00024.png diff --git a/res-mdpi/images/loop00025.png b/res-mdpi/images/loop00025.png Binary files differindex 9435624ee..c534bbd92 100644 --- a/res-mdpi/images/loop00025.png +++ b/res-mdpi/images/loop00025.png diff --git a/res-mdpi/images/loop00026.png b/res-mdpi/images/loop00026.png Binary files differindex b7e808154..61b11b555 100644 --- a/res-mdpi/images/loop00026.png +++ b/res-mdpi/images/loop00026.png diff --git a/res-mdpi/images/loop00027.png b/res-mdpi/images/loop00027.png Binary files differindex 757d8ed90..5c01dfc7b 100644 --- a/res-mdpi/images/loop00027.png +++ b/res-mdpi/images/loop00027.png diff --git a/res-mdpi/images/loop00028.png b/res-mdpi/images/loop00028.png Binary files differindex 8eefa3a57..c3e61c08e 100644 --- a/res-mdpi/images/loop00028.png +++ b/res-mdpi/images/loop00028.png diff --git a/res-mdpi/images/loop00029.png b/res-mdpi/images/loop00029.png Binary files differindex 8d890dee6..e0b23ffaa 100644 --- a/res-mdpi/images/loop00029.png +++ b/res-mdpi/images/loop00029.png diff --git a/res-mdpi/images/loop00030.png b/res-mdpi/images/loop00030.png Binary files differindex 8e0eeb6f8..6618ef7dc 100644 --- a/res-mdpi/images/loop00030.png +++ b/res-mdpi/images/loop00030.png diff --git a/res-mdpi/images/loop00031.png b/res-mdpi/images/loop00031.png Binary files differindex 178b29d6e..dfde81e69 100644 --- a/res-mdpi/images/loop00031.png +++ b/res-mdpi/images/loop00031.png diff --git a/res-mdpi/images/loop00032.png b/res-mdpi/images/loop00032.png Binary files differindex 39192c75a..dc6a01ea2 100644 --- a/res-mdpi/images/loop00032.png +++ b/res-mdpi/images/loop00032.png diff --git a/res-mdpi/images/loop00033.png b/res-mdpi/images/loop00033.png Binary files differindex 0647e5001..86d104bc9 100644 --- a/res-mdpi/images/loop00033.png +++ b/res-mdpi/images/loop00033.png diff --git a/res-mdpi/images/loop00034.png b/res-mdpi/images/loop00034.png Binary files differindex d6bc079a6..07a6d7cdd 100644 --- a/res-mdpi/images/loop00034.png +++ b/res-mdpi/images/loop00034.png diff --git a/res-mdpi/images/loop00035.png b/res-mdpi/images/loop00035.png Binary files differindex 68352e85c..3e5cb4ea9 100644 --- a/res-mdpi/images/loop00035.png +++ b/res-mdpi/images/loop00035.png diff --git a/res-mdpi/images/loop00036.png b/res-mdpi/images/loop00036.png Binary files differindex 92d9da27b..6ac7e35e6 100644 --- a/res-mdpi/images/loop00036.png +++ b/res-mdpi/images/loop00036.png diff --git a/res-mdpi/images/loop00037.png b/res-mdpi/images/loop00037.png Binary files differindex a0e4d337f..527c48d20 100644 --- a/res-mdpi/images/loop00037.png +++ b/res-mdpi/images/loop00037.png diff --git a/res-mdpi/images/loop00038.png b/res-mdpi/images/loop00038.png Binary files differindex c52317363..41c6a0356 100644 --- a/res-mdpi/images/loop00038.png +++ b/res-mdpi/images/loop00038.png diff --git a/res-mdpi/images/loop00039.png b/res-mdpi/images/loop00039.png Binary files differindex aae776583..d24d6429c 100644 --- a/res-mdpi/images/loop00039.png +++ b/res-mdpi/images/loop00039.png diff --git a/res-mdpi/images/loop00040.png b/res-mdpi/images/loop00040.png Binary files differindex af9e0188b..f3f077f8b 100644 --- a/res-mdpi/images/loop00040.png +++ b/res-mdpi/images/loop00040.png diff --git a/res-mdpi/images/loop00041.png b/res-mdpi/images/loop00041.png Binary files differindex 8e089c200..33e0715f2 100644 --- a/res-mdpi/images/loop00041.png +++ b/res-mdpi/images/loop00041.png diff --git a/res-mdpi/images/loop00042.png b/res-mdpi/images/loop00042.png Binary files differindex e3e3b8a49..b1ef14691 100644 --- a/res-mdpi/images/loop00042.png +++ b/res-mdpi/images/loop00042.png diff --git a/res-mdpi/images/loop00043.png b/res-mdpi/images/loop00043.png Binary files differindex cc8acbaeb..d835f3399 100644 --- a/res-mdpi/images/loop00043.png +++ b/res-mdpi/images/loop00043.png diff --git a/res-mdpi/images/loop00044.png b/res-mdpi/images/loop00044.png Binary files differindex 9a3a9b998..47ee00f0a 100644 --- a/res-mdpi/images/loop00044.png +++ b/res-mdpi/images/loop00044.png diff --git a/res-mdpi/images/loop00045.png b/res-mdpi/images/loop00045.png Binary files differindex ec5e3c4d1..2c9dd7127 100644 --- a/res-mdpi/images/loop00045.png +++ b/res-mdpi/images/loop00045.png diff --git a/res-mdpi/images/loop00046.png b/res-mdpi/images/loop00046.png Binary files differindex 925e2b788..7b0a557bb 100644 --- a/res-mdpi/images/loop00046.png +++ b/res-mdpi/images/loop00046.png diff --git a/res-mdpi/images/loop00047.png b/res-mdpi/images/loop00047.png Binary files differindex 62fff8864..60368fef6 100644 --- a/res-mdpi/images/loop00047.png +++ b/res-mdpi/images/loop00047.png diff --git a/res-mdpi/images/loop00048.png b/res-mdpi/images/loop00048.png Binary files differindex 46efe7032..8da21b50b 100644 --- a/res-mdpi/images/loop00048.png +++ b/res-mdpi/images/loop00048.png diff --git a/res-mdpi/images/loop00049.png b/res-mdpi/images/loop00049.png Binary files differindex 678dce473..8604a1748 100644 --- a/res-mdpi/images/loop00049.png +++ b/res-mdpi/images/loop00049.png diff --git a/res-mdpi/images/loop00050.png b/res-mdpi/images/loop00050.png Binary files differindex cbc6fdbf0..230ebd99c 100644 --- a/res-mdpi/images/loop00050.png +++ b/res-mdpi/images/loop00050.png diff --git a/res-mdpi/images/loop00051.png b/res-mdpi/images/loop00051.png Binary files differindex afa906677..3165ae893 100644 --- a/res-mdpi/images/loop00051.png +++ b/res-mdpi/images/loop00051.png diff --git a/res-mdpi/images/loop00052.png b/res-mdpi/images/loop00052.png Binary files differindex 4d2d98c53..bf4311234 100644 --- a/res-mdpi/images/loop00052.png +++ b/res-mdpi/images/loop00052.png diff --git a/res-mdpi/images/loop00053.png b/res-mdpi/images/loop00053.png Binary files differindex 48136a5da..7d801fa0a 100644 --- a/res-mdpi/images/loop00053.png +++ b/res-mdpi/images/loop00053.png diff --git a/res-mdpi/images/loop00054.png b/res-mdpi/images/loop00054.png Binary files differindex 09f706af6..f3ee2468d 100644 --- a/res-mdpi/images/loop00054.png +++ b/res-mdpi/images/loop00054.png diff --git a/res-mdpi/images/loop00055.png b/res-mdpi/images/loop00055.png Binary files differindex 7565a1c21..fb9fcfff5 100644 --- a/res-mdpi/images/loop00055.png +++ b/res-mdpi/images/loop00055.png diff --git a/res-mdpi/images/loop00056.png b/res-mdpi/images/loop00056.png Binary files differindex 2765831a9..f6b1ee7f3 100644 --- a/res-mdpi/images/loop00056.png +++ b/res-mdpi/images/loop00056.png diff --git a/res-mdpi/images/loop00057.png b/res-mdpi/images/loop00057.png Binary files differindex de440e0dd..af009d1ec 100644 --- a/res-mdpi/images/loop00057.png +++ b/res-mdpi/images/loop00057.png diff --git a/res-mdpi/images/loop00058.png b/res-mdpi/images/loop00058.png Binary files differindex 67d49c78f..1cd550adc 100644 --- a/res-mdpi/images/loop00058.png +++ b/res-mdpi/images/loop00058.png diff --git a/res-mdpi/images/loop00059.png b/res-mdpi/images/loop00059.png Binary files differindex a622f4587..cf8d18c7b 100644 --- a/res-mdpi/images/loop00059.png +++ b/res-mdpi/images/loop00059.png diff --git a/res-mdpi/images/loop00060.png b/res-mdpi/images/loop00060.png Binary files differindex 06d6eec8b..cfa53848d 100644 --- a/res-mdpi/images/loop00060.png +++ b/res-mdpi/images/loop00060.png diff --git a/res-mdpi/images/loop00061.png b/res-mdpi/images/loop00061.png Binary files differindex 7f11945a0..5fcbf4717 100644 --- a/res-mdpi/images/loop00061.png +++ b/res-mdpi/images/loop00061.png diff --git a/res-mdpi/images/loop00062.png b/res-mdpi/images/loop00062.png Binary files differindex 8197c94cf..d360d2437 100644 --- a/res-mdpi/images/loop00062.png +++ b/res-mdpi/images/loop00062.png diff --git a/res-mdpi/images/loop00063.png b/res-mdpi/images/loop00063.png Binary files differindex 4093c9b06..7f59a6673 100644 --- a/res-mdpi/images/loop00063.png +++ b/res-mdpi/images/loop00063.png diff --git a/res-mdpi/images/loop00064.png b/res-mdpi/images/loop00064.png Binary files differindex d09bd1ebd..e02809f50 100644 --- a/res-mdpi/images/loop00064.png +++ b/res-mdpi/images/loop00064.png diff --git a/res-mdpi/images/loop00065.png b/res-mdpi/images/loop00065.png Binary files differindex cbb6c1b80..597e7965f 100644 --- a/res-mdpi/images/loop00065.png +++ b/res-mdpi/images/loop00065.png diff --git a/res-mdpi/images/loop00066.png b/res-mdpi/images/loop00066.png Binary files differindex aed0a700a..3f308f007 100644 --- a/res-mdpi/images/loop00066.png +++ b/res-mdpi/images/loop00066.png diff --git a/res-mdpi/images/loop00067.png b/res-mdpi/images/loop00067.png Binary files differindex dd0da799f..643598277 100644 --- a/res-mdpi/images/loop00067.png +++ b/res-mdpi/images/loop00067.png diff --git a/res-mdpi/images/loop00068.png b/res-mdpi/images/loop00068.png Binary files differindex 161802c8e..580790b16 100644 --- a/res-mdpi/images/loop00068.png +++ b/res-mdpi/images/loop00068.png diff --git a/res-mdpi/images/loop00069.png b/res-mdpi/images/loop00069.png Binary files differindex 4ee0372a5..ae2f4e816 100644 --- a/res-mdpi/images/loop00069.png +++ b/res-mdpi/images/loop00069.png diff --git a/res-mdpi/images/loop00070.png b/res-mdpi/images/loop00070.png Binary files differindex 41a64fff6..82403915a 100644 --- a/res-mdpi/images/loop00070.png +++ b/res-mdpi/images/loop00070.png diff --git a/res-mdpi/images/loop00071.png b/res-mdpi/images/loop00071.png Binary files differindex c4793d79c..03f157ce8 100644 --- a/res-mdpi/images/loop00071.png +++ b/res-mdpi/images/loop00071.png diff --git a/res-mdpi/images/loop00072.png b/res-mdpi/images/loop00072.png Binary files differindex 9399d193c..b62dfd0d8 100644 --- a/res-mdpi/images/loop00072.png +++ b/res-mdpi/images/loop00072.png diff --git a/res-mdpi/images/loop00073.png b/res-mdpi/images/loop00073.png Binary files differindex d4e55adc9..ba746f2cb 100644 --- a/res-mdpi/images/loop00073.png +++ b/res-mdpi/images/loop00073.png diff --git a/res-mdpi/images/loop00074.png b/res-mdpi/images/loop00074.png Binary files differindex f29a0af5f..bafd21374 100644 --- a/res-mdpi/images/loop00074.png +++ b/res-mdpi/images/loop00074.png diff --git a/res-mdpi/images/loop00075.png b/res-mdpi/images/loop00075.png Binary files differindex 020568e4a..fe1f3a4df 100644 --- a/res-mdpi/images/loop00075.png +++ b/res-mdpi/images/loop00075.png diff --git a/res-mdpi/images/loop00076.png b/res-mdpi/images/loop00076.png Binary files differindex 51a54cc98..49960e5ee 100644 --- a/res-mdpi/images/loop00076.png +++ b/res-mdpi/images/loop00076.png diff --git a/res-mdpi/images/loop00077.png b/res-mdpi/images/loop00077.png Binary files differindex f6e80a918..a112cb8d2 100644 --- a/res-mdpi/images/loop00077.png +++ b/res-mdpi/images/loop00077.png diff --git a/res-mdpi/images/loop00078.png b/res-mdpi/images/loop00078.png Binary files differindex 944452120..5d69ab843 100644 --- a/res-mdpi/images/loop00078.png +++ b/res-mdpi/images/loop00078.png diff --git a/res-mdpi/images/loop00079.png b/res-mdpi/images/loop00079.png Binary files differindex b1ef2c308..31f3b5589 100644 --- a/res-mdpi/images/loop00079.png +++ b/res-mdpi/images/loop00079.png diff --git a/res-mdpi/images/loop00080.png b/res-mdpi/images/loop00080.png Binary files differindex 8a911fba8..42730befa 100644 --- a/res-mdpi/images/loop00080.png +++ b/res-mdpi/images/loop00080.png diff --git a/res-mdpi/images/loop00081.png b/res-mdpi/images/loop00081.png Binary files differindex f848df4c8..5ea003ef7 100644 --- a/res-mdpi/images/loop00081.png +++ b/res-mdpi/images/loop00081.png diff --git a/res-mdpi/images/loop00082.png b/res-mdpi/images/loop00082.png Binary files differindex 35b1325aa..ead63597d 100644 --- a/res-mdpi/images/loop00082.png +++ b/res-mdpi/images/loop00082.png diff --git a/res-mdpi/images/loop00083.png b/res-mdpi/images/loop00083.png Binary files differindex 1571fb5a4..1d10991a1 100644 --- a/res-mdpi/images/loop00083.png +++ b/res-mdpi/images/loop00083.png diff --git a/res-mdpi/images/loop00084.png b/res-mdpi/images/loop00084.png Binary files differindex 92b529509..5aafdec1d 100644 --- a/res-mdpi/images/loop00084.png +++ b/res-mdpi/images/loop00084.png diff --git a/res-mdpi/images/loop00085.png b/res-mdpi/images/loop00085.png Binary files differindex cde8880c7..6813c3375 100644 --- a/res-mdpi/images/loop00085.png +++ b/res-mdpi/images/loop00085.png diff --git a/res-mdpi/images/loop00086.png b/res-mdpi/images/loop00086.png Binary files differindex 45889e551..5d63072c6 100644 --- a/res-mdpi/images/loop00086.png +++ b/res-mdpi/images/loop00086.png diff --git a/res-mdpi/images/loop00087.png b/res-mdpi/images/loop00087.png Binary files differindex 9cad9aa39..9c65826dd 100644 --- a/res-mdpi/images/loop00087.png +++ b/res-mdpi/images/loop00087.png diff --git a/res-mdpi/images/loop00088.png b/res-mdpi/images/loop00088.png Binary files differindex dcf98c8b6..6cb1bf0cf 100644 --- a/res-mdpi/images/loop00088.png +++ b/res-mdpi/images/loop00088.png diff --git a/res-mdpi/images/loop00089.png b/res-mdpi/images/loop00089.png Binary files differindex 584cb8994..b3d742dbf 100644 --- a/res-mdpi/images/loop00089.png +++ b/res-mdpi/images/loop00089.png diff --git a/res-mdpi/images/loop00090.png b/res-mdpi/images/loop00090.png Binary files differindex d7092b68f..0e11c0100 100644 --- a/res-mdpi/images/loop00090.png +++ b/res-mdpi/images/loop00090.png diff --git a/res-xhdpi/images/loop00000.png b/res-xhdpi/images/loop00000.png Binary files differindex f5bf7a73b..b438e9e67 100644 --- a/res-xhdpi/images/loop00000.png +++ b/res-xhdpi/images/loop00000.png diff --git a/res-xhdpi/images/loop00001.png b/res-xhdpi/images/loop00001.png Binary files differindex 95c14ebf3..343a18572 100644 --- a/res-xhdpi/images/loop00001.png +++ b/res-xhdpi/images/loop00001.png diff --git a/res-xhdpi/images/loop00002.png b/res-xhdpi/images/loop00002.png Binary files differindex 5910fd106..aa5bc616f 100644 --- a/res-xhdpi/images/loop00002.png +++ b/res-xhdpi/images/loop00002.png diff --git a/res-xhdpi/images/loop00003.png b/res-xhdpi/images/loop00003.png Binary files differindex e6861d2a2..5385340ca 100644 --- a/res-xhdpi/images/loop00003.png +++ b/res-xhdpi/images/loop00003.png diff --git a/res-xhdpi/images/loop00004.png b/res-xhdpi/images/loop00004.png Binary files differindex 453cdc615..cdead7d74 100644 --- a/res-xhdpi/images/loop00004.png +++ b/res-xhdpi/images/loop00004.png diff --git a/res-xhdpi/images/loop00005.png b/res-xhdpi/images/loop00005.png Binary files differindex 12157c961..8eb502fdf 100644 --- a/res-xhdpi/images/loop00005.png +++ b/res-xhdpi/images/loop00005.png diff --git a/res-xhdpi/images/loop00006.png b/res-xhdpi/images/loop00006.png Binary files differindex 5e7838535..60b0f4a61 100644 --- a/res-xhdpi/images/loop00006.png +++ b/res-xhdpi/images/loop00006.png diff --git a/res-xhdpi/images/loop00007.png b/res-xhdpi/images/loop00007.png Binary files differindex c69abf4f2..a76c588a1 100644 --- a/res-xhdpi/images/loop00007.png +++ b/res-xhdpi/images/loop00007.png diff --git a/res-xhdpi/images/loop00008.png b/res-xhdpi/images/loop00008.png Binary files differindex 78c3b993c..80e160322 100644 --- a/res-xhdpi/images/loop00008.png +++ b/res-xhdpi/images/loop00008.png diff --git a/res-xhdpi/images/loop00009.png b/res-xhdpi/images/loop00009.png Binary files differindex e510b6b80..b8f4954c1 100644 --- a/res-xhdpi/images/loop00009.png +++ b/res-xhdpi/images/loop00009.png diff --git a/res-xhdpi/images/loop00010.png b/res-xhdpi/images/loop00010.png Binary files differindex 9d775faa4..b58d6ac57 100644 --- a/res-xhdpi/images/loop00010.png +++ b/res-xhdpi/images/loop00010.png diff --git a/res-xhdpi/images/loop00011.png b/res-xhdpi/images/loop00011.png Binary files differindex 36c01957e..0b67f3736 100644 --- a/res-xhdpi/images/loop00011.png +++ b/res-xhdpi/images/loop00011.png diff --git a/res-xhdpi/images/loop00012.png b/res-xhdpi/images/loop00012.png Binary files differindex ac65096d9..234d77a84 100644 --- a/res-xhdpi/images/loop00012.png +++ b/res-xhdpi/images/loop00012.png diff --git a/res-xhdpi/images/loop00013.png b/res-xhdpi/images/loop00013.png Binary files differindex e3fdaafa7..13c65243e 100644 --- a/res-xhdpi/images/loop00013.png +++ b/res-xhdpi/images/loop00013.png diff --git a/res-xhdpi/images/loop00014.png b/res-xhdpi/images/loop00014.png Binary files differindex 6e85108df..92e30e3d8 100644 --- a/res-xhdpi/images/loop00014.png +++ b/res-xhdpi/images/loop00014.png diff --git a/res-xhdpi/images/loop00015.png b/res-xhdpi/images/loop00015.png Binary files differindex 9e6032951..9c6076dc9 100644 --- a/res-xhdpi/images/loop00015.png +++ b/res-xhdpi/images/loop00015.png diff --git a/res-xhdpi/images/loop00016.png b/res-xhdpi/images/loop00016.png Binary files differindex 68417aa54..6f626c07b 100644 --- a/res-xhdpi/images/loop00016.png +++ b/res-xhdpi/images/loop00016.png diff --git a/res-xhdpi/images/loop00017.png b/res-xhdpi/images/loop00017.png Binary files differindex 4ac5dded3..ff67d5bd6 100644 --- a/res-xhdpi/images/loop00017.png +++ b/res-xhdpi/images/loop00017.png diff --git a/res-xhdpi/images/loop00018.png b/res-xhdpi/images/loop00018.png Binary files differindex d6511287e..67b5d8fe4 100644 --- a/res-xhdpi/images/loop00018.png +++ b/res-xhdpi/images/loop00018.png diff --git a/res-xhdpi/images/loop00019.png b/res-xhdpi/images/loop00019.png Binary files differindex 374273574..06ca98012 100644 --- a/res-xhdpi/images/loop00019.png +++ b/res-xhdpi/images/loop00019.png diff --git a/res-xhdpi/images/loop00020.png b/res-xhdpi/images/loop00020.png Binary files differindex 04489a10f..c2288b424 100644 --- a/res-xhdpi/images/loop00020.png +++ b/res-xhdpi/images/loop00020.png diff --git a/res-xhdpi/images/loop00021.png b/res-xhdpi/images/loop00021.png Binary files differindex 59c70166c..ba5df4618 100644 --- a/res-xhdpi/images/loop00021.png +++ b/res-xhdpi/images/loop00021.png diff --git a/res-xhdpi/images/loop00022.png b/res-xhdpi/images/loop00022.png Binary files differindex 0b9a59f38..2b1e947ad 100644 --- a/res-xhdpi/images/loop00022.png +++ b/res-xhdpi/images/loop00022.png diff --git a/res-xhdpi/images/loop00023.png b/res-xhdpi/images/loop00023.png Binary files differindex 31abae79f..292e07472 100644 --- a/res-xhdpi/images/loop00023.png +++ b/res-xhdpi/images/loop00023.png diff --git a/res-xhdpi/images/loop00024.png b/res-xhdpi/images/loop00024.png Binary files differindex 98d8ee39c..11352f6f7 100644 --- a/res-xhdpi/images/loop00024.png +++ b/res-xhdpi/images/loop00024.png diff --git a/res-xhdpi/images/loop00025.png b/res-xhdpi/images/loop00025.png Binary files differindex 9f074d266..4212c76a7 100644 --- a/res-xhdpi/images/loop00025.png +++ b/res-xhdpi/images/loop00025.png diff --git a/res-xhdpi/images/loop00026.png b/res-xhdpi/images/loop00026.png Binary files differindex 063fca2de..774d00f76 100644 --- a/res-xhdpi/images/loop00026.png +++ b/res-xhdpi/images/loop00026.png diff --git a/res-xhdpi/images/loop00027.png b/res-xhdpi/images/loop00027.png Binary files differindex 67e503a70..1827471b2 100644 --- a/res-xhdpi/images/loop00027.png +++ b/res-xhdpi/images/loop00027.png diff --git a/res-xhdpi/images/loop00028.png b/res-xhdpi/images/loop00028.png Binary files differindex 7e76be845..f4e79f91d 100644 --- a/res-xhdpi/images/loop00028.png +++ b/res-xhdpi/images/loop00028.png diff --git a/res-xhdpi/images/loop00029.png b/res-xhdpi/images/loop00029.png Binary files differindex 4902f6b5e..863850011 100644 --- a/res-xhdpi/images/loop00029.png +++ b/res-xhdpi/images/loop00029.png diff --git a/res-xhdpi/images/loop00030.png b/res-xhdpi/images/loop00030.png Binary files differindex 387b893b0..94fd37619 100644 --- a/res-xhdpi/images/loop00030.png +++ b/res-xhdpi/images/loop00030.png diff --git a/res-xhdpi/images/loop00031.png b/res-xhdpi/images/loop00031.png Binary files differindex ad116280f..441a52d9e 100644 --- a/res-xhdpi/images/loop00031.png +++ b/res-xhdpi/images/loop00031.png diff --git a/res-xhdpi/images/loop00032.png b/res-xhdpi/images/loop00032.png Binary files differindex 7d809e6b2..a10598ff6 100644 --- a/res-xhdpi/images/loop00032.png +++ b/res-xhdpi/images/loop00032.png diff --git a/res-xhdpi/images/loop00033.png b/res-xhdpi/images/loop00033.png Binary files differindex 59fcdc108..96bf45389 100644 --- a/res-xhdpi/images/loop00033.png +++ b/res-xhdpi/images/loop00033.png diff --git a/res-xhdpi/images/loop00034.png b/res-xhdpi/images/loop00034.png Binary files differindex cb4301c31..59baf8c64 100644 --- a/res-xhdpi/images/loop00034.png +++ b/res-xhdpi/images/loop00034.png diff --git a/res-xhdpi/images/loop00035.png b/res-xhdpi/images/loop00035.png Binary files differindex 6b1687807..400a8959b 100644 --- a/res-xhdpi/images/loop00035.png +++ b/res-xhdpi/images/loop00035.png diff --git a/res-xhdpi/images/loop00036.png b/res-xhdpi/images/loop00036.png Binary files differindex 3aa78502f..fda7acc21 100644 --- a/res-xhdpi/images/loop00036.png +++ b/res-xhdpi/images/loop00036.png diff --git a/res-xhdpi/images/loop00037.png b/res-xhdpi/images/loop00037.png Binary files differindex a60e8512c..d474e6f76 100644 --- a/res-xhdpi/images/loop00037.png +++ b/res-xhdpi/images/loop00037.png diff --git a/res-xhdpi/images/loop00038.png b/res-xhdpi/images/loop00038.png Binary files differindex 50107f3aa..c5632e191 100644 --- a/res-xhdpi/images/loop00038.png +++ b/res-xhdpi/images/loop00038.png diff --git a/res-xhdpi/images/loop00039.png b/res-xhdpi/images/loop00039.png Binary files differindex c85201e25..3cf8b867b 100644 --- a/res-xhdpi/images/loop00039.png +++ b/res-xhdpi/images/loop00039.png diff --git a/res-xhdpi/images/loop00040.png b/res-xhdpi/images/loop00040.png Binary files differindex 6ae161218..ef55a9281 100644 --- a/res-xhdpi/images/loop00040.png +++ b/res-xhdpi/images/loop00040.png diff --git a/res-xhdpi/images/loop00041.png b/res-xhdpi/images/loop00041.png Binary files differindex 7602b04a7..60bf78084 100644 --- a/res-xhdpi/images/loop00041.png +++ b/res-xhdpi/images/loop00041.png diff --git a/res-xhdpi/images/loop00042.png b/res-xhdpi/images/loop00042.png Binary files differindex 054da6d75..cee69800b 100644 --- a/res-xhdpi/images/loop00042.png +++ b/res-xhdpi/images/loop00042.png diff --git a/res-xhdpi/images/loop00043.png b/res-xhdpi/images/loop00043.png Binary files differindex d28be8b8e..fe5abc15a 100644 --- a/res-xhdpi/images/loop00043.png +++ b/res-xhdpi/images/loop00043.png diff --git a/res-xhdpi/images/loop00044.png b/res-xhdpi/images/loop00044.png Binary files differindex 83271268f..f33fcee56 100644 --- a/res-xhdpi/images/loop00044.png +++ b/res-xhdpi/images/loop00044.png diff --git a/res-xhdpi/images/loop00045.png b/res-xhdpi/images/loop00045.png Binary files differindex d749e22d7..e61b2a04e 100644 --- a/res-xhdpi/images/loop00045.png +++ b/res-xhdpi/images/loop00045.png diff --git a/res-xhdpi/images/loop00046.png b/res-xhdpi/images/loop00046.png Binary files differindex 60025d1be..4d919c036 100644 --- a/res-xhdpi/images/loop00046.png +++ b/res-xhdpi/images/loop00046.png diff --git a/res-xhdpi/images/loop00047.png b/res-xhdpi/images/loop00047.png Binary files differindex b0be5c69c..deaf9a377 100644 --- a/res-xhdpi/images/loop00047.png +++ b/res-xhdpi/images/loop00047.png diff --git a/res-xhdpi/images/loop00048.png b/res-xhdpi/images/loop00048.png Binary files differindex be926d9f2..82d8b2b88 100644 --- a/res-xhdpi/images/loop00048.png +++ b/res-xhdpi/images/loop00048.png diff --git a/res-xhdpi/images/loop00049.png b/res-xhdpi/images/loop00049.png Binary files differindex 456085442..a310cc9e6 100644 --- a/res-xhdpi/images/loop00049.png +++ b/res-xhdpi/images/loop00049.png diff --git a/res-xhdpi/images/loop00050.png b/res-xhdpi/images/loop00050.png Binary files differindex 967dd87ff..ad802300e 100644 --- a/res-xhdpi/images/loop00050.png +++ b/res-xhdpi/images/loop00050.png diff --git a/res-xhdpi/images/loop00051.png b/res-xhdpi/images/loop00051.png Binary files differindex c1698597a..52f1ce673 100644 --- a/res-xhdpi/images/loop00051.png +++ b/res-xhdpi/images/loop00051.png diff --git a/res-xhdpi/images/loop00052.png b/res-xhdpi/images/loop00052.png Binary files differindex 27c23830a..c579e8757 100644 --- a/res-xhdpi/images/loop00052.png +++ b/res-xhdpi/images/loop00052.png diff --git a/res-xhdpi/images/loop00053.png b/res-xhdpi/images/loop00053.png Binary files differindex cd2ca21c8..2c1bc91b5 100644 --- a/res-xhdpi/images/loop00053.png +++ b/res-xhdpi/images/loop00053.png diff --git a/res-xhdpi/images/loop00054.png b/res-xhdpi/images/loop00054.png Binary files differindex 588586b3a..888547519 100644 --- a/res-xhdpi/images/loop00054.png +++ b/res-xhdpi/images/loop00054.png diff --git a/res-xhdpi/images/loop00055.png b/res-xhdpi/images/loop00055.png Binary files differindex 0984d01fe..00d67dacf 100644 --- a/res-xhdpi/images/loop00055.png +++ b/res-xhdpi/images/loop00055.png diff --git a/res-xhdpi/images/loop00056.png b/res-xhdpi/images/loop00056.png Binary files differindex bab299846..00ad26a5e 100644 --- a/res-xhdpi/images/loop00056.png +++ b/res-xhdpi/images/loop00056.png diff --git a/res-xhdpi/images/loop00057.png b/res-xhdpi/images/loop00057.png Binary files differindex 4acfce540..351179569 100644 --- a/res-xhdpi/images/loop00057.png +++ b/res-xhdpi/images/loop00057.png diff --git a/res-xhdpi/images/loop00058.png b/res-xhdpi/images/loop00058.png Binary files differindex d49fea46f..9d28f7d1c 100644 --- a/res-xhdpi/images/loop00058.png +++ b/res-xhdpi/images/loop00058.png diff --git a/res-xhdpi/images/loop00059.png b/res-xhdpi/images/loop00059.png Binary files differindex fdd75c6b9..776f40e42 100644 --- a/res-xhdpi/images/loop00059.png +++ b/res-xhdpi/images/loop00059.png diff --git a/res-xhdpi/images/loop00060.png b/res-xhdpi/images/loop00060.png Binary files differindex 06ac591ef..7f728fc03 100644 --- a/res-xhdpi/images/loop00060.png +++ b/res-xhdpi/images/loop00060.png diff --git a/res-xhdpi/images/loop00061.png b/res-xhdpi/images/loop00061.png Binary files differindex 63be53676..deba02149 100644 --- a/res-xhdpi/images/loop00061.png +++ b/res-xhdpi/images/loop00061.png diff --git a/res-xhdpi/images/loop00062.png b/res-xhdpi/images/loop00062.png Binary files differindex e25c906cb..e6b618497 100644 --- a/res-xhdpi/images/loop00062.png +++ b/res-xhdpi/images/loop00062.png diff --git a/res-xhdpi/images/loop00063.png b/res-xhdpi/images/loop00063.png Binary files differindex 1fcaefe25..0e590a573 100644 --- a/res-xhdpi/images/loop00063.png +++ b/res-xhdpi/images/loop00063.png diff --git a/res-xhdpi/images/loop00064.png b/res-xhdpi/images/loop00064.png Binary files differindex fe373d042..c7b8102ba 100644 --- a/res-xhdpi/images/loop00064.png +++ b/res-xhdpi/images/loop00064.png diff --git a/res-xhdpi/images/loop00065.png b/res-xhdpi/images/loop00065.png Binary files differindex c5feed6ed..2ccad2577 100644 --- a/res-xhdpi/images/loop00065.png +++ b/res-xhdpi/images/loop00065.png diff --git a/res-xhdpi/images/loop00066.png b/res-xhdpi/images/loop00066.png Binary files differindex bc336e755..c5573b992 100644 --- a/res-xhdpi/images/loop00066.png +++ b/res-xhdpi/images/loop00066.png diff --git a/res-xhdpi/images/loop00067.png b/res-xhdpi/images/loop00067.png Binary files differindex a4cdcaea4..005e9a6f6 100644 --- a/res-xhdpi/images/loop00067.png +++ b/res-xhdpi/images/loop00067.png diff --git a/res-xhdpi/images/loop00068.png b/res-xhdpi/images/loop00068.png Binary files differindex 65d41a280..b8d6a6a07 100644 --- a/res-xhdpi/images/loop00068.png +++ b/res-xhdpi/images/loop00068.png diff --git a/res-xhdpi/images/loop00069.png b/res-xhdpi/images/loop00069.png Binary files differindex 5707b62c7..7e3ba3063 100644 --- a/res-xhdpi/images/loop00069.png +++ b/res-xhdpi/images/loop00069.png diff --git a/res-xhdpi/images/loop00070.png b/res-xhdpi/images/loop00070.png Binary files differindex 50ea15925..b9810b301 100644 --- a/res-xhdpi/images/loop00070.png +++ b/res-xhdpi/images/loop00070.png diff --git a/res-xhdpi/images/loop00071.png b/res-xhdpi/images/loop00071.png Binary files differindex 244a91060..726030ca1 100644 --- a/res-xhdpi/images/loop00071.png +++ b/res-xhdpi/images/loop00071.png diff --git a/res-xhdpi/images/loop00072.png b/res-xhdpi/images/loop00072.png Binary files differindex e5ee2abe7..30c1e87e1 100644 --- a/res-xhdpi/images/loop00072.png +++ b/res-xhdpi/images/loop00072.png diff --git a/res-xhdpi/images/loop00073.png b/res-xhdpi/images/loop00073.png Binary files differindex fced739ae..207a5acfc 100644 --- a/res-xhdpi/images/loop00073.png +++ b/res-xhdpi/images/loop00073.png diff --git a/res-xhdpi/images/loop00074.png b/res-xhdpi/images/loop00074.png Binary files differindex 1b739d346..4482b0c5d 100644 --- a/res-xhdpi/images/loop00074.png +++ b/res-xhdpi/images/loop00074.png diff --git a/res-xhdpi/images/loop00075.png b/res-xhdpi/images/loop00075.png Binary files differindex 989144f69..72afd0876 100644 --- a/res-xhdpi/images/loop00075.png +++ b/res-xhdpi/images/loop00075.png diff --git a/res-xhdpi/images/loop00076.png b/res-xhdpi/images/loop00076.png Binary files differindex 458c2a9a2..4b66068f5 100644 --- a/res-xhdpi/images/loop00076.png +++ b/res-xhdpi/images/loop00076.png diff --git a/res-xhdpi/images/loop00077.png b/res-xhdpi/images/loop00077.png Binary files differindex 9cecb1d0d..a94989efc 100644 --- a/res-xhdpi/images/loop00077.png +++ b/res-xhdpi/images/loop00077.png diff --git a/res-xhdpi/images/loop00078.png b/res-xhdpi/images/loop00078.png Binary files differindex c2c8dee86..810e22308 100644 --- a/res-xhdpi/images/loop00078.png +++ b/res-xhdpi/images/loop00078.png diff --git a/res-xhdpi/images/loop00079.png b/res-xhdpi/images/loop00079.png Binary files differindex 4f4fdd142..8085b2595 100644 --- a/res-xhdpi/images/loop00079.png +++ b/res-xhdpi/images/loop00079.png diff --git a/res-xhdpi/images/loop00080.png b/res-xhdpi/images/loop00080.png Binary files differindex b224378de..4aefa4c94 100644 --- a/res-xhdpi/images/loop00080.png +++ b/res-xhdpi/images/loop00080.png diff --git a/res-xhdpi/images/loop00081.png b/res-xhdpi/images/loop00081.png Binary files differindex 57d958755..c4a79fbcd 100644 --- a/res-xhdpi/images/loop00081.png +++ b/res-xhdpi/images/loop00081.png diff --git a/res-xhdpi/images/loop00082.png b/res-xhdpi/images/loop00082.png Binary files differindex c00f82a04..0fc9caa21 100644 --- a/res-xhdpi/images/loop00082.png +++ b/res-xhdpi/images/loop00082.png diff --git a/res-xhdpi/images/loop00083.png b/res-xhdpi/images/loop00083.png Binary files differindex 078311f09..f5fb15db5 100644 --- a/res-xhdpi/images/loop00083.png +++ b/res-xhdpi/images/loop00083.png diff --git a/res-xhdpi/images/loop00084.png b/res-xhdpi/images/loop00084.png Binary files differindex cac170893..ada5a2533 100644 --- a/res-xhdpi/images/loop00084.png +++ b/res-xhdpi/images/loop00084.png diff --git a/res-xhdpi/images/loop00085.png b/res-xhdpi/images/loop00085.png Binary files differindex 2ea4b0afc..f05e8d620 100644 --- a/res-xhdpi/images/loop00085.png +++ b/res-xhdpi/images/loop00085.png diff --git a/res-xhdpi/images/loop00086.png b/res-xhdpi/images/loop00086.png Binary files differindex 9ba6ca615..28c5dfd88 100644 --- a/res-xhdpi/images/loop00086.png +++ b/res-xhdpi/images/loop00086.png diff --git a/res-xhdpi/images/loop00087.png b/res-xhdpi/images/loop00087.png Binary files differindex 75694a387..d969905ce 100644 --- a/res-xhdpi/images/loop00087.png +++ b/res-xhdpi/images/loop00087.png diff --git a/res-xhdpi/images/loop00088.png b/res-xhdpi/images/loop00088.png Binary files differindex 971e50848..653300297 100644 --- a/res-xhdpi/images/loop00088.png +++ b/res-xhdpi/images/loop00088.png diff --git a/res-xhdpi/images/loop00089.png b/res-xhdpi/images/loop00089.png Binary files differindex 41b6ce6b1..0d5cdea7a 100644 --- a/res-xhdpi/images/loop00089.png +++ b/res-xhdpi/images/loop00089.png diff --git a/res-xhdpi/images/loop00090.png b/res-xhdpi/images/loop00090.png Binary files differindex f5bf7a73b..b438e9e67 100644 --- a/res-xhdpi/images/loop00090.png +++ b/res-xhdpi/images/loop00090.png diff --git a/res-xxhdpi/images/loop00000.png b/res-xxhdpi/images/loop00000.png Binary files differindex c5172629d..003c2f875 100644 --- a/res-xxhdpi/images/loop00000.png +++ b/res-xxhdpi/images/loop00000.png diff --git a/res-xxhdpi/images/loop00001.png b/res-xxhdpi/images/loop00001.png Binary files differindex 1b1ce7397..05de3ddcf 100644 --- a/res-xxhdpi/images/loop00001.png +++ b/res-xxhdpi/images/loop00001.png diff --git a/res-xxhdpi/images/loop00002.png b/res-xxhdpi/images/loop00002.png Binary files differindex e984a24c9..3b025475a 100644 --- a/res-xxhdpi/images/loop00002.png +++ b/res-xxhdpi/images/loop00002.png diff --git a/res-xxhdpi/images/loop00003.png b/res-xxhdpi/images/loop00003.png Binary files differindex b11dddcb8..21f0dcc66 100644 --- a/res-xxhdpi/images/loop00003.png +++ b/res-xxhdpi/images/loop00003.png diff --git a/res-xxhdpi/images/loop00004.png b/res-xxhdpi/images/loop00004.png Binary files differindex 10272b271..6a8b75891 100644 --- a/res-xxhdpi/images/loop00004.png +++ b/res-xxhdpi/images/loop00004.png diff --git a/res-xxhdpi/images/loop00005.png b/res-xxhdpi/images/loop00005.png Binary files differindex 9558d7e68..a179aef45 100644 --- a/res-xxhdpi/images/loop00005.png +++ b/res-xxhdpi/images/loop00005.png diff --git a/res-xxhdpi/images/loop00006.png b/res-xxhdpi/images/loop00006.png Binary files differindex 0e6c92d69..ef9f5e849 100644 --- a/res-xxhdpi/images/loop00006.png +++ b/res-xxhdpi/images/loop00006.png diff --git a/res-xxhdpi/images/loop00007.png b/res-xxhdpi/images/loop00007.png Binary files differindex 0a353ad02..80a477d48 100644 --- a/res-xxhdpi/images/loop00007.png +++ b/res-xxhdpi/images/loop00007.png diff --git a/res-xxhdpi/images/loop00008.png b/res-xxhdpi/images/loop00008.png Binary files differindex 2f0c1620c..6c5cec08b 100644 --- a/res-xxhdpi/images/loop00008.png +++ b/res-xxhdpi/images/loop00008.png diff --git a/res-xxhdpi/images/loop00009.png b/res-xxhdpi/images/loop00009.png Binary files differindex 960d683fa..ac5dd30ee 100644 --- a/res-xxhdpi/images/loop00009.png +++ b/res-xxhdpi/images/loop00009.png diff --git a/res-xxhdpi/images/loop00010.png b/res-xxhdpi/images/loop00010.png Binary files differindex b65c3011a..18f10a17e 100644 --- a/res-xxhdpi/images/loop00010.png +++ b/res-xxhdpi/images/loop00010.png diff --git a/res-xxhdpi/images/loop00011.png b/res-xxhdpi/images/loop00011.png Binary files differindex 21444fa54..eac89e933 100644 --- a/res-xxhdpi/images/loop00011.png +++ b/res-xxhdpi/images/loop00011.png diff --git a/res-xxhdpi/images/loop00012.png b/res-xxhdpi/images/loop00012.png Binary files differindex 587db0990..390f3cfd4 100644 --- a/res-xxhdpi/images/loop00012.png +++ b/res-xxhdpi/images/loop00012.png diff --git a/res-xxhdpi/images/loop00013.png b/res-xxhdpi/images/loop00013.png Binary files differindex 57f2f66e2..18339e93f 100644 --- a/res-xxhdpi/images/loop00013.png +++ b/res-xxhdpi/images/loop00013.png diff --git a/res-xxhdpi/images/loop00014.png b/res-xxhdpi/images/loop00014.png Binary files differindex d308a6530..77b5be491 100644 --- a/res-xxhdpi/images/loop00014.png +++ b/res-xxhdpi/images/loop00014.png diff --git a/res-xxhdpi/images/loop00015.png b/res-xxhdpi/images/loop00015.png Binary files differindex 3585facad..7c16937af 100644 --- a/res-xxhdpi/images/loop00015.png +++ b/res-xxhdpi/images/loop00015.png diff --git a/res-xxhdpi/images/loop00016.png b/res-xxhdpi/images/loop00016.png Binary files differindex fd5089c44..50ea46e76 100644 --- a/res-xxhdpi/images/loop00016.png +++ b/res-xxhdpi/images/loop00016.png diff --git a/res-xxhdpi/images/loop00017.png b/res-xxhdpi/images/loop00017.png Binary files differindex 2c8c6a434..40bb9db17 100644 --- a/res-xxhdpi/images/loop00017.png +++ b/res-xxhdpi/images/loop00017.png diff --git a/res-xxhdpi/images/loop00018.png b/res-xxhdpi/images/loop00018.png Binary files differindex 23d7ca287..55b4d70f6 100644 --- a/res-xxhdpi/images/loop00018.png +++ b/res-xxhdpi/images/loop00018.png diff --git a/res-xxhdpi/images/loop00019.png b/res-xxhdpi/images/loop00019.png Binary files differindex cdefe2c55..a443090e9 100644 --- a/res-xxhdpi/images/loop00019.png +++ b/res-xxhdpi/images/loop00019.png diff --git a/res-xxhdpi/images/loop00020.png b/res-xxhdpi/images/loop00020.png Binary files differindex ae78e4cfe..96e77eec9 100644 --- a/res-xxhdpi/images/loop00020.png +++ b/res-xxhdpi/images/loop00020.png diff --git a/res-xxhdpi/images/loop00021.png b/res-xxhdpi/images/loop00021.png Binary files differindex ad83cfe04..35260af50 100644 --- a/res-xxhdpi/images/loop00021.png +++ b/res-xxhdpi/images/loop00021.png diff --git a/res-xxhdpi/images/loop00022.png b/res-xxhdpi/images/loop00022.png Binary files differindex 850076ac1..1861848d8 100644 --- a/res-xxhdpi/images/loop00022.png +++ b/res-xxhdpi/images/loop00022.png diff --git a/res-xxhdpi/images/loop00023.png b/res-xxhdpi/images/loop00023.png Binary files differindex cd30b3997..4b2e7da5f 100644 --- a/res-xxhdpi/images/loop00023.png +++ b/res-xxhdpi/images/loop00023.png diff --git a/res-xxhdpi/images/loop00024.png b/res-xxhdpi/images/loop00024.png Binary files differindex e7ae4b277..1ffc765f4 100644 --- a/res-xxhdpi/images/loop00024.png +++ b/res-xxhdpi/images/loop00024.png diff --git a/res-xxhdpi/images/loop00025.png b/res-xxhdpi/images/loop00025.png Binary files differindex 4e24bd118..9fb29d44b 100644 --- a/res-xxhdpi/images/loop00025.png +++ b/res-xxhdpi/images/loop00025.png diff --git a/res-xxhdpi/images/loop00026.png b/res-xxhdpi/images/loop00026.png Binary files differindex 27713cce9..143def39f 100644 --- a/res-xxhdpi/images/loop00026.png +++ b/res-xxhdpi/images/loop00026.png diff --git a/res-xxhdpi/images/loop00027.png b/res-xxhdpi/images/loop00027.png Binary files differindex 34e4ade2e..623d6bed2 100644 --- a/res-xxhdpi/images/loop00027.png +++ b/res-xxhdpi/images/loop00027.png diff --git a/res-xxhdpi/images/loop00028.png b/res-xxhdpi/images/loop00028.png Binary files differindex 0e6fdee75..b7b43d27f 100644 --- a/res-xxhdpi/images/loop00028.png +++ b/res-xxhdpi/images/loop00028.png diff --git a/res-xxhdpi/images/loop00029.png b/res-xxhdpi/images/loop00029.png Binary files differindex 21c1c635b..c9f183db1 100644 --- a/res-xxhdpi/images/loop00029.png +++ b/res-xxhdpi/images/loop00029.png diff --git a/res-xxhdpi/images/loop00030.png b/res-xxhdpi/images/loop00030.png Binary files differindex 984c24f9b..b85c7e35c 100644 --- a/res-xxhdpi/images/loop00030.png +++ b/res-xxhdpi/images/loop00030.png diff --git a/res-xxhdpi/images/loop00031.png b/res-xxhdpi/images/loop00031.png Binary files differindex 25fe1de26..4d938e25a 100644 --- a/res-xxhdpi/images/loop00031.png +++ b/res-xxhdpi/images/loop00031.png diff --git a/res-xxhdpi/images/loop00032.png b/res-xxhdpi/images/loop00032.png Binary files differindex c089cb8a4..0a1787602 100644 --- a/res-xxhdpi/images/loop00032.png +++ b/res-xxhdpi/images/loop00032.png diff --git a/res-xxhdpi/images/loop00033.png b/res-xxhdpi/images/loop00033.png Binary files differindex 82a2d9b54..c8919c312 100644 --- a/res-xxhdpi/images/loop00033.png +++ b/res-xxhdpi/images/loop00033.png diff --git a/res-xxhdpi/images/loop00034.png b/res-xxhdpi/images/loop00034.png Binary files differindex 1aa76b94c..1584d5dbb 100644 --- a/res-xxhdpi/images/loop00034.png +++ b/res-xxhdpi/images/loop00034.png diff --git a/res-xxhdpi/images/loop00035.png b/res-xxhdpi/images/loop00035.png Binary files differindex 4399143e4..2220cd3c8 100644 --- a/res-xxhdpi/images/loop00035.png +++ b/res-xxhdpi/images/loop00035.png diff --git a/res-xxhdpi/images/loop00036.png b/res-xxhdpi/images/loop00036.png Binary files differindex 975ae666e..97ae5485d 100644 --- a/res-xxhdpi/images/loop00036.png +++ b/res-xxhdpi/images/loop00036.png diff --git a/res-xxhdpi/images/loop00037.png b/res-xxhdpi/images/loop00037.png Binary files differindex dcf9a9050..84fca9758 100644 --- a/res-xxhdpi/images/loop00037.png +++ b/res-xxhdpi/images/loop00037.png diff --git a/res-xxhdpi/images/loop00038.png b/res-xxhdpi/images/loop00038.png Binary files differindex f10b8b723..bba2181d6 100644 --- a/res-xxhdpi/images/loop00038.png +++ b/res-xxhdpi/images/loop00038.png diff --git a/res-xxhdpi/images/loop00039.png b/res-xxhdpi/images/loop00039.png Binary files differindex 9c0d1e361..4659625fd 100644 --- a/res-xxhdpi/images/loop00039.png +++ b/res-xxhdpi/images/loop00039.png diff --git a/res-xxhdpi/images/loop00040.png b/res-xxhdpi/images/loop00040.png Binary files differindex b6b4908f6..6b3092ae5 100644 --- a/res-xxhdpi/images/loop00040.png +++ b/res-xxhdpi/images/loop00040.png diff --git a/res-xxhdpi/images/loop00041.png b/res-xxhdpi/images/loop00041.png Binary files differindex 12a1a1e9a..5b3cd1663 100644 --- a/res-xxhdpi/images/loop00041.png +++ b/res-xxhdpi/images/loop00041.png diff --git a/res-xxhdpi/images/loop00042.png b/res-xxhdpi/images/loop00042.png Binary files differindex f1fc35baf..dbb8a7f3a 100644 --- a/res-xxhdpi/images/loop00042.png +++ b/res-xxhdpi/images/loop00042.png diff --git a/res-xxhdpi/images/loop00043.png b/res-xxhdpi/images/loop00043.png Binary files differindex 50ac99e5e..582454237 100644 --- a/res-xxhdpi/images/loop00043.png +++ b/res-xxhdpi/images/loop00043.png diff --git a/res-xxhdpi/images/loop00044.png b/res-xxhdpi/images/loop00044.png Binary files differindex f115dcc9b..d814246ad 100644 --- a/res-xxhdpi/images/loop00044.png +++ b/res-xxhdpi/images/loop00044.png diff --git a/res-xxhdpi/images/loop00045.png b/res-xxhdpi/images/loop00045.png Binary files differindex adf7a671e..e6a8d3089 100644 --- a/res-xxhdpi/images/loop00045.png +++ b/res-xxhdpi/images/loop00045.png diff --git a/res-xxhdpi/images/loop00046.png b/res-xxhdpi/images/loop00046.png Binary files differindex 588eeb3fb..2f616bf01 100644 --- a/res-xxhdpi/images/loop00046.png +++ b/res-xxhdpi/images/loop00046.png diff --git a/res-xxhdpi/images/loop00047.png b/res-xxhdpi/images/loop00047.png Binary files differindex 9dea7701d..39b74d95f 100644 --- a/res-xxhdpi/images/loop00047.png +++ b/res-xxhdpi/images/loop00047.png diff --git a/res-xxhdpi/images/loop00048.png b/res-xxhdpi/images/loop00048.png Binary files differindex d5eaeb126..2a94b8c70 100644 --- a/res-xxhdpi/images/loop00048.png +++ b/res-xxhdpi/images/loop00048.png diff --git a/res-xxhdpi/images/loop00049.png b/res-xxhdpi/images/loop00049.png Binary files differindex fb837295b..6d86e2e14 100644 --- a/res-xxhdpi/images/loop00049.png +++ b/res-xxhdpi/images/loop00049.png diff --git a/res-xxhdpi/images/loop00050.png b/res-xxhdpi/images/loop00050.png Binary files differindex 72441db4f..c6cb34417 100644 --- a/res-xxhdpi/images/loop00050.png +++ b/res-xxhdpi/images/loop00050.png diff --git a/res-xxhdpi/images/loop00051.png b/res-xxhdpi/images/loop00051.png Binary files differindex bf7170a53..dc510fa03 100644 --- a/res-xxhdpi/images/loop00051.png +++ b/res-xxhdpi/images/loop00051.png diff --git a/res-xxhdpi/images/loop00052.png b/res-xxhdpi/images/loop00052.png Binary files differindex c512b56d4..9fdd3ad72 100644 --- a/res-xxhdpi/images/loop00052.png +++ b/res-xxhdpi/images/loop00052.png diff --git a/res-xxhdpi/images/loop00053.png b/res-xxhdpi/images/loop00053.png Binary files differindex 6ac3ca6f3..8fff9cc12 100644 --- a/res-xxhdpi/images/loop00053.png +++ b/res-xxhdpi/images/loop00053.png diff --git a/res-xxhdpi/images/loop00054.png b/res-xxhdpi/images/loop00054.png Binary files differindex ba194a6ad..1f9dfaf3e 100644 --- a/res-xxhdpi/images/loop00054.png +++ b/res-xxhdpi/images/loop00054.png diff --git a/res-xxhdpi/images/loop00055.png b/res-xxhdpi/images/loop00055.png Binary files differindex 9623f0d5c..b0f669070 100644 --- a/res-xxhdpi/images/loop00055.png +++ b/res-xxhdpi/images/loop00055.png diff --git a/res-xxhdpi/images/loop00056.png b/res-xxhdpi/images/loop00056.png Binary files differindex e785e690f..79144d962 100644 --- a/res-xxhdpi/images/loop00056.png +++ b/res-xxhdpi/images/loop00056.png diff --git a/res-xxhdpi/images/loop00057.png b/res-xxhdpi/images/loop00057.png Binary files differindex 9a5747ae3..a451181c9 100644 --- a/res-xxhdpi/images/loop00057.png +++ b/res-xxhdpi/images/loop00057.png diff --git a/res-xxhdpi/images/loop00058.png b/res-xxhdpi/images/loop00058.png Binary files differindex 9a097cf12..eb6af3af5 100644 --- a/res-xxhdpi/images/loop00058.png +++ b/res-xxhdpi/images/loop00058.png diff --git a/res-xxhdpi/images/loop00059.png b/res-xxhdpi/images/loop00059.png Binary files differindex fee2db1e1..d9a976dfd 100644 --- a/res-xxhdpi/images/loop00059.png +++ b/res-xxhdpi/images/loop00059.png diff --git a/res-xxhdpi/images/loop00060.png b/res-xxhdpi/images/loop00060.png Binary files differindex 0e00e709f..93ff5d9f0 100644 --- a/res-xxhdpi/images/loop00060.png +++ b/res-xxhdpi/images/loop00060.png diff --git a/res-xxhdpi/images/loop00061.png b/res-xxhdpi/images/loop00061.png Binary files differindex 0ecce17bd..13dcd2ab9 100644 --- a/res-xxhdpi/images/loop00061.png +++ b/res-xxhdpi/images/loop00061.png diff --git a/res-xxhdpi/images/loop00062.png b/res-xxhdpi/images/loop00062.png Binary files differindex 0a296d129..1ffc8f885 100644 --- a/res-xxhdpi/images/loop00062.png +++ b/res-xxhdpi/images/loop00062.png diff --git a/res-xxhdpi/images/loop00063.png b/res-xxhdpi/images/loop00063.png Binary files differindex 56c3b8b9b..6ec7dae5c 100644 --- a/res-xxhdpi/images/loop00063.png +++ b/res-xxhdpi/images/loop00063.png diff --git a/res-xxhdpi/images/loop00064.png b/res-xxhdpi/images/loop00064.png Binary files differindex e6d639a3d..3c5bcc36e 100644 --- a/res-xxhdpi/images/loop00064.png +++ b/res-xxhdpi/images/loop00064.png diff --git a/res-xxhdpi/images/loop00065.png b/res-xxhdpi/images/loop00065.png Binary files differindex 02e382b99..541fa8893 100644 --- a/res-xxhdpi/images/loop00065.png +++ b/res-xxhdpi/images/loop00065.png diff --git a/res-xxhdpi/images/loop00066.png b/res-xxhdpi/images/loop00066.png Binary files differindex fe89ed00a..e65ca8ff9 100644 --- a/res-xxhdpi/images/loop00066.png +++ b/res-xxhdpi/images/loop00066.png diff --git a/res-xxhdpi/images/loop00067.png b/res-xxhdpi/images/loop00067.png Binary files differindex a8f6ce50c..c93125b77 100644 --- a/res-xxhdpi/images/loop00067.png +++ b/res-xxhdpi/images/loop00067.png diff --git a/res-xxhdpi/images/loop00068.png b/res-xxhdpi/images/loop00068.png Binary files differindex f9b7fb1c9..f7ef8e93e 100644 --- a/res-xxhdpi/images/loop00068.png +++ b/res-xxhdpi/images/loop00068.png diff --git a/res-xxhdpi/images/loop00069.png b/res-xxhdpi/images/loop00069.png Binary files differindex d0dc50768..e3a16c507 100644 --- a/res-xxhdpi/images/loop00069.png +++ b/res-xxhdpi/images/loop00069.png diff --git a/res-xxhdpi/images/loop00070.png b/res-xxhdpi/images/loop00070.png Binary files differindex 63f9e4df1..24cfdb111 100644 --- a/res-xxhdpi/images/loop00070.png +++ b/res-xxhdpi/images/loop00070.png diff --git a/res-xxhdpi/images/loop00071.png b/res-xxhdpi/images/loop00071.png Binary files differindex 5ba39724f..efffad470 100644 --- a/res-xxhdpi/images/loop00071.png +++ b/res-xxhdpi/images/loop00071.png diff --git a/res-xxhdpi/images/loop00072.png b/res-xxhdpi/images/loop00072.png Binary files differindex de834e398..63d62f368 100644 --- a/res-xxhdpi/images/loop00072.png +++ b/res-xxhdpi/images/loop00072.png diff --git a/res-xxhdpi/images/loop00073.png b/res-xxhdpi/images/loop00073.png Binary files differindex 4be2aed88..de0f41041 100644 --- a/res-xxhdpi/images/loop00073.png +++ b/res-xxhdpi/images/loop00073.png diff --git a/res-xxhdpi/images/loop00074.png b/res-xxhdpi/images/loop00074.png Binary files differindex 235e9a228..45c9a74bc 100644 --- a/res-xxhdpi/images/loop00074.png +++ b/res-xxhdpi/images/loop00074.png diff --git a/res-xxhdpi/images/loop00075.png b/res-xxhdpi/images/loop00075.png Binary files differindex f6d806d5a..a26893783 100644 --- a/res-xxhdpi/images/loop00075.png +++ b/res-xxhdpi/images/loop00075.png diff --git a/res-xxhdpi/images/loop00076.png b/res-xxhdpi/images/loop00076.png Binary files differindex 1e916d723..9edd577e7 100644 --- a/res-xxhdpi/images/loop00076.png +++ b/res-xxhdpi/images/loop00076.png diff --git a/res-xxhdpi/images/loop00077.png b/res-xxhdpi/images/loop00077.png Binary files differindex 0dbac748e..23a7cc77c 100644 --- a/res-xxhdpi/images/loop00077.png +++ b/res-xxhdpi/images/loop00077.png diff --git a/res-xxhdpi/images/loop00078.png b/res-xxhdpi/images/loop00078.png Binary files differindex 504d34a44..67dbf2d06 100644 --- a/res-xxhdpi/images/loop00078.png +++ b/res-xxhdpi/images/loop00078.png diff --git a/res-xxhdpi/images/loop00079.png b/res-xxhdpi/images/loop00079.png Binary files differindex 51f4e8d7c..0ef021faf 100644 --- a/res-xxhdpi/images/loop00079.png +++ b/res-xxhdpi/images/loop00079.png diff --git a/res-xxhdpi/images/loop00080.png b/res-xxhdpi/images/loop00080.png Binary files differindex 6ef03b82e..0de307b7a 100644 --- a/res-xxhdpi/images/loop00080.png +++ b/res-xxhdpi/images/loop00080.png diff --git a/res-xxhdpi/images/loop00081.png b/res-xxhdpi/images/loop00081.png Binary files differindex e2ebc394d..cc31e9201 100644 --- a/res-xxhdpi/images/loop00081.png +++ b/res-xxhdpi/images/loop00081.png diff --git a/res-xxhdpi/images/loop00082.png b/res-xxhdpi/images/loop00082.png Binary files differindex 9de83a733..6809fa37b 100644 --- a/res-xxhdpi/images/loop00082.png +++ b/res-xxhdpi/images/loop00082.png diff --git a/res-xxhdpi/images/loop00083.png b/res-xxhdpi/images/loop00083.png Binary files differindex c5c0099de..c3e3a5827 100644 --- a/res-xxhdpi/images/loop00083.png +++ b/res-xxhdpi/images/loop00083.png diff --git a/res-xxhdpi/images/loop00084.png b/res-xxhdpi/images/loop00084.png Binary files differindex 84c794f31..fc0df350f 100644 --- a/res-xxhdpi/images/loop00084.png +++ b/res-xxhdpi/images/loop00084.png diff --git a/res-xxhdpi/images/loop00085.png b/res-xxhdpi/images/loop00085.png Binary files differindex 29a40c628..38baf7e71 100644 --- a/res-xxhdpi/images/loop00085.png +++ b/res-xxhdpi/images/loop00085.png diff --git a/res-xxhdpi/images/loop00086.png b/res-xxhdpi/images/loop00086.png Binary files differindex 89a471735..c6616ebe3 100644 --- a/res-xxhdpi/images/loop00086.png +++ b/res-xxhdpi/images/loop00086.png diff --git a/res-xxhdpi/images/loop00087.png b/res-xxhdpi/images/loop00087.png Binary files differindex ef8d4d5db..2e6b715cd 100644 --- a/res-xxhdpi/images/loop00087.png +++ b/res-xxhdpi/images/loop00087.png diff --git a/res-xxhdpi/images/loop00088.png b/res-xxhdpi/images/loop00088.png Binary files differindex 5fc6c6224..660d0df8f 100644 --- a/res-xxhdpi/images/loop00088.png +++ b/res-xxhdpi/images/loop00088.png diff --git a/res-xxhdpi/images/loop00089.png b/res-xxhdpi/images/loop00089.png Binary files differindex d6d99f42f..a6b82c588 100644 --- a/res-xxhdpi/images/loop00089.png +++ b/res-xxhdpi/images/loop00089.png diff --git a/res-xxhdpi/images/loop00090.png b/res-xxhdpi/images/loop00090.png Binary files differindex c5172629d..003c2f875 100644 --- a/res-xxhdpi/images/loop00090.png +++ b/res-xxhdpi/images/loop00090.png diff --git a/res-xxxhdpi/images/loop00000.png b/res-xxxhdpi/images/loop00000.png Binary files differindex 1bc9db5b1..d6640c540 100644 --- a/res-xxxhdpi/images/loop00000.png +++ b/res-xxxhdpi/images/loop00000.png diff --git a/res-xxxhdpi/images/loop00001.png b/res-xxxhdpi/images/loop00001.png Binary files differindex f835b8567..e1b82b938 100644 --- a/res-xxxhdpi/images/loop00001.png +++ b/res-xxxhdpi/images/loop00001.png diff --git a/res-xxxhdpi/images/loop00002.png b/res-xxxhdpi/images/loop00002.png Binary files differindex e3bff326c..9b8a381f4 100644 --- a/res-xxxhdpi/images/loop00002.png +++ b/res-xxxhdpi/images/loop00002.png diff --git a/res-xxxhdpi/images/loop00003.png b/res-xxxhdpi/images/loop00003.png Binary files differindex d864c15d7..b4d244c78 100644 --- a/res-xxxhdpi/images/loop00003.png +++ b/res-xxxhdpi/images/loop00003.png diff --git a/res-xxxhdpi/images/loop00004.png b/res-xxxhdpi/images/loop00004.png Binary files differindex 5d861c9b4..c9231596e 100644 --- a/res-xxxhdpi/images/loop00004.png +++ b/res-xxxhdpi/images/loop00004.png diff --git a/res-xxxhdpi/images/loop00005.png b/res-xxxhdpi/images/loop00005.png Binary files differindex e9e860c3c..ed739fae4 100644 --- a/res-xxxhdpi/images/loop00005.png +++ b/res-xxxhdpi/images/loop00005.png diff --git a/res-xxxhdpi/images/loop00006.png b/res-xxxhdpi/images/loop00006.png Binary files differindex d7c516e52..68116922b 100644 --- a/res-xxxhdpi/images/loop00006.png +++ b/res-xxxhdpi/images/loop00006.png diff --git a/res-xxxhdpi/images/loop00007.png b/res-xxxhdpi/images/loop00007.png Binary files differindex fa6d39716..bbeee0111 100644 --- a/res-xxxhdpi/images/loop00007.png +++ b/res-xxxhdpi/images/loop00007.png diff --git a/res-xxxhdpi/images/loop00008.png b/res-xxxhdpi/images/loop00008.png Binary files differindex 888d3a278..2c28032e7 100644 --- a/res-xxxhdpi/images/loop00008.png +++ b/res-xxxhdpi/images/loop00008.png diff --git a/res-xxxhdpi/images/loop00009.png b/res-xxxhdpi/images/loop00009.png Binary files differindex 9e6ead241..4ea659cfa 100644 --- a/res-xxxhdpi/images/loop00009.png +++ b/res-xxxhdpi/images/loop00009.png diff --git a/res-xxxhdpi/images/loop00010.png b/res-xxxhdpi/images/loop00010.png Binary files differindex 30e13e058..45928bc4c 100644 --- a/res-xxxhdpi/images/loop00010.png +++ b/res-xxxhdpi/images/loop00010.png diff --git a/res-xxxhdpi/images/loop00011.png b/res-xxxhdpi/images/loop00011.png Binary files differindex d8abc2bb5..8a8f2f7be 100644 --- a/res-xxxhdpi/images/loop00011.png +++ b/res-xxxhdpi/images/loop00011.png diff --git a/res-xxxhdpi/images/loop00012.png b/res-xxxhdpi/images/loop00012.png Binary files differindex 2d88cfb6a..1714d1be0 100644 --- a/res-xxxhdpi/images/loop00012.png +++ b/res-xxxhdpi/images/loop00012.png diff --git a/res-xxxhdpi/images/loop00013.png b/res-xxxhdpi/images/loop00013.png Binary files differindex 0250f7494..18ab24f2d 100644 --- a/res-xxxhdpi/images/loop00013.png +++ b/res-xxxhdpi/images/loop00013.png diff --git a/res-xxxhdpi/images/loop00014.png b/res-xxxhdpi/images/loop00014.png Binary files differindex c3d9239c9..5099bc502 100644 --- a/res-xxxhdpi/images/loop00014.png +++ b/res-xxxhdpi/images/loop00014.png diff --git a/res-xxxhdpi/images/loop00015.png b/res-xxxhdpi/images/loop00015.png Binary files differindex 644c9c6bd..b7e68683d 100644 --- a/res-xxxhdpi/images/loop00015.png +++ b/res-xxxhdpi/images/loop00015.png diff --git a/res-xxxhdpi/images/loop00016.png b/res-xxxhdpi/images/loop00016.png Binary files differindex eff6e5b4e..bc1337574 100644 --- a/res-xxxhdpi/images/loop00016.png +++ b/res-xxxhdpi/images/loop00016.png diff --git a/res-xxxhdpi/images/loop00017.png b/res-xxxhdpi/images/loop00017.png Binary files differindex b472a86be..8a9bd869d 100644 --- a/res-xxxhdpi/images/loop00017.png +++ b/res-xxxhdpi/images/loop00017.png diff --git a/res-xxxhdpi/images/loop00018.png b/res-xxxhdpi/images/loop00018.png Binary files differindex b17b6ce12..2150d630e 100644 --- a/res-xxxhdpi/images/loop00018.png +++ b/res-xxxhdpi/images/loop00018.png diff --git a/res-xxxhdpi/images/loop00019.png b/res-xxxhdpi/images/loop00019.png Binary files differindex d89b4da52..ec0cc589c 100644 --- a/res-xxxhdpi/images/loop00019.png +++ b/res-xxxhdpi/images/loop00019.png diff --git a/res-xxxhdpi/images/loop00020.png b/res-xxxhdpi/images/loop00020.png Binary files differindex 7e757b845..6596ea215 100644 --- a/res-xxxhdpi/images/loop00020.png +++ b/res-xxxhdpi/images/loop00020.png diff --git a/res-xxxhdpi/images/loop00021.png b/res-xxxhdpi/images/loop00021.png Binary files differindex 1a8ce3ec5..c874649cb 100644 --- a/res-xxxhdpi/images/loop00021.png +++ b/res-xxxhdpi/images/loop00021.png diff --git a/res-xxxhdpi/images/loop00022.png b/res-xxxhdpi/images/loop00022.png Binary files differindex e9ab39a5f..d5f834d45 100644 --- a/res-xxxhdpi/images/loop00022.png +++ b/res-xxxhdpi/images/loop00022.png diff --git a/res-xxxhdpi/images/loop00023.png b/res-xxxhdpi/images/loop00023.png Binary files differindex e1a7bf782..eb8af82fa 100644 --- a/res-xxxhdpi/images/loop00023.png +++ b/res-xxxhdpi/images/loop00023.png diff --git a/res-xxxhdpi/images/loop00024.png b/res-xxxhdpi/images/loop00024.png Binary files differindex f77f70cff..7da550688 100644 --- a/res-xxxhdpi/images/loop00024.png +++ b/res-xxxhdpi/images/loop00024.png diff --git a/res-xxxhdpi/images/loop00025.png b/res-xxxhdpi/images/loop00025.png Binary files differindex 8348cdfca..884414973 100644 --- a/res-xxxhdpi/images/loop00025.png +++ b/res-xxxhdpi/images/loop00025.png diff --git a/res-xxxhdpi/images/loop00026.png b/res-xxxhdpi/images/loop00026.png Binary files differindex 55fecc8bb..ee36358aa 100644 --- a/res-xxxhdpi/images/loop00026.png +++ b/res-xxxhdpi/images/loop00026.png diff --git a/res-xxxhdpi/images/loop00027.png b/res-xxxhdpi/images/loop00027.png Binary files differindex f4edf0641..0299dae07 100644 --- a/res-xxxhdpi/images/loop00027.png +++ b/res-xxxhdpi/images/loop00027.png diff --git a/res-xxxhdpi/images/loop00028.png b/res-xxxhdpi/images/loop00028.png Binary files differindex 6dbe90446..a8f5cef33 100644 --- a/res-xxxhdpi/images/loop00028.png +++ b/res-xxxhdpi/images/loop00028.png diff --git a/res-xxxhdpi/images/loop00029.png b/res-xxxhdpi/images/loop00029.png Binary files differindex 764f27a05..6b2ab3fcd 100644 --- a/res-xxxhdpi/images/loop00029.png +++ b/res-xxxhdpi/images/loop00029.png diff --git a/res-xxxhdpi/images/loop00030.png b/res-xxxhdpi/images/loop00030.png Binary files differindex 2d2156930..2d5b48de3 100644 --- a/res-xxxhdpi/images/loop00030.png +++ b/res-xxxhdpi/images/loop00030.png diff --git a/res-xxxhdpi/images/loop00031.png b/res-xxxhdpi/images/loop00031.png Binary files differindex e02db9c8b..40c4296cd 100644 --- a/res-xxxhdpi/images/loop00031.png +++ b/res-xxxhdpi/images/loop00031.png diff --git a/res-xxxhdpi/images/loop00032.png b/res-xxxhdpi/images/loop00032.png Binary files differindex 03f045684..f130b0ab9 100644 --- a/res-xxxhdpi/images/loop00032.png +++ b/res-xxxhdpi/images/loop00032.png diff --git a/res-xxxhdpi/images/loop00033.png b/res-xxxhdpi/images/loop00033.png Binary files differindex 5bdbbdbaf..24151ba62 100644 --- a/res-xxxhdpi/images/loop00033.png +++ b/res-xxxhdpi/images/loop00033.png diff --git a/res-xxxhdpi/images/loop00034.png b/res-xxxhdpi/images/loop00034.png Binary files differindex c8164e204..f74f89555 100644 --- a/res-xxxhdpi/images/loop00034.png +++ b/res-xxxhdpi/images/loop00034.png diff --git a/res-xxxhdpi/images/loop00035.png b/res-xxxhdpi/images/loop00035.png Binary files differindex ed5721d7c..4a0f8053f 100644 --- a/res-xxxhdpi/images/loop00035.png +++ b/res-xxxhdpi/images/loop00035.png diff --git a/res-xxxhdpi/images/loop00036.png b/res-xxxhdpi/images/loop00036.png Binary files differindex 08dffd26b..74658622d 100644 --- a/res-xxxhdpi/images/loop00036.png +++ b/res-xxxhdpi/images/loop00036.png diff --git a/res-xxxhdpi/images/loop00037.png b/res-xxxhdpi/images/loop00037.png Binary files differindex 583b665e4..5d10d10a5 100644 --- a/res-xxxhdpi/images/loop00037.png +++ b/res-xxxhdpi/images/loop00037.png diff --git a/res-xxxhdpi/images/loop00038.png b/res-xxxhdpi/images/loop00038.png Binary files differindex cc2933d6a..15d5db2f2 100644 --- a/res-xxxhdpi/images/loop00038.png +++ b/res-xxxhdpi/images/loop00038.png diff --git a/res-xxxhdpi/images/loop00039.png b/res-xxxhdpi/images/loop00039.png Binary files differindex 1f0496adb..b92d49d08 100644 --- a/res-xxxhdpi/images/loop00039.png +++ b/res-xxxhdpi/images/loop00039.png diff --git a/res-xxxhdpi/images/loop00040.png b/res-xxxhdpi/images/loop00040.png Binary files differindex 05bf33593..5c19c0254 100644 --- a/res-xxxhdpi/images/loop00040.png +++ b/res-xxxhdpi/images/loop00040.png diff --git a/res-xxxhdpi/images/loop00041.png b/res-xxxhdpi/images/loop00041.png Binary files differindex a868c7b2d..2c9d406b7 100644 --- a/res-xxxhdpi/images/loop00041.png +++ b/res-xxxhdpi/images/loop00041.png diff --git a/res-xxxhdpi/images/loop00042.png b/res-xxxhdpi/images/loop00042.png Binary files differindex 7c7220f29..bb24da5b4 100644 --- a/res-xxxhdpi/images/loop00042.png +++ b/res-xxxhdpi/images/loop00042.png diff --git a/res-xxxhdpi/images/loop00043.png b/res-xxxhdpi/images/loop00043.png Binary files differindex 30336a77b..0a9efd8a2 100644 --- a/res-xxxhdpi/images/loop00043.png +++ b/res-xxxhdpi/images/loop00043.png diff --git a/res-xxxhdpi/images/loop00044.png b/res-xxxhdpi/images/loop00044.png Binary files differindex 80d373584..70e1cbc84 100644 --- a/res-xxxhdpi/images/loop00044.png +++ b/res-xxxhdpi/images/loop00044.png diff --git a/res-xxxhdpi/images/loop00045.png b/res-xxxhdpi/images/loop00045.png Binary files differindex 71a52c20c..0ecb787b9 100644 --- a/res-xxxhdpi/images/loop00045.png +++ b/res-xxxhdpi/images/loop00045.png diff --git a/res-xxxhdpi/images/loop00046.png b/res-xxxhdpi/images/loop00046.png Binary files differindex b3b37029d..c2c425abd 100644 --- a/res-xxxhdpi/images/loop00046.png +++ b/res-xxxhdpi/images/loop00046.png diff --git a/res-xxxhdpi/images/loop00047.png b/res-xxxhdpi/images/loop00047.png Binary files differindex 6ce2b37ab..71812b3a7 100644 --- a/res-xxxhdpi/images/loop00047.png +++ b/res-xxxhdpi/images/loop00047.png diff --git a/res-xxxhdpi/images/loop00048.png b/res-xxxhdpi/images/loop00048.png Binary files differindex 0b428cd73..6ef44ce22 100644 --- a/res-xxxhdpi/images/loop00048.png +++ b/res-xxxhdpi/images/loop00048.png diff --git a/res-xxxhdpi/images/loop00049.png b/res-xxxhdpi/images/loop00049.png Binary files differindex 53c1a4774..5c7b1c50a 100644 --- a/res-xxxhdpi/images/loop00049.png +++ b/res-xxxhdpi/images/loop00049.png diff --git a/res-xxxhdpi/images/loop00050.png b/res-xxxhdpi/images/loop00050.png Binary files differindex 0e17bbdff..10dcf213c 100644 --- a/res-xxxhdpi/images/loop00050.png +++ b/res-xxxhdpi/images/loop00050.png diff --git a/res-xxxhdpi/images/loop00051.png b/res-xxxhdpi/images/loop00051.png Binary files differindex 78a99dcc7..e850b32aa 100644 --- a/res-xxxhdpi/images/loop00051.png +++ b/res-xxxhdpi/images/loop00051.png diff --git a/res-xxxhdpi/images/loop00052.png b/res-xxxhdpi/images/loop00052.png Binary files differindex efd0df559..7abf444a3 100644 --- a/res-xxxhdpi/images/loop00052.png +++ b/res-xxxhdpi/images/loop00052.png diff --git a/res-xxxhdpi/images/loop00053.png b/res-xxxhdpi/images/loop00053.png Binary files differindex 0c417eef9..f680849af 100644 --- a/res-xxxhdpi/images/loop00053.png +++ b/res-xxxhdpi/images/loop00053.png diff --git a/res-xxxhdpi/images/loop00054.png b/res-xxxhdpi/images/loop00054.png Binary files differindex 072077e6f..012c14dee 100644 --- a/res-xxxhdpi/images/loop00054.png +++ b/res-xxxhdpi/images/loop00054.png diff --git a/res-xxxhdpi/images/loop00055.png b/res-xxxhdpi/images/loop00055.png Binary files differindex 693083ac8..ae335dbb9 100644 --- a/res-xxxhdpi/images/loop00055.png +++ b/res-xxxhdpi/images/loop00055.png diff --git a/res-xxxhdpi/images/loop00056.png b/res-xxxhdpi/images/loop00056.png Binary files differindex 07cbd75d1..8e928ea85 100644 --- a/res-xxxhdpi/images/loop00056.png +++ b/res-xxxhdpi/images/loop00056.png diff --git a/res-xxxhdpi/images/loop00057.png b/res-xxxhdpi/images/loop00057.png Binary files differindex cc98ab21a..c23d4f0d7 100644 --- a/res-xxxhdpi/images/loop00057.png +++ b/res-xxxhdpi/images/loop00057.png diff --git a/res-xxxhdpi/images/loop00058.png b/res-xxxhdpi/images/loop00058.png Binary files differindex f55d21821..d5144aa69 100644 --- a/res-xxxhdpi/images/loop00058.png +++ b/res-xxxhdpi/images/loop00058.png diff --git a/res-xxxhdpi/images/loop00059.png b/res-xxxhdpi/images/loop00059.png Binary files differindex 4bfed350a..f8f3a7c16 100644 --- a/res-xxxhdpi/images/loop00059.png +++ b/res-xxxhdpi/images/loop00059.png diff --git a/res-xxxhdpi/images/loop00060.png b/res-xxxhdpi/images/loop00060.png Binary files differindex 59f158b10..8894a236f 100644 --- a/res-xxxhdpi/images/loop00060.png +++ b/res-xxxhdpi/images/loop00060.png diff --git a/res-xxxhdpi/images/loop00061.png b/res-xxxhdpi/images/loop00061.png Binary files differindex fd0dc558d..1c33e84fd 100644 --- a/res-xxxhdpi/images/loop00061.png +++ b/res-xxxhdpi/images/loop00061.png diff --git a/res-xxxhdpi/images/loop00062.png b/res-xxxhdpi/images/loop00062.png Binary files differindex 2c316ce69..c2242ff49 100644 --- a/res-xxxhdpi/images/loop00062.png +++ b/res-xxxhdpi/images/loop00062.png diff --git a/res-xxxhdpi/images/loop00063.png b/res-xxxhdpi/images/loop00063.png Binary files differindex 5b83c81cd..c357ffaae 100644 --- a/res-xxxhdpi/images/loop00063.png +++ b/res-xxxhdpi/images/loop00063.png diff --git a/res-xxxhdpi/images/loop00064.png b/res-xxxhdpi/images/loop00064.png Binary files differindex ced0a9ab5..f9466997e 100644 --- a/res-xxxhdpi/images/loop00064.png +++ b/res-xxxhdpi/images/loop00064.png diff --git a/res-xxxhdpi/images/loop00065.png b/res-xxxhdpi/images/loop00065.png Binary files differindex 6e699dda6..52d976b25 100644 --- a/res-xxxhdpi/images/loop00065.png +++ b/res-xxxhdpi/images/loop00065.png diff --git a/res-xxxhdpi/images/loop00066.png b/res-xxxhdpi/images/loop00066.png Binary files differindex 8853cfffe..cf37f2f97 100644 --- a/res-xxxhdpi/images/loop00066.png +++ b/res-xxxhdpi/images/loop00066.png diff --git a/res-xxxhdpi/images/loop00067.png b/res-xxxhdpi/images/loop00067.png Binary files differindex 24d11d14b..d8a1e7835 100644 --- a/res-xxxhdpi/images/loop00067.png +++ b/res-xxxhdpi/images/loop00067.png diff --git a/res-xxxhdpi/images/loop00068.png b/res-xxxhdpi/images/loop00068.png Binary files differindex d54fff0ba..8bbaf020d 100644 --- a/res-xxxhdpi/images/loop00068.png +++ b/res-xxxhdpi/images/loop00068.png diff --git a/res-xxxhdpi/images/loop00069.png b/res-xxxhdpi/images/loop00069.png Binary files differindex 67f8d7884..99d1072cd 100644 --- a/res-xxxhdpi/images/loop00069.png +++ b/res-xxxhdpi/images/loop00069.png diff --git a/res-xxxhdpi/images/loop00070.png b/res-xxxhdpi/images/loop00070.png Binary files differindex d56fb78a5..bd8979e73 100644 --- a/res-xxxhdpi/images/loop00070.png +++ b/res-xxxhdpi/images/loop00070.png diff --git a/res-xxxhdpi/images/loop00071.png b/res-xxxhdpi/images/loop00071.png Binary files differindex e787b8a5a..e823dccce 100644 --- a/res-xxxhdpi/images/loop00071.png +++ b/res-xxxhdpi/images/loop00071.png diff --git a/res-xxxhdpi/images/loop00072.png b/res-xxxhdpi/images/loop00072.png Binary files differindex 81f2e4c4b..475190fd0 100644 --- a/res-xxxhdpi/images/loop00072.png +++ b/res-xxxhdpi/images/loop00072.png diff --git a/res-xxxhdpi/images/loop00073.png b/res-xxxhdpi/images/loop00073.png Binary files differindex ad46ed162..84c4874c9 100644 --- a/res-xxxhdpi/images/loop00073.png +++ b/res-xxxhdpi/images/loop00073.png diff --git a/res-xxxhdpi/images/loop00074.png b/res-xxxhdpi/images/loop00074.png Binary files differindex d835a2bd3..e2d90a292 100644 --- a/res-xxxhdpi/images/loop00074.png +++ b/res-xxxhdpi/images/loop00074.png diff --git a/res-xxxhdpi/images/loop00075.png b/res-xxxhdpi/images/loop00075.png Binary files differindex aa35a84ba..ff13dfeb8 100644 --- a/res-xxxhdpi/images/loop00075.png +++ b/res-xxxhdpi/images/loop00075.png diff --git a/res-xxxhdpi/images/loop00076.png b/res-xxxhdpi/images/loop00076.png Binary files differindex 6ea547e29..01886ae45 100644 --- a/res-xxxhdpi/images/loop00076.png +++ b/res-xxxhdpi/images/loop00076.png diff --git a/res-xxxhdpi/images/loop00077.png b/res-xxxhdpi/images/loop00077.png Binary files differindex c80938309..4bac4ea9b 100644 --- a/res-xxxhdpi/images/loop00077.png +++ b/res-xxxhdpi/images/loop00077.png diff --git a/res-xxxhdpi/images/loop00078.png b/res-xxxhdpi/images/loop00078.png Binary files differindex 827a75c9f..6ced1a27f 100644 --- a/res-xxxhdpi/images/loop00078.png +++ b/res-xxxhdpi/images/loop00078.png diff --git a/res-xxxhdpi/images/loop00079.png b/res-xxxhdpi/images/loop00079.png Binary files differindex 18dc1cf90..f7baed340 100644 --- a/res-xxxhdpi/images/loop00079.png +++ b/res-xxxhdpi/images/loop00079.png diff --git a/res-xxxhdpi/images/loop00080.png b/res-xxxhdpi/images/loop00080.png Binary files differindex df06b5628..fbb0a138d 100644 --- a/res-xxxhdpi/images/loop00080.png +++ b/res-xxxhdpi/images/loop00080.png diff --git a/res-xxxhdpi/images/loop00081.png b/res-xxxhdpi/images/loop00081.png Binary files differindex a5ba60379..3fc7a4959 100644 --- a/res-xxxhdpi/images/loop00081.png +++ b/res-xxxhdpi/images/loop00081.png diff --git a/res-xxxhdpi/images/loop00082.png b/res-xxxhdpi/images/loop00082.png Binary files differindex e3298c5f3..3114002bc 100644 --- a/res-xxxhdpi/images/loop00082.png +++ b/res-xxxhdpi/images/loop00082.png diff --git a/res-xxxhdpi/images/loop00083.png b/res-xxxhdpi/images/loop00083.png Binary files differindex c395662c4..df1b8301a 100644 --- a/res-xxxhdpi/images/loop00083.png +++ b/res-xxxhdpi/images/loop00083.png diff --git a/res-xxxhdpi/images/loop00084.png b/res-xxxhdpi/images/loop00084.png Binary files differindex f80af8e78..11a72f2e3 100644 --- a/res-xxxhdpi/images/loop00084.png +++ b/res-xxxhdpi/images/loop00084.png diff --git a/res-xxxhdpi/images/loop00085.png b/res-xxxhdpi/images/loop00085.png Binary files differindex c89675830..ba0a43ecc 100644 --- a/res-xxxhdpi/images/loop00085.png +++ b/res-xxxhdpi/images/loop00085.png diff --git a/res-xxxhdpi/images/loop00086.png b/res-xxxhdpi/images/loop00086.png Binary files differindex 97716923f..c4111b2a3 100644 --- a/res-xxxhdpi/images/loop00086.png +++ b/res-xxxhdpi/images/loop00086.png diff --git a/res-xxxhdpi/images/loop00087.png b/res-xxxhdpi/images/loop00087.png Binary files differindex e805dfa01..13b83c7e5 100644 --- a/res-xxxhdpi/images/loop00087.png +++ b/res-xxxhdpi/images/loop00087.png diff --git a/res-xxxhdpi/images/loop00088.png b/res-xxxhdpi/images/loop00088.png Binary files differindex aa1a88e26..e7d9d6d7a 100644 --- a/res-xxxhdpi/images/loop00088.png +++ b/res-xxxhdpi/images/loop00088.png diff --git a/res-xxxhdpi/images/loop00089.png b/res-xxxhdpi/images/loop00089.png Binary files differindex 5bf7781d0..fd1951c6f 100644 --- a/res-xxxhdpi/images/loop00089.png +++ b/res-xxxhdpi/images/loop00089.png diff --git a/res-xxxhdpi/images/loop00090.png b/res-xxxhdpi/images/loop00090.png Binary files differindex 1bc9db5b1..d6640c540 100644 --- a/res-xxxhdpi/images/loop00090.png +++ b/res-xxxhdpi/images/loop00090.png diff --git a/tests/unit/rangeset_test.cpp b/tests/unit/rangeset_test.cpp index e66da20e4..3c6d77ef5 100644 --- a/tests/unit/rangeset_test.cpp +++ b/tests/unit/rangeset_test.cpp @@ -25,14 +25,15 @@ TEST(RangeSetTest, Parse_smoke) { RangeSet rs = RangeSet::Parse("2,1,10"); - ASSERT_EQ(static_cast<size_t>(1), rs.count); - ASSERT_EQ((std::vector<size_t>{ 1, 10 }), rs.pos); - ASSERT_EQ(static_cast<size_t>(9), rs.size); + ASSERT_EQ(static_cast<size_t>(1), rs.size()); + ASSERT_EQ((Range{ 1, 10 }), rs[0]); + ASSERT_EQ(static_cast<size_t>(9), rs.blocks()); RangeSet rs2 = RangeSet::Parse("4,15,20,1,10"); - ASSERT_EQ(static_cast<size_t>(2), rs2.count); - ASSERT_EQ((std::vector<size_t>{ 15, 20, 1, 10 }), rs2.pos); - ASSERT_EQ(static_cast<size_t>(14), rs2.size); + ASSERT_EQ(static_cast<size_t>(2), rs2.size()); + ASSERT_EQ((Range{ 15, 20 }), rs2[0]); + ASSERT_EQ((Range{ 1, 10 }), rs2[1]); + ASSERT_EQ(static_cast<size_t>(14), rs2.blocks()); // Leading zeros are fine. But android::base::ParseUint() doesn't like trailing zeros like "10 ". ASSERT_EQ(rs, RangeSet::Parse(" 2, 1, 10")); @@ -82,3 +83,30 @@ TEST(RangeSetTest, GetBlockNumber) { // Out of bound. ASSERT_EXIT(rs.GetBlockNumber(9), ::testing::KilledBySignal(SIGABRT), ""); } + +TEST(RangeSetTest, equality) { + ASSERT_EQ(RangeSet::Parse("2,1,6"), RangeSet::Parse("2,1,6")); + + ASSERT_NE(RangeSet::Parse("2,1,6"), RangeSet::Parse("2,1,7")); + ASSERT_NE(RangeSet::Parse("2,1,6"), RangeSet::Parse("2,2,7")); + + // The orders of Range's matter. "4,1,5,8,10" != "4,8,10,1,5". + ASSERT_NE(RangeSet::Parse("4,1,5,8,10"), RangeSet::Parse("4,8,10,1,5")); +} + +TEST(RangeSetTest, iterators) { + RangeSet rs = RangeSet::Parse("4,1,5,8,10"); + std::vector<Range> ranges; + for (const auto& range : rs) { + ranges.push_back(range); + } + ASSERT_EQ((std::vector<Range>{ Range{ 1, 5 }, Range{ 8, 10 } }), ranges); + + ranges.clear(); + + // Reverse iterators. + for (auto it = rs.crbegin(); it != rs.crend(); it++) { + ranges.push_back(*it); + } + ASSERT_EQ((std::vector<Range>{ Range{ 8, 10 }, Range{ 1, 5 } }), ranges); +} diff --git a/tools/recovery_l10n/res/values-hi/strings.xml b/tools/recovery_l10n/res/values-hi/strings.xml index de8757848..a8a876ee4 100644 --- a/tools/recovery_l10n/res/values-hi/strings.xml +++ b/tools/recovery_l10n/res/values-hi/strings.xml @@ -4,6 +4,6 @@ <string name="recovery_installing" msgid="2013591905463558223">"सिस्टम अपडेट इंस्टॉल किया जा रहा है"</string> <string name="recovery_erasing" msgid="7334826894904037088">"मिटाया जा रहा है"</string> <string name="recovery_no_command" msgid="4465476568623024327">"कोई आदेश नहीं"</string> - <string name="recovery_error" msgid="5748178989622716736">"त्रुटि!"</string> + <string name="recovery_error" msgid="5748178989622716736">"गड़बड़ी!"</string> <string name="recovery_installing_security" msgid="9184031299717114342">"सुरक्षा अपडेट इंस्टॉल किया जा रहा है"</string> </resources> diff --git a/update_verifier/update_verifier.cpp b/update_verifier/update_verifier.cpp index 59f136c90..350020f13 100644 --- a/update_verifier/update_verifier.cpp +++ b/update_verifier/update_verifier.cpp @@ -167,7 +167,7 @@ static bool verify_image(const std::string& care_map_name) { // in /data/ota_package. To allow the device to continue booting in this situation, // we should print a warning and skip the block verification. if (care_map_fd.get() == -1) { - LOG(WARNING) << "Warning: care map " << care_map_name << " not found."; + PLOG(WARNING) << "Failed to open " << care_map_name; return true; } // Care map file has four lines (two lines if vendor partition is not present): diff --git a/update_verifier/update_verifier.rc b/update_verifier/update_verifier.rc index fc8a64dee..808f2c055 100644 --- a/update_verifier/update_verifier.rc +++ b/update_verifier/update_verifier.rc @@ -1,11 +1,11 @@ service update_verifier_nonencrypted /system/bin/update_verifier nonencrypted user root - class cache + group cache priority -20 - ioprio rt 1 + ioprio rt 0 service update_verifier /system/bin/update_verifier ${vold.decrypt} user root - class cache + group cache priority -20 - ioprio rt 1
\ No newline at end of file + ioprio rt 0 diff --git a/updater/blockimg.cpp b/updater/blockimg.cpp index 8199447a9..0f08d17eb 100644 --- a/updater/blockimg.cpp +++ b/updater/blockimg.cpp @@ -112,18 +112,17 @@ static int write_all(int fd, const std::vector<uint8_t>& buffer, size_t size) { } static bool discard_blocks(int fd, off64_t offset, uint64_t size) { - // Don't discard blocks unless the update is a retry run. - if (!is_retry) { - return true; - } - - uint64_t args[2] = {static_cast<uint64_t>(offset), size}; - int status = ioctl(fd, BLKDISCARD, &args); - if (status == -1) { - PLOG(ERROR) << "BLKDISCARD ioctl failed"; - return false; - } + // Don't discard blocks unless the update is a retry run. + if (!is_retry) { return true; + } + + uint64_t args[2] = { static_cast<uint64_t>(offset), size }; + if (ioctl(fd, BLKDISCARD, &args) == -1) { + PLOG(ERROR) << "BLKDISCARD ioctl failed"; + return false; + } + return true; } static bool check_lseek(int fd, off64_t offset, int whence) { @@ -151,11 +150,11 @@ class RangeSinkWriter { public: RangeSinkWriter(int fd, const RangeSet& tgt) : fd_(fd), tgt_(tgt), next_range_(0), current_range_left_(0) { - CHECK_NE(tgt.count, static_cast<size_t>(0)); + CHECK_NE(tgt.size(), static_cast<size_t>(0)); }; bool Finished() const { - return next_range_ == tgt_.count && current_range_left_ == 0; + return next_range_ == tgt_.size() && current_range_left_ == 0; } size_t Write(const uint8_t* data, size_t size) { @@ -168,10 +167,10 @@ class RangeSinkWriter { while (size > 0) { // Move to the next range as needed. if (current_range_left_ == 0) { - if (next_range_ < tgt_.count) { - off64_t offset = static_cast<off64_t>(tgt_.pos[next_range_ * 2]) * BLOCKSIZE; - current_range_left_ = - (tgt_.pos[next_range_ * 2 + 1] - tgt_.pos[next_range_ * 2]) * BLOCKSIZE; + if (next_range_ < tgt_.size()) { + const Range& range = tgt_[next_range_]; + off64_t offset = static_cast<off64_t>(range.first) * BLOCKSIZE; + current_range_left_ = (range.second - range.first) * BLOCKSIZE; next_range_++; if (!discard_blocks(fd_, offset, current_range_left_)) { break; @@ -281,31 +280,28 @@ static void* unzip_new_data(void* cookie) { } static int ReadBlocks(const RangeSet& src, std::vector<uint8_t>& buffer, int fd) { - size_t p = 0; - uint8_t* data = buffer.data(); - - for (size_t i = 0; i < src.count; ++i) { - if (!check_lseek(fd, (off64_t) src.pos[i * 2] * BLOCKSIZE, SEEK_SET)) { - return -1; - } - - size_t size = (src.pos[i * 2 + 1] - src.pos[i * 2]) * BLOCKSIZE; - - if (read_all(fd, data + p, size) == -1) { - return -1; - } + size_t p = 0; + for (const auto& range : src) { + if (!check_lseek(fd, static_cast<off64_t>(range.first) * BLOCKSIZE, SEEK_SET)) { + return -1; + } - p += size; + size_t size = (range.second - range.first) * BLOCKSIZE; + if (read_all(fd, buffer.data() + p, size) == -1) { + return -1; } - return 0; + p += size; + } + + return 0; } static int WriteBlocks(const RangeSet& tgt, const std::vector<uint8_t>& buffer, int fd) { size_t written = 0; - for (size_t i = 0; i < tgt.count; ++i) { - off64_t offset = static_cast<off64_t>(tgt.pos[i * 2]) * BLOCKSIZE; - size_t size = (tgt.pos[i * 2 + 1] - tgt.pos[i * 2]) * BLOCKSIZE; + for (const auto& range : tgt) { + off64_t offset = static_cast<off64_t>(range.first) * BLOCKSIZE; + size_t size = (range.second - range.first) * BLOCKSIZE; if (!discard_blocks(fd, offset, size)) { return -1; } @@ -386,21 +382,18 @@ static void PrintHashForCorruptedSourceBlocks(const CommandParameters& params, // If there's no stashed blocks, content in the buffer is consecutive and has the same // order as the source blocks. if (pos == params.tokens.size()) { - locs.count = 1; - locs.size = src.size; - locs.pos = { 0, src.size }; + locs = RangeSet(std::vector<Range>{ Range{ 0, src.blocks() } }); } else { // Otherwise, the next token is the offset of the source blocks in the target range. // Example: for the tokens <4,63946,63947,63948,63979> <4,6,7,8,39> <stashed_blocks>; // We want to print SHA-1 for the data in buffer[6], buffer[8], buffer[9] ... buffer[38]; // this corresponds to the 32 src blocks #63946, #63948, #63949 ... #63978. locs = RangeSet::Parse(params.tokens[pos++]); - CHECK_EQ(src.size, locs.size); - CHECK_EQ(locs.pos.size() % 2, static_cast<size_t>(0)); + CHECK_EQ(src.blocks(), locs.blocks()); } - LOG(INFO) << "printing hash in hex for " << src.size << " source blocks"; - for (size_t i = 0; i < src.size; i++) { + LOG(INFO) << "printing hash in hex for " << src.blocks() << " source blocks"; + for (size_t i = 0; i < src.blocks(); i++) { size_t block_num = src.GetBlockNumber(i); size_t buffer_index = locs.GetBlockNumber(i); CHECK_LE((buffer_index + 1) * BLOCKSIZE, buffer.size()); @@ -418,9 +411,9 @@ static void PrintHashForCorruptedStashedBlocks(const std::string& id, const std::vector<uint8_t>& buffer, const RangeSet& src) { LOG(INFO) << "printing hash in hex for stash_id: " << id; - CHECK_EQ(src.size * BLOCKSIZE, buffer.size()); + CHECK_EQ(src.blocks() * BLOCKSIZE, buffer.size()); - for (size_t i = 0; i < src.size; i++) { + for (size_t i = 0; i < src.blocks(); i++) { size_t block_num = src.GetBlockNumber(i); uint8_t digest[SHA_DIGEST_LENGTH]; @@ -440,7 +433,7 @@ static void PrintHashForMissingStashedBlocks(const std::string& id, int fd) { LOG(INFO) << "print hash in hex for source blocks in missing stash: " << id; const RangeSet& src = stash_map[id]; - std::vector<uint8_t> buffer(src.size * BLOCKSIZE); + std::vector<uint8_t> buffer(src.blocks() * BLOCKSIZE); if (ReadBlocks(src, buffer, fd) == -1) { LOG(ERROR) << "failed to read source blocks for stash: " << id; return; @@ -532,81 +525,77 @@ static void DeleteStash(const std::string& base) { static int LoadStash(CommandParameters& params, const std::string& id, bool verify, size_t* blocks, std::vector<uint8_t>& buffer, bool printnoent) { - // In verify mode, if source range_set was saved for the given hash, - // check contents in the source blocks first. If the check fails, - // search for the stashed files on /cache as usual. - if (!params.canwrite) { - if (stash_map.find(id) != stash_map.end()) { - const RangeSet& src = stash_map[id]; - allocate(src.size * BLOCKSIZE, buffer); - - if (ReadBlocks(src, buffer, params.fd) == -1) { - LOG(ERROR) << "failed to read source blocks in stash map."; - return -1; - } - if (VerifyBlocks(id, buffer, src.size, true) != 0) { - LOG(ERROR) << "failed to verify loaded source blocks in stash map."; - PrintHashForCorruptedStashedBlocks(id, buffer, src); - return -1; - } - return 0; - } - } - - size_t blockcount = 0; + // In verify mode, if source range_set was saved for the given hash, check contents in the source + // blocks first. If the check fails, search for the stashed files on /cache as usual. + if (!params.canwrite) { + if (stash_map.find(id) != stash_map.end()) { + const RangeSet& src = stash_map[id]; + allocate(src.blocks() * BLOCKSIZE, buffer); - if (!blocks) { - blocks = &blockcount; + if (ReadBlocks(src, buffer, params.fd) == -1) { + LOG(ERROR) << "failed to read source blocks in stash map."; + return -1; + } + if (VerifyBlocks(id, buffer, src.blocks(), true) != 0) { + LOG(ERROR) << "failed to verify loaded source blocks in stash map."; + PrintHashForCorruptedStashedBlocks(id, buffer, src); + return -1; + } + return 0; } + } - std::string fn = GetStashFileName(params.stashbase, id, ""); + size_t blockcount = 0; + if (!blocks) { + blocks = &blockcount; + } - struct stat sb; - int res = stat(fn.c_str(), &sb); + std::string fn = GetStashFileName(params.stashbase, id, ""); - if (res == -1) { - if (errno != ENOENT || printnoent) { - PLOG(ERROR) << "stat \"" << fn << "\" failed"; - PrintHashForMissingStashedBlocks(id, params.fd); - } - return -1; + struct stat sb; + if (stat(fn.c_str(), &sb) == -1) { + if (errno != ENOENT || printnoent) { + PLOG(ERROR) << "stat \"" << fn << "\" failed"; + PrintHashForMissingStashedBlocks(id, params.fd); } + return -1; + } - LOG(INFO) << " loading " << fn; + LOG(INFO) << " loading " << fn; - if ((sb.st_size % BLOCKSIZE) != 0) { - LOG(ERROR) << fn << " size " << sb.st_size << " not multiple of block size " << BLOCKSIZE; - return -1; - } + if ((sb.st_size % BLOCKSIZE) != 0) { + LOG(ERROR) << fn << " size " << sb.st_size << " not multiple of block size " << BLOCKSIZE; + return -1; + } - android::base::unique_fd fd(TEMP_FAILURE_RETRY(ota_open(fn.c_str(), O_RDONLY))); - if (fd == -1) { - PLOG(ERROR) << "open \"" << fn << "\" failed"; - return -1; - } + android::base::unique_fd fd(TEMP_FAILURE_RETRY(ota_open(fn.c_str(), O_RDONLY))); + if (fd == -1) { + PLOG(ERROR) << "open \"" << fn << "\" failed"; + return -1; + } - allocate(sb.st_size, buffer); + allocate(sb.st_size, buffer); - if (read_all(fd, buffer, sb.st_size) == -1) { - return -1; - } + if (read_all(fd, buffer, sb.st_size) == -1) { + return -1; + } - *blocks = sb.st_size / BLOCKSIZE; + *blocks = sb.st_size / BLOCKSIZE; - if (verify && VerifyBlocks(id, buffer, *blocks, true) != 0) { - LOG(ERROR) << "unexpected contents in " << fn; - if (stash_map.find(id) == stash_map.end()) { - LOG(ERROR) << "failed to find source blocks number for stash " << id - << " when executing command: " << params.cmdname; - } else { - const RangeSet& src = stash_map[id]; - PrintHashForCorruptedStashedBlocks(id, buffer, src); - } - DeleteFile(fn); - return -1; + if (verify && VerifyBlocks(id, buffer, *blocks, true) != 0) { + LOG(ERROR) << "unexpected contents in " << fn; + if (stash_map.find(id) == stash_map.end()) { + LOG(ERROR) << "failed to find source blocks number for stash " << id + << " when executing command: " << params.cmdname; + } else { + const RangeSet& src = stash_map[id]; + PrintHashForCorruptedStashedBlocks(id, buffer, src); } + DeleteFile(fn); + return -1; + } - return 0; + return 0; } static int WriteStash(const std::string& base, const std::string& id, int blocks, @@ -780,21 +769,19 @@ static int FreeStash(const std::string& base, const std::string& id) { return 0; } +// Source contains packed data, which we want to move to the locations given in locs in the dest +// buffer. source and dest may be the same buffer. static void MoveRange(std::vector<uint8_t>& dest, const RangeSet& locs, - const std::vector<uint8_t>& source) { - // source contains packed data, which we want to move to the - // locations given in locs in the dest buffer. source and dest - // may be the same buffer. - - const uint8_t* from = source.data(); - uint8_t* to = dest.data(); - size_t start = locs.size; - for (int i = locs.count-1; i >= 0; --i) { - size_t blocks = locs.pos[i*2+1] - locs.pos[i*2]; - start -= blocks; - memmove(to + (locs.pos[i*2] * BLOCKSIZE), from + (start * BLOCKSIZE), - blocks * BLOCKSIZE); - } + const std::vector<uint8_t>& source) { + const uint8_t* from = source.data(); + uint8_t* to = dest.data(); + size_t start = locs.blocks(); + // Must do the movement backward. + for (auto it = locs.crbegin(); it != locs.crend(); it++) { + size_t blocks = it->second - it->first; + start -= blocks; + memmove(to + (it->first * BLOCKSIZE), from + (start * BLOCKSIZE), blocks * BLOCKSIZE); + } } /** @@ -933,13 +920,13 @@ static int LoadSrcTgtVersion3(CommandParameters& params, RangeSet& tgt, size_t* // <tgt_range> tgt = RangeSet::Parse(params.tokens[params.cpos++]); - std::vector<uint8_t> tgtbuffer(tgt.size * BLOCKSIZE); + std::vector<uint8_t> tgtbuffer(tgt.blocks() * BLOCKSIZE); if (ReadBlocks(tgt, tgtbuffer, params.fd) == -1) { return -1; } // Return now if target blocks already have expected content. - if (VerifyBlocks(tgthash, tgtbuffer, tgt.size, false) == 0) { + if (VerifyBlocks(tgthash, tgtbuffer, tgt.blocks(), false) == 0) { return 1; } @@ -1023,7 +1010,7 @@ static int PerformCommandMove(CommandParameters& params) { params.freestash.clear(); } - params.written += tgt.size; + params.written += tgt.blocks(); return 0; } @@ -1045,11 +1032,11 @@ static int PerformCommandStash(CommandParameters& params) { RangeSet src = RangeSet::Parse(params.tokens[params.cpos++]); - allocate(src.size * BLOCKSIZE, params.buffer); + allocate(src.blocks() * BLOCKSIZE, params.buffer); if (ReadBlocks(src, params.buffer, params.fd) == -1) { return -1; } - blocks = src.size; + blocks = src.blocks(); stash_map[id] = src; if (VerifyBlocks(id, params.buffer, blocks, true) != 0) { @@ -1088,46 +1075,45 @@ static int PerformCommandFree(CommandParameters& params) { } static int PerformCommandZero(CommandParameters& params) { + if (params.cpos >= params.tokens.size()) { + LOG(ERROR) << "missing target blocks for zero"; + return -1; + } - if (params.cpos >= params.tokens.size()) { - LOG(ERROR) << "missing target blocks for zero"; - return -1; - } + RangeSet tgt = RangeSet::Parse(params.tokens[params.cpos++]); - RangeSet tgt = RangeSet::Parse(params.tokens[params.cpos++]); + LOG(INFO) << " zeroing " << tgt.blocks() << " blocks"; - LOG(INFO) << " zeroing " << tgt.size << " blocks"; + allocate(BLOCKSIZE, params.buffer); + memset(params.buffer.data(), 0, BLOCKSIZE); + + if (params.canwrite) { + for (const auto& range : tgt) { + off64_t offset = static_cast<off64_t>(range.first) * BLOCKSIZE; + size_t size = (range.second - range.first) * BLOCKSIZE; + if (!discard_blocks(params.fd, offset, size)) { + return -1; + } - allocate(BLOCKSIZE, params.buffer); - memset(params.buffer.data(), 0, BLOCKSIZE); + if (!check_lseek(params.fd, offset, SEEK_SET)) { + return -1; + } - if (params.canwrite) { - for (size_t i = 0; i < tgt.count; ++i) { - off64_t offset = static_cast<off64_t>(tgt.pos[i * 2]) * BLOCKSIZE; - size_t size = (tgt.pos[i * 2 + 1] - tgt.pos[i * 2]) * BLOCKSIZE; - if (!discard_blocks(params.fd, offset, size)) { - return -1; - } - - if (!check_lseek(params.fd, offset, SEEK_SET)) { - return -1; - } - - for (size_t j = tgt.pos[i * 2]; j < tgt.pos[i * 2 + 1]; ++j) { - if (write_all(params.fd, params.buffer, BLOCKSIZE) == -1) { - return -1; - } - } + for (size_t j = range.first; j < range.second; ++j) { + if (write_all(params.fd, params.buffer, BLOCKSIZE) == -1) { + return -1; } + } } + } - if (params.cmdname[0] == 'z') { - // Update only for the zero command, as the erase command will call - // this if DEBUG_ERASE is defined. - params.written += tgt.size; - } + if (params.cmdname[0] == 'z') { + // Update only for the zero command, as the erase command will call + // this if DEBUG_ERASE is defined. + params.written += tgt.blocks(); + } - return 0; + return 0; } static int PerformCommandNew(CommandParameters& params) { @@ -1139,7 +1125,7 @@ static int PerformCommandNew(CommandParameters& params) { RangeSet tgt = RangeSet::Parse(params.tokens[params.cpos++]); if (params.canwrite) { - LOG(INFO) << " writing " << tgt.size << " blocks of new data"; + LOG(INFO) << " writing " << tgt.blocks() << " blocks of new data"; RangeSinkWriter writer(params.fd, tgt); pthread_mutex_lock(¶ms.nti.mu); @@ -1153,7 +1139,7 @@ static int PerformCommandNew(CommandParameters& params) { pthread_mutex_unlock(¶ms.nti.mu); } - params.written += tgt.size; + params.written += tgt.blocks(); return 0; } @@ -1195,7 +1181,7 @@ static int PerformCommandDiff(CommandParameters& params) { if (params.canwrite) { if (status == 0) { - LOG(INFO) << "patching " << blocks << " blocks to " << tgt.size; + LOG(INFO) << "patching " << blocks << " blocks to " << tgt.blocks(); Value patch_value( VAL_BLOB, std::string(reinterpret_cast<const char*>(params.patch_start + offset), len)); @@ -1223,7 +1209,7 @@ static int PerformCommandDiff(CommandParameters& params) { LOG(ERROR) << "range sink underrun?"; } } else { - LOG(INFO) << "skipping " << blocks << " blocks already patched to " << tgt.size << " [" + LOG(INFO) << "skipping " << blocks << " blocks already patched to " << tgt.blocks() << " [" << params.cmdline << "]"; } } @@ -1233,52 +1219,52 @@ static int PerformCommandDiff(CommandParameters& params) { params.freestash.clear(); } - params.written += tgt.size; + params.written += tgt.blocks(); return 0; } static int PerformCommandErase(CommandParameters& params) { - if (DEBUG_ERASE) { - return PerformCommandZero(params); - } + if (DEBUG_ERASE) { + return PerformCommandZero(params); + } - struct stat sb; - if (fstat(params.fd, &sb) == -1) { - PLOG(ERROR) << "failed to fstat device to erase"; - return -1; - } + struct stat sb; + if (fstat(params.fd, &sb) == -1) { + PLOG(ERROR) << "failed to fstat device to erase"; + return -1; + } - if (!S_ISBLK(sb.st_mode)) { - LOG(ERROR) << "not a block device; skipping erase"; - return -1; - } + if (!S_ISBLK(sb.st_mode)) { + LOG(ERROR) << "not a block device; skipping erase"; + return -1; + } - if (params.cpos >= params.tokens.size()) { - LOG(ERROR) << "missing target blocks for erase"; - return -1; - } + if (params.cpos >= params.tokens.size()) { + LOG(ERROR) << "missing target blocks for erase"; + return -1; + } + + RangeSet tgt = RangeSet::Parse(params.tokens[params.cpos++]); - RangeSet tgt = RangeSet::Parse(params.tokens[params.cpos++]); + if (params.canwrite) { + LOG(INFO) << " erasing " << tgt.blocks() << " blocks"; - if (params.canwrite) { - LOG(INFO) << " erasing " << tgt.size << " blocks"; - - for (size_t i = 0; i < tgt.count; ++i) { - uint64_t blocks[2]; - // offset in bytes - blocks[0] = tgt.pos[i * 2] * (uint64_t) BLOCKSIZE; - // length in bytes - blocks[1] = (tgt.pos[i * 2 + 1] - tgt.pos[i * 2]) * (uint64_t) BLOCKSIZE; - - if (ioctl(params.fd, BLKDISCARD, &blocks) == -1) { - PLOG(ERROR) << "BLKDISCARD ioctl failed"; - return -1; - } - } + for (const auto& range : tgt) { + uint64_t blocks[2]; + // offset in bytes + blocks[0] = range.first * static_cast<uint64_t>(BLOCKSIZE); + // length in bytes + blocks[1] = (range.second - range.first) * static_cast<uint64_t>(BLOCKSIZE); + + if (ioctl(params.fd, BLKDISCARD, &blocks) == -1) { + PLOG(ERROR) << "BLKDISCARD ioctl failed"; + return -1; + } } + } - return 0; + return 0; } // Definitions for transfer list command functions @@ -1645,14 +1631,14 @@ Value* RangeSha1Fn(const char* name, State* state, const std::vector<std::unique SHA1_Init(&ctx); std::vector<uint8_t> buffer(BLOCKSIZE); - for (size_t i = 0; i < rs.count; ++i) { - if (!check_lseek(fd, (off64_t)rs.pos[i * 2] * BLOCKSIZE, SEEK_SET)) { + for (const auto& range : rs) { + if (!check_lseek(fd, static_cast<off64_t>(range.first) * BLOCKSIZE, SEEK_SET)) { ErrorAbort(state, kLseekFailure, "failed to seek %s: %s", blockdev_filename->data.c_str(), strerror(errno)); return StringValue(""); } - for (size_t j = rs.pos[i * 2]; j < rs.pos[i * 2 + 1]; ++j) { + for (size_t j = range.first; j < range.second; ++j) { if (read_all(fd, buffer, BLOCKSIZE) == -1) { ErrorAbort(state, kFreadFailure, "failed to read %s: %s", blockdev_filename->data.c_str(), strerror(errno)); @@ -1700,7 +1686,7 @@ Value* CheckFirstBlockFn(const char* name, State* state, return StringValue(""); } - RangeSet blk0{ 1 /*count*/, 1 /*size*/, std::vector<size_t>{ 0, 1 } /*position*/ }; + RangeSet blk0(std::vector<Range>{ Range{ 0, 1 } }); std::vector<uint8_t> block0_buffer(BLOCKSIZE); if (ReadBlocks(blk0, block0_buffer, fd) == -1) { @@ -1770,24 +1756,20 @@ Value* BlockImageRecoverFn(const char* name, State* state, } fec_status status; - if (!fh.get_status(status)) { ErrorAbort(state, kLibfecFailure, "failed to read FEC status"); return StringValue(""); } - RangeSet rs = RangeSet::Parse(ranges->data); - uint8_t buffer[BLOCKSIZE]; - - for (size_t i = 0; i < rs.count; ++i) { - for (size_t j = rs.pos[i * 2]; j < rs.pos[i * 2 + 1]; ++j) { + for (const auto& range : RangeSet::Parse(ranges->data)) { + for (size_t j = range.first; j < range.second; ++j) { // Stay within the data area, libfec validates and corrects metadata - if (status.data_size <= (uint64_t)j * BLOCKSIZE) { + if (status.data_size <= static_cast<uint64_t>(j) * BLOCKSIZE) { continue; } - if (fh.pread(buffer, BLOCKSIZE, (off64_t)j * BLOCKSIZE) != BLOCKSIZE) { + if (fh.pread(buffer, BLOCKSIZE, static_cast<off64_t>(j) * BLOCKSIZE) != BLOCKSIZE) { ErrorAbort(state, kLibfecFailure, "failed to recover %s (block %zu): %s", filename->data.c_str(), j, strerror(errno)); return StringValue(""); diff --git a/updater/include/updater/rangeset.h b/updater/include/updater/rangeset.h index afaa82dcd..fad038043 100644 --- a/updater/include/updater/rangeset.h +++ b/updater/include/updater/rangeset.h @@ -19,16 +19,35 @@ #include <stddef.h> #include <string> +#include <utility> #include <vector> #include <android-base/logging.h> #include <android-base/parseint.h> #include <android-base/strings.h> -struct RangeSet { - size_t count; // Limit is INT_MAX. - size_t size; // The number of blocks in the RangeSet. - std::vector<size_t> pos; // Actual limit is INT_MAX. +using Range = std::pair<size_t, size_t>; + +class RangeSet { + public: + RangeSet() : blocks_(0) {} + + explicit RangeSet(std::vector<Range>&& pairs) { + CHECK_NE(pairs.size(), static_cast<size_t>(0)) << "Invalid number of tokens"; + + // Sanity check the input. + size_t result = 0; + for (const auto& range : pairs) { + CHECK_LT(range.first, range.second) + << "Empty or negative range: " << range.first << ", " << range.second; + size_t sz = range.second - range.first; + CHECK_LE(result, SIZE_MAX - sz) << "RangeSet size overflow"; + result += sz; + } + + ranges_ = pairs; + blocks_ = result; + } static RangeSet Parse(const std::string& range_text) { std::vector<std::string> pieces = android::base::Split(range_text, ","); @@ -42,44 +61,43 @@ struct RangeSet { CHECK_EQ(num % 2, static_cast<size_t>(0)) << "Number of tokens must be even: " << range_text; CHECK_EQ(num, pieces.size() - 1) << "Mismatching number of tokens: " << range_text; - std::vector<size_t> pairs(num); - size_t size = 0; + std::vector<Range> pairs; for (size_t i = 0; i < num; i += 2) { - CHECK(android::base::ParseUint(pieces[i + 1], &pairs[i], static_cast<size_t>(INT_MAX))); - CHECK(android::base::ParseUint(pieces[i + 2], &pairs[i + 1], static_cast<size_t>(INT_MAX))); - CHECK_LT(pairs[i], pairs[i + 1]) - << "Empty or negative range: " << pairs[i] << ", " << pairs[i + 1]; - - size_t sz = pairs[i + 1] - pairs[i]; - CHECK_LE(size, SIZE_MAX - sz) << "RangeSet size overflow"; - size += sz; + size_t first; + CHECK(android::base::ParseUint(pieces[i + 1], &first, static_cast<size_t>(INT_MAX))); + size_t second; + CHECK(android::base::ParseUint(pieces[i + 2], &second, static_cast<size_t>(INT_MAX))); + + pairs.emplace_back(first, second); } - return RangeSet{ num / 2, size, std::move(pairs) }; + return RangeSet(std::move(pairs)); } // Get the block number for the i-th (starting from 0) block in the RangeSet. size_t GetBlockNumber(size_t idx) const { - CHECK_LT(idx, size) << "Index " << idx << " is greater than RangeSet size " << size; - for (size_t i = 0; i < pos.size(); i += 2) { - if (idx < pos[i + 1] - pos[i]) { - return pos[i] + idx; + CHECK_LT(idx, blocks_) << "Out of bound index " << idx << " (total blocks: " << blocks_ << ")"; + + for (const auto& range : ranges_) { + if (idx < range.second - range.first) { + return range.first + idx; } - idx -= (pos[i + 1] - pos[i]); + idx -= (range.second - range.first); } - CHECK(false); + + CHECK(false) << "Failed to find block number for index " << idx; return 0; // Unreachable, but to make compiler happy. } // RangeSet has half-closed half-open bounds. For example, "3,5" contains blocks 3 and 4. So "3,5" // and "5,7" are not overlapped. bool Overlaps(const RangeSet& other) const { - for (size_t i = 0; i < count; ++i) { - size_t start = pos[i * 2]; - size_t end = pos[i * 2 + 1]; - for (size_t j = 0; j < other.count; ++j) { - size_t other_start = other.pos[j * 2]; - size_t other_end = other.pos[j * 2 + 1]; + for (const auto& range : ranges_) { + size_t start = range.first; + size_t end = range.second; + for (const auto& other_range : other.ranges_) { + size_t other_start = other_range.first; + size_t other_end = other_range.second; // [start, end) vs [other_start, other_end) if (!(other_start >= end || start >= other_end)) { return true; @@ -89,7 +107,58 @@ struct RangeSet { return false; } + // size() gives the number of Range's in this RangeSet. + size_t size() const { + return ranges_.size(); + } + + // blocks() gives the number of all blocks in this RangeSet. + size_t blocks() const { + return blocks_; + } + + // We provide const iterators only. + std::vector<Range>::const_iterator cbegin() const { + return ranges_.cbegin(); + } + + std::vector<Range>::const_iterator cend() const { + return ranges_.cend(); + } + + // Need to provide begin()/end() since range-based loop expects begin()/end(). + std::vector<Range>::const_iterator begin() const { + return ranges_.cbegin(); + } + + std::vector<Range>::const_iterator end() const { + return ranges_.cend(); + } + + // Reverse const iterators for MoveRange(). + std::vector<Range>::const_reverse_iterator crbegin() const { + return ranges_.crbegin(); + } + + std::vector<Range>::const_reverse_iterator crend() const { + return ranges_.crend(); + } + + const Range& operator[](size_t i) const { + return ranges_[i]; + } + bool operator==(const RangeSet& other) const { - return (count == other.count && size == other.size && pos == other.pos); + // The orders of Range's matter. "4,1,5,8,10" != "4,8,10,1,5". + return (ranges_ == other.ranges_); } + + bool operator!=(const RangeSet& other) const { + return ranges_ != other.ranges_; + } + + private: + // Actual limit for each value and the total number are both INT_MAX. + std::vector<Range> ranges_; + size_t blocks_; }; diff --git a/verifier.cpp b/verifier.cpp index 23142c120..2ef9c4c37 100644 --- a/verifier.cpp +++ b/verifier.cpp @@ -153,6 +153,12 @@ int verify_file(const unsigned char* addr, size_t length, const std::vector<Cert LOG(INFO) << "comment is " << comment_size << " bytes; signature is " << signature_start << " bytes from end"; + if (signature_start > comment_size) { + LOG(ERROR) << "signature start: " << signature_start << " is larger than comment size: " + << comment_size; + return VERIFY_FAILURE; + } + if (signature_start <= FOOTER_SIZE) { LOG(ERROR) << "Signature start is in the footer"; return VERIFY_FAILURE; |