Status
186 | 187 | 188 | 189 | 190 | 191 | -------------------------------------------------------------------------------- /Chapter3/line.csv: -------------------------------------------------------------------------------- 1 | date,usd 2 | 3/10/2013,1.0284 3 | 3/3/2013,1.0254 4 | 2/24/2013,1.014 5 | 2/17/2013,1.0035 6 | 2/10/2013,0.9979 7 | 2/3/2013,1.0023 8 | 1/27/2013,0.9973 9 | 1/20/2013,0.9864 10 | 1/13/2013,0.9859 11 | 1/6/2013,0.9907 12 | 12/30/2012,0.9934 13 | 12/23/2012,0.9877 14 | 12/16/2012,0.986 15 | 12/9/2012,0.992 16 | 12/2/2012,0.9931 17 | 11/25/2012,0.9971 18 | 11/18/2012,1.0011 19 | 11/11/2012,0.9967 20 | 11/4/2012,0.9981 21 | 10/28/2012,0.994 22 | 10/21/2012,0.9838 23 | 10/14/2012,0.9785 24 | 10/7/2012,0.9824 25 | 9/30/2012,0.9804 26 | 9/23/2012,0.9744 27 | 9/16/2012,0.974 28 | 9/9/2012,0.9847 29 | 9/2/2012,0.9895 30 | 8/26/2012,0.9903 31 | 8/19/2012,0.9902 32 | 8/12/2012,0.9962 33 | 8/5/2012,1.0029 34 | 7/29/2012,1.013 35 | 7/22/2012,1.0122 36 | 7/15/2012,1.0187 37 | 7/8/2012,1.0157 38 | 7/1/2012,1.0247 39 | 6/24/2012,1.0225 40 | 6/17/2012,1.0253 41 | 6/10/2012,1.0339 42 | 6/3/2012,1.0302 43 | 5/27/2012,1.0235 44 | 5/20/2012,1.0098 45 | 5/13/2012,0.9988 46 | 5/6/2012,0.9869 47 | 4/29/2012,0.9869 48 | 4/22/2012,0.9944 49 | 4/15/2012,0.9986 50 | 4/8/2012,0.9948 51 | 4/1/2012,0.9965 52 | 3/25/2012,0.9935 53 | 3/18/2012,0.9914 54 | 3/11/2012,0.9934 55 | 3/4/2012,0.9929 56 | 2/26/2012,0.9968 57 | 2/19/2012,0.9987 58 | 2/12/2012,0.9964 59 | 2/5/2012,0.9994 60 | 1/29/2012,1.007 61 | 1/22/2012,1.0156 62 | 1/15/2012,1.022 63 | 1/8/2012,1.0187 64 | 1/1/2012,1.0206 65 | 12/25/2011,1.0287 66 | 12/18/2011,1.0303 67 | 12/11/2011,1.0159 68 | 12/4/2011,1.0277 69 | 11/27/2011,1.0402 70 | 11/20/2011,1.021 71 | 11/13/2011,1.0161 72 | 11/6/2011,1.0084 73 | 10/30/2011,1.0018 74 | 10/23/2011,1.0135 75 | 10/16/2011,1.0241 76 | 10/9/2011,1.0461 77 | 10/2/2011,1.0326 78 | 9/25/2011,1.0036 79 | 9/18/2011,0.9893 80 | 9/11/2011,0.9892 81 | 9/4/2011,0.9794 82 | 8/28/2011,0.9869 83 | 8/21/2011,0.9858 84 | 8/14/2011,0.9869 85 | 8/7/2011,0.9651 86 | 7/31/2011,0.9486 87 | 7/24/2011,0.9507 88 | 7/17/2011,0.9612 89 | 7/10/2011,0.9611 90 | 7/3/2011,0.975 91 | 6/26/2011,0.9792 92 | 6/19/2011,0.9777 93 | 6/12/2011,0.9777 94 | 6/5/2011,0.9752 95 | 5/29/2011,0.9767 96 | 5/22/2011,0.971 97 | 5/15/2011,0.9635 98 | 5/8/2011,0.9558 99 | 5/1/2011,0.9508 100 | 4/24/2011,0.9562 101 | 4/17/2011,0.9592 102 | 4/10/2011,0.9607 103 | 4/3/2011,0.9726 104 | 3/27/2011,0.9798 105 | 3/20/2011,0.9814 106 | 3/13/2011,0.9723 107 | 3/6/2011,0.9738 108 | 2/27/2011,0.9843 109 | 2/20/2011,0.9862 110 | 2/13/2011,0.9909 111 | 2/6/2011,0.9931 112 | 1/30/2011,0.9957 113 | 1/23/2011,0.9919 114 | 1/16/2011,0.9908 115 | 1/9/2011,0.9952 116 | 1/2/2011,1.002 117 | 12/26/2010,1.0125 118 | 12/19/2010,1.0079 119 | 12/12/2010,1.0076 120 | 12/5/2010,1.0147 121 | 11/28/2010,1.0166 122 | 11/21/2010,1.0161 123 | 11/14/2010,1.0043 124 | 11/7/2010,1.0089 125 | 10/31/2010,1.0226 126 | 10/24/2010,1.0221 127 | 10/17/2010,1.0086 128 | 10/10/2010,1.016 129 | 10/3/2010,1.0263 130 | 9/26/2010,1.029 131 | 9/19/2010,1.0296 132 | 9/12/2010,1.0376 133 | 9/5/2010,1.0514 134 | 8/29/2010,1.0542 135 | 8/22/2010,1.0393 136 | 8/15/2010,1.0362 137 | 8/8/2010,1.0231 138 | 8/1/2010,1.033 139 | 7/25/2010,1.0454 140 | 7/18/2010,1.039 141 | 7/11/2010,1.0501 142 | 7/4/2010,1.0514 143 | 6/27/2010,1.0305 144 | 6/20/2010,1.0272 145 | 6/13/2010,1.0458 146 | 6/6/2010,1.0493 147 | 5/30/2010,1.0599 148 | 5/23/2010,1.0474 149 | 5/16/2010,1.0268 150 | 5/9/2010,1.0294 151 | 5/2/2010,1.0072 152 | 4/25/2010,1.0045 153 | 4/18/2010,1.0038 154 | 4/11/2010,1.004 155 | 4/4/2010,1.0162 156 | 3/28/2010,1.0213 157 | 3/21/2010,1.0155 158 | 3/14/2010,1.0248 159 | 3/7/2010,1.0368 160 | 2/28/2010,1.0497 161 | 2/21/2010,1.0455 162 | 2/14/2010,1.0625 163 | 2/7/2010,1.0664 164 | 1/31/2010,1.0624 165 | 1/24/2010,1.0401 166 | 1/17/2010,1.0305 167 | 1/10/2010,1.0382 168 | 1/3/2010,1.0487 169 | 12/27/2009,1.0555 170 | 12/20/2009,1.0631 171 | 12/13/2009,1.0563 172 | 12/6/2009,1.0538 173 | 11/29/2009,1.0604 174 | 11/22/2009,1.0572 175 | 11/15/2009,1.0562 176 | 11/8/2009,1.0729 177 | 11/1/2009,1.0683 178 | 10/25/2009,1.0437 179 | 10/18/2009,1.0343 180 | 10/11/2009,1.0608 181 | 10/4/2009,1.0833 182 | 9/27/2009,1.0777 183 | 9/20/2009,1.0734 184 | 9/13/2009,1.0794 185 | 9/6/2009,1.0964 186 | 8/30/2009,1.0859 187 | 8/23/2009,1.0959 188 | 8/16/2009,1.0901 189 | 8/9/2009,1.0748 190 | 8/2/2009,1.0827 191 | 7/26/2009,1.0999 192 | 7/19/2009,1.135 193 | 7/12/2009,1.1622 194 | 7/5/2009,1.1562 195 | 6/28/2009,1.1483 196 | 6/21/2009,1.1296 197 | 6/14/2009,1.1123 198 | 6/7/2009,1.0975 199 | 5/31/2009,1.1131 200 | 5/24/2009,1.1497 201 | 5/17/2009,1.1646 202 | 5/10/2009,1.1707 203 | 5/3/2009,1.2035 204 | 4/26/2009,1.2253 205 | 4/19/2009,1.2156 206 | 4/12/2009,1.2319 207 | 4/5/2009,1.2472 208 | 3/29/2009,1.233 209 | 3/22/2009,1.2572 210 | 3/15/2009,1.2832 211 | 3/8/2009,1.2838 212 | 3/1/2009,1.2545 213 | 2/22/2009,1.2513 214 | 2/15/2009,1.2327 215 | 2/8/2009,1.2322 216 | 2/1/2009,1.2257 217 | 1/25/2009,1.2506 218 | 1/18/2009,1.224 219 | 1/11/2009,1.1926 220 | 1/4/2009,1.217 221 | 12/28/2008,1.2165 222 | 12/21/2008,1.2201 223 | 12/14/2008,1.2547 224 | 12/7/2008,1.2556 225 | 11/30/2008,1.2422 226 | 11/23/2008,1.2493 227 | 11/16/2008,1.2091 228 | 11/9/2008,1.1846 229 | 11/2/2008,1.2496 230 | 10/26/2008,1.2293 231 | 10/19/2008,1.172 232 | 10/12/2008,1.1227 233 | 10/5/2008,1.0588 234 | 9/28/2008,1.0374 235 | 9/21/2008,1.062 236 | 9/14/2008,1.0661 237 | 9/7/2008,1.0653 238 | 8/31/2008,1.0507 239 | 8/24/2008,1.0558 240 | 8/17/2008,1.0645 241 | 8/10/2008,1.0449 242 | 8/3/2008,1.0232 243 | 7/27/2008,1.0096 244 | 7/20/2008,1.0048 245 | 7/13/2008,1.0147 246 | 7/6/2008,1.0159 247 | 6/29/2008,1.0128 248 | 6/22/2008,1.0204 249 | 6/15/2008,1.023 250 | 6/8/2008,1.008 251 | 6/1/2008,0.9909 252 | 5/25/2008,0.9907 253 | 5/18/2008,1.0028 254 | 5/11/2008,1.0109 255 | 5/4/2008,1.014 256 | 4/27/2008,1.0105 257 | 4/20/2008,1.0133 258 | 4/13/2008,1.0157 259 | 4/6/2008,1.0168 260 | 3/30/2008,1.0197 261 | 3/23/2008,1.0053 262 | -------------------------------------------------------------------------------- /Chapter3/multiLine.csv: -------------------------------------------------------------------------------- 1 | date,USD/CAD,USD/EUR,USD/GBP 2 | 03/10/2013,1.0284,0.7675,0.6651 3 | 03/03/2013,1.0254,0.763,0.6609 4 | 2/24/2013,1.014,0.7521,0.6512 5 | 2/17/2013,1.0035,0.7468,0.6402 6 | 02/10/2013,0.9979,0.7402,0.6361 7 | 02/03/2013,1.0023,0.7388,0.6342 8 | 1/27/2013,0.9973,0.7488,0.6315 9 | 1/20/2013,0.9864,0.7498,0.6241 10 | 1/13/2013,0.9859,0.7604,0.6217 11 | 01/06/2013,0.9907,0.7601,0.6183 12 | 12/30/2012,0.9934,0.7571,0.6193 13 | 12/23/2012,0.9877,0.7577,0.6166 14 | 12/16/2012,0.986,0.7678,0.6208 15 | 12/09/2012,0.992,0.7684,0.6225 16 | 12/02/2012,0.9931,0.7711,0.6241 17 | 11/25/2012,0.9971,0.779,0.6273 18 | 11/18/2012,1.0011,0.7856,0.6298 19 | 11/11/2012,0.9967,0.7825,0.6259 20 | 11/04/2012,0.9981,0.7739,0.6218 21 | 10/28/2012,0.994,0.77,0.6233 22 | 10/21/2012,0.9838,0.7676,0.6219 23 | 10/14/2012,0.9785,0.7723,0.6228 24 | 10/07/2012,0.9824,0.7729,0.6194 25 | 9/30/2012,0.9804,0.7746,0.6171 26 | 9/23/2012,0.9744,0.7664,0.6161 27 | 9/16/2012,0.974,0.7744,0.6213 28 | 09/09/2012,0.9847,0.7915,0.6283 29 | 09/02/2012,0.9895,0.7976,0.632 30 | 8/26/2012,0.9903,0.8032,0.6336 31 | 8/19/2012,0.9902,0.8116,0.6372 32 | 08/12/2012,0.9962,0.8095,0.6394 33 | 08/05/2012,1.0029,0.8135,0.6391 34 | 7/29/2012,1.013,0.8206,0.6409 35 | 7/22/2012,1.0122,0.8167,0.6397 36 | 7/15/2012,1.0187,0.8158,0.6448 37 | 07/08/2012,1.0157,0.7995,0.6405 38 | 07/01/2012,1.0247,0.7975,0.6407 39 | 6/24/2012,1.0225,0.792,0.6382 40 | 6/17/2012,1.0253,0.7954,0.6427 41 | 06/10/2012,1.0339,0.8005,0.6481 42 | 06/03/2012,1.0302,0.8022,0.6434 43 | 5/27/2012,1.0235,0.7901,0.6353 44 | 5/20/2012,1.0098,0.7819,0.6269 45 | 5/13/2012,0.9988,0.7701,0.6198 46 | 05/06/2012,0.9869,0.7584,0.6169 47 | 4/29/2012,0.9869,0.7571,0.6185 48 | 4/22/2012,0.9944,0.7617,0.6259 49 | 4/15/2012,0.9986,0.7628,0.6293 50 | 04/08/2012,0.9948,0.7571,0.6276 51 | 04/01/2012,0.9965,0.7509,0.6274 52 | 3/25/2012,0.9935,0.7564,0.6306 53 | 3/18/2012,0.9914,0.7628,0.6365 54 | 03/11/2012,0.9934,0.7588,0.6338 55 | 03/04/2012,0.9929,0.7483,0.6295 56 | 2/26/2012,0.9968,0.7526,0.6328 57 | 2/19/2012,0.9987,0.7604,0.6345 58 | 02/12/2012,0.9964,0.7578,0.6324 59 | 02/05/2012,0.9994,0.76,0.6339 60 | 1/29/2012,1.007,0.766,0.6398 61 | 1/22/2012,1.0156,0.781,0.6489 62 | 1/15/2012,1.022,0.785,0.6497 63 | 01/08/2012,1.0187,0.7754,0.6438 64 | 01/01/2012,1.0206,0.7688,0.6428 65 | 12/25/2011,1.0287,0.7661,0.6406 66 | 12/18/2011,1.0303,0.7615,0.6427 67 | 12/11/2011,1.0159,0.7467,0.6392 68 | 12/04/2011,1.0277,0.7479,0.6415 69 | 11/27/2011,1.0402,0.7459,0.6411 70 | 11/20/2011,1.021,0.7364,0.6303 71 | 11/13/2011,1.0161,0.7289,0.6243 72 | 11/06/2011,1.0084,0.7217,0.6239 73 | 10/30/2011,1.0018,0.7146,0.6241 74 | 10/23/2011,1.0135,0.724,0.6324 75 | 10/16/2011,1.0241,0.7314,0.6374 76 | 10/09/2011,1.0461,0.7494,0.6453 77 | 10/02/2011,1.0326,0.7397,0.6421 78 | 9/25/2011,1.0036,0.7343,0.6412 79 | 9/18/2011,0.9893,0.7289,0.6323 80 | 09/11/2011,0.9892,0.7147,0.6239 81 | 09/04/2011,0.9794,0.6954,0.6138 82 | 8/28/2011,0.9869,0.6934,0.609 83 | 8/21/2011,0.9858,0.6961,0.6089 84 | 8/14/2011,0.9869,0.7012,0.6137 85 | 08/07/2011,0.9651,0.7004,0.6113 86 | 7/31/2011,0.9486,0.6949,0.6114 87 | 7/24/2011,0.9507,0.7028,0.618 88 | 7/17/2011,0.9612,0.7075,0.6233 89 | 07/10/2011,0.9611,0.6943,0.6233 90 | 07/03/2011,0.975,0.6958,0.6244 91 | 6/26/2011,0.9792,0.7,0.621 92 | 6/19/2011,0.9777,0.6988,0.6156 93 | 06/12/2011,0.9777,0.6868,0.611 94 | 06/05/2011,0.9752,0.6933,0.6084 95 | 5/29/2011,0.9767,0.7067,0.6139 96 | 5/22/2011,0.971,0.7044,0.6168 97 | 5/15/2011,0.9635,0.7004,0.6126 98 | 05/08/2011,0.9558,0.6805,0.605 99 | 05/01/2011,0.9508,0.6803,0.603 100 | 4/24/2011,0.9562,0.6919,0.6099 101 | 4/17/2011,0.9592,0.6916,0.6124 102 | 04/10/2011,0.9607,0.6991,0.6149 103 | 04/03/2011,0.9726,0.7076,0.6231 104 | 3/27/2011,0.9798,0.7063,0.6168 105 | 3/20/2011,0.9814,0.7142,0.6204 106 | 3/13/2011,0.9723,0.7187,0.6185 107 | 03/06/2011,0.9738,0.7216,0.6157 108 | 2/27/2011,0.9843,0.7288,0.6179 109 | 2/20/2011,0.9862,0.737,0.6205 110 | 2/13/2011,0.9909,0.7351,0.6219 111 | 02/06/2011,0.9931,0.7309,0.6226 112 | 1/30/2011,0.9957,0.7324,0.6285 113 | 1/23/2011,0.9919,0.7437,0.6273 114 | 1/16/2011,0.9908,0.7632,0.6374 115 | 01/09/2011,0.9952,0.7585,0.6436 116 | 01/02/2011,1.002,0.7561,0.6464 117 | 12/26/2010,1.0125,0.7612,0.6463 118 | 12/19/2010,1.0079,0.7535,0.6373 119 | 12/12/2010,1.0076,0.7523,0.634 120 | 12/05/2010,1.0147,0.7576,0.6401 121 | 11/28/2010,1.0166,0.7436,0.6322 122 | 11/21/2010,1.0161,0.734,0.6246 123 | 11/14/2010,1.0043,0.7236,0.6204 124 | 11/07/2010,1.0089,0.7124,0.6206 125 | 10/31/2010,1.0226,0.7187,0.631 126 | 10/24/2010,1.0221,0.718,0.633 127 | 10/17/2010,1.0086,0.7158,0.6272 128 | 10/10/2010,1.016,0.7219,0.6295 129 | 10/03/2010,1.0263,0.7351,0.6322 130 | 9/26/2010,1.029,0.7536,0.638 131 | 9/19/2010,1.0296,0.7724,0.6438 132 | 09/12/2010,1.0376,0.7833,0.6488 133 | 09/05/2010,1.0514,0.7821,0.6472 134 | 8/29/2010,1.0542,0.7873,0.6449 135 | 8/22/2010,1.0393,0.7813,0.6414 136 | 8/15/2010,1.0362,0.7686,0.6351 137 | 08/08/2010,1.0231,0.7586,0.63 138 | 08/01/2010,1.033,0.769,0.6422 139 | 7/25/2010,1.0454,0.7753,0.6535 140 | 7/18/2010,1.039,0.784,0.6576 141 | 07/11/2010,1.0501,0.7929,0.6602 142 | 07/04/2010,1.0514,0.808,0.6628 143 | 6/27/2010,1.0305,0.8105,0.6709 144 | 6/20/2010,1.0272,0.8138,0.6779 145 | 6/13/2010,1.0458,0.8319,0.6885 146 | 06/06/2010,1.0493,0.8204,0.687 147 | 5/30/2010,1.0599,0.8098,0.692 148 | 5/23/2010,1.0474,0.8061,0.6931 149 | 5/16/2010,1.0268,0.7913,0.6774 150 | 05/09/2010,1.0294,0.7717,0.6645 151 | 05/02/2010,1.0072,0.7523,0.6527 152 | 4/25/2010,1.0045,0.7457,0.651 153 | 4/18/2010,1.0038,0.7373,0.6489 154 | 04/11/2010,1.004,0.7446,0.655 155 | 04/04/2010,1.0162,0.7415,0.6616 156 | 3/28/2010,1.0213,0.7443,0.6687 157 | 3/21/2010,1.0155,0.7313,0.6596 158 | 3/14/2010,1.0248,0.7317,0.6631 159 | 03/07/2010,1.0368,0.7347,0.6633 160 | 2/28/2010,1.0497,0.7361,0.6505 161 | 2/21/2010,1.0455,0.7341,0.6402 162 | 2/14/2010,1.0625,0.7304,0.6389 163 | 02/07/2010,1.0664,0.7227,0.6303 164 | 1/31/2010,1.0624,0.7123,0.62 165 | 1/24/2010,1.0401,0.7025,0.6152 166 | 1/17/2010,1.0305,0.6914,0.6175 167 | 01/10/2010,1.0382,0.696,0.6232 168 | 01/03/2010,1.0487,0.696,0.6234 169 | 12/27/2009,1.0555,0.6973,0.6237 170 | 12/20/2009,1.0631,0.6897,0.616 171 | 12/13/2009,1.0563,0.6778,0.6121 172 | 12/06/2009,1.0538,0.6659,0.6043 173 | 11/29/2009,1.0604,0.6679,0.6042 174 | 11/22/2009,1.0572,0.6707,0.5994 175 | 11/15/2009,1.0562,0.6697,0.6002 176 | 11/08/2009,1.0729,0.6759,0.6062 177 | 11/01/2009,1.0683,0.6736,0.6099 178 | 10/25/2009,1.0437,0.6681,0.6088 179 | 10/18/2009,1.0343,0.6735,0.6235 180 | 10/11/2009,1.0608,0.6806,0.6271 181 | 10/04/2009,1.0833,0.6845,0.6273 182 | 9/27/2009,1.0777,0.6794,0.6176 183 | 9/20/2009,1.0734,0.6821,0.6065 184 | 9/13/2009,1.0794,0.691,0.6051 185 | 09/06/2009,1.0964,0.7001,0.6139 186 | 8/30/2009,1.0859,0.6989,0.6116 187 | 8/23/2009,1.0959,0.7039,0.6066 188 | 8/16/2009,1.0901,0.7042,0.6038 189 | 08/09/2009,1.0748,0.6982,0.5943 190 | 08/02/2009,1.0827,0.7052,0.6059 191 | 7/26/2009,1.0999,0.7046,0.6082 192 | 7/19/2009,1.135,0.7126,0.6131 193 | 07/12/2009,1.1622,0.7169,0.6167 194 | 07/05/2009,1.1562,0.7119,0.6077 195 | 6/28/2009,1.1483,0.7151,0.6081 196 | 6/21/2009,1.1296,0.7184,0.6098 197 | 6/14/2009,1.1123,0.7142,0.615 198 | 06/07/2009,1.0975,0.7068,0.6149 199 | 5/31/2009,1.1131,0.7143,0.6252 200 | 5/24/2009,1.1497,0.7292,0.6427 201 | 5/17/2009,1.1646,0.7353,0.658 202 | 05/10/2009,1.1707,0.7471,0.6643 203 | 05/03/2009,1.2035,0.757,0.6783 204 | 4/26/2009,1.2253,0.7659,0.6826 205 | 4/19/2009,1.2156,0.7584,0.6743 206 | 04/12/2009,1.2319,0.7518,0.6788 207 | 04/05/2009,1.2472,0.7505,0.6906 208 | 3/29/2009,1.233,0.7397,0.6891 209 | 3/22/2009,1.2572,0.7554,0.704 210 | 3/15/2009,1.2832,0.7833,0.7181 211 | 03/08/2009,1.2838,0.7929,0.7068 212 | 03/01/2009,1.2545,0.7836,0.695 213 | 2/22/2009,1.2513,0.7866,0.6993 214 | 2/15/2009,1.2327,0.7745,0.6871 215 | 02/08/2009,1.2322,0.7776,0.6895 216 | 02/01/2009,1.2257,0.7676,0.7073 217 | 1/25/2009,1.2506,0.7664,0.7088 218 | 1/18/2009,1.224,0.7525,0.6762 219 | 01/11/2009,1.1926,0.7331,0.6715 220 | 01/04/2009,1.217,0.7129,0.6864 221 | 12/28/2008,1.2165,0.7146,0.6767 222 | 12/21/2008,1.2201,0.7204,0.6593 223 | 12/14/2008,1.2547,0.7671,0.6739 224 | 12/07/2008,1.2556,0.7879,0.671 225 | 11/30/2008,1.2422,0.7813,0.6567 226 | 11/23/2008,1.2493,0.7944,0.6715 227 | 11/16/2008,1.2091,0.7896,0.6562 228 | 11/09/2008,1.1846,0.782,0.6295 229 | 11/02/2008,1.2496,0.7871,0.6252 230 | 10/26/2008,1.2293,0.7681,0.6042 231 | 10/19/2008,1.172,0.7402,0.5782 232 | 10/12/2008,1.1227,0.7354,0.576 233 | 10/05/2008,1.0588,0.7076,0.5579 234 | 9/28/2008,1.0374,0.6837,0.5418 235 | 9/21/2008,1.062,0.6994,0.5538 236 | 9/14/2008,1.0661,0.7067,0.5656 237 | 09/07/2008,1.0653,0.6908,0.5602 238 | 8/31/2008,1.0507,0.6791,0.5439 239 | 8/24/2008,1.0558,0.6777,0.5365 240 | 8/17/2008,1.0645,0.6723,0.5292 241 | 08/10/2008,1.0449,0.6499,0.5126 242 | 08/03/2008,1.0232,0.6397,0.5042 243 | 7/27/2008,1.0096,0.6337,0.5013 244 | 7/20/2008,1.0048,0.6294,0.5007 245 | 7/13/2008,1.0147,0.6348,0.5053 246 | 07/06/2008,1.0159,0.634,0.5025 247 | 6/29/2008,1.0128,0.639,0.5056 248 | 6/22/2008,1.0204,0.6448,0.5096 249 | 6/15/2008,1.023,0.6433,0.5105 250 | 06/08/2008,1.008,0.6426,0.5087 251 | 06/01/2008,0.9909,0.6385,0.5053 252 | 5/25/2008,0.9907,0.638,0.5082 253 | 5/18/2008,1.0028,0.6453,0.5126 254 | 05/11/2008,1.0109,0.6471,0.5094 255 | 05/04/2008,1.014,0.6429,0.505 256 | 4/27/2008,1.0105,0.6328,0.5034 257 | 4/20/2008,1.0133,0.6314,0.5053 258 | 4/13/2008,1.0157,0.6343,0.5054 259 | 04/06/2008,1.0168,0.6363,0.5027 260 | 3/30/2008,1.0197,0.6397,0.5013 261 | 3/23/2008,1.0053,0.6404,0.5004 -------------------------------------------------------------------------------- /Chapter2/pokemon.csv: -------------------------------------------------------------------------------- 1 | id,typeTwo,name,type 2 | 001, Poison, Bulbasaur, Grass 3 | 002, Poison, Ivysaur, Grass 4 | 003, Poison, Venusaur, Grass 5 | 006, Flying, Charizard, Fire 6 | 012, Flying, Butterfree, Bug 7 | 013, Poison, Weedle, Bug 8 | 014, Poison, Kakuna, Bug 9 | 015, Poison, Beedrill, Bug 10 | 016, Flying, Pidgey, Normal 11 | 017, Flying, Pidgeotto, Normal 12 | 018, Flying, Pidgeot, Normal 13 | 021, Flying, Spearow, Normal 14 | 022, Flying, Fearow, Normal 15 | 031, Ground, Nidoqueen, Poison 16 | 034, Ground, Nidoking, Poison 17 | 041, Flying, Zubat, Poison 18 | 042, Flying, Golbat, Poison 19 | 043, Poison, Oddish, Grass 20 | 044, Poison, Gloom, Grass 21 | 045, Poison, Vileplume, Grass 22 | 046, Grass, Paras, Bug 23 | 047, Grass, Parasect, Bug 24 | 048, Poison, Venonat, Bug 25 | 049, Poison, Venomoth, Bug 26 | 062, Fighting, Poliwrath, Water 27 | 069, Poison, Bellsprout, Grass 28 | 070, Poison, Weepinbell, Grass 29 | 071, Poison, Victreebel, Grass 30 | 072, Poison, Tentacool, Water 31 | 073, Poison, Tentacruel, Water 32 | 074, Ground, Geodude, Rock 33 | 075, Ground, Graveler, Rock 34 | 076, Ground, Golem, Rock 35 | 079, Psychic, Slowpoke, Water 36 | 080, Psychic, Slowbro, Water 37 | 081, Steel, Magnemite, Electric 38 | 082, Steel, Magneton, Electric 39 | 083, Flying, Farfetch'd, Normal 40 | 084, Flying, Doduo, Normal 41 | 085, Flying, Dodrio, Normal 42 | 087, Ice, Dewgong, Water 43 | 091, Ice, Cloyster, Water 44 | 092, Poison, Gastly, Ghost 45 | 093, Poison, Haunter, Ghost 46 | 094, Poison, Gengar, Ghost 47 | 095, Ground, Onix, Rock 48 | 102, Psychic, Exeggcute, Grass 49 | 103, Psychic, Exeggutor, Grass 50 | 111, Rock, Rhyhorn, Ground 51 | 112, Rock, Rhydon, Ground 52 | 121, Psychic, Starmie, Water 53 | 123, Flying, Scyther, Bug 54 | 124, Psychic, Jynx, Ice 55 | 130, Flying, Gyarados, Water 56 | 131, Ice, Lapras, Water 57 | 138, Water, Omanyte, Rock 58 | 139, Water, Omastar, Rock 59 | 140, Water, Kabuto, Rock 60 | 141, Water, Kabutops, Rock 61 | 142, Flying, Aerodactyl, Rock 62 | 144, Flying, Articuno, Ice 63 | 145, Flying, Zapdos, Electric 64 | 146, Flying, Moltres, Fire 65 | 149, Flying, Dragonite, Dragon 66 | 163, Flying, Hoothoot, Normal 67 | 164, Flying, Noctowl, Normal 68 | 165, Flying, Ledyba, Bug 69 | 166, Flying, Ledian, Bug 70 | 167, Poison, Spinarak, Bug 71 | 168, Poison, Ariados, Bug 72 | 169, Flying, Crobat, Poison 73 | 170, Electric, Chinchou, Water 74 | 171, Electric, Lanturn, Water 75 | 176, Flying, Togetic, Normal 76 | 177, Flying, Natu, Psychic 77 | 178, Flying, Xatu, Psychic 78 | 187, Flying, Hoppip, Grass 79 | 188, Flying, Skiploom, Grass 80 | 189, Flying, Jumpluff, Grass 81 | 193, Flying, Yanma, Bug 82 | 194, Ground, Wooper, Water 83 | 195, Ground, Quagsire, Water 84 | 198, Flying, Murkrow, Dark 85 | 199, Psychic, Slowking, Water 86 | 203, Psychic, Girafarig, Normal 87 | 205, Steel, Forretress, Bug 88 | 207, Flying, Gligar, Ground 89 | 208, Ground, Steelix, Steel 90 | 211, Poison, Qwilfish, Water 91 | 212, Steel, Scizor, Bug 92 | 213, Rock, Shuckle, Bug 93 | 214, Fighting, Heracross, Bug 94 | 215, Ice, Sneasel, Dark 95 | 219, Rock, Magcargo, Fire 96 | 220, Ground, Swinub, Ice 97 | 221, Ground, Piloswine, Ice 98 | 222, Rock, Corsola, Water 99 | 225, Flying, Delibird, Ice 100 | 226, Flying, Mantine, Water 101 | 227, Flying, Skarmory, Steel 102 | 228, Fire, Houndour, Dark 103 | 229, Fire, Houndoom, Dark 104 | 230, Dragon, Kingdra, Water 105 | 238, Psychic, Smoochum, Ice 106 | 246, Ground, Larvitar, Rock 107 | 247, Ground, Pupitar, Rock 108 | 248, Dark, Tyranitar, Rock 109 | 249, Flying, Lugia, Psychic 110 | 250, Flying, Ho-Oh, Fire 111 | 251, Grass, Celebi, Psychic 112 | 256, Fighting, Combusken, Fire 113 | 257, Fighting, Blaziken, Fire 114 | 259, Ground, Marshtomp, Water 115 | 260, Ground, Swampert, Water 116 | 267, Flying, Beautifly, Bug 117 | 269, Poison, Dustox, Bug 118 | 270, Grass, Lotad, Water 119 | 271, Grass, Lombre, Water 120 | 272, Grass, Ludicolo, Water 121 | 274, Dark, Nuzleaf, Grass 122 | 275, Dark, Shiftry, Grass 123 | 276, Flying, Taillow, Normal 124 | 277, Flying, Swellow, Normal 125 | 278, Flying, Wingull, Water 126 | 279, Flying, Pelipper, Water 127 | 283, Water, Surskit, Bug 128 | 284, Flying, Masquerain, Bug 129 | 286, Fighting, Breloom, Grass 130 | 290, Ground, Nincada, Bug 131 | 291, Flying, Ninjask, Bug 132 | 292, Ghost, Shedinja, Bug 133 | 302, Ghost, Sableye, Dark 134 | 304, Rock, Aron, Steel 135 | 305, Rock, Lairon, Steel 136 | 306, Rock, Aggron, Steel 137 | 307, Psychic, Meditite, Fighting 138 | 308, Psychic, Medicham, Fighting 139 | 315, Poison, Roselia, Grass 140 | 318, Dark, Carvanha, Water 141 | 319, Dark, Sharpedo, Water 142 | 322, Ground, Numel, Fire 143 | 323, Ground, Camerupt, Fire 144 | 329, Dragon, Vibrava, Ground 145 | 330, Dragon, Flygon, Ground 146 | 332, Dark, Cacturne, Grass 147 | 333, Flying, Swablu, Normal 148 | 334, Flying, Altaria, Dragon 149 | 337, Psychic, Lunatone, Rock 150 | 338, Psychic, Solrock, Rock 151 | 339, Ground, Barboach, Water 152 | 340, Ground, Whiscash, Water 153 | 342, Dark, Crawdaunt, Water 154 | 343, Psychic, Baltoy, Ground 155 | 344, Psychic, Claydol, Ground 156 | 345, Grass, Lileep, Rock 157 | 346, Grass, Cradily, Rock 158 | 347, Bug, Anorith, Rock 159 | 348, Bug, Armaldo, Rock 160 | 357, Flying, Tropius, Grass 161 | 363, Water, Spheal, Ice 162 | 364, Water, Sealeo, Ice 163 | 365, Water, Walrein, Ice 164 | 369, Rock, Relicanth, Water 165 | 373, Flying, Salamence, Dragon 166 | 374, Psychic, Beldum, Steel 167 | 375, Psychic, Metang, Steel 168 | 376, Psychic, Metagross, Steel 169 | 380, Psychic, Latias, Dragon 170 | 381, Psychic, Latios, Dragon 171 | 384, Flying, Rayquaza, Dragon 172 | 385, Psychic, Jirachi, Steel 173 | 389, Ground, Torterra, Grass 174 | 391, Fighting, Monferno, Fire 175 | 392, Fighting, Infernape, Fire 176 | 395, Steel, Empoleon, Water 177 | 396, Flying, Starly, Normal 178 | 397, Flying, Staravia, Normal 179 | 398, Flying, Staraptor, Normal 180 | 400, Water, Bibarel, Normal 181 | 406, Poison, Budew, Grass 182 | 407, Poison, Roserade, Grass 183 | 410, Steel, Shieldon, Rock 184 | 411, Steel, Bastiodon, Rock 185 | 413, Steel, Wormadam, Bug 186 | 414, Flying, Mothim, Bug 187 | 415, Flying, Combee, Bug 188 | 416, Flying, Vespiquen, Bug 189 | 423, Ground, Gastrodon, Water 190 | 425, Flying, Drifloon, Ghost 191 | 426, Flying, Drifblim, Ghost 192 | 430, Flying, Honchkrow, Dark 193 | 434, Dark, Stunky, Poison 194 | 435, Dark, Skuntank, Poison 195 | 436, Psychic, Bronzor, Steel 196 | 437, Psychic, Bronzong, Steel 197 | 441, Flying, Chatot, Normal 198 | 442, Dark, Spiritomb, Ghost 199 | 443, Ground, Gible, Dragon 200 | 444, Ground, Gabite, Dragon 201 | 445, Ground, Garchomp, Dragon 202 | 448, Steel, Lucario, Fighting 203 | 451, Bug, Skorupi, Poison 204 | 452, Dark, Drapion, Poison 205 | 453, Fighting, Croagunk, Poison 206 | 454, Fighting, Toxicroak, Poison 207 | 458, Flying, Mantyke, Water 208 | 459, Ice, Snover, Grass 209 | 460, Ice, Abomasnow, Grass 210 | 461, Ice, Weavile, Dark 211 | 462, Steel, Magnezone, Electric 212 | 464, Rock, Rhyperior, Ground 213 | 468, Flying, Togekiss, Normal 214 | 469, Flying, Yanmega, Bug 215 | 472, Flying, Gliscor, Ground 216 | 473, Ground, Mamoswine, Ice 217 | 475, Fighting, Gallade, Psychic 218 | 476, Steel, Probopass, Rock 219 | 478, Ghost, Froslass, Ice 220 | 479, Grass, Rotom, Electric 221 | 483, Dragon, Dialga, Steel 222 | 484, Dragon, Palkia, Water 223 | 485, Steel, Heatran, Fire 224 | 487, Dragon, Giratina, Ghost 225 | 492, Flying, Shaymin, Grass 226 | 494, Fire, Victini, Psychic 227 | 499, Fighting, Pignite, Fire 228 | 500, Fighting, Emboar, Fire 229 | 519, Flying, Pidove, Normal 230 | 520, Flying, Tranquill, Normal 231 | 521, Flying, Unfezant, Normal 232 | 527, Flying, Woobat, Psychic 233 | 528, Flying, Swoobat, Psychic 234 | 530, Steel, Excadrill, Ground 235 | 536, Ground, Palpitoad, Water 236 | 537, Ground, Seismitoad, Water 237 | 540, Grass, Sewaddle, Bug 238 | 541, Grass, Swadloon, Bug 239 | 542, Grass, Leavanny, Bug 240 | 543, Poison, Venipede, Bug 241 | 544, Poison, Whirlipede, Bug 242 | 545, Poison, Scolipede, Bug 243 | 551, Dark, Sandile, Ground 244 | 552, Dark, Krokorok, Ground 245 | 553, Dark, Krookodile, Ground 246 | 555, Psychic, Darmanitan, Fire 247 | 557, Rock, Dwebble, Bug 248 | 558, Rock, Crustle, Bug 249 | 559, Fighting, Scraggy, Dark 250 | 560, Fighting, Scrafty, Dark 251 | 561, Flying, Sigilyph, Psychic 252 | 564, Rock, Tirtouga, Water 253 | 565, Rock, Carracosta, Water 254 | 566, Flying, Archen, Rock 255 | 567, Flying, Archeops, Rock 256 | 580, Flying, Ducklett, Water 257 | 581, Flying, Swanna, Water 258 | 585, Grass, Deerling, Normal 259 | 586, Grass, Sawsbuck, Normal 260 | 587, Flying, Emolga, Electric 261 | 589, Steel, Escavalier, Bug 262 | 590, Poison, Foongus, Grass 263 | 591, Poison, Amoonguss, Grass 264 | 592, Ghost, Frillish, Water 265 | 593, Ghost, Jellicent, Water 266 | 595, Electric, Joltik, Bug 267 | 596, Electric, Galvantula, Bug 268 | 597, Steel, Ferroseed, Grass 269 | 598, Steel, Ferrothorn, Grass 270 | 607, Fire, Litwick, Ghost 271 | 608, Fire, Lampent, Ghost 272 | 609, Fire, Chandelure, Ghost 273 | 618, Electric, Stunfisk, Ground 274 | 622, Ghost, Golett, Ground 275 | 623, Ghost, Golurk, Ground 276 | 624, Steel, Pawniard, Dark 277 | 625, Steel, Bisharp, Dark 278 | 627, Flying, Rufflet, Normal 279 | 628, Flying, Braviary, Normal 280 | 629, Flying, Vullaby, Dark 281 | 630, Flying, Mandibuzz, Dark 282 | 632, Steel, Durant, Bug 283 | 633, Dragon, Deino, Dark 284 | 634, Dragon, Zweilous, Dark 285 | 635, Dragon, Hydreigon, Dark 286 | 636, Fire, Larvesta, Bug 287 | 637, Fire, Volcarona, Bug 288 | 638, Fighting, Cobalion, Steel 289 | 639, Fighting, Terrakion, Rock 290 | 640, Fighting, Virizion, Grass 291 | 642, Flying, Thundurus, Electric 292 | 643, Fire, Reshiram, Dragon 293 | 644, Electric, Zekrom , Dragon 294 | 645, Flying, Landorus, Ground 295 | 646, Ice, Kyurem, Dragon 296 | 647, Fighting, Keldeo, Water 297 | 648, Fighting, Meloetta, Normal 298 | 649, Steel, Genesect, Bug 299 | -------------------------------------------------------------------------------- /Chapter8/wine.data: -------------------------------------------------------------------------------- 1 | 1,14.23,1.71,2.43,15.6,127,2.8,3.06,.28,2.29,5.64,1.04,3.92,1065 2 | 1,13.2,1.78,2.14,11.2,100,2.65,2.76,.26,1.28,4.38,1.05,3.4,1050 3 | 1,13.16,2.36,2.67,18.6,101,2.8,3.24,.3,2.81,5.68,1.03,3.17,1185 4 | 1,14.37,1.95,2.5,16.8,113,3.85,3.49,.24,2.18,7.8,.86,3.45,1480 5 | 1,13.24,2.59,2.87,21,118,2.8,2.69,.39,1.82,4.32,1.04,2.93,735 6 | 1,14.2,1.76,2.45,15.2,112,3.27,3.39,.34,1.97,6.75,1.05,2.85,1450 7 | 1,14.39,1.87,2.45,14.6,96,2.5,2.52,.3,1.98,5.25,1.02,3.58,1290 8 | 1,14.06,2.15,2.61,17.6,121,2.6,2.51,.31,1.25,5.05,1.06,3.58,1295 9 | 1,14.83,1.64,2.17,14,97,2.8,2.98,.29,1.98,5.2,1.08,2.85,1045 10 | 1,13.86,1.35,2.27,16,98,2.98,3.15,.22,1.85,7.22,1.01,3.55,1045 11 | 1,14.1,2.16,2.3,18,105,2.95,3.32,.22,2.38,5.75,1.25,3.17,1510 12 | 1,14.12,1.48,2.32,16.8,95,2.2,2.43,.26,1.57,5,1.17,2.82,1280 13 | 1,13.75,1.73,2.41,16,89,2.6,2.76,.29,1.81,5.6,1.15,2.9,1320 14 | 1,14.75,1.73,2.39,11.4,91,3.1,3.69,.43,2.81,5.4,1.25,2.73,1150 15 | 1,14.38,1.87,2.38,12,102,3.3,3.64,.29,2.96,7.5,1.2,3,1547 16 | 1,13.63,1.81,2.7,17.2,112,2.85,2.91,.3,1.46,7.3,1.28,2.88,1310 17 | 1,14.3,1.92,2.72,20,120,2.8,3.14,.33,1.97,6.2,1.07,2.65,1280 18 | 1,13.83,1.57,2.62,20,115,2.95,3.4,.4,1.72,6.6,1.13,2.57,1130 19 | 1,14.19,1.59,2.48,16.5,108,3.3,3.93,.32,1.86,8.7,1.23,2.82,1680 20 | 1,13.64,3.1,2.56,15.2,116,2.7,3.03,.17,1.66,5.1,.96,3.36,845 21 | 1,14.06,1.63,2.28,16,126,3,3.17,.24,2.1,5.65,1.09,3.71,780 22 | 1,12.93,3.8,2.65,18.6,102,2.41,2.41,.25,1.98,4.5,1.03,3.52,770 23 | 1,13.71,1.86,2.36,16.6,101,2.61,2.88,.27,1.69,3.8,1.11,4,1035 24 | 1,12.85,1.6,2.52,17.8,95,2.48,2.37,.26,1.46,3.93,1.09,3.63,1015 25 | 1,13.5,1.81,2.61,20,96,2.53,2.61,.28,1.66,3.52,1.12,3.82,845 26 | 1,13.05,2.05,3.22,25,124,2.63,2.68,.47,1.92,3.58,1.13,3.2,830 27 | 1,13.39,1.77,2.62,16.1,93,2.85,2.94,.34,1.45,4.8,.92,3.22,1195 28 | 1,13.3,1.72,2.14,17,94,2.4,2.19,.27,1.35,3.95,1.02,2.77,1285 29 | 1,13.87,1.9,2.8,19.4,107,2.95,2.97,.37,1.76,4.5,1.25,3.4,915 30 | 1,14.02,1.68,2.21,16,96,2.65,2.33,.26,1.98,4.7,1.04,3.59,1035 31 | 1,13.73,1.5,2.7,22.5,101,3,3.25,.29,2.38,5.7,1.19,2.71,1285 32 | 1,13.58,1.66,2.36,19.1,106,2.86,3.19,.22,1.95,6.9,1.09,2.88,1515 33 | 1,13.68,1.83,2.36,17.2,104,2.42,2.69,.42,1.97,3.84,1.23,2.87,990 34 | 1,13.76,1.53,2.7,19.5,132,2.95,2.74,.5,1.35,5.4,1.25,3,1235 35 | 1,13.51,1.8,2.65,19,110,2.35,2.53,.29,1.54,4.2,1.1,2.87,1095 36 | 1,13.48,1.81,2.41,20.5,100,2.7,2.98,.26,1.86,5.1,1.04,3.47,920 37 | 1,13.28,1.64,2.84,15.5,110,2.6,2.68,.34,1.36,4.6,1.09,2.78,880 38 | 1,13.05,1.65,2.55,18,98,2.45,2.43,.29,1.44,4.25,1.12,2.51,1105 39 | 1,13.07,1.5,2.1,15.5,98,2.4,2.64,.28,1.37,3.7,1.18,2.69,1020 40 | 1,14.22,3.99,2.51,13.2,128,3,3.04,.2,2.08,5.1,.89,3.53,760 41 | 1,13.56,1.71,2.31,16.2,117,3.15,3.29,.34,2.34,6.13,.95,3.38,795 42 | 1,13.41,3.84,2.12,18.8,90,2.45,2.68,.27,1.48,4.28,.91,3,1035 43 | 1,13.88,1.89,2.59,15,101,3.25,3.56,.17,1.7,5.43,.88,3.56,1095 44 | 1,13.24,3.98,2.29,17.5,103,2.64,2.63,.32,1.66,4.36,.82,3,680 45 | 1,13.05,1.77,2.1,17,107,3,3,.28,2.03,5.04,.88,3.35,885 46 | 1,14.21,4.04,2.44,18.9,111,2.85,2.65,.3,1.25,5.24,.87,3.33,1080 47 | 1,14.38,3.59,2.28,16,102,3.25,3.17,.27,2.19,4.9,1.04,3.44,1065 48 | 1,13.9,1.68,2.12,16,101,3.1,3.39,.21,2.14,6.1,.91,3.33,985 49 | 1,14.1,2.02,2.4,18.8,103,2.75,2.92,.32,2.38,6.2,1.07,2.75,1060 50 | 1,13.94,1.73,2.27,17.4,108,2.88,3.54,.32,2.08,8.90,1.12,3.1,1260 51 | 1,13.05,1.73,2.04,12.4,92,2.72,3.27,.17,2.91,7.2,1.12,2.91,1150 52 | 1,13.83,1.65,2.6,17.2,94,2.45,2.99,.22,2.29,5.6,1.24,3.37,1265 53 | 1,13.82,1.75,2.42,14,111,3.88,3.74,.32,1.87,7.05,1.01,3.26,1190 54 | 1,13.77,1.9,2.68,17.1,115,3,2.79,.39,1.68,6.3,1.13,2.93,1375 55 | 1,13.74,1.67,2.25,16.4,118,2.6,2.9,.21,1.62,5.85,.92,3.2,1060 56 | 1,13.56,1.73,2.46,20.5,116,2.96,2.78,.2,2.45,6.25,.98,3.03,1120 57 | 1,14.22,1.7,2.3,16.3,118,3.2,3,.26,2.03,6.38,.94,3.31,970 58 | 1,13.29,1.97,2.68,16.8,102,3,3.23,.31,1.66,6,1.07,2.84,1270 59 | 1,13.72,1.43,2.5,16.7,108,3.4,3.67,.19,2.04,6.8,.89,2.87,1285 60 | 2,12.37,.94,1.36,10.6,88,1.98,.57,.28,.42,1.95,1.05,1.82,520 61 | 2,12.33,1.1,2.28,16,101,2.05,1.09,.63,.41,3.27,1.25,1.67,680 62 | 2,12.64,1.36,2.02,16.8,100,2.02,1.41,.53,.62,5.75,.98,1.59,450 63 | 2,13.67,1.25,1.92,18,94,2.1,1.79,.32,.73,3.8,1.23,2.46,630 64 | 2,12.37,1.13,2.16,19,87,3.5,3.1,.19,1.87,4.45,1.22,2.87,420 65 | 2,12.17,1.45,2.53,19,104,1.89,1.75,.45,1.03,2.95,1.45,2.23,355 66 | 2,12.37,1.21,2.56,18.1,98,2.42,2.65,.37,2.08,4.6,1.19,2.3,678 67 | 2,13.11,1.01,1.7,15,78,2.98,3.18,.26,2.28,5.3,1.12,3.18,502 68 | 2,12.37,1.17,1.92,19.6,78,2.11,2,.27,1.04,4.68,1.12,3.48,510 69 | 2,13.34,.94,2.36,17,110,2.53,1.3,.55,.42,3.17,1.02,1.93,750 70 | 2,12.21,1.19,1.75,16.8,151,1.85,1.28,.14,2.5,2.85,1.28,3.07,718 71 | 2,12.29,1.61,2.21,20.4,103,1.1,1.02,.37,1.46,3.05,.906,1.82,870 72 | 2,13.86,1.51,2.67,25,86,2.95,2.86,.21,1.87,3.38,1.36,3.16,410 73 | 2,13.49,1.66,2.24,24,87,1.88,1.84,.27,1.03,3.74,.98,2.78,472 74 | 2,12.99,1.67,2.6,30,139,3.3,2.89,.21,1.96,3.35,1.31,3.5,985 75 | 2,11.96,1.09,2.3,21,101,3.38,2.14,.13,1.65,3.21,.99,3.13,886 76 | 2,11.66,1.88,1.92,16,97,1.61,1.57,.34,1.15,3.8,1.23,2.14,428 77 | 2,13.03,.9,1.71,16,86,1.95,2.03,.24,1.46,4.6,1.19,2.48,392 78 | 2,11.84,2.89,2.23,18,112,1.72,1.32,.43,.95,2.65,.96,2.52,500 79 | 2,12.33,.99,1.95,14.8,136,1.9,1.85,.35,2.76,3.4,1.06,2.31,750 80 | 2,12.7,3.87,2.4,23,101,2.83,2.55,.43,1.95,2.57,1.19,3.13,463 81 | 2,12,.92,2,19,86,2.42,2.26,.3,1.43,2.5,1.38,3.12,278 82 | 2,12.72,1.81,2.2,18.8,86,2.2,2.53,.26,1.77,3.9,1.16,3.14,714 83 | 2,12.08,1.13,2.51,24,78,2,1.58,.4,1.4,2.2,1.31,2.72,630 84 | 2,13.05,3.86,2.32,22.5,85,1.65,1.59,.61,1.62,4.8,.84,2.01,515 85 | 2,11.84,.89,2.58,18,94,2.2,2.21,.22,2.35,3.05,.79,3.08,520 86 | 2,12.67,.98,2.24,18,99,2.2,1.94,.3,1.46,2.62,1.23,3.16,450 87 | 2,12.16,1.61,2.31,22.8,90,1.78,1.69,.43,1.56,2.45,1.33,2.26,495 88 | 2,11.65,1.67,2.62,26,88,1.92,1.61,.4,1.34,2.6,1.36,3.21,562 89 | 2,11.64,2.06,2.46,21.6,84,1.95,1.69,.48,1.35,2.8,1,2.75,680 90 | 2,12.08,1.33,2.3,23.6,70,2.2,1.59,.42,1.38,1.74,1.07,3.21,625 91 | 2,12.08,1.83,2.32,18.5,81,1.6,1.5,.52,1.64,2.4,1.08,2.27,480 92 | 2,12,1.51,2.42,22,86,1.45,1.25,.5,1.63,3.6,1.05,2.65,450 93 | 2,12.69,1.53,2.26,20.7,80,1.38,1.46,.58,1.62,3.05,.96,2.06,495 94 | 2,12.29,2.83,2.22,18,88,2.45,2.25,.25,1.99,2.15,1.15,3.3,290 95 | 2,11.62,1.99,2.28,18,98,3.02,2.26,.17,1.35,3.25,1.16,2.96,345 96 | 2,12.47,1.52,2.2,19,162,2.5,2.27,.32,3.28,2.6,1.16,2.63,937 97 | 2,11.81,2.12,2.74,21.5,134,1.6,.99,.14,1.56,2.5,.95,2.26,625 98 | 2,12.29,1.41,1.98,16,85,2.55,2.5,.29,1.77,2.9,1.23,2.74,428 99 | 2,12.37,1.07,2.1,18.5,88,3.52,3.75,.24,1.95,4.5,1.04,2.77,660 100 | 2,12.29,3.17,2.21,18,88,2.85,2.99,.45,2.81,2.3,1.42,2.83,406 101 | 2,12.08,2.08,1.7,17.5,97,2.23,2.17,.26,1.4,3.3,1.27,2.96,710 102 | 2,12.6,1.34,1.9,18.5,88,1.45,1.36,.29,1.35,2.45,1.04,2.77,562 103 | 2,12.34,2.45,2.46,21,98,2.56,2.11,.34,1.31,2.8,.8,3.38,438 104 | 2,11.82,1.72,1.88,19.5,86,2.5,1.64,.37,1.42,2.06,.94,2.44,415 105 | 2,12.51,1.73,1.98,20.5,85,2.2,1.92,.32,1.48,2.94,1.04,3.57,672 106 | 2,12.42,2.55,2.27,22,90,1.68,1.84,.66,1.42,2.7,.86,3.3,315 107 | 2,12.25,1.73,2.12,19,80,1.65,2.03,.37,1.63,3.4,1,3.17,510 108 | 2,12.72,1.75,2.28,22.5,84,1.38,1.76,.48,1.63,3.3,.88,2.42,488 109 | 2,12.22,1.29,1.94,19,92,2.36,2.04,.39,2.08,2.7,.86,3.02,312 110 | 2,11.61,1.35,2.7,20,94,2.74,2.92,.29,2.49,2.65,.96,3.26,680 111 | 2,11.46,3.74,1.82,19.5,107,3.18,2.58,.24,3.58,2.9,.75,2.81,562 112 | 2,12.52,2.43,2.17,21,88,2.55,2.27,.26,1.22,2,.9,2.78,325 113 | 2,11.76,2.68,2.92,20,103,1.75,2.03,.6,1.05,3.8,1.23,2.5,607 114 | 2,11.41,.74,2.5,21,88,2.48,2.01,.42,1.44,3.08,1.1,2.31,434 115 | 2,12.08,1.39,2.5,22.5,84,2.56,2.29,.43,1.04,2.9,.93,3.19,385 116 | 2,11.03,1.51,2.2,21.5,85,2.46,2.17,.52,2.01,1.9,1.71,2.87,407 117 | 2,11.82,1.47,1.99,20.8,86,1.98,1.6,.3,1.53,1.95,.95,3.33,495 118 | 2,12.42,1.61,2.19,22.5,108,2,2.09,.34,1.61,2.06,1.06,2.96,345 119 | 2,12.77,3.43,1.98,16,80,1.63,1.25,.43,.83,3.4,.7,2.12,372 120 | 2,12,3.43,2,19,87,2,1.64,.37,1.87,1.28,.93,3.05,564 121 | 2,11.45,2.4,2.42,20,96,2.9,2.79,.32,1.83,3.25,.8,3.39,625 122 | 2,11.56,2.05,3.23,28.5,119,3.18,5.08,.47,1.87,6,.93,3.69,465 123 | 2,12.42,4.43,2.73,26.5,102,2.2,2.13,.43,1.71,2.08,.92,3.12,365 124 | 2,13.05,5.8,2.13,21.5,86,2.62,2.65,.3,2.01,2.6,.73,3.1,380 125 | 2,11.87,4.31,2.39,21,82,2.86,3.03,.21,2.91,2.8,.75,3.64,380 126 | 2,12.07,2.16,2.17,21,85,2.6,2.65,.37,1.35,2.76,.86,3.28,378 127 | 2,12.43,1.53,2.29,21.5,86,2.74,3.15,.39,1.77,3.94,.69,2.84,352 128 | 2,11.79,2.13,2.78,28.5,92,2.13,2.24,.58,1.76,3,.97,2.44,466 129 | 2,12.37,1.63,2.3,24.5,88,2.22,2.45,.4,1.9,2.12,.89,2.78,342 130 | 2,12.04,4.3,2.38,22,80,2.1,1.75,.42,1.35,2.6,.79,2.57,580 131 | 3,12.86,1.35,2.32,18,122,1.51,1.25,.21,.94,4.1,.76,1.29,630 132 | 3,12.88,2.99,2.4,20,104,1.3,1.22,.24,.83,5.4,.74,1.42,530 133 | 3,12.81,2.31,2.4,24,98,1.15,1.09,.27,.83,5.7,.66,1.36,560 134 | 3,12.7,3.55,2.36,21.5,106,1.7,1.2,.17,.84,5,.78,1.29,600 135 | 3,12.51,1.24,2.25,17.5,85,2,.58,.6,1.25,5.45,.75,1.51,650 136 | 3,12.6,2.46,2.2,18.5,94,1.62,.66,.63,.94,7.1,.73,1.58,695 137 | 3,12.25,4.72,2.54,21,89,1.38,.47,.53,.8,3.85,.75,1.27,720 138 | 3,12.53,5.51,2.64,25,96,1.79,.6,.63,1.1,5,.82,1.69,515 139 | 3,13.49,3.59,2.19,19.5,88,1.62,.48,.58,.88,5.7,.81,1.82,580 140 | 3,12.84,2.96,2.61,24,101,2.32,.6,.53,.81,4.92,.89,2.15,590 141 | 3,12.93,2.81,2.7,21,96,1.54,.5,.53,.75,4.6,.77,2.31,600 142 | 3,13.36,2.56,2.35,20,89,1.4,.5,.37,.64,5.6,.7,2.47,780 143 | 3,13.52,3.17,2.72,23.5,97,1.55,.52,.5,.55,4.35,.89,2.06,520 144 | 3,13.62,4.95,2.35,20,92,2,.8,.47,1.02,4.4,.91,2.05,550 145 | 3,12.25,3.88,2.2,18.5,112,1.38,.78,.29,1.14,8.21,.65,2,855 146 | 3,13.16,3.57,2.15,21,102,1.5,.55,.43,1.3,4,.6,1.68,830 147 | 3,13.88,5.04,2.23,20,80,.98,.34,.4,.68,4.9,.58,1.33,415 148 | 3,12.87,4.61,2.48,21.5,86,1.7,.65,.47,.86,7.65,.54,1.86,625 149 | 3,13.32,3.24,2.38,21.5,92,1.93,.76,.45,1.25,8.42,.55,1.62,650 150 | 3,13.08,3.9,2.36,21.5,113,1.41,1.39,.34,1.14,9.40,.57,1.33,550 151 | 3,13.5,3.12,2.62,24,123,1.4,1.57,.22,1.25,8.60,.59,1.3,500 152 | 3,12.79,2.67,2.48,22,112,1.48,1.36,.24,1.26,10.8,.48,1.47,480 153 | 3,13.11,1.9,2.75,25.5,116,2.2,1.28,.26,1.56,7.1,.61,1.33,425 154 | 3,13.23,3.3,2.28,18.5,98,1.8,.83,.61,1.87,10.52,.56,1.51,675 155 | 3,12.58,1.29,2.1,20,103,1.48,.58,.53,1.4,7.6,.58,1.55,640 156 | 3,13.17,5.19,2.32,22,93,1.74,.63,.61,1.55,7.9,.6,1.48,725 157 | 3,13.84,4.12,2.38,19.5,89,1.8,.83,.48,1.56,9.01,.57,1.64,480 158 | 3,12.45,3.03,2.64,27,97,1.9,.58,.63,1.14,7.5,.67,1.73,880 159 | 3,14.34,1.68,2.7,25,98,2.8,1.31,.53,2.7,13,.57,1.96,660 160 | 3,13.48,1.67,2.64,22.5,89,2.6,1.1,.52,2.29,11.75,.57,1.78,620 161 | 3,12.36,3.83,2.38,21,88,2.3,.92,.5,1.04,7.65,.56,1.58,520 162 | 3,13.69,3.26,2.54,20,107,1.83,.56,.5,.8,5.88,.96,1.82,680 163 | 3,12.85,3.27,2.58,22,106,1.65,.6,.6,.96,5.58,.87,2.11,570 164 | 3,12.96,3.45,2.35,18.5,106,1.39,.7,.4,.94,5.28,.68,1.75,675 165 | 3,13.78,2.76,2.3,22,90,1.35,.68,.41,1.03,9.58,.7,1.68,615 166 | 3,13.73,4.36,2.26,22.5,88,1.28,.47,.52,1.15,6.62,.78,1.75,520 167 | 3,13.45,3.7,2.6,23,111,1.7,.92,.43,1.46,10.68,.85,1.56,695 168 | 3,12.82,3.37,2.3,19.5,88,1.48,.66,.4,.97,10.26,.72,1.75,685 169 | 3,13.58,2.58,2.69,24.5,105,1.55,.84,.39,1.54,8.66,.74,1.8,750 170 | 3,13.4,4.6,2.86,25,112,1.98,.96,.27,1.11,8.5,.67,1.92,630 171 | 3,12.2,3.03,2.32,19,96,1.25,.49,.4,.73,5.5,.66,1.83,510 172 | 3,12.77,2.39,2.28,19.5,86,1.39,.51,.48,.64,9.899999,.57,1.63,470 173 | 3,14.16,2.51,2.48,20,91,1.68,.7,.44,1.24,9.7,.62,1.71,660 174 | 3,13.71,5.65,2.45,20.5,95,1.68,.61,.52,1.06,7.7,.64,1.74,740 175 | 3,13.4,3.91,2.48,23,102,1.8,.75,.43,1.41,7.3,.7,1.56,750 176 | 3,13.27,4.28,2.26,20,120,1.59,.69,.43,1.35,10.2,.59,1.56,835 177 | 3,13.17,2.59,2.37,20,120,1.65,.68,.53,1.46,9.3,.6,1.62,840 178 | 3,14.13,4.1,2.74,24.5,96,2.05,.76,.56,1.35,9.2,.61,1.6,560 179 | -------------------------------------------------------------------------------- /Chapter13/d3.layout.cloud.js: -------------------------------------------------------------------------------- 1 | // Word cloud layout by Jason Davies, http://www.jasondavies.com/word-cloud/ 2 | // Algorithm due to Jonathan Feinberg, http://static.mrfeinberg.com/bv_ch03.pdf 3 | (function(exports) { 4 | function cloud() { 5 | var size = [256, 256], 6 | text = cloudText, 7 | font = cloudFont, 8 | fontSize = cloudFontSize, 9 | fontStyle = cloudFontNormal, 10 | fontWeight = cloudFontNormal, 11 | rotate = cloudRotate, 12 | padding = cloudPadding, 13 | spiral = archimedeanSpiral, 14 | words = [], 15 | timeInterval = Infinity, 16 | event = d3.dispatch("word", "end"), 17 | timer = null, 18 | cloud = {}; 19 | 20 | cloud.start = function() { 21 | var board = zeroArray((size[0] >> 5) * size[1]), 22 | bounds = null, 23 | n = words.length, 24 | i = -1, 25 | tags = [], 26 | data = words.map(function(d, i) { 27 | d.text = text.call(this, d, i); 28 | d.font = font.call(this, d, i); 29 | d.style = fontStyle.call(this, d, i); 30 | d.weight = fontWeight.call(this, d, i); 31 | d.rotate = rotate.call(this, d, i); 32 | d.size = ~~fontSize.call(this, d, i); 33 | d.padding = padding.call(this, d, i); 34 | return d; 35 | }).sort(function(a, b) { return b.size - a.size; }); 36 | 37 | if (timer) clearInterval(timer); 38 | timer = setInterval(step, 0); 39 | step(); 40 | 41 | return cloud; 42 | 43 | function step() { 44 | var start = +new Date, 45 | d; 46 | while (+new Date - start < timeInterval && ++i < n && timer) { 47 | d = data[i]; 48 | d.x = (size[0] * (Math.random() + .5)) >> 1; 49 | d.y = (size[1] * (Math.random() + .5)) >> 1; 50 | cloudSprite(d, data, i); 51 | if (d.hasText && place(board, d, bounds)) { 52 | tags.push(d); 53 | event.word(d); 54 | if (bounds) cloudBounds(bounds, d); 55 | else bounds = [{x: d.x + d.x0, y: d.y + d.y0}, {x: d.x + d.x1, y: d.y + d.y1}]; 56 | // Temporary hack 57 | d.x -= size[0] >> 1; 58 | d.y -= size[1] >> 1; 59 | } 60 | } 61 | if (i >= n) { 62 | cloud.stop(); 63 | event.end(tags, bounds); 64 | } 65 | } 66 | } 67 | 68 | cloud.stop = function() { 69 | if (timer) { 70 | clearInterval(timer); 71 | timer = null; 72 | } 73 | return cloud; 74 | }; 75 | 76 | cloud.timeInterval = function(x) { 77 | if (!arguments.length) return timeInterval; 78 | timeInterval = x == null ? Infinity : x; 79 | return cloud; 80 | }; 81 | 82 | function place(board, tag, bounds) { 83 | var perimeter = [{x: 0, y: 0}, {x: size[0], y: size[1]}], 84 | startX = tag.x, 85 | startY = tag.y, 86 | maxDelta = Math.sqrt(size[0] * size[0] + size[1] * size[1]), 87 | s = spiral(size), 88 | dt = Math.random() < .5 ? 1 : -1, 89 | t = -dt, 90 | dxdy, 91 | dx, 92 | dy; 93 | 94 | while (dxdy = s(t += dt)) { 95 | dx = ~~dxdy[0]; 96 | dy = ~~dxdy[1]; 97 | 98 | if (Math.min(dx, dy) > maxDelta) break; 99 | 100 | tag.x = startX + dx; 101 | tag.y = startY + dy; 102 | 103 | if (tag.x + tag.x0 < 0 || tag.y + tag.y0 < 0 || 104 | tag.x + tag.x1 > size[0] || tag.y + tag.y1 > size[1]) continue; 105 | // TODO only check for collisions within current bounds. 106 | if (!bounds || !cloudCollide(tag, board, size[0])) { 107 | if (!bounds || collideRects(tag, bounds)) { 108 | var sprite = tag.sprite, 109 | w = tag.width >> 5, 110 | sw = size[0] >> 5, 111 | lx = tag.x - (w << 4), 112 | sx = lx & 0x7f, 113 | msx = 32 - sx, 114 | h = tag.y1 - tag.y0, 115 | x = (tag.y + tag.y0) * sw + (lx >> 5), 116 | last; 117 | for (var j = 0; j < h; j++) { 118 | last = 0; 119 | for (var i = 0; i <= w; i++) { 120 | board[x + i] |= (last << msx) | (i < w ? (last = sprite[j * w + i]) >>> sx : 0); 121 | } 122 | x += sw; 123 | } 124 | delete tag.sprite; 125 | return true; 126 | } 127 | } 128 | } 129 | return false; 130 | } 131 | 132 | cloud.words = function(x) { 133 | if (!arguments.length) return words; 134 | words = x; 135 | return cloud; 136 | }; 137 | 138 | cloud.size = function(x) { 139 | if (!arguments.length) return size; 140 | size = [+x[0], +x[1]]; 141 | return cloud; 142 | }; 143 | 144 | cloud.font = function(x) { 145 | if (!arguments.length) return font; 146 | font = d3.functor(x); 147 | return cloud; 148 | }; 149 | 150 | cloud.fontStyle = function(x) { 151 | if (!arguments.length) return fontStyle; 152 | fontStyle = d3.functor(x); 153 | return cloud; 154 | }; 155 | 156 | cloud.fontWeight = function(x) { 157 | if (!arguments.length) return fontWeight; 158 | fontWeight = d3.functor(x); 159 | return cloud; 160 | }; 161 | 162 | cloud.rotate = function(x) { 163 | if (!arguments.length) return rotate; 164 | rotate = d3.functor(x); 165 | return cloud; 166 | }; 167 | 168 | cloud.text = function(x) { 169 | if (!arguments.length) return text; 170 | text = d3.functor(x); 171 | return cloud; 172 | }; 173 | 174 | cloud.spiral = function(x) { 175 | if (!arguments.length) return spiral; 176 | spiral = spirals[x + ""] || x; 177 | return cloud; 178 | }; 179 | 180 | cloud.fontSize = function(x) { 181 | if (!arguments.length) return fontSize; 182 | fontSize = d3.functor(x); 183 | return cloud; 184 | }; 185 | 186 | cloud.padding = function(x) { 187 | if (!arguments.length) return padding; 188 | padding = d3.functor(x); 189 | return cloud; 190 | }; 191 | 192 | return d3.rebind(cloud, event, "on"); 193 | } 194 | 195 | function cloudText(d) { 196 | return d.text; 197 | } 198 | 199 | function cloudFont() { 200 | return "serif"; 201 | } 202 | 203 | function cloudFontNormal() { 204 | return "normal"; 205 | } 206 | 207 | function cloudFontSize(d) { 208 | return Math.sqrt(d.value); 209 | } 210 | 211 | function cloudRotate() { 212 | return (~~(Math.random() * 6) - 3) * 30; 213 | } 214 | 215 | function cloudPadding() { 216 | return 1; 217 | } 218 | 219 | // Fetches a monochrome sprite bitmap for the specified text. 220 | // Load in batches for speed. 221 | function cloudSprite(d, data, di) { 222 | if (d.sprite) return; 223 | c.clearRect(0, 0, (cw << 5) / ratio, ch / ratio); 224 | var x = 0, 225 | y = 0, 226 | maxh = 0, 227 | n = data.length; 228 | --di; 229 | while (++di < n) { 230 | d = data[di]; 231 | c.save(); 232 | c.font = d.style + " " + d.weight + " " + ~~((d.size + 1) / ratio) + "px " + d.font; 233 | var w = c.measureText(d.text + "m").width * ratio, 234 | h = d.size << 1; 235 | if (d.rotate) { 236 | var sr = Math.sin(d.rotate * cloudRadians), 237 | cr = Math.cos(d.rotate * cloudRadians), 238 | wcr = w * cr, 239 | wsr = w * sr, 240 | hcr = h * cr, 241 | hsr = h * sr; 242 | w = (Math.max(Math.abs(wcr + hsr), Math.abs(wcr - hsr)) + 0x1f) >> 5 << 5; 243 | h = ~~Math.max(Math.abs(wsr + hcr), Math.abs(wsr - hcr)); 244 | } else { 245 | w = (w + 0x1f) >> 5 << 5; 246 | } 247 | if (h > maxh) maxh = h; 248 | if (x + w >= (cw << 5)) { 249 | x = 0; 250 | y += maxh; 251 | maxh = 0; 252 | } 253 | if (y + h >= ch) break; 254 | c.translate((x + (w >> 1)) / ratio, (y + (h >> 1)) / ratio); 255 | if (d.rotate) c.rotate(d.rotate * cloudRadians); 256 | c.fillText(d.text, 0, 0); 257 | if (d.padding) c.lineWidth = 2 * d.padding, c.strokeText(d.text, 0, 0); 258 | c.restore(); 259 | d.width = w; 260 | d.height = h; 261 | d.xoff = x; 262 | d.yoff = y; 263 | d.x1 = w >> 1; 264 | d.y1 = h >> 1; 265 | d.x0 = -d.x1; 266 | d.y0 = -d.y1; 267 | d.hasText = true; 268 | x += w; 269 | } 270 | var pixels = c.getImageData(0, 0, (cw << 5) / ratio, ch / ratio).data, 271 | sprite = []; 272 | while (--di >= 0) { 273 | d = data[di]; 274 | if (!d.hasText) continue; 275 | var w = d.width, 276 | w32 = w >> 5, 277 | h = d.y1 - d.y0; 278 | // Zero the buffer 279 | for (var i = 0; i < h * w32; i++) sprite[i] = 0; 280 | x = d.xoff; 281 | if (x == null) return; 282 | y = d.yoff; 283 | var seen = 0, 284 | seenRow = -1; 285 | for (var j = 0; j < h; j++) { 286 | for (var i = 0; i < w; i++) { 287 | var k = w32 * j + (i >> 5), 288 | m = pixels[((y + j) * (cw << 5) + (x + i)) << 2] ? 1 << (31 - (i % 32)) : 0; 289 | sprite[k] |= m; 290 | seen |= m; 291 | } 292 | if (seen) seenRow = j; 293 | else { 294 | d.y0++; 295 | h--; 296 | j--; 297 | y++; 298 | } 299 | } 300 | d.y1 = d.y0 + seenRow; 301 | d.sprite = sprite.slice(0, (d.y1 - d.y0) * w32); 302 | } 303 | } 304 | 305 | // Use mask-based collision detection. 306 | function cloudCollide(tag, board, sw) { 307 | sw >>= 5; 308 | var sprite = tag.sprite, 309 | w = tag.width >> 5, 310 | lx = tag.x - (w << 4), 311 | sx = lx & 0x7f, 312 | msx = 32 - sx, 313 | h = tag.y1 - tag.y0, 314 | x = (tag.y + tag.y0) * sw + (lx >> 5), 315 | last; 316 | for (var j = 0; j < h; j++) { 317 | last = 0; 318 | for (var i = 0; i <= w; i++) { 319 | if (((last << msx) | (i < w ? (last = sprite[j * w + i]) >>> sx : 0)) 320 | & board[x + i]) return true; 321 | } 322 | x += sw; 323 | } 324 | return false; 325 | } 326 | 327 | function cloudBounds(bounds, d) { 328 | var b0 = bounds[0], 329 | b1 = bounds[1]; 330 | if (d.x + d.x0 < b0.x) b0.x = d.x + d.x0; 331 | if (d.y + d.y0 < b0.y) b0.y = d.y + d.y0; 332 | if (d.x + d.x1 > b1.x) b1.x = d.x + d.x1; 333 | if (d.y + d.y1 > b1.y) b1.y = d.y + d.y1; 334 | } 335 | 336 | function collideRects(a, b) { 337 | return a.x + a.x1 > b[0].x && a.x + a.x0 < b[1].x && a.y + a.y1 > b[0].y && a.y + a.y0 < b[1].y; 338 | } 339 | 340 | function archimedeanSpiral(size) { 341 | var e = size[0] / size[1]; 342 | return function(t) { 343 | return [e * (t *= .1) * Math.cos(t), t * Math.sin(t)]; 344 | }; 345 | } 346 | 347 | function rectangularSpiral(size) { 348 | var dy = 4, 349 | dx = dy * size[0] / size[1], 350 | x = 0, 351 | y = 0; 352 | return function(t) { 353 | var sign = t < 0 ? -1 : 1; 354 | // See triangular numbers: T_n = n * (n + 1) / 2. 355 | switch ((Math.sqrt(1 + 4 * sign * t) - sign) & 3) { 356 | case 0: x += dx; break; 357 | case 1: y += dy; break; 358 | case 2: x -= dx; break; 359 | default: y -= dy; break; 360 | } 361 | return [x, y]; 362 | }; 363 | } 364 | 365 | // TODO reuse arrays? 366 | function zeroArray(n) { 367 | var a = [], 368 | i = -1; 369 | while (++i < n) a[i] = 0; 370 | return a; 371 | } 372 | 373 | var cloudRadians = Math.PI / 180, 374 | cw = 1 << 11 >> 5, 375 | ch = 1 << 11, 376 | canvas, 377 | ratio = 1; 378 | 379 | if (typeof document !== "undefined") { 380 | canvas = document.createElement("canvas"); 381 | canvas.width = 1; 382 | canvas.height = 1; 383 | ratio = Math.sqrt(canvas.getContext("2d").getImageData(0, 0, 1, 1).data.length >> 2); 384 | canvas.width = (cw << 5) / ratio; 385 | canvas.height = ch / ratio; 386 | } else { 387 | // node-canvas support 388 | var Canvas = require("canvas"); 389 | canvas = new Canvas(cw << 5, ch); 390 | } 391 | 392 | var c = canvas.getContext("2d"), 393 | spirals = { 394 | archimedean: archimedeanSpiral, 395 | rectangular: rectangularSpiral 396 | }; 397 | c.fillStyle = c.strokeStyle = "red"; 398 | c.textAlign = "center"; 399 | 400 | exports.cloud = cloud; 401 | })(typeof exports === "undefined" ? d3.layout || (d3.layout = {}) : exports); 402 | -------------------------------------------------------------------------------- /Chapter3/line.tsv: -------------------------------------------------------------------------------- 1 | date close 2 | 1-May-12 582.13 3 | 30-Apr-12 583.98 4 | 27-Apr-12 603.00 5 | 26-Apr-12 607.70 6 | 25-Apr-12 610.00 7 | 24-Apr-12 560.28 8 | 23-Apr-12 571.70 9 | 20-Apr-12 572.98 10 | 19-Apr-12 587.44 11 | 18-Apr-12 608.34 12 | 17-Apr-12 609.70 13 | 16-Apr-12 580.13 14 | 13-Apr-12 605.23 15 | 12-Apr-12 622.77 16 | 11-Apr-12 626.20 17 | 10-Apr-12 628.44 18 | 9-Apr-12 636.23 19 | 5-Apr-12 633.68 20 | 4-Apr-12 624.31 21 | 3-Apr-12 629.32 22 | 2-Apr-12 618.63 23 | 30-Mar-12 599.55 24 | 29-Mar-12 609.86 25 | 28-Mar-12 617.62 26 | 27-Mar-12 614.48 27 | 26-Mar-12 606.98 28 | 23-Mar-12 596.05 29 | 22-Mar-12 599.34 30 | 21-Mar-12 602.50 31 | 20-Mar-12 605.96 32 | 19-Mar-12 601.10 33 | 16-Mar-12 585.57 34 | 15-Mar-12 585.56 35 | 14-Mar-12 589.58 36 | 13-Mar-12 568.10 37 | 12-Mar-12 552.00 38 | 9-Mar-12 545.17 39 | 8-Mar-12 541.99 40 | 7-Mar-12 530.69 41 | 6-Mar-12 530.26 42 | 5-Mar-12 533.16 43 | 2-Mar-12 545.18 44 | 1-Mar-12 544.47 45 | 29-Feb-12 542.44 46 | 28-Feb-12 535.41 47 | 27-Feb-12 525.76 48 | 24-Feb-12 522.41 49 | 23-Feb-12 516.39 50 | 22-Feb-12 513.04 51 | 21-Feb-12 514.85 52 | 17-Feb-12 502.12 53 | 16-Feb-12 502.21 54 | 15-Feb-12 497.67 55 | 14-Feb-12 509.46 56 | 13-Feb-12 502.60 57 | 10-Feb-12 493.42 58 | 9-Feb-12 493.17 59 | 8-Feb-12 476.68 60 | 7-Feb-12 468.83 61 | 6-Feb-12 463.97 62 | 3-Feb-12 459.68 63 | 2-Feb-12 455.12 64 | 1-Feb-12 456.19 65 | 31-Jan-12 456.48 66 | 30-Jan-12 453.01 67 | 27-Jan-12 447.28 68 | 26-Jan-12 444.63 69 | 25-Jan-12 446.66 70 | 24-Jan-12 420.41 71 | 23-Jan-12 427.41 72 | 20-Jan-12 420.30 73 | 19-Jan-12 427.75 74 | 18-Jan-12 429.11 75 | 17-Jan-12 424.70 76 | 13-Jan-12 419.81 77 | 12-Jan-12 421.39 78 | 11-Jan-12 422.55 79 | 10-Jan-12 423.24 80 | 9-Jan-12 421.73 81 | 6-Jan-12 422.40 82 | 5-Jan-12 418.03 83 | 4-Jan-12 413.44 84 | 3-Jan-12 411.23 85 | 30-Dec-11 405.00 86 | 29-Dec-11 405.12 87 | 28-Dec-11 402.64 88 | 27-Dec-11 406.53 89 | 23-Dec-11 403.43 90 | 22-Dec-11 398.55 91 | 21-Dec-11 396.44 92 | 20-Dec-11 395.95 93 | 19-Dec-11 382.21 94 | 16-Dec-11 381.02 95 | 15-Dec-11 378.94 96 | 14-Dec-11 380.19 97 | 13-Dec-11 388.81 98 | 12-Dec-11 391.84 99 | 9-Dec-11 393.62 100 | 8-Dec-11 390.66 101 | 7-Dec-11 389.09 102 | 6-Dec-11 390.95 103 | 5-Dec-11 393.01 104 | 2-Dec-11 389.70 105 | 1-Dec-11 387.93 106 | 30-Nov-11 382.20 107 | 29-Nov-11 373.20 108 | 28-Nov-11 376.12 109 | 25-Nov-11 363.57 110 | 23-Nov-11 366.99 111 | 22-Nov-11 376.51 112 | 21-Nov-11 369.01 113 | 18-Nov-11 374.94 114 | 17-Nov-11 377.41 115 | 16-Nov-11 384.77 116 | 15-Nov-11 388.83 117 | 14-Nov-11 379.26 118 | 11-Nov-11 384.62 119 | 10-Nov-11 385.22 120 | 9-Nov-11 395.28 121 | 8-Nov-11 406.23 122 | 7-Nov-11 399.73 123 | 4-Nov-11 400.24 124 | 3-Nov-11 403.07 125 | 2-Nov-11 397.41 126 | 1-Nov-11 396.51 127 | 31-Oct-11 404.78 128 | 28-Oct-11 404.95 129 | 27-Oct-11 404.69 130 | 26-Oct-11 400.60 131 | 25-Oct-11 397.77 132 | 24-Oct-11 405.77 133 | 21-Oct-11 392.87 134 | 20-Oct-11 395.31 135 | 19-Oct-11 398.62 136 | 18-Oct-11 422.24 137 | 17-Oct-11 419.99 138 | 14-Oct-11 422.00 139 | 13-Oct-11 408.43 140 | 12-Oct-11 402.19 141 | 11-Oct-11 400.29 142 | 10-Oct-11 388.81 143 | 7-Oct-11 369.80 144 | 6-Oct-11 377.37 145 | 5-Oct-11 378.25 146 | 4-Oct-11 372.50 147 | 3-Oct-11 374.60 148 | 30-Sep-11 381.32 149 | 29-Sep-11 390.57 150 | 28-Sep-11 397.01 151 | 27-Sep-11 399.26 152 | 26-Sep-11 403.17 153 | 23-Sep-11 404.30 154 | 22-Sep-11 401.82 155 | 21-Sep-11 412.14 156 | 20-Sep-11 413.45 157 | 19-Sep-11 411.63 158 | 16-Sep-11 400.50 159 | 15-Sep-11 392.96 160 | 14-Sep-11 389.30 161 | 13-Sep-11 384.62 162 | 12-Sep-11 379.94 163 | 9-Sep-11 377.48 164 | 8-Sep-11 384.14 165 | 7-Sep-11 383.93 166 | 6-Sep-11 379.74 167 | 2-Sep-11 374.05 168 | 1-Sep-11 381.03 169 | 31-Aug-11 384.83 170 | 30-Aug-11 389.99 171 | 29-Aug-11 389.97 172 | 26-Aug-11 383.58 173 | 25-Aug-11 373.72 174 | 24-Aug-11 376.18 175 | 23-Aug-11 373.60 176 | 22-Aug-11 356.44 177 | 19-Aug-11 356.03 178 | 18-Aug-11 366.05 179 | 17-Aug-11 380.44 180 | 16-Aug-11 380.48 181 | 15-Aug-11 383.41 182 | 12-Aug-11 376.99 183 | 11-Aug-11 373.70 184 | 10-Aug-11 363.69 185 | 9-Aug-11 374.01 186 | 8-Aug-11 353.21 187 | 5-Aug-11 373.62 188 | 4-Aug-11 377.37 189 | 3-Aug-11 392.57 190 | 2-Aug-11 388.91 191 | 1-Aug-11 396.75 192 | 29-Jul-11 390.48 193 | 28-Jul-11 391.82 194 | 27-Jul-11 392.59 195 | 26-Jul-11 403.41 196 | 25-Jul-11 398.50 197 | 22-Jul-11 393.30 198 | 21-Jul-11 387.29 199 | 20-Jul-11 386.90 200 | 19-Jul-11 376.85 201 | 18-Jul-11 373.80 202 | 15-Jul-11 364.92 203 | 14-Jul-11 357.77 204 | 13-Jul-11 358.02 205 | 12-Jul-11 353.75 206 | 11-Jul-11 354.00 207 | 8-Jul-11 359.71 208 | 7-Jul-11 357.20 209 | 6-Jul-11 351.76 210 | 5-Jul-11 349.43 211 | 1-Jul-11 343.26 212 | 30-Jun-11 335.67 213 | 29-Jun-11 334.04 214 | 28-Jun-11 335.26 215 | 27-Jun-11 332.04 216 | 24-Jun-11 326.35 217 | 23-Jun-11 331.23 218 | 22-Jun-11 322.61 219 | 21-Jun-11 325.30 220 | 20-Jun-11 315.32 221 | 17-Jun-11 320.26 222 | 16-Jun-11 325.16 223 | 15-Jun-11 326.75 224 | 14-Jun-11 332.44 225 | 13-Jun-11 326.60 226 | 10-Jun-11 325.90 227 | 9-Jun-11 331.49 228 | 8-Jun-11 332.24 229 | 7-Jun-11 332.04 230 | 6-Jun-11 338.04 231 | 3-Jun-11 343.44 232 | 2-Jun-11 346.10 233 | 1-Jun-11 345.51 234 | 31-May-11 347.83 235 | 27-May-11 337.41 236 | 26-May-11 335.00 237 | 25-May-11 336.78 238 | 24-May-11 332.19 239 | 23-May-11 334.40 240 | 20-May-11 335.22 241 | 19-May-11 340.53 242 | 18-May-11 339.87 243 | 17-May-11 336.14 244 | 16-May-11 333.30 245 | 13-May-11 340.50 246 | 12-May-11 346.57 247 | 11-May-11 347.23 248 | 10-May-11 349.45 249 | 9-May-11 347.60 250 | 6-May-11 346.66 251 | 5-May-11 346.75 252 | 4-May-11 349.57 253 | 3-May-11 348.20 254 | 2-May-11 346.28 255 | 29-Apr-11 350.13 256 | 28-Apr-11 346.75 257 | 27-Apr-11 350.15 258 | 26-Apr-11 350.42 259 | 25-Apr-11 353.01 260 | 21-Apr-11 350.70 261 | 20-Apr-11 342.41 262 | 19-Apr-11 337.86 263 | 18-Apr-11 331.85 264 | 15-Apr-11 327.46 265 | 14-Apr-11 332.42 266 | 13-Apr-11 336.13 267 | 12-Apr-11 332.40 268 | 11-Apr-11 330.80 269 | 8-Apr-11 335.06 270 | 7-Apr-11 338.08 271 | 6-Apr-11 338.04 272 | 5-Apr-11 338.89 273 | 4-Apr-11 341.19 274 | 1-Apr-11 344.56 275 | 31-Mar-11 348.51 276 | 30-Mar-11 348.63 277 | 29-Mar-11 350.96 278 | 28-Mar-11 350.44 279 | 25-Mar-11 351.54 280 | 24-Mar-11 344.97 281 | 23-Mar-11 339.19 282 | 22-Mar-11 341.20 283 | 21-Mar-11 339.30 284 | 18-Mar-11 330.67 285 | 17-Mar-11 334.64 286 | 16-Mar-11 330.01 287 | 15-Mar-11 345.43 288 | 14-Mar-11 353.56 289 | 11-Mar-11 351.99 290 | 10-Mar-11 346.67 291 | 9-Mar-11 352.47 292 | 8-Mar-11 355.76 293 | 7-Mar-11 355.36 294 | 4-Mar-11 360.00 295 | 3-Mar-11 359.56 296 | 2-Mar-11 352.12 297 | 1-Mar-11 349.31 298 | 28-Feb-11 353.21 299 | 25-Feb-11 348.16 300 | 24-Feb-11 342.88 301 | 23-Feb-11 342.62 302 | 22-Feb-11 338.61 303 | 18-Feb-11 350.56 304 | 17-Feb-11 358.30 305 | 16-Feb-11 363.13 306 | 15-Feb-11 359.90 307 | 14-Feb-11 359.18 308 | 11-Feb-11 356.85 309 | 10-Feb-11 354.54 310 | 9-Feb-11 358.16 311 | 8-Feb-11 355.20 312 | 7-Feb-11 351.88 313 | 4-Feb-11 346.50 314 | 3-Feb-11 343.44 315 | 2-Feb-11 344.32 316 | 1-Feb-11 345.03 317 | 31-Jan-11 339.32 318 | 28-Jan-11 336.10 319 | 27-Jan-11 343.21 320 | 26-Jan-11 343.85 321 | 25-Jan-11 341.40 322 | 24-Jan-11 337.45 323 | 21-Jan-11 326.72 324 | 20-Jan-11 332.68 325 | 19-Jan-11 338.84 326 | 18-Jan-11 340.65 327 | 14-Jan-11 348.48 328 | 13-Jan-11 345.68 329 | 12-Jan-11 344.42 330 | 11-Jan-11 341.64 331 | 10-Jan-11 342.46 332 | 7-Jan-11 336.12 333 | 6-Jan-11 333.73 334 | 5-Jan-11 334.00 335 | 4-Jan-11 331.29 336 | 3-Jan-11 329.57 337 | 31-Dec-10 322.56 338 | 30-Dec-10 323.66 339 | 29-Dec-10 325.29 340 | 28-Dec-10 325.47 341 | 27-Dec-10 324.68 342 | 23-Dec-10 323.60 343 | 22-Dec-10 325.16 344 | 21-Dec-10 324.20 345 | 20-Dec-10 322.21 346 | 17-Dec-10 320.61 347 | 16-Dec-10 321.25 348 | 15-Dec-10 320.36 349 | 14-Dec-10 320.29 350 | 13-Dec-10 321.67 351 | 10-Dec-10 320.56 352 | 9-Dec-10 319.76 353 | 8-Dec-10 321.01 354 | 7-Dec-10 318.21 355 | 6-Dec-10 320.15 356 | 3-Dec-10 317.44 357 | 2-Dec-10 318.15 358 | 1-Dec-10 316.40 359 | 30-Nov-10 311.15 360 | 29-Nov-10 316.87 361 | 26-Nov-10 315.00 362 | 24-Nov-10 314.80 363 | 23-Nov-10 308.73 364 | 22-Nov-10 313.36 365 | 19-Nov-10 306.73 366 | 18-Nov-10 308.43 367 | 17-Nov-10 300.50 368 | 16-Nov-10 301.59 369 | 15-Nov-10 307.04 370 | 12-Nov-10 308.03 371 | 11-Nov-10 316.66 372 | 10-Nov-10 318.03 373 | 9-Nov-10 316.08 374 | 8-Nov-10 318.62 375 | 5-Nov-10 317.13 376 | 4-Nov-10 318.27 377 | 3-Nov-10 312.80 378 | 2-Nov-10 309.36 379 | 1-Nov-10 304.18 380 | 29-Oct-10 300.98 381 | 28-Oct-10 305.24 382 | 27-Oct-10 307.83 383 | 26-Oct-10 308.05 384 | 25-Oct-10 308.84 385 | 22-Oct-10 307.47 386 | 21-Oct-10 309.52 387 | 20-Oct-10 310.53 388 | 19-Oct-10 309.49 389 | 18-Oct-10 318.00 390 | 15-Oct-10 314.74 391 | 14-Oct-10 302.31 392 | 13-Oct-10 300.14 393 | 12-Oct-10 298.54 394 | 11-Oct-10 295.36 395 | 8-Oct-10 294.07 396 | 7-Oct-10 289.22 397 | 6-Oct-10 289.19 398 | 5-Oct-10 288.94 399 | 4-Oct-10 278.64 400 | 1-Oct-10 282.52 401 | 30-Sep-10 283.75 402 | 29-Sep-10 287.37 403 | 28-Sep-10 286.86 404 | 27-Sep-10 291.16 405 | 24-Sep-10 292.32 406 | 23-Sep-10 288.92 407 | 22-Sep-10 287.75 408 | 21-Sep-10 283.77 409 | 20-Sep-10 283.23 410 | 17-Sep-10 275.37 411 | 16-Sep-10 276.57 412 | 15-Sep-10 270.22 413 | 14-Sep-10 268.06 414 | 13-Sep-10 267.04 415 | 10-Sep-10 263.41 416 | 9-Sep-10 263.07 417 | 8-Sep-10 262.92 418 | 7-Sep-10 257.81 419 | 6-Sep-10 258.77 420 | 3-Sep-10 258.77 421 | 2-Sep-10 252.17 422 | 1-Sep-10 250.33 423 | 31-Aug-10 243.10 424 | 30-Aug-10 242.50 425 | 27-Aug-10 241.62 426 | 26-Aug-10 240.28 427 | 25-Aug-10 242.89 428 | 24-Aug-10 239.93 429 | 23-Aug-10 245.80 430 | 20-Aug-10 249.64 431 | 19-Aug-10 249.88 432 | 18-Aug-10 253.07 433 | 17-Aug-10 251.97 434 | 16-Aug-10 247.64 435 | 13-Aug-10 249.10 436 | 12-Aug-10 251.79 437 | 11-Aug-10 250.19 438 | 10-Aug-10 259.41 439 | 9-Aug-10 261.75 440 | 6-Aug-10 260.09 441 | 5-Aug-10 261.70 442 | 4-Aug-10 262.98 443 | 3-Aug-10 261.93 444 | 2-Aug-10 261.85 445 | 30-Jul-10 257.25 446 | 29-Jul-10 258.11 447 | 28-Jul-10 260.96 448 | 27-Jul-10 264.08 449 | 26-Jul-10 259.28 450 | 23-Jul-10 259.94 451 | 22-Jul-10 259.02 452 | 21-Jul-10 254.24 453 | 20-Jul-10 251.89 454 | 19-Jul-10 245.58 455 | 16-Jul-10 249.90 456 | 15-Jul-10 251.45 457 | 14-Jul-10 252.73 458 | 13-Jul-10 251.80 459 | 12-Jul-10 257.28 460 | 9-Jul-10 259.62 461 | 8-Jul-10 258.09 462 | 7-Jul-10 258.66 463 | 6-Jul-10 248.63 464 | 5-Jul-10 246.94 465 | 2-Jul-10 246.94 466 | 1-Jul-10 248.48 467 | 30-Jun-10 251.53 468 | 29-Jun-10 256.17 469 | 28-Jun-10 268.30 470 | 25-Jun-10 266.70 471 | 24-Jun-10 269.00 472 | 23-Jun-10 270.97 473 | 22-Jun-10 273.85 474 | 21-Jun-10 270.17 475 | 18-Jun-10 274.07 476 | 17-Jun-10 271.87 477 | 16-Jun-10 267.25 478 | 15-Jun-10 259.69 479 | 14-Jun-10 254.28 480 | 11-Jun-10 253.51 481 | 10-Jun-10 250.51 482 | 9-Jun-10 243.20 483 | 8-Jun-10 249.33 484 | 7-Jun-10 250.94 485 | 4-Jun-10 255.96 486 | 3-Jun-10 263.12 487 | 2-Jun-10 263.95 488 | 1-Jun-10 260.83 489 | 31-May-10 256.88 490 | 28-May-10 256.88 491 | 27-May-10 253.35 492 | 26-May-10 244.11 493 | 25-May-10 245.22 494 | 24-May-10 246.76 495 | 21-May-10 242.32 496 | 20-May-10 237.76 497 | 19-May-10 248.34 498 | 18-May-10 252.36 499 | 17-May-10 254.22 500 | 14-May-10 253.82 501 | 13-May-10 258.36 502 | 12-May-10 262.09 503 | 11-May-10 256.52 504 | 10-May-10 253.99 505 | 7-May-10 235.86 506 | 6-May-10 246.25 507 | 5-May-10 255.98 508 | 4-May-10 258.68 509 | 3-May-10 266.35 510 | 30-Apr-10 261.09 511 | 29-Apr-10 268.64 512 | 28-Apr-10 261.60 513 | 27-Apr-10 262.04 514 | 26-Apr-10 269.50 515 | 23-Apr-10 270.83 516 | 22-Apr-10 266.47 517 | 21-Apr-10 259.22 518 | 20-Apr-10 244.59 519 | 19-Apr-10 247.07 520 | 16-Apr-10 247.40 521 | 15-Apr-10 248.92 522 | 14-Apr-10 245.69 523 | 13-Apr-10 242.43 524 | 12-Apr-10 242.29 525 | 9-Apr-10 241.79 526 | 8-Apr-10 239.95 527 | 7-Apr-10 240.60 528 | 6-Apr-10 239.54 529 | 5-Apr-10 238.49 530 | 2-Apr-10 235.97 531 | 1-Apr-10 235.97 532 | 31-Mar-10 235.00 533 | 30-Mar-10 235.84 534 | 29-Mar-10 232.39 535 | 26-Mar-10 230.90 536 | 25-Mar-10 226.65 537 | 24-Mar-10 229.37 538 | 23-Mar-10 228.36 539 | 22-Mar-10 224.75 540 | 19-Mar-10 222.25 541 | 18-Mar-10 224.65 542 | 17-Mar-10 224.12 543 | 16-Mar-10 224.45 544 | 15-Mar-10 223.84 545 | 12-Mar-10 226.60 546 | 11-Mar-10 225.50 547 | 10-Mar-10 224.84 548 | 9-Mar-10 223.02 549 | 8-Mar-10 219.08 550 | 5-Mar-10 218.95 551 | 4-Mar-10 210.71 552 | 3-Mar-10 209.33 553 | 2-Mar-10 208.85 554 | 1-Mar-10 208.99 555 | 26-Feb-10 204.62 556 | 25-Feb-10 202.00 557 | 24-Feb-10 200.66 558 | 23-Feb-10 197.06 559 | 22-Feb-10 200.42 560 | 19-Feb-10 201.67 561 | 18-Feb-10 202.93 562 | 17-Feb-10 202.55 563 | 16-Feb-10 203.40 564 | 15-Feb-10 200.38 565 | 12-Feb-10 200.38 566 | 11-Feb-10 198.67 567 | 10-Feb-10 195.12 568 | 9-Feb-10 196.19 569 | 8-Feb-10 194.12 570 | 5-Feb-10 195.46 571 | 4-Feb-10 192.05 572 | 3-Feb-10 199.23 573 | 2-Feb-10 195.86 574 | 1-Feb-10 194.73 575 | 29-Jan-10 192.06 576 | 28-Jan-10 199.29 577 | 27-Jan-10 207.88 578 | 26-Jan-10 205.94 579 | 25-Jan-10 203.08 580 | 22-Jan-10 197.75 581 | 21-Jan-10 208.07 582 | 20-Jan-10 211.72 583 | 19-Jan-10 215.04 584 | 18-Jan-10 205.93 585 | 15-Jan-10 205.93 586 | 14-Jan-10 209.43 587 | 13-Jan-10 210.65 588 | 12-Jan-10 207.72 589 | 11-Jan-10 210.11 590 | 8-Jan-10 211.98 591 | 7-Jan-10 210.58 592 | 6-Jan-10 210.97 593 | 5-Jan-10 214.38 594 | 4-Jan-10 214.01 595 | 1-Jan-10 210.73 -------------------------------------------------------------------------------- /Chapter2/pokemon.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": " 001", 4 | "typeTwo": " Poison", 5 | "name": " Bulbasaur", 6 | "type": " Grass" 7 | }, 8 | { 9 | "id": " 002", 10 | "typeTwo": " Poison", 11 | "name": " Ivysaur", 12 | "type": " Grass" 13 | }, 14 | { 15 | "id": " 003", 16 | "typeTwo": " Poison", 17 | "name": " Venusaur", 18 | "type": " Grass" 19 | }, 20 | { 21 | "id": " 006", 22 | "typeTwo": " Flying", 23 | "name": " Charizard", 24 | "type": " Fire" 25 | }, 26 | { 27 | "id": " 012", 28 | "typeTwo": " Flying", 29 | "name": " Butterfree", 30 | "type": " Bug" 31 | }, 32 | { 33 | "id": " 013", 34 | "typeTwo": " Poison", 35 | "name": " Weedle", 36 | "type": " Bug" 37 | }, 38 | { 39 | "id": " 014", 40 | "typeTwo": " Poison", 41 | "name": " Kakuna", 42 | "type": " Bug" 43 | }, 44 | { 45 | "id": " 015", 46 | "typeTwo": " Poison", 47 | "name": " Beedrill", 48 | "type": " Bug" 49 | }, 50 | { 51 | "id": " 016", 52 | "typeTwo": " Flying", 53 | "name": " Pidgey", 54 | "type": " Normal" 55 | }, 56 | { 57 | "id": " 017", 58 | "typeTwo": " Flying", 59 | "name": " Pidgeotto", 60 | "type": " Normal" 61 | }, 62 | { 63 | "id": " 018", 64 | "typeTwo": " Flying", 65 | "name": " Pidgeot", 66 | "type": " Normal" 67 | }, 68 | { 69 | "id": " 021", 70 | "typeTwo": " Flying", 71 | "name": " Spearow", 72 | "type": " Normal" 73 | }, 74 | { 75 | "id": " 022", 76 | "typeTwo": " Flying", 77 | "name": " Fearow", 78 | "type": " Normal" 79 | }, 80 | { 81 | "id": " 031", 82 | "typeTwo": " Ground", 83 | "name": " Nidoqueen", 84 | "type": " Poison" 85 | }, 86 | { 87 | "id": " 034", 88 | "typeTwo": " Ground", 89 | "name": " Nidoking", 90 | "type": " Poison" 91 | }, 92 | { 93 | "id": " 041", 94 | "typeTwo": " Flying", 95 | "name": " Zubat", 96 | "type": " Poison" 97 | }, 98 | { 99 | "id": " 042", 100 | "typeTwo": " Flying", 101 | "name": " Golbat", 102 | "type": " Poison" 103 | }, 104 | { 105 | "id": " 043", 106 | "typeTwo": " Poison", 107 | "name": " Oddish", 108 | "type": " Grass" 109 | }, 110 | { 111 | "id": " 044", 112 | "typeTwo": " Poison", 113 | "name": " Gloom", 114 | "type": " Grass" 115 | }, 116 | { 117 | "id": " 045", 118 | "typeTwo": " Poison", 119 | "name": " Vileplume", 120 | "type": " Grass" 121 | }, 122 | { 123 | "id": " 046", 124 | "typeTwo": " Grass", 125 | "name": " Paras", 126 | "type": " Bug" 127 | }, 128 | { 129 | "id": " 047", 130 | "typeTwo": " Grass", 131 | "name": " Parasect", 132 | "type": " Bug" 133 | }, 134 | { 135 | "id": " 048", 136 | "typeTwo": " Poison", 137 | "name": " Venonat", 138 | "type": " Bug" 139 | }, 140 | { 141 | "id": " 049", 142 | "typeTwo": " Poison", 143 | "name": " Venomoth", 144 | "type": " Bug" 145 | }, 146 | { 147 | "id": " 062", 148 | "typeTwo": " Fighting", 149 | "name": " Poliwrath", 150 | "type": " Water" 151 | }, 152 | { 153 | "id": " 069", 154 | "typeTwo": " Poison", 155 | "name": " Bellsprout", 156 | "type": " Grass" 157 | }, 158 | { 159 | "id": " 070", 160 | "typeTwo": " Poison", 161 | "name": " Weepinbell", 162 | "type": " Grass" 163 | }, 164 | { 165 | "id": " 071", 166 | "typeTwo": " Poison", 167 | "name": " Victreebel", 168 | "type": " Grass" 169 | }, 170 | { 171 | "id": " 072", 172 | "typeTwo": " Poison", 173 | "name": " Tentacool", 174 | "type": " Water" 175 | }, 176 | { 177 | "id": " 073", 178 | "typeTwo": " Poison", 179 | "name": " Tentacruel", 180 | "type": " Water" 181 | }, 182 | { 183 | "id": " 074", 184 | "typeTwo": " Ground", 185 | "name": " Geodude", 186 | "type": " Rock" 187 | }, 188 | { 189 | "id": " 075", 190 | "typeTwo": " Ground", 191 | "name": " Graveler", 192 | "type": " Rock" 193 | }, 194 | { 195 | "id": " 076", 196 | "typeTwo": " Ground", 197 | "name": " Golem", 198 | "type": " Rock" 199 | }, 200 | { 201 | "id": " 079", 202 | "typeTwo": " Psychic", 203 | "name": " Slowpoke", 204 | "type": " Water" 205 | }, 206 | { 207 | "id": " 080", 208 | "typeTwo": " Psychic", 209 | "name": " Slowbro", 210 | "type": " Water" 211 | }, 212 | { 213 | "id": " 081", 214 | "typeTwo": " Steel", 215 | "name": " Magnemite", 216 | "type": " Electric" 217 | }, 218 | { 219 | "id": " 082", 220 | "typeTwo": " Steel", 221 | "name": " Magneton", 222 | "type": " Electric" 223 | }, 224 | { 225 | "id": " 083", 226 | "typeTwo": " Flying", 227 | "name": " Farfetch'd", 228 | "type": " Normal" 229 | }, 230 | { 231 | "id": " 084", 232 | "typeTwo": " Flying", 233 | "name": " Doduo", 234 | "type": " Normal" 235 | }, 236 | { 237 | "id": " 085", 238 | "typeTwo": " Flying", 239 | "name": " Dodrio", 240 | "type": " Normal" 241 | }, 242 | { 243 | "id": " 087", 244 | "typeTwo": " Ice", 245 | "name": " Dewgong", 246 | "type": " Water" 247 | }, 248 | { 249 | "id": " 091", 250 | "typeTwo": " Ice", 251 | "name": " Cloyster", 252 | "type": " Water" 253 | }, 254 | { 255 | "id": " 092", 256 | "typeTwo": " Poison", 257 | "name": " Gastly", 258 | "type": " Ghost" 259 | }, 260 | { 261 | "id": " 093", 262 | "typeTwo": " Poison", 263 | "name": " Haunter", 264 | "type": " Ghost" 265 | }, 266 | { 267 | "id": " 094", 268 | "typeTwo": " Poison", 269 | "name": " Gengar", 270 | "type": " Ghost" 271 | }, 272 | { 273 | "id": " 095", 274 | "typeTwo": " Ground", 275 | "name": " Onix", 276 | "type": " Rock" 277 | }, 278 | { 279 | "id": " 102", 280 | "typeTwo": " Psychic", 281 | "name": " Exeggcute", 282 | "type": " Grass" 283 | }, 284 | { 285 | "id": " 103", 286 | "typeTwo": " Psychic", 287 | "name": " Exeggutor", 288 | "type": " Grass" 289 | }, 290 | { 291 | "id": " 111", 292 | "typeTwo": " Rock", 293 | "name": " Rhyhorn", 294 | "type": " Ground" 295 | }, 296 | { 297 | "id": " 112", 298 | "typeTwo": " Rock", 299 | "name": " Rhydon", 300 | "type": " Ground" 301 | }, 302 | { 303 | "id": " 121", 304 | "typeTwo": " Psychic", 305 | "name": " Starmie", 306 | "type": " Water" 307 | }, 308 | { 309 | "id": " 123", 310 | "typeTwo": " Flying", 311 | "name": " Scyther", 312 | "type": " Bug" 313 | }, 314 | { 315 | "id": " 124", 316 | "typeTwo": " Psychic", 317 | "name": " Jynx", 318 | "type": " Ice" 319 | }, 320 | { 321 | "id": " 130", 322 | "typeTwo": " Flying", 323 | "name": " Gyarados", 324 | "type": " Water" 325 | }, 326 | { 327 | "id": " 131", 328 | "typeTwo": " Ice", 329 | "name": " Lapras", 330 | "type": " Water" 331 | }, 332 | { 333 | "id": " 138", 334 | "typeTwo": " Water", 335 | "name": " Omanyte", 336 | "type": " Rock" 337 | }, 338 | { 339 | "id": " 139", 340 | "typeTwo": " Water", 341 | "name": " Omastar", 342 | "type": " Rock" 343 | }, 344 | { 345 | "id": " 140", 346 | "typeTwo": " Water", 347 | "name": " Kabuto", 348 | "type": " Rock" 349 | }, 350 | { 351 | "id": " 141", 352 | "typeTwo": " Water", 353 | "name": " Kabutops", 354 | "type": " Rock" 355 | }, 356 | { 357 | "id": " 142", 358 | "typeTwo": " Flying", 359 | "name": " Aerodactyl", 360 | "type": " Rock" 361 | }, 362 | { 363 | "id": " 144", 364 | "typeTwo": " Flying", 365 | "name": " Articuno", 366 | "type": " Ice" 367 | }, 368 | { 369 | "id": " 145", 370 | "typeTwo": " Flying", 371 | "name": " Zapdos", 372 | "type": " Electric" 373 | }, 374 | { 375 | "id": " 146", 376 | "typeTwo": " Flying", 377 | "name": " Moltres", 378 | "type": " Fire" 379 | }, 380 | { 381 | "id": " 149", 382 | "typeTwo": " Flying", 383 | "name": " Dragonite", 384 | "type": " Dragon" 385 | }, 386 | { 387 | "id": " 163", 388 | "typeTwo": " Flying", 389 | "name": " Hoothoot", 390 | "type": " Normal" 391 | }, 392 | { 393 | "id": " 164", 394 | "typeTwo": " Flying", 395 | "name": " Noctowl", 396 | "type": " Normal" 397 | }, 398 | { 399 | "id": " 165", 400 | "typeTwo": " Flying", 401 | "name": " Ledyba", 402 | "type": " Bug" 403 | }, 404 | { 405 | "id": " 166", 406 | "typeTwo": " Flying", 407 | "name": " Ledian", 408 | "type": " Bug" 409 | }, 410 | { 411 | "id": " 167", 412 | "typeTwo": " Poison", 413 | "name": " Spinarak", 414 | "type": " Bug" 415 | }, 416 | { 417 | "id": " 168", 418 | "typeTwo": " Poison", 419 | "name": " Ariados", 420 | "type": " Bug" 421 | }, 422 | { 423 | "id": " 169", 424 | "typeTwo": " Flying", 425 | "name": " Crobat", 426 | "type": " Poison" 427 | }, 428 | { 429 | "id": " 170", 430 | "typeTwo": " Electric", 431 | "name": " Chinchou", 432 | "type": " Water" 433 | }, 434 | { 435 | "id": " 171", 436 | "typeTwo": " Electric", 437 | "name": " Lanturn", 438 | "type": " Water" 439 | }, 440 | { 441 | "id": " 176", 442 | "typeTwo": " Flying", 443 | "name": " Togetic", 444 | "type": " Normal" 445 | }, 446 | { 447 | "id": " 177", 448 | "typeTwo": " Flying", 449 | "name": " Natu", 450 | "type": " Psychic" 451 | }, 452 | { 453 | "id": " 178", 454 | "typeTwo": " Flying", 455 | "name": " Xatu", 456 | "type": " Psychic" 457 | }, 458 | { 459 | "id": " 187", 460 | "typeTwo": " Flying", 461 | "name": " Hoppip", 462 | "type": " Grass" 463 | }, 464 | { 465 | "id": " 188", 466 | "typeTwo": " Flying", 467 | "name": " Skiploom", 468 | "type": " Grass" 469 | }, 470 | { 471 | "id": " 189", 472 | "typeTwo": " Flying", 473 | "name": " Jumpluff", 474 | "type": " Grass" 475 | }, 476 | { 477 | "id": " 193", 478 | "typeTwo": " Flying", 479 | "name": " Yanma", 480 | "type": " Bug" 481 | }, 482 | { 483 | "id": " 194", 484 | "typeTwo": " Ground", 485 | "name": " Wooper", 486 | "type": " Water" 487 | }, 488 | { 489 | "id": " 195", 490 | "typeTwo": " Ground", 491 | "name": " Quagsire", 492 | "type": " Water" 493 | }, 494 | { 495 | "id": " 198", 496 | "typeTwo": " Flying", 497 | "name": " Murkrow", 498 | "type": " Dark" 499 | }, 500 | { 501 | "id": " 199", 502 | "typeTwo": " Psychic", 503 | "name": " Slowking", 504 | "type": " Water" 505 | }, 506 | { 507 | "id": " 203", 508 | "typeTwo": " Psychic", 509 | "name": " Girafarig", 510 | "type": " Normal" 511 | }, 512 | { 513 | "id": " 205", 514 | "typeTwo": " Steel", 515 | "name": " Forretress", 516 | "type": " Bug" 517 | }, 518 | { 519 | "id": " 207", 520 | "typeTwo": " Flying", 521 | "name": " Gligar", 522 | "type": " Ground" 523 | }, 524 | { 525 | "id": " 208", 526 | "typeTwo": " Ground", 527 | "name": " Steelix", 528 | "type": " Steel" 529 | }, 530 | { 531 | "id": " 211", 532 | "typeTwo": " Poison", 533 | "name": " Qwilfish", 534 | "type": " Water" 535 | }, 536 | { 537 | "id": " 212", 538 | "typeTwo": " Steel", 539 | "name": " Scizor", 540 | "type": " Bug" 541 | }, 542 | { 543 | "id": " 213", 544 | "typeTwo": " Rock", 545 | "name": " Shuckle", 546 | "type": " Bug" 547 | }, 548 | { 549 | "id": " 214", 550 | "typeTwo": " Fighting", 551 | "name": " Heracross", 552 | "type": " Bug" 553 | }, 554 | { 555 | "id": " 215", 556 | "typeTwo": " Ice", 557 | "name": " Sneasel", 558 | "type": " Dark" 559 | }, 560 | { 561 | "id": " 219", 562 | "typeTwo": " Rock", 563 | "name": " Magcargo", 564 | "type": " Fire" 565 | }, 566 | { 567 | "id": " 220", 568 | "typeTwo": " Ground", 569 | "name": " Swinub", 570 | "type": " Ice" 571 | }, 572 | { 573 | "id": " 221", 574 | "typeTwo": " Ground", 575 | "name": " Piloswine", 576 | "type": " Ice" 577 | }, 578 | { 579 | "id": " 222", 580 | "typeTwo": " Rock", 581 | "name": " Corsola", 582 | "type": " Water" 583 | }, 584 | { 585 | "id": " 225", 586 | "typeTwo": " Flying", 587 | "name": " Delibird", 588 | "type": " Ice" 589 | }, 590 | { 591 | "id": " 226", 592 | "typeTwo": " Flying", 593 | "name": " Mantine", 594 | "type": " Water" 595 | }, 596 | { 597 | "id": " 227", 598 | "typeTwo": " Flying", 599 | "name": " Skarmory", 600 | "type": " Steel" 601 | }, 602 | { 603 | "id": " 228", 604 | "typeTwo": " Fire", 605 | "name": " Houndour", 606 | "type": " Dark" 607 | }, 608 | { 609 | "id": " 229", 610 | "typeTwo": " Fire", 611 | "name": " Houndoom", 612 | "type": " Dark" 613 | }, 614 | { 615 | "id": " 230", 616 | "typeTwo": " Dragon", 617 | "name": " Kingdra", 618 | "type": " Water" 619 | }, 620 | { 621 | "id": " 238", 622 | "typeTwo": " Psychic", 623 | "name": " Smoochum", 624 | "type": " Ice" 625 | }, 626 | { 627 | "id": " 246", 628 | "typeTwo": " Ground", 629 | "name": " Larvitar", 630 | "type": " Rock" 631 | }, 632 | { 633 | "id": " 247", 634 | "typeTwo": " Ground", 635 | "name": " Pupitar", 636 | "type": " Rock" 637 | }, 638 | { 639 | "id": " 248", 640 | "typeTwo": " Dark", 641 | "name": " Tyranitar", 642 | "type": " Rock" 643 | }, 644 | { 645 | "id": " 249", 646 | "typeTwo": " Flying", 647 | "name": " Lugia", 648 | "type": " Psychic" 649 | }, 650 | { 651 | "id": " 250", 652 | "typeTwo": " Flying", 653 | "name": " Ho-Oh", 654 | "type": " Fire" 655 | }, 656 | { 657 | "id": " 251", 658 | "typeTwo": " Grass", 659 | "name": " Celebi", 660 | "type": " Psychic" 661 | }, 662 | { 663 | "id": " 256", 664 | "typeTwo": " Fighting", 665 | "name": " Combusken", 666 | "type": " Fire" 667 | }, 668 | { 669 | "id": " 257", 670 | "typeTwo": " Fighting", 671 | "name": " Blaziken", 672 | "type": " Fire" 673 | }, 674 | { 675 | "id": " 259", 676 | "typeTwo": " Ground", 677 | "name": " Marshtomp", 678 | "type": " Water" 679 | }, 680 | { 681 | "id": " 260", 682 | "typeTwo": " Ground", 683 | "name": " Swampert", 684 | "type": " Water" 685 | }, 686 | { 687 | "id": " 267", 688 | "typeTwo": " Flying", 689 | "name": " Beautifly", 690 | "type": " Bug" 691 | }, 692 | { 693 | "id": " 269", 694 | "typeTwo": " Poison", 695 | "name": " Dustox", 696 | "type": " Bug" 697 | }, 698 | { 699 | "id": " 270", 700 | "typeTwo": " Grass", 701 | "name": " Lotad", 702 | "type": " Water" 703 | }, 704 | { 705 | "id": " 271", 706 | "typeTwo": " Grass", 707 | "name": " Lombre", 708 | "type": " Water" 709 | }, 710 | { 711 | "id": " 272", 712 | "typeTwo": " Grass", 713 | "name": " Ludicolo", 714 | "type": " Water" 715 | }, 716 | { 717 | "id": " 274", 718 | "typeTwo": " Dark", 719 | "name": " Nuzleaf", 720 | "type": " Grass" 721 | }, 722 | { 723 | "id": " 275", 724 | "typeTwo": " Dark", 725 | "name": " Shiftry", 726 | "type": " Grass" 727 | }, 728 | { 729 | "id": " 276", 730 | "typeTwo": " Flying", 731 | "name": " Taillow", 732 | "type": " Normal" 733 | }, 734 | { 735 | "id": " 277", 736 | "typeTwo": " Flying", 737 | "name": " Swellow", 738 | "type": " Normal" 739 | }, 740 | { 741 | "id": " 278", 742 | "typeTwo": " Flying", 743 | "name": " Wingull", 744 | "type": " Water" 745 | }, 746 | { 747 | "id": " 279", 748 | "typeTwo": " Flying", 749 | "name": " Pelipper", 750 | "type": " Water" 751 | }, 752 | { 753 | "id": " 283", 754 | "typeTwo": " Water", 755 | "name": " Surskit", 756 | "type": " Bug" 757 | }, 758 | { 759 | "id": " 284", 760 | "typeTwo": " Flying", 761 | "name": " Masquerain", 762 | "type": " Bug" 763 | }, 764 | { 765 | "id": " 286", 766 | "typeTwo": " Fighting", 767 | "name": " Breloom", 768 | "type": " Grass" 769 | }, 770 | { 771 | "id": " 290", 772 | "typeTwo": " Ground", 773 | "name": " Nincada", 774 | "type": " Bug" 775 | }, 776 | { 777 | "id": " 291", 778 | "typeTwo": " Flying", 779 | "name": " Ninjask", 780 | "type": " Bug" 781 | }, 782 | { 783 | "id": " 292", 784 | "typeTwo": " Ghost", 785 | "name": " Shedinja", 786 | "type": " Bug" 787 | }, 788 | { 789 | "id": " 302", 790 | "typeTwo": " Ghost", 791 | "name": " Sableye", 792 | "type": " Dark" 793 | }, 794 | { 795 | "id": " 304", 796 | "typeTwo": " Rock", 797 | "name": " Aron", 798 | "type": " Steel" 799 | }, 800 | { 801 | "id": " 305", 802 | "typeTwo": " Rock", 803 | "name": " Lairon", 804 | "type": " Steel" 805 | }, 806 | { 807 | "id": " 306", 808 | "typeTwo": " Rock", 809 | "name": " Aggron", 810 | "type": " Steel" 811 | }, 812 | { 813 | "id": " 307", 814 | "typeTwo": " Psychic", 815 | "name": " Meditite", 816 | "type": " Fighting" 817 | }, 818 | { 819 | "id": " 308", 820 | "typeTwo": " Psychic", 821 | "name": " Medicham", 822 | "type": " Fighting" 823 | }, 824 | { 825 | "id": " 315", 826 | "typeTwo": " Poison", 827 | "name": " Roselia", 828 | "type": " Grass" 829 | }, 830 | { 831 | "id": " 318", 832 | "typeTwo": " Dark", 833 | "name": " Carvanha", 834 | "type": " Water" 835 | }, 836 | { 837 | "id": " 319", 838 | "typeTwo": " Dark", 839 | "name": " Sharpedo", 840 | "type": " Water" 841 | }, 842 | { 843 | "id": " 322", 844 | "typeTwo": " Ground", 845 | "name": " Numel", 846 | "type": " Fire" 847 | }, 848 | { 849 | "id": " 323", 850 | "typeTwo": " Ground", 851 | "name": " Camerupt", 852 | "type": " Fire" 853 | }, 854 | { 855 | "id": " 329", 856 | "typeTwo": " Dragon", 857 | "name": " Vibrava", 858 | "type": " Ground" 859 | }, 860 | { 861 | "id": " 330", 862 | "typeTwo": " Dragon", 863 | "name": " Flygon", 864 | "type": " Ground" 865 | }, 866 | { 867 | "id": " 332", 868 | "typeTwo": " Dark", 869 | "name": " Cacturne", 870 | "type": " Grass" 871 | }, 872 | { 873 | "id": " 333", 874 | "typeTwo": " Flying", 875 | "name": " Swablu", 876 | "type": " Normal" 877 | }, 878 | { 879 | "id": " 334", 880 | "typeTwo": " Flying", 881 | "name": " Altaria", 882 | "type": " Dragon" 883 | }, 884 | { 885 | "id": " 337", 886 | "typeTwo": " Psychic", 887 | "name": " Lunatone", 888 | "type": " Rock" 889 | }, 890 | { 891 | "id": " 338", 892 | "typeTwo": " Psychic", 893 | "name": " Solrock", 894 | "type": " Rock" 895 | }, 896 | { 897 | "id": " 339", 898 | "typeTwo": " Ground", 899 | "name": " Barboach", 900 | "type": " Water" 901 | }, 902 | { 903 | "id": " 340", 904 | "typeTwo": " Ground", 905 | "name": " Whiscash", 906 | "type": " Water" 907 | }, 908 | { 909 | "id": " 342", 910 | "typeTwo": " Dark", 911 | "name": " Crawdaunt", 912 | "type": " Water" 913 | }, 914 | { 915 | "id": " 343", 916 | "typeTwo": " Psychic", 917 | "name": " Baltoy", 918 | "type": " Ground" 919 | }, 920 | { 921 | "id": " 344", 922 | "typeTwo": " Psychic", 923 | "name": " Claydol", 924 | "type": " Ground" 925 | }, 926 | { 927 | "id": " 345", 928 | "typeTwo": " Grass", 929 | "name": " Lileep", 930 | "type": " Rock" 931 | }, 932 | { 933 | "id": " 346", 934 | "typeTwo": " Grass", 935 | "name": " Cradily", 936 | "type": " Rock" 937 | }, 938 | { 939 | "id": " 347", 940 | "typeTwo": " Bug", 941 | "name": " Anorith", 942 | "type": " Rock" 943 | }, 944 | { 945 | "id": " 348", 946 | "typeTwo": " Bug", 947 | "name": " Armaldo", 948 | "type": " Rock" 949 | }, 950 | { 951 | "id": " 357", 952 | "typeTwo": " Flying", 953 | "name": " Tropius", 954 | "type": " Grass" 955 | }, 956 | { 957 | "id": " 363", 958 | "typeTwo": " Water", 959 | "name": " Spheal", 960 | "type": " Ice" 961 | }, 962 | { 963 | "id": " 364", 964 | "typeTwo": " Water", 965 | "name": " Sealeo", 966 | "type": " Ice" 967 | }, 968 | { 969 | "id": " 365", 970 | "typeTwo": " Water", 971 | "name": " Walrein", 972 | "type": " Ice" 973 | }, 974 | { 975 | "id": " 369", 976 | "typeTwo": " Rock", 977 | "name": " Relicanth", 978 | "type": " Water" 979 | }, 980 | { 981 | "id": " 373", 982 | "typeTwo": " Flying", 983 | "name": " Salamence", 984 | "type": " Dragon" 985 | }, 986 | { 987 | "id": " 374", 988 | "typeTwo": " Psychic", 989 | "name": " Beldum", 990 | "type": " Steel" 991 | }, 992 | { 993 | "id": " 375", 994 | "typeTwo": " Psychic", 995 | "name": " Metang", 996 | "type": " Steel" 997 | }, 998 | { 999 | "id": " 376", 1000 | "typeTwo": " Psychic", 1001 | "name": " Metagross", 1002 | "type": " Steel" 1003 | }, 1004 | { 1005 | "id": " 380", 1006 | "typeTwo": " Psychic", 1007 | "name": " Latias", 1008 | "type": " Dragon" 1009 | }, 1010 | { 1011 | "id": " 381", 1012 | "typeTwo": " Psychic", 1013 | "name": " Latios", 1014 | "type": " Dragon" 1015 | }, 1016 | { 1017 | "id": " 384", 1018 | "typeTwo": " Flying", 1019 | "name": " Rayquaza", 1020 | "type": " Dragon" 1021 | }, 1022 | { 1023 | "id": " 385", 1024 | "typeTwo": " Psychic", 1025 | "name": " Jirachi", 1026 | "type": " Steel" 1027 | }, 1028 | { 1029 | "id": " 389", 1030 | "typeTwo": " Ground", 1031 | "name": " Torterra", 1032 | "type": " Grass" 1033 | }, 1034 | { 1035 | "id": " 391", 1036 | "typeTwo": " Fighting", 1037 | "name": " Monferno", 1038 | "type": " Fire" 1039 | }, 1040 | { 1041 | "id": " 392", 1042 | "typeTwo": " Fighting", 1043 | "name": " Infernape", 1044 | "type": " Fire" 1045 | }, 1046 | { 1047 | "id": " 395", 1048 | "typeTwo": " Steel", 1049 | "name": " Empoleon", 1050 | "type": " Water" 1051 | }, 1052 | { 1053 | "id": " 396", 1054 | "typeTwo": " Flying", 1055 | "name": " Starly", 1056 | "type": " Normal" 1057 | }, 1058 | { 1059 | "id": " 397", 1060 | "typeTwo": " Flying", 1061 | "name": " Staravia", 1062 | "type": " Normal" 1063 | }, 1064 | { 1065 | "id": " 398", 1066 | "typeTwo": " Flying", 1067 | "name": " Staraptor", 1068 | "type": " Normal" 1069 | }, 1070 | { 1071 | "id": " 400", 1072 | "typeTwo": " Water", 1073 | "name": " Bibarel", 1074 | "type": " Normal" 1075 | }, 1076 | { 1077 | "id": " 406", 1078 | "typeTwo": " Poison", 1079 | "name": " Budew", 1080 | "type": " Grass" 1081 | }, 1082 | { 1083 | "id": " 407", 1084 | "typeTwo": " Poison", 1085 | "name": " Roserade", 1086 | "type": " Grass" 1087 | }, 1088 | { 1089 | "id": " 410", 1090 | "typeTwo": " Steel", 1091 | "name": " Shieldon", 1092 | "type": " Rock" 1093 | }, 1094 | { 1095 | "id": " 411", 1096 | "typeTwo": " Steel", 1097 | "name": " Bastiodon", 1098 | "type": " Rock" 1099 | }, 1100 | { 1101 | "id": " 413", 1102 | "typeTwo": " Steel", 1103 | "name": " Wormadam", 1104 | "type": " Bug" 1105 | }, 1106 | { 1107 | "id": " 414", 1108 | "typeTwo": " Flying", 1109 | "name": " Mothim", 1110 | "type": " Bug" 1111 | }, 1112 | { 1113 | "id": " 415", 1114 | "typeTwo": " Flying", 1115 | "name": " Combee", 1116 | "type": " Bug" 1117 | }, 1118 | { 1119 | "id": " 416", 1120 | "typeTwo": " Flying", 1121 | "name": " Vespiquen", 1122 | "type": " Bug" 1123 | }, 1124 | { 1125 | "id": " 423", 1126 | "typeTwo": " Ground", 1127 | "name": " Gastrodon", 1128 | "type": " Water" 1129 | }, 1130 | { 1131 | "id": " 425", 1132 | "typeTwo": " Flying", 1133 | "name": " Drifloon", 1134 | "type": " Ghost" 1135 | }, 1136 | { 1137 | "id": " 426", 1138 | "typeTwo": " Flying", 1139 | "name": " Drifblim", 1140 | "type": " Ghost" 1141 | }, 1142 | { 1143 | "id": " 430", 1144 | "typeTwo": " Flying", 1145 | "name": " Honchkrow", 1146 | "type": " Dark" 1147 | }, 1148 | { 1149 | "id": " 434", 1150 | "typeTwo": " Dark", 1151 | "name": " Stunky", 1152 | "type": " Poison" 1153 | }, 1154 | { 1155 | "id": " 435", 1156 | "typeTwo": " Dark", 1157 | "name": " Skuntank", 1158 | "type": " Poison" 1159 | }, 1160 | { 1161 | "id": " 436", 1162 | "typeTwo": " Psychic", 1163 | "name": " Bronzor", 1164 | "type": " Steel" 1165 | }, 1166 | { 1167 | "id": " 437", 1168 | "typeTwo": " Psychic", 1169 | "name": " Bronzong", 1170 | "type": " Steel" 1171 | }, 1172 | { 1173 | "id": " 441", 1174 | "typeTwo": " Flying", 1175 | "name": " Chatot", 1176 | "type": " Normal" 1177 | }, 1178 | { 1179 | "id": " 442", 1180 | "typeTwo": " Dark", 1181 | "name": " Spiritomb", 1182 | "type": " Ghost" 1183 | }, 1184 | { 1185 | "id": " 443", 1186 | "typeTwo": " Ground", 1187 | "name": " Gible", 1188 | "type": " Dragon" 1189 | }, 1190 | { 1191 | "id": " 444", 1192 | "typeTwo": " Ground", 1193 | "name": " Gabite", 1194 | "type": " Dragon" 1195 | }, 1196 | { 1197 | "id": " 445", 1198 | "typeTwo": " Ground", 1199 | "name": " Garchomp", 1200 | "type": " Dragon" 1201 | }, 1202 | { 1203 | "id": " 448", 1204 | "typeTwo": " Steel", 1205 | "name": " Lucario", 1206 | "type": " Fighting" 1207 | }, 1208 | { 1209 | "id": " 451", 1210 | "typeTwo": " Bug", 1211 | "name": " Skorupi", 1212 | "type": " Poison" 1213 | }, 1214 | { 1215 | "id": " 452", 1216 | "typeTwo": " Dark", 1217 | "name": " Drapion", 1218 | "type": " Poison" 1219 | }, 1220 | { 1221 | "id": " 453", 1222 | "typeTwo": " Fighting", 1223 | "name": " Croagunk", 1224 | "type": " Poison" 1225 | }, 1226 | { 1227 | "id": " 454", 1228 | "typeTwo": " Fighting", 1229 | "name": " Toxicroak", 1230 | "type": " Poison" 1231 | }, 1232 | { 1233 | "id": " 458", 1234 | "typeTwo": " Flying", 1235 | "name": " Mantyke", 1236 | "type": " Water" 1237 | }, 1238 | { 1239 | "id": " 459", 1240 | "typeTwo": " Ice", 1241 | "name": " Snover", 1242 | "type": " Grass" 1243 | }, 1244 | { 1245 | "id": " 460", 1246 | "typeTwo": " Ice", 1247 | "name": " Abomasnow", 1248 | "type": " Grass" 1249 | }, 1250 | { 1251 | "id": " 461", 1252 | "typeTwo": " Ice", 1253 | "name": " Weavile", 1254 | "type": " Dark" 1255 | }, 1256 | { 1257 | "id": " 462", 1258 | "typeTwo": " Steel", 1259 | "name": " Magnezone", 1260 | "type": " Electric" 1261 | }, 1262 | { 1263 | "id": " 464", 1264 | "typeTwo": " Rock", 1265 | "name": " Rhyperior", 1266 | "type": " Ground" 1267 | }, 1268 | { 1269 | "id": " 468", 1270 | "typeTwo": " Flying", 1271 | "name": " Togekiss", 1272 | "type": " Normal" 1273 | }, 1274 | { 1275 | "id": " 469", 1276 | "typeTwo": " Flying", 1277 | "name": " Yanmega", 1278 | "type": " Bug" 1279 | }, 1280 | { 1281 | "id": " 472", 1282 | "typeTwo": " Flying", 1283 | "name": " Gliscor", 1284 | "type": " Ground" 1285 | }, 1286 | { 1287 | "id": " 473", 1288 | "typeTwo": " Ground", 1289 | "name": " Mamoswine", 1290 | "type": " Ice" 1291 | }, 1292 | { 1293 | "id": " 475", 1294 | "typeTwo": " Fighting", 1295 | "name": " Gallade", 1296 | "type": " Psychic" 1297 | }, 1298 | { 1299 | "id": " 476", 1300 | "typeTwo": " Steel", 1301 | "name": " Probopass", 1302 | "type": " Rock" 1303 | }, 1304 | { 1305 | "id": " 478", 1306 | "typeTwo": " Ghost", 1307 | "name": " Froslass", 1308 | "type": " Ice" 1309 | }, 1310 | { 1311 | "id": " 479", 1312 | "typeTwo": " Grass", 1313 | "name": " Rotom", 1314 | "type": " Electric" 1315 | }, 1316 | { 1317 | "id": " 483", 1318 | "typeTwo": " Dragon", 1319 | "name": " Dialga", 1320 | "type": " Steel" 1321 | }, 1322 | { 1323 | "id": " 484", 1324 | "typeTwo": " Dragon", 1325 | "name": " Palkia", 1326 | "type": " Water" 1327 | }, 1328 | { 1329 | "id": " 485", 1330 | "typeTwo": " Steel", 1331 | "name": " Heatran", 1332 | "type": " Fire" 1333 | }, 1334 | { 1335 | "id": " 487", 1336 | "typeTwo": " Dragon", 1337 | "name": " Giratina", 1338 | "type": " Ghost" 1339 | }, 1340 | { 1341 | "id": " 492", 1342 | "typeTwo": " Flying", 1343 | "name": " Shaymin", 1344 | "type": " Grass" 1345 | }, 1346 | { 1347 | "id": " 494", 1348 | "typeTwo": " Fire", 1349 | "name": " Victini", 1350 | "type": " Psychic" 1351 | }, 1352 | { 1353 | "id": " 499", 1354 | "typeTwo": " Fighting", 1355 | "name": " Pignite", 1356 | "type": " Fire" 1357 | }, 1358 | { 1359 | "id": " 500", 1360 | "typeTwo": " Fighting", 1361 | "name": " Emboar", 1362 | "type": " Fire" 1363 | }, 1364 | { 1365 | "id": " 519", 1366 | "typeTwo": " Flying", 1367 | "name": " Pidove", 1368 | "type": " Normal" 1369 | }, 1370 | { 1371 | "id": " 520", 1372 | "typeTwo": " Flying", 1373 | "name": " Tranquill", 1374 | "type": " Normal" 1375 | }, 1376 | { 1377 | "id": " 521", 1378 | "typeTwo": " Flying", 1379 | "name": " Unfezant", 1380 | "type": " Normal" 1381 | }, 1382 | { 1383 | "id": " 527", 1384 | "typeTwo": " Flying", 1385 | "name": " Woobat", 1386 | "type": " Psychic" 1387 | }, 1388 | { 1389 | "id": " 528", 1390 | "typeTwo": " Flying", 1391 | "name": " Swoobat", 1392 | "type": " Psychic" 1393 | }, 1394 | { 1395 | "id": " 530", 1396 | "typeTwo": " Steel", 1397 | "name": " Excadrill", 1398 | "type": " Ground" 1399 | }, 1400 | { 1401 | "id": " 536", 1402 | "typeTwo": " Ground", 1403 | "name": " Palpitoad", 1404 | "type": " Water" 1405 | }, 1406 | { 1407 | "id": " 537", 1408 | "typeTwo": " Ground", 1409 | "name": " Seismitoad", 1410 | "type": " Water" 1411 | }, 1412 | { 1413 | "id": " 540", 1414 | "typeTwo": " Grass", 1415 | "name": " Sewaddle", 1416 | "type": " Bug" 1417 | }, 1418 | { 1419 | "id": " 541", 1420 | "typeTwo": " Grass", 1421 | "name": " Swadloon", 1422 | "type": " Bug" 1423 | }, 1424 | { 1425 | "id": " 542", 1426 | "typeTwo": " Grass", 1427 | "name": " Leavanny", 1428 | "type": " Bug" 1429 | }, 1430 | { 1431 | "id": " 543", 1432 | "typeTwo": " Poison", 1433 | "name": " Venipede", 1434 | "type": " Bug" 1435 | }, 1436 | { 1437 | "id": " 544", 1438 | "typeTwo": " Poison", 1439 | "name": " Whirlipede", 1440 | "type": " Bug" 1441 | }, 1442 | { 1443 | "id": " 545", 1444 | "typeTwo": " Poison", 1445 | "name": " Scolipede", 1446 | "type": " Bug" 1447 | }, 1448 | { 1449 | "id": " 551", 1450 | "typeTwo": " Dark", 1451 | "name": " Sandile", 1452 | "type": " Ground" 1453 | }, 1454 | { 1455 | "id": " 552", 1456 | "typeTwo": " Dark", 1457 | "name": " Krokorok", 1458 | "type": " Ground" 1459 | }, 1460 | { 1461 | "id": " 553", 1462 | "typeTwo": " Dark", 1463 | "name": " Krookodile", 1464 | "type": " Ground" 1465 | }, 1466 | { 1467 | "id": " 555", 1468 | "typeTwo": " Psychic", 1469 | "name": " Darmanitan", 1470 | "type": " Fire" 1471 | }, 1472 | { 1473 | "id": " 557", 1474 | "typeTwo": " Rock", 1475 | "name": " Dwebble", 1476 | "type": " Bug" 1477 | }, 1478 | { 1479 | "id": " 558", 1480 | "typeTwo": " Rock", 1481 | "name": " Crustle", 1482 | "type": " Bug" 1483 | }, 1484 | { 1485 | "id": " 559", 1486 | "typeTwo": " Fighting", 1487 | "name": " Scraggy", 1488 | "type": " Dark" 1489 | }, 1490 | { 1491 | "id": " 560", 1492 | "typeTwo": " Fighting", 1493 | "name": " Scrafty", 1494 | "type": " Dark" 1495 | }, 1496 | { 1497 | "id": " 561", 1498 | "typeTwo": " Flying", 1499 | "name": " Sigilyph", 1500 | "type": " Psychic" 1501 | }, 1502 | { 1503 | "id": " 564", 1504 | "typeTwo": " Rock", 1505 | "name": " Tirtouga", 1506 | "type": " Water" 1507 | }, 1508 | { 1509 | "id": " 565", 1510 | "typeTwo": " Rock", 1511 | "name": " Carracosta", 1512 | "type": " Water" 1513 | }, 1514 | { 1515 | "id": " 566", 1516 | "typeTwo": " Flying", 1517 | "name": " Archen", 1518 | "type": " Rock" 1519 | }, 1520 | { 1521 | "id": " 567", 1522 | "typeTwo": " Flying", 1523 | "name": " Archeops", 1524 | "type": " Rock" 1525 | }, 1526 | { 1527 | "id": " 580", 1528 | "typeTwo": " Flying", 1529 | "name": " Ducklett", 1530 | "type": " Water" 1531 | }, 1532 | { 1533 | "id": " 581", 1534 | "typeTwo": " Flying", 1535 | "name": " Swanna", 1536 | "type": " Water" 1537 | }, 1538 | { 1539 | "id": " 585", 1540 | "typeTwo": " Grass", 1541 | "name": " Deerling", 1542 | "type": " Normal" 1543 | }, 1544 | { 1545 | "id": " 586", 1546 | "typeTwo": " Grass", 1547 | "name": " Sawsbuck", 1548 | "type": " Normal" 1549 | }, 1550 | { 1551 | "id": " 587", 1552 | "typeTwo": " Flying", 1553 | "name": " Emolga", 1554 | "type": " Electric" 1555 | }, 1556 | { 1557 | "id": " 589", 1558 | "typeTwo": " Steel", 1559 | "name": " Escavalier", 1560 | "type": " Bug" 1561 | }, 1562 | { 1563 | "id": " 590", 1564 | "typeTwo": " Poison", 1565 | "name": " Foongus", 1566 | "type": " Grass" 1567 | }, 1568 | { 1569 | "id": " 591", 1570 | "typeTwo": " Poison", 1571 | "name": " Amoonguss", 1572 | "type": " Grass" 1573 | }, 1574 | { 1575 | "id": " 592", 1576 | "typeTwo": " Ghost", 1577 | "name": " Frillish", 1578 | "type": " Water" 1579 | }, 1580 | { 1581 | "id": " 593", 1582 | "typeTwo": " Ghost", 1583 | "name": " Jellicent", 1584 | "type": " Water" 1585 | }, 1586 | { 1587 | "id": " 595", 1588 | "typeTwo": " Electric", 1589 | "name": " Joltik", 1590 | "type": " Bug" 1591 | }, 1592 | { 1593 | "id": " 596", 1594 | "typeTwo": " Electric", 1595 | "name": " Galvantula", 1596 | "type": " Bug" 1597 | }, 1598 | { 1599 | "id": " 597", 1600 | "typeTwo": " Steel", 1601 | "name": " Ferroseed", 1602 | "type": " Grass" 1603 | }, 1604 | { 1605 | "id": " 598", 1606 | "typeTwo": " Steel", 1607 | "name": " Ferrothorn", 1608 | "type": " Grass" 1609 | }, 1610 | { 1611 | "id": " 607", 1612 | "typeTwo": " Fire", 1613 | "name": " Litwick", 1614 | "type": " Ghost" 1615 | }, 1616 | { 1617 | "id": " 608", 1618 | "typeTwo": " Fire", 1619 | "name": " Lampent", 1620 | "type": " Ghost" 1621 | }, 1622 | { 1623 | "id": " 609", 1624 | "typeTwo": " Fire", 1625 | "name": " Chandelure", 1626 | "type": " Ghost" 1627 | }, 1628 | { 1629 | "id": " 618", 1630 | "typeTwo": " Electric", 1631 | "name": " Stunfisk", 1632 | "type": " Ground" 1633 | }, 1634 | { 1635 | "id": " 622", 1636 | "typeTwo": " Ghost", 1637 | "name": " Golett", 1638 | "type": " Ground" 1639 | }, 1640 | { 1641 | "id": " 623", 1642 | "typeTwo": " Ghost", 1643 | "name": " Golurk", 1644 | "type": " Ground" 1645 | }, 1646 | { 1647 | "id": " 624", 1648 | "typeTwo": " Steel", 1649 | "name": " Pawniard", 1650 | "type": " Dark" 1651 | }, 1652 | { 1653 | "id": " 625", 1654 | "typeTwo": " Steel", 1655 | "name": " Bisharp", 1656 | "type": " Dark" 1657 | }, 1658 | { 1659 | "id": " 627", 1660 | "typeTwo": " Flying", 1661 | "name": " Rufflet", 1662 | "type": " Normal" 1663 | }, 1664 | { 1665 | "id": " 628", 1666 | "typeTwo": " Flying", 1667 | "name": " Braviary", 1668 | "type": " Normal" 1669 | }, 1670 | { 1671 | "id": " 629", 1672 | "typeTwo": " Flying", 1673 | "name": " Vullaby", 1674 | "type": " Dark" 1675 | }, 1676 | { 1677 | "id": " 630", 1678 | "typeTwo": " Flying", 1679 | "name": " Mandibuzz", 1680 | "type": " Dark" 1681 | }, 1682 | { 1683 | "id": " 632", 1684 | "typeTwo": " Steel", 1685 | "name": " Durant", 1686 | "type": " Bug" 1687 | }, 1688 | { 1689 | "id": " 633", 1690 | "typeTwo": " Dragon", 1691 | "name": " Deino", 1692 | "type": " Dark" 1693 | }, 1694 | { 1695 | "id": " 634", 1696 | "typeTwo": " Dragon", 1697 | "name": " Zweilous", 1698 | "type": " Dark" 1699 | }, 1700 | { 1701 | "id": " 635", 1702 | "typeTwo": " Dragon", 1703 | "name": " Hydreigon", 1704 | "type": " Dark" 1705 | }, 1706 | { 1707 | "id": " 636", 1708 | "typeTwo": " Fire", 1709 | "name": " Larvesta", 1710 | "type": " Bug" 1711 | }, 1712 | { 1713 | "id": " 637", 1714 | "typeTwo": " Fire", 1715 | "name": " Volcarona", 1716 | "type": " Bug" 1717 | }, 1718 | { 1719 | "id": " 638", 1720 | "typeTwo": " Fighting", 1721 | "name": " Cobalion", 1722 | "type": " Steel" 1723 | }, 1724 | { 1725 | "id": " 639", 1726 | "typeTwo": " Fighting", 1727 | "name": " Terrakion", 1728 | "type": " Rock" 1729 | }, 1730 | { 1731 | "id": " 640", 1732 | "typeTwo": " Fighting", 1733 | "name": " Virizion", 1734 | "type": " Grass" 1735 | }, 1736 | { 1737 | "id": " 642", 1738 | "typeTwo": " Flying", 1739 | "name": " Thundurus", 1740 | "type": " Electric" 1741 | }, 1742 | { 1743 | "id": " 643", 1744 | "typeTwo": " Fire", 1745 | "name": " Reshiram", 1746 | "type": " Dragon" 1747 | }, 1748 | { 1749 | "id": " 644", 1750 | "typeTwo": " Electric", 1751 | "name": " Zekrom ", 1752 | "type": " Dragon" 1753 | }, 1754 | { 1755 | "id": " 645", 1756 | "typeTwo": " Flying", 1757 | "name": " Landorus", 1758 | "type": " Ground" 1759 | }, 1760 | { 1761 | "id": " 646", 1762 | "typeTwo": " Ice", 1763 | "name": " Kyurem", 1764 | "type": " Dragon" 1765 | }, 1766 | { 1767 | "id": " 647", 1768 | "typeTwo": " Fighting", 1769 | "name": " Keldeo", 1770 | "type": " Water" 1771 | }, 1772 | { 1773 | "id": " 648", 1774 | "typeTwo": " Fighting", 1775 | "name": " Meloetta", 1776 | "type": " Normal" 1777 | }, 1778 | { 1779 | "id": " 649", 1780 | "typeTwo": " Steel", 1781 | "name": " Genesect", 1782 | "type": " Bug" 1783 | } 1784 | ] 1785 | -------------------------------------------------------------------------------- /Chapter3/pokemon.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": " 001", 4 | "typeTwo": " Poison", 5 | "name": " Bulbasaur", 6 | "type": " Grass" 7 | }, 8 | { 9 | "id": " 002", 10 | "typeTwo": " Poison", 11 | "name": " Ivysaur", 12 | "type": " Grass" 13 | }, 14 | { 15 | "id": " 003", 16 | "typeTwo": " Poison", 17 | "name": " Venusaur", 18 | "type": " Grass" 19 | }, 20 | { 21 | "id": " 006", 22 | "typeTwo": " Flying", 23 | "name": " Charizard", 24 | "type": " Fire" 25 | }, 26 | { 27 | "id": " 012", 28 | "typeTwo": " Flying", 29 | "name": " Butterfree", 30 | "type": " Bug" 31 | }, 32 | { 33 | "id": " 013", 34 | "typeTwo": " Poison", 35 | "name": " Weedle", 36 | "type": " Bug" 37 | }, 38 | { 39 | "id": " 014", 40 | "typeTwo": " Poison", 41 | "name": " Kakuna", 42 | "type": " Bug" 43 | }, 44 | { 45 | "id": " 015", 46 | "typeTwo": " Poison", 47 | "name": " Beedrill", 48 | "type": " Bug" 49 | }, 50 | { 51 | "id": " 016", 52 | "typeTwo": " Flying", 53 | "name": " Pidgey", 54 | "type": " Normal" 55 | }, 56 | { 57 | "id": " 017", 58 | "typeTwo": " Flying", 59 | "name": " Pidgeotto", 60 | "type": " Normal" 61 | }, 62 | { 63 | "id": " 018", 64 | "typeTwo": " Flying", 65 | "name": " Pidgeot", 66 | "type": " Normal" 67 | }, 68 | { 69 | "id": " 021", 70 | "typeTwo": " Flying", 71 | "name": " Spearow", 72 | "type": " Normal" 73 | }, 74 | { 75 | "id": " 022", 76 | "typeTwo": " Flying", 77 | "name": " Fearow", 78 | "type": " Normal" 79 | }, 80 | { 81 | "id": " 031", 82 | "typeTwo": " Ground", 83 | "name": " Nidoqueen", 84 | "type": " Poison" 85 | }, 86 | { 87 | "id": " 034", 88 | "typeTwo": " Ground", 89 | "name": " Nidoking", 90 | "type": " Poison" 91 | }, 92 | { 93 | "id": " 041", 94 | "typeTwo": " Flying", 95 | "name": " Zubat", 96 | "type": " Poison" 97 | }, 98 | { 99 | "id": " 042", 100 | "typeTwo": " Flying", 101 | "name": " Golbat", 102 | "type": " Poison" 103 | }, 104 | { 105 | "id": " 043", 106 | "typeTwo": " Poison", 107 | "name": " Oddish", 108 | "type": " Grass" 109 | }, 110 | { 111 | "id": " 044", 112 | "typeTwo": " Poison", 113 | "name": " Gloom", 114 | "type": " Grass" 115 | }, 116 | { 117 | "id": " 045", 118 | "typeTwo": " Poison", 119 | "name": " Vileplume", 120 | "type": " Grass" 121 | }, 122 | { 123 | "id": " 046", 124 | "typeTwo": " Grass", 125 | "name": " Paras", 126 | "type": " Bug" 127 | }, 128 | { 129 | "id": " 047", 130 | "typeTwo": " Grass", 131 | "name": " Parasect", 132 | "type": " Bug" 133 | }, 134 | { 135 | "id": " 048", 136 | "typeTwo": " Poison", 137 | "name": " Venonat", 138 | "type": " Bug" 139 | }, 140 | { 141 | "id": " 049", 142 | "typeTwo": " Poison", 143 | "name": " Venomoth", 144 | "type": " Bug" 145 | }, 146 | { 147 | "id": " 062", 148 | "typeTwo": " Fighting", 149 | "name": " Poliwrath", 150 | "type": " Water" 151 | }, 152 | { 153 | "id": " 069", 154 | "typeTwo": " Poison", 155 | "name": " Bellsprout", 156 | "type": " Grass" 157 | }, 158 | { 159 | "id": " 070", 160 | "typeTwo": " Poison", 161 | "name": " Weepinbell", 162 | "type": " Grass" 163 | }, 164 | { 165 | "id": " 071", 166 | "typeTwo": " Poison", 167 | "name": " Victreebel", 168 | "type": " Grass" 169 | }, 170 | { 171 | "id": " 072", 172 | "typeTwo": " Poison", 173 | "name": " Tentacool", 174 | "type": " Water" 175 | }, 176 | { 177 | "id": " 073", 178 | "typeTwo": " Poison", 179 | "name": " Tentacruel", 180 | "type": " Water" 181 | }, 182 | { 183 | "id": " 074", 184 | "typeTwo": " Ground", 185 | "name": " Geodude", 186 | "type": " Rock" 187 | }, 188 | { 189 | "id": " 075", 190 | "typeTwo": " Ground", 191 | "name": " Graveler", 192 | "type": " Rock" 193 | }, 194 | { 195 | "id": " 076", 196 | "typeTwo": " Ground", 197 | "name": " Golem", 198 | "type": " Rock" 199 | }, 200 | { 201 | "id": " 079", 202 | "typeTwo": " Psychic", 203 | "name": " Slowpoke", 204 | "type": " Water" 205 | }, 206 | { 207 | "id": " 080", 208 | "typeTwo": " Psychic", 209 | "name": " Slowbro", 210 | "type": " Water" 211 | }, 212 | { 213 | "id": " 081", 214 | "typeTwo": " Steel", 215 | "name": " Magnemite", 216 | "type": " Electric" 217 | }, 218 | { 219 | "id": " 082", 220 | "typeTwo": " Steel", 221 | "name": " Magneton", 222 | "type": " Electric" 223 | }, 224 | { 225 | "id": " 083", 226 | "typeTwo": " Flying", 227 | "name": " Farfetch'd", 228 | "type": " Normal" 229 | }, 230 | { 231 | "id": " 084", 232 | "typeTwo": " Flying", 233 | "name": " Doduo", 234 | "type": " Normal" 235 | }, 236 | { 237 | "id": " 085", 238 | "typeTwo": " Flying", 239 | "name": " Dodrio", 240 | "type": " Normal" 241 | }, 242 | { 243 | "id": " 087", 244 | "typeTwo": " Ice", 245 | "name": " Dewgong", 246 | "type": " Water" 247 | }, 248 | { 249 | "id": " 091", 250 | "typeTwo": " Ice", 251 | "name": " Cloyster", 252 | "type": " Water" 253 | }, 254 | { 255 | "id": " 092", 256 | "typeTwo": " Poison", 257 | "name": " Gastly", 258 | "type": " Ghost" 259 | }, 260 | { 261 | "id": " 093", 262 | "typeTwo": " Poison", 263 | "name": " Haunter", 264 | "type": " Ghost" 265 | }, 266 | { 267 | "id": " 094", 268 | "typeTwo": " Poison", 269 | "name": " Gengar", 270 | "type": " Ghost" 271 | }, 272 | { 273 | "id": " 095", 274 | "typeTwo": " Ground", 275 | "name": " Onix", 276 | "type": " Rock" 277 | }, 278 | { 279 | "id": " 102", 280 | "typeTwo": " Psychic", 281 | "name": " Exeggcute", 282 | "type": " Grass" 283 | }, 284 | { 285 | "id": " 103", 286 | "typeTwo": " Psychic", 287 | "name": " Exeggutor", 288 | "type": " Grass" 289 | }, 290 | { 291 | "id": " 111", 292 | "typeTwo": " Rock", 293 | "name": " Rhyhorn", 294 | "type": " Ground" 295 | }, 296 | { 297 | "id": " 112", 298 | "typeTwo": " Rock", 299 | "name": " Rhydon", 300 | "type": " Ground" 301 | }, 302 | { 303 | "id": " 121", 304 | "typeTwo": " Psychic", 305 | "name": " Starmie", 306 | "type": " Water" 307 | }, 308 | { 309 | "id": " 123", 310 | "typeTwo": " Flying", 311 | "name": " Scyther", 312 | "type": " Bug" 313 | }, 314 | { 315 | "id": " 124", 316 | "typeTwo": " Psychic", 317 | "name": " Jynx", 318 | "type": " Ice" 319 | }, 320 | { 321 | "id": " 130", 322 | "typeTwo": " Flying", 323 | "name": " Gyarados", 324 | "type": " Water" 325 | }, 326 | { 327 | "id": " 131", 328 | "typeTwo": " Ice", 329 | "name": " Lapras", 330 | "type": " Water" 331 | }, 332 | { 333 | "id": " 138", 334 | "typeTwo": " Water", 335 | "name": " Omanyte", 336 | "type": " Rock" 337 | }, 338 | { 339 | "id": " 139", 340 | "typeTwo": " Water", 341 | "name": " Omastar", 342 | "type": " Rock" 343 | }, 344 | { 345 | "id": " 140", 346 | "typeTwo": " Water", 347 | "name": " Kabuto", 348 | "type": " Rock" 349 | }, 350 | { 351 | "id": " 141", 352 | "typeTwo": " Water", 353 | "name": " Kabutops", 354 | "type": " Rock" 355 | }, 356 | { 357 | "id": " 142", 358 | "typeTwo": " Flying", 359 | "name": " Aerodactyl", 360 | "type": " Rock" 361 | }, 362 | { 363 | "id": " 144", 364 | "typeTwo": " Flying", 365 | "name": " Articuno", 366 | "type": " Ice" 367 | }, 368 | { 369 | "id": " 145", 370 | "typeTwo": " Flying", 371 | "name": " Zapdos", 372 | "type": " Electric" 373 | }, 374 | { 375 | "id": " 146", 376 | "typeTwo": " Flying", 377 | "name": " Moltres", 378 | "type": " Fire" 379 | }, 380 | { 381 | "id": " 149", 382 | "typeTwo": " Flying", 383 | "name": " Dragonite", 384 | "type": " Dragon" 385 | }, 386 | { 387 | "id": " 163", 388 | "typeTwo": " Flying", 389 | "name": " Hoothoot", 390 | "type": " Normal" 391 | }, 392 | { 393 | "id": " 164", 394 | "typeTwo": " Flying", 395 | "name": " Noctowl", 396 | "type": " Normal" 397 | }, 398 | { 399 | "id": " 165", 400 | "typeTwo": " Flying", 401 | "name": " Ledyba", 402 | "type": " Bug" 403 | }, 404 | { 405 | "id": " 166", 406 | "typeTwo": " Flying", 407 | "name": " Ledian", 408 | "type": " Bug" 409 | }, 410 | { 411 | "id": " 167", 412 | "typeTwo": " Poison", 413 | "name": " Spinarak", 414 | "type": " Bug" 415 | }, 416 | { 417 | "id": " 168", 418 | "typeTwo": " Poison", 419 | "name": " Ariados", 420 | "type": " Bug" 421 | }, 422 | { 423 | "id": " 169", 424 | "typeTwo": " Flying", 425 | "name": " Crobat", 426 | "type": " Poison" 427 | }, 428 | { 429 | "id": " 170", 430 | "typeTwo": " Electric", 431 | "name": " Chinchou", 432 | "type": " Water" 433 | }, 434 | { 435 | "id": " 171", 436 | "typeTwo": " Electric", 437 | "name": " Lanturn", 438 | "type": " Water" 439 | }, 440 | { 441 | "id": " 176", 442 | "typeTwo": " Flying", 443 | "name": " Togetic", 444 | "type": " Normal" 445 | }, 446 | { 447 | "id": " 177", 448 | "typeTwo": " Flying", 449 | "name": " Natu", 450 | "type": " Psychic" 451 | }, 452 | { 453 | "id": " 178", 454 | "typeTwo": " Flying", 455 | "name": " Xatu", 456 | "type": " Psychic" 457 | }, 458 | { 459 | "id": " 187", 460 | "typeTwo": " Flying", 461 | "name": " Hoppip", 462 | "type": " Grass" 463 | }, 464 | { 465 | "id": " 188", 466 | "typeTwo": " Flying", 467 | "name": " Skiploom", 468 | "type": " Grass" 469 | }, 470 | { 471 | "id": " 189", 472 | "typeTwo": " Flying", 473 | "name": " Jumpluff", 474 | "type": " Grass" 475 | }, 476 | { 477 | "id": " 193", 478 | "typeTwo": " Flying", 479 | "name": " Yanma", 480 | "type": " Bug" 481 | }, 482 | { 483 | "id": " 194", 484 | "typeTwo": " Ground", 485 | "name": " Wooper", 486 | "type": " Water" 487 | }, 488 | { 489 | "id": " 195", 490 | "typeTwo": " Ground", 491 | "name": " Quagsire", 492 | "type": " Water" 493 | }, 494 | { 495 | "id": " 198", 496 | "typeTwo": " Flying", 497 | "name": " Murkrow", 498 | "type": " Dark" 499 | }, 500 | { 501 | "id": " 199", 502 | "typeTwo": " Psychic", 503 | "name": " Slowking", 504 | "type": " Water" 505 | }, 506 | { 507 | "id": " 203", 508 | "typeTwo": " Psychic", 509 | "name": " Girafarig", 510 | "type": " Normal" 511 | }, 512 | { 513 | "id": " 205", 514 | "typeTwo": " Steel", 515 | "name": " Forretress", 516 | "type": " Bug" 517 | }, 518 | { 519 | "id": " 207", 520 | "typeTwo": " Flying", 521 | "name": " Gligar", 522 | "type": " Ground" 523 | }, 524 | { 525 | "id": " 208", 526 | "typeTwo": " Ground", 527 | "name": " Steelix", 528 | "type": " Steel" 529 | }, 530 | { 531 | "id": " 211", 532 | "typeTwo": " Poison", 533 | "name": " Qwilfish", 534 | "type": " Water" 535 | }, 536 | { 537 | "id": " 212", 538 | "typeTwo": " Steel", 539 | "name": " Scizor", 540 | "type": " Bug" 541 | }, 542 | { 543 | "id": " 213", 544 | "typeTwo": " Rock", 545 | "name": " Shuckle", 546 | "type": " Bug" 547 | }, 548 | { 549 | "id": " 214", 550 | "typeTwo": " Fighting", 551 | "name": " Heracross", 552 | "type": " Bug" 553 | }, 554 | { 555 | "id": " 215", 556 | "typeTwo": " Ice", 557 | "name": " Sneasel", 558 | "type": " Dark" 559 | }, 560 | { 561 | "id": " 219", 562 | "typeTwo": " Rock", 563 | "name": " Magcargo", 564 | "type": " Fire" 565 | }, 566 | { 567 | "id": " 220", 568 | "typeTwo": " Ground", 569 | "name": " Swinub", 570 | "type": " Ice" 571 | }, 572 | { 573 | "id": " 221", 574 | "typeTwo": " Ground", 575 | "name": " Piloswine", 576 | "type": " Ice" 577 | }, 578 | { 579 | "id": " 222", 580 | "typeTwo": " Rock", 581 | "name": " Corsola", 582 | "type": " Water" 583 | }, 584 | { 585 | "id": " 225", 586 | "typeTwo": " Flying", 587 | "name": " Delibird", 588 | "type": " Ice" 589 | }, 590 | { 591 | "id": " 226", 592 | "typeTwo": " Flying", 593 | "name": " Mantine", 594 | "type": " Water" 595 | }, 596 | { 597 | "id": " 227", 598 | "typeTwo": " Flying", 599 | "name": " Skarmory", 600 | "type": " Steel" 601 | }, 602 | { 603 | "id": " 228", 604 | "typeTwo": " Fire", 605 | "name": " Houndour", 606 | "type": " Dark" 607 | }, 608 | { 609 | "id": " 229", 610 | "typeTwo": " Fire", 611 | "name": " Houndoom", 612 | "type": " Dark" 613 | }, 614 | { 615 | "id": " 230", 616 | "typeTwo": " Dragon", 617 | "name": " Kingdra", 618 | "type": " Water" 619 | }, 620 | { 621 | "id": " 238", 622 | "typeTwo": " Psychic", 623 | "name": " Smoochum", 624 | "type": " Ice" 625 | }, 626 | { 627 | "id": " 246", 628 | "typeTwo": " Ground", 629 | "name": " Larvitar", 630 | "type": " Rock" 631 | }, 632 | { 633 | "id": " 247", 634 | "typeTwo": " Ground", 635 | "name": " Pupitar", 636 | "type": " Rock" 637 | }, 638 | { 639 | "id": " 248", 640 | "typeTwo": " Dark", 641 | "name": " Tyranitar", 642 | "type": " Rock" 643 | }, 644 | { 645 | "id": " 249", 646 | "typeTwo": " Flying", 647 | "name": " Lugia", 648 | "type": " Psychic" 649 | }, 650 | { 651 | "id": " 250", 652 | "typeTwo": " Flying", 653 | "name": " Ho-Oh", 654 | "type": " Fire" 655 | }, 656 | { 657 | "id": " 251", 658 | "typeTwo": " Grass", 659 | "name": " Celebi", 660 | "type": " Psychic" 661 | }, 662 | { 663 | "id": " 256", 664 | "typeTwo": " Fighting", 665 | "name": " Combusken", 666 | "type": " Fire" 667 | }, 668 | { 669 | "id": " 257", 670 | "typeTwo": " Fighting", 671 | "name": " Blaziken", 672 | "type": " Fire" 673 | }, 674 | { 675 | "id": " 259", 676 | "typeTwo": " Ground", 677 | "name": " Marshtomp", 678 | "type": " Water" 679 | }, 680 | { 681 | "id": " 260", 682 | "typeTwo": " Ground", 683 | "name": " Swampert", 684 | "type": " Water" 685 | }, 686 | { 687 | "id": " 267", 688 | "typeTwo": " Flying", 689 | "name": " Beautifly", 690 | "type": " Bug" 691 | }, 692 | { 693 | "id": " 269", 694 | "typeTwo": " Poison", 695 | "name": " Dustox", 696 | "type": " Bug" 697 | }, 698 | { 699 | "id": " 270", 700 | "typeTwo": " Grass", 701 | "name": " Lotad", 702 | "type": " Water" 703 | }, 704 | { 705 | "id": " 271", 706 | "typeTwo": " Grass", 707 | "name": " Lombre", 708 | "type": " Water" 709 | }, 710 | { 711 | "id": " 272", 712 | "typeTwo": " Grass", 713 | "name": " Ludicolo", 714 | "type": " Water" 715 | }, 716 | { 717 | "id": " 274", 718 | "typeTwo": " Dark", 719 | "name": " Nuzleaf", 720 | "type": " Grass" 721 | }, 722 | { 723 | "id": " 275", 724 | "typeTwo": " Dark", 725 | "name": " Shiftry", 726 | "type": " Grass" 727 | }, 728 | { 729 | "id": " 276", 730 | "typeTwo": " Flying", 731 | "name": " Taillow", 732 | "type": " Normal" 733 | }, 734 | { 735 | "id": " 277", 736 | "typeTwo": " Flying", 737 | "name": " Swellow", 738 | "type": " Normal" 739 | }, 740 | { 741 | "id": " 278", 742 | "typeTwo": " Flying", 743 | "name": " Wingull", 744 | "type": " Water" 745 | }, 746 | { 747 | "id": " 279", 748 | "typeTwo": " Flying", 749 | "name": " Pelipper", 750 | "type": " Water" 751 | }, 752 | { 753 | "id": " 283", 754 | "typeTwo": " Water", 755 | "name": " Surskit", 756 | "type": " Bug" 757 | }, 758 | { 759 | "id": " 284", 760 | "typeTwo": " Flying", 761 | "name": " Masquerain", 762 | "type": " Bug" 763 | }, 764 | { 765 | "id": " 286", 766 | "typeTwo": " Fighting", 767 | "name": " Breloom", 768 | "type": " Grass" 769 | }, 770 | { 771 | "id": " 290", 772 | "typeTwo": " Ground", 773 | "name": " Nincada", 774 | "type": " Bug" 775 | }, 776 | { 777 | "id": " 291", 778 | "typeTwo": " Flying", 779 | "name": " Ninjask", 780 | "type": " Bug" 781 | }, 782 | { 783 | "id": " 292", 784 | "typeTwo": " Ghost", 785 | "name": " Shedinja", 786 | "type": " Bug" 787 | }, 788 | { 789 | "id": " 302", 790 | "typeTwo": " Ghost", 791 | "name": " Sableye", 792 | "type": " Dark" 793 | }, 794 | { 795 | "id": " 304", 796 | "typeTwo": " Rock", 797 | "name": " Aron", 798 | "type": " Steel" 799 | }, 800 | { 801 | "id": " 305", 802 | "typeTwo": " Rock", 803 | "name": " Lairon", 804 | "type": " Steel" 805 | }, 806 | { 807 | "id": " 306", 808 | "typeTwo": " Rock", 809 | "name": " Aggron", 810 | "type": " Steel" 811 | }, 812 | { 813 | "id": " 307", 814 | "typeTwo": " Psychic", 815 | "name": " Meditite", 816 | "type": " Fighting" 817 | }, 818 | { 819 | "id": " 308", 820 | "typeTwo": " Psychic", 821 | "name": " Medicham", 822 | "type": " Fighting" 823 | }, 824 | { 825 | "id": " 315", 826 | "typeTwo": " Poison", 827 | "name": " Roselia", 828 | "type": " Grass" 829 | }, 830 | { 831 | "id": " 318", 832 | "typeTwo": " Dark", 833 | "name": " Carvanha", 834 | "type": " Water" 835 | }, 836 | { 837 | "id": " 319", 838 | "typeTwo": " Dark", 839 | "name": " Sharpedo", 840 | "type": " Water" 841 | }, 842 | { 843 | "id": " 322", 844 | "typeTwo": " Ground", 845 | "name": " Numel", 846 | "type": " Fire" 847 | }, 848 | { 849 | "id": " 323", 850 | "typeTwo": " Ground", 851 | "name": " Camerupt", 852 | "type": " Fire" 853 | }, 854 | { 855 | "id": " 329", 856 | "typeTwo": " Dragon", 857 | "name": " Vibrava", 858 | "type": " Ground" 859 | }, 860 | { 861 | "id": " 330", 862 | "typeTwo": " Dragon", 863 | "name": " Flygon", 864 | "type": " Ground" 865 | }, 866 | { 867 | "id": " 332", 868 | "typeTwo": " Dark", 869 | "name": " Cacturne", 870 | "type": " Grass" 871 | }, 872 | { 873 | "id": " 333", 874 | "typeTwo": " Flying", 875 | "name": " Swablu", 876 | "type": " Normal" 877 | }, 878 | { 879 | "id": " 334", 880 | "typeTwo": " Flying", 881 | "name": " Altaria", 882 | "type": " Dragon" 883 | }, 884 | { 885 | "id": " 337", 886 | "typeTwo": " Psychic", 887 | "name": " Lunatone", 888 | "type": " Rock" 889 | }, 890 | { 891 | "id": " 338", 892 | "typeTwo": " Psychic", 893 | "name": " Solrock", 894 | "type": " Rock" 895 | }, 896 | { 897 | "id": " 339", 898 | "typeTwo": " Ground", 899 | "name": " Barboach", 900 | "type": " Water" 901 | }, 902 | { 903 | "id": " 340", 904 | "typeTwo": " Ground", 905 | "name": " Whiscash", 906 | "type": " Water" 907 | }, 908 | { 909 | "id": " 342", 910 | "typeTwo": " Dark", 911 | "name": " Crawdaunt", 912 | "type": " Water" 913 | }, 914 | { 915 | "id": " 343", 916 | "typeTwo": " Psychic", 917 | "name": " Baltoy", 918 | "type": " Ground" 919 | }, 920 | { 921 | "id": " 344", 922 | "typeTwo": " Psychic", 923 | "name": " Claydol", 924 | "type": " Ground" 925 | }, 926 | { 927 | "id": " 345", 928 | "typeTwo": " Grass", 929 | "name": " Lileep", 930 | "type": " Rock" 931 | }, 932 | { 933 | "id": " 346", 934 | "typeTwo": " Grass", 935 | "name": " Cradily", 936 | "type": " Rock" 937 | }, 938 | { 939 | "id": " 347", 940 | "typeTwo": " Bug", 941 | "name": " Anorith", 942 | "type": " Rock" 943 | }, 944 | { 945 | "id": " 348", 946 | "typeTwo": " Bug", 947 | "name": " Armaldo", 948 | "type": " Rock" 949 | }, 950 | { 951 | "id": " 357", 952 | "typeTwo": " Flying", 953 | "name": " Tropius", 954 | "type": " Grass" 955 | }, 956 | { 957 | "id": " 363", 958 | "typeTwo": " Water", 959 | "name": " Spheal", 960 | "type": " Ice" 961 | }, 962 | { 963 | "id": " 364", 964 | "typeTwo": " Water", 965 | "name": " Sealeo", 966 | "type": " Ice" 967 | }, 968 | { 969 | "id": " 365", 970 | "typeTwo": " Water", 971 | "name": " Walrein", 972 | "type": " Ice" 973 | }, 974 | { 975 | "id": " 369", 976 | "typeTwo": " Rock", 977 | "name": " Relicanth", 978 | "type": " Water" 979 | }, 980 | { 981 | "id": " 373", 982 | "typeTwo": " Flying", 983 | "name": " Salamence", 984 | "type": " Dragon" 985 | }, 986 | { 987 | "id": " 374", 988 | "typeTwo": " Psychic", 989 | "name": " Beldum", 990 | "type": " Steel" 991 | }, 992 | { 993 | "id": " 375", 994 | "typeTwo": " Psychic", 995 | "name": " Metang", 996 | "type": " Steel" 997 | }, 998 | { 999 | "id": " 376", 1000 | "typeTwo": " Psychic", 1001 | "name": " Metagross", 1002 | "type": " Steel" 1003 | }, 1004 | { 1005 | "id": " 380", 1006 | "typeTwo": " Psychic", 1007 | "name": " Latias", 1008 | "type": " Dragon" 1009 | }, 1010 | { 1011 | "id": " 381", 1012 | "typeTwo": " Psychic", 1013 | "name": " Latios", 1014 | "type": " Dragon" 1015 | }, 1016 | { 1017 | "id": " 384", 1018 | "typeTwo": " Flying", 1019 | "name": " Rayquaza", 1020 | "type": " Dragon" 1021 | }, 1022 | { 1023 | "id": " 385", 1024 | "typeTwo": " Psychic", 1025 | "name": " Jirachi", 1026 | "type": " Steel" 1027 | }, 1028 | { 1029 | "id": " 389", 1030 | "typeTwo": " Ground", 1031 | "name": " Torterra", 1032 | "type": " Grass" 1033 | }, 1034 | { 1035 | "id": " 391", 1036 | "typeTwo": " Fighting", 1037 | "name": " Monferno", 1038 | "type": " Fire" 1039 | }, 1040 | { 1041 | "id": " 392", 1042 | "typeTwo": " Fighting", 1043 | "name": " Infernape", 1044 | "type": " Fire" 1045 | }, 1046 | { 1047 | "id": " 395", 1048 | "typeTwo": " Steel", 1049 | "name": " Empoleon", 1050 | "type": " Water" 1051 | }, 1052 | { 1053 | "id": " 396", 1054 | "typeTwo": " Flying", 1055 | "name": " Starly", 1056 | "type": " Normal" 1057 | }, 1058 | { 1059 | "id": " 397", 1060 | "typeTwo": " Flying", 1061 | "name": " Staravia", 1062 | "type": " Normal" 1063 | }, 1064 | { 1065 | "id": " 398", 1066 | "typeTwo": " Flying", 1067 | "name": " Staraptor", 1068 | "type": " Normal" 1069 | }, 1070 | { 1071 | "id": " 400", 1072 | "typeTwo": " Water", 1073 | "name": " Bibarel", 1074 | "type": " Normal" 1075 | }, 1076 | { 1077 | "id": " 406", 1078 | "typeTwo": " Poison", 1079 | "name": " Budew", 1080 | "type": " Grass" 1081 | }, 1082 | { 1083 | "id": " 407", 1084 | "typeTwo": " Poison", 1085 | "name": " Roserade", 1086 | "type": " Grass" 1087 | }, 1088 | { 1089 | "id": " 410", 1090 | "typeTwo": " Steel", 1091 | "name": " Shieldon", 1092 | "type": " Rock" 1093 | }, 1094 | { 1095 | "id": " 411", 1096 | "typeTwo": " Steel", 1097 | "name": " Bastiodon", 1098 | "type": " Rock" 1099 | }, 1100 | { 1101 | "id": " 413", 1102 | "typeTwo": " Steel", 1103 | "name": " Wormadam", 1104 | "type": " Bug" 1105 | }, 1106 | { 1107 | "id": " 414", 1108 | "typeTwo": " Flying", 1109 | "name": " Mothim", 1110 | "type": " Bug" 1111 | }, 1112 | { 1113 | "id": " 415", 1114 | "typeTwo": " Flying", 1115 | "name": " Combee", 1116 | "type": " Bug" 1117 | }, 1118 | { 1119 | "id": " 416", 1120 | "typeTwo": " Flying", 1121 | "name": " Vespiquen", 1122 | "type": " Bug" 1123 | }, 1124 | { 1125 | "id": " 423", 1126 | "typeTwo": " Ground", 1127 | "name": " Gastrodon", 1128 | "type": " Water" 1129 | }, 1130 | { 1131 | "id": " 425", 1132 | "typeTwo": " Flying", 1133 | "name": " Drifloon", 1134 | "type": " Ghost" 1135 | }, 1136 | { 1137 | "id": " 426", 1138 | "typeTwo": " Flying", 1139 | "name": " Drifblim", 1140 | "type": " Ghost" 1141 | }, 1142 | { 1143 | "id": " 430", 1144 | "typeTwo": " Flying", 1145 | "name": " Honchkrow", 1146 | "type": " Dark" 1147 | }, 1148 | { 1149 | "id": " 434", 1150 | "typeTwo": " Dark", 1151 | "name": " Stunky", 1152 | "type": " Poison" 1153 | }, 1154 | { 1155 | "id": " 435", 1156 | "typeTwo": " Dark", 1157 | "name": " Skuntank", 1158 | "type": " Poison" 1159 | }, 1160 | { 1161 | "id": " 436", 1162 | "typeTwo": " Psychic", 1163 | "name": " Bronzor", 1164 | "type": " Steel" 1165 | }, 1166 | { 1167 | "id": " 437", 1168 | "typeTwo": " Psychic", 1169 | "name": " Bronzong", 1170 | "type": " Steel" 1171 | }, 1172 | { 1173 | "id": " 441", 1174 | "typeTwo": " Flying", 1175 | "name": " Chatot", 1176 | "type": " Normal" 1177 | }, 1178 | { 1179 | "id": " 442", 1180 | "typeTwo": " Dark", 1181 | "name": " Spiritomb", 1182 | "type": " Ghost" 1183 | }, 1184 | { 1185 | "id": " 443", 1186 | "typeTwo": " Ground", 1187 | "name": " Gible", 1188 | "type": " Dragon" 1189 | }, 1190 | { 1191 | "id": " 444", 1192 | "typeTwo": " Ground", 1193 | "name": " Gabite", 1194 | "type": " Dragon" 1195 | }, 1196 | { 1197 | "id": " 445", 1198 | "typeTwo": " Ground", 1199 | "name": " Garchomp", 1200 | "type": " Dragon" 1201 | }, 1202 | { 1203 | "id": " 448", 1204 | "typeTwo": " Steel", 1205 | "name": " Lucario", 1206 | "type": " Fighting" 1207 | }, 1208 | { 1209 | "id": " 451", 1210 | "typeTwo": " Bug", 1211 | "name": " Skorupi", 1212 | "type": " Poison" 1213 | }, 1214 | { 1215 | "id": " 452", 1216 | "typeTwo": " Dark", 1217 | "name": " Drapion", 1218 | "type": " Poison" 1219 | }, 1220 | { 1221 | "id": " 453", 1222 | "typeTwo": " Fighting", 1223 | "name": " Croagunk", 1224 | "type": " Poison" 1225 | }, 1226 | { 1227 | "id": " 454", 1228 | "typeTwo": " Fighting", 1229 | "name": " Toxicroak", 1230 | "type": " Poison" 1231 | }, 1232 | { 1233 | "id": " 458", 1234 | "typeTwo": " Flying", 1235 | "name": " Mantyke", 1236 | "type": " Water" 1237 | }, 1238 | { 1239 | "id": " 459", 1240 | "typeTwo": " Ice", 1241 | "name": " Snover", 1242 | "type": " Grass" 1243 | }, 1244 | { 1245 | "id": " 460", 1246 | "typeTwo": " Ice", 1247 | "name": " Abomasnow", 1248 | "type": " Grass" 1249 | }, 1250 | { 1251 | "id": " 461", 1252 | "typeTwo": " Ice", 1253 | "name": " Weavile", 1254 | "type": " Dark" 1255 | }, 1256 | { 1257 | "id": " 462", 1258 | "typeTwo": " Steel", 1259 | "name": " Magnezone", 1260 | "type": " Electric" 1261 | }, 1262 | { 1263 | "id": " 464", 1264 | "typeTwo": " Rock", 1265 | "name": " Rhyperior", 1266 | "type": " Ground" 1267 | }, 1268 | { 1269 | "id": " 468", 1270 | "typeTwo": " Flying", 1271 | "name": " Togekiss", 1272 | "type": " Normal" 1273 | }, 1274 | { 1275 | "id": " 469", 1276 | "typeTwo": " Flying", 1277 | "name": " Yanmega", 1278 | "type": " Bug" 1279 | }, 1280 | { 1281 | "id": " 472", 1282 | "typeTwo": " Flying", 1283 | "name": " Gliscor", 1284 | "type": " Ground" 1285 | }, 1286 | { 1287 | "id": " 473", 1288 | "typeTwo": " Ground", 1289 | "name": " Mamoswine", 1290 | "type": " Ice" 1291 | }, 1292 | { 1293 | "id": " 475", 1294 | "typeTwo": " Fighting", 1295 | "name": " Gallade", 1296 | "type": " Psychic" 1297 | }, 1298 | { 1299 | "id": " 476", 1300 | "typeTwo": " Steel", 1301 | "name": " Probopass", 1302 | "type": " Rock" 1303 | }, 1304 | { 1305 | "id": " 478", 1306 | "typeTwo": " Ghost", 1307 | "name": " Froslass", 1308 | "type": " Ice" 1309 | }, 1310 | { 1311 | "id": " 479", 1312 | "typeTwo": " Grass", 1313 | "name": " Rotom", 1314 | "type": " Electric" 1315 | }, 1316 | { 1317 | "id": " 483", 1318 | "typeTwo": " Dragon", 1319 | "name": " Dialga", 1320 | "type": " Steel" 1321 | }, 1322 | { 1323 | "id": " 484", 1324 | "typeTwo": " Dragon", 1325 | "name": " Palkia", 1326 | "type": " Water" 1327 | }, 1328 | { 1329 | "id": " 485", 1330 | "typeTwo": " Steel", 1331 | "name": " Heatran", 1332 | "type": " Fire" 1333 | }, 1334 | { 1335 | "id": " 487", 1336 | "typeTwo": " Dragon", 1337 | "name": " Giratina", 1338 | "type": " Ghost" 1339 | }, 1340 | { 1341 | "id": " 492", 1342 | "typeTwo": " Flying", 1343 | "name": " Shaymin", 1344 | "type": " Grass" 1345 | }, 1346 | { 1347 | "id": " 494", 1348 | "typeTwo": " Fire", 1349 | "name": " Victini", 1350 | "type": " Psychic" 1351 | }, 1352 | { 1353 | "id": " 499", 1354 | "typeTwo": " Fighting", 1355 | "name": " Pignite", 1356 | "type": " Fire" 1357 | }, 1358 | { 1359 | "id": " 500", 1360 | "typeTwo": " Fighting", 1361 | "name": " Emboar", 1362 | "type": " Fire" 1363 | }, 1364 | { 1365 | "id": " 519", 1366 | "typeTwo": " Flying", 1367 | "name": " Pidove", 1368 | "type": " Normal" 1369 | }, 1370 | { 1371 | "id": " 520", 1372 | "typeTwo": " Flying", 1373 | "name": " Tranquill", 1374 | "type": " Normal" 1375 | }, 1376 | { 1377 | "id": " 521", 1378 | "typeTwo": " Flying", 1379 | "name": " Unfezant", 1380 | "type": " Normal" 1381 | }, 1382 | { 1383 | "id": " 527", 1384 | "typeTwo": " Flying", 1385 | "name": " Woobat", 1386 | "type": " Psychic" 1387 | }, 1388 | { 1389 | "id": " 528", 1390 | "typeTwo": " Flying", 1391 | "name": " Swoobat", 1392 | "type": " Psychic" 1393 | }, 1394 | { 1395 | "id": " 530", 1396 | "typeTwo": " Steel", 1397 | "name": " Excadrill", 1398 | "type": " Ground" 1399 | }, 1400 | { 1401 | "id": " 536", 1402 | "typeTwo": " Ground", 1403 | "name": " Palpitoad", 1404 | "type": " Water" 1405 | }, 1406 | { 1407 | "id": " 537", 1408 | "typeTwo": " Ground", 1409 | "name": " Seismitoad", 1410 | "type": " Water" 1411 | }, 1412 | { 1413 | "id": " 540", 1414 | "typeTwo": " Grass", 1415 | "name": " Sewaddle", 1416 | "type": " Bug" 1417 | }, 1418 | { 1419 | "id": " 541", 1420 | "typeTwo": " Grass", 1421 | "name": " Swadloon", 1422 | "type": " Bug" 1423 | }, 1424 | { 1425 | "id": " 542", 1426 | "typeTwo": " Grass", 1427 | "name": " Leavanny", 1428 | "type": " Bug" 1429 | }, 1430 | { 1431 | "id": " 543", 1432 | "typeTwo": " Poison", 1433 | "name": " Venipede", 1434 | "type": " Bug" 1435 | }, 1436 | { 1437 | "id": " 544", 1438 | "typeTwo": " Poison", 1439 | "name": " Whirlipede", 1440 | "type": " Bug" 1441 | }, 1442 | { 1443 | "id": " 545", 1444 | "typeTwo": " Poison", 1445 | "name": " Scolipede", 1446 | "type": " Bug" 1447 | }, 1448 | { 1449 | "id": " 551", 1450 | "typeTwo": " Dark", 1451 | "name": " Sandile", 1452 | "type": " Ground" 1453 | }, 1454 | { 1455 | "id": " 552", 1456 | "typeTwo": " Dark", 1457 | "name": " Krokorok", 1458 | "type": " Ground" 1459 | }, 1460 | { 1461 | "id": " 553", 1462 | "typeTwo": " Dark", 1463 | "name": " Krookodile", 1464 | "type": " Ground" 1465 | }, 1466 | { 1467 | "id": " 555", 1468 | "typeTwo": " Psychic", 1469 | "name": " Darmanitan", 1470 | "type": " Fire" 1471 | }, 1472 | { 1473 | "id": " 557", 1474 | "typeTwo": " Rock", 1475 | "name": " Dwebble", 1476 | "type": " Bug" 1477 | }, 1478 | { 1479 | "id": " 558", 1480 | "typeTwo": " Rock", 1481 | "name": " Crustle", 1482 | "type": " Bug" 1483 | }, 1484 | { 1485 | "id": " 559", 1486 | "typeTwo": " Fighting", 1487 | "name": " Scraggy", 1488 | "type": " Dark" 1489 | }, 1490 | { 1491 | "id": " 560", 1492 | "typeTwo": " Fighting", 1493 | "name": " Scrafty", 1494 | "type": " Dark" 1495 | }, 1496 | { 1497 | "id": " 561", 1498 | "typeTwo": " Flying", 1499 | "name": " Sigilyph", 1500 | "type": " Psychic" 1501 | }, 1502 | { 1503 | "id": " 564", 1504 | "typeTwo": " Rock", 1505 | "name": " Tirtouga", 1506 | "type": " Water" 1507 | }, 1508 | { 1509 | "id": " 565", 1510 | "typeTwo": " Rock", 1511 | "name": " Carracosta", 1512 | "type": " Water" 1513 | }, 1514 | { 1515 | "id": " 566", 1516 | "typeTwo": " Flying", 1517 | "name": " Archen", 1518 | "type": " Rock" 1519 | }, 1520 | { 1521 | "id": " 567", 1522 | "typeTwo": " Flying", 1523 | "name": " Archeops", 1524 | "type": " Rock" 1525 | }, 1526 | { 1527 | "id": " 580", 1528 | "typeTwo": " Flying", 1529 | "name": " Ducklett", 1530 | "type": " Water" 1531 | }, 1532 | { 1533 | "id": " 581", 1534 | "typeTwo": " Flying", 1535 | "name": " Swanna", 1536 | "type": " Water" 1537 | }, 1538 | { 1539 | "id": " 585", 1540 | "typeTwo": " Grass", 1541 | "name": " Deerling", 1542 | "type": " Normal" 1543 | }, 1544 | { 1545 | "id": " 586", 1546 | "typeTwo": " Grass", 1547 | "name": " Sawsbuck", 1548 | "type": " Normal" 1549 | }, 1550 | { 1551 | "id": " 587", 1552 | "typeTwo": " Flying", 1553 | "name": " Emolga", 1554 | "type": " Electric" 1555 | }, 1556 | { 1557 | "id": " 589", 1558 | "typeTwo": " Steel", 1559 | "name": " Escavalier", 1560 | "type": " Bug" 1561 | }, 1562 | { 1563 | "id": " 590", 1564 | "typeTwo": " Poison", 1565 | "name": " Foongus", 1566 | "type": " Grass" 1567 | }, 1568 | { 1569 | "id": " 591", 1570 | "typeTwo": " Poison", 1571 | "name": " Amoonguss", 1572 | "type": " Grass" 1573 | }, 1574 | { 1575 | "id": " 592", 1576 | "typeTwo": " Ghost", 1577 | "name": " Frillish", 1578 | "type": " Water" 1579 | }, 1580 | { 1581 | "id": " 593", 1582 | "typeTwo": " Ghost", 1583 | "name": " Jellicent", 1584 | "type": " Water" 1585 | }, 1586 | { 1587 | "id": " 595", 1588 | "typeTwo": " Electric", 1589 | "name": " Joltik", 1590 | "type": " Bug" 1591 | }, 1592 | { 1593 | "id": " 596", 1594 | "typeTwo": " Electric", 1595 | "name": " Galvantula", 1596 | "type": " Bug" 1597 | }, 1598 | { 1599 | "id": " 597", 1600 | "typeTwo": " Steel", 1601 | "name": " Ferroseed", 1602 | "type": " Grass" 1603 | }, 1604 | { 1605 | "id": " 598", 1606 | "typeTwo": " Steel", 1607 | "name": " Ferrothorn", 1608 | "type": " Grass" 1609 | }, 1610 | { 1611 | "id": " 607", 1612 | "typeTwo": " Fire", 1613 | "name": " Litwick", 1614 | "type": " Ghost" 1615 | }, 1616 | { 1617 | "id": " 608", 1618 | "typeTwo": " Fire", 1619 | "name": " Lampent", 1620 | "type": " Ghost" 1621 | }, 1622 | { 1623 | "id": " 609", 1624 | "typeTwo": " Fire", 1625 | "name": " Chandelure", 1626 | "type": " Ghost" 1627 | }, 1628 | { 1629 | "id": " 618", 1630 | "typeTwo": " Electric", 1631 | "name": " Stunfisk", 1632 | "type": " Ground" 1633 | }, 1634 | { 1635 | "id": " 622", 1636 | "typeTwo": " Ghost", 1637 | "name": " Golett", 1638 | "type": " Ground" 1639 | }, 1640 | { 1641 | "id": " 623", 1642 | "typeTwo": " Ghost", 1643 | "name": " Golurk", 1644 | "type": " Ground" 1645 | }, 1646 | { 1647 | "id": " 624", 1648 | "typeTwo": " Steel", 1649 | "name": " Pawniard", 1650 | "type": " Dark" 1651 | }, 1652 | { 1653 | "id": " 625", 1654 | "typeTwo": " Steel", 1655 | "name": " Bisharp", 1656 | "type": " Dark" 1657 | }, 1658 | { 1659 | "id": " 627", 1660 | "typeTwo": " Flying", 1661 | "name": " Rufflet", 1662 | "type": " Normal" 1663 | }, 1664 | { 1665 | "id": " 628", 1666 | "typeTwo": " Flying", 1667 | "name": " Braviary", 1668 | "type": " Normal" 1669 | }, 1670 | { 1671 | "id": " 629", 1672 | "typeTwo": " Flying", 1673 | "name": " Vullaby", 1674 | "type": " Dark" 1675 | }, 1676 | { 1677 | "id": " 630", 1678 | "typeTwo": " Flying", 1679 | "name": " Mandibuzz", 1680 | "type": " Dark" 1681 | }, 1682 | { 1683 | "id": " 632", 1684 | "typeTwo": " Steel", 1685 | "name": " Durant", 1686 | "type": " Bug" 1687 | }, 1688 | { 1689 | "id": " 633", 1690 | "typeTwo": " Dragon", 1691 | "name": " Deino", 1692 | "type": " Dark" 1693 | }, 1694 | { 1695 | "id": " 634", 1696 | "typeTwo": " Dragon", 1697 | "name": " Zweilous", 1698 | "type": " Dark" 1699 | }, 1700 | { 1701 | "id": " 635", 1702 | "typeTwo": " Dragon", 1703 | "name": " Hydreigon", 1704 | "type": " Dark" 1705 | }, 1706 | { 1707 | "id": " 636", 1708 | "typeTwo": " Fire", 1709 | "name": " Larvesta", 1710 | "type": " Bug" 1711 | }, 1712 | { 1713 | "id": " 637", 1714 | "typeTwo": " Fire", 1715 | "name": " Volcarona", 1716 | "type": " Bug" 1717 | }, 1718 | { 1719 | "id": " 638", 1720 | "typeTwo": " Fighting", 1721 | "name": " Cobalion", 1722 | "type": " Steel" 1723 | }, 1724 | { 1725 | "id": " 639", 1726 | "typeTwo": " Fighting", 1727 | "name": " Terrakion", 1728 | "type": " Rock" 1729 | }, 1730 | { 1731 | "id": " 640", 1732 | "typeTwo": " Fighting", 1733 | "name": " Virizion", 1734 | "type": " Grass" 1735 | }, 1736 | { 1737 | "id": " 642", 1738 | "typeTwo": " Flying", 1739 | "name": " Thundurus", 1740 | "type": " Electric" 1741 | }, 1742 | { 1743 | "id": " 643", 1744 | "typeTwo": " Fire", 1745 | "name": " Reshiram", 1746 | "type": " Dragon" 1747 | }, 1748 | { 1749 | "id": " 644", 1750 | "typeTwo": " Electric", 1751 | "name": " Zekrom ", 1752 | "type": " Dragon" 1753 | }, 1754 | { 1755 | "id": " 645", 1756 | "typeTwo": " Flying", 1757 | "name": " Landorus", 1758 | "type": " Ground" 1759 | }, 1760 | { 1761 | "id": " 646", 1762 | "typeTwo": " Ice", 1763 | "name": " Kyurem", 1764 | "type": " Dragon" 1765 | }, 1766 | { 1767 | "id": " 647", 1768 | "typeTwo": " Fighting", 1769 | "name": " Keldeo", 1770 | "type": " Water" 1771 | }, 1772 | { 1773 | "id": " 648", 1774 | "typeTwo": " Fighting", 1775 | "name": " Meloetta", 1776 | "type": " Normal" 1777 | }, 1778 | { 1779 | "id": " 649", 1780 | "typeTwo": " Steel", 1781 | "name": " Genesect", 1782 | "type": " Bug" 1783 | } 1784 | ] 1785 | --------------------------------------------------------------------------------