Implement Australian Capital Territory STV

This commit is contained in:
RunasSudo 2021-07-22 20:31:06 +10:00
parent 12635decec
commit bea51611b0
Signed by: RunasSudo
GPG Key ID: 7234E476BF21C61A
10 changed files with 30387 additions and 40 deletions

View File

@ -6,29 +6,29 @@ The preset dropdown allows you to choose from a hardcoded list of preloaded STV
<table>
<tr><th>Method</th><th>Description</th><th>Exceptions</th><th>Validated against</th></tr>
<tr><td>OpenTally WIGM</td><td>A recommended set of simple STV rules designed for computer counting, using the weighted inclusive Gregory method and rational arithmetic.</td><td></td><td></td></tr>
<tr><td>OpenTally WIGM</td><td>Recommended set of simple STV rules designed for computer counting, using the weighted inclusive Gregory method and rational arithmetic.</td><td></td><td></td></tr>
<tr><td>Scottish STV</td><td>Rules from the <a href="https://www.legislation.gov.uk/ssi/2011/399/schedule/1/made"><i>Scottish Local Government Elections Order 2011</i></a>, using the weighted inclusive Gregory method.</td><td></td><td><a href="https://web.archive.org/web/20121004213938/http://www.glasgow.gov.uk/en/YourCouncil/Elections_Voting/Election_Results/ElectionScotland2007/LGWardResults.htm?ward=1&wardname=1%20-%20Linn">2007 Linn ward local election</a> (eSTV 2.0.16)</td></tr>
<tr><td>Meek STV</td><td>Advanced STV rules designed for computer counting, recognised by the Proportional Representation Society of Australia (Victoria–Tasmania) as the superior STV system.</td><td></td><td></td></tr>
<tr><td>&bullet; OpenTally Meek</td><td>Operates according to the original 1987 Hill–Wichmann–Woodall <a href="https://www.dia.govt.nz/diawebsite.NSF/Files/meekm/%24file/meekm.pdf">‘Algorithm 123’</a> specification of Meek STV, except that (a) ties are broken backwards then at random, (b) fixed-point arithmetic with 5 decimal places is used, and (c) candidates are elected on strictly exceeding the quota.</td><td></td><td><a href="https://yingtongli.me/blog/2021/01/04/ers97.html">Ballot papers derived from the ERS97 model election</a> (Hill–Wichmann–Woodall implementation)</td></tr>
<tr><td>&bullet; Meek STV (2006)</td><td>Operates according to <a href="http://www.votingmatters.org.uk/ISSUE22/I22P2.pdf">Hill's 2006 revisions</a>. This is the algorithm referred to in OpenSTV/OpaVote as ‘Meek STV’, and forms the basis of New Zealand's Meek STV rules.</td><td>[E1]</td><td><a href="https://yingtongli.me/blog/2021/01/04/ers97.html">Ballot papers derived from the ERS97 model election</a> (<a href="https://github.com/Conservatory/openstv">OpenSTV 1.7</a>)</td></tr>
<tr><td>&bullet; Meek STV (New Zealand)</td><td>Operates according to Schedule 1A of the <a href="https://www.legislation.govt.nz/regulation/public/2001/0145/latest/DLM57125.html"><i>Local Electoral Regulations 2001</i></a>.</td><td>[E1]</td><td><a href="https://yingtongli.me/blog/2021/01/04/ers97.html">Ballot papers derived from the ERS97 model election</a> (OpenSTV 1.7, <a href="https://yingtongli.me/blog/2021/07/08/nzmeek.html">Hill's nzmeek 6.7.7</a>)</td></tr>
<tr><td>&bullet; OpenTally Meek</td><td>Recommended rules for Meek STV. Operates according to the original 1987 Hill–Wichmann–Woodall <a href="https://www.dia.govt.nz/diawebsite.NSF/Files/meekm/%24file/meekm.pdf">‘Algorithm 123’</a> specification (<i>The Computer Journal</i> 1987;30(3):277–81), except that (a) ties are broken backwards then at random, (b) fixed-point arithmetic with 5 decimal places is used, and (c) candidates are elected on strictly exceeding the quota.</td><td></td><td><a href="https://yingtongli.me/blog/2021/01/04/ers97.html">Ballot papers derived from the ERS97 model election</a> (Algorithm 123)</td></tr>
<tr><td>&bullet; Meek STV (2006)</td><td>Operates according to Hill's 2006 revisions (<a href="http://www.votingmatters.org.uk/ISSUE22/I22P2.pdf"><i>Voting Matters</i> 2006;(22):7–10</a>). This is the algorithm referred to in OpenSTV/OpaVote as ‘Meek STV’, and forms the basis of New Zealand's Meek STV rules.</td><td>[E1]</td><td>Ballot papers derived from the ERS97 model election (<a href="https://github.com/Conservatory/openstv">OpenSTV 1.7</a>)</td></tr>
<tr><td>&bullet; Meek STV (New Zealand)</td><td>Operates according to Schedule 1A of the <a href="https://www.legislation.govt.nz/regulation/public/2001/0145/latest/DLM57125.html"><i>Local Electoral Regulations 2001</i></a>.</td><td>[E1]</td><td>Ballot papers derived from the ERS97 model election (OpenSTV 1.7, <a href="https://yingtongli.me/blog/2021/07/08/nzmeek.html">Hill's nzmeek 6.7.7</a>)</td></tr>
<tr><td>Australian Senate STV</td><td>Rules from the <a href="https://www.legislation.gov.au/Details/C2020C00400/Html/Text#_Toc59107700"><i>Commonwealth Electoral Act 1918</i></a>, using the unweighted inclusive Gregory method.</td><td>[E2] [E3]</td><td><a href="https://results.aec.gov.au/24310/Website/SenateDownloadsMenu-24310-Csv.htm">2019 Tasmanian Senate election</a> (AEC EasyCount)</td></tr>
<tr><td>Western Australia STV</td><td>Rules from the <a href="https://www.legislation.wa.gov.au/legislation/prod/filestore.nsf/FileURL/mrdoc_29498.pdf/$FILE/Electoral Act 1907 - [17-a0-06].pdf"><i>Electoral Act 1907</i> (WA)</a>, using the weighted inclusive Gregory method.</td><td>[E2] [E3]</td><td></td></tr>
<tr><td>Australian Capital Territory STV</td><td>Rules from the <a href="https://www.legislation.act.gov.au/View/a/1992-71/current/PDF/1992-71.PDF"><i>Electoral Act 1992</i> (ACT)</a>, using the exclusive Gregory method.</td><td></td><td><a href="https://www.elections.act.gov.au/elections_and_voting/2020_legislative_assembly_election/ballot-paper-preference-data-2020-election">2020 Kurrajong territory election</a> (eVACS 2016)</td></tr>
<tr><td><a href="https://www.aph.gov.au/Parliamentary_Business/Committees/House_of_Representatives_Committees?url=em/elect07/subs/sub051.1.pdf">Wright STV</a></td><td>Rules proposed by Anthony van der Craats designed for computer counting, involving reset and re-iteration of the count after each candidate exclusion.</td><td></td><td><a href="https://www.eveonline.com/news/view/meet-the-new-council">EVE Online CSM 15 election</a> (<a href="https://github.com/ccpgames/ccp-wright-stv">EVE reference implementation</a>)</td></tr>
<tr><td><a href="https://www.prsa.org.au/rule1977.htm">PRSA 1977</a></td><td>Simple rules designed for hand counting, using the exclusive Gregory method, with counting performed in thousandths of a vote.</td><td></td><td><a href="https://www.prsa.org.au/example1.pdf">Example 1</a> of the PRSA's <a href="https://www.prsa.org.au/publicat.htm#p2"><i>Proportional Representation Manual</i></a></td></tr>
<tr><td><a href="https://www.electoral-reform.org.uk/latest-news-and-research/publications/how-to-conduct-an-election-by-the-single-transferable-vote-3rd-edition/">ERS97</a></td><td>More complex rules designed for hand counting, using the exclusive Gregory method.</td><td></td><td><a href="https://yingtongli.me/blog/2021/01/04/ers97.html">Ballot papers derived from the ERS97 model election</a></td></tr>
<tr><td><a href="https://www.electoral-reform.org.uk/latest-news-and-research/publications/how-to-conduct-an-election-by-the-single-transferable-vote-3rd-edition/">ERS97</a></td><td>More complex rules designed for hand counting, using the exclusive Gregory method.</td><td></td><td>Ballot papers derived from the ERS97 model election</td></tr>
<tr><td>&bullet; ERS76</td><td>Former rules from the 1976 2nd edition.</td><td>[E4]</td><td></td></tr>
<tr><td>&bullet; ERS73</td><td>Former rules from the 1973 1st edition.</td><td>[E4]</td><td></td></tr>
<tr><td>Church of England</td><td>Rules from the Church of England <a href="https://www.churchofengland.org/sites/default/files/2020-02/STV Rules 2020 - final.pdf"><i>Single Transferable Vote Rules 2020</i></a>, similar to ERS73.</td><td></td><td></td></tr>
</table>
[E1]: When generating random numbers, OpenTally uses a [deterministic random number generator based on SHA-256](rng.md), rather than the Wichmann–Hill(-based) algorithm.
Exceptions:
[E2]: When breaking ties forwards/backwards, OpenTally selects the candidate who had more/fewer votes at the first/last stage when *any* tied candidate had more/fewer votes than the others, rather than when each all had unequal votes.
[E3]: A tie between 2 candidates for the final vacancy will be broken backwards then at random, rather than the method described in the legislation.
[E4]: The quota is always calculated to 2 decimal places. For full ERS76 (ERS73) compliance, set *Round quota to 0 d.p.* when the quota is more than 100 (100 or more).
* [E1] When generating random numbers, OpenTally uses a [deterministic random number generator based on SHA-256](rng.md), rather than the Wichmann–Hill(-based) algorithm.
* [E2] When breaking ties forwards/backwards, OpenTally selects the candidate who had more/fewer votes at the first/last stage when *any* tied candidate had more/fewer votes than the others, rather than the method described in the legislation (when each all had unequal votes). The OpenTally developers regard the method described in the legislation as a defect. For an independent discussion, see <a href="https://dl.acm.org/doi/10.1145/3014812.3014837">Conway et al.</a>
* [E3] A tie between 2 candidates for the final vacancy will be broken backwards then at random, rather than the method described in the legislation.
* [E4] The quota is always calculated to 2 decimal places. For full ERS76 (ERS73) compliance, set *Round quota to 0 d.p.* when the quota is more than 100 (100 or more).
This functionality is not available on the command line.
@ -134,7 +134,7 @@ This file selector allows you to load a [CON file](con.md) specifying constraint
OpenTally applies constraints using the Grey–Fitzgerald method. Whenever a candidate is declared elected or excluded, any candidate who must be elected to secure a conformant result is deemed *guarded*, and any candidate who must not be elected to secure a conformant result is deemed *doomed*. Any candidate who is doomed is excluded at the next opportunity. Any candidate who is guarded is prevented from being excluded.
Multiple constraints are supported using the method described by Hill ([*Voting Matters* 1998;9(1):2–4](http://www.votingmatters.org.uk/ISSUE9/P1.HTM)) and Otten ([*Voting Matters* 2001;13(3):4–7](http://www.votingmatters.org.uk/ISSUE13/P3.HTM)).
Multiple constraints are supported using the method described by Hill ([*Voting Matters* 1998;(9):2–4](http://www.votingmatters.org.uk/ISSUE9/P1.HTM)) and Otten ([*Voting Matters* 2001;(13):4–7](http://www.votingmatters.org.uk/ISSUE13/P3.HTM)).
## Numeric representation

View File

@ -45,6 +45,7 @@
<option value="meeknz">Meek STV (New Zealand)</option>
<option value="senate">Australian Senate STV</option>
<option value="wa">Western Australia STV</option>
<option value="act">Australian Capital Territory STV</option>
<option value="wright">Wright STV</option>
<option value="prsa77">PRSA 1977</option>
<option value="ers97">ERS97</option>

View File

@ -508,6 +508,28 @@ function changePreset() {
document.getElementById('selPapers').value = 'both';
document.getElementById('selExclusion').value = 'by_source';
document.getElementById('selTies').value = 'backwards,random';
} else if (document.getElementById('selPreset').value === 'act') {
document.getElementById('selQuotaCriterion').value = 'geq';
document.getElementById('selQuota').value = 'droop';
document.getElementById('selQuotaMode').value = 'static';
document.getElementById('chkBulkElection').checked = false;
document.getElementById('chkBulkExclusion').checked = false;
document.getElementById('chkDeferSurpluses').checked = false;
document.getElementById('selNumbers').value = 'rational';
document.getElementById('txtPPDP').value = '2';
document.getElementById('chkNormaliseBallots').checked = false;
document.getElementById('chkRoundQuota').checked = true;
document.getElementById('txtRoundQuota').value = '0';
document.getElementById('chkRoundVotes').checked = true;
document.getElementById('txtRoundVotes').value = '6';
document.getElementById('chkRoundTVs').checked = false;
document.getElementById('chkRoundWeights').checked = false;
document.getElementById('selSumTransfers').value = 'single_step';
document.getElementById('selSurplus').value = 'by_order';
document.getElementById('selTransfers').value = 'eg';
document.getElementById('selPapers').value = 'transferable';
document.getElementById('selExclusion').value = 'by_value';
document.getElementById('selTies').value = 'backwards,random';
} else if (document.getElementById('selPreset').value === 'wright') {
document.getElementById('selQuotaCriterion').value = 'geq';
document.getElementById('selQuota').value = 'droop';

View File

@ -29,12 +29,12 @@ static mut FACTOR: Option<IBig> = None;
#[inline]
pub fn get_dps() -> usize {
unsafe { DPS.unwrap() }
unsafe { DPS.expect("Attempted Fixed arithmetic before dps set") }
}
#[inline]
fn get_factor() -> &'static IBig {
unsafe { FACTOR.as_ref().unwrap() }
unsafe { FACTOR.as_ref().expect("Attempted Fixed arithmetic before dps set") }
}
/// Fixed-point number

View File

@ -30,17 +30,17 @@ static mut FACTOR_CMP: Option<IBig> = None;
#[inline]
pub fn get_dps() -> usize {
unsafe { DPS.unwrap() }
unsafe { DPS.expect("Attempted GuardedFixed arithmetic before dps set") }
}
#[inline]
fn get_factor() -> &'static IBig {
unsafe { FACTOR.as_ref().unwrap() }
unsafe { FACTOR.as_ref().expect("Attempted GuardedFixed arithmetic before dps set") }
}
#[inline]
fn get_factor_cmp() -> &'static IBig {
unsafe { FACTOR_CMP.as_ref().unwrap() }
unsafe { FACTOR_CMP.as_ref().expect("Attempted GuardedFixed arithmetic before dps set") }
}
/// Guarded fixed-point number

51
tests/act.rs Normal file
View File

@ -0,0 +1,51 @@
/* OpenTally: Open-source election vote counting
* Copyright © 2021 Lee Yingtong Li (RunasSudo)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
mod utils;
use opentally::numbers::Rational;
use opentally::stv;
#[test]
fn act_kurrajong20_rational() {
let stv_opts = stv::STVOptions {
round_tvs: None,
round_weights: None,
round_votes: Some(6),
round_quota: Some(0),
sum_surplus_transfers: stv::SumSurplusTransfersMode::SingleStep,
meek_surplus_tolerance: String::new(),
normalise_ballots: false,
quota: stv::QuotaType::Droop,
quota_criterion: stv::QuotaCriterion::GreaterOrEqual,
quota_mode: stv::QuotaMode::Static,
ties: vec![],
surplus: stv::SurplusMethod::EG,
surplus_order: stv::SurplusOrder::ByOrder,
transferable_only: true,
exclusion: stv::ExclusionMethod::ByValue,
meek_nz_exclusion: false,
early_bulk_elect: false,
bulk_exclude: false,
defer_surpluses: false,
meek_immediate_elect: false,
constraints_path: None,
constraint_mode: stv::ConstraintMode::GuardDoom,
pp_decimals: 2,
};
utils::read_validate_election::<Rational>("tests/data/ACT2020Kurrajong.csv", "tests/data/ACT2020Kurrajong.blt", stv_opts, Some(6), &["exhausted", "lbf"]);
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,32 @@
Stage:,1,,2,,3,,4,,5,,6,,7,,8,,9,,10,,11,,12,,13,,14,,15,,16,,17,,18,,19,,20,,21,,22,,23,,24,,25,,26,,27,,28,,29,,30,,31,,32,,33,,34,,35,,36,,37,,38,,39,,40,,41,,42,,43,,44,,45,,46,,47,,48,,49,,50,,51,,52,,53,,54,,55,,56,,57,
Comment:,First preferences,,"Surplus of BARR, Andrew",,"Exclusion of WILLIAMS, Robyn",,"Exclusion of WILLIAMS, Robyn",,"Exclusion of HOPPER, Alvin",,"Exclusion of HOPPER, Alvin",,"Exclusion of JOHNSON, Petar",,"Exclusion of JOHNSON, Petar",,"Exclusion of DAMIANO, Marilena",,"Exclusion of DAMIANO, Marilena",,"Exclusion of FORNER, Sophia",,"Exclusion of FORNER, Sophia",,"Exclusion of RUTLEDGE-PRIOR, Serrin",,"Exclusion of RUTLEDGE-PRIOR, Serrin",,"Exclusion of HAYDON, John",,"Exclusion of HAYDON, John",,"Exclusion of O'HARA, Alix",,"Exclusion of O'HARA, Alix",,"Exclusion of BRYANT, Peta Anne",,"Exclusion of BRYANT, Peta Anne",,"Exclusion of SMITH, Julie",,"Exclusion of SMITH, Julie",,"Exclusion of ANGEL, Joy",,"Exclusion of ANGEL, Joy",,"Exclusion of GUMBER, Rattesh",,"Exclusion of GUMBER, Rattesh",,"Exclusion of BREWER, Michael",,"Exclusion of BREWER, Michael",,"Exclusion of PAINE, Bruce",,"Exclusion of PAINE, Bruce",,"Exclusion of FAULKNER, Therese",,"Exclusion of FAULKNER, Therese",,"Exclusion of BOISEN, Adriana",,"Exclusion of BOISEN, Adriana",,"Exclusion of ANDERSON, Judy",,"Exclusion of ANDERSON, Judy",,"Exclusion of JOHNSON, Robert",,"Exclusion of JOHNSON, Robert",,"Exclusion of BOHM, Tim",,"Exclusion of BOHM, Tim",,"Surplus of RATTENBURY, Shane",,"Exclusion of INGRAM, Jacob",,"Exclusion of INGRAM, Jacob",,"Exclusion of INGRAM, Jacob",,"Exclusion of PENTONY, Patrick",,"Exclusion of PENTONY, Patrick",,"Exclusion of PENTONY, Patrick",,"Exclusion of NORTHAM, Maddy",,"Exclusion of NORTHAM, Maddy",,"Exclusion of NORTHAM, Maddy",,"Surplus of STEPHEN-SMITH, Rachel",,"Exclusion of BURCH, Candice",,"Exclusion of BURCH, Candice",,"Exclusion of BURCH, Candice",,"Exclusion of BURCH, Candice",,"Surplus of LEE, Elizabeth",,Bulk election,
"BOISEN, Adriana",1250,H,1277.386971,H,1277.386971,H,1277.386971,H,1282.386971,H,1282.386971,H,1287.386971,H,1288.12055,H,1292.12055,H,1292.365076,H,1300.365076,H,1300.365076,H,1304.365076,H,1304.609602,H,1313.609602,H,1314.098655,H,1330.098655,H,1330.587708,H,1359.587708,H,1359.587708,H,1401.587708,H,1403.54392,H,1445.54392,H,1446.032973,H,1460.032973,H,1461.011079,H,1686.011079,H,1689.678977,H,1721.678977,H,1722.16803,H,1776.16803,H,1776.901609,H,37.901609,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"BREWER, Michael",904,H,930.408865,H,931.408865,H,931.897918,H,934.897918,H,934.897918,H,934.897918,H,934.897918,H,938.897918,H,938.897918,H,951.897918,H,952.142444,H,960.142444,H,960.142444,H,967.142444,H,967.631497,H,981.631497,H,982.12055,H,997.12055,H,997.609603,H,1027.609603,H,1027.854129,H,1066.854129,H,1068.076761,H,1071.076761,H,1071.076761,H,30.076761,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"RATTENBURY, Shane",6388,H,6703.439228,H,6704.439228,H,6704.928281,H,6711.928281,H,6712.417334,H,6718.417334,H,6718.906387,H,6724.906387,H,6725.150913,H,6735.150913,H,6735.884492,H,6748.884492,H,6749.862598,H,6761.862598,H,6763.08523,H,6819.08523,H,6822.753128,H,6853.753128,H,6854.242181,H,6946.242181,H,6948.442919,H,7020.442919,H,7023.13271,H,7034.13271,H,7034.621763,H,7298.621763,H,7302.534187,H,7373.534187,H,7374.756819,H,7487.756819,H,7490.935663,H,7978.935663,H,7985.293352,H,8078.293352,H,8097.121895,H,8133.121895,H,8134.83358,H,8728.83358,EL,8728.83358,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL
"VASSAROTTI, Rebecca",3093,H,3142.394359,H,3143.394359,H,3143.394359,H,3150.394359,H,3150.394359,H,3151.394359,H,3151.394359,H,3157.394359,H,3157.394359,H,3174.394359,H,3175.861518,H,3186.861518,H,3187.106044,H,3194.106044,H,3194.35057,H,3220.35057,H,3220.839623,H,3254.839623,H,3255.084149,H,3337.084149,H,3339.040361,H,3426.040361,H,3427.50752,H,3432.50752,H,3432.752046,H,3729.752046,H,3732.686364,H,3783.686364,H,3785.398049,H,3949.398049,H,3951.598787,H,4800.598787,H,4810.135321,H,4906.135321,H,4915.182802,H,4941.182802,H,4941.427328,H,5552.427328,H,5555.606172,H,5780.295592,H,6028.295592,H,6031.717258,H,6063.99476,H,6167.99476,H,6167.99476,H,6170.684551,H,6636.684551,H,6643.527883,H,6848.685644,H,7343.315104,H,7466.315104,H,7467.455659,H,7479.485935,H,7487.066257,H,8013.066257,H,8013.066257,EL
"HAYDON, John",365,H,370.379583,H,370.379583,H,370.868636,H,380.868636,H,381.113162,H,391.113162,H,392.091268,H,392.091268,H,392.091268,H,396.091268,H,396.091268,H,399.091268,H,399.091268,H,7.091268,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"ANGEL, Joy",435,H,440.868636,H,442.868636,H,443.357689,H,450.357689,H,450.602215,H,452.602215,H,452.602215,H,458.602215,H,458.602215,H,477.602215,H,478.580321,H,495.580321,H,495.580321,H,746.580321,H,748.292006,H,812.292006,H,813.514638,H,825.514638,H,825.514638,H,934.514638,H,936.226323,H,12.226323,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"GUMBER, Rattesh",929,H,934.379583,H,934.379583,H,934.379583,H,935.379583,H,935.868636,H,935.868636,H,935.868636,H,936.868636,H,936.868636,H,937.868636,H,937.868636,H,937.868636,H,937.868636,H,942.868636,H,942.868636,H,946.868636,H,946.868636,H,949.868636,H,950.357689,H,958.357689,H,958.602215,H,969.602215,H,969.602215,H,6.602215,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"BURCH, Candice",3978,H,4011.255608,H,4012.255608,H,4012.500134,H,4021.500134,H,4021.500134,H,4022.500134,H,4022.74466,H,4025.74466,H,4025.74466,H,4028.74466,H,4028.989186,H,4035.989186,H,4035.989186,H,4039.989186,H,4039.989186,H,4044.989186,H,4045.722765,H,4046.722765,H,4047.211818,H,4073.211818,H,4073.700871,H,4116.700871,H,4116.700871,H,4336.700871,H,4337.189924,H,4373.189924,H,4374.16803,H,4431.16803,H,4431.412556,H,4455.412556,H,4455.901609,H,4476.901609,H,4478.368768,H,4545.368768,H,4548.058559,H,5049.058559,H,5050.525718,H,5198.525718,H,5199.503824,H,5204.066045,H,5254.066045,H,5254.636322,H,5265.884542,H,6810.884542,H,6810.884542,H,6816.997705,H,6902.997705,H,6903.567982,H,6914.082622,H,6936.292363,H,100.292363,EX,,EX,,EX,0,EX,0,EX,0,EX
"LEE, Elizabeth",5040,H,5102.843319,H,5107.843319,H,5108.087845,H,5114.087845,H,5114.087845,H,5116.087845,H,5116.087845,H,5125.087845,H,5125.332371,H,5129.332371,H,5129.576897,H,5131.576897,H,5131.576897,H,5141.576897,H,5141.576897,H,5153.576897,H,5154.06595,H,5161.06595,H,5161.310476,H,5191.310476,H,5192.288582,H,5241.288582,H,5242.022161,H,5471.022161,H,5471.75574,H,5487.75574,H,5488.244793,H,5573.244793,H,5573.733846,H,5595.733846,H,5596.467425,H,5623.467425,H,5623.956478,H,5658.956478,H,5664.825114,H,6265.825114,H,6266.80322,H,6474.80322,H,6477.982064,H,6485.965952,H,6573.965952,H,6573.965952,H,6588.14849,H,8099.14849,H,8099.14849,H,8104.528073,H,8205.528073,H,8205.528073,H,8231.692412,H,8264.081618,H,14074.081618,EL,14074.081618,EL,14074.081618,EL,14074.081618,EL,8434,EL,8434,EL
"PENTONY, Patrick",2384,H,2402.584016,H,2402.584016,H,2402.584016,H,2406.584016,H,2406.584016,H,2407.584016,H,2407.584016,H,2409.584016,H,2409.828542,H,2411.828542,H,2411.828542,H,2412.828542,H,2413.073068,H,2415.073068,H,2415.073068,H,2416.073068,H,2416.317594,H,2418.317594,H,2418.806647,H,2425.806647,H,2426.051173,H,2446.051173,H,2446.051173,H,2645.051173,H,2645.540226,H,2658.540226,H,2659.029279,H,2708.029279,H,2708.029279,H,2715.029279,H,2715.273805,H,2722.273805,H,2722.518331,H,2739.518331,H,2740.496437,H,3338.496437,H,3339.963596,H,3445.963596,H,3446.208122,H,3447.348677,H,3525.348677,H,3525.348677,H,3532.684473,H,32.684473,EX,31.543918,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"JOHNSON, Robert",1628,H,1640.715379,H,1640.715379,H,1640.715379,H,1644.715379,H,1644.715379,H,1644.715379,H,1644.715379,H,1647.715379,H,1647.715379,H,1650.715379,H,1651.204432,H,1653.204432,H,1653.204432,H,1658.204432,H,1658.693485,H,1665.693485,H,1665.693485,H,1667.693485,H,1667.693485,H,1675.693485,H,1675.938011,H,1699.938011,H,1699.938011,H,1890.938011,H,1890.938011,H,1913.938011,H,1914.67159,H,1956.67159,H,1956.916116,H,1965.916116,H,1965.916116,H,1984.916116,H,1985.405169,H,2001.405169,H,2003.850434,H,17.850434,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"HOPPER, Alvin",108,H,109.467159,H,149.467159,H,149.467159,H,1.467159,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"WILLIAMS, Robyn",75,H,79.156951,H,4.156951,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"STEPHEN-SMITH, Rachel",2786,H,3708.354085,H,3709.354085,H,3709.354085,H,3717.354085,H,3717.354085,H,3723.354085,H,3723.598611,H,3725.598611,H,3725.843137,H,3731.843137,H,3732.33219,H,3734.33219,H,3734.33219,H,3745.33219,H,3745.576716,H,3748.576716,H,3750.288401,H,3755.288401,H,3756.02198,H,3782.02198,H,3783.489139,H,3806.489139,H,3807.467245,H,3838.467245,H,3838.711771,H,3851.711771,H,3853.667983,H,3893.667983,H,3894.890615,H,3952.890615,H,3953.868721,H,4050.868721,H,4056.981884,H,4559.981884,H,4669.285244,H,4692.285244,H,4694.485982,H,4923.485982,H,4928.865565,H,4960.230839,H,5936.230839,H,5938.511949,H,6214.582405,H,6270.582405,H,6270.582405,H,6275.228409,H,8983.228409,EL,8983.228409,EL,8983.228409,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL
"ANDERSON, Judy",1371,H,1655.384358,H,1657.384358,H,1657.384358,H,1658.384358,H,1658.384358,H,1659.384358,H,1660.117937,H,1660.117937,H,1660.362463,H,1667.362463,H,1667.362463,H,1676.362463,H,1676.851516,H,1677.851516,H,1678.096042,H,1681.096042,H,1681.829621,H,1687.829621,H,1687.829621,H,1708.829621,H,1709.318674,H,1717.318674,H,1718.29678,H,1725.29678,H,1726.030359,H,1765.030359,H,1769.431836,H,1793.431836,H,1793.920889,H,1827.920889,H,1829.388048,H,1862.388048,H,1865.077839,H,298.077839,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"BARR, Andrew",11148,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL,8434,EL
"INGRAM, Jacob",1736,H,2226.031173,H,2228.031173,H,2228.520226,H,2231.520226,H,2231.520226,H,2232.520226,H,2232.764752,H,2233.764752,H,2233.764752,H,2238.764752,H,2239.742858,H,2243.742858,H,2243.742858,H,2249.742858,H,2250.231911,H,2262.231911,H,2263.454543,H,2268.454543,H,2268.943596,H,2286.943596,H,2287.921702,H,2312.921702,H,2313.166228,H,2327.166228,H,2328.144334,H,2347.144334,H,2350.567705,H,2378.567705,H,2379.301284,H,2402.301284,H,2403.034863,H,2430.034863,H,2432.235601,H,2757.235601,H,2827.170189,H,2860.170189,H,2863.104507,H,3038.104507,H,3042.750511,H,3056.437176,H,594.437176,EX,580.750511,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"NORTHAM, Maddy",2172,H,2529.497792,H,2530.497792,H,2530.497792,H,2533.497792,H,2533.497792,H,2535.497792,H,2535.742318,H,2542.742318,H,2542.986844,H,2543.986844,H,2545.209476,H,2547.209476,H,2547.698529,H,2548.698529,H,2548.943055,H,2559.943055,H,2560.676634,H,2571.676634,H,2571.92116,H,2601.92116,H,2602.410213,H,2636.410213,H,2637.388319,H,2644.388319,H,2644.388319,H,2675.388319,H,2677.833584,H,2705.833584,H,2707.056216,H,2744.056216,H,2745.278848,H,2815.278848,H,2818.213166,H,3142.213166,H,3214.59302,H,3276.59302,H,3278.549232,H,3441.549232,H,3445.950709,H,3457.356263,H,4278.356263,H,4282.348207,H,4494.108185,H,4539.108185,H,4539.108185,H,4542.531556,H,679.531556,EX,664.134058,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"JOHNSON, Petar",156,H,164.313902,H,164.313902,H,164.313902,H,166.313902,H,166.313902,H,8.313902,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"FORNER, Sophia",209,H,218.781061,H,220.781061,H,220.781061,H,220.781061,H,220.781061,H,255.781061,H,256.270114,H,260.270114,H,260.270114,H,10.270114,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"O'HARA, Alix",195,H,208.448959,H,209.448959,H,209.448959,H,211.448959,H,211.448959,H,270.448959,H,272.160644,H,275.160644,H,275.160644,H,393.160644,H,394.383276,H,399.383276,H,399.872329,H,407.872329,H,408.116855,H,17.116855,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"BRYANT, Peta Anne",472,H,475.178844,H,475.178844,H,475.42337,H,485.42337,H,485.42337,H,489.42337,H,490.156949,H,500.156949,H,500.156949,H,501.156949,H,501.401475,H,504.401475,H,504.890528,H,514.890528,H,514.890528,H,536.890528,H,537.135054,H,5.135054,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"FAULKNER, Therese",901,H,912.003694,H,914.003694,H,914.737273,H,922.737273,H,922.737273,H,927.737273,H,928.470852,H,938.470852,H,938.470852,H,945.470852,H,945.715378,H,966.715378,H,966.715378,H,972.715378,H,972.959904,H,988.959904,H,989.448957,H,1180.448957,H,1180.93801,H,1221.93801,H,1222.182536,H,1312.182536,H,1313.160642,H,1319.160642,H,1319.405168,H,1344.405168,H,1345.872327,H,1493.872327,H,1494.36138,H,17.36138,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"BOHM, Tim",1173,H,1192.317596,H,1195.317596,H,1195.562122,H,1208.562122,H,1208.562122,H,1212.562122,H,1212.562122,H,1225.562122,H,1225.562122,H,1230.562122,H,1230.806648,H,1257.806648,H,1258.540227,H,1267.540227,H,1267.540227,H,1299.540227,H,1300.273806,H,1440.273806,H,1440.273806,H,1491.273806,H,1492.740965,H,1581.740965,H,1581.740965,H,1585.740965,H,1585.740965,H,1598.740965,H,1599.474544,H,1897.474544,H,1898.45265,H,2743.45265,H,2745.408862,H,2777.408862,H,2777.408862,H,2807.408862,H,2809.365074,H,2837.365074,H,2838.098653,H,29.098653,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"SMITH, Julie",447,H,457.270114,H,460.270114,H,460.270114,H,462.270114,H,462.270114,H,465.270114,H,466.003693,H,472.003693,H,472.003693,H,480.003693,H,481.226325,H,682.226325,H,683.93801,H,696.93801,H,697.182536,H,749.182536,H,751.627801,H,777.627801,H,777.872327,H,16.872327,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"RUTLEDGE-PRIOR, Serrin",343,H,349.113163,H,349.113163,H,349.113163,H,352.113163,H,352.113163,H,353.113163,H,353.113163,H,359.113163,H,359.113163,H,365.113163,H,365.113163,H,6.113163,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"PAINE, Bruce",693,H,699.602216,H,701.602216,H,701.602216,H,725.602216,H,725.602216,H,731.602216,H,731.602216,H,851.602216,H,853.313901,H,854.313901,H,854.313901,H,871.313901,H,871.313901,H,883.313901,H,883.802954,H,901.802954,H,902.292007,H,914.292007,H,914.292007,H,982.292007,H,982.78106,H,1106.78106,H,1106.78106,H,1115.78106,H,1116.025586,H,1117.025586,H,1118.003692,H,11.003692,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
"DAMIANO, Marilena",221,H,224.423371,H,227.423371,H,227.423371,H,230.423371,H,230.423371,H,232.423371,H,232.423371,H,3.423371,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
Exhausted,0,,0,,2,,2,,5,,5,,6,,6,,9,,9,,10,,10,,10,,10,,13,,13,,30,,30.489053,,30.489053,,30.489053,,102.489053,,103.467159,,247.467159,,248.934318,,261.934318,,262.667897,,288.667897,,290.135056,,444.135056,,445.602215,,532.602215,,536.025586,,605.025586,,610.405169,,671.405169,,676.051173,,754.051173,,758.208124,,1333.208124,,1340.299393,,1340.299393,,1541.299393,,1544.721059,,1572.597083,,1811.597083,,1812.737638,,1822.029646,,2324.029646,,2332.013534,,2754.310858,,2754.310858,,3657.310858,,3661.873079,,3672.052544,,3736.852075,,8850.933693,,8850.933693,
Loss by fraction,0,,0.000015,,0.000015,,0.000018,,0.000018,,0.000019,,0.000019,,0.000025,,0.000025,,0.000029,,0.000029,,0.000035,,0.000035,,0.000038,,0.000038,,0.000042,,0.000042,,0.000046,,0.000046,,0.000046,,0.000046,,0.000048,,0.000048,,0.000048,,0.000048,,0.000051,,0.000051,,0.000053,,0.000053,,0.000056,,0.000056,,0.000058,,0.000058,,0.00006,,0.00006,,0.000059,,0.000059,,0.00006,,0.00006,,0.00006,,0.000063,,0.000063,,0.000065,,0.000062,,0.000062,,0.000062,,0.00006,,0.00006,,0.000061,,0.000055,,0.000057,,0.000057,,,,,,0.00005,,0.00005,,0.00005,
1 Stage: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
2 Comment: First preferences Surplus of BARR, Andrew Exclusion of WILLIAMS, Robyn Exclusion of WILLIAMS, Robyn Exclusion of HOPPER, Alvin Exclusion of HOPPER, Alvin Exclusion of JOHNSON, Petar Exclusion of JOHNSON, Petar Exclusion of DAMIANO, Marilena Exclusion of DAMIANO, Marilena Exclusion of FORNER, Sophia Exclusion of FORNER, Sophia Exclusion of RUTLEDGE-PRIOR, Serrin Exclusion of RUTLEDGE-PRIOR, Serrin Exclusion of HAYDON, John Exclusion of HAYDON, John Exclusion of O'HARA, Alix Exclusion of O'HARA, Alix Exclusion of BRYANT, Peta Anne Exclusion of BRYANT, Peta Anne Exclusion of SMITH, Julie Exclusion of SMITH, Julie Exclusion of ANGEL, Joy Exclusion of ANGEL, Joy Exclusion of GUMBER, Rattesh Exclusion of GUMBER, Rattesh Exclusion of BREWER, Michael Exclusion of BREWER, Michael Exclusion of PAINE, Bruce Exclusion of PAINE, Bruce Exclusion of FAULKNER, Therese Exclusion of FAULKNER, Therese Exclusion of BOISEN, Adriana Exclusion of BOISEN, Adriana Exclusion of ANDERSON, Judy Exclusion of ANDERSON, Judy Exclusion of JOHNSON, Robert Exclusion of JOHNSON, Robert Exclusion of BOHM, Tim Exclusion of BOHM, Tim Surplus of RATTENBURY, Shane Exclusion of INGRAM, Jacob Exclusion of INGRAM, Jacob Exclusion of INGRAM, Jacob Exclusion of PENTONY, Patrick Exclusion of PENTONY, Patrick Exclusion of PENTONY, Patrick Exclusion of NORTHAM, Maddy Exclusion of NORTHAM, Maddy Exclusion of NORTHAM, Maddy Surplus of STEPHEN-SMITH, Rachel Exclusion of BURCH, Candice Exclusion of BURCH, Candice Exclusion of BURCH, Candice Exclusion of BURCH, Candice Surplus of LEE, Elizabeth Bulk election
3 BOISEN, Adriana 1250 H 1277.386971 H 1277.386971 H 1277.386971 H 1282.386971 H 1282.386971 H 1287.386971 H 1288.12055 H 1292.12055 H 1292.365076 H 1300.365076 H 1300.365076 H 1304.365076 H 1304.609602 H 1313.609602 H 1314.098655 H 1330.098655 H 1330.587708 H 1359.587708 H 1359.587708 H 1401.587708 H 1403.54392 H 1445.54392 H 1446.032973 H 1460.032973 H 1461.011079 H 1686.011079 H 1689.678977 H 1721.678977 H 1722.16803 H 1776.16803 H 1776.901609 H 37.901609 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
4 BREWER, Michael 904 H 930.408865 H 931.408865 H 931.897918 H 934.897918 H 934.897918 H 934.897918 H 934.897918 H 938.897918 H 938.897918 H 951.897918 H 952.142444 H 960.142444 H 960.142444 H 967.142444 H 967.631497 H 981.631497 H 982.12055 H 997.12055 H 997.609603 H 1027.609603 H 1027.854129 H 1066.854129 H 1068.076761 H 1071.076761 H 1071.076761 H 30.076761 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
5 RATTENBURY, Shane 6388 H 6703.439228 H 6704.439228 H 6704.928281 H 6711.928281 H 6712.417334 H 6718.417334 H 6718.906387 H 6724.906387 H 6725.150913 H 6735.150913 H 6735.884492 H 6748.884492 H 6749.862598 H 6761.862598 H 6763.08523 H 6819.08523 H 6822.753128 H 6853.753128 H 6854.242181 H 6946.242181 H 6948.442919 H 7020.442919 H 7023.13271 H 7034.13271 H 7034.621763 H 7298.621763 H 7302.534187 H 7373.534187 H 7374.756819 H 7487.756819 H 7490.935663 H 7978.935663 H 7985.293352 H 8078.293352 H 8097.121895 H 8133.121895 H 8134.83358 H 8728.83358 EL 8728.83358 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL
6 VASSAROTTI, Rebecca 3093 H 3142.394359 H 3143.394359 H 3143.394359 H 3150.394359 H 3150.394359 H 3151.394359 H 3151.394359 H 3157.394359 H 3157.394359 H 3174.394359 H 3175.861518 H 3186.861518 H 3187.106044 H 3194.106044 H 3194.35057 H 3220.35057 H 3220.839623 H 3254.839623 H 3255.084149 H 3337.084149 H 3339.040361 H 3426.040361 H 3427.50752 H 3432.50752 H 3432.752046 H 3729.752046 H 3732.686364 H 3783.686364 H 3785.398049 H 3949.398049 H 3951.598787 H 4800.598787 H 4810.135321 H 4906.135321 H 4915.182802 H 4941.182802 H 4941.427328 H 5552.427328 H 5555.606172 H 5780.295592 H 6028.295592 H 6031.717258 H 6063.99476 H 6167.99476 H 6167.99476 H 6170.684551 H 6636.684551 H 6643.527883 H 6848.685644 H 7343.315104 H 7466.315104 H 7467.455659 H 7479.485935 H 7487.066257 H 8013.066257 H 8013.066257 EL
7 HAYDON, John 365 H 370.379583 H 370.379583 H 370.868636 H 380.868636 H 381.113162 H 391.113162 H 392.091268 H 392.091268 H 392.091268 H 396.091268 H 396.091268 H 399.091268 H 399.091268 H 7.091268 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
8 ANGEL, Joy 435 H 440.868636 H 442.868636 H 443.357689 H 450.357689 H 450.602215 H 452.602215 H 452.602215 H 458.602215 H 458.602215 H 477.602215 H 478.580321 H 495.580321 H 495.580321 H 746.580321 H 748.292006 H 812.292006 H 813.514638 H 825.514638 H 825.514638 H 934.514638 H 936.226323 H 12.226323 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
9 GUMBER, Rattesh 929 H 934.379583 H 934.379583 H 934.379583 H 935.379583 H 935.868636 H 935.868636 H 935.868636 H 936.868636 H 936.868636 H 937.868636 H 937.868636 H 937.868636 H 937.868636 H 942.868636 H 942.868636 H 946.868636 H 946.868636 H 949.868636 H 950.357689 H 958.357689 H 958.602215 H 969.602215 H 969.602215 H 6.602215 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
10 BURCH, Candice 3978 H 4011.255608 H 4012.255608 H 4012.500134 H 4021.500134 H 4021.500134 H 4022.500134 H 4022.74466 H 4025.74466 H 4025.74466 H 4028.74466 H 4028.989186 H 4035.989186 H 4035.989186 H 4039.989186 H 4039.989186 H 4044.989186 H 4045.722765 H 4046.722765 H 4047.211818 H 4073.211818 H 4073.700871 H 4116.700871 H 4116.700871 H 4336.700871 H 4337.189924 H 4373.189924 H 4374.16803 H 4431.16803 H 4431.412556 H 4455.412556 H 4455.901609 H 4476.901609 H 4478.368768 H 4545.368768 H 4548.058559 H 5049.058559 H 5050.525718 H 5198.525718 H 5199.503824 H 5204.066045 H 5254.066045 H 5254.636322 H 5265.884542 H 6810.884542 H 6810.884542 H 6816.997705 H 6902.997705 H 6903.567982 H 6914.082622 H 6936.292363 H 100.292363 EX EX EX 0 EX 0 EX 0 EX
11 LEE, Elizabeth 5040 H 5102.843319 H 5107.843319 H 5108.087845 H 5114.087845 H 5114.087845 H 5116.087845 H 5116.087845 H 5125.087845 H 5125.332371 H 5129.332371 H 5129.576897 H 5131.576897 H 5131.576897 H 5141.576897 H 5141.576897 H 5153.576897 H 5154.06595 H 5161.06595 H 5161.310476 H 5191.310476 H 5192.288582 H 5241.288582 H 5242.022161 H 5471.022161 H 5471.75574 H 5487.75574 H 5488.244793 H 5573.244793 H 5573.733846 H 5595.733846 H 5596.467425 H 5623.467425 H 5623.956478 H 5658.956478 H 5664.825114 H 6265.825114 H 6266.80322 H 6474.80322 H 6477.982064 H 6485.965952 H 6573.965952 H 6573.965952 H 6588.14849 H 8099.14849 H 8099.14849 H 8104.528073 H 8205.528073 H 8205.528073 H 8231.692412 H 8264.081618 H 14074.081618 EL 14074.081618 EL 14074.081618 EL 14074.081618 EL 8434 EL 8434 EL
12 PENTONY, Patrick 2384 H 2402.584016 H 2402.584016 H 2402.584016 H 2406.584016 H 2406.584016 H 2407.584016 H 2407.584016 H 2409.584016 H 2409.828542 H 2411.828542 H 2411.828542 H 2412.828542 H 2413.073068 H 2415.073068 H 2415.073068 H 2416.073068 H 2416.317594 H 2418.317594 H 2418.806647 H 2425.806647 H 2426.051173 H 2446.051173 H 2446.051173 H 2645.051173 H 2645.540226 H 2658.540226 H 2659.029279 H 2708.029279 H 2708.029279 H 2715.029279 H 2715.273805 H 2722.273805 H 2722.518331 H 2739.518331 H 2740.496437 H 3338.496437 H 3339.963596 H 3445.963596 H 3446.208122 H 3447.348677 H 3525.348677 H 3525.348677 H 3532.684473 H 32.684473 EX 31.543918 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
13 JOHNSON, Robert 1628 H 1640.715379 H 1640.715379 H 1640.715379 H 1644.715379 H 1644.715379 H 1644.715379 H 1644.715379 H 1647.715379 H 1647.715379 H 1650.715379 H 1651.204432 H 1653.204432 H 1653.204432 H 1658.204432 H 1658.693485 H 1665.693485 H 1665.693485 H 1667.693485 H 1667.693485 H 1675.693485 H 1675.938011 H 1699.938011 H 1699.938011 H 1890.938011 H 1890.938011 H 1913.938011 H 1914.67159 H 1956.67159 H 1956.916116 H 1965.916116 H 1965.916116 H 1984.916116 H 1985.405169 H 2001.405169 H 2003.850434 H 17.850434 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
14 HOPPER, Alvin 108 H 109.467159 H 149.467159 H 149.467159 H 1.467159 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
15 WILLIAMS, Robyn 75 H 79.156951 H 4.156951 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
16 STEPHEN-SMITH, Rachel 2786 H 3708.354085 H 3709.354085 H 3709.354085 H 3717.354085 H 3717.354085 H 3723.354085 H 3723.598611 H 3725.598611 H 3725.843137 H 3731.843137 H 3732.33219 H 3734.33219 H 3734.33219 H 3745.33219 H 3745.576716 H 3748.576716 H 3750.288401 H 3755.288401 H 3756.02198 H 3782.02198 H 3783.489139 H 3806.489139 H 3807.467245 H 3838.467245 H 3838.711771 H 3851.711771 H 3853.667983 H 3893.667983 H 3894.890615 H 3952.890615 H 3953.868721 H 4050.868721 H 4056.981884 H 4559.981884 H 4669.285244 H 4692.285244 H 4694.485982 H 4923.485982 H 4928.865565 H 4960.230839 H 5936.230839 H 5938.511949 H 6214.582405 H 6270.582405 H 6270.582405 H 6275.228409 H 8983.228409 EL 8983.228409 EL 8983.228409 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL
17 ANDERSON, Judy 1371 H 1655.384358 H 1657.384358 H 1657.384358 H 1658.384358 H 1658.384358 H 1659.384358 H 1660.117937 H 1660.117937 H 1660.362463 H 1667.362463 H 1667.362463 H 1676.362463 H 1676.851516 H 1677.851516 H 1678.096042 H 1681.096042 H 1681.829621 H 1687.829621 H 1687.829621 H 1708.829621 H 1709.318674 H 1717.318674 H 1718.29678 H 1725.29678 H 1726.030359 H 1765.030359 H 1769.431836 H 1793.431836 H 1793.920889 H 1827.920889 H 1829.388048 H 1862.388048 H 1865.077839 H 298.077839 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
18 BARR, Andrew 11148 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL 8434 EL
19 INGRAM, Jacob 1736 H 2226.031173 H 2228.031173 H 2228.520226 H 2231.520226 H 2231.520226 H 2232.520226 H 2232.764752 H 2233.764752 H 2233.764752 H 2238.764752 H 2239.742858 H 2243.742858 H 2243.742858 H 2249.742858 H 2250.231911 H 2262.231911 H 2263.454543 H 2268.454543 H 2268.943596 H 2286.943596 H 2287.921702 H 2312.921702 H 2313.166228 H 2327.166228 H 2328.144334 H 2347.144334 H 2350.567705 H 2378.567705 H 2379.301284 H 2402.301284 H 2403.034863 H 2430.034863 H 2432.235601 H 2757.235601 H 2827.170189 H 2860.170189 H 2863.104507 H 3038.104507 H 3042.750511 H 3056.437176 H 594.437176 EX 580.750511 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
20 NORTHAM, Maddy 2172 H 2529.497792 H 2530.497792 H 2530.497792 H 2533.497792 H 2533.497792 H 2535.497792 H 2535.742318 H 2542.742318 H 2542.986844 H 2543.986844 H 2545.209476 H 2547.209476 H 2547.698529 H 2548.698529 H 2548.943055 H 2559.943055 H 2560.676634 H 2571.676634 H 2571.92116 H 2601.92116 H 2602.410213 H 2636.410213 H 2637.388319 H 2644.388319 H 2644.388319 H 2675.388319 H 2677.833584 H 2705.833584 H 2707.056216 H 2744.056216 H 2745.278848 H 2815.278848 H 2818.213166 H 3142.213166 H 3214.59302 H 3276.59302 H 3278.549232 H 3441.549232 H 3445.950709 H 3457.356263 H 4278.356263 H 4282.348207 H 4494.108185 H 4539.108185 H 4539.108185 H 4542.531556 H 679.531556 EX 664.134058 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
21 JOHNSON, Petar 156 H 164.313902 H 164.313902 H 164.313902 H 166.313902 H 166.313902 H 8.313902 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
22 FORNER, Sophia 209 H 218.781061 H 220.781061 H 220.781061 H 220.781061 H 220.781061 H 255.781061 H 256.270114 H 260.270114 H 260.270114 H 10.270114 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
23 O'HARA, Alix 195 H 208.448959 H 209.448959 H 209.448959 H 211.448959 H 211.448959 H 270.448959 H 272.160644 H 275.160644 H 275.160644 H 393.160644 H 394.383276 H 399.383276 H 399.872329 H 407.872329 H 408.116855 H 17.116855 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
24 BRYANT, Peta Anne 472 H 475.178844 H 475.178844 H 475.42337 H 485.42337 H 485.42337 H 489.42337 H 490.156949 H 500.156949 H 500.156949 H 501.156949 H 501.401475 H 504.401475 H 504.890528 H 514.890528 H 514.890528 H 536.890528 H 537.135054 H 5.135054 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
25 FAULKNER, Therese 901 H 912.003694 H 914.003694 H 914.737273 H 922.737273 H 922.737273 H 927.737273 H 928.470852 H 938.470852 H 938.470852 H 945.470852 H 945.715378 H 966.715378 H 966.715378 H 972.715378 H 972.959904 H 988.959904 H 989.448957 H 1180.448957 H 1180.93801 H 1221.93801 H 1222.182536 H 1312.182536 H 1313.160642 H 1319.160642 H 1319.405168 H 1344.405168 H 1345.872327 H 1493.872327 H 1494.36138 H 17.36138 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
26 BOHM, Tim 1173 H 1192.317596 H 1195.317596 H 1195.562122 H 1208.562122 H 1208.562122 H 1212.562122 H 1212.562122 H 1225.562122 H 1225.562122 H 1230.562122 H 1230.806648 H 1257.806648 H 1258.540227 H 1267.540227 H 1267.540227 H 1299.540227 H 1300.273806 H 1440.273806 H 1440.273806 H 1491.273806 H 1492.740965 H 1581.740965 H 1581.740965 H 1585.740965 H 1585.740965 H 1598.740965 H 1599.474544 H 1897.474544 H 1898.45265 H 2743.45265 H 2745.408862 H 2777.408862 H 2777.408862 H 2807.408862 H 2809.365074 H 2837.365074 H 2838.098653 H 29.098653 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
27 SMITH, Julie 447 H 457.270114 H 460.270114 H 460.270114 H 462.270114 H 462.270114 H 465.270114 H 466.003693 H 472.003693 H 472.003693 H 480.003693 H 481.226325 H 682.226325 H 683.93801 H 696.93801 H 697.182536 H 749.182536 H 751.627801 H 777.627801 H 777.872327 H 16.872327 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
28 RUTLEDGE-PRIOR, Serrin 343 H 349.113163 H 349.113163 H 349.113163 H 352.113163 H 352.113163 H 353.113163 H 353.113163 H 359.113163 H 359.113163 H 365.113163 H 365.113163 H 6.113163 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
29 PAINE, Bruce 693 H 699.602216 H 701.602216 H 701.602216 H 725.602216 H 725.602216 H 731.602216 H 731.602216 H 851.602216 H 853.313901 H 854.313901 H 854.313901 H 871.313901 H 871.313901 H 883.313901 H 883.802954 H 901.802954 H 902.292007 H 914.292007 H 914.292007 H 982.292007 H 982.78106 H 1106.78106 H 1106.78106 H 1115.78106 H 1116.025586 H 1117.025586 H 1118.003692 H 11.003692 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
30 DAMIANO, Marilena 221 H 224.423371 H 227.423371 H 227.423371 H 230.423371 H 230.423371 H 232.423371 H 232.423371 H 3.423371 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX 0 EX
31 Exhausted 0 0 2 2 5 5 6 6 9 9 10 10 10 10 13 13 30 30.489053 30.489053 30.489053 102.489053 103.467159 247.467159 248.934318 261.934318 262.667897 288.667897 290.135056 444.135056 445.602215 532.602215 536.025586 605.025586 610.405169 671.405169 676.051173 754.051173 758.208124 1333.208124 1340.299393 1340.299393 1541.299393 1544.721059 1572.597083 1811.597083 1812.737638 1822.029646 2324.029646 2332.013534 2754.310858 2754.310858 3657.310858 3661.873079 3672.052544 3736.852075 8850.933693 8850.933693
32 Loss by fraction 0 0.000015 0.000015 0.000018 0.000018 0.000019 0.000019 0.000025 0.000025 0.000029 0.000029 0.000035 0.000035 0.000038 0.000038 0.000042 0.000042 0.000046 0.000046 0.000046 0.000046 0.000048 0.000048 0.000048 0.000048 0.000051 0.000051 0.000053 0.000053 0.000056 0.000056 0.000058 0.000058 0.00006 0.00006 0.000059 0.000059 0.00006 0.00006 0.00006 0.000063 0.000063 0.000065 0.000062 0.000062 0.000062 0.00006 0.00006 0.000061 0.000055 0.000057 0.000057 0.00005 0.00005 0.00005

Binary file not shown.

View File

@ -88,11 +88,11 @@ where
assert_eq!(stv::count_one_stage(&mut state, &stv_opts).unwrap(), false);
stage_num += 1;
}
validate_stage(idx, &state, &records, cmp_dps, sum_rows);
validate_stage(idx, stage_num, &state, &records, cmp_dps, sum_rows);
}
}
fn validate_stage<N: Number>(idx: usize, state: &CountState<N>, records: &Vec<StringRecord>, cmp_dps: Option<usize>, sum_rows: &[&str])
fn validate_stage<N: Number>(idx: usize, stage_num: usize, state: &CountState<N>, records: &Vec<StringRecord>, cmp_dps: Option<usize>, sum_rows: &[&str])
where
for<'r> &'r N: ops::Add<&'r N, Output=N>,
{
@ -109,31 +109,30 @@ where
.map(|r| if r[idx*2 + 1].len() > 0 { Some(N::parse(&r[idx*2 + 1])) } else { None })
.collect();
// Validate candidate votes
for (candidate, votes) in state.election.candidates.iter().zip(candidate_votes.iter()) {
let count_card = state.candidates.get(candidate).unwrap();
if votes.is_some() {
approx_eq(&count_card.votes, votes.as_ref().unwrap(), cmp_dps, stage_num, &format!("votes for candidate {}", candidate.name));
}
}
// Validate exhausted/LBF
for kind in sum_rows.iter().rev() {
let votes = candidate_votes.pop().unwrap_or(None);
if let Some(votes) = votes {
match kind {
&"exhausted" => approx_eq(&state.exhausted.votes, &votes, cmp_dps, idx, "exhausted votes"),
&"lbf" => approx_eq(&state.loss_fraction.votes, &votes, cmp_dps, idx, "LBF"),
&"nt" => approx_eq(&(&state.exhausted.votes + &state.loss_fraction.votes), &votes, cmp_dps, idx, "NTs"),
&"quota" => approx_eq(state.quota.as_ref().unwrap(), &votes, cmp_dps, idx, "quota"),
//&"vre" => approx_eq(state.vote_required_election.as_ref().unwrap(), &votes, cmp_dps, idx, "VRE"),
&"vre" => approx_eq(state.vote_required_election.as_ref().unwrap(), &votes, Some(2), idx, "VRE"),
&"exhausted" => approx_eq(&state.exhausted.votes, &votes, cmp_dps, stage_num, "exhausted votes"),
&"lbf" => approx_eq(&state.loss_fraction.votes, &votes, cmp_dps, stage_num, "LBF"),
&"nt" => approx_eq(&(&state.exhausted.votes + &state.loss_fraction.votes), &votes, cmp_dps, stage_num, "NTs"),
&"quota" => approx_eq(state.quota.as_ref().unwrap(), &votes, cmp_dps, stage_num, "quota"),
//&"vre" => approx_eq(state.vote_required_election.as_ref().unwrap(), &votes, cmp_dps, stage_num, "VRE"),
&"vre" => approx_eq(state.vote_required_election.as_ref().unwrap(), &votes, Some(2), stage_num, "VRE"),
_ => panic!("Unknown sum_rows"),
}
}
}
// Validate candidate votes
for (candidate, votes) in state.election.candidates.iter().zip(candidate_votes) {
let count_card = state.candidates.get(candidate).unwrap();
if votes.is_some() {
let votes = votes.unwrap();
approx_eq(&count_card.votes, &votes, cmp_dps, idx, &format!("votes for candidate {}", candidate.name));
}
}
// Validate candidate states
let mut candidate_states: Vec<&str> = records.iter().skip(2).map(|r| &r[idx*2 + 2]).collect();
candidate_states.truncate(candidate_states.len() - 2);
@ -143,26 +142,26 @@ where
if candidate_state == "" {
}
else if candidate_state == "H" {
assert!(count_card.state == CandidateState::Hopeful, "Unexpected state for \"{}\" at index {}", candidate.name, idx);
assert!(count_card.state == CandidateState::Hopeful, "Unexpected state for \"{}\" at stage {}", candidate.name, stage_num);
} else if candidate_state == "EL" || candidate_state == "PEL" {
assert!(count_card.state == CandidateState::Elected, "Unexpected state for \"{}\" at index {}", candidate.name, idx);
assert!(count_card.state == CandidateState::Elected, "Unexpected state for \"{}\" at stage {}", candidate.name, stage_num);
} else if candidate_state == "EX" || candidate_state == "EXCLUDING" {
assert!(count_card.state == CandidateState::Excluded, "Unexpected state for \"{}\" at index {}", candidate.name, idx);
assert!(count_card.state == CandidateState::Excluded, "Unexpected state for \"{}\" at stage {}", candidate.name, stage_num);
} else {
panic!("Unknown state descriptor {}", candidate_state);
}
}
}
fn approx_eq<N: Number>(n1: &N, n2: &N, cmp_dps: Option<usize>, idx: usize, description: &str) {
fn approx_eq<N: Number>(n1: &N, n2: &N, cmp_dps: Option<usize>, stage_num: usize, description: &str) {
match cmp_dps {
Some(dps) => {
let s1 = format!("{:.dps$}", n1, dps=dps);
let s2 = format!("{:.dps$}", n2, dps=dps);
assert!(s1 == s2, "Failed to verify {} for idx {}. Expected {}, got {}", description, idx, s2, s1);
assert!(s1 == s2, "Failed to verify {} for stage {}. Expected {}, got {}", description, stage_num, s2, s1);
}
None => {
assert!(n1 == n2, "Failed to verify {} for idx {}. Expected {}, got {}", description, idx, n2, n1);
assert!(n1 == n2, "Failed to verify {} for stage {}. Expected {}, got {}", description, stage_num, n2, n1);
}
}