sapor 0.1b1 → 0.2a1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (324) hide show
  1. checksums.yaml +5 -5
  2. data/Example-Catalonia.md +361 -0
  3. data/Example-Flanders.md +486 -0
  4. data/Example-Greece.md +25 -0
  5. data/Example-Oslo.md +678 -0
  6. data/Example-UnitedKingdom-Referendum.md +132 -0
  7. data/Examples.md +9 -355
  8. data/README.md +41 -8
  9. data/bin/create_installation_package.sh +2 -2
  10. data/bin/install.sh +1 -1
  11. data/bin/sapor.rb +4 -2
  12. data/bin/sapor.sh +10 -9
  13. data/data/hu/hungary-2014.txt +1680 -0
  14. data/data/hu/hungary_2014_screen_scraper.rb +48 -0
  15. data/data/hu/hungary_2014_to_psv.rb +80 -0
  16. data/data/hu/index-2014.txt +106 -0
  17. data/data/pl/2015-gl-lis-okr.csv +42 -0
  18. data/data/pl/poland_2015_to_psv.rb +79 -0
  19. data/data/pl/poland_2015_to_psv_with_ko_and_rsw.rb +94 -0
  20. data/data/pl/poland_2015_to_psv_with_ko_konf_kp_l_and_zp.rb +100 -0
  21. data/data/pl/poland_2015_to_psv_with_ko_sld_and_wi.rb +92 -0
  22. data/data/pl/poland_2015_to_psv_with_sld.rb +84 -0
  23. data/data/pl/poland_2015_to_psv_with_sld_and_wi.rb +85 -0
  24. data/data/uk/inject_ukip_2015_as_brexit_2019_in_2017.rb +54 -0
  25. data/data/uk/united_kingdom_2015.txt +651 -0
  26. data/data/uk/united_kingdom_2015_to_psv.rb +104 -0
  27. data/data/uk/united_kingdom_2017.txt +651 -0
  28. data/data/uk/united_kingdom_2017_to_psv.rb +104 -0
  29. data/data/uk/united_kingdom_2017_to_psv_with_brexit_and_chuk.rb +113 -0
  30. data/data/uk/united_kingdom_2017_to_psv_with_tig.rb +111 -0
  31. data/lib/sapor/binomials_cache.rb +1 -1
  32. data/lib/sapor/combinations_distribution.rb +43 -1
  33. data/lib/sapor/denominators.rb +67 -0
  34. data/lib/sapor/dichotomies.rb +41 -1
  35. data/lib/sapor/dichotomy.rb +31 -5
  36. data/lib/sapor/first_past_the_post.rb +6 -2
  37. data/lib/sapor/largest_remainder.rb +118 -0
  38. data/lib/sapor/log4r_logger.rb +1 -1
  39. data/lib/sapor/log_facade.rb +1 -1
  40. data/lib/sapor/{leveled_proportional.rb → multi_district_leveled_proportional.rb} +7 -7
  41. data/lib/sapor/{proportional.rb → multi_district_proportional.rb} +27 -32
  42. data/lib/sapor/multi_district_variable_threshold_proportional.rb +128 -0
  43. data/lib/sapor/number_formatter.rb +1 -1
  44. data/lib/sapor/options.rb +73 -0
  45. data/lib/sapor/poll.rb +178 -29
  46. data/lib/sapor/polychotomy.rb +100 -259
  47. data/lib/sapor/pseudorandom_multirange_enumerator.rb +1 -1
  48. data/lib/sapor/referendum_polychotomy.rb +165 -0
  49. data/lib/sapor/regional_data/area.rb +4 -2
  50. data/lib/sapor/regional_data/austria.rb +84 -0
  51. data/lib/sapor/regional_data/belgium-brussels-2014.psv +46 -0
  52. data/lib/sapor/regional_data/belgium-brussels-20190526.psv +33 -0
  53. data/lib/sapor/regional_data/belgium-flanders-2014.psv +80 -0
  54. data/lib/sapor/regional_data/belgium-flanders-20190526.psv +74 -0
  55. data/lib/sapor/regional_data/belgium-wallonia-2014.psv +114 -0
  56. data/lib/sapor/regional_data/belgium-wallonia-20190526.psv +93 -0
  57. data/lib/sapor/regional_data/belgium.rb +97 -0
  58. data/lib/sapor/regional_data/belgium_brussels.rb +62 -0
  59. data/lib/sapor/regional_data/belgium_flanders.rb +64 -0
  60. data/lib/sapor/regional_data/belgium_wallonia.rb +63 -0
  61. data/lib/sapor/regional_data/catalonia-2012-2015.psv +1 -1
  62. data/lib/sapor/regional_data/catalonia-2012.psv +1 -1
  63. data/lib/sapor/regional_data/catalonia-2015-jxcat.psv +68 -0
  64. data/lib/sapor/regional_data/catalonia-2015-no-jxsi.psv +68 -0
  65. data/lib/sapor/regional_data/catalonia-2015.psv +63 -0
  66. data/lib/sapor/regional_data/catalonia-jxcat.rb +109 -0
  67. data/lib/sapor/regional_data/catalonia-no-jxsi.rb +96 -0
  68. data/lib/sapor/regional_data/catalonia.rb +27 -21
  69. data/lib/sapor/regional_data/denmark-20150618-with-e-and-p.psv +164 -0
  70. data/lib/sapor/regional_data/denmark-20150618-with-e.psv +153 -0
  71. data/lib/sapor/regional_data/denmark-20150618-with-p.psv +153 -0
  72. data/lib/sapor/regional_data/denmark-20150618.psv +142 -0
  73. data/lib/sapor/regional_data/denmark.rb +128 -0
  74. data/lib/sapor/regional_data/denmark_with_e.rb +128 -0
  75. data/lib/sapor/regional_data/denmark_with_e_and_p.rb +128 -0
  76. data/lib/sapor/regional_data/denmark_with_p.rb +128 -0
  77. data/lib/sapor/regional_data/estonia.rb +88 -0
  78. data/lib/sapor/regional_data/european-union-great-britain-20140522-brexit-chuk.psv +172 -0
  79. data/lib/sapor/regional_data/european-union-great-britain-20140522.psv +146 -0
  80. data/lib/sapor/regional_data/european-union-great-britain-20190523.psv +141 -0
  81. data/lib/sapor/regional_data/european-union-ireland-2014-ia-ri-sd.psv +64 -0
  82. data/lib/sapor/regional_data/european-union-ireland-2014-ia-sd.psv +60 -0
  83. data/lib/sapor/regional_data/european-union-ireland-2014-ia.psv +56 -0
  84. data/lib/sapor/regional_data/european-union-ireland-2014-sd.psv +56 -0
  85. data/lib/sapor/regional_data/european-union-ireland-2014.psv +50 -0
  86. data/lib/sapor/regional_data/european-union-ireland-20190524-ia.psv +58 -0
  87. data/lib/sapor/regional_data/european-union-ireland-20190524.psv +52 -0
  88. data/lib/sapor/regional_data/european_union_27_austria.rb +76 -0
  89. data/lib/sapor/regional_data/european_union_27_croatia.rb +81 -0
  90. data/lib/sapor/regional_data/european_union_27_denmark.rb +77 -0
  91. data/lib/sapor/regional_data/european_union_27_estonia.rb +74 -0
  92. data/lib/sapor/regional_data/european_union_27_finland.rb +74 -0
  93. data/lib/sapor/regional_data/european_union_27_ireland.rb +96 -0
  94. data/lib/sapor/regional_data/european_union_27_ireland_with_ia.rb +97 -0
  95. data/lib/sapor/regional_data/european_union_27_italy.rb +83 -0
  96. data/lib/sapor/regional_data/european_union_27_netherlands.rb +81 -0
  97. data/lib/sapor/regional_data/european_union_27_poland.rb +79 -0
  98. data/lib/sapor/regional_data/european_union_27_romania.rb +78 -0
  99. data/lib/sapor/regional_data/european_union_27_slovakia.rb +80 -0
  100. data/lib/sapor/regional_data/european_union_27_spain.rb +82 -0
  101. data/lib/sapor/regional_data/european_union_27_sweden.rb +76 -0
  102. data/lib/sapor/regional_data/european_union_austria.rb +76 -0
  103. data/lib/sapor/regional_data/european_union_bulgaria.rb +81 -0
  104. data/lib/sapor/regional_data/european_union_croatia.rb +81 -0
  105. data/lib/sapor/regional_data/european_union_cyprus.rb +72 -0
  106. data/lib/sapor/regional_data/european_union_czech_republic.rb +82 -0
  107. data/lib/sapor/regional_data/european_union_denmark.rb +77 -0
  108. data/lib/sapor/regional_data/european_union_estonia.rb +74 -0
  109. data/lib/sapor/regional_data/european_union_finland.rb +74 -0
  110. data/lib/sapor/regional_data/european_union_flanders.rb +74 -0
  111. data/lib/sapor/regional_data/european_union_france.rb +84 -0
  112. data/lib/sapor/regional_data/european_union_france_2019.rb +84 -0
  113. data/lib/sapor/regional_data/european_union_french_community_of_belgium.rb +73 -0
  114. data/lib/sapor/regional_data/european_union_germany.rb +86 -0
  115. data/lib/sapor/regional_data/european_union_great_britain.rb +98 -0
  116. data/lib/sapor/regional_data/european_union_greece.rb +77 -0
  117. data/lib/sapor/regional_data/european_union_hungary.rb +76 -0
  118. data/lib/sapor/regional_data/european_union_ireland.rb +96 -0
  119. data/lib/sapor/regional_data/european_union_ireland_with_ia.rb +97 -0
  120. data/lib/sapor/regional_data/european_union_italy.rb +83 -0
  121. data/lib/sapor/regional_data/european_union_latvia.rb +81 -0
  122. data/lib/sapor/regional_data/european_union_lithuania.rb +80 -0
  123. data/lib/sapor/regional_data/european_union_luxembourg.rb +75 -0
  124. data/lib/sapor/regional_data/european_union_malta.rb +71 -0
  125. data/lib/sapor/regional_data/european_union_netherlands.rb +81 -0
  126. data/lib/sapor/regional_data/european_union_northern_ireland.rb +75 -0
  127. data/lib/sapor/regional_data/european_union_poland.rb +79 -0
  128. data/lib/sapor/regional_data/european_union_portugal.rb +75 -0
  129. data/lib/sapor/regional_data/european_union_romania.rb +78 -0
  130. data/lib/sapor/regional_data/european_union_slovakia.rb +81 -0
  131. data/lib/sapor/regional_data/european_union_slovenia.rb +85 -0
  132. data/lib/sapor/regional_data/european_union_spain.rb +82 -0
  133. data/lib/sapor/regional_data/european_union_sweden.rb +76 -0
  134. data/lib/sapor/regional_data/finland-20150419-with-sin.psv +224 -0
  135. data/lib/sapor/regional_data/finland-20150419.psv +212 -0
  136. data/lib/sapor/regional_data/finland.rb +107 -0
  137. data/lib/sapor/regional_data/finland_with_sin.rb +107 -0
  138. data/lib/sapor/regional_data/flanders-2014.psv +96 -0
  139. data/lib/sapor/regional_data/flanders-20190526.psv +87 -0
  140. data/lib/sapor/regional_data/flanders.rb +115 -0
  141. data/lib/sapor/regional_data/france.rb +38 -0
  142. data/lib/sapor/regional_data/greece.rb +92 -0
  143. data/lib/sapor/regional_data/hungary-2014.psv +2104 -0
  144. data/lib/sapor/regional_data/hungary.rb +116 -0
  145. data/lib/sapor/regional_data/iceland-20161029-midflokkurinn.psv +94 -0
  146. data/lib/sapor/regional_data/iceland-20161029.psv +88 -0
  147. data/lib/sapor/regional_data/iceland-20171028.psv +85 -0
  148. data/lib/sapor/regional_data/iceland.rb +133 -0
  149. data/lib/sapor/regional_data/latvia-20141004-kpv-p-par.psv +109 -0
  150. data/lib/sapor/regional_data/latvia-20141004-kpv-par.psv +103 -0
  151. data/lib/sapor/regional_data/latvia-20141004-kpv.psv +97 -0
  152. data/lib/sapor/regional_data/latvia-20141004.psv +89 -0
  153. data/lib/sapor/regional_data/latvia.rb +112 -0
  154. data/lib/sapor/regional_data/latvia_kpv.rb +112 -0
  155. data/lib/sapor/regional_data/latvia_kpv_p_par.rb +112 -0
  156. data/lib/sapor/regional_data/latvia_kpv_par.rb +112 -0
  157. data/lib/sapor/regional_data/luxembourg-20131020.psv +76 -0
  158. data/lib/sapor/regional_data/luxembourg.rb +82 -0
  159. data/lib/sapor/regional_data/netherlands.rb +108 -0
  160. data/lib/sapor/regional_data/norway.rb +85 -68
  161. data/lib/sapor/regional_data/norwegian_municipality.rb +68 -0
  162. data/lib/sapor/regional_data/poland-20151025-with-ko-and-l-without-n-po-r-and-zl.psv +321 -0
  163. data/lib/sapor/regional_data/poland-20151025-with-ko-konf-kp-l-and-zp-without-k-k15-n-pis-po-psl-r-and-zl.psv +280 -0
  164. data/lib/sapor/regional_data/poland-20151025-with-ko-sld-and-wi-without-n-po-and-zl.psv +403 -0
  165. data/lib/sapor/regional_data/poland-20151025-with-sld-and-wi-without-zl.psv +444 -0
  166. data/lib/sapor/regional_data/poland-20151025-with-sld-without-zl.psv +403 -0
  167. data/lib/sapor/regional_data/poland-20151025.psv +403 -0
  168. data/lib/sapor/regional_data/poland.rb +125 -0
  169. data/lib/sapor/regional_data/poland_with_ko_and_l_without_n_po_r_and_zl.rb +122 -0
  170. data/lib/sapor/regional_data/poland_with_ko_konf_kp_l_and_zp_without_k_k15_n_pis_po_psl_r_and_zl.rb +123 -0
  171. data/lib/sapor/regional_data/poland_with_ko_sld_and_wi_without_n_po_and_zl.rb +125 -0
  172. data/lib/sapor/regional_data/poland_with_sld_and_wi_without_zl.rb +126 -0
  173. data/lib/sapor/regional_data/poland_with_sld_without_zl.rb +126 -0
  174. data/lib/sapor/regional_data/portugal-20151004-with-a-and-ch-without-paf.psv +438 -0
  175. data/lib/sapor/regional_data/portugal-20151004-with-a-and-il-without-paf.psv +438 -0
  176. data/lib/sapor/regional_data/portugal-20151004-with-a-ch-and-il-without-paf.psv +461 -0
  177. data/lib/sapor/regional_data/portugal-20151004-with-a-without-paf.psv +415 -0
  178. data/lib/sapor/regional_data/portugal-20151004-with-ch-and-il-without-paf.psv +438 -0
  179. data/lib/sapor/regional_data/portugal-20151004-without-paf.psv +392 -0
  180. data/lib/sapor/regional_data/portugal-20151004.psv +370 -0
  181. data/lib/sapor/regional_data/portugal.rb +101 -0
  182. data/lib/sapor/regional_data/portugal_with_a_and_ch_without_paf.rb +92 -0
  183. data/lib/sapor/regional_data/portugal_with_a_and_il_without_paf.rb +92 -0
  184. data/lib/sapor/regional_data/portugal_with_a_ch_and_il_without_paf.rb +92 -0
  185. data/lib/sapor/regional_data/portugal_with_a_without_paf.rb +92 -0
  186. data/lib/sapor/regional_data/portugal_with_ch_and_il_without_paf.rb +92 -0
  187. data/lib/sapor/regional_data/portugal_without_paf.rb +92 -0
  188. data/lib/sapor/regional_data/slovakia.rb +81 -0
  189. data/lib/sapor/regional_data/slovenia.rb +114 -0
  190. data/lib/sapor/regional_data/spain-20160626.psv +619 -0
  191. data/lib/sapor/regional_data/spain.rb +136 -0
  192. data/lib/sapor/regional_data/sweden.rb +92 -0
  193. data/lib/sapor/regional_data/sweden_20140914.rb +89 -0
  194. data/lib/sapor/regional_data/united_kingdom-2015.psv +4358 -0
  195. data/lib/sapor/regional_data/united_kingdom-20170608-brexit-chuk.psv +5154 -0
  196. data/lib/sapor/regional_data/united_kingdom-20170608-brexit.psv +4521 -0
  197. data/lib/sapor/regional_data/united_kingdom-20170608-tig.psv +4529 -0
  198. data/lib/sapor/regional_data/united_kingdom-20170608.psv +3894 -0
  199. data/lib/sapor/regional_data/united_kingdom.rb +57 -1038
  200. data/lib/sapor/regional_data/united_kingdom_with_brexit.rb +110 -0
  201. data/lib/sapor/regional_data/united_kingdom_with_brexit_and_chuk.rb +111 -0
  202. data/lib/sapor/regional_data/united_kingdom_with_tig.rb +111 -0
  203. data/lib/sapor/regional_data/utopia.rb +2 -2
  204. data/lib/sapor/regional_data/wallonia-2014.psv +101 -0
  205. data/lib/sapor/regional_data/wallonia.rb +97 -0
  206. data/lib/sapor/representatives_polychotomy.rb +338 -0
  207. data/lib/sapor/single_district_proportional.rb +75 -0
  208. data/lib/sapor.rb +112 -6
  209. data/sapor.gemspec +2 -2
  210. data/spec/integration/area_spec.rb +2 -2
  211. data/spec/integration/poll_spec.rb +6 -1
  212. data/spec/integration/sample.poll +2 -1
  213. data/spec/spec_helper.rb +2 -2
  214. data/spec/unit/area_spec.rb +12 -12
  215. data/spec/unit/austria_spec.rb +76 -0
  216. data/spec/unit/belgium_brussels_spec.rb +58 -0
  217. data/spec/unit/belgium_flanders_spec.rb +62 -0
  218. data/spec/unit/belgium_spec.rb +26 -0
  219. data/spec/unit/belgium_wallonia_spec.rb +65 -0
  220. data/spec/unit/binomials_cache_spec.rb +1 -1
  221. data/spec/unit/catalonia_spec.rb +21 -29
  222. data/spec/unit/combinations_distribution_spec.rb +1 -1
  223. data/spec/unit/denmark_spec.rb +56 -0
  224. data/spec/unit/denmark_with_e_and_p_spec.rb +58 -0
  225. data/spec/unit/denmark_with_e_spec.rb +57 -0
  226. data/spec/unit/denmark_with_p_spec.rb +57 -0
  227. data/spec/unit/denominators_spec.rb +8 -2
  228. data/spec/unit/dichotomies_spec.rb +1 -1
  229. data/spec/unit/dichotomy_spec.rb +1 -1
  230. data/spec/unit/estonia_spec.rb +65 -0
  231. data/spec/unit/european_union_27_austria_spec.rb +61 -0
  232. data/spec/unit/european_union_27_croatia_spec.rb +60 -0
  233. data/spec/unit/european_union_27_denmark_spec.rb +62 -0
  234. data/spec/unit/european_union_27_estonia_spec.rb +94 -0
  235. data/spec/unit/european_union_27_finland_spec.rb +75 -0
  236. data/spec/unit/european_union_27_ireland_spec.rb +72 -0
  237. data/spec/unit/european_union_27_ireland_with_ia_spec.rb +74 -0
  238. data/spec/unit/european_union_27_italy_spec.rb +69 -0
  239. data/spec/unit/european_union_27_netherlands_spec.rb +81 -0
  240. data/spec/unit/european_union_27_poland_spec.rb +69 -0
  241. data/spec/unit/european_union_27_romania_spec.rb +67 -0
  242. data/spec/unit/european_union_27_slovakia_spec.rb +111 -0
  243. data/spec/unit/european_union_27_spain_spec.rb +130 -0
  244. data/spec/unit/european_union_27_sweden_spec.rb +89 -0
  245. data/spec/unit/european_union_austria_spec.rb +61 -0
  246. data/spec/unit/european_union_bulgaria_spec.rb +97 -0
  247. data/spec/unit/european_union_croatia_spec.rb +59 -0
  248. data/spec/unit/european_union_cyprus_spec.rb +65 -0
  249. data/spec/unit/european_union_czech_republic_spec.rb +125 -0
  250. data/spec/unit/european_union_denmark_spec.rb +61 -0
  251. data/spec/unit/european_union_estonia_spec.rb +93 -0
  252. data/spec/unit/european_union_finland_spec.rb +75 -0
  253. data/spec/unit/european_union_flanders_spec.rb +56 -0
  254. data/spec/unit/european_union_france_2019_spec.rb +73 -0
  255. data/spec/unit/european_union_france_spec.rb +73 -0
  256. data/spec/unit/european_union_french_community_of_belgium_spec.rb +61 -0
  257. data/spec/unit/european_union_germany_spec.rb +90 -0
  258. data/spec/unit/european_union_great_britain_spec.rb +87 -0
  259. data/spec/unit/european_union_greece_spec.rb +148 -0
  260. data/spec/unit/european_union_hungary_spec.rb +57 -0
  261. data/spec/unit/european_union_ireland_spec.rb +72 -0
  262. data/spec/unit/european_union_ireland_with_ia_spec.rb +74 -0
  263. data/spec/unit/european_union_italy_spec.rb +69 -0
  264. data/spec/unit/european_union_latvia_spec.rb +76 -0
  265. data/spec/unit/european_union_lithuania_spec.rb +68 -0
  266. data/spec/unit/european_union_luxembourg_spec.rb +63 -0
  267. data/spec/unit/european_union_malta_spec.rb +60 -0
  268. data/spec/unit/european_union_netherlands_spec.rb +81 -0
  269. data/spec/unit/european_union_northern_ireland_spec.rb +66 -0
  270. data/spec/unit/european_union_poland_spec.rb +69 -0
  271. data/spec/unit/european_union_portugal_spec.rb +77 -0
  272. data/spec/unit/european_union_romania_spec.rb +67 -0
  273. data/spec/unit/european_union_slovakia_spec.rb +111 -0
  274. data/spec/unit/european_union_slovenia_spec.rb +77 -0
  275. data/spec/unit/european_union_spain_spec.rb +129 -0
  276. data/spec/unit/european_union_sweden_spec.rb +89 -0
  277. data/spec/unit/finland_spec.rb +65 -0
  278. data/spec/unit/finland_with_sin_spec.rb +67 -0
  279. data/spec/unit/first_past_the_post_spec.rb +6 -5
  280. data/spec/unit/flanders_spec.rb +70 -0
  281. data/spec/unit/france_spec.rb +32 -0
  282. data/spec/unit/greece_spec.rb +118 -0
  283. data/spec/unit/hungary_spec.rb +132 -0
  284. data/spec/unit/iceland_spec.rb +57 -0
  285. data/spec/unit/largest_remainder_spec.rb +79 -0
  286. data/spec/unit/latvia_kpv_p_par_spec.rb +38 -0
  287. data/spec/unit/latvia_kpv_par_spec.rb +38 -0
  288. data/spec/unit/latvia_kpv_spec.rb +38 -0
  289. data/spec/unit/latvia_spec.rb +60 -0
  290. data/spec/unit/luxembourg_spec.rb +54 -0
  291. data/spec/unit/{leveled_proportional_spec.rb → multi_district_leveled_proportional_spec.rb} +12 -14
  292. data/spec/unit/{proportional_spec.rb → multi_district_proportional_spec.rb} +11 -16
  293. data/spec/unit/netherlands_spec.rb +107 -0
  294. data/spec/unit/norway_spec.rb +23 -6
  295. data/spec/unit/norwegian_municipality_spec.rb +89 -0
  296. data/spec/unit/number_formatter_spec.rb +1 -1
  297. data/spec/unit/poland_spec.rb +62 -0
  298. data/spec/unit/poland_with_ko_and_l_without_n_po_r_and_zl_spec.rb +60 -0
  299. data/spec/unit/poland_with_ko_konf_kp_l_and_zp_without_k_k15_n_pis_po_psl_r_and_zl_spec.rb +59 -0
  300. data/spec/unit/poland_with_ko_sld_and_wi_without_n_po_and_zl_spec.rb +62 -0
  301. data/spec/unit/poland_with_sld_and_wi_without_zl_spec.rb +63 -0
  302. data/spec/unit/poland_with_sld_without_zl_spec.rb +62 -0
  303. data/spec/unit/poll_spec.rb +8 -3
  304. data/spec/unit/portugal_spec.rb +66 -0
  305. data/spec/unit/portugal_with_a_and_ch_without_paf_spec.rb +68 -0
  306. data/spec/unit/portugal_with_a_and_il_without_paf_spec.rb +68 -0
  307. data/spec/unit/portugal_with_a_ch_and_il_without_paf_spec.rb +69 -0
  308. data/spec/unit/portugal_with_a_without_paf_spec.rb +67 -0
  309. data/spec/unit/portugal_with_ch_and_il_without_paf_spec.rb +68 -0
  310. data/spec/unit/portugal_without_paf_spec.rb +66 -0
  311. data/spec/unit/pseudorandom_multirange_enumerator_spec.rb +1 -1
  312. data/spec/unit/referendum_polychotomy_spec.rb +289 -0
  313. data/spec/unit/{polychotomy_spec.rb → representatives_polychotomy_spec.rb} +26 -26
  314. data/spec/unit/slovakia_spec.rb +99 -0
  315. data/spec/unit/slovenia_spec.rb +80 -0
  316. data/spec/unit/spain_spec.rb +101 -0
  317. data/spec/unit/sweden_20140914_spec.rb +112 -0
  318. data/spec/unit/sweden_spec.rb +113 -0
  319. data/spec/unit/united_kingdom_spec.rb +65 -0
  320. data/spec/unit/united_kingdom_with_brexit_and_chuk_spec.rb +67 -0
  321. data/spec/unit/united_kingdom_with_brexit_spec.rb +66 -0
  322. data/spec/unit/united_kingdom_with_tig_spec.rb +66 -0
  323. data/spec/unit/wallonia_spec.rb +130 -0
  324. metadata +381 -11
@@ -0,0 +1,651 @@
1
+ Name;MP;Region;County Area;Electorate;CON;LAB;LIB;UKIP;Green;NAT;MIN;OTH
2
+ Aldershot;Gerald Howarth;19;Hampshire;72434;23369;8468;4076;8253;2025;0;0;0
3
+ Aldridge-Brownhills;Wendy Morton;9;Black Country;60215;20558;8835;1330;7751;826;0;0;197
4
+ Altrincham and Sale West;Graham Brady;6;Central Manchester;72004;26771;13481;4235;4047;1983;0;0;0
5
+ Amber Valley;Nigel Mills;10;Derbyshire;70226;20106;15901;1360;7263;1087;0;0;0
6
+ Arundel and South Downs;Nick Herbert;20;West Sussex;77272;34331;6324;4062;8154;3606;0;0;0
7
+ Ashfield;Gloria de Piero;10;Nottinghamshire;77126;10628;19448;7030;10150;0;0;0;153
8
+ Ashford;Damian Green;20;Kent;85189;30094;10580;3433;10798;2467;0;0;0
9
+ Ashton under Lyne;Angela Rayner;6;Eastern Manchester;67714;8610;19366;943;8468;1531;0;0;0
10
+ Aylesbury;David Lidington;14;Buckinghamshire;80611;28083;8391;5885;10925;2135;0;0;0
11
+ Banbury;Victoria Prentis;15;Oxfordshire;86420;30749;12354;3440;8050;2686;0;0;729
12
+ Barking;Margaret Hodge;16;Barking and Dagenham;74004;7019;24826;562;9554;879;0;0;183
13
+ Barnsley Central;Dan Jarvis;8;South Yorkshire;64534;5485;20376;770;7941;938;0;573;477
14
+ Barnsley East;Michael Dugher;8;South Yorkshire;69135;5622;21079;1217;9045;0;0;647;907
15
+ Barrow and Furness;John Woodcock;4;Cumbria;68338;17525;18320;1169;5070;1061;0;0;130
16
+ Basildon and Billericay;John Baron;14;Essex;68459;22668;10186;1636;8538;0;0;0;0
17
+ Basildon South and East Thurrock;Stephen Metcalfe;14;Essex;73210;19788;11493;1356;12097;0;0;0;859
18
+ Basingstoke;Maria Miller;19;Hampshire;79662;25769;14706;3919;8290;0;0;0;392
19
+ Bassetlaw;John Mann;10;Nottinghamshire;77480;15122;23965;1331;7865;1006;0;0;0
20
+ Bath;Ben Howlett;15;Bristol area;60869;17833;6216;14000;2922;5634;0;0;562
21
+ Batley and Spen;Jo Cox;7;West Yorkshire;78373;15769;21826;2396;9080;1232;0;0;176
22
+ Battersea;Jane Ellison;17;Wandsworth;76106;26730;18792;2241;1586;1682;0;0;0
23
+ Beaconsfield;Dominic Grieve;14;Buckinghamshire;76380;33621;6074;3927;7310;2231;0;0;0
24
+ Beckenham;Bob Stewart;17;Bromley;67436;27955;9484;3378;6108;1878;0;0;0
25
+ Bedford;Richard Fuller;13;Bedfordshire;69311;19625;18528;1958;4434;1412;0;0;129
26
+ Bedfordshire Mid;Nadine Dorries;13;Bedfordshire;81144;32544;9217;4193;8966;2462;0;0;678
27
+ Bedfordshire North East;Alistair Burt;13;Bedfordshire;83551;34891;9247;3418;8579;2537;0;0;0
28
+ Bedfordshire South West;Andrew Selous;13;Bedfordshire;79664;28212;10399;2646;7941;2106;0;0;0
29
+ Bermondsey and Old Southwark;Neil Coyle;17;Southwark;80604;6051;22146;17657;3254;2023;0;0;293
30
+ Berwick-upon-Tweed;Anne-Marie Trevelyan;4;Northumberland;58098;16603;6042;11689;4513;1488;0;0;88
31
+ Bethnal Green and Bow;Rushanara Ali;16;Tower Hamlets;82825;8070;32387;2395;3219;4906;0;0;1947
32
+ Beverley and Holderness;Graham Stuart;8;Humber area;80822;25363;13160;2900;8794;1802;0;0;658
33
+ Bexhill and Battle;Huw Merriman;20;East Sussex;78796;30245;7797;4199;10170;2807;0;0;0
34
+ Bexleyheath and Crayford;David Evennett;17;Bexley;64828;20643;11451;1308;9182;950;0;0;151
35
+ Birkenhead;Frank Field;5;Merseyside;62438;5816;26468;1396;3838;1626;0;0;0
36
+ Birmingham Edgbaston;Gisela Stuart;9;Birmingham;65591;15812;18518;1184;4154;1371;0;0;254
37
+ Birmingham Erdington;Jack Dromey;9;Birmingham;65128;10695;15824;965;6040;948;0;0;212
38
+ Birmingham Hall Green;Roger Godsiff;9;Birmingham;76330;8329;28147;5459;2131;2200;0;0;780
39
+ Birmingham Hodge Hill;Liam Byrne;9;Birmingham;75302;4707;28069;2624;4651;835;0;0;153
40
+ Birmingham Ladywood;Shabana Mahmood;9;Birmingham;68128;4576;26444;1374;1805;1501;0;0;216
41
+ Birmingham Northfield;Richard Burden;9;Birmingham;71428;15164;17673;1349;7106;1169;0;0;0
42
+ Birmingham Perry Barr;Khalid Mahmood;9;Birmingham;69943;8869;23697;2001;5032;1330;0;0;331
43
+ Birmingham Selly Oak;Stephen McCabe;9;Birmingham;75092;13137;21584;2517;5755;2301;0;0;0
44
+ Birmingham Yardley;Jess Phillips;9;Birmingham;72146;5760;17129;10534;6637;698;0;0;393
45
+ Bishop Auckland;Helen Goodman;4;Durham;66089;12799;16307;1723;7015;1545;0;0;0
46
+ Blackburn;Kate Hollern;5;Lancashire;73265;12002;24762;955;6280;0;0;0;0
47
+ Blackley and Broughton;Graham Stringer;6;Central Manchester;71900;5581;22982;874;6108;1567;0;0;0
48
+ Blackpool North and Cleveleys;Paul Maynard;5;Lancashire;62469;17508;14168;948;5823;889;0;0;57
49
+ Blackpool South;Gordon Marsden;5;Lancashire;57411;10963;13548;743;5613;841;0;0;728
50
+ Blaydon;David Anderson;4;Newcastle area;67706;7838;22090;5497;7863;1648;0;0;0
51
+ Blyth Valley;Ronnie Campbell;4;Northumberland;63958;8346;17813;2265;8584;1453;0;0;0
52
+ Bognor Regis and Littlehampton;Nick Gibb;20;West Sussex;73095;24185;6508;4240;10241;1942;0;0;0
53
+ Bolsover;Dennis Skinner;10;Derbyshire;71976;10764;22542;1464;9228;0;0;0;0
54
+ Bolton North East;David Crausby;6;Western Manchester;67901;14164;18541;1236;8117;1103;0;0;0
55
+ Bolton South East;Yasmin Qureshi;6;Western Manchester;69692;8289;20555;1072;9627;1200;0;0;0
56
+ Bolton West;Chris Green;6;Western Manchester;72727;19744;18943;1947;7428;0;0;0;530
57
+ Bootle;Peter Dowd;5;Merseyside;70137;3639;33619;978;4915;1501;0;0;500
58
+ Boston and Skegness;Matt Warman;8;Lincolnshire;67834;18981;7142;1015;14645;800;0;0;756
59
+ Bosworth;David Tredinnick;10;Leicestershire;79742;22939;9354;11951;9338;0;0;0;0
60
+ Bournemouth East;Tobias Ellwood;18;Dorset;71956;22060;7448;3752;7401;3263;0;0;903
61
+ Bournemouth West;Conor Burns;18;Dorset;72082;20155;7386;3281;7745;3107;0;0;99
62
+ Bracknell;Phillip Lee;19;Berkshire;78131;29606;8956;3983;8339;2202;0;0;0
63
+ Bradford East;Imran Hussain;7;West Yorkshire;66123;4682;19312;12228;4103;871;0;0;210
64
+ Bradford South;Judith Cummins;7;West Yorkshire;63670;9878;16328;1094;9057;1243;0;0;0
65
+ Bradford West;Naseem Shah;7;West Yorkshire;63371;6160;19977;1173;3140;1085;0;8557;198
66
+ Braintree;James Cleverly;14;Essex;73557;27071;9296;2488;9461;1564;0;0;403
67
+ Brent Central;Dawn Butler;16;Brent;77038;9567;29216;3937;1850;1912;0;0;550
68
+ Brent North;Barry Gardiner;16;Brent;82196;17517;28351;2607;2024;1539;0;0;197
69
+ Brentford and Isleworth;Ruth Cadbury;17;Hounslow;84557;24631;25096;2305;3203;2120;0;0;0
70
+ Brentwood and Ongar;Eric Pickles;14;Essex;72461;30534;6492;4577;8724;1397;0;0;173
71
+ Bridgwater and West Somerset;Ian Liddell-Grainger;18;Somerset;80491;25020;9589;6765;10437;2636;0;0;0
72
+ Brigg and Goole;Andrew Percy;8;Humber area;68486;22946;11770;764;6694;915;0;0;181
73
+ Brighton Kemptown;Simon Kirby;20;East Sussex;67858;18428;17738;1365;4446;3187;0;0;142
74
+ Brighton Pavilion;Caroline Lucas;20;East Sussex;76557;12448;14904;1525;2724;22871;0;0;204
75
+ Bristol East;Kerry McCarthy;15;Bristol area;71965;14168;18148;2689;7152;3827;0;0;229
76
+ Bristol North West;Charlotte Leslie;15;Bristol area;76626;22767;17823;3214;4889;2952;0;0;160
77
+ Bristol South;Karin Smyth;15;Bristol area;81996;12377;19505;4416;8381;5861;0;0;302
78
+ Bristol West;Thangam Debbonaire;15;Bristol area;89198;9752;22900;12103;1940;17227;0;0;296
79
+ Broadland;Keith Simpson;13;Norfolk;74680;26808;9970;5178;8881;2252;0;0;0
80
+ Bromley and Chislehurst;Bob Neill;17;Bromley;65476;23343;9779;2836;6285;1823;0;0;0
81
+ Bromsgrove;Sajid Javid;11;Hereford and Worcestershire;73329;28133;11604;2616;8163;1729;0;0;0
82
+ Broxbourne;Charles Walker;14;Hertfordshire;72944;25797;8470;1467;9074;1216;0;0;0
83
+ Broxtowe;Anna Soubry;10;Nottinghamshire;71865;24163;19876;2120;5674;1544;0;0;63
84
+ Buckingham;John Bercow;14;Buckinghamshire;77572;34617;0;0;11675;7400;0;0;0
85
+ Burnley;Julie Cooper;5;Lancashire;64486;5374;14951;11707;6864;850;0;0;0
86
+ Burton;Andrew Griffiths;11;Staffordshire;75300;24736;13484;1232;8658;1224;0;0;0
87
+ Bury North;David Nuttall;6;Western Manchester;67580;18970;18592;932;5595;1141;0;0;0
88
+ Bury South;Ivan Lewis;6;Western Manchester;73883;16350;21272;1690;6299;1434;0;0;170
89
+ Bury St Edmunds;Jo Churchill;13;Suffolk;85993;31815;10514;3581;8739;4692;0;0;0
90
+ Calder Valley;Craig Whittaker;7;West Yorkshire;77753;23354;18927;2666;5950;2090;0;0;554
91
+ Camberwell and Peckham;Harriet Harman;17;Southwark;80507;6790;32614;2580;2413;5187;0;0;1977
92
+ Camborne and Redruth;George Eustice;18;Cornwall;66944;18452;11448;5687;6776;2608;0;0;897
93
+ Cambridge;Daniel Zeichner;13;Cambridgeshire;83384;8117;18646;18047;2668;4109;0;0;187
94
+ Cambridgeshire North East;Stephen Barclay;13;Cambridgeshire;82990;28524;7476;2314;11650;1816;0;0;0
95
+ Cambridgeshire North West;Shailesh Vara;13;Cambridgeshire;91783;32070;10927;3479;12275;2159;0;0;190
96
+ Cambridgeshire South;Heidi Allen;13;Cambridgeshire;84132;31454;10860;9368;6010;3848;0;0;0
97
+ Cambridgeshire South East;Lucy Frazer;13;Cambridgeshire;84570;28845;9013;12008;6593;3047;0;0;0
98
+ Cannock Chase;Amanda Milling;11;Staffordshire;74531;20811;15888;1270;8224;906;0;0;0
99
+ Canterbury;Julian Brazier;20;Kent;83481;22918;13120;6227;7289;3746;0;0;165
100
+ Carlisle;John Stevenson;4;Cumbria;65827;18873;16099;1087;5277;1125;0;0;126
101
+ Carshalton and Wallington;Tom Brake;17;Sutton;69866;15093;7150;16603;7049;1492;0;0;226
102
+ Castle Point;Rebecca Harris;14;Essex;68170;23112;6283;801;14178;1076;0;0;0
103
+ Charnwood;Edward Argar;10;Leicestershire;77269;28384;11453;3605;8330;0;0;0;489
104
+ Chatham and Aylesford;Tracey Crouch;20;Kent;68625;21614;10159;1360;8581;1101;0;0;258
105
+ Cheadle;Mary Robinson;6;Eastern Manchester;73239;22889;8673;16436;4423;0;0;0;674
106
+ Chelmsford;Simon Burns;14;Essex;78580;27732;9482;6394;7652;1892;0;0;665
107
+ Chelsea and Fulham;Greg Hands;16;Hammersmith and Fulham;63478;25322;9300;2091;2039;1474;0;0;0
108
+ Cheltenham;Alex Chalk;15;Gloucestershire;77286;24790;3902;18274;3808;2689;0;0;272
109
+ Chesham and Amersham;Cheryl Gillan;14;Buckinghamshire;73423;31138;6712;4761;7218;2902;0;0;0
110
+ Chester, City of;Chris Matheson;11;Cheshire;72269;22025;22118;2870;4148;0;0;0;0
111
+ Chesterfield;Toby Perkins;10;Derbyshire;72078;8231;21829;6301;7523;1352;0;0;331
112
+ Chichester;Andrew Tyrie;20;West Sussex;83575;32953;6933;4865;8540;3742;0;0;106
113
+ Chingford and Woodford Green;Iain Duncan Smith;16;Waltham Forest;66691;20999;12613;2400;5644;1854;0;0;294
114
+ Chippenham;Michelle Donelan;15;Wiltshire;74225;26354;4561;16278;5884;2330;0;0;0
115
+ Chipping Barnet;Theresa Villiers;16;Barnet;77853;25759;18103;2381;4151;2501;0;0;118
116
+ Chorley;Lindsay Hoyle;5;Lancashire;74679;18792;23322;1354;6995;1111;0;0;138
117
+ Christchurch;Christopher Chope;18;Dorset;69302;28887;4745;3263;10663;2149;0;0;0
118
+ Cities of London and Westminster;Mark Field;16;City of Westminster;60992;19570;9899;2521;1894;1953;0;0;348
119
+ Clacton;Douglas Carswell;14;Essex;68936;16205;6364;812;19642;1184;0;0;0
120
+ Cleethorpes;Martin Vickers;8;Humber area;70514;21026;13133;1346;8356;1013;0;0;215
121
+ Colchester;Will Quince;14;Essex;74203;18919;7852;13344;5870;2499;0;0;109
122
+ Colne Valley;Jason McCartney;7;West Yorkshire;82510;25246;19868;3407;5734;1919;0;0;626
123
+ Congleton;Fiona Bruce;11;Cheshire;72398;27164;10391;4623;6922;1876;0;0;0
124
+ Copeland;Jamie Reed;4;Cumbria;62119;14186;16750;1368;6148;1179;0;0;0
125
+ Corby;Tom Pursglove;13;Northamptonshire;79775;24023;21611;1458;7708;1374;0;0;0
126
+ Cornwall North;Scott Mann;18;Cornwall;67192;21689;2621;15068;6121;2063;0;0;683
127
+ Cornwall South East;Sheryll Murray;18;Cornwall;71071;25516;4692;8521;7698;2718;0;0;1353
128
+ Cotswolds, The;Geoffrey Clifton-Brown;15;Gloucestershire;78292;32045;5240;10568;6188;2626;0;0;0
129
+ Coventry North East;Colleen Fletcher;9;Coventry and Solihull;76401;9751;22025;2007;6278;1245;0;0;925
130
+ Coventry North West;Geoffrey Robinson;9;Coventry and Solihull;74597;14048;18557;1810;7101;1961;0;0;1769
131
+ Coventry South;Jim Cunningham;9;Coventry and Solihull;71380;15284;18472;1779;5709;1719;0;0;736
132
+ Crawley;Henry Smith;20;West Sussex;73940;22829;16303;1339;6979;1100;0;0;0
133
+ Crewe and Nantwich;Edward Timpson;11;Cheshire;74039;22445;18825;1374;7252;0;0;0;0
134
+ Croydon Central;Gavin Barwell;17;Croydon;78171;22753;22588;1152;4810;1454;0;0;184
135
+ Croydon North;Steve Reed;17;Croydon;85951;12149;33513;1919;2899;2515;0;0;527
136
+ Croydon South;Chris Philp;17;Croydon;82010;31448;14308;3448;6068;2154;0;0;286
137
+ Dagenham and Rainham;Jon Cruddas;16;Barking and Dagenham;69049;10492;17830;717;12850;806;0;0;355
138
+ Darlington;Jenny Chapman;4;Durham;65832;14479;17637;1966;5392;1444;0;0;223
139
+ Dartford;Gareth Johnson;20;Kent;76686;25670;13325;1454;10434;1324;0;0;211
140
+ Daventry;Chris Heaton-Harris;13;Northamptonshire;72753;30550;9491;2352;8296;1829;0;0;0
141
+ Denton and Reddish;Andrew Gwynne;6;Eastern Manchester;66574;9150;19661;957;7225;1466;0;0;222
142
+ Derby North;Amanda Solloway;10;Derbyshire;64739;16402;16361;3832;6532;1618;0;0;0
143
+ Derby South;Margaret Beckett;10;Derbyshire;70247;11179;20007;1717;6341;1208;0;0;368
144
+ Derbyshire Dales;Patrick McLoughlin;10;Derbyshire;63470;24805;10761;3965;5508;2173;0;0;149
145
+ Derbyshire Mid;Pauline Latham;10;Derbyshire;67576;24908;12134;2292;6497;1898;0;0;0
146
+ Derbyshire North East;Natascha Engel;10;Derbyshire;71456;17605;19488;2004;7631;1059;0;0;161
147
+ Derbyshire South;Heather Wheeler;10;Derbyshire;74395;25066;13595;1887;8998;1216;0;0;0
148
+ Devizes;Claire Perry;15;Wiltshire;69211;28295;6360;3954;7544;2853;0;0;0
149
+ Devon Central;Mel Stride;18;Devon;72737;28436;6985;6643;7171;4866;0;0;347
150
+ Devon East;Hugo Swire;18;Devon;74224;25401;5591;3715;6870;0;0;13140;0
151
+ Devon North;Peter Heaton-Jones;18;Devon;74737;22341;3699;15405;7719;3018;0;0;138
152
+ Devon South West;Gary Streeter;18;Devon;71035;28500;8391;3767;7306;2408;0;0;0
153
+ Devon West and Torridge;Geoffrey Cox;18;Devon;78582;28774;6015;7483;10371;3941;0;0;0
154
+ Dewsbury;Paula Sherriff;7;West Yorkshire;79765;20955;22406;1924;6649;1366;0;0;330
155
+ Don Valley;Caroline Flint;8;South Yorkshire;71299;10736;19621;1487;9963;0;0;0;679
156
+ Doncaster Central;Rosie Winterton;8;South Yorkshire;71136;8386;19840;1717;9747;0;0;0;730
157
+ Doncaster North;Ed Miliband;8;South Yorkshire;70898;7235;20708;1005;8928;757;0;448;420
158
+ Dorset Mid and Poole North;Michael Tomlinson;18;Dorset;68917;23639;2767;13109;5663;1321;0;0;0
159
+ Dorset North;Simon Hoare;18;Dorset;74576;30227;4785;6226;9109;3038;0;0;0
160
+ Dorset South;Richard Drax;18;Dorset;71974;23756;11762;2901;7304;2275;0;0;599
161
+ Dorset West;Oliver Letwin;18;Dorset;78427;28329;5633;12199;7055;3242;0;0;0
162
+ Dover;Charlie Elphicke;20;Kent;72929;21737;15443;1572;10177;1295;0;0;0
163
+ Dudley North;Ian Austin;9;Black Country;60718;11704;15885;478;9113;517;0;0;295
164
+ Dudley South;Mike Wood;9;Black Country;60363;16723;12453;828;7236;970;0;0;0
165
+ Dulwich and West Norwood;Helen Hayes;17;Lambeth;75244;11650;27772;5055;1606;4844;0;0;435
166
+ Durham North;Kevan Jones;4;Durham;65373;8403;22047;2046;6404;1246;0;0;0
167
+ Durham North West;Pat Glass;4;Durham;69817;10018;20074;3894;7265;1567;0;0;0
168
+ Durham, City of;Roberta Blackman-Woods;4;Durham;68741;10157;21596;5153;5232;2687;0;0;844
169
+ Ealing Central and Acton;Rupa Huq;17;Ealing;71238;21728;22002;3106;1926;1841;0;0;291
170
+ Ealing North;Stephen Pound;17;Ealing;73836;14419;26745;1575;3922;1635;0;0;214
171
+ Ealing Southall;Virendra Sharma;17;Ealing;65495;9387;28147;1550;1769;2007;0;0;461
172
+ Easington;Grahame Morris;4;Durham;61675;4478;21132;834;6491;733;0;810;146
173
+ East Ham;Stephen Timms;16;Newham;87378;6311;40563;856;2622;1299;0;0;639
174
+ Eastbourne;Caroline Ansell;20;East Sussex;78262;20934;4143;20201;6139;1351;0;0;139
175
+ Eastleigh;Mims Davies;19;Hampshire;79609;23464;7181;14317;8783;1513;0;0;247
176
+ Eddisbury;Antoinette Sandbach;11;Cheshire;68636;24167;11193;4289;5778;1624;0;0;301
177
+ Edmonton;Kate Osamor;16;Enfield;66015;9969;25388;897;3366;1358;0;0;360
178
+ Ellesmere Port and Neston;Justin Madders;11;Cheshire;68134;16041;22316;1563;5594;990;0;0;223
179
+ Elmet and Rothwell;Alec Shelbrooke;7;West Yorkshire;79143;27978;19488;2640;6430;1261;0;0;0
180
+ Eltham;Clive Efford;17;Greenwich;63998;15700;18393;1308;6481;1275;0;0;0
181
+ Enfield North;Joan Ryan;16;Enfield;68119;19086;20172;1059;4133;1303;0;0;384
182
+ Enfield Southgate;David Burrowes;16;Enfield;64938;22624;17871;1518;2109;1690;0;0;0
183
+ Epping Forest;Eleanor Laing;14;Essex;73545;27027;7962;3448;9049;1782;0;0;80
184
+ Epsom and Ewell;Chris Grayling;19;Surrey;78633;33309;8866;5002;7117;2116;0;0;733
185
+ Erewash;Maggie Throup;10;Derbyshire;71937;20636;17052;1658;7792;1184;0;0;0
186
+ Erith and Thamesmead;Teresa Pearce;17;Bexley;69787;11684;21209;972;7368;941;0;0;443
187
+ Esher and Walton;Dominic Raab;19;Surrey;79894;35845;7229;5372;5551;2355;0;0;624
188
+ Exeter;Ben Bradshaw;18;Devon;76964;17879;25062;2321;5075;3491;0;0;190
189
+ Fareham;Suella Fernandes;19;Hampshire;77233;30689;7800;4814;8427;2129;0;0;841
190
+ Faversham and Kent Mid;Helen Whately;20;Kent;69523;24895;7403;3039;8243;1768;0;0;455
191
+ Feltham and Heston;Seema Malhotra;17;Hounslow;82328;14382;25845;1579;6209;1390;0;0;0
192
+ Filton and Bradley Stoke;Jack Lopresti;15;Bristol area;70722;22920;13082;3581;7261;2257;0;0;0
193
+ Finchley and Golders Green;Mike Freer;16;Barnet;72049;25835;20173;1662;1732;1357;0;0;0
194
+ Folkestone and Hythe;Damian Collins;20;Kent;83612;26323;7939;4882;12526;2956;0;0;384
195
+ Forest of Dean;Mark Harper;15;Gloucestershire;69882;23191;12204;2630;8792;2703;0;0;0
196
+ Fylde;Mark Menzies;5;Lancashire;65679;21406;8182;1623;5569;1381;0;5166;230
197
+ Gainsborough;Edward Leigh;8;Lincolnshire;73212;25949;10500;3290;7727;1290;0;0;505
198
+ Garston and Halewood;Maria Eagle;5;Merseyside;74063;6693;33839;2279;4482;1690;0;0;0
199
+ Gateshead;Ian Mearns;4;Newcastle area;63910;5502;21549;2585;6765;1548;0;0;0
200
+ Gedling;Vernon Coaker;10;Nottinghamshire;70046;17321;20307;1906;6930;1534;0;0;0
201
+ Gillingham and Rainham;Rehman Chishti;20;Kent;72609;22590;12060;1707;9199;1133;0;0;389
202
+ Gloucester;Richard Graham;15;Gloucestershire;82949;23837;16586;2828;7497;1485;0;0;342
203
+ Gosport;Caroline Dinenage;19;Hampshire;73271;26364;6926;3298;9266;1707;0;0;104
204
+ Grantham and Stamford;Nicholas Boles;8;Lincolnshire;81151;28399;9070;3263;9410;1872;0;0;1741
205
+ Gravesham;Adam Holloway;20;Kent;74307;23484;15114;1111;9306;1124;0;0;0
206
+ Great Grimsby;Melanie Onn;8;Humber area;58484;8874;13414;1680;8417;783;0;0;563
207
+ Great Yarmouth;Brandon Lewis;13;Norfolk;69793;19089;12935;1030;10270;978;0;0;167
208
+ Greenwich and Woolwich;Matthew Pennycook;17;Greenwich;73315;12438;24384;2645;3888;2991;0;0;370
209
+ Guildford;Anne Milton;19;Surrey;76554;30802;6534;8354;4774;2558;0;0;964
210
+ Hackney North and Stoke Newington;Diane Abbott;16;Hackney;83195;7349;31357;2492;1085;7281;0;0;323
211
+ Hackney South and Shoreditch;Meg Hillier;16;Hackney;79962;6420;30663;2186;1818;5519;0;0;1004
212
+ Halesowen and Rowley Regis;James Morris;9;Black Country;74203;18933;15851;905;7280;849;0;0;0
213
+ Halifax;Holly Lynch;7;West Yorkshire;70461;17078;17506;1629;5621;1142;0;0;777
214
+ Haltemprice and Howden;David Davis;8;Humber area;71205;26414;10219;3055;6781;1809;0;0;479
215
+ Halton;Derek Twigg;11;Cheshire;72818;8007;28292;1097;6333;1017;0;0;277
216
+ Hammersmith;Andy Slaughter;16;Hammersmith and Fulham;72254;17463;23981;2224;2105;2105;0;0;82
217
+ Hampshire East;Damian Hinds;19;Hampshire;72600;31334;5220;5732;6187;3176;0;0;0
218
+ Hampshire North East;Ranil Jayawardena;19;Hampshire;74025;35573;5290;5657;4732;2364;0;0;384
219
+ Hampshire North West;Kit Malthouse;19;Hampshire;79223;32052;7342;5151;8109;2541;0;0;0
220
+ Hampstead and Kilburn;Tulip Siddiq;16;Camden;80241;22839;23977;3039;1532;2387;0;0;190
221
+ Harborough;Edward Garnier;10;Leicestershire;77760;27675;8043;7037;7539;2177;0;0;0
222
+ Harlow;Robert Halfon;14;Essex;67994;21623;13273;904;7208;954;0;0;289
223
+ Harrogate and Knaresborough;Andrew Jones;7;North Yorkshire;77379;28153;5409;11782;5681;2351;0;0;0
224
+ Harrow East;Bob Blackman;16;Harrow;70890;24668;19911;1037;2333;846;0;0;205
225
+ Harrow West;Gareth Thomas;16;Harrow;69643;19677;21885;1567;2047;1310;0;0;117
226
+ Hartlepool;Iain Wright;4;Teesside;69516;8256;14076;761;11052;1341;0;2954;1050
227
+ Harwich and North Essex;Bernard Jenkin;14;Essex;69289;24722;9548;3576;8464;2122;0;0;0
228
+ Hastings and Rye;Amber Rudd;20;East Sussex;75095;22686;17890;1614;6786;1951;0;0;0
229
+ Havant;Alan Mak;19;Hampshire;70573;23159;7149;2929;9239;2352;0;0;0
230
+ Hayes and Harlington;John McDonnell;17;Hillingdon;74875;11143;26843;888;5388;794;0;0;0
231
+ Hazel Grove;William Wragg;6;Eastern Manchester;63098;17882;7584;11330;5283;1140;0;0;0
232
+ Hemel Hempstead;Michael Penning;14;Hertfordshire;74616;26245;11825;2402;7249;1660;0;0;252
233
+ Hemsworth;Jon Trickett;7;West Yorkshire;72714;9694;21772;1357;8565;0;0;0;1018
234
+ Hendon;Matthew Offord;16;Barnet;74658;24328;20604;1088;2595;1015;0;0;0
235
+ Henley;John Howell;15;Oxfordshire;78243;32292;6917;6205;6007;3815;0;0;0
236
+ Hereford and South Herefordshire;Jesse Norman;11;Hereford and Worcestershire;70711;24844;6042;5002;7954;3415;0;0;0
237
+ Herefordshire North;Bill Wiggin;11;Hereford and Worcestershire;66683;26716;5478;5768;6720;3341;0;0;0
238
+ Hertford and Stortford;Mark Prisk;14;Hertfordshire;78906;31593;10084;4385;7534;2681;0;0;0
239
+ Hertfordshire North East;Oliver Heald;14;Hertfordshire;73944;28949;9869;3952;6728;2789;0;0;0
240
+ Hertfordshire South West;David Gauke;14;Hertfordshire;79666;32608;9345;5872;6603;2583;0;0;256
241
+ Hertsmere;Oliver Dowden;14;Hertfordshire;73753;29696;11235;2777;6383;0;0;0;0
242
+ Hexham;Guy Opperman;4;Northumberland;60614;22834;10803;2961;4302;2445;0;0;0
243
+ Heywood and Middleton;Liz McInnes;6;Eastern Manchester;79989;9268;20926;1607;15627;1110;0;0;0
244
+ High Peak;Andrew Bingham;10;Derbyshire;73336;22836;17942;2389;5811;1811;0;0;0
245
+ Hitchin and Harpenden;Peter Lilley;14;Hertfordshire;74839;31488;11433;4484;4917;3053;0;0;0
246
+ Holborn and St Pancras;Keir Starmer;16;Camden;86864;12014;29062;3555;2740;7013;0;0;533
247
+ Hornchurch and Upminster;Angela Watkinson;16;Havering;79331;27051;11103;1501;13977;1411;0;0;193
248
+ Hornsey and Wood Green;Catherine West;16;Haringey;79241;5347;29417;18359;1271;3146;0;0;245
249
+ Horsham;Jeremy Quin;20;West Sussex;78181;32627;6499;6647;7969;2198;0;0;985
250
+ Houghton and Sunderland South;Bridget Phillipson;4;Newcastle area;68316;7105;21218;791;8280;1095;0;0;0
251
+ Hove;Peter Kyle;20;East Sussex;73505;20846;22082;1861;3265;3569;0;0;591
252
+ Huddersfield;Barry Sheerman;7;West Yorkshire;65265;10841;18186;2365;5948;2798;0;0;340
253
+ Hull East;Karl Turner;8;Humber area;65606;5593;18180;2294;7861;806;0;0;410
254
+ Hull North;Diana Johnson;8;Humber area;63650;5306;18661;3175;5762;2066;0;0;366
255
+ Hull West and Hessle;Alan Johnson;8;Humber area;59008;5561;15646;3169;6313;943;0;0;171
256
+ Huntingdon;Jonathan Djanogly;13;Cambridgeshire;82404;29652;10248;4375;9473;2178;0;0;0
257
+ Hyndburn;Graham Jones;5;Lancashire;68341;13676;18076;859;9154;1122;0;0;0
258
+ Ilford North;Wes Streeting;16;Redbridge;78162;20874;21463;1130;4355;1023;0;0;87
259
+ Ilford South;Mike Gapes;16;Redbridge;95023;13455;33232;1014;2705;1506;0;0;0
260
+ Ipswich;Ben Gummer;13;Suffolk;74498;21794;18061;1400;5703;1736;0;0;0
261
+ Isle of Wight;Andrew Turner;19;Hampshire;108804;28591;8984;5235;14888;9404;0;0;3198
262
+ Islington North;Jeremy Corbyn;16;Islington;73325;8465;29659;3984;1971;5043;0;0;112
263
+ Islington South and Finsbury;Emily Thornberry;16;Islington;68127;9839;22547;4829;3375;3371;0;0;309
264
+ Jarrow;Stephen Hepburn;4;Newcastle area;63882;6584;21464;1238;7583;1310;0;0;385
265
+ Keighley;Kris Hopkins;7;West Yorkshire;68865;21766;18713;1321;5662;1661;0;0;0
266
+ Kenilworth and Southam;Jeremy Wright;10;Warwickshire;65245;28474;7472;4913;5467;1956;0;0;509
267
+ Kensington;Victoria Borwick;16;Kensington and Chelsea;61333;18199;10838;1962;1557;1765;0;0;507
268
+ Kettering;Philip Hollobone;13;Northamptonshire;70155;24467;11877;1490;7600;1633;0;0;151
269
+ Kingston and Surbiton;James Berry;17;Kingston Upon Thames;81277;23249;8574;20415;4321;2322;0;0;372
270
+ Kingswood;Chris Skidmore;15;Bristol area;67992;23252;14246;1827;7133;1370;0;0;297
271
+ Knowsley;George Howarth;5;Merseyside;79109;3367;39628;1490;4973;1270;0;0;0
272
+ Lancashire West;Rosie Cooper;5;Lancashire;70945;16114;24474;1298;6058;1582;0;0;150
273
+ Lancaster and Fleetwood;Catherine Smith;5;Lancashire;60883;16378;17643;1390;4060;2093;0;0;174
274
+ Leeds Central;Hilary Benn;7;West Yorkshire;81799;7791;24758;1529;7082;3558;0;0;330
275
+ Leeds East;Richard Burgon;7;West Yorkshire;64754;7997;20530;1296;7256;1117;0;0;0
276
+ Leeds North East;Fabian Hamilton;7;West Yorkshire;69097;15887;23137;2569;3706;2541;0;0;451
277
+ Leeds North West;Greg Mulholland;7;West Yorkshire;61974;8083;13041;15948;2997;3042;0;0;246
278
+ Leeds West;Rachel Reeves;7;West Yorkshire;64950;7729;18456;1495;7104;3217;0;0;422
279
+ Leicester East;Keith Vaz;10;Leicestershire;75430;11034;29386;1233;4290;1468;0;0;657
280
+ Leicester South;Jonathan Ashworth;10;Leicestershire;73518;9628;27473;2127;3832;2533;0;0;349
281
+ Leicester West;Elizabeth Kendall;10;Leicestershire;63204;8848;16051;1507;5950;1878;0;0;288
282
+ Leicestershire North West;Andrew Bridgen;10;Leicestershire;72194;25505;14132;2033;8704;1174;0;0;0
283
+ Leicestershire South;Alberto Costa;10;Leicestershire;76877;28700;11876;3987;9363;0;0;0;0
284
+ Leigh;Andrew Burnham;6;Western Manchester;75974;10216;24312;1150;8903;0;0;0;542
285
+ Lewes;Maria Caulfield;20;East Sussex;69481;19206;5000;18123;5427;2784;0;0;0
286
+ Lewisham Deptford;Vicky Foxcroft;17;Lewisham;73426;7056;28572;2497;2013;5932;0;0;1356
287
+ Lewisham East;Heidi Alexander;17;Lewisham;73428;9574;23907;2455;3886;2429;0;0;672
288
+ Lewisham West and Penge;Jim Dowd;17;Lewisham;72289;11633;24347;3709;3764;4077;0;0;595
289
+ Leyton and Wanstead;John Cryer;16;Waltham Forest;64746;8939;23858;2304;2341;2974;0;0;289
290
+ Lichfield;Michael Fabricant;11;Staffordshire;83339;28389;10200;2700;8082;1976;0;0;120
291
+ Lincoln;Karl McCartney;8;Lincolnshire;74121;19976;18533;1992;5721;0;0;0;630
292
+ Liverpool Riverside;Louise Ellman;5;Merseyside;70950;4245;29835;1719;2510;5372;0;0;582
293
+ Liverpool Walton;Steve Rotheram;5;Merseyside;62868;1802;31222;899;3445;956;0;0;79
294
+ Liverpool Wavertree;Luciana Berger;5;Merseyside;61731;4098;28401;2454;3375;2140;0;0;506
295
+ Liverpool West Derby;Stephen Twigg;5;Merseyside;63875;2710;30842;959;3475;996;0;0;2049
296
+ Loughborough;Nicky Morgan;10;Leicestershire;72644;25762;16579;2130;5704;1845;0;0;0
297
+ Louth and Horncastle;Victoria Atkins;8;Lincolnshire;74280;25755;9077;2255;10778;1549;0;0;922
298
+ Ludlow;Philip Dunne;11;Shropshire;66423;26093;5902;6469;7164;2435;0;0;0
299
+ Luton North;Kelvin Hopkins;13;Bedfordshire;66533;12739;22243;1299;5318;972;0;0;0
300
+ Luton South;Gavin Shuker;13;Bedfordshire;67234;12949;18660;3183;5129;1237;0;0;1058
301
+ Macclesfield;David Rutley;11;Cheshire;71580;26063;11252;3842;6037;2404;0;0;0
302
+ Maidenhead;Theresa May;19;Berkshire;74963;35453;6394;5337;4539;1915;0;0;217
303
+ Maidstone and The Weald;Helen Grant;20;Kent;73181;22745;5268;12036;7930;1396;0;0;635
304
+ Makerfield;Yvonne Fovargue;6;Western Manchester;74370;8752;23208;1639;10053;1136;0;0;0
305
+ Maldon;John Whittingdale;14;Essex;69455;29112;5690;2157;7042;1504;0;2424;116
306
+ Manchester Central;Lucy Powell;6;Central Manchester;86078;6133;27772;1867;5033;3838;0;0;688
307
+ Manchester Gorton;Sir Gerald Kaufman;6;Central Manchester;72959;4063;28187;1782;3434;4108;0;0;445
308
+ Manchester Withington;Jeff Smith;6;Central Manchester;74102;4872;26843;11970;2172;4048;0;0;61
309
+ Mansfield;Alan Meale;10;Nottinghamshire;77534;13288;18603;1642;11850;1486;0;0;324
310
+ Meon Valley;George Hollingbery;19;Hampshire;72738;31578;5656;4987;7665;1831;0;0;0
311
+ Meriden;Caroline Spelman;9;Coventry and Solihull;81079;28791;9996;2638;8908;2170;0;0;100
312
+ Middlesbrough;Andy McDonald;4;Teesside;61868;5388;18584;1220;6107;1407;0;0;0
313
+ Middlesbrough South and Cleveland East;Tom Blenkinsop;4;Teesside;71153;16925;19193;1564;6935;1060;0;0;0
314
+ Milton Keynes North;Mark Lancaster;14;Buckinghamshire;84892;27244;17491;3575;6852;2255;0;0;275
315
+ Milton Keynes South;Iain Stewart;14;Buckinghamshire;87968;27601;18929;2309;7803;1936;0;0;371
316
+ Mitcham and Morden;Siobhain McDonagh;17;Merton;68474;10458;27380;1378;4287;1422;0;0;217
317
+ Mole Valley;Sir Paul Beresford;19;Surrey;74317;33434;4565;7981;6181;2979;0;0;0
318
+ Morecambe and Lunesdale;David Morris;5;Lancashire;66476;19691;15101;1612;5358;1395;0;0;85
319
+ Morley and Outwood;Andrea Jenkyns;7;West Yorkshire;76179;18776;18354;1426;7951;1264;0;0;479
320
+ New Forest East;Julian Lewis;19;Hampshire;72720;27819;6018;4626;8657;2327;0;0;0
321
+ New Forest West;Desmond Swayne;19;Hampshire;68465;28420;5133;3293;7816;2748;0;0;0
322
+ Newark;Robert Jenrick;10;Nottinghamshire;73724;29834;11360;2385;6294;1792;0;0;637
323
+ Newbury;Richard Benyon;19;Berkshire;79058;34973;4837;8605;6195;2324;0;0;366
324
+ Newcastle upon Tyne Central;Chi Onwurah;4;Newcastle area;61061;6628;19301;2218;5214;1724;0;0;0
325
+ Newcastle upon Tyne East;Nick Brown;4;Newcastle area;74112;6884;19378;4332;4910;3426;0;0;292
326
+ Newcastle upon Tyne North;Catherine McKinnell;4;Newcastle area;67267;10536;20689;4366;7447;1515;0;0;338
327
+ Newcastle-under-Lyme;Paul Farrelly;11;Staffordshire;66752;15870;16520;1826;7252;1246;0;0;283
328
+ Newton Abbot;Anne-Marie Morris;18;Devon;69743;22794;4736;11506;6726;2216;0;0;221
329
+ Norfolk Mid;George Freeman;13;Norfolk;76975;27206;9585;3300;9930;2191;0;0;0
330
+ Norfolk North;Norman Lamb;13;Norfolk;68958;15256;5043;19299;8328;1488;0;0;0
331
+ Norfolk North West;Henry Bellingham;13;Norfolk;72400;24727;10779;1673;8412;1780;0;0;0
332
+ Norfolk South;Richard Bacon;13;Norfolk;78885;30995;10502;4689;7847;3090;0;0;0
333
+ Norfolk South West;Elizabeth Truss;13;Norfolk;76970;25515;8649;2217;11654;2075;0;0;0
334
+ Normanton, Pontefract and Castleford;Yvette Cooper;7;West Yorkshire;82592;9569;25213;1330;9785;0;0;0;0
335
+ Northampton North;Michael Ellis;13;Northamptonshire;59147;16699;13454;1401;6354;1503;0;0;0
336
+ Northampton South;David Mackintosh;13;Northamptonshire;61284;16163;12370;1673;7114;1403;0;0;161
337
+ Northamptonshire South;Andrea Leadsom;13;Northamptonshire;85092;36607;10191;3613;8204;2247;0;0;0
338
+ Norwich North;Chloe Smith;13;Norfolk;65136;19052;14589;1894;5986;1939;0;0;132
339
+ Norwich South;Clive Lewis;13;Norfolk;74875;11379;19033;6607;4539;6749;0;0;156
340
+ Nottingham East;Christopher Leslie;10;Nottinghamshire;60464;7314;19208;1475;3501;3473;0;0;238
341
+ Nottingham North;Graham Allen;10;Nottinghamshire;65918;7423;19283;847;6542;1088;0;0;160
342
+ Nottingham South;Lilian Greenwood;10;Nottinghamshire;68987;13761;20697;1532;4900;2345;0;0;230
343
+ Nuneaton;Marcus Jones;10;Warwickshire;68032;20827;15945;816;6582;1281;0;0;298
344
+ Old Bexley and Sidcup;James Brokenshire;17;Bexley;66035;24682;8879;1644;8528;1336;0;1216;463
345
+ Oldham East and Saddleworth;Debbie Abrahams;6;Eastern Manchester;72005;11527;17529;5718;8557;1152;0;0;0
346
+ Oldham West and Royton;Michael Meacher;6;Eastern Manchester;72341;8187;23630;1589;8892;839;0;0;0
347
+ Orpington;Joseph Johnson;17;Bromley;68129;28152;7645;3330;8173;1732;0;0;0
348
+ Oxford East;Andrew Smith;15;Oxfordshire;78974;10076;25356;5453;3451;5890;0;0;463
349
+ Oxford West and Abingdon;Nicola Blackwood;15;Oxfordshire;79767;26153;7274;16571;3963;2497;0;0;789
350
+ Pendle;Andrew Stephenson;5;Lancashire;64657;20978;15525;1487;5415;1043;0;0;0
351
+ Penistone and Stocksbridge;Angela Smith;8;South Yorkshire;71048;12968;19691;2957;10738;0;0;0;500
352
+ Penrith and The Border;Rory Stewart;4;Cumbria;65209;26202;6308;3745;5353;2313;0;0;0
353
+ Peterborough;Stewart Jackson;13;Cambridgeshire;72521;18684;16759;1774;7485;1218;0;0;1155
354
+ Plymouth Moor View;Johnny Mercer;18;Devon;68115;16020;14994;1265;9152;1023;0;0;152
355
+ Plymouth Sutton and Devonport;Oliver Colvile;18;Devon;73495;18120;17597;2008;6731;3401;0;0;106
356
+ Poole;Robert Syms;18;Dorset;72557;23745;6102;5572;7956;2198;0;0;1820
357
+ Poplar and Limehouse;Jim Fitzpatrick;16;Tower Hamlets;82076;12962;29886;2149;3128;2463;0;0;456
358
+ Portsmouth North;Penny Mordaunt;19;Hampshire;73105;21343;10806;2828;8660;1450;0;0;303
359
+ Portsmouth South;Flick Drummond;19;Hampshire;71639;14585;8184;9344;5595;3145;0;716;334
360
+ Preston;Mark Hendrick;5;Lancashire;59981;6688;18755;1244;5139;1643;0;0;0
361
+ Pudsey;Stuart Andrew;7;West Yorkshire;70533;23637;19136;1926;4689;1539;0;0;0
362
+ Putney;Justine Greening;17;Wandsworth;63918;23018;12838;2717;1989;2067;0;0;184
363
+ Rayleigh and Wickford;Mark Francois;14;Essex;77870;29088;6705;1622;11858;1529;0;0;2418
364
+ Reading East;Rob Wilson;19;Berkshire;74651;23217;16697;3719;3647;3214;0;0;0
365
+ Reading West;Alok Sharma;19;Berkshire;72302;23082;16432;2355;4826;1406;0;0;303
366
+ Redcar;Anna Turley;4;Teesside;64825;6630;17946;7558;7516;880;0;0;389
367
+ Redditch;Karen Lumley;11;Hereford and Worcestershire;65529;20771;13717;1349;7133;960;0;0;168
368
+ Reigate;Crispin Blunt;19;Surrey;73429;29151;6578;5369;6817;3434;0;0;0
369
+ Ribble South;Seema Kennedy;5;Lancashire;76489;24313;18368;2312;7377;0;0;0;0
370
+ Ribble Valley;Nigel Evans;5;Lancashire;77873;25404;11798;2756;8250;2193;0;0;1842
371
+ Richmond;Rishi Sunak;7;North Yorkshire;83451;27744;7124;3465;8194;2313;0;3348;1811
372
+ Richmond Park;Zac Goldsmith;17;Richmond Upon Thames;77297;34404;7296;11389;2464;3548;0;0;0
373
+ Rochdale;Simon Danczuk;6;Eastern Manchester;79170;7742;20961;4667;8519;1382;0;1535;624
374
+ Rochester and Strood;Kelly Tolhurst;20;Kent;79000;23142;10396;1251;16009;1516;0;0;202
375
+ Rochford and Southend East;James Duddridge;14;Essex;71935;20241;10765;1459;8948;2195;0;0;0
376
+ Romford;Andrew Rosindell;16;Havering;72594;25067;10268;1413;11208;1222;0;0;0
377
+ Romsey and Southampton North;Caroline Nokes;19;Hampshire;66519;26285;5749;8573;5511;2280;0;0;0
378
+ Rossendale and Darwen;Jake Berry;5;Lancashire;84011;22847;17193;806;6862;1046;0;0;270
379
+ Rother Valley;Kevin Barron;8;South Yorkshire;74275;10945;20501;1992;13204;0;0;0;377
380
+ Rotherham;Sarah Champion;8;South Yorkshire;63698;4656;19860;1093;11414;0;0;0;800
381
+ Rugby;Mark Pawsey;10;Warwickshire;79557;24040;13695;2776;6855;1415;0;0;225
382
+ Ruislip, Northwood and Pinner;Nick Hurd;17;Hillingdon;73219;30521;10297;2537;5598;1801;0;0;468
383
+ Runnymede and Weybridge;Philip Hammond;19;Surrey;73744;29901;7767;3362;6951;2071;0;0;0
384
+ Rushcliffe;Kenneth Clarke;10;Nottinghamshire;73294;28354;14525;2783;5943;3559;0;0;0
385
+ Rutland and Melton;Alan Duncan;10;Leicestershire;79789;30383;8383;4407;8678;2325;0;0;427
386
+ Saffron Walden;Sir Alan Haselhurst;14;Essex;80615;32926;6791;6079;7935;2174;0;0;1658
387
+ Salford and Eccles;Rebecca Long-Bailey;6;Central Manchester;74290;8823;21364;1614;7806;2251;0;0;1403
388
+ Salisbury;John Glen;15;Wiltshire;69590;28192;7771;5099;6152;2762;0;0;729
389
+ Scarborough and Whitby;Robert Goodwill;7;North Yorkshire;73511;20613;14413;2159;8162;2185;0;0;207
390
+ Scunthorpe;Nic Dakin;8;Humber area;64010;12259;15393;770;6329;887;0;1097;206
391
+ Sedgefield;Phil Wilson;4;Durham;62860;11432;18275;1370;6426;1213;0;0;0
392
+ Sefton Central;Bill Esterson;5;Merseyside;67746;14513;26359;2086;4879;1184;0;0;0
393
+ Selby and Ainsty;Nigel Adams;7;North Yorkshire;76082;27725;14168;1920;7389;1465;0;0;137
394
+ Sevenoaks;Michael Fallon;20;Kent;70741;28531;6448;3937;8970;2238;0;0;0
395
+ Sheffield Brightside and Hillsborough;Harry Harpham;8;South Yorkshire;73090;4407;22663;1802;8856;1712;0;0;613
396
+ Sheffield Central;Paul Blomfield;8;South Yorkshire;77014;4917;24308;4278;3296;6999;0;0;375
397
+ Sheffield Hallam;Nick Clegg;8;South Yorkshire;73658;7544;19862;22215;3575;1772;0;0;513
398
+ Sheffield Heeley;Louise Haigh;8;South Yorkshire;69265;6792;20269;4746;7315;2566;0;0;360
399
+ Sheffield South East;Clive Betts;8;South Yorkshire;70422;7242;21439;2226;9128;1117;0;0;533
400
+ Sherwood;Mark Spencer;10;Nottinghamshire;73334;22833;18186;1094;7399;1108;0;0;78
401
+ Shipley;Philip Davies;7;West Yorkshire;70466;25269;15645;1949;4479;2657;0;0;543
402
+ Shrewsbury and Atcham;Daniel Kawczynski;11;Shropshire;76460;24628;15063;4268;7813;2247;0;0;83
403
+ Shropshire North;Owen Paterson;11;Shropshire;78910;27041;10547;3148;9262;2575;0;0;0
404
+ Sittingbourne and Sheppey;Gordon Henderson;20;Kent;76018;24425;9673;1563;12257;1185;0;0;275
405
+ Skipton and Ripon;Julian Smith;7;North Yorkshire;76243;30248;9487;4057;7651;3116;0;0;0
406
+ Sleaford and North Hykeham;Stephen Phillips;8;Lincolnshire;88188;34805;10690;3500;9716;0;0;0;3233
407
+ Slough;Fiona Mactaggart;19;Berkshire;86366;16085;23421;1275;6274;1220;0;0;0
408
+ Solihull;Julian Knight;9;Coventry and Solihull;77251;26956;5693;14054;6361;1632;0;0;83
409
+ Somerset North;Liam Fox;15;Bristol area;80115;31540;8441;7486;7669;3806;0;0;0
410
+ Somerset North East;Jacob Rees-Mogg;15;Bristol area;69380;25439;12690;4029;6150;2802;0;0;0
411
+ Somerton and Frome;David Warburton;18;Somerset;83527;31960;4419;11692;6439;5434;0;0;365
412
+ South Holland and The Deepings;John Hayes;8;Lincolnshire;77015;29303;6122;1466;10736;1580;0;0;0
413
+ South Shields;Emma Lewell-Buck;4;Newcastle area;62730;6021;18589;639;7975;1614;0;1427;0
414
+ Southampton Itchen;Royston Smith;19;Hampshire;72309;18656;16340;1595;6010;1876;0;0;233
415
+ Southampton Test;Alan Whitehead;19;Hampshire;70285;14207;18017;2121;5566;2568;0;0;1173
416
+ Southend West;David Amess;14;Essex;66876;22175;8154;4129;7803;2083;0;0;165
417
+ Southport;John Pugh;5;Merseyside;67328;12330;8468;13652;7429;1230;0;0;992
418
+ Spelthorne;Kwasi Kwarteng;19;Surrey;71592;24386;9114;3163;10234;1724;0;0;458
419
+ St Albans;Anne Main;14;Hertfordshire;72507;25392;12660;10076;4271;2034;0;0;0
420
+ St Austell and Newquay;Steve Double;18;Cornwall;76607;20250;5150;12077;8503;2318;0;0;2063
421
+ St Helens North;Conor McGinn;5;Merseyside;75262;9087;26378;2046;6983;1762;0;0;0
422
+ St Helens South and Whiston;Marie Rimmer;5;Merseyside;77720;7707;28950;2737;6766;2237;0;0;0
423
+ St Ives;Derek Thomas;18;Cornwall;65570;18491;4510;16022;5720;3051;0;0;518
424
+ Stafford;Jeremy Lefroy;11;Staffordshire;68705;23606;14429;1348;6293;1390;0;1701;0
425
+ Staffordshire Moorlands;Karen Bradley;11;Staffordshire;63104;21770;11596;1759;6236;1226;0;0;0
426
+ Staffordshire South;Gavin Williamson;11;Staffordshire;84243;29478;9107;1448;8267;1298;0;0;0
427
+ Stalybridge and Hyde;Jonathan Reynolds;6;Eastern Manchester;69081;11761;18447;1256;7720;1850;0;0;0
428
+ Stevenage;Stephen McPartland;14;Hertfordshire;70597;21291;16336;1582;6864;1369;0;0;357
429
+ Stockport;Ann Coffey;6;Eastern Manchester;63931;9710;19771;3034;5206;1753;0;0;175
430
+ Stockton North;Alex Cunningham;4;Teesside;66126;11069;19436;884;7581;0;0;0;601
431
+ Stockton South;James Wharton;4;Teesside;75109;24221;19175;1366;5480;952;0;0;603
432
+ Stoke-on-Trent Central;Tristram Hunt;11;Staffordshire;62250;7008;12220;1296;7041;1123;0;2120;276
433
+ Stoke-on-Trent North;Ruth Smeeth;11;Staffordshire;72689;10593;15429;1137;9542;1091;0;0;862
434
+ Stoke-on-Trent South;Robert Flello;11;Staffordshire;68788;12780;15319;1309;8298;1029;0;0;372
435
+ Stone;William Cash;11;Staffordshire;67339;25733;9483;2473;7620;1191;0;0;531
436
+ Stourbridge;Margot James;9;Black Country;69077;21195;14501;1538;7774;1021;0;0;0
437
+ Stratford-on-Avon;Nadhim Zahawi;10;Warwickshire;70914;29674;6677;6182;6798;2128;0;0;0
438
+ Streatham;Chuka Umunna;17;Lambeth;78673;12540;26474;4491;1602;4421;0;0;405
439
+ Stretford and Urmston;Kate Green;6;Central Manchester;69490;12916;24601;1362;5068;2187;0;0;252
440
+ Stroud;Neil Carmichael;15;Gloucestershire;80522;27813;22947;2086;4848;2779;0;0;346
441
+ Suffolk Central and Ipswich North;Daniel Poulter;13;Suffolk;78782;30317;10173;3314;7459;2664;0;0;162
442
+ Suffolk Coastal;Therese Coffey;13;Suffolk;77537;28855;10013;4777;8655;3294;0;0;0
443
+ Suffolk South;James Cartlidge;13;Suffolk;73220;27546;10001;4044;7897;2253;0;0;166
444
+ Suffolk West;Matthew Hancock;13;Suffolk;76197;25684;8604;2465;10700;1779;0;0;0
445
+ Sunderland Central;Julie Elliott;4;Newcastle area;72933;9780;20959;1105;7997;1706;0;0;215
446
+ Surrey East;Sam Gyimah;19;Surrey;79654;32211;6627;5189;9553;2159;0;0;364
447
+ Surrey Heath;Michael Gove;19;Surrey;79515;32582;6100;4937;7778;2400;0;0;634
448
+ Surrey South West;Jeremy Hunt;19;Surrey;77050;34199;5415;3586;5643;3105;0;4851;320
449
+ Sussex Mid;Nicholas Soames;20;West Sussex;79520;32268;7982;6604;6898;2453;0;0;1287
450
+ Sutton and Cheam;Paul Scully;17;Sutton;69160;20732;5546;16811;5341;1051;0;0;424
451
+ Sutton Coldfield;Andrew Mitchell;9;Birmingham;74956;27782;11365;2627;7489;1426;0;0;165
452
+ Swindon North;Justin Tomlinson;15;Wiltshire;81005;26295;14509;1704;8011;1723;0;0;0
453
+ Swindon South;Robert Buckland;15;Wiltshire;73956;22777;16992;1817;5920;1757;0;0;0
454
+ Tamworth;Christopher Pincher;11;Staffordshire;71912;23606;12304;1427;8727;1110;0;0;0
455
+ Tatton;George Osborne;11;Cheshire;64512;26552;8311;3850;4871;1714;0;0;0
456
+ Taunton Deane;Rebecca Pow;18;Somerset;81830;27849;5347;12358;6921;2630;0;2568;214
457
+ Telford;Lucy Allan;11;Shropshire;66166;16094;15364;927;7330;930;0;0;0
458
+ Tewkesbury;Laurence Robertson;15;Gloucestershire;78500;30176;8204;7629;7128;2207;0;0;0
459
+ Thanet North;Roger Gale;20;Kent;70504;23045;8411;1645;12097;1719;0;0;136
460
+ Thanet South;Craig Mackinlay;20;Kent;70182;18838;11740;932;16026;1076;0;0;789
461
+ Thirsk and Malton;Kevin Hollinrake;7;North Yorkshire;77451;27545;8089;4703;7805;2404;0;0;1819
462
+ Thornbury and Yate;Luke Hall;15;Bristol area;65884;19924;3775;18429;5126;1316;0;0;0
463
+ Thurrock;Jackie Doyle-Price;14;Essex;77569;16692;16156;644;15718;0;0;0;354
464
+ Tiverton and Honiton;Neil Parish;18;Devon;76270;29030;6835;5626;8857;3415;0;0;0
465
+ Tonbridge and Malling;Tom Tugendhat;20;Kent;74877;31887;7604;3660;8153;2366;0;0;0
466
+ Tooting;Sadiq Khan;17;Wandsworth;76778;22421;25263;2107;1537;2201;0;0;0
467
+ Torbay;Kevin Foster;18;Devon;76259;19551;4166;16265;6540;1557;0;0;0
468
+ Totnes;Sarah Wollaston;18;Devon;68630;24941;5988;4667;6656;4845;0;0;0
469
+ Tottenham;David Lammy;16;Haringey;70809;5090;28654;1756;1512;3931;0;1324;291
470
+ Truro and Falmouth;Sarah Newton;18;Cornwall;73601;22681;7814;8681;5967;4483;0;0;1918
471
+ Tunbridge Wells;Greg Clark;20;Kent;73429;30181;7307;4342;6481;2659;0;0;458
472
+ Twickenham;Tania Mathias;17;Richmond Upon Thames;80242;25580;7129;23563;3069;2463;0;0;200
473
+ Tynemouth;Alan Campbell;4;Newcastle area;77523;17551;25791;1595;6541;2017;0;0;0
474
+ Tyneside North;Mary Glindon;4;Newcastle area;79286;8997;26191;2075;7618;1442;0;0;495
475
+ Uxbridge and South Ruislip;Boris Johnson;17;Hillingdon;70634;22511;11816;2215;6346;1414;0;0;509
476
+ Vauxhall;Kate Hoey;17;Lambeth;81698;13070;25778;3312;1385;3658;0;0;738
477
+ Wakefield;Mary Creagh;7;West Yorkshire;70521;14688;17301;1483;7862;1069;0;0;570
478
+ Wallasey;Angela Eagle;5;Merseyside;65495;9828;26176;1011;5063;1288;0;0;0
479
+ Walsall North;David Winnick;9;Black Country;67080;12455;14392;840;8122;529;0;0;554
480
+ Walsall South;Valerie Vaz;9;Black Country;67743;13733;19740;676;6540;1149;0;0;0
481
+ Walthamstow;Stella Creasy;16;Waltham Forest;67289;5584;28779;1661;2507;2661;0;0;604
482
+ Wansbeck;Ian Lavery;4;Northumberland;63273;8386;19267;2407;7014;1454;0;0;0
483
+ Wantage;Ed Vaizey;15;Oxfordshire;83516;31092;9343;7611;7288;2986;0;0;0
484
+ Warley;John Spellar;9;Black Country;63740;7310;22012;805;6237;1465;0;0;0
485
+ Warrington North;Helen Jones;11;Cheshire;72632;12797;21720;1881;7757;1264;0;0;0
486
+ Warrington South;David Mowat;11;Cheshire;85566;25928;23178;3335;4909;1765;0;0;238
487
+ Warwick and Leamington;Chris White;10;Warwickshire;71750;24249;17643;2512;4183;1994;0;0;0
488
+ Warwickshire North;Craig Tracey;10;Warwickshire;70152;20042;17069;978;8256;894;0;0;138
489
+ Washington and Sunderland West;Sharon Hodgson;4;Newcastle area;68188;7033;20478;993;7321;1091;0;0;341
490
+ Watford;Richard Harrington;14;Hertfordshire;84270;24400;14606;10152;5481;1332;0;0;178
491
+ Waveney;Peter Aldous;13;Suffolk;80171;22104;19696;1055;7580;1761;0;0;0
492
+ Wealden;Nus Ghani;20;East Sussex;80252;32508;6165;5180;9541;3623;0;0;0
493
+ Weaver Vale;Graham Evans;11;Cheshire;68407;20227;19421;1395;4547;1183;0;0;94
494
+ Wellingborough;Peter Bone;13;Northamptonshire;77127;26265;9839;2240;9868;2218;0;0;0
495
+ Wells;James Heappey;18;Somerset;79405;26247;3780;18662;5644;2331;0;0;240
496
+ Welwyn Hatfield;Grant Shapps;14;Hertfordshire;73264;25281;13128;3140;6556;1742;0;0;358
497
+ Wentworth and Dearne;John Healey;8;South Yorkshire;74283;6441;24571;1135;10733;0;0;0;309
498
+ West Bromwich East;Tom Watson;9;Black Country;63641;9347;18817;751;7949;628;0;0;0
499
+ West Bromwich West;Adrian Bailey;9;Black Country;65533;8365;16578;550;8836;697;0;0;0
500
+ West Ham;Lyn Brown;16;Newham;90634;8146;36132;1430;3950;2651;0;0;484
501
+ Westminster North;Karen Buck;16;City of Westminster;62346;16527;18504;1457;1489;1322;0;0;215
502
+ Westmorland and Lonsdale;Tim Farron;4;Cumbria;65857;16245;2661;25194;3031;1798;0;0;0
503
+ Weston-Super-Mare;John Penrose;15;Bristol area;79493;25203;9594;5486;9366;2592;0;0;311
504
+ Wigan;Lisa Nandy;6;Western Manchester;76068;9389;23625;1255;8818;1273;0;0;933
505
+ Wiltshire North;James Gray;15;Wiltshire;67858;28938;4930;7892;5813;2350;0;0;633
506
+ Wiltshire South West;Andrew Murrison;15;Wiltshire;73030;27198;6948;5482;9030;2985;0;0;0
507
+ Wimbledon;Stephen Hammond;17;Merton;65853;25225;12606;6129;2476;1986;0;0;0
508
+ Winchester;Steve Brine;19;Hampshire;74119;30425;4613;13511;4122;2645;0;0;0
509
+ Windsor;Adam Afriyie;19;Berkshire;68797;31797;6714;4323;4992;1834;0;0;500
510
+ Wirral South;Alison McGovern;5;Merseyside;56956;15566;20165;1474;3737;895;0;0;0
511
+ Wirral West;Margaret Greenwood;5;Merseyside;55377;18481;18898;1433;2772;0;0;0;274
512
+ Witham;Priti Patel;14;Essex;67090;27123;7467;2891;7569;2038;0;0;80
513
+ Witney;David Cameron;15;Oxfordshire;79767;35201;10046;3953;5352;2970;0;0;960
514
+ Woking;Jonathan Lord;19;Surrey;74287;29199;8389;6047;5873;2109;0;0;347
515
+ Wokingham;John Redwood;19;Berkshire;77881;32329;8132;7572;5516;2092;0;0;358
516
+ Wolverhampton North East;Emma Reynolds;9;Black Country;61073;10174;15669;935;6524;701;0;0;0
517
+ Wolverhampton South East;Pat McFadden;9;Black Country;62561;7761;18539;798;7061;605;0;0;0
518
+ Wolverhampton South West;Rob Marris;9;Black Country;60375;16573;17374;845;4310;1058;0;0;49
519
+ Worcester;Robin Walker;11;Hereford and Worcestershire;71003;22534;16888;1677;6378;2024;0;0;222
520
+ Worcestershire Mid;Nigel Huddleston;11;Hereford and Worcestershire;73069;29763;7548;3750;9231;1933;0;0;0
521
+ Worcestershire West;Harriett Baldwin;11;Hereford and Worcestershire;73415;30342;7244;5245;7764;3505;0;0;0
522
+ Workington;Sue Hayman;4;Cumbria;58672;11596;16282;1708;7538;1149;0;0;190
523
+ Worsley and Eccles South;Barbara Keeley;6;Central Manchester;72174;12654;18600;1100;7688;1242;0;0;764
524
+ Worthing East and Shoreham;Tim Loughton;20;West Sussex;74272;24686;9737;3360;8267;2605;0;0;1243
525
+ Worthing West;Peter Bottomley;20;West Sussex;75617;26124;7955;4477;9269;2938;0;0;0
526
+ Wrekin, The;Mark Pritchard;11;Shropshire;65942;22579;11836;1959;7620;1443;0;0;0
527
+ Wycombe;Steven Baker;14;Buckinghamshire;76371;26444;11588;4546;5198;3086;0;0;577
528
+ Wyre and Preston North;Ben Wallace;5;Lancashire;70697;26528;12377;2712;6577;1699;0;0;0
529
+ Wyre Forest;Mark Garnier;11;Hereford and Worcestershire;77451;22394;9523;1228;7967;1117;0;7211;0
530
+ Wythenshawe and Sale East;Mike Kane;6;Central Manchester;75980;11124;21693;1927;6354;1658;0;0;507
531
+ Yeovil;Marcus Fysh;18;Somerset;82446;24178;4053;18865;7646;2191;0;0;0
532
+ York Central;Rachael Maskell;7;North Yorkshire;75351;13496;20212;3804;4795;4791;0;0;579
533
+ York Outer;Julian Sturdy;7;North Yorkshire;78561;26477;13348;6269;5251;2558;0;0;0
534
+ Yorkshire East;Greg Knight;8;Humber area;81030;25276;10343;2966;8955;1731;0;0;720
535
+ Aberavon;Stephen Kinnock;12;West Glamorgan;49821;3742;15416;1397;4971;711;3663;1137;486
536
+ Aberconwy;Guto Bebb;12;Clwyd;45540;12513;8514;1391;3467;727;3536;0;0
537
+ Alyn and Deeside;Mark Tami;12;Clwyd;62016;13197;16540;1733;7260;976;1608;0;0
538
+ Arfon;Hywel Williams;12;Gwynedd;40492;3521;8122;718;2277;0;11790;0;409
539
+ Blaenau Gwent;Nick Smith;12;Gwent;51332;3419;18380;620;5677;738;2849;0;0
540
+ Brecon and Radnorshire;Christopher Davies;12;Powys;54311;16453;5904;11351;3338;1261;1767;0;0
541
+ Bridgend;Madeleine Moon;12;Mid Glamorgan;59998;12697;14624;1648;5911;736;2784;763;290
542
+ Caerphilly;Wayne David;12;Gwent;62793;6683;17864;935;7791;937;5895;0;178
543
+ Cardiff Central;Jo Stevens;12;South Glamorgan;57454;5674;15462;10481;2499;2461;1925;0;144
544
+ Cardiff North;Craig Williams;12;South Glamorgan;67193;21709;19572;1953;3953;1254;2301;0;409
545
+ Cardiff South and Penarth;Stephen Doughty;12;South Glamorgan;75714;12513;19966;2318;6423;1746;3443;0;258
546
+ Cardiff West;Kevin Brennan;12;South Glamorgan;66758;11014;17803;2069;4923;1704;6096;0;183
547
+ Carmarthen East and Dinefwr;Jonathan Edwards;12;Dyfed;55750;8336;9541;928;4363;1091;15140;0;0
548
+ Carmarthen West and Pembrokeshire South;Simon Hart;12;Dyfed;57755;17626;11572;963;4698;1290;4201;0;0
549
+ Ceredigion;Mark Williams;12;Dyfed;54215;4123;3615;13414;3829;2088;10347;0;0
550
+ Clwyd South;Susan Elan Jones;12;Clwyd;54996;10649;13051;1349;5480;915;3620;0;0
551
+ Clwyd West;David Jones;12;Clwyd;58657;16463;9733;1387;4988;0;4651;0;806
552
+ Cynon Valley;Ann Clwyd;12;Mid Glamorgan;51421;3676;14532;830;4976;799;5126;0;533
553
+ Delyn;David Hanson;12;Clwyd;53639;12257;15187;1380;6150;680;1803;0;0
554
+ Dwyfor Meirionnydd;Liz Saville Roberts;12;Gwynedd;44395;6550;3904;1153;3126;981;11811;1388;0
555
+ Gower;Byron Davies;12;West Glamorgan;61820;15862;15835;1552;4773;1161;3051;0;524
556
+ Islwyn;Christopher Evans;12;Gwent;55075;5366;17336;950;6932;659;3794;0;364
557
+ Llanelli;Nia Griffith;12;Dyfed;59314;5534;15948;751;6269;689;8853;0;530
558
+ Merthyr Tydfil and Rhymney;Gerald Jones;12;Mid Glamorgan;61719;3292;17619;1351;6106;603;3099;459;186
559
+ Monmouth;David Davies;12;Gwent;65706;23701;12719;2496;4942;1629;1875;0;100
560
+ Montgomeryshire;Glyn Davies;12;Powys;48491;15204;1900;9879;3769;1260;1745;0;0
561
+ Neath;Christina Rees;12;West Glamorgan;56099;5691;16270;1173;6094;1185;6722;0;0
562
+ Newport East;Jessica Morden;12;Gwent;56018;9585;14290;2251;6466;887;1231;0;398
563
+ Newport West;Paul Flynn;12;Gwent;62145;13123;16633;1581;6134;1272;1604;0;0
564
+ Ogmore;Huw Irranca-Davies;12;Mid Glamorgan;55320;5620;18663;1072;5420;754;3556;0;165
565
+ Pontypridd;Owen Smith;12;Mid Glamorgan;58929;6569;15554;4904;5085;992;4348;0;430
566
+ Preseli Pembrokeshire;Stephen Crabb;12;Dyfed;57291;16383;11414;780;4257;1452;2518;3729;23
567
+ Rhondda;Chris Bryant;12;Mid Glamorgan;51809;2116;15976;474;3998;453;8521;0;0
568
+ Swansea East;Carolyn Harris;12;West Glamorgan;58011;5142;17807;1392;5779;0;3498;0;0
569
+ Swansea West;Geraint Davies;12;West Glamorgan;58776;7931;14967;3178;4744;1784;2266;0;286
570
+ Torfaen;Nick Thomas-Symonds;12;Gwent;61896;8769;16938;1271;7203;746;2169;697;144
571
+ Vale of Clwyd;James Davies;12;Clwyd;56505;13760;13523;915;4577;0;2486;0;0
572
+ Vale of Glamorgan;Alun Cairns;12;South Glamorgan;72187;23607;16727;1309;5489;1054;2869;0;238
573
+ Wrexham;Ian Lucas;12;Clwyd;50992;10350;12181;1735;5072;669;2501;0;211
574
+ Ynys Mon;Albert Owen;12;Gwynedd;49944;7393;10871;751;5121;0;10642;0;148
575
+ Aberdeen North;Kirsty Blackman;1;Grampian;67745;5304;11397;2050;0;0;24793;0;392
576
+ Aberdeen South;Callum McCaig;1;Grampian;68056;11087;12991;2252;897;964;20221;0;139
577
+ Aberdeenshire West and Kincardine;Stuart Donaldson;1;Grampian;73445;15916;2487;11812;1006;885;22949;0;141
578
+ Airdrie and Shotts;Neil Gray;2;Glasgow area;66715;3389;15108;678;1088;0;23887;0;136
579
+ Angus;Michael Weir;1;Tayside;65792;12900;3919;1216;1355;965;24130;0;0
580
+ Argyll and Bute;Brendan O'Hara;2;Argyll and Bute;68875;7733;5394;14486;1311;0;22959;0;0
581
+ Ayr Carrick and Cumnock;Corri Wilson;2;Ayrshire and Lanark;72985;10355;14227;855;1280;0;25492;0;0
582
+ Ayrshire Central;Philippa Whitford;2;Ayrshire and Lanark;69982;8803;13410;917;0;645;26999;0;0
583
+ Ayrshire North and Arran;Patricia Gibson;2;Ayrshire and Lanark;75772;7968;15068;896;1296;0;28641;0;0
584
+ Banff and Buchan;Eilidh Whiteford;1;Grampian;68609;13148;2647;2347;0;0;27487;0;0
585
+ Berwickshire, Roxburgh and Selkirk;Calum Kerr;1;Borders;74179;19817;2700;10294;1316;631;20145;0;135
586
+ Caithness Sutherland and Easter Ross;Paul Monaghan;1;Highland;47558;2326;3061;11987;981;0;15831;0;0
587
+ Coatbridge, Chryston and Bellshill;Philip Boswell;2;Glasgow area;73813;3209;17195;549;1049;0;28696;0;0
588
+ Cumbernauld, Kilsyth and Kirkintilloch East;Stuart McDonald;2;Glasgow area;67009;3891;14820;1099;0;0;29572;0;0
589
+ Dumfries and Galloway;Richard Arkless;2;Dumfries and Galloway;75249;16926;13982;953;1301;0;23440;0;0
590
+ Dumfriesshire, Clydesdale and Tweeddale;David Mundell;2;Dumfries and Galloway;68483;20759;7711;1392;1472;839;19961;0;0
591
+ Dunbartonshire East;John Nicolson;2;Glasgow area;66966;4727;6754;19926;567;804;22093;0;0
592
+ Dunbartonshire West;Martin Docherty;2;Glasgow area;69193;3597;16027;816;0;0;30198;0;503
593
+ Dundee East;Stewart Hosie;1;Tayside;66960;7206;9603;1387;0;895;28765;0;329
594
+ Dundee West;Chris Law;1;Tayside;66287;3852;10592;1057;0;1225;27684;0;304
595
+ Dunfermline and West Fife;Douglas Chapman;1;Fife;78037;6623;17744;2232;0;1195;28096;0;0
596
+ East Kilbride, Strathaven and Lesmahagow;Lisa Cameron;2;Ayrshire and Lanark;83071;7129;17151;1042;1221;0;33678;0;318
597
+ East Lothian;George Kerevan;1;Edinburgh area;79481;11511;18301;1517;1178;1245;25104;0;158
598
+ Edinburgh East;Tommy Sheppard;1;Edinburgh area;66178;4670;14082;1325;898;2809;23188;0;117
599
+ Edinburgh North and Leith;Deidre Brock;1;Edinburgh area;80978;9378;18145;2634;847;3140;23742;0;122
600
+ Edinburgh South;Ian Murray;1;Edinburgh area;65846;8626;19293;1823;601;2090;16656;0;197
601
+ Edinburgh South West;Joanna Cherry;1;Edinburgh area;72178;10444;14033;1920;1072;1965;22168;0;0
602
+ Edinburgh West;Michelle Thomson;1;Edinburgh area;71749;6732;6425;18168;1015;1140;21378;0;0
603
+ Falkirk;John McNally;1;Central;83380;7325;15130;1225;1829;0;34831;0;0
604
+ Fife North East;Stephen Gethins;1;Fife;62003;7373;3476;14179;0;1387;18523;0;325
605
+ Glasgow Central;Alison Thewliss;2;Glasgow area;70945;2359;12996;612;786;1559;20658;0;348
606
+ Glasgow East;Natalie McGarry;2;Glasgow area;70378;2544;13729;318;1105;381;24116;0;224
607
+ Glasgow North;Patrick Grady;2;Glasgow area;58875;2901;10315;1012;486;2284;19610;0;314
608
+ Glasgow North East;Anne McLaughlin;2;Glasgow area;66678;1769;12754;300;0;615;21976;225;218
609
+ Glasgow North West;Carol Monaghan;2;Glasgow area;68418;3692;13544;1194;0;1167;23908;0;349
610
+ Glasgow South;Stewart McDonald;2;Glasgow area;74051;4752;14504;1019;0;1431;26773;0;299
611
+ Glasgow South West;Christopher Stephens;2;Glasgow area;66209;2036;13438;406;970;507;23388;0;176
612
+ Glenrothes;Peter Grant;1;Fife;69781;3685;14562;892;0;0;28459;0;0
613
+ Gordon;Alex Salmond;1;Grampian;79393;6807;3441;19030;1166;0;27717;0;0
614
+ Inverclyde;Ronnie Cowan;2;Glasgow area;59350;4446;13522;1106;715;0;24585;0;233
615
+ Inverness Nairn Badenoch and Strathspey;Drew Hendry;1;Highland;77268;3410;4311;18029;1236;1367;28838;0;422
616
+ Kilmarnock and Loudoun;Alan Brown;2;Ayrshire and Lanark;75233;6752;16362;789;0;0;30000;0;0
617
+ Kirkcaldy and Cowdenbeath;Roger Mullin;1;Fife;75941;5223;17654;1150;1237;0;27628;0;0
618
+ Lanark and Hamilton East;Angela Crawley;2;Ayrshire and Lanark;78846;8772;16876;1203;1431;0;26976;0;0
619
+ Linlithgow and East Falkirk;Martyn Day;1;Edinburgh area;86955;7384;19121;1252;1682;0;32055;0;103
620
+ Livingston;Hannah Bardell;1;Edinburgh area;82373;5929;15893;1232;1757;0;32736;0;0
621
+ Midlothian;Owen Thompson;1;Edinburgh area;67875;5760;14594;1132;1173;1219;24453;0;0
622
+ Moray;Angus Robertson;1;Grampian;71685;15319;4898;1395;1939;1345;24384;0;0
623
+ Motherwell and Wishaw;Marion Fellows;2;Glasgow area;70269;3695;15377;601;1289;0;27275;0;0
624
+ Na h-Eileanan An Iar (Western Isles);Angus MacNeil;1;Western Isles;21744;1215;4560;456;0;0;8662;1045;0
625
+ Ochil and South Perthshire;Tasmina Ahmed-Sheikh;1;Central;77370;11987;16452;1481;1331;0;26620;0;0
626
+ Orkney and Shetland;Alistair Carmichael;1;Orkney and Shetland;34551;2025;1624;9407;1082;0;8590;0;0
627
+ Paisley and Renfrewshire North;Gavin Newlands;2;Glasgow area;66206;6183;16525;1055;0;703;25601;0;395
628
+ Paisley and Renfrewshire South;Mhairi Black;2;Glasgow area;61281;3526;17864;1010;0;0;23548;0;278
629
+ Perth and North Perthshire;Peter Wishart;1;Tayside;72447;17738;4413;2059;1110;1146;27379;0;355
630
+ Renfrewshire East;Kirsten Oswald;2;Glasgow area;69982;12465;19295;1069;888;0;23013;0;0
631
+ Ross Skye and Lochaber;Ian Blackford;1;Highland;54169;2598;2043;14995;814;1051;20119;0;191
632
+ Rutherglen and Hamilton West;Margaret Ferrier;2;Ayrshire and Lanark;82701;4350;20304;1045;1301;0;30279;0;336
633
+ Stirling;Steven Paterson;1;Central;67236;12051;13303;1392;0;1606;23783;0;0
634
+ Antrim East;Sammy Wilson;3;Antrim;62810;6308;1639;12103;3660;0;2314;5021;2452
635
+ Antrim North;Ian Paisley Jr;3;Antrim;75874;5054;2925;18107;1341;0;5143;6561;2776
636
+ Antrim South;Danny Kinahan;3;Antrim;67423;11942;2990;10993;0;0;4699;3576;2323
637
+ Belfast East;Gavin Robinson;3;Antrim;63154;0;127;19575;0;1058;823;16978;1121
638
+ Belfast North;Nigel Dodds;3;Antrim;68552;0;3338;19096;0;0;13770;2941;1448
639
+ Belfast South;Dr Alasdair McDonnell;3;Antrim;64912;3549;9560;8654;1900;2238;5402;6711;943
640
+ Belfast West;Paul Maskey;3;Antrim;62685;1088;3475;2773;765;0;19163;6798;1267
641
+ Down North;Lady Sylvia Hermon;3;Down;64207;0;355;8487;1482;1958;273;17689;5703
642
+ Down South;Margaret Ritchie;3;Down;75215;3964;18077;3486;3044;0;12186;1622;318
643
+ Fermanagh and South Tyrone;Tom Elliott;3;Fermanagh;70106;23608;2732;0;0;788;23078;0;658
644
+ Foyle;Mark Durkan;3;Londonderry;70035;1226;17725;4573;832;0;11679;835;132
645
+ Lagan Valley;Jeffrey Donaldson;3;Antrim;71140;6055;2500;19055;2200;0;1144;5544;3297
646
+ Londonderry East;Gregory Campbell;3;Londonderry;66925;5333;4268;14663;0;0;6859;2642;949
647
+ Newry and Armagh;Mickey Brady;3;Armagh;77622;16312;12026;0;0;0;20488;0;1051
648
+ Strangford;Jim Shannon;3;Down;64286;4868;2335;15053;2237;0;876;4687;3868
649
+ Tyrone West;Pat Doherty;3;Tyrone;63854;6144;6444;6747;0;780;16807;869;863
650
+ Ulster Mid;Francie Molloy;3;Tyrone;67831;6318;5055;5465;863;0;19935;1892;1394
651
+ Upper Bann;David Simpson;3;Armagh;80052;13166;4238;15430;0;0;11593;1780;1012