Skip to content

Instantly share code, notes, and snippets.

@MasonChinkin
Last active August 14, 2018 22:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MasonChinkin/ad6a54dfe20ed276f9174ed48de022aa to your computer and use it in GitHub Desktop.
Save MasonChinkin/ad6a54dfe20ed276f9174ed48de022aa to your computer and use it in GitHub Desktop.
Congressional Map with variable length candidate list (zoom/pan)

####Congressional Map with variable length candidate list

What I discovered through making this is that its much easier to make a clean tooltip if you only include the D and R camdidates, but its a little trickier to include every candidate listed in the official records.

Notes:

  1. geographic anomalies you see (e.g. Key West) are present in the original Census Bureau shapefile

  2. Districts numbered "00" are "at large" districts that represent an entire state.

//Width and height
var w = container.offsetWidth;
var h = 500;
//define projection
var projection = d3.geoAlbers()
.scale(1000)
.translate([w / 2, h / 2]);
//define drag behavior
var zoom = d3.zoom()
.scaleExtent([0.5, 10])
.on('zoom', function(d) {
map.style("stroke-width", 1 / d3.event.transform.k + "px");
map.attr("transform", d3.event.transform);
});
// define path
var path = d3.geoPath()
.projection(projection);
//create SVG
var svg = d3.select('#container')
.append('svg')
.attr('width', w)
.attr('height', h)
.style('background', '#e8e8e8')
.style('border-style', 'solid')
.style('border-color', 'grey');
//create container for all pannable/zoomable elements
var map = svg.append('g');
svg.call(zoom);
//invisible rect for dragging on whitespace
map.append('rect')
.attr('x', 0)
.attr('y', 0)
.attr('width', w)
.attr('height', h)
.attr('opacity', 0);
d3.csv('congress_results_2016.csv', function(error, data) {
if (error) throw error;
//console.log(data)
d3.json('us_congress_2016_lower_48.json', function(error, json) {
if (error) throw error;
//console.log(json);
//loop through, merging ag data with map
for (var i = 0; i < data.length; i++) {
var dataDistrict = data[i].state_fips + '-' + data[i].district;
var dataDistrictWinner = data[i].winner;
var dataDistrictWinningParty = data[i].party;
var dataDistrictWinningMargin = parseFloat(data[i].general_perc);
var dataDistrictName = data[i].state + ' District ' + data[i].district;
var dataParty = data[i].party;
for (var j = 0; j < json.features.length; j++) {
var jsonDistrict = json.features[j].properties.STATEFP + '-' + json.features[j].properties.CD115FP;
if (dataDistrict == jsonDistrict && dataDistrictWinner == 'W') {
//copy the data from csv to json
json.features[j].properties.district = jsonDistrict;
json.features[j].properties.winningParty = dataDistrictWinningParty;
json.features[j].properties.winningMargin = dataDistrictWinningMargin;
json.features[j].properties.name = dataDistrictName;
//stop looking through json
break;
}
}
}
console.log(json);
//bind data and create one path per json feature (state)
map.selectAll('path')
.data(json.features)
.enter()
.append('path')
.attr("d", path)
.style('fill', stateFill)
.style('opacity', function(d) {
return d.properties.winningMargin;
})
.style('stroke', 'white')
.attr('class', function(d) { return d.properties.district })
.attr('name', function(d) { return d.properties.name })
.on('mouseover', function(d) {
d3.select(this)
.transition()
.duration(50)
.style('fill', 'orange');
// Define the div for the tooltip
tooltipDiv = d3.select("body").append("div")
.attr("class", "tooltip")
.style("opacity", 0)
.style("left", (d3.event.pageX + 20) + "px")
.style("top", (d3.event.pageY) + "px");
tooltipDiv.transition()
//.duration(200)
.style("opacity", .9);
thisJsonDistrict = d3.select(this).attr('class');
//console.log(thisJsonDistrict);
thisJsonDistrictName = d3.select(this).attr('name');
//console.log(thisJsonDistrict);
resultsString = ''
for (var i = 0; i < data.length; i++) {
thisDataDistrict = data[i].state_fips + '-' + data[i].district;
if (thisJsonDistrict == thisDataDistrict && data[i].candidate != 'Total Votes' && data[i].candidate != data[i - 1].candidate) {
resultsString = resultsString + ("<p>" + '(' + data[i].party + ') ' + data[i].candidate + ': ' + d3.format(".1%")(data[i].general_perc) + "</p>");
}
}
if (thisJsonDistrictName == null) { tooltipDiv.html('N/A') } else {
tooltipDiv.html("<strong>" + thisJsonDistrictName + "</strong>" + resultsString)
};
})
.on('mousemove', function(d) {
tooltipDiv.style("left", (d3.event.pageX + 20) + "px")
.style("top", (d3.event.pageY) + "px");
})
.on('mouseout', function(d) {
d3.select(this)
.transition()
.duration(100)
.style('fill', stateFill);
d3.selectAll('.tooltip')
.exit().remove();
tooltipDiv.transition()
//.duration(200)
.style("opacity", .0);
});
});
});
wLegend = w * 0.04;
hLegend = h * 0.6;
map.append('rect')
.attr("x", wLegend)
.attr("y", hLegend + 27)
.attr("width", 15)
.attr("height", 15)
.style("fill", 'blue')
map.append('rect')
.attr("x", wLegend)
.attr("y", hLegend + 27 + 30)
.attr("width", 15)
.attr("height", 15)
.style("fill", 'red')
map.append('rect')
.attr("x", wLegend)
.attr("y", hLegend + 27 + 60)
.attr("width", 15)
.attr("height", 15)
.style("fill", 'grey')
map.append('text')
.attr("x", wLegend + 20)
.attr("y", hLegend + 40)
//.attr("dy", ".35em")
.text("Democrat")
.attr("class", "legend")
map.append('text')
.attr("x", wLegend + 20)
.attr("y", hLegend + 70)
//.attr("dy", ".35em")
.text("Republican")
.attr("class", "legend")
map.append('text')
.attr("x", wLegend + 20)
.attr("y", hLegend + 100)
//.attr("dy", ".35em")
.text('Data Pending')
.attr("class", "legend")
//Source
map.append('text')
.attr("x", w * 0.85)
.attr("y", h * 0.95)
.attr("dy", "0em")
.text('Source: FEC')
.attr("class", "legend")
.attr('font-size', 14)
//define fill for all combo party names
var stateFill = function(d) {
if (d.properties.winningParty == 'R' || d.properties.winningParty == 'R/IP' || d.properties.winningParty == 'R/TRP') { return 'rgb(235,25,28)' };
if (d.properties.winningParty == 'D' || d.properties.winningParty == 'DFL' || d.properties.winningParty == 'D/IP' || d.properties.winningParty == 'D/R' || d.properties.winningParty == 'D/PRO/WF/IP') { return 'rgb(28,25,235)' }
if (d.properties.winningParty == null) { return 'grey' }
}
function getWidth() {
return Math.max(
document.body.scrollWidth,
document.documentElement.scrollWidth,
document.body.offsetWidth,
document.documentElement.offsetWidth,
document.documentElement.clientWidth
);
}
function getHeight() {
return Math.max(
document.body.scrollHeight,
document.documentElement.scrollHeight,
document.body.offsetHeight,
document.documentElement.offsetHeight,
document.documentElement.clientHeight
);
}
state_abr state_fips state district candidate_name_first candidate_name_last candidate party general_votes general_perc runoff_votes_LA_only runoff_perc_LA_only combined_general_votes_CT_NY_SC_only combined_general_perc_CT_NY_SC_only winner
AL 01 Alabama 01 Bradley Byrne Bradley Byrne R 208,083 0.963824672 W
AL 01 Alabama 01 Scattered Scattered W 7,810 0.036175328
AL 01 Alabama 01 Total Votes 215,893
AL 01 Alabama 02 Martha Roby Martha Roby R 134,886 0.487685477 W
AL 01 Alabama 02 Nathan Mathis Nathan Mathis D 112,089 0.405262054
AL 01 Alabama 02 Scattered Scattered W 29,609 0.107052469
AL 01 Alabama 02 Total Votes 276,584
AL 01 Alabama 03 Mike Rogers Mike Rogers R 192,164 0.669318435 W
AL 01 Alabama 03 Jesse Smith Jesse Smith D 94,549 0.329319689
AL 01 Alabama 03 Scattered Scattered W 391 0.001361876
AL 01 Alabama 03 Total Votes 287,104
AL 01 Alabama 04 Robert Aderholt Robert Aderholt R 235,925 0.985303453 W
AL 01 Alabama 04 Scattered Scattered W 3,519 0.014696547
AL 01 Alabama 04 Total Votes 239,444
AL 01 Alabama 05 Mo Brooks Mo Brooks R 205,647 0.666979107 W
AL 01 Alabama 05 Will, Jr. Boyd Will, Jr. Boyd D 102,234 0.331577616
AL 01 Alabama 05 Scattered Scattered W 445 0.001443278
AL 01 Alabama 05 Total Votes 308,326
AL 01 Alabama 06 Gary Palmer Gary Palmer R 245,313 0.744939357 W
AL 01 Alabama 06 David J. Putman David J. Putman D 83,709 0.254198223
AL 01 Alabama 06 Scattered Scattered W 284 0.00086242
AL 01 Alabama 06 Total Votes 329,306
AL 01 Alabama 07 Terri A. Sewell Terri A. Sewell D 229,330 0.984130662 W
AL 01 Alabama 07 Scattered Scattered W 3,698 0.015869338
AL 01 Alabama 07 Total Votes 233,028
AK 02 Alaska 00 Don Young Don Young R 155,088 0.503208976 W
AK 02 Alaska 00 Steve Lindbeck Steve Lindbeck D 111,019 0.360219729
AK 02 Alaska 00 Jim C. McDermott Jim C. McDermott LIB 31,770 0.103083083
AK 02 Alaska 00 Bernie Souphanavong Bernie Souphanavong NAF 9,093 0.029503761
AK 02 Alaska 00 Scattered Scattered W 1,228 0.003984452
AK 02 Alaska 00 Total Votes 308,198
AZ 04 Arizona 01 Tom O'Halleran Tom O'Halleran D 142,219 0.506640305 W
AZ 04 Arizona 01 Paul Babeu Paul Babeu R 121,745 0.433703822
AZ 04 Arizona 01 Ray Parrish Ray Parrish W(GRE)/GRE 16,746 0.059655873
AZ 04 Arizona 01 Total Votes 280,710
AZ 04 Arizona 02 Martha McSally Martha McSally R 179,806 0.569584926 W
AZ 04 Arizona 02 Matt Heinz Matt Heinz D 135,873 0.430415074
AZ 04 Arizona 02 Total Votes 315,679
AZ 04 Arizona 03 Raúl Grijalva Raúl Grijalva D 148,973 0.986347535 W
AZ 04 Arizona 03 Bill Abatecola Bill Abatecola W 1,303 0.008627139
AZ 04 Arizona 03 Jaime Vasquez Jaime Vasquez W 332 0.002198166
AZ 04 Arizona 03 Harvey Martin Harvey Martin W 283 0.001873738
AZ 04 Arizona 03 Federico Sanchez Federico Sanchez W 144 0.000953421
AZ 04 Arizona 03 Total Votes 151,035
AZ 04 Arizona 04 Paul Gosar Paul Gosar R 203,487 0.714533522 W
AZ 04 Arizona 04 Mikel Weisser Mikel Weisser D 81,296 0.285466478
AZ 04 Arizona 04 Total Votes 284,783
AZ 04 Arizona 05 Andy Biggs Andy Biggs R 205,184 0.640951631 W
AZ 04 Arizona 05 Talia Fuentes Talia Fuentes D 114,940 0.359048369
AZ 04 Arizona 05 Total Votes 320,124
AZ 04 Arizona 06 David Schweikert David Schweikert R 201,578 0.621302906 W
AZ 04 Arizona 06 W. John Williamson W. John Williamson D 122,866 0.378697094
AZ 04 Arizona 06 Total Votes 324,444
AZ 04 Arizona 07 Ruben Gallego Ruben Gallego D 119,465 0.752246381 W
AZ 04 Arizona 07 Eve Nunez Eve Nunez R 39,286 0.247375811
AZ 04 Arizona 07 Neil B. Westbrooks Neil B. Westbrooks W 60 0.000377808
AZ 04 Arizona 07 Total Votes 158,811
AZ 04 Arizona 08 Trent Franks Trent Franks R 204,942 0.685491235 W
AZ 04 Arizona 08 Mark Salazar Mark Salazar W(GRE)/GRE 93,954 0.314257905
AZ 04 Arizona 08 Hayden, III Keener Hayden, III Keener W 75 0.00025086
AZ 04 Arizona 08 Total Votes 298,971
AZ 04 Arizona 09 Kyrsten Sinema Kyrsten Sinema D 169,055 0.60919184 W
AZ 04 Arizona 09 Dave Giles Dave Giles R 108,350 0.390440601
AZ 04 Arizona 09 Cary Dolego Cary Dolego W 56 0.000201797
AZ 04 Arizona 09 Axel Bello Axel Bello W 46 0.000165762
AZ 04 Arizona 09 Total Votes 277,507
AR 05 Arkansas 01 Rick Crawford Rick Crawford R 183,866 0.762780703 W
AR 05 Arkansas 01 Mark West Mark West LIB 57,181 0.237219297
AR 05 Arkansas 01 Total Votes 241,047
AR 05 Arkansas 02 French Hill French Hill R 176,472 0.583447948 W
AR 05 Arkansas 02 Dianne Curry Dianne Curry D 111,347 0.368133067
AR 05 Arkansas 02 Chris Hayes Chris Hayes LIB 14,342 0.047417213
AR 05 Arkansas 02 Scattered Scattered W 303 0.001001772
AR 05 Arkansas 02 Total Votes 302,464
AR 05 Arkansas 03 Steve Womack Steve Womack R 217,192 0.77318116 W
AR 05 Arkansas 03 Steve Isaacson Steve Isaacson LIB 63,715 0.22681884
AR 05 Arkansas 03 Total Votes 280,907
AR 05 Arkansas 04 Bruce Westerman Bruce Westerman R 182,885 0.749040584 W
AR 05 Arkansas 04 Kerry Hicks Kerry Hicks LIB 61,274 0.250959416
AR 05 Arkansas 04 Total Votes 244,159
CA 06 California 01 Doug La Malfa Doug La Malfa R 185,448 0.590531022 W
CA 06 California 01 Jim Reed Jim Reed D 128,588 0.409468978
CA 06 California 01 Total Votes 314,036
CA 06 California 02 Jared W. Huffman Jared W. Huffman D 254,194 0.768500995 W
CA 06 California 02 Dale K. Mensing Dale K. Mensing R 76,572 0.231499005
CA 06 California 02 Total Votes 330,766
CA 06 California 03 John G. Garamendi John G. Garamendi D 152,513 0.593514317 W
CA 06 California 03 N. Eugene Cleek N. Eugene Cleek R 104,453 0.406485683
CA 06 California 03 Total Votes 256,966
CA 06 California 04 Tom McClintock Tom McClintock R 220,133 0.627198856 W
CA 06 California 04 Robert W. Derlet Robert W. Derlet D 130,845 0.372801144
CA 06 California 04 Total Votes 350,978
CA 06 California 05 Mike Thompson Mike Thompson D 224,526 0.768685102 W
CA 06 California 05 Carlos Santamaria Carlos Santamaria R 67,565 0.231314898
CA 06 California 05 Total Votes 292,091
CA 06 California 06 Doris Matsui Doris Matsui D 177,565 0.754270155 W
CA 06 California 06 Robert (Bob) Evans Robert (Bob) Evans R 57,848 0.245729845
CA 06 California 06 Total Votes 235,413
CA 06 California 07 Ami Bera Ami Bera D 152,133 0.511713718 W
CA 06 California 07 Scott R. Jones Scott R. Jones R 145,168 0.488286282
CA 06 California 07 Total Votes 297,301
CA 06 California 08 Paul Cook Paul Cook R 136,972 0.622580191 W
CA 06 California 08 Rita Ramirez Rita Ramirez D 83,035 0.377419809
CA 06 California 08 Total Votes 220,007
CA 06 California 09 Jerry McNerney Jerry McNerney D 133,163 0.573595227 W
CA 06 California 09 Antonio C. "Tony" Amador Antonio C. "Tony" Amador R 98,992 0.426404773
CA 06 California 09 Total Votes 232,155
CA 06 California 10 Jeff Denham Jeff Denham R 124,671 0.517004574 W
CA 06 California 10 Michael Eggman Michael Eggman D 116,470 0.482995426
CA 06 California 10 Total Votes 241,141
CA 06 California 11 Mark DeSaulnier Mark DeSaulnier D 214,868 0.72052822 W
CA 06 California 11 Roger Allen Petersen Roger Allen Petersen R 83,341 0.27947178
CA 06 California 11 Total Votes 298,209
CA 06 California 12 Nancy Pelosi Nancy Pelosi D 274,035 0.808732606 W
CA 06 California 12 Preston Picus Preston Picus NOP 64,810 0.191267394
CA 06 California 12 Total Votes 338,845
CA 06 California 13 Barbara Lee Barbara Lee D 293,117 0.907845548 W
CA 06 California 13 Sue Caro Sue Caro R 29,754 0.092154452
CA 06 California 13 Total Votes 322,871
CA 06 California 14 Jackie Speier Jackie Speier D 231,630 0.808631265 W
CA 06 California 14 Angel Cardenas Angel Cardenas W(R)/R 54,817 0.191368735
CA 06 California 14 Total Votes 286,447
CA 06 California 15 Eric Swalwell Eric Swalwell D 198,578 0.737667953 W
CA 06 California 15 Danny R. Turner Danny R. Turner R 70,619 0.262332047
CA 06 California 15 Total Votes 269,197
CA 06 California 16 Jim Costa Jim Costa D 97,473 0.580348425 W
CA 06 California 16 Johnny M. Tacherra Johnny M. Tacherra R 70,483 0.419651575
CA 06 California 16 Total Votes 167,956
CA 06 California 17 Ro Khanna Ro Khanna D 142,268 0.61008954 W
CA 06 California 17 Mike Honda Mike Honda D 90,924 0.38991046
CA 06 California 17 Total Votes 233,192
CA 06 California 18 Anna G. Eshoo Anna G. Eshoo D 230,460 0.711450005 W
CA 06 California 18 Richard B. Fox Richard B. Fox R 93,470 0.288549995
CA 06 California 18 Total Votes 323,930
CA 06 California 19 Zoe Lofgren Zoe Lofgren D 181,802 0.739444325 W
CA 06 California 19 G. Burt Lancaster G. Burt Lancaster R 64,061 0.260555675
CA 06 California 19 Total Votes 245,863
CA 06 California 20 Jimmy Panetta Jimmy Panetta D 180,980 0.707530758 W
CA 06 California 20 Casey Lucius Casey Lucius R 74,811 0.292469242
CA 06 California 20 Total Votes 255,791
CA 06 California 21 David Valadao David Valadao R 75,126 0.567382635 W
CA 06 California 21 Emilio Jesus Huerta Emilio Jesus Huerta D 57,282 0.432617365
CA 06 California 21 Total Votes 132,408
CA 06 California 22 Devin G. Nunes Devin G. Nunes R 158,755 0.675650945 W
CA 06 California 22 Louie J. Campos Louie J. Campos D 76,211 0.324349055
CA 06 California 22 Total Votes 234,966
CA 06 California 23 Kevin McCarthy Kevin McCarthy R 167,116 0.691751109 W
CA 06 California 23 Wendy Reed Wendy Reed D 74,468 0.308248891
CA 06 California 23 Total Votes 241,584
CA 06 California 24 Salud Carbajal Salud Carbajal D 166,034 0.534190867 W
CA 06 California 24 Justin Donald Fareed Justin Donald Fareed R 144,780 0.465809133
CA 06 California 24 Total Votes 310,814
CA 06 California 25 Steve Knight Steve Knight R 138,755 0.531300615 W
CA 06 California 25 Bryan Caforio Bryan Caforio D 122,406 0.468699385
CA 06 California 25 Total Votes 261,161
CA 06 California 26 Julia Brownley Julia Brownley D 169,248 0.603795125 W
CA 06 California 26 Rafael A. Dagnesses Rafael A. Dagnesses R 111,059 0.396204875
CA 06 California 26 Total Votes 280,307
CA 06 California 27 Judy Chu Judy Chu D 168,977 0.674203613 W
CA 06 California 27 Jack Orswell Jack Orswell R 81,655 0.325796387
CA 06 California 27 Total Votes 250,632
CA 06 California 28 Adam B. Schiff Adam B. Schiff D 210,883 0.779866794 W
CA 06 California 28 Lenore Solis Lenore Solis R 59,526 0.220133206
CA 06 California 28 Total Votes 270,409
CA 06 California 29 Tony Cardenas Tony Cardenas D 128,407 0.747317022 W
CA 06 California 29 Richard Alarcon Richard Alarcon D 43,417 0.252682978
CA 06 California 29 Total Votes 171,824
CA 06 California 30 Brad Sherman Brad Sherman D 205,279 0.726383915 W
CA 06 California 30 Mark Reed Mark Reed R 77,325 0.273616085
CA 06 California 30 Total Votes 282,604
CA 06 California 31 Pete Aguilar Pete Aguilar D 121,070 0.560675385 W
CA 06 California 31 Paul Chabot Paul Chabot R 94,866 0.439324615
CA 06 California 31 Total Votes 215,936
CA 06 California 32 Grace F. Napolitano Grace F. Napolitano D 114,926 0.615743172 W
CA 06 California 32 Roger Hernández Roger Hernández D 71,720 0.384256828
CA 06 California 32 Total Votes 186,646
CA 06 California 33 Ted W. Lieu Ted W. Lieu D 219,397 0.664398475 W
CA 06 California 33 Kenneth W. Wright Kenneth W. Wright R 110,822 0.335601525
CA 06 California 33 Total Votes 330,219
CA 06 California 34 Xavier Becerra Xavier Becerra D 122,842 0.771833924 W
CA 06 California 34 Adrienne Nicole Edwards Adrienne Nicole Edwards D 36,314 0.228166076
CA 06 California 34 Total Votes 159,156
CA 06 California 35 Norma J. Torres Norma J. Torres D 124,044 0.723909123 W
CA 06 California 35 Tyler Fischella Tyler Fischella R 47,309 0.276090877
CA 06 California 35 Total Votes 171,353
CA 06 California 36 Raul Ruiz Raul Ruiz D 144,348 0.620539341 W
CA 06 California 36 Jeff Stone Jeff Stone R 88,269 0.379460659
CA 06 California 36 Total Votes 232,617
CA 06 California 37 Karen Bass Karen Bass D 192,490 0.811263023 W
CA 06 California 37 Chris Blake Wiggins Chris Blake Wiggins D 44,782 0.188736977
CA 06 California 37 Total Votes 237,272
CA 06 California 38 Linda T. Sánchez Linda T. Sánchez D 163,590 0.704782995 W
CA 06 California 38 Ryan Downing Ryan Downing R 68,524 0.295217005
CA 06 California 38 Total Votes 232,114
CA 06 California 39 Ed Royce Ed Royce R 150,777 0.572304294 W
CA 06 California 39 Brett Murdock Brett Murdock D 112,679 0.427695706
CA 06 California 39 Total Votes 263,456
CA 06 California 40 Lucille Roybal-Allard Lucille Roybal-Allard D 106,554 0.713704897 W
CA 06 California 40 Roman Gabriel Gonzalez Roman Gabriel Gonzalez NOP 42,743 0.286295103
CA 06 California 40 Total Votes 149,297
CA 06 California 41 Mark Takano Mark Takano D 128,164 0.649513741 W
CA 06 California 41 Doug Shepherd Doug Shepherd R 69,159 0.350486259
CA 06 California 41 Total Votes 197,323
CA 06 California 42 Ken Calvert Ken Calvert R 149,547 0.58822118 W
CA 06 California 42 Tim Sheridan Tim Sheridan D 104,689 0.41177882
CA 06 California 42 Total Votes 254,236
CA 06 California 43 Maxine Waters Maxine Waters D 167,017 0.760842034 W
CA 06 California 43 Omar Navarro Omar Navarro R 52,499 0.239157966
CA 06 California 43 Total Votes 219,516
CA 06 California 44 Nanette Diaz Barragán Nanette Diaz Barragán D 93,124 0.521957481 W
CA 06 California 44 Isadore, III Hall Isadore, III Hall D 85,289 0.478042519
CA 06 California 44 Total Votes 178,413
CA 06 California 45 Mimi Walters Mimi Walters R 182,618 0.585597517 W
CA 06 California 45 Ron Varasteh Ron Varasteh D 129,231 0.414402483
CA 06 California 45 Total Votes 311,849
CA 06 California 46 Lou Correa Lou Correa D 115,248 0.700199887 W
CA 06 California 46 Bao Nguyen Bao Nguyen D 49,345 0.299800113
CA 06 California 46 Total Votes 164,593
CA 06 California 47 Alan Lowenthal Alan Lowenthal D 154,759 0.637214454 W
CA 06 California 47 Andy Whallon Andy Whallon R 88,109 0.362785546
CA 06 California 47 Total Votes 242,868
CA 06 California 48 Dana Rohrabacher Dana Rohrabacher R 178,701 0.583197353 W
CA 06 California 48 Suzanne Savary Suzanne Savary D 127,715 0.416802647
CA 06 California 48 Total Votes 306,416
CA 06 California 49 Darrell Issa Darrell Issa R 155,888 0.50261321 W
CA 06 California 49 Doug Applegate Doug Applegate D 154,267 0.49738679
CA 06 California 49 Total Votes 310,155
CA 06 California 50 Duncan Hunter Duncan Hunter R 179,937 0.634512647 W
CA 06 California 50 Patrick Malloy Patrick Malloy D 103,646 0.365487353
CA 06 California 50 Total Votes 283,583
CA 06 California 51 Juan Vargas Juan Vargas D 145,162 0.727541549 W
CA 06 California 51 Juan M., Jr. Hidalgo Juan M., Jr. Hidalgo R 54,362 0.272458451
CA 06 California 51 Total Votes 199,524
CA 06 California 52 Scott Peters Scott Peters D 181,253 0.565256848 W
CA 06 California 52 Denise Gitsham Denise Gitsham R 139,403 0.434743152
CA 06 California 52 Total Votes 320,656
CA 06 California 53 Susan A. Davis Susan A. Davis D 198,988 0.670092539 W
CA 06 California 53 James Veltmeyer James Veltmeyer R 97,968 0.329907461
CA 06 California 53 Total Votes 296,956
CO 08 Colorado 01 Diana DeGette Diana DeGette D 257,254 0.67870598 W
CO 08 Colorado 01 Charles "Casper" Stockham Charles "Casper" Stockham R 105,030 0.27709769
CO 08 Colorado 01 Darrell Dinges Darrell Dinges LIB 16,752 0.04419633
CO 08 Colorado 01 Total Votes 379,036
CO 08 Colorado 02 Jared Polis Jared Polis D 260,175 0.568922311 W
CO 08 Colorado 02 Nicholas Morse Nicholas Morse R 170,001 0.371739644
CO 08 Colorado 02 Richard Longstreth Richard Longstreth LIB 27,136 0.059338045
CO 08 Colorado 02 Total Votes 457,312
CO 08 Colorado 03 Scott R. Tipton Scott R. Tipton R 204,220 0.545988766 W
CO 08 Colorado 03 Gail Schwartz Gail Schwartz D 150,914 0.403473453
CO 08 Colorado 03 Kent Gaylon Kent Gaylon LIB 18,903 0.050537781
CO 08 Colorado 03 Total Votes 374,037
CO 08 Colorado 04 Ken Buck Ken Buck R 248,230 0.635452532 W
CO 08 Colorado 04 Bob Seay Bob Seay D 123,642 0.316515417
CO 08 Colorado 04 Bruce Griffith Bruce Griffith LIB 18,761 0.048026931
CO 08 Colorado 04 Donald Howbert Donald Howbert W 2 0.00000512
CO 08 Colorado 04 Total Votes 390,635
CO 08 Colorado 05 Doug Lamborn Doug Lamborn R 225,445 0.622580182 W
CO 08 Colorado 05 Misty Plowright Misty Plowright D 111,676 0.308400117
CO 08 Colorado 05 Mike McRedmond Mike McRedmond LIB 24,872 0.068685552
CO 08 Colorado 05 Curtis Imrie Curtis Imrie W 121 0.000334149
CO 08 Colorado 05 Total Votes 362,114
CO 08 Colorado 06 Mike Coffman Mike Coffman R 191,626 0.509079027 W
CO 08 Colorado 06 Morgan Carroll Morgan Carroll D 160,372 0.42604877
CO 08 Colorado 06 Norm Olsen Norm Olsen LIB 18,778 0.049886163
CO 08 Colorado 06 Robert Lee Worthey Robert Lee Worthey GRE 5,641 0.014986039
CO 08 Colorado 06 Total Votes 376,417
CO 08 Colorado 07 Ed Perlmutter Ed Perlmutter D 199,758 0.551802436 W
CO 08 Colorado 07 George Athanasopoulos George Athanasopoulos R 144,066 0.397961382
CO 08 Colorado 07 Martin L. Buchanan Martin L. Buchanan LIB 18,186 0.050236181
CO 08 Colorado 07 Total Votes 362,010
CT 09 Connecticut 01 John B. Larson John B. Larson D 200,686 0.641323001 200,686 64.13% W
CT 09 Connecticut 01 John B. Larson John B. Larson WF 200,686 0.641323001 200,686 64.13%
CT 09 Connecticut 01 Matthew M. Corey Matthew M. Corey R 105,674 0.337697531
CT 09 Connecticut 01 S. Michael DeRosa S. Michael DeRosa GRE 6,563 0.020973077
CT 09 Connecticut 01 Charles Jackson Charles Jackson W 1 0.0000032
CT 09 Connecticut 01 Mark Stewart Mark Stewart W 1 0.0000032
CT 09 Connecticut 01 Total Votes 312,925
CT 09 Connecticut 02 Joe Courtney Joe Courtney D 208,818 0.632289399 208,818 63.23% W
CT 09 Connecticut 02 Joe Courtney Joe Courtney WF 208,818 0.632289399 208,818 63.23%
CT 09 Connecticut 02 Daria Irene Novak Daria Irene Novak R 111,149 0.336553048
CT 09 Connecticut 02 Jonathan Pelto Jonathan Pelto GRE 5,332 0.016145002
CT 09 Connecticut 02 Daniel Reale Daniel Reale LIB 4,949 0.014985299
CT 09 Connecticut 02 Elizabeth F. Traceski Elizabeth F. Traceski W 9 0.0000273
CT 09 Connecticut 02 Total Votes 330,257
CT 09 Connecticut 03 Rosa L. DeLauro Rosa L. DeLauro D 213,572 0.690324812 213,572 69.03% W
CT 09 Connecticut 03 Rosa L. DeLauro Rosa L. DeLauro WF 213,572 0.690324812 213,572 69.03%
CT 09 Connecticut 03 Angel Cadena Angel Cadena R 95,786 0.30960731
CT 09 Connecticut 03 Christopher Schaefer Christopher Schaefer W 18 0.0000582
CT 09 Connecticut 03 Andrew Rule Andrew Rule W 3 0.0000097
CT 09 Connecticut 03 Total Votes 309,379
CT 09 Connecticut 04 Jim Himes Jim Himes D 187,811 0.599001722 W
CT 09 Connecticut 04 John Shaban John Shaban R 125,724 0.400982331 125,724 40.10%
CT 09 Connecticut 04 John Shaban John Shaban IP 125,724 0.400982331 125,724 40.10%
CT 09 Connecticut 04 Carl E. Vassar Carl E. Vassar W 5 0.0000159
CT 09 Connecticut 04 Total Votes 313,540
CT 09 Connecticut 05 Elizabeth Esty Elizabeth Esty D 179,252 0.579949657 179,252 57.99% W
CT 09 Connecticut 05 Elizabeth Esty Elizabeth Esty WF 179,252 0.579949657 179,252 57.99%
CT 09 Connecticut 05 Clay Cope Clay Cope IP 129,801 0.419956516 129,801 42.00%
CT 09 Connecticut 05 Clay Cope Clay Cope R 129,801 0.419956516 129,801 42.00%
CT 09 Connecticut 05 John Pistone John Pistone R/W 28 0.0000906
CT 09 Connecticut 05 Ann-Marie Adams Ann-Marie Adams W 1 0.00000324
CT 09 Connecticut 05 Total Votes 309,082
DE 10 Delaware 00 Lisa Blunt Rochester Lisa Blunt Rochester D 233,554 0.55523488 W
DE 10 Delaware 00 Hans Reigle Hans Reigle R 172,301 0.409616299
DE 10 Delaware 00 Mark J. Perri Mark J. Perri GRE 8,326 0.019793648
DE 10 Delaware 00 Scott A. Gesty Scott A. Gesty LIB 6,436 0.015300494
DE 10 Delaware 00 Scott Walker Scott Walker W 14 0.0000333
DE 10 Delaware 00 Robert Nelson, III Franz Robert Nelson, III Franz W 4 0.00000951
DE 10 Delaware 00 Campbell Smith Campbell Smith W 4 0.00000951
DE 10 Delaware 00 Rachelle Lee Linney Rachelle Lee Linney W 1 0.00000238
DE 10 Delaware 00 Total Votes 420,640
DC 11 District of Columbia 00 Eleanor Holmes Norton Eleanor Holmes Norton D 265,178 0.881265246 W
DC 11 District of Columbia 00 Martin Moulton Martin Moulton LIB 18,713 0.062188856
DC 11 District of Columbia 00 Natale (Lino) Stracuzzi Natale (Lino) Stracuzzi DCG 14,336 0.047642785
DC 11 District of Columbia 00 Scattered Scattered W 2,679 0.008903113
DC 11 District of Columbia 00 Total Votes 300,906
FL 12 Florida 01 Matt Gaetz Matt Gaetz R 255,107 0.690998575 W
FL 12 Florida 01 Steven Specht Steven Specht D 114,079 0.309001425
FL 12 Florida 01 Total Votes 369,186
FL 12 Florida 02 Neal Dunn Neal Dunn R 231,163 0.673234079 W
FL 12 Florida 02 Walter Dartland Walter Dartland D 102,801 0.29939539
FL 12 Florida 02 Rob Lapham Rob Lapham LBF 9,395 0.027361793
FL 12 Florida 02 Antoine Edward Roberts Antoine Edward Roberts W 3 0.00000874
FL 12 Florida 02 Total Votes 343,362
FL 12 Florida 03 Ted Yoho Ted Yoho R 193,843 0.565634666 W
FL 12 Florida 03 Kenneth "Ken" McGurn Kenneth "Ken" McGurn D 136,338 0.397834841
FL 12 Florida 03 Tom Wells Tom Wells NPA 12,519 0.036530493
FL 12 Florida 03 Total Votes 342,700
FL 12 Florida 04 David E. Bruderly David E. Bruderly D 113,088 0.276051965
FL 12 Florida 04 Gary L. Koniz Gary L. Koniz NPA 9,054 0.022101147
FL 12 Florida 04 Daniel Murphy Daniel Murphy W 11 0.0000269
FL 12 Florida 04 Total Votes 409,662
FL 12 Florida 04 John Rutherford John Rutherford R 287,509 0.701820037 W
FL 12 Florida 05 Al Lawson Al Lawson D 194,549 0.642343021 W
FL 12 Florida 05 Glo Smith Glo Smith R 108,325 0.357656979
FL 12 Florida 05 Total Votes 302,874
FL 12 Florida 06 Ron DeSantis Ron DeSantis R 213,519 0.585673533 W
FL 12 Florida 06 William (Bill) McCullough William (Bill) McCullough D 151,051 0.414326467
FL 12 Florida 06 Total Votes 364,570
FL 12 Florida 07 Stephanie Murphy Stephanie Murphy D 182,039 0.514736113 W
FL 12 Florida 07 John Mica John Mica R 171,583 0.485170576
FL 12 Florida 07 Mike Plaskon Mike Plaskon W 33 0.0000933
FL 12 Florida 07 Total Votes 353,655
FL 12 Florida 08 Bill Posey Bill Posey R 246,483 0.631099879 W
FL 12 Florida 08 Corry Westbrook Corry Westbrook D 127,127 0.32549845
FL 12 Florida 08 Bill Stinson Bill Stinson NPA 16,951 0.043401671
FL 12 Florida 08 Total Votes 390,561
FL 12 Florida 09 Darren Soto Darren Soto D 195,311 0.574848202 W
FL 12 Florida 09 Wayne Liebnitzky Wayne Liebnitzky R 144,450 0.425151798
FL 12 Florida 09 Total Votes 339,761
FL 12 Florida 10 Val Demings Val Demings D 198,491 0.648686717 W
FL 12 Florida 10 Thuy Lowe Thuy Lowe R 107,498 0.351313283
FL 12 Florida 10 Total Votes 305,989
FL 12 Florida 11 Daniel Webster Daniel Webster R 258,016 0.653670079 W
FL 12 Florida 11 Dave Koller Dave Koller D 124,713 0.315953881
FL 12 Florida 11 Bruce Ray Riggs Bruce Ray Riggs NPA 11,990 0.03037604
FL 12 Florida 11 Total Votes 394,719
FL 12 Florida 12 Gus Michael Bilirakis Gus Michael Bilirakis R 253,559 0.685908204 W
FL 12 Florida 12 Robert Matthew Tager Robert Matthew Tager D 116,110 0.314091796
FL 12 Florida 12 Total Votes 369,669
FL 12 Florida 13 Charlie Crist Charlie Crist D 184,693 0.519030918 W
FL 12 Florida 13 David W. Jolly David W. Jolly R 171,149 0.480969082
FL 12 Florida 13 Total Votes 355,842
FL 12 Florida 14 Kathy Castor Kathy Castor D 195,789 0.617870656 W
FL 12 Florida 14 Christine Quinn Christine Quinn R 121,088 0.382129344
FL 12 Florida 14 Total Votes 316,877
FL 12 Florida 15 Dennis A. Ross Dennis A. Ross R 182,999 0.574612056 W
FL 12 Florida 15 Jim Lange Jim Lange D 135,475 0.425387944
FL 12 Florida 15 Total Votes 318,474
FL 12 Florida 16 Vern Buchanan Vern Buchanan R 230,654 0.597679288 W
FL 12 Florida 16 Jan Schneider Jan Schneider D 155,262 0.402320712
FL 12 Florida 16 Total Votes 385,916
FL 12 Florida 17 Tom Rooney Tom Rooney R 209,348 0.618138333 W
FL 12 Florida 17 April Freeman April Freeman D 115,974 0.342434487
FL 12 Florida 17 John W., III Sawyer John W., III Sawyer NPA 13,353 0.039427179
FL 12 Florida 17 Total Votes 338,675
FL 12 Florida 18 Brian Mast Brian Mast R 201,488 0.535989232 W
FL 12 Florida 18 Randy Perkins Randy Perkins D 161,918 0.430726914
FL 12 Florida 18 Carla Spalding Carla Spalding NPA 12,503 0.033259913
FL 12 Florida 18 Marilyn Holloman Marilyn Holloman W 9 0.0000239
FL 12 Florida 18 Total Votes 375,918
FL 12 Florida 19 Francis Rooney Francis Rooney R 239,225 0.658720805 W
FL 12 Florida 19 Robert M. Neeld Robert M. Neeld D 123,812 0.340923985
FL 12 Florida 19 David Byron David Byron W 109 0.000300138
FL 12 Florida 19 Timothy John Rossano Timothy John Rossano W 20 0.0000551
FL 12 Florida 19 Total Votes 363,166
FL 12 Florida 20 Alcee L. Hastings Alcee L. Hastings D 222,914 0.803120046 W
FL 12 Florida 20 Gary Stein Gary Stein R 54,646 0.196879954
FL 12 Florida 20 Total Votes 277,560
FL 12 Florida 21 Lois Frankel Lois Frankel D 210,606 0.627062981 W
FL 12 Florida 21 Paul Spain Paul Spain R 118,038 0.351448963
FL 12 Florida 21 W. Michael "Mike" Trout W. Michael "Mike" Trout NPA 7,217 0.021488056
FL 12 Florida 21 Total Votes 335,861
FL 12 Florida 22 Ted Deutch Ted Deutch D 199,113 0.589353263 W
FL 12 Florida 22 Andrea Leigh McGee Andrea Leigh McGee R 138,737 0.410646737
FL 12 Florida 22 Total Votes 337,850
FL 12 Florida 23 Debbie Wasserman Schultz Debbie Wasserman Schultz D 183,225 0.567049393 W
FL 12 Florida 23 Joseph "Joe" Kaufman Joseph "Joe" Kaufman R 130,818 0.404858876
FL 12 Florida 23 Don Endriss Don Endriss NPA 5,180 0.016031196
FL 12 Florida 23 Lyle Milstein Lyle Milstein NPA 3,897 0.012060535
FL 12 Florida 23 Total Votes 323,120
FL 12 Florida 24 Frederica Wilson Frederica Wilson D Unopposed W
FL 12 Florida 25 Mario Diaz-Balart Mario Diaz-Balart R 157,921 0.623602117 W
FL 12 Florida 25 Alina Valdes Alina Valdes D 95,319 0.376397883
FL 12 Florida 25 Total Votes 253,240
FL 12 Florida 26 Carlos Curbelo Carlos Curbelo R 148,547 0.529500039 W
FL 12 Florida 26 Joe Garcia Joe Garcia D 115,493 0.411678109
FL 12 Florida 26 Jose Peixoto Jose Peixoto NPA 16,502 0.058821852
FL 12 Florida 26 Total Votes 280,542
FL 12 Florida 27 Ileana Ros-Lehtinen Ileana Ros-Lehtinen R 157,917 0.548938567 W
FL 12 Florida 27 Scott Fuhrman Scott Fuhrman D 129,760 0.451061433
FL 12 Florida 27 Total Votes 287,677
GA 13 Georgia 01 Earl "Buddy" Carter Earl "Buddy" Carter R 210,243 0.995883702 W
GA 13 Georgia 01 Nathan Russo Nathan Russo W 869 0.004116298
GA 13 Georgia 01 Total Votes 211,112
GA 13 Georgia 02 Sanford Bishop Sanford Bishop D 148,543 0.612298484 W
GA 13 Georgia 02 Greg Duke Greg Duke R 94,056 0.387701516
GA 13 Georgia 02 Total Votes 242,599
GA 13 Georgia 03 Drew Ferguson Drew Ferguson R 207,218 0.68346598 W
GA 13 Georgia 03 Angela Pendley Angela Pendley D 95,969 0.31653402
GA 13 Georgia 03 Total Votes 303,187
GA 13 Georgia 04 Henry C. "Hank," Jr. Johnson Henry C. "Hank," Jr. Johnson D 220,146 0.757194597 W
GA 13 Georgia 04 Victor Armendariz Victor Armendariz R 70,593 0.242805403
GA 13 Georgia 04 Total Votes 290,739
GA 13 Georgia 05 John R. Lewis John R. Lewis D 253,781 0.84439143 W
GA 13 Georgia 05 Douglas Bell Douglas Bell R 46,768 0.15560857
GA 13 Georgia 05 Total Votes 300,549
GA 13 Georgia 06 Tom Price Tom Price R 201,088 0.616824895 W
GA 13 Georgia 06 Rodney Stooksbury Rodney Stooksbury D 124,917 0.383175105
GA 13 Georgia 06 Total Votes 326,005
GA 13 Georgia 07 Rob Woodall Rob Woodall R 174,081 0.603816844 W
GA 13 Georgia 07 Rashid Malik Rashid Malik D 114,220 0.396183156
GA 13 Georgia 07 Total Votes 288,301
GA 13 Georgia 08 Austin Scott Austin Scott R 173,983 0.676429193 W
GA 13 Georgia 08 James Neal Harris James Neal Harris D 83,225 0.323570807
GA 13 Georgia 08 Total Votes 257,208
GA 13 Georgia 09 Doug Collins Doug Collins R 256,535 1 W
GA 13 Georgia 09 Total Votes 256,535
GA 13 Georgia 10 Jody Hice Jody Hice R 243,725 0.996377922 W
GA 13 Georgia 10 Leonard Ware Leonard Ware W 886 0.003622078
GA 13 Georgia 10 Total Votes 244,611
GA 13 Georgia 11 Barry Loudermilk Barry Loudermilk R 217,935 0.674057739 W
GA 13 Georgia 11 Don Wilson Don Wilson D 105,383 0.325942261
GA 13 Georgia 11 Total Votes 323,318
GA 13 Georgia 12 Rick Allen Rick Allen R 159,492 0.616008528 W
GA 13 Georgia 12 Patricia C. McCracken Patricia C. McCracken D 99,420 0.383991472
GA 13 Georgia 12 Total Votes 258,912
GA 13 Georgia 13 David Scott David Scott D 252,833 1 W
GA 13 Georgia 13 Total Votes 252,833
GA 13 Georgia 14 Tom Graves Tom Graves R 216,743 0.999032048 W
GA 13 Georgia 14 Patrick A. Boggs Patrick A. Boggs W 210 0.000967952
GA 13 Georgia 14 Total Votes 216,953
HI 15 Hawaii 02 Tulsi Gabbard Tulsi Gabbard D 170,848 0.811567767 W
HI 15 Hawaii 02 Angela Aulani Kaaihue Angela Aulani Kaaihue R 39,668 0.188432233
HI 15 Hawaii 02 Total Votes 210,516
HI 15 Hawaii 01 - FULL TERM Colleen Wakako Hanabusa Colleen Wakako Hanabusa D 145,417 0.718616109 W
HI 15 Hawaii 01 - FULL TERM Shirlene D. (Shirl) Ostrov Shirlene D. (Shirl) Ostrov R 45,958 0.227113468
HI 15 Hawaii 01 - FULL TERM Alan J.K. Yim Alan J.K. Yim LIB 6,601 0.032620567
HI 15 Hawaii 01 - FULL TERM Calvin (G) Griffin Calvin (G) Griffin N 4,381 0.021649856
HI 15 Hawaii 01 - FULL TERM Total Votes 202,357
HI 15 Hawaii 01 - UNEXPIRED TERM Colleen Wakako Hanabusa Colleen Wakako Hanabusa D 129,083 0.650649475 W
HI 15 Hawaii 01 - UNEXPIRED TERM Shirlene DelaCruz Ostrov Shirlene DelaCruz Ostrov R 44,090 0.222237904
HI 15 Hawaii 01 - UNEXPIRED TERM Angela Aulani Kaaihue Angela Aulani Kaaihue D 5,885 0.029663644
HI 15 Hawaii 01 - UNEXPIRED TERM Alan J.K. Yim Alan J.K. Yim LIB 5,559 0.028020424
HI 15 Hawaii 01 - UNEXPIRED TERM Howard Kim Howard Kim D 4,259 0.021467708
HI 15 Hawaii 01 - UNEXPIRED TERM Peter Cross Peter Cross D 3,420 0.017238685
HI 15 Hawaii 01 - UNEXPIRED TERM Calvin C. (G) Griffin Calvin C. (G) Griffin N 2,824 0.014234517
HI 15 Hawaii 01 - UNEXPIRED TERM Javier Ocasio Javier Ocasio D 1,893 0.009541763
HI 15 Hawaii 01 - UNEXPIRED TERM Yvonne Perry Yvonne Perry N 1,050 0.005292579
HI 15 Hawaii 01 - UNEXPIRED TERM Peter H. Plotzeneder Peter H. Plotzeneder N 328 0.001653301
HI 15 Hawaii 01 - UNEXPIRED TERM Total Votes 198,391
ID 16 Idaho 01 Raul R. Labrador Raul R. Labrador R 242,252 0.681714445 W
ID 16 Idaho 01 James Piotrowski James Piotrowski D 113,052 0.318136409
ID 16 Idaho 01 Pro-Life Pro-Life W 53 0.000149146
ID 16 Idaho 01 Total Votes 355,357
ID 16 Idaho 02 Mike Simpson Mike Simpson R 205,292 0.629272584 W
ID 16 Idaho 02 Jennifer Martinez Jennifer Martinez D 95,940 0.294080684
ID 16 Idaho 02 Anthony Tomkins Anthony Tomkins CON 25,005 0.076646732
ID 16 Idaho 02 Total Votes 326,237
IL 17 Illinois 01 Bobby L. Rush Bobby L. Rush D 234,037 0.740946996 W
IL 17 Illinois 01 August (O'Neill) Deuser August (O'Neill) Deuser R 81,817 0.259027677
IL 17 Illinois 01 Tabitha Carson Tabitha Carson W 8 0.0000253
IL 17 Illinois 01 Total Votes 315,862
IL 17 Illinois 02 Robin Kelly Robin Kelly D 235,051 0.798076205 W
IL 17 Illinois 02 John F Morrow John F Morrow R 59,471 0.201923795
IL 17 Illinois 02 Total Votes 294,522
IL 17 Illinois 03 Daniel William Lipinski Daniel William Lipinski D 225,320 0.999596293 W
IL 17 Illinois 03 Diane Harris Diane Harris W 91 0.000403707
IL 17 Illinois 03 Total Votes 225,411
IL 17 Illinois 04 Luis V. Gutierrez Luis V. Gutierrez D 171,297 1 W
IL 17 Illinois 04 Total Votes 171,297
IL 17 Illinois 05 Mike Quigley Mike Quigley D 212,842 0.678437098 W
IL 17 Illinois 05 Vince Kolber Vince Kolber R 86,222 0.27483393
IL 17 Illinois 05 Rob Sherman Rob Sherman GRE 14,657 0.046719409
IL 17 Illinois 05 Michael Krynski Michael Krynski W 3 0.00000956
IL 17 Illinois 05 Total Votes 313,724
IL 17 Illinois 06 Peter J. Roskam Peter J. Roskam R 208,555 0.59224015 W
IL 17 Illinois 06 Amanda Howland Amanda Howland D 143,591 0.40775985
IL 17 Illinois 06 Total Votes 352,146
IL 17 Illinois 07 Danny K. Davis Danny K. Davis D 250,584 0.842395433 W
IL 17 Illinois 07 Jeffrey A. Leef Jeffrey A. Leef R 46,882 0.157604567
IL 17 Illinois 07 Total Votes R 297,466
IL 17 Illinois 08 Raja Krishnamoorthi Raja Krishnamoorthi D 144,954 0.583149281 W
IL 17 Illinois 08 Peter "Pete" DiCianni Peter "Pete" DiCianni R 103,617 0.416850719
IL 17 Illinois 08 Total Votes 248,571
IL 17 Illinois 09 Janice D Schakowsky Janice D Schakowsky D 217,306 0.664650036 W
IL 17 Illinois 09 Joan McCarthy Lasonde Joan McCarthy Lasonde R 109,550 0.335068574
IL 17 Illinois 09 David Williams David Williams W 79 0.000241629
IL 17 Illinois 09 Susanne Atanus Susanne Atanus W 13 0.0000398
IL 17 Illinois 09 Total Votes 326,948
IL 17 Illinois 10 Brad Schneider Brad Schneider D 150,435 0.52600386 W
IL 17 Illinois 10 Robert Dold Robert Dold R 135,535 0.473905229
IL 17 Illinois 10 Joseph William Kopsick Joseph William Kopsick W 26 0.0000909
IL 17 Illinois 10 Total Votes 285,996
IL 17 Illinois 11 Bill Foster Bill Foster D 166,578 0.604478668 W
IL 17 Illinois 11 Tonia Khouri Tonia Khouri R 108,995 0.395521332
IL 17 Illinois 11 Total Votes 275,573
IL 17 Illinois 12 Michael Bost Michael Bost R 169,976 0.543050843 W
IL 17 Illinois 12 Charles "C.J." Baricevic Charles "C.J." Baricevic D 124,246 0.39694954
IL 17 Illinois 12 Paula Bradshaw Paula Bradshaw GRE 18,780 0.059999617
IL 17 Illinois 12 Total Votes 313,002
IL 17 Illinois 13 Rodney Davis Rodney Davis R 187,583 0.596649427 W
IL 17 Illinois 13 Mark D Wicklund Mark D Wicklund D 126,811 0.403350573
IL 17 Illinois 13 Total Votes 314,394
IL 17 Illinois 14 Randall M. "Randy" Hultgren Randall M. "Randy" Hultgren R 200,508 0.59304874 W
IL 17 Illinois 14 Jim Walz Jim Walz D 137,589 0.40695126
IL 17 Illinois 14 Total Votes 338,097
IL 17 Illinois 15 John M. Shimkus John M. Shimkus R 274,554 1 W
IL 17 Illinois 15 Total Votes 274,554
IL 17 Illinois 16 Adam Kinzinger Adam Kinzinger R 259,722 0.999495869 W
IL 17 Illinois 16 John F. Burchardt John F. Burchardt W 131 0.000504131
IL 17 Illinois 16 Total Votes 259,853
IL 17 Illinois 17 Cheri Bustos Cheri Bustos D 173,125 0.603080106 W
IL 17 Illinois 17 Patrick Harlan Patrick Harlan R 113,943 0.396919894
IL 17 Illinois 17 Total Votes 287,068
IL 17 Illinois 18 Darin LaHood Darin LaHood R 250,506 0.721331018 W
IL 17 Illinois 18 Junius Rodriguez Junius Rodriguez D 96,770 0.278648825
IL 17 Illinois 18 Don Vance Don Vance W 7 0.0000202
IL 17 Illinois 18 Total Votes 347,283
IN 18 Indiana 01 Peter J. Visclosky Peter J. Visclosky D 207,515 0.81511727 W
IN 18 Indiana 01 Donna Dunn Donna Dunn LIB 47,051 0.184815954
IN 18 Indiana 01 John Meyer John Meyer W 17 0.0000668
IN 18 Indiana 01 Total Votes 254,583
IN 18 Indiana 02 Jackie Walorski Jackie Walorski R 164,355 0.592575634 W
IN 18 Indiana 02 Lynn C. Coleman Lynn C. Coleman D 102,401 0.369202869
IN 18 Indiana 02 Ron Cenkush Ron Cenkush LIB 10,601 0.038221498
IN 18 Indiana 02 Total Votes 277,357
IN 18 Indiana 03 Jim Banks Jim Banks R 201,396 0.701124816 W
IN 18 Indiana 03 Tommy A. Schrader Tommy A. Schrader D 66,023 0.229847483
IN 18 Indiana 03 Pepper Snyder Pepper Snyder LIB 19,828 0.069027701
IN 18 Indiana 03 Total Votes 287,247
IN 18 Indiana 04 Todd Rokita Todd Rokita R 193,412 0.645925312 W
IN 18 Indiana 04 John Dale John Dale D 91,256 0.30476165
IN 18 Indiana 04 Steven M. Mayoras Steven M. Mayoras LIB 14,766 0.049313037
IN 18 Indiana 04 Total Votes 299,434
IN 18 Indiana 05 Susan W. Brooks Susan W. Brooks R 221,957 0.614609495 W
IN 18 Indiana 05 Angela Demaree Angela Demaree D 123,849 0.342943774
IN 18 Indiana 05 Matthew Wittlief Matthew Wittlief LIB 15,329 0.04244673
IN 18 Indiana 05 Total Votes 361,135
IN 18 Indiana 06 Luke Messer Luke Messer R 204,920 0.691398013 W
IN 18 Indiana 06 Barry Welsh Barry Welsh D 79,135 0.267000692
IN 18 Indiana 06 Rich Turvey Rich Turvey LIB 12,330 0.041601296
IN 18 Indiana 06 Total Votes 296,385
IN 18 Indiana 07 André D. Carson André D. Carson D 158,739 0.599761968 W
IN 18 Indiana 07 Catherine (CAT) Ping Catherine (CAT) Ping R 94,456 0.356882155
IN 18 Indiana 07 Drew Thompson Drew Thompson LIB 11,475 0.043355877
IN 18 Indiana 07 Total Votes 264,670
IN 18 Indiana 08 Larry D. Bucshon Larry D. Bucshon R 187,702 0.636897592 W
IN 18 Indiana 08 Ron Drake Ron Drake D 93,356 0.316769196
IN 18 Indiana 08 Andrew Horning Andrew Horning LIB 13,655 0.046333212
IN 18 Indiana 08 Total Votes 294,713
IN 18 Indiana 09 Trey Hollingsworth Trey Hollingsworth R 174,791 0.54141177 W
IN 18 Indiana 09 Shelli Yoder Shelli Yoder D 130,627 0.404614627
IN 18 Indiana 09 Russell Brooksbank Russell Brooksbank LIB 17,425 0.053973603
IN 18 Indiana 09 Total Votes 322,843
IA 19 Iowa 01 Rod Blum Rod Blum R 206,903 0.537442497 W
IA 19 Iowa 01 Monica Vernon Monica Vernon D 177,403 0.460814542
IA 19 Iowa 01 Scattered Scattered W 671 0.001742961
IA 19 Iowa 01 Total Votes 384,977
IA 19 Iowa 02 Dave Loebsack Dave Loebsack D 198,571 0.536631967 W
IA 19 Iowa 02 Christopher Peters Christopher Peters R 170,933 0.461941129
IA 19 Iowa 02 Scattered Scattered W 528 0.001426904
IA 19 Iowa 02 Total Votes 370,032
IA 19 Iowa 03 David Young David Young R 208,598 0.534473349 W
IA 19 Iowa 03 Jim Mowrer Jim Mowrer D 155,002 0.397148765
IA 19 Iowa 03 Bryan Jack Holder Bryan Jack Holder LIB 15,372 0.0393864
IA 19 Iowa 03 Claudia Addy Claudia Addy NNE 6,348 0.016264954
IA 19 Iowa 03 Joe Grandanette Joe Grandanette NNE 4,518 0.011576097
IA 19 Iowa 03 Scattered Scattered W 449 0.001150435
IA 19 Iowa 03 Total Votes 390,287
IA 19 Iowa 04 Steve King Steve King R 226,719 0.612325426 W
IA 19 Iowa 04 Kim Weaver Kim Weaver D 142,993 0.38619723
IA 19 Iowa 04 Scattered Scattered W 547 0.001477344
IA 19 Iowa 04 Total Votes 370,259
KS 20 Kansas 01 Roger Marshall Roger Marshall R 169,992 0.65895779 W
KS 20 Kansas 01 Tim Huelskamp Tim Huelskamp R/W 874
KS 20 Kansas 01 Alan LaPolice Alan LaPolice IND 67,739 0.262583779
KS 20 Kansas 01 Kerry Burt Kerry Burt LIB 19,366 0.075070454
KS 20 Kansas 01 Total Votes 257,971
KS 20 Kansas 02 Lynn Jenkins Lynn Jenkins R 181,228 0.609372531 W
KS 20 Kansas 02 Britani Potter Britani Potter 96,840 0.325620963
KS 20 Kansas 02 James Houston Bales James Houston Bales LIB 19,333 0.065006506
KS 20 Kansas 02 Total Votes 297,401
KS 20 Kansas 03 Kevin Yoder Kevin Yoder R 176,022 0.513014663 W
KS 20 Kansas 03 Jay Sidie Jay Sidie 139,300 0.405988698
KS 20 Kansas 03 Steven A. Hohe Steven A. Hohe LIB 27,791 0.08099664
KS 20 Kansas 03 Total Votes 343,113
KS 20 Kansas 04 Michael Pompeo Michael Pompeo R 166,998 0.606711692 W
KS 20 Kansas 04 Daniel B. Giroux Daniel B. Giroux D 81,495 0.296075219
KS 20 Kansas 04 Miranda Allen Miranda Allen IND 19,021 0.069104199
KS 20 Kansas 04 Gorden J. Bakken Gorden J. Bakken LIB 7,737 0.02810889
KS 20 Kansas 04 Total Votes 275,251
KY 21 Kentucky 02 S. Brett Guthrie S. Brett Guthrie R 251,825 1 W
KY 21 Kentucky 02 Total Votes 251,825
KY 21 Kentucky 03 John A. Yarmuth John A. Yarmuth D 212,401 0.634991958 W
KY 21 Kentucky 03 Harold Bratcher Harold Bratcher R 122,093 0.365008042
KY 21 Kentucky 03 Total Votes 334,494
KY 21 Kentucky 04 Thomas Massie Thomas Massie R 233,922 0.713205097 W
KY 21 Kentucky 04 Calvin Sidle Calvin Sidle D 94,065 0.286794903
KY 21 Kentucky 04 Total Votes 327,987
KY 21 Kentucky 05 Harold "Hal" Rogers Harold "Hal" Rogers R 221,242 1 W
KY 21 Kentucky 05 Total Votes 221,242
KY 21 Kentucky 06 Andy Barr Andy Barr R 202,099 0.610890284 W
KY 21 Kentucky 06 Nancy Jo Kemper Nancy Jo Kemper D 128,728 0.389109716
KY 21 Kentucky 06 Total Votes 330,827
KY 21 Kentucky 01 - FULL TERM James R. Comer James R. Comer R 216,959 0.725612958 W
KY 21 Kentucky 01 - FULL TERM Samuel L. Gaskins Samuel L. Gaskins D 81,710 0.273276678
KY 21 Kentucky 01 - FULL TERM Terry McIntosh Terry McIntosh W 332 0.001110364
KY 21 Kentucky 01 - FULL TERM Total Votes 299,001
KY 21 Kentucky 01 - UNEXPIRED TERM James R. Comer James R. Comer R 209,810 0.72193185 W
KY 21 Kentucky 1 - UNEXPIRED TERM Samuel L. Gaskins Samuel L. Gaskins D 80,813 0.27806815
KY 21 Kentucky 1 - UNEXPIRED TERM Total Votes 290,623
LA 22 Louisiana 01 Steve Scalise Steve Scalise R 243,645 0.745575113 W
LA 22 Louisiana 01 Lee Ann Dugas Lee Ann Dugas D 41,840 0.128034077
LA 22 Louisiana 01 Danil Ezekiel Faust Danil Ezekiel Faust D 12,708 0.038887597
LA 22 Louisiana 01 Howard Kearney Howard Kearney LIB 9,405 0.028780127
LA 22 Louisiana 01 Joseph "Joe" Swider Joseph "Joe" Swider D 9,237 0.028266032
LA 22 Louisiana 01 Eliot Barron Eliot Barron GRE 6,717 0.02055461
LA 22 Louisiana 01 Chuemai Yang Chuemai Yang NPA 3,236 0.009902444
LA 22 Louisiana 01 Total Votes 326,788
LA 22 Louisiana 02 Cedric Richmond Cedric Richmond D 198,289 0.697540006 W
LA 22 Louisiana 02 Melvin L. "Kip" Holden Melvin L. "Kip" Holden D 57,125 0.200954026
LA 22 Louisiana 02 Kenneth Cutno Kenneth Cutno D 28,855 0.101505968
LA 22 Louisiana 02 Total Votes 284,269
LA 22 Louisiana 03 Clay Higgins Clay Higgins R 77,671 0.561072866 77,671 56.11% W
LA 22 Louisiana 03 Scott A. Angelle Scott A. Angelle R 60,762 0.438927134 60,762 43.89%
LA 22 Louisiana 03 Total Votes 138,433 138,433
LA 22 Louisiana 04 "Mike" Johnson "Mike" Johnson R 87,370 0.652263175 87,370 65.23% W
LA 22 Louisiana 04 Marshall Jones Marshall Jones D 46,579 0.347736825 46,579 34.77%
LA 22 Louisiana 05 Total Votes 133,949 133,949
LA 22 Louisiana 06 Garret Graves Garret Graves R 207,483 0.626651324 W
LA 22 Louisiana 06 Richard Lieberman Richard Lieberman D 49,380 0.149140134
LA 22 Louisiana 06 Robert Lamar "Bob" Bell Robert Lamar "Bob" Bell R 33,592 0.101456366
LA 22 Louisiana 06 Jermaine Sampson Jermaine Sampson D 29,822 0.090070009
LA 22 Louisiana 06 Richard M. Fontanesi Richard M. Fontanesi LIB 7,603 0.02296299
LA 22 Louisiana 06 Devin Lance Graham Devin Lance Graham OTH 3,218 0.009719177
LA 22 Louisiana 06 Total Votes 331,098
ME 23 Maine 01 Chellie Pingree Chellie Pingree D 227,546 0.579896073 W
ME 23 Maine 01 Mark I. Holbrook Mark I. Holbrook R 164,569 0.419400547
ME 23 Maine 01 James J. Bouchard James J. Bouchard W(LIB) 276 0.00070338
ME 23 Maine 01 Total Votes 392,391
ME 23 Maine 02 Bruce Poliquin Bruce Poliquin R 192,878 0.547664141 W
ME 23 Maine 02 Emily Ann Cain Emily Ann Cain D 159,081 0.451699827
ME 23 Maine 02 Jay Parker Dresser Jay Parker Dresser W(IND) 224 0.000636033
ME 23 Maine 02 Total Votes 352,183
MD 24 Maryland 01 Andy Harris Andy Harris R 242,574 0.669914415 W
MD 24 Maryland 01 Joe Werner Joe Werner D 103,622 0.286171937
MD 24 Maryland 01 Matt Beers Matt Beers LIB 15,370 0.04244719
MD 24 Maryland 01 Scattered Scattered W 531 0.001466458
MD 24 Maryland 01 Total Votes 362,097
MD 24 Maryland 02 C.A. Dutch Ruppersberger C.A. Dutch Ruppersberger D 192,183 0.620986817 W
MD 24 Maryland 02 Pat McDonough Pat McDonough R 102,577 0.331449528
MD 24 Maryland 02 Kristin S. Kasprzak Kristin S. Kasprzak LIB 14,128 0.045650769
MD 24 Maryland 02 Scattered Scattered W 592 0.001912886
MD 24 Maryland 02 Total Votes 309,480
MD 24 Maryland 03 John Sarbanes John Sarbanes D 214,640 0.631898138 W
MD 24 Maryland 03 Mark Plaster Mark Plaster R 115,048 0.338700228
MD 24 Maryland 03 Nnabu Eze Nnabu Eze GRE 9,461 0.027853095
MD 24 Maryland 03 Ann Dalrymple Ann Dalrymple W 63 0.000185471
MD 24 Maryland 03 Scattered Scattered W 463 0.001363068
MD 24 Maryland 03 Total Votes 339,675
MD 24 Maryland 04 Anthony G. Brown Anthony G. Brown D 237,501 0.740686106 W
MD 24 Maryland 04 George E. McDermott George E. McDermott R 68,670 0.21415874
MD 24 Maryland 04 Kamesha T. Clark Kamesha T. Clark GRE 8,204 0.025585529
MD 24 Maryland 04 Benjamin Lee Krause Benjamin Lee Krause LIB 5,744 0.017913613
MD 24 Maryland 04 Scattered Scattered W 513 0.001599875
MD 24 Maryland 04 Adrian Petrus Adrian Petrus W 18 0.0000561
MD 24 Maryland 04 Total Votes 320,650
MD 24 Maryland 05 Steny H. Hoyer Steny H. Hoyer D 242,989 0.673782838 W
MD 24 Maryland 05 Mark Arness Mark Arness R 105,931 0.293735477
MD 24 Maryland 05 Jason Summers Jason Summers LIB 11,078 0.030718124
MD 24 Maryland 05 Scattered Scattered W 636 0.001763561
MD 24 Maryland 05 Total Votes 360,634
MD 24 Maryland 06 John K. Delaney John K. Delaney D 185,770 0.559593702 W
MD 24 Maryland 06 Amie Hoeber Amie Hoeber R 133,081 0.400878987
MD 24 Maryland 06 David L. Howser David L. Howser LIB 6,889 0.020751688
MD 24 Maryland 06 George Gluck George Gluck GRE 5,824 0.017543595
MD 24 Maryland 06 Scattered Scattered W 306 0.000921762
MD 24 Maryland 06 Ted Athey Ted Athey W 103 0.000310266
MD 24 Maryland 06 Total Votes 331,973
MD 24 Maryland 07 Elijah Cummings Elijah Cummings D 238,838 0.748915061 W
MD 24 Maryland 07 Corrogan R. Vaughn Corrogan R. Vaughn R 69,556 0.218104054
MD 24 Maryland 07 Myles B. Hoeing Myles B. Hoeing GRE 9,715 0.030462949
MD 24 Maryland 07 William T. Newton William T. Newton W 202 0.000633404
MD 24 Maryland 07 Michael T. Pearson Michael T. Pearson W 17 0.0000533
MD 24 Maryland 07 Scattered Scattered W 584 0.001831226
MD 24 Maryland 07 Total Votes 318,912
MD 24 Maryland 08 Jamie Raskin Jamie Raskin D 220,657 0.605661444 W
MD 24 Maryland 08 Dan Cox Dan Cox R 124,651 0.342143257
MD 24 Maryland 08 Nancy Wallace Nancy Wallace GRE 11,201 0.030744612
MD 24 Maryland 08 Jasen Wunder Jasen Wunder LIB 7,283 0.019990448
MD 24 Maryland 08 Kevin Levester Little Kevin Levester Little W 5 0.0000137
MD 24 Maryland 08 Scattered Scattered W 527 0.001446515
MD 24 Maryland 08 Total Votes 364,324
MA 25 Massachusetts 01 Richard E. Neal Richard E. Neal D 235,803 0.733357384 W
MA 25 Massachusetts 01 Frederick O. Mayock Frederick O. Mayock IND 57,504 0.178839892
MA 25 Massachusetts 01 Thomas T. Simmons Thomas T. Simmons LIB 27,511 0.085560383
MA 25 Massachusetts 01 All Others All Others W 721 0.002242341
MA 25 Massachusetts 01 Total Votes 321,539
MA 25 Massachusetts 02 James P. McGovern James P. McGovern D 275,487 0.982440061 W
MA 25 Massachusetts 02 All Others All Others W 4,924 0.017559939
MA 25 Massachusetts 02 Total Votes 280,411
MA 25 Massachusetts 03 Nicola S. Tsongas Nicola S. Tsongas D 236,713 0.686937015 W
MA 25 Massachusetts 03 Ann Wofford Ann Wofford R 107,519 0.312018271
MA 25 Massachusetts 03 All Others All Others W 360 0.001044714
MA 25 Massachusetts 03 Total Votes 344,592
MA 25 Massachusetts 04 Joseph P., III Kennedy Joseph P., III Kennedy D 265,823 0.700985989 W
MA 25 Massachusetts 04 David A. Rosa David A. Rosa R 113,055 0.298130602
MA 25 Massachusetts 04 All Others All Others W 335 0.000883409
MA 25 Massachusetts 04 Total Votes 379,213
MA 25 Massachusetts 05 Katherine M. Clark Katherine M. Clark D 285,606 0.985504146 W
MA 25 Massachusetts 05 All Others All Others W 4,201 0.014495854
MA 25 Massachusetts 05 Total Votes 289,807
MA 25 Massachusetts 06 Seth Moulton Seth Moulton D 308,923 0.983658913 W
MA 25 Massachusetts 06 All Others All Others W 5,132 0.016341087
MA 25 Massachusetts 06 Total Votes 314,055
MA 25 Massachusetts 07 Michael E. Capuano Michael E. Capuano D 253,354 0.986154738 W
MA 25 Massachusetts 07 All Others All Others W 3,557 0.013845262
MA 25 Massachusetts 07 Total Votes 256,911
MA 25 Massachusetts 08 Stephen F. Lynch Stephen F. Lynch D 271,019 0.724136641 W
MA 25 Massachusetts 08 William Burke William Burke R 102,744 0.274522063
MA 25 Massachusetts 08 All Others All Others W 502 0.001341296
MA 25 Massachusetts 08 Total Votes 374,265
MA 25 Massachusetts 09 William Richard Keating William Richard Keating D 211,790 0.55749615 W
MA 25 Massachusetts 09 Mark C. Alliegro Mark C. Alliegro R 127,803 0.336416641
MA 25 Massachusetts 09 Paul J. Harrington Paul J. Harrington IND 26,233 0.069053291
MA 25 Massachusetts 09 Christopher D. Cataldo Christopher D. Cataldo U 8,338 0.02194817
MA 25 Massachusetts 09 Anna Grace Raduc Anna Grace Raduc U 5,320 0.014003869
MA 25 Massachusetts 09 All Others All Others W 411 0.001081878
MA 25 Massachusetts 09 Total Votes 379,895
MI 26 Michigan 01 Jack Bergman Jack Bergman R 197,777 0.548967305 W
MI 26 Michigan 01 Lon Johnson Lon Johnson D 144,334 0.400626195
MI 26 Michigan 01 Diane Bostow Diane Bostow LIB 13,386 0.037155364
MI 26 Michigan 01 Ellis Boal Ellis Boal GRE 4,774 0.013251136
MI 26 Michigan 01 Total Votes 360,271
MI 26 Michigan 02 Bill Huizenga Bill Huizenga R 212,508 0.626261316 W
MI 26 Michigan 02 Dennis B. Murphy Dennis B. Murphy D 110,391 0.325322402
MI 26 Michigan 02 Erwin J. Haas Erwin J. Haas LIB 8,154 0.024029847
MI 26 Michigan 02 Matthew A. Brady Matthew A. Brady GRE 5,353 0.015775297
MI 26 Michigan 02 Ronald E. Graeser Ronald E. Graeser UST 2,904 0.008558091
MI 26 Michigan 02 Joshua Arnold Joshua Arnold W 18 0.000053
MI 26 Michigan 02 Total Votes 339,328
MI 26 Michigan 03 Justin Amash Justin Amash R 203,545 0.59452631 W
MI 26 Michigan 03 Douglas Smith Douglas Smith D 128,400 0.375038336
MI 26 Michigan 03 Ted Gerrard Ted Gerrard UST 10,420 0.030435354
MI 26 Michigan 03 Total Votes 342,365
MI 26 Michigan 04 John Moolenaar John Moolenaar R 194,572 0.616219743 W
MI 26 Michigan 04 Debra Wirth Debra Wirth W(D)/D 101,277 0.320749578
MI 26 Michigan 04 Leonard Schwartz Leonard Schwartz LIB 8,516 0.026970619
MI 26 Michigan 04 George M. Zimmer George M. Zimmer UST 5,595 0.017719659
MI 26 Michigan 04 Jordan Salvi Jordan Salvi GRE 3,953 0.012519359
MI 26 Michigan 04 Keith Butkovich Keith Butkovich NLP 1,838 0.005821043
MI 26 Michigan 04 Total Votes 315,751
MI 26 Michigan 05 Daniel T. Kildee Daniel T. Kildee D 195,279 0.611601956 W
MI 26 Michigan 05 Al Hardwick Al Hardwick R 112,102 0.351096649
MI 26 Michigan 05 Steve Sluka Steve Sluka LIB 7,006 0.021942366
MI 26 Michigan 05 Harley Mikkelson Harley Mikkelson GRE 4,904 0.01535903
MI 26 Michigan 05 Total Votes 319,291
MI 26 Michigan 06 Fred Upton Fred Upton R 193,259 0.586406323 W
MI 26 Michigan 06 Paul Clements Paul Clements D 119,980 0.364055649
MI 26 Michigan 06 Lorence Wenke Lorence Wenke LIB 16,248 0.049301352
MI 26 Michigan 06 Richard Miller Overton Richard Miller Overton W 78 0.000236676
MI 26 Michigan 06 Total Votes 329,565
MI 26 Michigan 07 Tim Walberg Tim Walberg R 184,321 0.550529111 W
MI 26 Michigan 07 Gretchen D. Driskell Gretchen D. Driskell D 134,010 0.400260449
MI 26 Michigan 07 Ken Proctor Ken Proctor LIB 16,476 0.049210441
MI 26 Michigan 07 Total Votes 334,807
MI 26 Michigan 08 Mike Bishop Mike Bishop R 205,629 0.560345861 W
MI 26 Michigan 08 Suzanna Shkreli Suzanna Shkreli D 143,791 0.391835255
MI 26 Michigan 08 Jeff Wood Jeff Wood LIB 9,619 0.026212095
MI 26 Michigan 08 Maria Green Maria Green GRE 5,679 0.015475464
MI 26 Michigan 08 Jeremy Burgess Jeremy Burgess NLP 2,250 0.006131325
MI 26 Michigan 08 Total Votes 366,968
MI 26 Michigan 09 Sander Levin Sander Levin D 199,661 0.579105214 W
MI 26 Michigan 09 Christopher R. Morse Christopher R. Morse R 128,937 0.373974331
MI 26 Michigan 09 Matthew Orlando Matthew Orlando LIB 9,563 0.02773693
MI 26 Michigan 09 John V. McDermott John V. McDermott GRE 6,614 0.019183525
MI 26 Michigan 09 Total Votes 344,775
MI 26 Michigan 10 Paul Mitchell Paul Mitchell R 215,132 0.630917084 W
MI 26 Michigan 10 Frank, Jr. Accavitti Frank, Jr. Accavitti D 110,112 0.32292519
MI 26 Michigan 10 Lisa Lane Gioia Lisa Lane Gioia LIB 10,612 0.031121786
MI 26 Michigan 10 Benjamin Nofs Benjamin Nofs GRE 5,127 0.01503594
MI 26 Michigan 10 Total Votes 340,983
MI 26 Michigan 11 David A. Trott David A. Trott R 200,872 0.52932372 W
MI 26 Michigan 11 Anil Kumar Anil Kumar D 152,461 0.401754469
MI 26 Michigan 11 Kerry Bentivolio Kerry Bentivolio NPA 16,610 0.0437695
MI 26 Michigan 11 Jonathan Ray Osment Jonathan Ray Osment LIB 9,545 0.02515231
MI 26 Michigan 11 Total Votes 379,488
MI 26 Michigan 12 Debbie Dingell Debbie Dingell D 211,378 0.643381972 W
MI 26 Michigan 12 Jeff Jones Jeff Jones R 96,104 0.292516634
MI 26 Michigan 12 Gary Walkowicz Gary Walkowicz WC 9,183 0.027950764
MI 26 Michigan 12 Tom Bagwell Tom Bagwell LIB 7,489 0.02279465
MI 26 Michigan 12 Dylan Calewarts Dylan Calewarts GRE 4,377 0.013322498
MI 26 Michigan 12 Ejaz Virk Ejaz Virk W 11 0.0000335
MI 26 Michigan 12 Total Votes 328,542
MI 26 Michigan 13 John, Jr. Conyers John, Jr. Conyers D 198,771 0.771036901 W
MI 26 Michigan 13 Jeff Gorman Jeff Gorman R 40,541 0.157259394
MI 26 Michigan 13 Tiffany Hayden Tiffany Hayden LIB 9,648 0.037424795
MI 26 Michigan 13 Sam Johnson Sam Johnson WC 8,835 0.034271151
MI 26 Michigan 13 Clyde Darnell Lynch Clyde Darnell Lynch W 2 0.00000776
MI 26 Michigan 13 Total Votes 257,797
MI 26 Michigan 14 Brenda L. Lawrence Brenda L. Lawrence D 244,135 0.785065632 W
MI 26 Michigan 14 Howard Klausner Howard Klausner R 58,103 0.186841987
MI 26 Michigan 14 Gregory Creswell Gregory Creswell LIB 4,893 0.015734434
MI 26 Michigan 14 Marcia Squier Marcia Squier GRE 3,843 0.012357946
MI 26 Michigan 14 Total Votes 310,974
MN 27 Minnesota 01 Tim Walz Tim Walz DFL 169,074 0.503380702 W
MN 27 Minnesota 01 Jim Hagedorn Jim Hagedorn R 166,526 0.495794591
MN 27 Minnesota 01 Scattered Scattered W 277 0.000824707
MN 27 Minnesota 01 Total Votes 335,877
MN 27 Minnesota 02 Jason Lewis Jason Lewis R 173,970 0.469536914 W
MN 27 Minnesota 02 Angie Craig Angie Craig DFL 167,315 0.451575379
MN 27 Minnesota 02 Paula Overby Paula Overby IDP 28,869 0.077916084
MN 27 Minnesota 02 Scattered Scattered W 360 0.000971623
MN 27 Minnesota 02 Total Votes 370,514
MN 27 Minnesota 03 Erik Paulsen Erik Paulsen R 223,077 0.56695657 W
MN 27 Minnesota 03 Terri E. Bonoff Terri E. Bonoff DFL 169,243 0.430135921
MN 27 Minnesota 03 Scattered Scattered W 1,144 0.002907509
MN 27 Minnesota 03 Total Votes 393,464
MN 27 Minnesota 04 Betty McCollum Betty McCollum DFL 203,299 0.577645875 W
MN 27 Minnesota 04 Greg Ryan Greg Ryan R 121,032 0.34389562
MN 27 Minnesota 04 Susan Pendergast Sindt Susan Pendergast Sindt LMN 27,152 0.077148637
MN 27 Minnesota 04 Scattered Scattered W 461 0.001309867
MN 27 Minnesota 04 Total Votes 351,944
MN 27 Minnesota 05 Keith Ellison Keith Ellison DFL 249,964 0.690733443 W
MN 27 Minnesota 05 Frank Nelson Drake Frank Nelson Drake R 80,660 0.222890334
MN 27 Minnesota 05 Dennis Schuller Dennis Schuller LMN 30,759 0.08499732
MN 27 Minnesota 05 Scattered Scattered W 499 0.001378903
MN 27 Minnesota 05 Total Votes 361,882
MN 27 Minnesota 06 Tom Emmer Tom Emmer R 235,380 0.655793427 W
MN 27 Minnesota 06 David Snyder David Snyder DFL 123,008 0.342713221
MN 27 Minnesota 06 Scattered Scattered W 536 0.001493352
MN 27 Minnesota 06 Total Votes 358,924
MN 27 Minnesota 07 Collin Peterson Collin Peterson DFL 173,589 0.524679007 W
MN 27 Minnesota 07 Dave Hughes Dave Hughes R 156,952 0.474393075
MN 27 Minnesota 07 Scattered Scattered W 307 0.000927919
MN 27 Minnesota 07 Total Votes 330,848
MN 27 Minnesota 08 Rick Nolan Rick Nolan DFL 179,098 0.501704582 W
MN 27 Minnesota 08 Stewart Mills Stewart Mills R 177,089 0.4960768
MN 27 Minnesota 08 Scattered Scattered W 792 0.002218618
MN 27 Minnesota 08 Total Votes 356,979
MS 28 Mississippi 01 Trent Kelly Trent Kelly R 206,455 0.687214361 W
MS 28 Mississippi 01 Jacob Owens Jacob Owens D 83,947 0.279429338
MS 28 Mississippi 01 Chase Wilson Chase Wilson LIB 6,181 0.020574324
MS 28 Mississippi 01 Cathy L. Toole Cathy L. Toole REF 3,840 0.012781977
MS 28 Mississippi 01 Total Votes 300,423
MS 28 Mississippi 02 Bennie Thompson Bennie Thompson D 192,343 0.67105915 W
MS 28 Mississippi 02 John, II Bouie John, II Bouie R 83,542 0.291466929
MS 28 Mississippi 02 Troy Ray Troy Ray IND 6,918 0.024135982
MS 28 Mississippi 02 Johnny McLeod Johnny McLeod REF 3,823 0.013337939
MS 28 Mississippi 02 Total Votes 286,626
MS 28 Mississippi 03 Gregg Harper Gregg Harper R 209,490 0.662010776 W
MS 28 Mississippi 03 Dennis Quinn Dennis Quinn D 96,101 0.303689425
MS 28 Mississippi 03 Roger I. Gerrard Roger I. Gerrard VPA 8,696 0.027480289
MS 28 Mississippi 03 Lajena Sheets Lajena Sheets REF 2,158 0.00681951
MS 28 Mississippi 03 Total Votes 316,445
MS 28 Mississippi 04 Steven Palazzo Steven Palazzo R 181,323 0.650418432 W
MS 28 Mississippi 04 Mark Gladney Mark Gladney D 77,505 0.278015919
MS 28 Mississippi 04 Richard Blake McCluskey Richard Blake McCluskey LIB 14,687 0.052683308
MS 28 Mississippi 04 Shawn O'Hara Shawn O'Hara REF 5,264 0.01888234
MS 28 Mississippi 04 Total Votes 278,779
MO 29 Missouri 01 Lacy Clay Lacy Clay D 236,993 0.754697093 W
MO 29 Missouri 01 Steven G. Bailey Steven G. Bailey R 62,714 0.19971085
MO 29 Missouri 01 Robb E. Cunningham Robb E. Cunningham LIB 14,317 0.045592057
MO 29 Missouri 01 Total Votes 314,024
MO 29 Missouri 02 Ann Wagner Ann Wagner R 241,954 0.585425458 W
MO 29 Missouri 02 Bill Otto Bill Otto D 155,689 0.37670096
MO 29 Missouri 02 Jim Higgins Jim Higgins LIB 11,758 0.028449344
MO 29 Missouri 02 David Justus Arnold David Justus Arnold GRE 3,895 0.009424238
MO 29 Missouri 02 Total Votes 413,296
MO 29 Missouri 03 Blaine Luetkemeyer Blaine Luetkemeyer R 249,865 0.67836713 W
MO 29 Missouri 03 Kevin Miller Kevin Miller D 102,891 0.279342334
MO 29 Missouri 03 Dan Hogan Dan Hogan LIB 11,962 0.032476047
MO 29 Missouri 03 Doanita Simmons Doanita Simmons CON 3,605 0.009787339
MO 29 Missouri 03 Harold Davis Harold Davis W 10 0.0000271
MO 29 Missouri 03 Total Votes 368,333
MO 29 Missouri 04 Vicky Hartzler Vicky Hartzler R 225,348 0.678280971 W
MO 29 Missouri 04 Gordon Christensen Gordon Christensen D 92,510 0.278448323
MO 29 Missouri 04 Mark Bliss Mark Bliss LIB 14,376 0.043270707
MO 29 Missouri 04 Total Votes 332,234
MO 29 Missouri 05 Emanuel, II Cleaver Emanuel, II Cleaver D 190,766 0.588293706 W
MO 29 Missouri 05 Jacob Turk Jacob Turk R 123,771 0.381691183
MO 29 Missouri 05 Roy Welborn Roy Welborn LIB 9,733 0.030015111
MO 29 Missouri 05 Total Votes 324,270
MO 29 Missouri 06 Sam Graves Sam Graves R 238,388 0.680245631 W
MO 29 Missouri 06 David M. Blackwell David M. Blackwell D 99,692 0.284473411
MO 29 Missouri 06 Russ Lee Monchil Russ Lee Monchil LIB 8,123 0.023179167
MO 29 Missouri 06 Mike Diel Mike Diel GRE 4,241 0.012101791
MO 29 Missouri 06 Total Votes 350,444
MO 29 Missouri 07 Billy Long Billy Long R 228,692 0.675390645 W
MO 29 Missouri 07 Genevieve (Gen) Williams Genevieve (Gen) Williams D 92,756 0.273934089
MO 29 Missouri 07 Benjamin T. Brixey Benjamin T. Brixey LIB 17,153 0.050657547
MO 29 Missouri 07 Amber Thomsen Amber Thomsen W 6 0.0000177
MO 29 Missouri 07 Total Votes 338,607
MO 29 Missouri 08 Jason Smith Jason Smith R 229,792 0.743974022 W
MO 29 Missouri 08 Dave Cowell Dave Cowell D 70,009 0.226660968
MO 29 Missouri 08 Jonathan Shell Jonathan Shell LIB 9,070 0.02936501
MO 29 Missouri 08 Total Votes 308,871
MT 30 Montana 00 Ryan Zinke Ryan Zinke R 285,358 0.561915283 W
MT 30 Montana 00 Denise Juneau Denise Juneau D 205,919 0.405487259
MT 30 Montana 00 Rick Breckenridge Rick Breckenridge LIB 16,554 0.032597459
MT 30 Montana 00 Total Votes 507,831
NE 31 Nebraska 01 Jeff Fortenberry Jeff Fortenberry R 189,771 0.694526384 W
NE 31 Nebraska 01 Daniel M. Wik Daniel M. Wik D 83,467 0.305473616
NE 31 Nebraska 01 Total Votes 273,238
NE 31 Nebraska 02 Don Bacon Don Bacon R 141,066 0.489289232 W
NE 31 Nebraska 02 Brad Ashford Brad Ashford D 137,602 0.477274304
NE 31 Nebraska 02 Steven Laird Steven Laird LIB 9,640 0.033436464
NE 31 Nebraska 02 Total Votes 288,308
NE 31 Nebraska 03 Adrian Smith Adrian Smith R 226,720 1 W
NE 31 Nebraska 03 Total Votes 226,720
NV 32 Nevada 01 Dina Titus Dina Titus D 116,537 0.618719207 W
NV 32 Nevada 01 Mary Perry Mary Perry R 54,174 0.28762105
NV 32 Nevada 01 Reuben D'Silva Reuben D'Silva NPY 13,897 0.073782068
NV 32 Nevada 01 Kamau A.  Bakari Kamau A.  Bakari IAP 3,744 0.019877676
NV 32 Nevada 01 Total Votes 188,352
NV 32 Nevada 02 Mark E. Amodei Mark E. Amodei R 182,676 0.583003549 W
NV 32 Nevada 02 H. D. "Chip" Evans H. D. "Chip" Evans D 115,722 0.369322389
NV 32 Nevada 02 John H. Everhart John H. Everhart IAP 8,693 0.027743381
NV 32 Nevada 02 Drew Knight Drew Knight NPY 6,245 0.019930681
NV 32 Nevada 02 Total Votes 313,336
NV 32 Nevada 03 Jacky Rosen Jacky Rosen D 146,869 0.472303779 W
NV 32 Nevada 03 Danny Tarkanian Danny Tarkanian R 142,926 0.459623814
NV 32 Nevada 03 Warren Markowitz Warren Markowitz IAP 11,602 0.037309905
NV 32 Nevada 03 David Goossen David Goossen NPY 9,566 0.030762502
NV 32 Nevada 03 Total Votes 310,963
NV 32 Nevada 04 Ruben Kihuen Ruben Kihuen D 128,985 0.485186913 W
NV 32 Nevada 04 Cresent Hardy Cresent Hardy R 118,328 0.445099795
NV 32 Nevada 04 Steve Brown Steve Brown LIB 10,206 0.038390647
NV 32 Nevada 04 Mike Little Mike Little IAP 8,327 0.031322645
NV 32 Nevada 04 Total Votes 265,846
NH 33 New Hampshire 01 Carol Shea-Porter Carol Shea-Porter D 162,080 0.44286089 W
NH 33 New Hampshire 01 Frank Guinta Frank Guinta R 157,176 0.429461397
NH 33 New Hampshire 01 Rich Ashooh Rich Ashooh R/W 55 0.00015028
NH 33 New Hampshire 01 Shawn P. O'Connor Shawn P. O'Connor IND 34,735 0.094908521
NH 33 New Hampshire 01 Brendan Kelly Brendan Kelly IND 6,074 0.016596354
NH 33 New Hampshire 01 Robert Lombardo Robert Lombardo LIB 5,507 0.015047106
NH 33 New Hampshire 01 Scattered Scattered W 194 0.000530078
NH 33 New Hampshire 01 John Potucek John Potucek W 163 0.000445375
NH 33 New Hampshire 01 Total Votes 365,984
NH 33 New Hampshire 02 Ann McLane Kuster Ann McLane Kuster D 174,495 0.497430108 W
NH 33 New Hampshire 02 Jim Lawrence Jim Lawrence R 158,973 0.453181791
NH 33 New Hampshire 02 John J. Babiarz John J. Babiarz IND 17,088 0.048712489
NH 33 New Hampshire 02 Scattered Scattered W 237 0.000675612
NH 33 New Hampshire 02 Total Votes 350,793
NJ 34 New Jersey 01 Donald W. Norcross Donald W. Norcross D 183,231 0.599827153 W
NJ 34 New Jersey 01 Bob Patterson Bob Patterson R 112,388 0.367914677
NJ 34 New Jersey 01 Scot John Tomaszewski Scot John Tomaszewski WDB 5,473 0.017916477
NJ 34 New Jersey 01 William F., IV Sihr William F., IV Sihr LIB 2,410 0.007889404
NJ 34 New Jersey 01 Michael Berman Michael Berman AO 1,971 0.006452289
NJ 34 New Jersey 01 Total Votes 305,473
NJ 34 New Jersey 02 Frank A. LoBiondo Frank A. LoBiondo R 176,338 0.592145604 W
NJ 34 New Jersey 02 David H. Cole David H. Cole D 110,838 0.372195638
NJ 34 New Jersey 02 John Ordille John Ordille LIB 3,773 0.01266979
NJ 34 New Jersey 02 James Keenan James Keenan MGW 2,653 0.008908813
NJ 34 New Jersey 02 Steven Fenichel Steven Fenichel RNN 1,574 0.005285515
NJ 34 New Jersey 02 Eric Beechwood Eric Beechwood PIP 1,387 0.004657566
NJ 34 New Jersey 02 Gabriel Brian Franco Gabriel Brian Franco FPR 1,232 0.004137074
NJ 34 New Jersey 02 Total Votes 297,795
NJ 34 New Jersey 03 Tom MacArthur Tom MacArthur R 194,596 0.593171981 W
NJ 34 New Jersey 03 Frederick John LaVergne Frederick John LaVergne D 127,526 0.388727672
NJ 34 New Jersey 03 Lawrence W., Jr. Berlinski Lawrence W., Jr. Berlinski CON 5,938 0.018100347
NJ 34 New Jersey 03 Total Votes 328,060
NJ 34 New Jersey 04 Christopher H. Smith Christopher H. Smith R 211,992 0.637217299 W
NJ 34 New Jersey 04 Lorna Phillipson Lorna Phillipson D 111,532 0.335249065
NJ 34 New Jersey 04 Hank Schroeder Hank Schroeder EG 5,840 0.017554196
NJ 34 New Jersey 04 Jeremy Marcus Jeremy Marcus LIB 3,320 0.00997944
NJ 34 New Jersey 04 Total Votes 332,684
NJ 34 New Jersey 05 Joshua S. Gottheimer Joshua S. Gottheimer D 172,587 0.511064522 W
NJ 34 New Jersey 05 Scott Garrett Scott Garrett R 157,690 0.466951534
NJ 34 New Jersey 05 Claudio Belusic Claudio Belusic LIB 7,424 0.021983944
NJ 34 New Jersey 05 Total Votes 337,701
NJ 34 New Jersey 06 Frank, Jr. Pallone Frank, Jr. Pallone D 167,895 0.637329892 W
NJ 34 New Jersey 06 Brent Sonnek-Schmelz Brent Sonnek-Schmelz R 91,908 0.348883026
NJ 34 New Jersey 06 Rajit B. Malliah Rajit B. Malliah GRE 1,912 0.007257957
NJ 34 New Jersey 06 Judith Shamy Judith Shamy LIB 1,720 0.006529125
NJ 34 New Jersey 06 Total Votes 263,435
NJ 34 New Jersey 07 Leonard Lance Leonard Lance R 185,850 0.54083548 W
NJ 34 New Jersey 07 Peter Jacob Peter Jacob D 148,188 0.431236632
NJ 34 New Jersey 07 Dan O'Neill Dan O'Neill LIB 5,343 0.015548474
NJ 34 New Jersey 07 Arthur T., Jr. Haussmann Arthur T., Jr. Haussmann CON 4,254 0.012379414
NJ 34 New Jersey 07 Total Votes 343,635
NJ 34 New Jersey 08 Albio Sires Albio Sires D 134,733 0.770391505 W
NJ 34 New Jersey 08 Agha Khan Agha Khan R 32,337 0.184900137
NJ 34 New Jersey 08 Pablo Olivera Pablo Olivera WUA 4,381 0.025050175
NJ 34 New Jersey 08 Dan Delaney Dan Delaney LIB 3,438 0.019658183
NJ 34 New Jersey 08 Total Votes 174,889
NJ 34 New Jersey 09 Bill, Jr. Pascrell Bill, Jr. Pascrell D 162,642 0.69731009 W
NJ 34 New Jersey 09 Hector L. Castillo Hector L. Castillo R 65,376 0.280292572
NJ 34 New Jersey 09 Diego Rivera Diego Rivera LIB 3,327 0.014264155
NJ 34 New Jersey 09 Jeff Boss Jeff Boss NSA 1,897 0.008133184
NJ 34 New Jersey 09 Total Votes 233,242
NJ 34 New Jersey 10 Donald M., Jr. Payne Donald M., Jr. Payne D 190,856 0.85673629 W
NJ 34 New Jersey 10 David H. Pinckney David H. Pinckney R 26,450 0.118731792
NJ 34 New Jersey 10 Joanne Miller Joanne Miller WOP 3,719 0.016694273
NJ 34 New Jersey 10 Aaron Walter Fraser Aaron Walter Fraser NBP 1,746 0.007837645
NJ 34 New Jersey 10 Total Votes 222,771
NJ 34 New Jersey 11 Rodney P. Frelinghuysen Rodney P. Frelinghuysen R 194,299 0.580010866 W
NJ 34 New Jersey 11 Joseph M. Wenzel Joseph M. Wenzel D 130,162 0.388552562
NJ 34 New Jersey 11 Thomas Depasquale Thomas Depasquale FI 7,056 0.02106319
NJ 34 New Jersey 11 Jeff Hetrick Jeff Hetrick LIB 3,475 0.010373382
NJ 34 New Jersey 11 Total Votes 334,992
NJ 34 New Jersey 12 Bonnie Watson Coleman Bonnie Watson Coleman D 181,430 0.628581525 W
NJ 34 New Jersey 12 Steven J. Uccio Steven J. Uccio R 92,407 0.320152858
NJ 34 New Jersey 12 R. Edward Forchion R. Edward Forchion LMP 6,094 0.021113244
NJ 34 New Jersey 12 Robert Shapiro Robert Shapiro TED 2,775 0.009614252
NJ 34 New Jersey 12 Thomas Fitzpatrick Thomas Fitzpatrick LIB 2,482 0.008599126
NJ 34 New Jersey 12 Steven Welzer Steven Welzer GRE 2,135 0.007396911
NJ 34 New Jersey 12 Michael R. Bollentin Michael R. Bollentin WTP 1,311 0.004542084
NJ 34 New Jersey 12 Total Votes 288,634
NM 35 New Mexico 01 Michelle Lujan Grisham Michelle Lujan Grisham D 181,088 0.651473017 W
NM 35 New Mexico 01 Richard Gregory Priem Richard Gregory Priem R 96,879 0.348526983
NM 35 New Mexico 01 Total Votes 277,967
NM 35 New Mexico 02 Steve Pearce Steve Pearce R 143,515 0.627204272 W
NM 35 New Mexico 02 Merrie Lee Soules Merrie Lee Soules D 85,232 0.372489806
NM 35 New Mexico 02 Jack A. McGrann Jack A. McGrann W 70 0.000305921
NM 35 New Mexico 02 Total Votes 228,817
NM 35 New Mexico 03 Ben R Lujan Ben R Lujan D 170,612 0.624170453 W
NM 35 New Mexico 03 Michael H. Romero Michael H. Romero R 102,730 0.375829547
NM 35 New Mexico 03 Total Votes 273,342
NY 36 New York 01 Lee M. Zeldin Lee M. Zeldin R 188,499 0.581984624 188,499 58.20% W
NY 36 New York 01 Lee M. Zeldin Lee M. Zeldin CRV 188,499 0.581984624 188,499 58.20%
NY 36 New York 01 Lee M. Zeldin Lee M. Zeldin REF 188,499 0.581984624 188,499 58.20%
NY 36 New York 01 Lee M. Zeldin Lee M. Zeldin IDP 188,499 0.581984624 188,499 58.20%
NY 36 New York 01 Anna E. Throne-Holst Anna E. Throne-Holst D 135,278 0.417666492 135,278 41.77%
NY 36 New York 01 Anna E. Throne-Holst Anna E. Throne-Holst WEP 135,278 0.417666492 135,278 41.77%
NY 36 New York 01 Anna E. Throne-Holst Anna E. Throne-Holst WF 135,278 0.417666492 135,278 41.77%
NY 36 New York 01 Scattered Scattered W
NY 36 New York 01 Total Votes
NY 36 New York 02 Peter T. King Peter T. King R/TRP 181,506 0.620331858 181,506 62.03% W
NY 36 New York 02 Peter T. King Peter T. King CRV 181,506 0.620331858 181,506 62.03%
NY 36 New York 02 Peter T. King Peter T. King REF 181,506 0.620331858 181,506 62.03%
NY 36 New York 02 Du Wayne Gregory Du Wayne Gregory D 110,938 0.37915207 110,938 37.92%
NY 36 New York 02 Du Wayne Gregory Du Wayne Gregory IDP 110,938 0.37915207 110,938 37.92%
NY 36 New York 02 Du Wayne Gregory Du Wayne Gregory WEP 110,938 0.37915207 110,938 37.92%
NY 36 New York 02 Du Wayne Gregory Du Wayne Gregory WF 110,938 0.37915207 110,938 37.92%
NY 36 New York 02 Scattered Scattered W
NY 36 New York 02 Total Votes
NY 36 New York 03 Thomas R. Suozzi Thomas R. Suozzi D W
NY 36 New York 03 Jack M. Martins Jack M. Martins R 152,304 0.469705848 152,304 46.97%
NY 36 New York 03 Jack M. Martins Jack M. Martins REF 152,304 0.469705848 152,304 46.97%
NY 36 New York 03 Jack M. Martins Jack M. Martins CRV 152,304 0.469705848 152,304 46.97%
NY 36 New York 03 Scattered Scattered W
NY 36 New York 03 Total Votes
NY 36 New York 04 Kathleen M. Rice Kathleen M. Rice D 186,423 0.595600639 186,423 59.56% W
NY 36 New York 04 Kathleen M. Rice Kathleen M. Rice WEP 186,423 0.595600639 186,423 59.56%
NY 36 New York 04 David H. Gurfein David H. Gurfein R/TRP 126,438 0.403955272 126,438 40.40%
NY 36 New York 04 David H. Gurfein David H. Gurfein CRV 126,438 0.403955272 126,438 40.40%
NY 36 New York 04 David H. Gurfein David H. Gurfein REF 126,438 0.403955272 126,438 40.40%
NY 36 New York 04 Scattered Scattered W
NY 36 New York 04 Total Votes
NY 36 New York 05 Gregory W. Meeks Gregory W. Meeks D 199,815 0.854447024 199,815 85.44% W
NY 36 New York 05 Gregory W. Meeks Gregory W. Meeks WEP 199,815 0.854447024 199,815 85.44%
NY 36 New York 05 Michael A. O'Reilly Michael A. O'Reilly R 30,312 0.129619889 30,312 12.96%
NY 36 New York 05 Michael A. O'Reilly Michael A. O'Reilly CRV 30,312 0.129619889 30,312 12.96%
NY 36 New York 05 Frank Francois Frank Francois GRE
NY 36 New York 05 Scattered Scattered W
NY 36 New York 05 Total Votes
NY 36 New York 06 Grace Meng Grace Meng D 136,506 0.720603063 136,506 72.06% W
NY 36 New York 06 Grace Meng Grace Meng WEP 136,506 0.720603063 136,506 72.06%
NY 36 New York 06 Danniel S. Maio Danniel S. Maio R 50,617 0.267202652 50,617 26.72%
NY 36 New York 06 Danniel S. Maio Danniel S. Maio BLM 50,617 0.267202652 50,617 26.72%
NY 36 New York 06 Danniel S. Maio Danniel S. Maio CRV 50,617 0.267202652 50,617 26.72%
NY 36 New York 06 Haris Bhatti Haris Bhatti HBP
NY 36 New York 06 Scattered Scattered W
NY 36 New York 06 Total Votes
NY 36 New York 07 Nydia M. Velazquez Nydia M. Velazquez D 172,146 0.906556427 172,146 90.66% W
NY 36 New York 07 Nydia M. Velazquez Nydia M. Velazquez WEP 172,146 0.906556427 172,146 90.66%
NY 36 New York 07 Allan E. Romaguera Allan E. Romaguera R 17,478 0.092042762 17,478 9.20%
NY 36 New York 07 Allan E. Romaguera Allan E. Romaguera CRV 17,478 0.092042762 17,478 9.20%
NY 36 New York 07 Scattered Scattered W
NY 36 New York 07 Total Votes
NY 36 New York 08 Hakeem S. Jeffries Hakeem S. Jeffries D 214,595 0.932198972 214,595 93.22% W
NY 36 New York 08 Hakeem S. Jeffries Hakeem S. Jeffries WF 214,595 0.932198972 214,595 93.22%
NY 36 New York 08 Daniel J. Cavanagh Daniel J. Cavanagh CRV
NY 36 New York 08 Scattered Scattered W
NY 36 New York 08 Total Votes
NY 36 New York 09 Yvette D. Clarke Yvette D. Clarke D 214,189 0.922854533 214,189 92.29% W
NY 36 New York 09 Yvette D. Clarke Yvette D. Clarke WF 214,189 0.922854533 214,189 92.29%
NY 36 New York 09 Alan Bellone Alan Bellone CRV
NY 36 New York 09 Scattered Scattered W
NY 36 New York 09 Total Votes
NY 36 New York 10 Jerrold L. Nadler Jerrold L. Nadler D 192,371 0.780330595 192,371 78.03% W
NY 36 New York 10 Jerrold L. Nadler Jerrold L. Nadler WF 192,371 0.780330595 192,371 78.03%
NY 36 New York 10 Jerrold L. Nadler Jerrold L. Nadler WEP 192,371 0.780330595 192,371 78.03%
NY 36 New York 10 Philip Rosenthal Philip Rosenthal R 53,857 0.218464659 53,857 21.85%
NY 36 New York 10 Philip Rosenthal Philip Rosenthal CRV 53,857 0.218464659 53,857 21.85%
NY 36 New York 10 Philip Rosenthal Philip Rosenthal IDP 53,857 0.218464659 53,857 21.85%
NY 36 New York 10 Philip Rosenthal Philip Rosenthal SID 53,857 0.218464659 53,857 21.85%
NY 36 New York 10 Scattered Scattered W
NY 36 New York 10 Total Votes
NY 36 New York 11 Dan Donovan Dan Donovan R 142,934 0.615254157 142,934 61.53% W
NY 36 New York 11 Dan Donovan Dan Donovan CRV 142,934 0.615254157 142,934 61.53%
NY 36 New York 11 Dan Donovan Dan Donovan IDP 142,934 0.615254157 142,934 61.53%
NY 36 New York 11 Dan Donovan Dan Donovan REF 142,934 0.615254157 142,934 61.53%
NY 36 New York 11 Richard A. Reichard Richard A. Reichard D
NY 36 New York 11 Henry J. Bardel Henry J. Bardel GRE
NY 36 New York 11 Scattered Scattered W
NY 36 New York 11 Total Votes
NY 36 New York 12 Carolyn B. Maloney Carolyn B. Maloney D 244,358 0.830948989 244,358 83.09% W
NY 36 New York 12 Carolyn B. Maloney Carolyn B. Maloney WF 244,358 0.830948989 244,358 83.09%
NY 36 New York 12 Robert Ardini Robert Ardini R
NY 36 New York 12 Scattered Scattered W
NY 36 New York 12 Total Votes
NY 36 New York 13 Adriano Espaillat Adriano Espaillat D W
NY 36 New York 13 Robert A., Jr. Evans Robert A., Jr. Evans R 16,089 0.068833775 16,089 6.88%
NY 36 New York 13 Robert A., Jr. Evans Robert A., Jr. Evans IDP 16,089 0.068833775 16,089 6.88%
NY 36 New York 13 Daniel Vila Rivera Daniel Vila Rivera GRE
NY 36 New York 13 Scott Lloyd Fenstermaker Scott Lloyd Fenstermaker TGP
NY 36 New York 13 Scattered Scattered W
NY 36 New York 13 Total Votes
NY 36 New York 14 Joseph Crowley Joseph Crowley D 147,587 0.827638611 147,587 82.76% W
NY 36 New York 14 Joseph Crowley Joseph Crowley WEP 147,587 0.827638611 147,587 82.76%
NY 36 New York 14 Joseph Crowley Joseph Crowley WF 147,587 0.827638611 147,587 82.76%
NY 36 New York 14 Frank J. Spotorno Frank J. Spotorno R 30,545 0.171290299 30,545 17.13%
NY 36 New York 14 Frank J. Spotorno Frank J. Spotorno CRV 30,545 0.171290299 30,545 17.13%
NY 36 New York 14 Scattered Scattered W
NY 36 New York 14 Total Votes
NY 36 New York 15 Jose E. Serrano Jose E. Serrano D W
NY 36 New York 15 Alejandro Vega Alejandro Vega R
NY 36 New York 15 Eduardo Ramirez Eduardo Ramirez CRV
NY 36 New York 15 Scattered Scattered W
NY 36 New York 15 Total Votes
NY 36 New York 16 Eliot L. Engel Eliot L. Engel D 209,857 0.944323449 209,857 94.43% W
NY 36 New York 16 Eliot L. Engel Eliot L. Engel WEP 209,857 0.944323449 209,857 94.43%
NY 36 New York 16 Eliot L. Engel Eliot L. Engel WF 209,857 0.944323449 209,857 94.43%
NY 36 New York 16 Derickson K. Lawrence Derickson K. Lawrence PCC
NY 36 New York 16 Scattered Scattered W
NY 36 New York 16 Total Votes
NY 36 New York 17 Nita M. Lowey Nita M. Lowey D 214,530 0.990511808 214,530 99.05% W
NY 36 New York 17 Nita M. Lowey Nita M. Lowey WEP 214,530 0.990511808 214,530 99.05%
NY 36 New York 17 Nita M. Lowey Nita M. Lowey WF 214,530 0.990511808 214,530 99.05%
NY 36 New York 17 Scattered Scattered W
NY 36 New York 17 Total Votes
NY 36 New York 18 Sean Patrick Maloney Sean Patrick Maloney D 162,060 0.555900483 162,060 55.59% W
NY 36 New York 18 Sean Patrick Maloney Sean Patrick Maloney IDP 162,060 0.555900483 162,060 55.59%
NY 36 New York 18 Sean Patrick Maloney Sean Patrick Maloney WEP 162,060 0.555900483 162,060 55.59%
NY 36 New York 18 Sean Patrick Maloney Sean Patrick Maloney WF 162,060 0.555900483 162,060 55.59%
NY 36 New York 18 Phil Oliva Phil Oliva R 129,369 0.443763356 129,369 44.38%
NY 36 New York 18 Phil Oliva Phil Oliva CRV 129,369 0.443763356 129,369 44.38%
NY 36 New York 18 Phil Oliva Phil Oliva REF 129,369 0.443763356 129,369 44.38%
NY 36 New York 18 Scattered Scattered W
NY 36 New York 18 Total Votes
NY 36 New York 19 John J. Faso John J. Faso R 166,171 0.540193229 166,171 54.02% W
NY 36 New York 19 John J. Faso John J. Faso CRV 166,171 0.540193229 166,171 54.02%
NY 36 New York 19 John J. Faso John J. Faso IDP 166,171 0.540193229 166,171 54.02%
NY 36 New York 19 John J. Faso John J. Faso REF 166,171 0.540193229 166,171 54.02%
NY 36 New York 19 Zephyr Teachout Zephyr Teachout D 141,224 0.45909484 141,224 45.91%
NY 36 New York 19 Zephyr Teachout Zephyr Teachout WF 141,224 0.45909484 141,224 45.91%
NY 36 New York 19 Scattered Scattered W
NY 36 New York 19 Total Votes
NY 36 New York 20 Paul D. Tonko Paul D. Tonko D 213,018 0.678533091 213,018 67.85% W
NY 36 New York 20 Paul D. Tonko Paul D. Tonko WF 213,018 0.678533091 213,018 67.85%
NY 36 New York 20 Paul D. Tonko Paul D. Tonko IDP 213,018 0.678533091 213,018 67.85%
NY 36 New York 20 Paul D. Tonko Paul D. Tonko WEP 213,018 0.678533091 213,018 67.85%
NY 36 New York 20 Joe Vitollo Joe Vitollo R 100,740 0.320890364 100,740 32.09%
NY 36 New York 20 Joe Vitollo Joe Vitollo CRV 100,740 0.320890364 100,740 32.09%
NY 36 New York 20 Joe Vitollo Joe Vitollo REF 100,740 0.320890364 100,740 32.09%
NY 36 New York 20 Scattered Scattered W
NY 36 New York 20 Total Votes
NY 36 New York 21 Elise M. Stefanik Elise M. Stefanik R 177,886 0.652538829 177,886 65.25% W
NY 36 New York 21 Elise M. Stefanik Elise M. Stefanik CRV 177,886 0.652538829 177,886 65.25%
NY 36 New York 21 Elise M. Stefanik Elise M. Stefanik IDP 177,886 0.652538829 177,886 65.25%
NY 36 New York 21 Elise M. Stefanik Elise M. Stefanik REF 177,886 0.652538829 177,886 65.25%
NY 36 New York 21 Mike Derrick Mike Derrick D 82,161 0.301391019 82,161 30.14%
NY 36 New York 21 Mike Derrick Mike Derrick WF 82,161 0.301391019 82,161 30.14%
NY 36 New York 21 Matthew J. Funiciello Matthew J. Funiciello GRE
NY 36 New York 21 Scattered Scattered W
NY 36 New York 21 Total Votes
NY 36 New York 22 Claudia Tenney Claudia Tenney R 129,444 0.464738216 129,444 46.47% W
NY 36 New York 22 Claudia Tenney Claudia Tenney CRV 129,444 0.464738216 129,444 46.47%
NY 36 New York 22 Kim A. Myers Kim A. Myers D 114,266 0.410245179 114,266 41.02%
NY 36 New York 22 Kim A. Myers Kim A. Myers WF 114,266 0.410245179 114,266 41.02%
NY 36 New York 22 Martin (Opportunity to Ballot) Babinec Martin (Opportunity to Ballot) Babinec REF 34,638 0.124359587 34,638 12.44%
NY 36 New York 22 Martin Babinec Martin Babinec UPJ 34,638 0.124359587 34,638 12.44%
NY 36 New York 22 Scattered Scattered W
NY 36 New York 22 Total Votes
NY 36 New York 23 Thomas W., II Reed Thomas W., II Reed REF 161,050 0.575723453 161,050 57.57% W
NY 36 New York 23 Thomas W., II Reed Thomas W., II Reed IDP 161,050 0.575723453 161,050 57.57%
NY 36 New York 23 John F. Plumb John F. Plumb D 118,584 0.423915491 118,584 42.39%
NY 36 New York 23 John F. Plumb John F. Plumb WF 118,584 0.423915491 118,584 42.39%
NY 36 New York 23 Thomas W., II Reed Thomas W., II Reed R 161,050 0.575723453 161,050 57.57% W
NY 36 New York 23 Thomas W., II Reed Thomas W., II Reed CRV 161,050 0.575723453 161,050 57.57%
NY 36 New York 23 Scattered Scattered W
NY 36 New York 23 Total Votes
NY 36 New York 24 John M. Katko John M. Katko R 182,761 0.604938517 182,761 60.49% W
NY 36 New York 24 John M. Katko John M. Katko CRV 182,761 0.604938517 182,761 60.49%
NY 36 New York 24 John M. Katko John M. Katko IDP 182,761 0.604938517 182,761 60.49%
NY 36 New York 24 John M. Katko John M. Katko REF 182,761 0.604938517 182,761 60.49%
NY 36 New York 24 Colleen Deacon Colleen Deacon D 119,040 0.394022144 119,040 39.40%
NY 36 New York 24 Colleen Deacon Colleen Deacon WF 119,040 0.394022144 119,040 39.40%
NY 36 New York 24 Scattered Scattered W
NY 36 New York 24 Total Votes
NY 36 New York 25 Louise M. Slaughter Louise M. Slaughter D 182,950 0.561487397 182,950 56.15% W
NY 36 New York 25 Louise M. Slaughter Louise M. Slaughter WEP 182,950 0.561487397 182,950 56.15%
NY 36 New York 25 Louise M. Slaughter Louise M. Slaughter WF 182,950 0.561487397 182,950 56.15%
NY 36 New York 25 Mark W. Assini Mark W. Assini R 142,650 0.437803647 142,650 43.78%
NY 36 New York 25 Mark W. Assini Mark W. Assini CRV 142,650 0.437803647 142,650 43.78%
NY 36 New York 25 Mark W. Assini Mark W. Assini IDP 142,650 0.437803647 142,650 43.78%
NY 36 New York 25 Mark W. Assini Mark W. Assini REF 142,650 0.437803647 142,650 43.78%
NY 36 New York 25 Scattered Scattered W
NY 36 New York 25 Total Votes
NY 36 New York 26 Brian Higgins Brian Higgins D 215,289 0.745772987 215,289 74.58% W
NY 36 New York 26 Brian Higgins Brian Higgins WEP 215,289 0.745772987 215,289 74.58%
NY 36 New York 26 Brian Higgins Brian Higgins WF 215,289 0.745772987 215,289 74.58%
NY 36 New York 26 Shelly Schratz Shelly Schratz R 73,377 0.254181981 73,377 25.42%
NY 36 New York 26 Shelly Schratz Shelly Schratz CRV 73,377 0.254181981 73,377 25.42%
NY 36 New York 26 Scattered Scattered W
NY 36 New York 26 Total Votes
NY 36 New York 27 Chris Collins Chris Collins R 220,885 0.671772975 220,885 67.18% W
NY 36 New York 27 Chris Collins Chris Collins CRV 220,885 0.671772975 220,885 67.18%
NY 36 New York 27 Chris Collins Chris Collins IDP 220,885 0.671772975 220,885 67.18%
NY 36 New York 27 Chris Collins Chris Collins REF 220,885 0.671772975 220,885 67.18%
NY 36 New York 27 Diana K. Kastenbaum Diana K. Kastenbaum D 107,832 0.327947228
NY 36 New York 27 Scattered Scattered W 92 0.000279798
NY 36 New York 27 Total Votes 328,809
NC 37 North Carolina 01 G. K. Butterfield G. K. Butterfield D 240,661 0.686232353 W
NC 37 North Carolina 01 H. Powell, Jr. Dew H. Powell, Jr. Dew R 101,567 0.28961303
NC 37 North Carolina 01 J.J. Summerell J.J. Summerell LIB 8,471 0.024154617
NC 37 North Carolina 01 Total Votes 350,699
NC 37 North Carolina 02 George Holding George Holding R 221,485 0.567085801 W
NC 37 North Carolina 02 John P. McNeil John P. McNeil D 169,082 0.432914199
NC 37 North Carolina 02 Total Votes 390,567
NC 37 North Carolina 03 Walter B. Jones Walter B. Jones R 217,531 0.672012135 W
NC 37 North Carolina 03 Ernest T. Reeves Ernest T. Reeves D 106,170 0.327987865
NC 37 North Carolina 03 Total Votes 323,701
NC 37 North Carolina 04 David Price David Price D 279,380 0.682178341 W
NC 37 North Carolina 04 Sue Googe Sue Googe R 130,161 0.317821659
NC 37 North Carolina 04 Total Votes 409,541
NC 37 North Carolina 05 Virginia Foxx Virginia Foxx R 207,625 0.584016855 W
NC 37 North Carolina 05 Josh Brannon Josh Brannon D 147,887 0.415983145
NC 37 North Carolina 05 Total Votes 355,512
NC 37 North Carolina 06 B. Mark Walker B. Mark Walker R 207,983 0.592291044 W
NC 37 North Carolina 06 Pete Glidewell Pete Glidewell D 143,167 0.407708956
NC 37 North Carolina 06 Total Votes 351,150
NC 37 North Carolina 07 David Rouzer David Rouzer R 211,801 0.60913818 W
NC 37 North Carolina 07 J. Wesley Casteen J. Wesley Casteen D 135,905 0.39086182
NC 37 North Carolina 07 Total Votes 347,706
NC 37 North Carolina 08 Richard Hudson Richard Hudson R 189,863 0.587729264 W
NC 37 North Carolina 08 Thomas Mills Thomas Mills D 133,182 0.412270736
NC 37 North Carolina 08 Total Votes 323,045
NC 37 North Carolina 09 Robert Pittenger Robert Pittenger R 193,452 0.581822775 W
NC 37 North Carolina 09 Christian Cano Christian Cano D 139,041 0.418177225
NC 37 North Carolina 09 Total Votes 332,493
NC 37 North Carolina 10 Patrick McHenry Patrick McHenry R 220,825 0.631390388 W
NC 37 North Carolina 10 Andy Millard Andy Millard D 128,919 0.368609612
NC 37 North Carolina 10 Total Votes 349,744
NC 37 North Carolina 11 Mark Meadows Mark Meadows R 230,405 0.640889772 W
NC 37 North Carolina 11 Rick Bryson Rick Bryson D 129,103 0.359110228
NC 37 North Carolina 11 Total Votes 359,508
NC 37 North Carolina 12 Alma Adams Alma Adams D 234,115 0.670240481 W
NC 37 North Carolina 12 Leon Threatt Leon Threatt R 115,185 0.329759519
NC 37 North Carolina 12 Total Votes 349,300
NC 37 North Carolina 13 Ted Budd Ted Budd R 199,443 0.561033722 W
NC 37 North Carolina 13 Bruce Davis Bruce Davis D 156,049 0.438966278
NC 37 North Carolina 13 Total Votes 355,492
ND 38 North Dakota 00 Kevin Cramer Kevin Cramer R 233,980 0.69130973 W
ND 38 North Dakota 00 Chase Iron Eyes Chase Iron Eyes DNL 80,377 0.237479281
ND 38 North Dakota 00 Jack Seaman Jack Seaman LIB 23,528 0.069515067
ND 38 North Dakota 00 Scattered Scattered W 574 0.001695922
ND 38 North Dakota 00 Total Votes 338,459
OH 39 Ohio 01 Steve Chabot Steve Chabot R 210,014 0.59194223 W
OH 39 Ohio 01 Michele Young Michele Young D 144,644 0.407691354
OH 39 Ohio 01 Sholom D. Keller Sholom D. Keller W 114 0.000321319
OH 39 Ohio 01 Kiumars G. Kiani Kiumars G. Kiani W 16 0.0000451
OH 39 Ohio 01 Total Votes 354,788
OH 39 Ohio 02 Brad Wenstrup Brad Wenstrup R 221,193 0.650034237 W
OH 39 Ohio 02 William R. Smith William R. Smith D 111,694 0.328242413
OH 39 Ohio 02 Janet Everhard Janet Everhard W 7,392 0.021723351
OH 39 Ohio 02 Total Votes 340,279
OH 39 Ohio 03 Joyce Beatty Joyce Beatty D 199,791 0.685739881 W
OH 39 Ohio 03 John Adams John Adams R 91,560 0.314260119
OH 39 Ohio 03 Total Votes 291,351
OH 39 Ohio 04 Jim Jordan Jim Jordan R 210,227 0.679888619 W
OH 39 Ohio 04 Janet Garrett Janet Garrett D 98,981 0.320111381
OH 39 Ohio 04 Total Votes 309,208
OH 39 Ohio 05 Bob Latta Bob Latta R 244,599 0.709001104 W
OH 39 Ohio 05 James, Jr. Neu James, Jr. Neu D 100,392 0.290998896
OH 39 Ohio 05 Total Votes 344,991
OH 39 Ohio 06 Bill Johnson Bill Johnson R 213,975 0.706759591 W
OH 39 Ohio 06 Michael L. Lorentz Michael L. Lorentz D 88,780 0.293240409
OH 39 Ohio 06 Total Votes 302,755
OH 39 Ohio 07 Bob Gibbs Bob Gibbs R 198,221 0.640345918 W
OH 39 Ohio 07 Roy Rich Roy Rich D 89,638 0.289572383
OH 39 Ohio 07 Dan Phillip Dan Phillip N 21,694 0.070081698
OH 39 Ohio 07 Total Votes 309,553
OH 39 Ohio 08 Warren Davidson Warren Davidson R 223,833 0.687646311 W
OH 39 Ohio 08 Steven Fought Steven Fought D 87,794 0.269715458
OH 39 Ohio 08 Derrick James Hendricks Derrick James Hendricks GRE 13,879 0.042638231
OH 39 Ohio 08 Total Votes 325,506
OH 39 Ohio 09 Marcy Kaptur Marcy Kaptur D 193,966 0.686853306 W
OH 39 Ohio 09 Donald P. Larson Donald P. Larson R 88,427 0.313128988
OH 39 Ohio 09 George A. Skalsky George A. Skalsky W 5 0.0000177
OH 39 Ohio 09 Total Votes 282,398
OH 39 Ohio 10 Mike Turner Mike Turner R 215,724 0.640887458 W
OH 39 Ohio 10 Robert Klepinger Robert Klepinger D 109,981 0.326738997
OH 39 Ohio 10 Tom McMasters Tom McMasters N 10,890 0.032352749
OH 39 Ohio 10 David A. Harlow David A. Harlow W 7 0.0000208
OH 39 Ohio 10 Total Votes 336,602
OH 39 Ohio 11 Marcia L. Fudge Marcia L. Fudge D 242,917 0.802537944 W
OH 39 Ohio 11 Beverly A. Goldstein Beverly A. Goldstein R 59,769 0.197462056
OH 39 Ohio 11 Total Votes 302,686
OH 39 Ohio 12 Pat Tiberi Pat Tiberi R 251,266 0.665545355 W
OH 39 Ohio 12 Ed Albertson Ed Albertson D 112,638 0.298351937
OH 39 Ohio 12 Joe Manchik Joe Manchik GRE 13,474 0.035689501
OH 39 Ohio 12 John J. Baumeister John J. Baumeister W 156 0.000413208
OH 39 Ohio 12 Total Votes 377,534
OH 39 Ohio 13 Tim Ryan Tim Ryan D 208,610 0.677296399 W
OH 39 Ohio 13 Richard A. Morckel Richard A. Morckel R 99,377 0.322648407
OH 39 Ohio 13 Calvin, Sr. Hill Calvin, Sr. Hill W 17 0.0000552
OH 39 Ohio 13 Total Votes 308,004
OH 39 Ohio 14 David P. Joyce David P. Joyce R 219,191 0.625779044 W
OH 39 Ohio 14 Michael Wager Michael Wager D 130,907 0.37373276
OH 39 Ohio 14 Andrew Jarvi Andrew Jarvi W 171 0.000488196
OH 39 Ohio 14 Total Votes 350,269
OH 39 Ohio 15 Steve Stivers Steve Stivers R 222,847 0.661645987 W
OH 39 Ohio 15 Scott Wharton Scott Wharton D 113,960 0.338354013
OH 39 Ohio 15 Total Votes 336,807
OH 39 Ohio 16 Jim Renacci Jim Renacci R 225,794 0.653293753 W
OH 39 Ohio 16 Keith Mundy Keith Mundy D 119,830 0.346706247
OH 39 Ohio 16 Total Votes 345,624
OK 40 Oklahoma 01 Jim Bridenstine Jim Bridenstine R Unopposed W
OK 40 Oklahoma 02 Markwayne Mullin Markwayne Mullin R 189,839 0.706062409 W
OK 40 Oklahoma 02 Joshua Harris-Till Joshua Harris-Till D 62,387 0.232034069
OK 40 Oklahoma 02 John McCarthy John McCarthy IND 16,644 0.061903522
OK 40 Oklahoma 02 Total Votes 268,870
OK 40 Oklahoma 03 Frank D. Lucas Frank D. Lucas R 227,525 0.782908659 W
OK 40 Oklahoma 03 Frankie Robbins Frankie Robbins D 63,090 0.217091341
OK 40 Oklahoma 03 Total Votes 290,615
OK 40 Oklahoma 04 Tom Cole Tom Cole R 204,143 0.696284649 W
OK 40 Oklahoma 04 Christina Owen Christina Owen D 76,472 0.260828339
OK 40 Oklahoma 04 Sevier White Sevier White LIB 12,574 0.042887011
OK 40 Oklahoma 04 Total Votes 293,189
OK 40 Oklahoma 05 Steve Russell Steve Russell R 160,184 0.570923477 W
OK 40 Oklahoma 05 Al McAffrey Al McAffrey D 103,273 0.368082831
OK 40 Oklahoma 05 Zachary Knight Zachary Knight LIB 17,113 0.060993691
OK 40 Oklahoma 05 Total Votes 280,570
OR 41 Oregon 01 Suzanne Bonamici Suzanne Bonamici D/IP 225,391 0.596122668 W
OR 41 Oregon 01 Brian J. Heinrich Brian J. Heinrich R 139,756 0.369631971
OR 41 Oregon 01 Kyle Sheahan Kyle Sheahan LIB 12,257 0.032417779
OR 41 Oregon 01 Scattered Scattered W 691 0.001827583
OR 41 Oregon 01 Total Votes 378,095
OR 41 Oregon 02 Greg Walden Greg Walden R/IP 272,952 0.716900554 W
OR 41 Oregon 02 James (Jim) Crary James (Jim) Crary D 106,640 0.280086884
OR 41 Oregon 02 Scattered Scattered W 1,147 0.003012562
OR 41 Oregon 02 Total Votes 380,739
OR 41 Oregon 03 Earl Blumenauer Earl Blumenauer D 274,687 0.718408285 W
OR 41 Oregon 03 David W. Walker David W. Walker IP/R 78,154 0.204401669
OR 41 Oregon 03 David Delk David Delk PRO 27,978 0.073172837
OR 41 Oregon 03 Scattered Scattered W 1,536 0.004017209
OR 41 Oregon 03 Total Votes 382,355
OR 41 Oregon 04 Peter A. DeFazio Peter A. DeFazio D/PRO/WF/IP 220,628 0.55494406 W
OR 41 Oregon 04 Art Robinson Art Robinson R/CON 157,743 0.396769861
OR 41 Oregon 04 Mike Beilstein Mike Beilstein PG 12,194 0.030671483
OR 41 Oregon 04 Gil Guthrie Gil Guthrie LIB 6,527 0.016417317
OR 41 Oregon 04 Scattered Scattered W 476 0.001197279
OR 41 Oregon 04 Total Votes 397,568
OR 41 Oregon 05 Kurt Schrader Kurt Schrader D/IP 199,505 0.534711129 W
OR 41 Oregon 05 Colm Willis Colm Willis R 160,443 0.430017582
OR 41 Oregon 05 Marvin Sandnes Marvin Sandnes PG 12,542 0.033614932
OR 41 Oregon 05 Scattered Scattered W 618 0.001656357
OR 41 Oregon 05 Total Votes 373,108
PA 42 Pennsylvania 01 Robert A. Brady Robert A. Brady D 245,791 0.82168073 W
PA 42 Pennsylvania 01 Deborah Williams Deborah Williams R 53,219 0.177911424
PA 42 Pennsylvania 01 Scattered Scattered W 122 0.000407847
PA 42 Pennsylvania 01 Total Votes 299,132
PA 42 Pennsylvania 03 Mike Kelly Mike Kelly R 244,893 0.972086931 W
PA 42 Pennsylvania 03 Scattered Scattered W 7,032 0.027913069
PA 42 Pennsylvania 03 Total Votes 251,925
PA 42 Pennsylvania 04 Scott Perry Scott Perry R 220,628 0.659997726 W
PA 42 Pennsylvania 04 Joshua Burkholder Joshua Burkholder W(D)/D 113,372 0.339146719
PA 42 Pennsylvania 04 Scattered Scattered W 286 0.000855555
PA 42 Pennsylvania 04 Total Votes 334,286
PA 42 Pennsylvania 05 Glenn GT Thompson Glenn GT Thompson R 206,761 0.670798849 W
PA 42 Pennsylvania 05 Kerith Strano Taylor Kerith Strano Taylor D 101,082 0.327942355
PA 42 Pennsylvania 05 Scattered Scattered W 388 0.001258796
PA 42 Pennsylvania 05 Total Votes 308,231
PA 42 Pennsylvania 06 Ryan Costello Ryan Costello R 207,469 0.571924379 W
PA 42 Pennsylvania 06 Mike Parrish Mike Parrish D 155,000 0.427284456
PA 42 Pennsylvania 06 Scattered Scattered W 287 0.000791165
PA 42 Pennsylvania 06 Total Votes 362,756
PA 42 Pennsylvania 07 Patrick L. Meehan Patrick L. Meehan R 225,678 W
PA 42 Pennsylvania 07 Mary Ellen Balchunis Mary Ellen Balchunis D 153,824 0.405174253
PA 42 Pennsylvania 07 Scattered Scattered W 147 0.0003872
PA 42 Pennsylvania 07 Total Votes 379,649
PA 42 Pennsylvania 08 Brian Fitzpatrick Brian Fitzpatrick R 207,263 0.544194485 W
PA 42 Pennsylvania 08 Steve Santarsiero Steve Santarsiero D 173,555 0.455689987
PA 42 Pennsylvania 08 Scattered Scattered W 44 0.000115527
PA 42 Pennsylvania 08 Total Votes 380,862
PA 42 Pennsylvania 09 Bill Shuster Bill Shuster R 186,580 0.628037861 W
PA 42 Pennsylvania 09 Art Halvorson Art Halvorson W(D)/D 107,985 0.363483055
PA 42 Pennsylvania 09 Adam Sedlock Adam Sedlock W(D)/W 996 0.003352587
PA 42 Pennsylvania 09 Scattered Scattered W 1,523 0.005126496
PA 42 Pennsylvania 09 Total Votes 297,084
PA 42 Pennsylvania 10 Tom Marino Tom Marino R 211,282 0.700695117 W
PA 42 Pennsylvania 10 Michael Molesevich Michael Molesevich W(D)/D 89,823 0.297888781
PA 42 Pennsylvania 10 Scattered Scattered W 427 0.001416102
PA 42 Pennsylvania 10 Total Votes 301,532
PA 42 Pennsylvania 11 Lou Barletta Lou Barletta R 199,421 0.636221231 W
PA 42 Pennsylvania 11 Mike Marsicano Mike Marsicano D 113,800 0.363060942
PA 42 Pennsylvania 11 Scattered Scattered W 225 0.000717827
PA 42 Pennsylvania 11 Total Votes 313,446
PA 42 Pennsylvania 12 Keith Rothfus Keith Rothfus R 221,851 0.61708756 W
PA 42 Pennsylvania 12 Erin R. McClelland Erin R. McClelland D 137,353 0.382052944
PA 42 Pennsylvania 12 Scattered Scattered W 309 0.000859496
PA 42 Pennsylvania 12 Total Votes 359,513
PA 42 Pennsylvania 13 Brendan F. Boyle Brendan F. Boyle D 239,316 0.999010657 W
PA 42 Pennsylvania 13 Scattered Scattered W 237 0.000989343
PA 42 Pennsylvania 13 Total Votes 239,553
PA 42 Pennsylvania 14 Mike Doyle Mike Doyle D 255,293 0.742553897 W
PA 42 Pennsylvania 14 Lenny McAllister Lenny McAllister W(R)/R 87,999 0.255956882
PA 42 Pennsylvania 14 Scattered Scattered W 512 0.001489221
PA 42 Pennsylvania 14 Total Votes 343,804
PA 42 Pennsylvania 15 Charles W. Dent Charles W. Dent R 190,618 0.583414951 W
PA 42 Pennsylvania 15 Rick Daugherty Rick Daugherty D 124,129 0.379915404
PA 42 Pennsylvania 15 Paul Rizzo Paul Rizzo LIB 11,727 0.035892241
PA 42 Pennsylvania 15 Scattered Scattered W 254 0.000777405
PA 42 Pennsylvania 15 Total Votes 326,728
PA 42 Pennsylvania 16 Lloyd K. Smucker Lloyd K. Smucker R 168,669 0.536620673 W
PA 42 Pennsylvania 16 Christina Hartman Christina Hartman D 134,586 0.428185558
PA 42 Pennsylvania 16 Shawn Patrick House Shawn Patrick House LIB 10,518 0.033463033
PA 42 Pennsylvania 16 Scattered Scattered W 544 0.001730737
PA 42 Pennsylvania 16 Total Votes 314,317
PA 42 Pennsylvania 17 Matt Cartwright Matt Cartwright D 157,734 0.537477298 W
PA 42 Pennsylvania 17 Matt Connolly Matt Connolly R 135,430 0.461476602
PA 42 Pennsylvania 17 Scattered Scattered W 307 0.0010461
PA 42 Pennsylvania 17 Total Votes 293,471
PA 42 Pennsylvania 18 Tim Murphy Tim Murphy R 293,684 0.983935218 W
PA 42 Pennsylvania 18 Scattered Scattered W 4,795 0.016064782
PA 42 Pennsylvania 18 Total Votes 298,479
PA 42 Pennsylvania 02 - FULL TERM Dwight Evans Dwight Evans D 322,514 0.901420969 W
PA 42 Pennsylvania 02 - FULL TERM James A. Jones James A. Jones R 35,131 0.098190528
PA 42 Pennsylvania 02 - FULL TERM Scattered Scattered W 139 0.000388503
PA 42 Pennsylvania 02 - FULL TERM Total Votes 357,784
PA 42 Pennsylvania 02 - UNEXPIRED TERM Dwight Evans Dwight Evans D 280,439 0.904312299 W
PA 42 Pennsylvania 02 - UNEXPIRED TERM James A. Jones James A. Jones R 29,661 0.095645781
PA 42 Pennsylvania 02 - UNEXPIRED TERM Scattered Scattered W 13 0.0000419
PA 42 Pennsylvania 02 - UNEXPIRED TERM Total Votes 310,113
RI 44 Rhode Island 01 David N. Cicilline David N. Cicilline D 130,540 0.645033774 W
RI 44 Rhode Island 01 Harold Russell Taub Harold Russell Taub R 71,023 0.35094403
RI 44 Rhode Island 01 Scattered Scattered W 687 0.003394655
RI 44 Rhode Island 01 John DeSimone John DeSimone W 42 0.000207533
RI 44 Rhode Island 01 Mickey Mouse Mickey Mouse W 23 0.000113649
RI 44 Rhode Island 01 Rufus, Jr. Bailey Rufus, Jr. Bailey W 19 0.0000939
RI 44 Rhode Island 01 Bernie Sanders Bernie Sanders W 11 0.0000544
RI 44 Rhode Island 01 Jan Malik Jan Malik W 9 0.0000445
RI 44 Rhode Island 01 Lincoln Chafee Lincoln Chafee W 6 0.0000296
RI 44 Rhode Island 01 Me Me W 6 0.0000296
RI 44 Rhode Island 01 None None W 6 0.0000296
RI 44 Rhode Island 01 None of the Above None of the Above W 5 0.0000247
RI 44 Rhode Island 01 Total Votes 202,377
RI 44 Rhode Island 02 James R. Langevin James R. Langevin D 133,108 0.580882225 W
RI 44 Rhode Island 02 Rhue R. Reis Rhue R. Reis R 70,301 0.30679299
RI 44 Rhode Island 02 Jeffrey C. Johnson Jeffrey C. Johnson IND 16,253 0.070927959
RI 44 Rhode Island 02 Salvatore G. Caiozzo Salvatore G. Caiozzo IND 8,942 0.039022815
RI 44 Rhode Island 02 Scattered Scattered W 511 0.00223
RI 44 Rhode Island 02 Mickey Mouse Mickey Mouse W 11 0.000048
RI 44 Rhode Island 02 Bernie Sanders Bernie Sanders W 9 0.0000393
RI 44 Rhode Island 02 John DeSimone John DeSimone W 8 0.0000349
RI 44 Rhode Island 02 None of the Above None of the Above W 5 0.0000218
RI 44 Rhode Island 02 Total Votes 229,148
SC 45 South Carolina 01 Mark Sanford Mark Sanford R 190,410 0.585570625 W
SC 45 South Carolina 01 Dimitri Cherny Dimitri Cherny D 110,539 0.339942184 119,779 36.84%
SC 45 South Carolina 01 Dimitri Cherny Dimitri Cherny WF 5,757 0.017704585 119,779 36.84%
SC 45 South Carolina 01 Dimitri Cherny Dimitri Cherny GRE 3,483 0.01071132 119,779 36.84%
SC 45 South Carolina 01 Albert Travison Albert Travison AM 2,774 0.008530922
SC 45 South Carolina 01 Michael, Jr. Grier Michael, Jr. Grier LIB 11,614 0.035716702
SC 45 South Carolina 01 Scattered Scattered W 593 0.001823661
SC 45 South Carolina 01 Total Votes 325,170
SC 45 South Carolina 02 Joe Wilson Joe Wilson R 183,746 0.602453803 W
SC 45 South Carolina 02 Arik Bjorn Arik Bjorn D 105,306 0.345270102 109,452 35.89%
SC 45 South Carolina 02 Arik Bjorn Arik Bjorn GRE 4,146 0.013593621 109,452 35.89%
SC 45 South Carolina 02 Eddie McCain Eddie McCain AM 11,444 0.037521804
SC 45 South Carolina 02 Scattered Scattered W 354 0.001160671
SC 45 South Carolina 02 Total Votes 304,996
SC 45 South Carolina 03 Jeff Duncan Jeff Duncan R 198,431 0.728237932 W
SC 45 South Carolina 03 Hosea Cleveland Hosea Cleveland D 73,766 0.270719793
SC 45 South Carolina 03 Scattered Scattered W 284 0.001042275
SC 45 South Carolina 03 Total Votes 272,481
SC 45 South Carolina 04 Trey Gowdy Trey Gowdy R 198,648 0.671857138 W
SC 45 South Carolina 04 Chris Fedalei Chris Fedalei D 91,676 0.310061893
SC 45 South Carolina 04 Michael Chandler Michael Chandler CON 5,103 0.017259106
SC 45 South Carolina 04 Scattered Scattered W 243 0.000821862
SC 45 South Carolina 04 Total Votes 295,670
SC 45 South Carolina 05 Mick Mulvaney Mick Mulvaney R 175,909 0.590732787 W
SC 45 South Carolina 05 Fran Person Fran Person D 115,437 0.387657372
SC 45 South Carolina 05 Scattered Scattered W 196 0.000658202
SC 45 South Carolina 05 Total Votes 297,781
SC 45 South Carolina 06 Rudy, Jr. Barnes Rudy, Jr. Barnes AM 6,239 0.020951639
SC 45 South Carolina 06 James E. "Jim" Clyburn James E. "Jim" Clyburn D 177,947 0.700851907 W
SC 45 South Carolina 06 Laura Sterling Laura Sterling R 70,099 0.276087924
SC 45 South Carolina 06 Rich Piotrowski Rich Piotrowski LIB 3,131 0.012331578
SC 45 South Carolina 06 Prince Charles Mallory Prince Charles Mallory GRE 2,499 0.009842419
SC 45 South Carolina 06 Scattered Scattered W 225 0.000886172
SC 45 South Carolina 06 Total Votes 253,901
SC 45 South Carolina 07 Tom Rice Tom Rice R 176,468 0.609639229 W
SC 45 South Carolina 07 Mal Hyman Mal Hyman D 103,454 0.357399737 112,744 38.95%
SC 45 South Carolina 07 Mal Hyman Mal Hyman WF 6,747 0.023308678 112,744 38.95%
SC 45 South Carolina 07 Mal Hyman Mal Hyman GRE 2,543 0.008785233 112,744 38.95%
SC 45 South Carolina 07 Scattered Scattered W 251 0.000867123
SC 45 South Carolina 07 Total Votes 289,463
SD 46 South Dakota 00 Kristi Noem Kristi Noem R 237,163 0.641027859 W
SD 46 South Dakota 00 Paula Hawks Paula Hawks D 132,810 0.358972141
SD 46 South Dakota 00 Total Votes 369,973
TN 47 Tennessee 01 Phil Roe Phil Roe R 198,293 0.783689359 W
TN 47 Tennessee 01 Alan Bohms Alan Bohms D 39,024 0.154229819
TN 47 Tennessee 01 Robert D. Franklin Robert D. Franklin IND 15,702 0.062057109
TN 47 Tennessee 01 Paul Krane Paul Krane W 6 0.0000237
TN 47 Tennessee 01 Total Votes 253,025
TN 47 Tennessee 02 John J., Jr. Duncan John J., Jr. Duncan R 212,455 0.756455265 W
TN 47 Tennessee 02 Stuart Starr Stuart Starr D 68,401 0.243544735
TN 47 Tennessee 02 Total Votes 280,856
TN 47 Tennessee 03 Chuck Fleischmann Chuck Fleischmann R 176,613 0.66394367 W
TN 47 Tennessee 03 Melody Shekari Melody Shekari D 76,727 0.288440862
TN 47 Tennessee 03 Rick Tyler Rick Tyler IND 5,098 0.019164981
TN 47 Tennessee 03 Cassandra Mitchell Cassandra Mitchell IND 5,075 0.019078517
TN 47 Tennessee 03 Topher Kersting Topher Kersting IND 2,493 0.009371969
TN 47 Tennessee 03 Total Votes 266,006
TN 47 Tennessee 04 Scott DesJarlais Scott DesJarlais R 165,796 0.650341065 W
TN 47 Tennessee 04 Steven Reynolds Steven Reynolds D 89,141 0.349658935
TN 47 Tennessee 04 Total Votes 254,937
TN 47 Tennessee 05 Jim Cooper Jim Cooper D 171,111 0.625533735 W
TN 47 Tennessee 05 Stacy Ries Snyder Stacy Ries Snyder R 102,433 0.374466265
TN 47 Tennessee 05 Total Votes 273,544
TN 47 Tennessee 06 Diane Black Diane Black R 202,234 0.710865057 W
TN 47 Tennessee 06 David W. Kent David W. Kent D 61,995 0.217916271
TN 47 Tennessee 06 David Ross David Ross IND 20,261 0.071218672
TN 47 Tennessee 06 Total Votes 284,490
TN 47 Tennessee 07 Marsha Blackburn Marsha Blackburn R 200,407 0.722153557 W
TN 47 Tennessee 07 Tharon Chandler Tharon Chandler D 65,226 0.235037638
TN 47 Tennessee 07 Leonard D. Ladner Leonard D. Ladner IND 11,880 0.042808805
TN 47 Tennessee 07 Total Votes 277,513
TN 47 Tennessee 08 David Kustoff David Kustoff R 194,386 0.687524979 W
TN 47 Tennessee 08 Rickey Hobson Rickey Hobson D 70,925 0.250855047
TN 47 Tennessee 08 Shelia L. Godwin Shelia L. Godwin IND 6,442 0.022784747
TN 47 Tennessee 08 James Hart James Hart IND 4,057 0.014349227
TN 47 Tennessee 08 Adrian M. Montague Adrian M. Montague IND 2,497 0.008831654
TN 47 Tennessee 08 Mark J. Rawles Mark J. Rawles IND 2,445 0.008647735
TN 47 Tennessee 08 Karen Free Spirit Talley-Lane Karen Free Spirit Talley-Lane IND 1,981 0.00700661
TN 47 Tennessee 08 Total Votes 282,733
TN 47 Tennessee 09 Steve Cohen Steve Cohen D 171,631 0.787453489 W
TN 47 Tennessee 09 Wayne Alberson Wayne Alberson R 41,123 0.18867483
TN 47 Tennessee 09 Paul Cook Paul Cook IND 5,203 0.023871681
TN 47 Tennessee 09 Total Votes 217,957
TX 48 Texas 01 Louie Gohmert Louie Gohmert R 192,434 0.738968315 W
TX 48 Texas 01 Shirley J. McKellar Shirley J. McKellar D 62,847 0.241339585
TX 48 Texas 01 Phil Gray Phil Gray LIB 5,062 0.019438652
TX 48 Texas 01 Renee Culler Renee Culler W 66 0.000253447
TX 48 Texas 01 Total Votes 260,409
TX 48 Texas 02 Ted Poe Ted Poe R 168,692 0.606291062 W
TX 48 Texas 02 Pat Bryan Pat Bryan D 100,231 0.360237352
TX 48 Texas 02 James B. Veasaw James B. Veasaw LIB 6,429 0.023106284
TX 48 Texas 02 Joshua Darr Joshua Darr GRE 2,884 0.010365301
TX 48 Texas 02 Total Votes 278,236
TX 48 Texas 03 Sam Johnson Sam Johnson R 193,684 0.612019579 W
TX 48 Texas 03 Adam P. Bell Adam P. Bell D 109,420 0.34575485
TX 48 Texas 03 Scott Jameson Scott Jameson LIB 10,448 0.033014501
TX 48 Texas 03 Paul Blair Paul Blair GRE 2,915 0.009211071
TX 48 Texas 03 Total Votes 316,467
TX 48 Texas 04 John Ratcliffe John Ratcliffe R 216,643 0.879875721 W
TX 48 Texas 04 Cody Wommack Cody Wommack LIB 29,577 0.120124279
TX 48 Texas 04 Total Votes 246,220
TX 48 Texas 05 Jeb Hensarling Jeb Hensarling R 155,469 0.80606092 W
TX 48 Texas 05 Ken Ashby Ken Ashby LIB 37,406 0.19393908
TX 48 Texas 05 Total Votes 192,875
TX 48 Texas 06 Joe Barton Joe Barton R 159,444 0.583411393 W
TX 48 Texas 06 Ruby Faye Woolridge Ruby Faye Woolridge D 106,667 0.390298431
TX 48 Texas 06 Darrel, Jr. Smith Darrel, Jr. Smith GRE 7,185 0.026290176
TX 48 Texas 06 Total Votes 273,296
TX 48 Texas 07 John Culberson John Culberson R 143,542 0.561735666 W
TX 48 Texas 07 James Cargas James Cargas D 111,991 0.438264334
TX 48 Texas 07 Total Votes 255,533
TX 48 Texas 08 Kevin Brady Kevin Brady R 236,379 1 W
TX 48 Texas 08 Total Votes 236,379
TX 48 Texas 09 Al Green Al Green D 152,032 0.806437411 W
TX 48 Texas 09 Jeff Martin Jeff Martin R 36,491 0.193562589
TX 48 Texas 09 Total Votes 188,523
TX 48 Texas 10 Michael T. McCaul Michael T. McCaul R 179,221 0.573323736 W
TX 48 Texas 10 Tawana W. Cadien Tawana W. Cadien D 120,170 0.384420985
TX 48 Texas 10 Bill Kelsey Bill Kelsey LIB 13,209 0.042255278
TX 48 Texas 10 Total Votes 312,600
TX 48 Texas 11 Mike Conaway Mike Conaway R 201,871 0.895024562 W
TX 48 Texas 11 Nicholas Landholt Nicholas Landholt LIB 23,677 0.104975438
TX 48 Texas 11 Total Votes 225,548
TX 48 Texas 12 Kay Granger Kay Granger R 196,482 0.694000671 W
TX 48 Texas 12 Bill Bradshaw Bill Bradshaw D 76,029 0.268544584
TX 48 Texas 12 Ed Colliver Ed Colliver LIB 10,604 0.037454745
TX 48 Texas 12 Total Votes 283,115
TX 48 Texas 13 Mac Thornberry Mac Thornberry R 199,050 0.899693548 W
TX 48 Texas 13 Calvin DeWeese Calvin DeWeese LIB 14,725 0.066556079
TX 48 Texas 13 H.F. "Rusty" Tomlinson H.F. "Rusty" Tomlinson GRE 7,467 0.033750373
TX 48 Texas 13 Total Votes 221,242
TX 48 Texas 14 Randy Weber Randy Weber R 160,631 0.618560949 W
TX 48 Texas 14 Michael Cole Michael Cole D 99,054 0.381439051
TX 48 Texas 14 Total Votes 259,685
TX 48 Texas 15 Vicente Gonzalez Vicente Gonzalez D 101,712 0.573093155 W
TX 48 Texas 15 Tim Westley Tim Westley R 66,877 0.376816412
TX 48 Texas 15 Vanessa S. Tijerina Vanessa S. Tijerina GRE 5,448 0.030696589
TX 48 Texas 15 Ross Lynn Leone Ross Lynn Leone LIB 3,442 0.019393844
TX 48 Texas 15 Total Votes 177,479
TX 48 Texas 16 Beto O'Rourke Beto O'Rourke D 150,228 0.857323845 W
TX 48 Texas 16 Jaime O. Perez Jaime O. Perez LIB 17,491 0.099817953
TX 48 Texas 16 Mary L. Gourdoux Mary L. Gourdoux GRE 7,510 0.042858203
TX 48 Texas 16 Total Votes 175,229
TX 48 Texas 17 Bill Flores Bill Flores R 149,417 0.608058504 W
TX 48 Texas 17 William Matta William Matta D 86,603 0.352434399
TX 48 Texas 17 Clark Patterson Clark Patterson LIB 9,708 0.039507097
TX 48 Texas 17 Total Votes 245,728
TX 48 Texas 18 Sheila Jackson Lee Sheila Jackson Lee D 150,157 0.734954089 W
TX 48 Texas 18 Lori Bartley Lori Bartley R 48,306 0.236437144
TX 48 Texas 18 Thomas Kleven Thomas Kleven GRE 5,845 0.028608767
TX 48 Texas 18 Total Votes 204,308
TX 48 Texas 19 Jodey Arrington Jodey Arrington R 176,314 0.866514314 W
TX 48 Texas 19 Troy Bonar Troy Bonar LIB 17,376 0.08539624
TX 48 Texas 19 Mark Lawson Mark Lawson GRE 9,785 0.048089446
TX 48 Texas 19 Total Votes 203,475
TX 48 Texas 20 Joaquin Castro Joaquin Castro D 149,640 0.797361312 W
TX 48 Texas 20 Jeffrey C. Blunt Jeffrey C. Blunt LIB 29,055 0.154820455
TX 48 Texas 20 Paul Pipkin Paul Pipkin GRE 8,974 0.047818233
TX 48 Texas 20 Total Votes 187,669
TX 48 Texas 21 Lamar Smith Lamar Smith R 202,967 0.57008238 W
TX 48 Texas 21 Tom Wakely Tom Wakely D 129,765 0.364476689
TX 48 Texas 21 Mark Loewe Mark Loewe LIB 14,735 0.041386846
TX 48 Texas 21 Antonio "Tony" Diaz Antonio "Tony" Diaz GRE 8,564 0.024054085
TX 48 Texas 21 Total Votes 356,031
TX 48 Texas 22 Pete Olson Pete Olson R 181,864 0.595215731 W
TX 48 Texas 22 Mark Gibson Mark Gibson D 123,679 0.404784269
TX 48 Texas 22 Total Votes 305,543
TX 48 Texas 23 Will Hurd Will Hurd R 110,577 0.482942808 W
TX 48 Texas 23 Pete P. Gallego Pete P. Gallego D 107,526 0.469617627
TX 48 Texas 23 Ruben S. Corvalan Ruben S. Corvalan LIB 10,862 0.047439565
TX 48 Texas 23 Total Votes 228,965
TX 48 Texas 24 Kenny E. Marchant Kenny E. Marchant R 154,845 0.561775536 W
TX 48 Texas 24 Jan McDowell Jan McDowell D 108,389 0.393233806
TX 48 Texas 24 Mike Kolls Mike Kolls LIB 8,625 0.031291382
TX 48 Texas 24 Kevin McCormick Kevin McCormick GRE 3,776 0.013699276
TX 48 Texas 24 Total Votes 275,635
TX 48 Texas 25 Roger Williams Roger Williams R 180,988 0.583463359 W
TX 48 Texas 25 Kathi Thomas Kathi Thomas D 117,073 0.377416214
TX 48 Texas 25 Loren Marc Schneiderman Loren Marc Schneiderman LIB 12,135 0.039120427
TX 48 Texas 25 Total Votes 310,196
TX 48 Texas 26 Michael C. Burgess Michael C. Burgess R 211,730 0.663563996 W
TX 48 Texas 26 Eric Mauck Eric Mauck D 94,507 0.296185909
TX 48 Texas 26 Mark Boler Mark Boler LIB 12,843 0.040250094
TX 48 Texas 26 Total Votes 319,080
TX 48 Texas 27 Blake Farenthold Blake Farenthold R 142,251 0.61692688 W
TX 48 Texas 27 Raul (Roy) Barrera Raul (Roy) Barrera D 88,329 0.38307312
TX 48 Texas 27 Total Votes 230,580
TX 48 Texas 28 Henry Cuellar Henry Cuellar D 122,086 0.661920821 W
TX 48 Texas 28 Zeffen Hardin Zeffen Hardin R 57,740 0.313052342
TX 48 Texas 28 Michael D. Cary Michael D. Cary GRE 4,616 0.025026838
TX 48 Texas 28 Total Votes 184,442
TX 48 Texas 29 Gene Green Gene Green D 95,649 0.724712461 W
TX 48 Texas 29 Julio Garza Julio Garza R 31,646 0.239775121
TX 48 Texas 29 N. Ruben Perez N. Ruben Perez LIB 3,234 0.024503341
TX 48 Texas 29 James Partsch-Galvan James Partsch-Galvan GRE 1,453 0.011009077
TX 48 Texas 29 Total Votes 131,982
TX 48 Texas 30 Eddie Bernice Johnson Eddie Bernice Johnson D 170,502 0.779167009 W
TX 48 Texas 30 Charles Lingerfelt Charles Lingerfelt R 41,518 0.189730654
TX 48 Texas 30 Jarrett R. Woods Jarrett R. Woods LIB 4,753 0.021720454
TX 48 Texas 30 Thom Prentice Thom Prentice GRE 2,053 0.009381883
TX 48 Texas 30 Total Votes 218,826
TX 48 Texas 31 John Carter John Carter R 166,060 0.583510197 W
TX 48 Texas 31 Mike Clark Mike Clark D 103,852 0.364920517
TX 48 Texas 31 Scott J. Ballard Scott J. Ballard LIB 14,676 0.051569286
TX 48 Texas 31 Total Votes 284,588
TX 48 Texas 32 Pete Sessions Pete Sessions R 162,868 0.710683289 W
TX 48 Texas 32 Ed Rankin Ed Rankin LIB 43,490 0.189770957
TX 48 Texas 32 Gary Stuard Gary Stuard GRE 22,813 0.099545754
TX 48 Texas 32 Total Votes 229,171
TX 48 Texas 33 Marc Veasey Marc Veasey D 93,147 0.737103245 W
TX 48 Texas 33 M. Mark Mitchell M. Mark Mitchell R 33,222 0.262896755
TX 48 Texas 33 Total Votes 126,369
TX 48 Texas 34 Filemon B. Vela Filemon B. Vela D 104,638 0.62672121 W
TX 48 Texas 34 Rey, Jr. Gonzalez Rey, Jr. Gonzalez R 62,323 0.37327879
TX 48 Texas 34 Total Votes 166,961
TX 48 Texas 35 Lloyd Doggett Lloyd Doggett D 124,612 0.630704134 W
TX 48 Texas 35 Susan Narvaiz Susan Narvaiz R 62,384 0.315746852
TX 48 Texas 35 Rhett Rosenquest Smith Rhett Rosenquest Smith LIB 6,504 0.032918978
TX 48 Texas 35 Scott Trimble Scott Trimble GRE 4,076 0.020630036
TX 48 Texas 35 Total Votes 197,576
TX 48 Texas 36 Brian Babin Brian Babin R 193,675 0.886120834 W
TX 48 Texas 36 Hal J., Jr. Ridley Hal J., Jr. Ridley GRE 24,890 0.113879166
TX 48 Texas 36 Total Votes 218,565
UT 49 Utah 01 Rob Bishop Rob Bishop R 182,928 0.659306915 W
UT 49 Utah 01 Peter C. Clemens Peter C. Clemens D 73,381 0.264478925
UT 49 Utah 01 Craig Bowden Craig Bowden LIB 16,296 0.058733849
UT 49 Utah 01 Chadwick H., III Fairbanks Chadwick H., III Fairbanks UN 4,850 0.017480312
UT 49 Utah 01 Total Votes 277,455
UT 49 Utah 02 Chris Stewart Chris Stewart R 170,542 0.616028695 W
UT 49 Utah 02 Charlene Albarran Charlene Albarran D 93,780 0.338750402
UT 49 Utah 02 Paul J., Jr. McCollaum Paul J., Jr. McCollaum CON 12,519 0.045220903
UT 49 Utah 02 Total Votes 276,841
UT 49 Utah 02 Jason Chaffetz Jason Chaffetz R 209,589 0.734613834 W
UT 49 Utah 03 Stephen P. Tryon Stephen P. Tryon D 75,716 0.265386166
UT 49 Utah 03 Total Votes 285,305
UT 49 Utah 04 Mia B. Love Mia B. Love R 147,597 0.537558865 W
UT 49 Utah 04 Doug Owens Doug Owens D 113,413 0.413058284
UT 49 Utah 04 Collin R. Simonsen Collin R. Simonsen CON 13,559 0.049382851
UT 49 Utah 04 Total Votes 274,569
VT 50 Vermont 00 Peter Welch Peter Welch D/R 264,414 0.895304977 W
VT 50 Vermont 00 Erica Clawson Erica Clawson LBU 29,410 0.099582168
VT 50 Vermont 00 Scattered Scattered W 994 0.003365681
VT 50 Vermont 00 Jim Douglas Jim Douglas W 110 0.00037246
VT 50 Vermont 00 No Name No Name W 102 0.000345372
VT 50 Vermont 00 Scott Milne Scott Milne W 90 0.00030474
VT 50 Vermont 00 Bernie Sanders Bernie Sanders W 62 0.000209932
VT 50 Vermont 00 Mark Donka Mark Donka W 42 0.000142212
VT 50 Vermont 00 Brian Dubie Brian Dubie W 35 0.00011851
VT 50 Vermont 00 Bruce Lisman Bruce Lisman W 14 0.0000474
VT 50 Vermont 00 Don Turner Don Turner W 14 0.0000474
VT 50 Vermont 00 Jeff Willey Jeff Willey W 11 0.0000372
VT 50 Vermont 00 Bill Lee Bill Lee W 11 0.0000372
VT 50 Vermont 00 Paul Dame Paul Dame W 10 0.0000339
VT 50 Vermont 00 Randy Brock Randy Brock W 9 0.0000305
VT 50 Vermont 00 Donald Trump Donald Trump W 6 0.0000203
VT 50 Vermont 00 Total Votes 295,334
VA 51 Virginia 01 Robert J. "Rob" Wittman Robert J. "Rob" Wittman R 230,213 0.598492155 W
VA 51 Virginia 01 M. D. "Matt" Rowe M. D. "Matt" Rowe D 140,785 0.366003302
VA 51 Virginia 01 Glenda Gail Parker Glenda Gail Parker IND 12,866 0.033448155
VA 51 Virginia 01 Scattered Scattered W 791 0.002056388
VA 51 Virginia 01 Total Votes 384,655
VA 51 Virginia 02 Scott W. Taylor Scott W. Taylor R 190,475 0.613169585 W
VA 51 Virginia 02 Shaun D. Brown Shaun D. Brown D 119,440 0.384496523
VA 51 Virginia 02 Scattered Scattered W 725 0.002333891
VA 51 Virginia 02 Total Votes 310,640
VA 51 Virginia 03 Robert C. "Bobby" Scott Robert C. "Bobby" Scott D 208,337 0.666953718 W
VA 51 Virginia 03 M. L. "Marty" Williams M. L. "Marty" Williams R 103,289 0.330661297
VA 51 Virginia 03 Scattered Scattered W 745 0.002384985
VA 51 Virginia 03 Total Votes 312,371
VA 51 Virginia 04 A. Donald McEachin A. Donald McEachin D 200,136 0.577261544 W
VA 51 Virginia 04 Michael L. "Mike" Wade Michael L. "Mike" Wade R 145,731 0.42033868
VA 51 Virginia 04 Scattered Scattered W 832 0.002399776
VA 51 Virginia 04 Total Votes 346,699
VA 51 Virginia 05 Tom A., Jr. Garrett Tom A., Jr. Garrett R 207,758 0.582338514 W
VA 51 Virginia 05 Jane D. Dittmar Jane D. Dittmar D 148,339 0.415789105
VA 51 Virginia 05 Scattered Scattered W 668 0.001872381
VA 51 Virginia 05 Total Votes 356,765
VA 51 Virginia 06 Robert W. "Bob" Goodlatte Robert W. "Bob" Goodlatte R 225,471 0.666175219 W
VA 51 Virginia 06 Kai E. Degner Kai E. Degner D 112,170 0.331416787
VA 51 Virginia 06 Scattered Scattered W 815 0.002407994
VA 51 Virginia 06 Total Votes 338,456
VA 51 Virginia 07 David A. Brat David A. Brat R 218,057 0.575031183 W
VA 51 Virginia 07 Eileen M. Bedell Eileen M. Bedell D 160,159 0.422350208
VA 51 Virginia 07 Scattered Scattered W 993 0.002618609
VA 51 Virginia 07 Total Votes 379,209
VA 51 Virginia 08 Donald S., Jr. Beyer Donald S., Jr. Beyer D 246,653 0.683842223 W
VA 51 Virginia 08 Charles A. Hernick Charles A. Hernick R 98,387 0.272776673
VA 51 Virginia 08 Julio Gracia Julio Gracia IND 14,664 0.040655749
VA 51 Virginia 08 Scattered Scattered W 983 0.002725355
VA 51 Virginia 08 Total Votes 360,687
VA 51 Virginia 09 H. Morgan Griffith H. Morgan Griffith R 212,838 0.685850732 W
VA 51 Virginia 09 Derek W. Kitts Derek W. Kitts D 87,877 0.283175489
VA 51 Virginia 09 Janice Allen Boyd Janice Allen Boyd IND 9,050 0.029162786
VA 51 Virginia 09 Scattered Scattered W 562 0.001810993
VA 51 Virginia 09 Total Votes 310,327
VA 51 Virginia 10 Barbara Jean Comstock Barbara Jean Comstock R 210,791 0.526823404 W
VA 51 Virginia 10 LuAnn L. Bennett LuAnn L. Bennett D 187,712 0.469142776
VA 51 Virginia 10 Scattered Scattered W 1,614 0.00403382
VA 51 Virginia 10 Total Votes 400,117
VA 51 Virginia 11 G. E. "Gerry" Connolly G. E. "Gerry" Connolly D 247,818 0.877784941 W
VA 51 Virginia 11 Scattered Scattered W 34,504 0.122215059
VA 51 Virginia 11 Total Votes 282,322
WA 53 Washington 01 Suzan DelBene Suzan DelBene D 193,619 0.554150281 W
WA 53 Washington 01 Robert J. Sutherland Robert J. Sutherland R 155,779 0.445849719
WA 53 Washington 01 Total Votes 349,398
WA 53 Washington 02 Rick Larsen Rick Larsen D 208,314 0.640162504 W
WA 53 Washington 02 Marc Hennemann Marc Hennemann R 117,094 0.359837496
WA 53 Washington 02 Total Votes 325,408
WA 53 Washington 03 Jaime Herrera Beutler Jaime Herrera Beutler R 193,457 0.617526981 W
WA 53 Washington 03 Jim Moeller Jim Moeller D 119,820 0.382473019
WA 53 Washington 03 Total Votes 313,277
WA 53 Washington 04 Dan Newhouse Dan Newhouse R 132,517 0.57636385 W
WA 53 Washington 04 Clint Didier Clint Didier R 97,402 0.42363615
WA 53 Washington 04 Total Votes 229,919
WA 53 Washington 05 Cathy McMorris Rodgers Cathy McMorris Rodgers R 192,959 0.596410269 W
WA 53 Washington 05 Joe Pakootas Joe Pakootas D 130,575 0.403589731
WA 53 Washington 05 Total Votes 323,534
WA 53 Washington 06 Derek Kilmer Derek Kilmer D 201,718 0.615305307 W
WA 53 Washington 06 Todd A. Bloom Todd A. Bloom R 126,116 0.384694693
WA 53 Washington 06 Total Votes 327,834
WA 53 Washington 07 Pramila Jayapal Pramila Jayapal D 212,010 0.559756465 W
WA 53 Washington 07 Brady Piñero Walkinshaw Brady Piñero Walkinshaw D 166,744 0.440243535
WA 53 Washington 07 Total Votes 378,754
WA 53 Washington 08 Dave Reichert Dave Reichert R 193,145 0.601950976 W
WA 53 Washington 08 Tony Ventrella Tony Ventrella D 127,720 0.398049024
WA 53 Washington 08 Total Votes 320,865
WA 53 Washington 09 Adam Smith Adam Smith D 205,165 0.728874315 W
WA 53 Washington 09 Doug Basler Doug Basler R 76,317 0.271125685
WA 53 Washington 09 Total Votes 281,482
WA 53 Washington 10 Denny Heck Denny Heck D 170,460 0.586652166 W
WA 53 Washington 10 Jim Postma Jim Postma R 120,104 0.413347834
WA 53 Washington 10 Total Votes 290,564
WV 54 West Virginia 01 David B. McKinley David B. McKinley R 163,469 0.689733885 W
WV 54 West Virginia 01 Mike Manypenny Mike Manypenny D 73,534 0.310266115
WV 54 West Virginia 01 Total Votes 237,003
WV 54 West Virginia 02 Alex X. Mooney Alex X. Mooney R 140,807 0.581813449 W
WV 54 West Virginia 02 Mark Hunt Mark Hunt D 101,207 0.418186551
WV 54 West Virginia 02 Total Votes 242,014
WV 54 West Virginia 03 Evan Jenkins Evan Jenkins R 140,741 0.678819478 W
WV 54 West Virginia 03 Matt Detch Matt Detch D 49,708 0.239750738
WV 54 West Virginia 03 Zane Lawhorn Zane Lawhorn LIB 16,883 0.081429784
WV 54 West Virginia 03 Total Votes 207,332
WI 55 Wisconsin 01 Paul Ryan Paul Ryan R 230,072 0.649471411 W
WI 55 Wisconsin 01 Ryan Solen Ryan Solen D 107,003 0.302059309
WI 55 Wisconsin 01 Jason Lebeck Jason Lebeck TC 9,429 0.026617172
WI 55 Wisconsin 01 Jason Lebeck Jason Lebeck LIB 7,486 0.021132267
WI 55 Wisconsin 01 Scattered Scattered W 255 0.000719841
WI 55 Wisconsin 01 Total Votes 354,245
WI 55 Wisconsin 02 Mark Pocan Mark Pocan D 273,537 0.6871753 W
WI 55 Wisconsin 02 Peter Theron Peter Theron R 124,044 0.311621364
WI 55 Wisconsin 02 Scattered Scattered W 479 0.001203336
WI 55 Wisconsin 02 Total Votes 398,060
WI 55 Wisconsin 03 Ron Kind Ron Kind D 257,401 0.988596997 W
WI 55 Wisconsin 03 Scattered Scattered W 2,800 0.010753927
WI 55 Wisconsin 03 Ryan Peterson Ryan Peterson W 169 0.000649076
WI 55 Wisconsin 03 Total Votes 260,370
WI 55 Wisconsin 04 Gwen S. Moore Gwen S. Moore D 220,181 0.767424514 W
WI 55 Wisconsin 04 Andy Craig Andy Craig IND 33,494 0.116740848
WI 55 Wisconsin 04 Andy Craig Andy Craig LIB 32,183 0.112171455
WI 55 Wisconsin 04 Scattered Scattered W 1,051 0.003663182
WI 55 Wisconsin 04 Total Votes 286,909
WI 55 Wisconsin 05 F. James., Jr. Sensenbrenner F. James., Jr. Sensenbrenner R 260,706 0.667033394 W
WI 55 Wisconsin 05 Khary Penebaker Khary Penebaker D 114,477 0.29289691
WI 55 Wisconsin 05 John Arndt John Arndt LIB 15,324 0.039207459
WI 55 Wisconsin 05 Scattered Scattered W 337 0.000862237
WI 55 Wisconsin 05 Total Votes 390,844
WI 55 Wisconsin 06 Glenn Grothman Glenn Grothman R 204,147 0.571547358 W
WI 55 Wisconsin 06 Sarah Lloyd Sarah Lloyd D 133,072 0.372559724
WI 55 Wisconsin 06 W. Michael Slattery W. Michael Slattery IND 19,716 0.055198596
WI 55 Wisconsin 06 Scattered Scattered W 248 0.000694322
WI 55 Wisconsin 06 Total Votes 357,183
WI 55 Wisconsin 07 Sean Duffy Sean Duffy R 223,418 0.616715111 W
WI 55 Wisconsin 07 Mary Hoeft Mary Hoeft D 138,643 0.382705212
WI 55 Wisconsin 07 Scattered Scattered W 210 0.000579677
WI 55 Wisconsin 07 Total Votes 362,271
WI 55 Wisconsin 08 Mike Gallagher Mike Gallagher R 227,892 0.62645555 W
WI 55 Wisconsin 08 Tom Nelson Tom Nelson D 135,682 0.372978174
WI 55 Wisconsin 08 Scattered Scattered W 188 0.000516796
WI 55 Wisconsin 08 Wendy Gribben Wendy Gribben W 16 0.000044
WI 55 Wisconsin 08 Jerry Kobishop Jerry Kobishop W 2 0.0000055
WI 55 Wisconsin 08 Total Votes 363,780
WY 56 Wyoming 00 Liz Cheney Liz Cheney R 156,176 0.620297407 W
WY 56 Wyoming 00 Ryan Greene Ryan Greene D 75,466 0.299734685
WY 56 Wyoming 00 Daniel Clyde Cummings Daniel Clyde Cummings CON 10,362 0.04115563
WY 56 Wyoming 00 Lawrence Gerard Struempf Lawrence Gerard Struempf LIB 9,033 0.035877129
WY 56 Wyoming 00 Scattered Scattered W 739 0.002935149
// https://d3js.org Version 4.11.0. Copyright 2017 Mike Bostock.
(function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(t.d3=t.d3||{})})(this,function(t){"use strict";function n(t){return function(n,e){return ls(t(n),e)}}function e(t,n){return[t,n]}function r(t,n,e){var r=(n-t)/Math.max(0,e),i=Math.floor(Math.log(r)/Math.LN10),o=r/Math.pow(10,i);return i>=0?(o>=ks?10:o>=Ss?5:o>=Es?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=ks?10:o>=Ss?5:o>=Es?2:1)}function i(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=ks?i*=10:o>=Ss?i*=5:o>=Es&&(i*=2),n<t?-i:i}function o(t){return t.length}function u(t){return"translate("+(t+.5)+",0)"}function a(t){return"translate(0,"+(t+.5)+")"}function c(t){return function(n){return+t(n)}}function s(t){var n=Math.max(0,t.bandwidth()-1)/2;return t.round()&&(n=Math.round(n)),function(e){return+t(e)+n}}function f(){return!this.__axis}function l(t,n){function e(e){var u=null==i?n.ticks?n.ticks.apply(n,r):n.domain():i,a=null==o?n.tickFormat?n.tickFormat.apply(n,r):Us:o,g=Math.max(l,0)+p,y=n.range(),m=+y[0]+.5,x=+y[y.length-1]+.5,b=(n.bandwidth?s:c)(n.copy()),w=e.selection?e.selection():e,M=w.selectAll(".domain").data([null]),T=w.selectAll(".tick").data(u,n).order(),N=T.exit(),k=T.enter().append("g").attr("class","tick"),S=T.select("line"),E=T.select("text");M=M.merge(M.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000")),T=T.merge(k),S=S.merge(k.append("line").attr("stroke","#000").attr(v+"2",d*l)),E=E.merge(k.append("text").attr("fill","#000").attr(v,d*g).attr("dy",t===Ds?"0em":t===Fs?"0.71em":"0.32em")),e!==w&&(M=M.transition(e),T=T.transition(e),S=S.transition(e),E=E.transition(e),N=N.transition(e).attr("opacity",Ys).attr("transform",function(t){return isFinite(t=b(t))?_(t):this.getAttribute("transform")}),k.attr("opacity",Ys).attr("transform",function(t){var n=this.parentNode.__axis;return _(n&&isFinite(n=n(t))?n:b(t))})),N.remove(),M.attr("d",t===Is||t==Os?"M"+d*h+","+m+"H0.5V"+x+"H"+d*h:"M"+m+","+d*h+"V0.5H"+x+"V"+d*h),T.attr("opacity",1).attr("transform",function(t){return _(b(t))}),S.attr(v+"2",d*l),E.attr(v,d*g).text(a),w.filter(f).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Os?"start":t===Is?"end":"middle"),w.each(function(){this.__axis=b})}var r=[],i=null,o=null,l=6,h=6,p=3,d=t===Ds||t===Is?-1:1,v=t===Is||t===Os?"x":"y",_=t===Ds||t===Fs?u:a;return e.scale=function(t){return arguments.length?(n=t,e):n},e.ticks=function(){return r=qs.call(arguments),e},e.tickArguments=function(t){return arguments.length?(r=null==t?[]:qs.call(t),e):r.slice()},e.tickValues=function(t){return arguments.length?(i=null==t?null:qs.call(t),e):i&&i.slice()},e.tickFormat=function(t){return arguments.length?(o=t,e):o},e.tickSize=function(t){return arguments.length?(l=h=+t,e):l},e.tickSizeInner=function(t){return arguments.length?(l=+t,e):l},e.tickSizeOuter=function(t){return arguments.length?(h=+t,e):h},e.tickPadding=function(t){return arguments.length?(p=+t,e):p},e}function h(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r)throw new Error("illegal type: "+t);r[t]=[]}return new p(r)}function p(t){this._=t}function d(t,n){return t.trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})}function v(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function _(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=Bs,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}function g(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===js&&n.documentElement.namespaceURI===js?n.createElement(t):n.createElementNS(e,t)}}function y(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function m(){return new x}function x(){this._="@"+(++Vs).toString(36)}function b(t,n,e){return t=w(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function w(n,e,r){return function(i){var o=t.event;t.event=i;try{n.call(this,this.__data__,e,r)}finally{t.event=o}}}function M(t){return t.trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}})}function T(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.capture);++i?n.length=i:delete this.__on}}}function N(t,n,e){var r=Qs.hasOwnProperty(t.type)?b:w;return function(i,o,u){var a,c=this.__on,s=r(n,o,u);if(c)for(var f=0,l=c.length;f<l;++f)if((a=c[f]).type===t.type&&a.name===t.name)return this.removeEventListener(a.type,a.listener,a.capture),this.addEventListener(a.type,a.listener=s,a.capture=e),void(a.value=n);this.addEventListener(t.type,s,e),a={type:t.type,name:t.name,value:n,listener:s,capture:e},c?c.push(a):this.__on=[a]}}function k(n,e,r,i){var o=t.event;n.sourceEvent=t.event,t.event=n;try{return e.apply(r,i)}finally{t.event=o}}function S(){}function E(){return[]}function A(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function C(t,n,e,r,i,o){for(var u,a=0,c=n.length,s=o.length;a<s;++a)(u=n[a])?(u.__data__=o[a],r[a]=u):e[a]=new A(t,o[a]);for(;a<c;++a)(u=n[a])&&(i[a]=u)}function z(t,n,e,r,i,o,u){var a,c,s,f={},l=n.length,h=o.length,p=new Array(l);for(a=0;a<l;++a)(c=n[a])&&(p[a]=s=af+u.call(c,c.__data__,a,n),s in f?i[a]=c:f[s]=c);for(a=0;a<h;++a)(c=f[s=af+u.call(t,o[a],a,o)])?(r[a]=c,c.__data__=o[a],f[s]=null):e[a]=new A(t,o[a]);for(a=0;a<l;++a)(c=n[a])&&f[p[a]]===c&&(i[a]=c)}function P(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function R(t){return function(){this.removeAttribute(t)}}function L(t){return function(){this.removeAttributeNS(t.space,t.local)}}function q(t,n){return function(){this.setAttribute(t,n)}}function U(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function D(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function O(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function F(t){return function(){this.style.removeProperty(t)}}function I(t,n,e){return function(){this.style.setProperty(t,n,e)}}function Y(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function B(t,n){return t.style.getPropertyValue(n)||cf(t).getComputedStyle(t,null).getPropertyValue(n)}function j(t){return function(){delete this[t]}}function H(t,n){return function(){this[t]=n}}function X(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function $(t){return t.trim().split(/^|\s+/)}function V(t){return t.classList||new W(t)}function W(t){this._node=t,this._names=$(t.getAttribute("class")||"")}function Z(t,n){for(var e=V(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function G(t,n){for(var e=V(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function J(t){return function(){Z(this,t)}}function Q(t){return function(){G(this,t)}}function K(t,n){return function(){(n.apply(this,arguments)?Z:G)(this,t)}}function tt(){this.textContent=""}function nt(t){return function(){this.textContent=t}}function et(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function rt(){this.innerHTML=""}function it(t){return function(){this.innerHTML=t}}function ot(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function ut(){this.nextSibling&&this.parentNode.appendChild(this)}function at(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ct(){return null}function st(){var t=this.parentNode;t&&t.removeChild(this)}function ft(t,n,e){var r=cf(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function lt(t,n){return function(){return ft(this,t,n)}}function ht(t,n){return function(){return ft(this,t,n.apply(this,arguments))}}function pt(t,n){this._groups=t,this._parents=n}function dt(){return new pt([[document.documentElement]],sf)}function vt(){t.event.stopImmediatePropagation()}function _t(t,n){var e=t.document.documentElement,r=ff(t).on("dragstart.drag",null);n&&(r.on("click.drag",hf,!0),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}function gt(t,n,e,r,i,o,u,a,c,s){this.target=t,this.type=n,this.subject=e,this.identifier=r,this.active=i,this.x=o,this.y=u,this.dx=a,this.dy=c,this._=s}function yt(){return!t.event.button}function mt(){return this.parentNode}function xt(n){return null==n?{x:t.event.x,y:t.event.y}:n}function bt(){return"ontouchstart"in this}function wt(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function Mt(){}function Tt(t){var n;return t=(t+"").trim().toLowerCase(),(n=mf.exec(t))?(n=parseInt(n[1],16),new At(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1)):(n=xf.exec(t))?Nt(parseInt(n[1],16)):(n=bf.exec(t))?new At(n[1],n[2],n[3],1):(n=wf.exec(t))?new At(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=Mf.exec(t))?kt(n[1],n[2],n[3],n[4]):(n=Tf.exec(t))?kt(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=Nf.exec(t))?Ct(n[1],n[2]/100,n[3]/100,1):(n=kf.exec(t))?Ct(n[1],n[2]/100,n[3]/100,n[4]):Sf.hasOwnProperty(t)?Nt(Sf[t]):"transparent"===t?new At(NaN,NaN,NaN,0):null}function Nt(t){return new At(t>>16&255,t>>8&255,255&t,1)}function kt(t,n,e,r){return r<=0&&(t=n=e=NaN),new At(t,n,e,r)}function St(t){return t instanceof Mt||(t=Tt(t)),t?(t=t.rgb(),new At(t.r,t.g,t.b,t.opacity)):new At}function Et(t,n,e,r){return 1===arguments.length?St(t):new At(t,n,e,null==r?1:r)}function At(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Ct(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Rt(t,n,e,r)}function zt(t){if(t instanceof Rt)return new Rt(t.h,t.s,t.l,t.opacity);if(t instanceof Mt||(t=Tt(t)),!t)return new Rt;if(t instanceof Rt)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),u=NaN,a=o-i,c=(o+i)/2;return a?(u=n===o?(e-r)/a+6*(e<r):e===o?(r-n)/a+2:(n-e)/a+4,a/=c<.5?o+i:2-o-i,u*=60):a=c>0&&c<1?0:u,new Rt(u,a,c,t.opacity)}function Pt(t,n,e,r){return 1===arguments.length?zt(t):new Rt(t,n,e,null==r?1:r)}function Rt(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Lt(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}function qt(t){if(t instanceof Dt)return new Dt(t.l,t.a,t.b,t.opacity);if(t instanceof Ht){var n=t.h*Ef;return new Dt(t.l,Math.cos(n)*t.c,Math.sin(n)*t.c,t.opacity)}t instanceof At||(t=St(t));var e=Yt(t.r),r=Yt(t.g),i=Yt(t.b),o=Ot((.4124564*e+.3575761*r+.1804375*i)/Cf),u=Ot((.2126729*e+.7151522*r+.072175*i)/zf);return new Dt(116*u-16,500*(o-u),200*(u-Ot((.0193339*e+.119192*r+.9503041*i)/Pf)),t.opacity)}function Ut(t,n,e,r){return 1===arguments.length?qt(t):new Dt(t,n,e,null==r?1:r)}function Dt(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function Ot(t){return t>Uf?Math.pow(t,1/3):t/qf+Rf}function Ft(t){return t>Lf?t*t*t:qf*(t-Rf)}function It(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Yt(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Bt(t){if(t instanceof Ht)return new Ht(t.h,t.c,t.l,t.opacity);t instanceof Dt||(t=qt(t));var n=Math.atan2(t.b,t.a)*Af;return new Ht(n<0?n+360:n,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function jt(t,n,e,r){return 1===arguments.length?Bt(t):new Ht(t,n,e,null==r?1:r)}function Ht(t,n,e,r){this.h=+t,this.c=+n,this.l=+e,this.opacity=+r}function Xt(t){if(t instanceof Vt)return new Vt(t.h,t.s,t.l,t.opacity);t instanceof At||(t=St(t));var n=t.r/255,e=t.g/255,r=t.b/255,i=(Hf*r+Bf*n-jf*e)/(Hf+Bf-jf),o=r-i,u=(Yf*(e-i)-Ff*o)/If,a=Math.sqrt(u*u+o*o)/(Yf*i*(1-i)),c=a?Math.atan2(u,o)*Af-120:NaN;return new Vt(c<0?c+360:c,a,i,t.opacity)}function $t(t,n,e,r){return 1===arguments.length?Xt(t):new Vt(t,n,e,null==r?1:r)}function Vt(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Wt(t,n,e,r,i){var o=t*t,u=o*t;return((1-3*t+3*o-u)*n+(4-6*o+3*u)*e+(1+3*t+3*o-3*u)*r+u*i)/6}function Zt(t,n){return function(e){return t+e*n}}function Gt(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}function Jt(t,n){var e=n-t;return e?Zt(t,e>180||e<-180?e-360*Math.round(e/360):e):Kf(isNaN(t)?n:t)}function Qt(t){return 1==(t=+t)?Kt:function(n,e){return e-n?Gt(n,e,t):Kf(isNaN(n)?e:n)}}function Kt(t,n){var e=n-t;return e?Zt(t,e):Kf(isNaN(t)?n:t)}function tn(t){return function(n){var e,r,i=n.length,o=new Array(i),u=new Array(i),a=new Array(i);for(e=0;e<i;++e)r=Et(n[e]),o[e]=r.r||0,u[e]=r.g||0,a[e]=r.b||0;return o=t(o),u=t(u),a=t(a),r.opacity=1,function(t){return r.r=o(t),r.g=u(t),r.b=a(t),r+""}}}function nn(t){return function(){return t}}function en(t){return function(n){return t(n)+""}}function rn(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}function o(t,r,i,o,u,a){if(t!==i||r!==o){var c=u.push("translate(",null,n,null,e);a.push({i:c-4,x:ol(t,i)},{i:c-2,x:ol(r,o)})}else(i||o)&&u.push("translate("+i+n+o+e)}function u(t,n,e,o){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:ol(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}function a(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:ol(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}function c(t,n,e,r,o,u){if(t!==e||n!==r){var a=o.push(i(o)+"scale(",null,",",null,")");u.push({i:a-4,x:ol(t,e)},{i:a-2,x:ol(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}return function(n,e){var r=[],i=[];return n=t(n),e=t(e),o(n.translateX,n.translateY,e.translateX,e.translateY,r,i),u(n.rotate,e.rotate,r,i),a(n.skewX,e.skewX,r,i),c(n.scaleX,n.scaleY,e.scaleX,e.scaleY,r,i),n=e=null,function(t){for(var n,e=-1,o=i.length;++e<o;)r[(n=i[e]).i]=n.x(t);return r.join("")}}}function on(t){return((t=Math.exp(t))+1/t)/2}function un(t){return((t=Math.exp(t))-1/t)/2}function an(t){return((t=Math.exp(2*t))-1)/(t+1)}function cn(t){return function(n,e){var r=t((n=Pt(n)).h,(e=Pt(e)).h),i=Kt(n.s,e.s),o=Kt(n.l,e.l),u=Kt(n.opacity,e.opacity);return function(t){return n.h=r(t),n.s=i(t),n.l=o(t),n.opacity=u(t),n+""}}}function sn(t){return function(n,e){var r=t((n=jt(n)).h,(e=jt(e)).h),i=Kt(n.c,e.c),o=Kt(n.l,e.l),u=Kt(n.opacity,e.opacity);return function(t){return n.h=r(t),n.c=i(t),n.l=o(t),n.opacity=u(t),n+""}}}function fn(t){return function n(e){function r(n,r){var i=t((n=$t(n)).h,(r=$t(r)).h),o=Kt(n.s,r.s),u=Kt(n.l,r.l),a=Kt(n.opacity,r.opacity);return function(t){return n.h=i(t),n.s=o(t),n.l=u(Math.pow(t,e)),n.opacity=a(t),n+""}}return e=+e,r.gamma=n,r}(1)}function ln(){return Cl||(Rl(hn),Cl=Pl.now()+zl)}function hn(){Cl=0}function pn(){this._call=this._time=this._next=null}function dn(t,n,e){var r=new pn;return r.restart(t,n,e),r}function vn(){ln(),++Nl;for(var t,n=Zf;n;)(t=Cl-n._time)>=0&&n._call.call(null,t),n=n._next;--Nl}function _n(){Cl=(Al=Pl.now())+zl,Nl=kl=0;try{vn()}finally{Nl=0,yn(),Cl=0}}function gn(){var t=Pl.now(),n=t-Al;n>El&&(zl-=n,Al=t)}function yn(){for(var t,n,e=Zf,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Zf=n);Gf=t,mn(r)}function mn(t){Nl||(kl&&(kl=clearTimeout(kl)),t-Cl>24?(t<1/0&&(kl=setTimeout(_n,t-Pl.now()-zl)),Sl&&(Sl=clearInterval(Sl))):(Sl||(Al=Pl.now(),Sl=setInterval(gn,El)),Nl=1,Rl(_n)))}function xn(t,n){var e=t.__transition;if(!e||!(e=e[n])||e.state>Dl)throw new Error("too late");return e}function bn(t,n){var e=t.__transition;if(!e||!(e=e[n])||e.state>Fl)throw new Error("too late");return e}function wn(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("too late");return e}function Mn(t,n,e){function r(c){var s,f,l,h;if(e.state!==Ol)return o();for(s in a)if((h=a[s]).name===e.name){if(h.state===Il)return Ll(r);h.state===Yl?(h.state=jl,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete a[s]):+s<n&&(h.state=jl,h.timer.stop(),delete a[s])}if(Ll(function(){e.state===Il&&(e.state=Yl,e.timer.restart(i,e.delay,e.time),i(c))}),e.state=Fl,e.on.call("start",t,t.__data__,e.index,e.group),e.state===Fl){for(e.state=Il,u=new Array(l=e.tween.length),s=0,f=-1;s<l;++s)(h=e.tween[s].value.call(t,t.__data__,e.index,e.group))&&(u[++f]=h);u.length=f+1}}function i(n){for(var r=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(o),e.state=Bl,1),i=-1,a=u.length;++i<a;)u[i].call(null,r);e.state===Bl&&(e.on.call("end",t,t.__data__,e.index,e.group),o())}function o(){e.state=jl,e.timer.stop(),delete a[n];for(var r in a)return;delete t.__transition}var u,a=t.__transition;a[n]=e,e.timer=dn(function(t){e.state=Ol,e.timer.restart(r,e.delay,e.time),e.delay<=t&&r(t-e.delay)},0,e.time)}function Tn(t,n){var e,r;return function(){var i=bn(this,t),o=i.tween;if(o!==e)for(var u=0,a=(r=e=o).length;u<a;++u)if(r[u].name===n){(r=r.slice()).splice(u,1);break}i.tween=r}}function Nn(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=bn(this,t),u=o.tween;if(u!==r){i=(r=u).slice();for(var a={name:n,value:e},c=0,s=i.length;c<s;++c)if(i[c].name===n){i[c]=a;break}c===s&&i.push(a)}o.tween=i}}function kn(t,n,e){var r=t._id;return t.each(function(){var t=bn(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)}),function(t){return wn(t,r).value[n]}}function Sn(t){return function(){this.removeAttribute(t)}}function En(t){return function(){this.removeAttributeNS(t.space,t.local)}}function An(t,n,e){var r,i;return function(){var o=this.getAttribute(t);return o===e?null:o===r?i:i=n(r=o,e)}}function Cn(t,n,e){var r,i;return function(){var o=this.getAttributeNS(t.space,t.local);return o===e?null:o===r?i:i=n(r=o,e)}}function zn(t,n,e){var r,i,o;return function(){var u,a=e(this);{if(null!=a)return(u=this.getAttribute(t))===a?null:u===r&&a===i?o:o=n(r=u,i=a);this.removeAttribute(t)}}}function Pn(t,n,e){var r,i,o;return function(){var u,a=e(this);{if(null!=a)return(u=this.getAttributeNS(t.space,t.local))===a?null:u===r&&a===i?o:o=n(r=u,i=a);this.removeAttributeNS(t.space,t.local)}}}function Rn(t,n){function e(){var e=this,r=n.apply(e,arguments);return r&&function(n){e.setAttributeNS(t.space,t.local,r(n))}}return e._value=n,e}function Ln(t,n){function e(){var e=this,r=n.apply(e,arguments);return r&&function(n){e.setAttribute(t,r(n))}}return e._value=n,e}function qn(t,n){return function(){xn(this,t).delay=+n.apply(this,arguments)}}function Un(t,n){return n=+n,function(){xn(this,t).delay=n}}function Dn(t,n){return function(){bn(this,t).duration=+n.apply(this,arguments)}}function On(t,n){return n=+n,function(){bn(this,t).duration=n}}function Fn(t,n){if("function"!=typeof n)throw new Error;return function(){bn(this,t).ease=n}}function In(t){return(t+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t})}function Yn(t,n,e){var r,i,o=In(n)?xn:bn;return function(){var u=o(this,t),a=u.on;a!==r&&(i=(r=a).copy()).on(n,e),u.on=i}}function Bn(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}function jn(t,n){var e,r,i;return function(){var o=B(this,t),u=(this.style.removeProperty(t),B(this,t));return o===u?null:o===e&&u===r?i:i=n(e=o,r=u)}}function Hn(t){return function(){this.style.removeProperty(t)}}function Xn(t,n,e){var r,i;return function(){var o=B(this,t);return o===e?null:o===r?i:i=n(r=o,e)}}function $n(t,n,e){var r,i,o;return function(){var u=B(this,t),a=e(this);return null==a&&(this.style.removeProperty(t),a=B(this,t)),u===a?null:u===r&&a===i?o:o=n(r=u,i=a)}}function Vn(t,n,e){function r(){var r=this,i=n.apply(r,arguments);return i&&function(n){r.style.setProperty(t,i(n),e)}}return r._value=n,r}function Wn(t){return function(){this.textContent=t}}function Zn(t){return function(){var n=t(this);this.textContent=null==n?"":n}}function Gn(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function Jn(t){return dt().transition(t)}function Qn(){return++Wl}function Kn(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function te(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}function ne(t){return(1-Math.cos(Kl*t))/2}function ee(t){return((t*=2)<=1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}function re(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}function ie(t){return(t=+t)<nh?fh*t*t:t<rh?fh*(t-=eh)*t+ih:t<uh?fh*(t-=oh)*t+ah:fh*(t-=ch)*t+sh}function oe(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))return yh.time=ln(),yh;return e}function ue(){t.event.stopImmediatePropagation()}function ae(t){return{type:t}}function ce(){return!t.event.button}function se(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function fe(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function le(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function he(n){function e(t){var e=t.property("__brush",a).selectAll(".overlay").data([ae("overlay")]);e.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",Ch.overlay).merge(e).each(function(){var t=fe(this).extent;ff(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])}),t.selectAll(".selection").data([ae("selection")]).enter().append("rect").attr("class","selection").attr("cursor",Ch.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var i=t.selectAll(".handle").data(n.handles,function(t){return t.type});i.exit().remove(),i.enter().append("rect").attr("class",function(t){return"handle handle--"+t.type}).attr("cursor",function(t){return Ch[t.type]}),t.each(r).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",u)}function r(){var t=ff(this),n=fe(this).selection;n?(t.selectAll(".selection").style("display",null).attr("x",n[0][0]).attr("y",n[0][1]).attr("width",n[1][0]-n[0][0]).attr("height",n[1][1]-n[0][1]),t.selectAll(".handle").style("display",null).attr("x",function(t){return"e"===t.type[t.type.length-1]?n[1][0]-p/2:n[0][0]-p/2}).attr("y",function(t){return"s"===t.type[0]?n[1][1]-p/2:n[0][1]-p/2}).attr("width",function(t){return"n"===t.type||"s"===t.type?n[1][0]-n[0][0]+p:p}).attr("height",function(t){return"e"===t.type||"w"===t.type?n[1][1]-n[0][1]+p:p})):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function i(t,n){return t.__brush.emitter||new o(t,n)}function o(t,n){this.that=t,this.args=n,this.state=t.__brush,this.active=0}function u(){function e(){var t=nf(w);!L||x||b||(Math.abs(t[0]-U[0])>Math.abs(t[1]-U[1])?b=!0:x=!0),U=t,m=!0,wh(),o()}function o(){var t;switch(g=U[0]-q[0],y=U[1]-q[1],T){case Th:case Mh:N&&(g=Math.max(C-a,Math.min(P-p,g)),s=a+g,d=p+g),k&&(y=Math.max(z-l,Math.min(R-v,y)),h=l+y,_=v+y);break;case Nh:N<0?(g=Math.max(C-a,Math.min(P-a,g)),s=a+g,d=p):N>0&&(g=Math.max(C-p,Math.min(P-p,g)),s=a,d=p+g),k<0?(y=Math.max(z-l,Math.min(R-l,y)),h=l+y,_=v):k>0&&(y=Math.max(z-v,Math.min(R-v,y)),h=l,_=v+y);break;case kh:N&&(s=Math.max(C,Math.min(P,a-g*N)),d=Math.max(C,Math.min(P,p+g*N))),k&&(h=Math.max(z,Math.min(R,l-y*k)),_=Math.max(z,Math.min(R,v+y*k)))}d<s&&(N*=-1,t=a,a=p,p=t,t=s,s=d,d=t,M in zh&&F.attr("cursor",Ch[M=zh[M]])),_<h&&(k*=-1,t=l,l=v,v=t,t=h,h=_,_=t,M in Ph&&F.attr("cursor",Ch[M=Ph[M]])),S.selection&&(A=S.selection),x&&(s=A[0][0],d=A[1][0]),b&&(h=A[0][1],_=A[1][1]),A[0][0]===s&&A[0][1]===h&&A[1][0]===d&&A[1][1]===_||(S.selection=[[s,h],[d,_]],r.call(w),D.brush())}function u(){if(ue(),t.event.touches){if(t.event.touches.length)return;c&&clearTimeout(c),c=setTimeout(function(){c=null},500),O.on("touchmove.brush touchend.brush touchcancel.brush",null)}else _t(t.event.view,m),I.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);O.attr("pointer-events","all"),F.attr("cursor",Ch.overlay),S.selection&&(A=S.selection),le(A)&&(S.selection=null,r.call(w)),D.end()}if(t.event.touches){if(t.event.changedTouches.length<t.event.touches.length)return wh()}else if(c)return;if(f.apply(this,arguments)){var a,s,l,h,p,d,v,_,g,y,m,x,b,w=this,M=t.event.target.__data__.type,T="selection"===(t.event.metaKey?M="overlay":M)?Mh:t.event.altKey?kh:Nh,N=n===Eh?null:Rh[M],k=n===Sh?null:Lh[M],S=fe(w),E=S.extent,A=S.selection,C=E[0][0],z=E[0][1],P=E[1][0],R=E[1][1],L=N&&k&&t.event.shiftKey,q=nf(w),U=q,D=i(w,arguments).beforestart();"overlay"===M?S.selection=A=[[a=n===Eh?C:q[0],l=n===Sh?z:q[1]],[p=n===Eh?P:a,v=n===Sh?R:l]]:(a=A[0][0],l=A[0][1],p=A[1][0],v=A[1][1]),s=a,h=l,d=p,_=v;var O=ff(w).attr("pointer-events","none"),F=O.selectAll(".overlay").attr("cursor",Ch[M]);if(t.event.touches)O.on("touchmove.brush",e,!0).on("touchend.brush touchcancel.brush",u,!0);else{var I=ff(t.event.view).on("keydown.brush",function(){switch(t.event.keyCode){case 16:L=N&&k;break;case 18:T===Nh&&(N&&(p=d-g*N,a=s+g*N),k&&(v=_-y*k,l=h+y*k),T=kh,o());break;case 32:T!==Nh&&T!==kh||(N<0?p=d-g:N>0&&(a=s-g),k<0?v=_-y:k>0&&(l=h-y),T=Th,F.attr("cursor",Ch.selection),o());break;default:return}wh()},!0).on("keyup.brush",function(){switch(t.event.keyCode){case 16:L&&(x=b=L=!1,o());break;case 18:T===kh&&(N<0?p=d:N>0&&(a=s),k<0?v=_:k>0&&(l=h),T=Nh,o());break;case 32:T===Th&&(t.event.altKey?(N&&(p=d-g*N,a=s+g*N),k&&(v=_-y*k,l=h+y*k),T=kh):(N<0?p=d:N>0&&(a=s),k<0?v=_:k>0&&(l=h),T=Nh),F.attr("cursor",Ch[M]),o());break;default:return}wh()},!0).on("mousemove.brush",e,!0).on("mouseup.brush",u,!0);pf(t.event.view)}ue(),Xl(w),r.call(w),D.start()}}function a(){var t=this.__brush||{selection:null};return t.extent=s.apply(this,arguments),t.dim=n,t}var c,s=se,f=ce,l=h(e,"start","brush","end"),p=6;return e.move=function(t,e){t.selection?t.on("start.brush",function(){i(this,arguments).beforestart().start()}).on("interrupt.brush end.brush",function(){i(this,arguments).end()}).tween("brush",function(){function t(t){u.selection=1===t&&le(s)?null:f(t),r.call(o),a.brush()}var o=this,u=o.__brush,a=i(o,arguments),c=u.selection,s=n.input("function"==typeof e?e.apply(this,arguments):e,u.extent),f=fl(c,s);return c&&s?t:t(1)}):t.each(function(){var t=this,o=arguments,u=t.__brush,a=n.input("function"==typeof e?e.apply(t,o):e,u.extent),c=i(t,o).beforestart();Xl(t),u.selection=null==a||le(a)?null:a,r.call(t),c.start().brush().end()})},o.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting&&(this.starting=!1,this.emit("start")),this},brush:function(){return this.emit("brush"),this},end:function(){return 0==--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(t){k(new bh(e,t,n.output(this.state.selection)),l.apply,l,[t,this.that,this.args])}},e.extent=function(t){return arguments.length?(s="function"==typeof t?t:xh([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),e):s},e.filter=function(t){return arguments.length?(f="function"==typeof t?t:xh(!!t),e):f},e.handleSize=function(t){return arguments.length?(p=+t,e):p},e.on=function(){var t=l.on.apply(l,arguments);return t===l?e:t},e}function pe(t){return function(n,e){return t(n.source.value+n.target.value,e.source.value+e.target.value)}}function de(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function ve(){return new de}function _e(t){return t.source}function ge(t){return t.target}function ye(t){return t.radius}function me(t){return t.startAngle}function xe(t){return t.endAngle}function be(){}function we(t,n){var e=new be;if(t instanceof be)t.each(function(t,n){e.set(n,t)});else if(Array.isArray(t)){var r,i=-1,o=t.length;if(null==n)for(;++i<o;)e.set(i,t[i]);else for(;++i<o;)e.set(n(r=t[i],i,t),r)}else if(t)for(var u in t)e.set(u,t[u]);return e}function Me(){return{}}function Te(t,n,e){t[n]=e}function Ne(){return we()}function ke(t,n,e){t.set(n,e)}function Se(){}function Ee(t,n){var e=new Se;if(t instanceof Se)t.each(function(t){e.add(t)});else if(t){var r=-1,i=t.length;if(null==n)for(;++r<i;)e.add(t[r]);else for(;++r<i;)e.add(n(t[r],r,t))}return e}function Ae(t){return new Function("d","return {"+t.map(function(t,n){return JSON.stringify(t)+": d["+n+"]"}).join(",")+"}")}function Ce(t,n){var e=Ae(t);return function(r,i){return n(e(r),i,t)}}function ze(t){var n=Object.create(null),e=[];return t.forEach(function(t){for(var r in t)r in n||e.push(n[r]=r)}),e}function Pe(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o,u,a,c,s,f,l,h,p=t._root,d={data:r},v=t._x0,_=t._y0,g=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((s=n>=(o=(v+g)/2))?v=o:g=o,(f=e>=(u=(_+y)/2))?_=u:y=u,i=p,!(p=p[l=f<<1|s]))return i[l]=d,t;if(a=+t._x.call(null,p.data),c=+t._y.call(null,p.data),n===a&&e===c)return d.next=p,i?i[l]=d:t._root=d,t;do{i=i?i[l]=new Array(4):t._root=new Array(4),(s=n>=(o=(v+g)/2))?v=o:g=o,(f=e>=(u=(_+y)/2))?_=u:y=u}while((l=f<<1|s)==(h=(c>=u)<<1|a>=o));return i[h]=p,i[l]=d,t}function Re(t){return t[0]}function Le(t){return t[1]}function qe(t,n,e){var r=new Ue(null==n?Re:n,null==e?Le:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Ue(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function De(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}function Oe(t){return t.x+t.vx}function Fe(t){return t.y+t.vy}function Ie(t){return t.index}function Ye(t,n){var e=t.get(n);if(!e)throw new Error("missing: "+n);return e}function Be(t){return t.x}function je(t){return t.y}function He(t){return new Xe(t)}function Xe(t){if(!(n=wp.exec(t)))throw new Error("invalid format: "+t);var n,e=n[1]||" ",r=n[2]||">",i=n[3]||"-",o=n[4]||"",u=!!n[5],a=n[6]&&+n[6],c=!!n[7],s=n[8]&&+n[8].slice(1),f=n[9]||"";"n"===f?(c=!0,f="g"):bp[f]||(f=""),(u||"0"===e&&"="===r)&&(u=!0,e="0",r="="),this.fill=e,this.align=r,this.sign=i,this.symbol=o,this.zero=u,this.width=a,this.comma=c,this.precision=s,this.type=f}function $e(n){return Mp=kp(n),t.format=Mp.format,t.formatPrefix=Mp.formatPrefix,Mp}function Ve(){this.reset()}function We(t,n,e){var r=t.s=n+e,i=r-n,o=r-i;t.t=n-o+(e-i)}function Ze(t){return t>1?0:t<-1?fd:Math.acos(t)}function Ge(t){return t>1?ld:t<-1?-ld:Math.asin(t)}function Je(t){return(t=Td(t/2))*t}function Qe(){}function Ke(t,n){t&&Ad.hasOwnProperty(t.type)&&Ad[t.type](t,n)}function tr(t,n,e){var r,i=-1,o=t.length-e;for(n.lineStart();++i<o;)r=t[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function nr(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)tr(t[e],n,1);n.polygonEnd()}function er(){Rd.point=ir}function rr(){or(zp,Pp)}function ir(t,n){Rd.point=or,zp=t,Pp=n,Rp=t*=vd,Lp=md(n=(n*=vd)/2+hd),qp=Td(n)}function or(t,n){n=(n*=vd)/2+hd;var e=(t*=vd)-Rp,r=e>=0?1:-1,i=r*e,o=md(n),u=Td(n),a=qp*u,c=Lp*o+a*md(i),s=a*r*Td(i);zd.add(yd(s,c)),Rp=t,Lp=o,qp=u}function ur(t){return[yd(t[1],t[0]),Ge(t[2])]}function ar(t){var n=t[0],e=t[1],r=md(e);return[r*md(n),r*Td(n),Td(e)]}function cr(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function sr(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function fr(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function lr(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function hr(t){var n=kd(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}function pr(t,n){Hp.push(Xp=[Up=t,Op=t]),n<Dp&&(Dp=n),n>Fp&&(Fp=n)}function dr(t,n){var e=ar([t*vd,n*vd]);if(jp){var r=sr(jp,e),i=sr([r[1],-r[0],0],r);hr(i),i=ur(i);var o,u=t-Ip,a=u>0?1:-1,c=i[0]*dd*a,s=_d(u)>180;s^(a*Ip<c&&c<a*t)?(o=i[1]*dd)>Fp&&(Fp=o):(c=(c+360)%360-180,s^(a*Ip<c&&c<a*t)?(o=-i[1]*dd)<Dp&&(Dp=o):(n<Dp&&(Dp=n),n>Fp&&(Fp=n))),s?t<Ip?xr(Up,t)>xr(Up,Op)&&(Op=t):xr(t,Op)>xr(Up,Op)&&(Up=t):Op>=Up?(t<Up&&(Up=t),t>Op&&(Op=t)):t>Ip?xr(Up,t)>xr(Up,Op)&&(Op=t):xr(t,Op)>xr(Up,Op)&&(Up=t)}else Hp.push(Xp=[Up=t,Op=t]);n<Dp&&(Dp=n),n>Fp&&(Fp=n),jp=e,Ip=t}function vr(){qd.point=dr}function _r(){Xp[0]=Up,Xp[1]=Op,qd.point=pr,jp=null}function gr(t,n){if(jp){var e=t-Ip;Ld.add(_d(e)>180?e+(e>0?360:-360):e)}else Yp=t,Bp=n;Rd.point(t,n),dr(t,n)}function yr(){Rd.lineStart()}function mr(){gr(Yp,Bp),Rd.lineEnd(),_d(Ld)>sd&&(Up=-(Op=180)),Xp[0]=Up,Xp[1]=Op,jp=null}function xr(t,n){return(n-=t)<0?n+360:n}function br(t,n){return t[0]-n[0]}function wr(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}function Mr(t,n){t*=vd;var e=md(n*=vd);Tr(e*md(t),e*Td(t),Td(n))}function Tr(t,n,e){Wp+=(t-Wp)/++$p,Zp+=(n-Zp)/$p,Gp+=(e-Gp)/$p}function Nr(){Ud.point=kr}function kr(t,n){t*=vd;var e=md(n*=vd);od=e*md(t),ud=e*Td(t),ad=Td(n),Ud.point=Sr,Tr(od,ud,ad)}function Sr(t,n){t*=vd;var e=md(n*=vd),r=e*md(t),i=e*Td(t),o=Td(n),u=yd(kd((u=ud*o-ad*i)*u+(u=ad*r-od*o)*u+(u=od*i-ud*r)*u),od*r+ud*i+ad*o);Vp+=u,Jp+=u*(od+(od=r)),Qp+=u*(ud+(ud=i)),Kp+=u*(ad+(ad=o)),Tr(od,ud,ad)}function Er(){Ud.point=Mr}function Ar(){Ud.point=zr}function Cr(){Pr(rd,id),Ud.point=Mr}function zr(t,n){rd=t,id=n,t*=vd,n*=vd,Ud.point=Pr;var e=md(n);od=e*md(t),ud=e*Td(t),ad=Td(n),Tr(od,ud,ad)}function Pr(t,n){t*=vd;var e=md(n*=vd),r=e*md(t),i=e*Td(t),o=Td(n),u=ud*o-ad*i,a=ad*r-od*o,c=od*i-ud*r,s=kd(u*u+a*a+c*c),f=Ge(s),l=s&&-f/s;td+=l*u,nd+=l*a,ed+=l*c,Vp+=f,Jp+=f*(od+(od=r)),Qp+=f*(ud+(ud=i)),Kp+=f*(ad+(ad=o)),Tr(od,ud,ad)}function Rr(t,n){return[t>fd?t-pd:t<-fd?t+pd:t,n]}function Lr(t,n,e){return(t%=pd)?n||e?Od(Ur(t),Dr(n,e)):Ur(t):n||e?Dr(n,e):Rr}function qr(t){return function(n,e){return n+=t,[n>fd?n-pd:n<-fd?n+pd:n,e]}}function Ur(t){var n=qr(t);return n.invert=qr(-t),n}function Dr(t,n){function e(t,n){var e=md(n),a=md(t)*e,c=Td(t)*e,s=Td(n),f=s*r+a*i;return[yd(c*o-f*u,a*r-s*i),Ge(f*o+c*u)]}var r=md(t),i=Td(t),o=md(n),u=Td(n);return e.invert=function(t,n){var e=md(n),a=md(t)*e,c=Td(t)*e,s=Td(n),f=s*o-c*u;return[yd(c*o+s*u,a*r+f*i),Ge(f*r-a*i)]},e}function Or(t,n,e,r,i,o){if(e){var u=md(n),a=Td(n),c=r*e;null==i?(i=n+r*pd,o=n-c/2):(i=Fr(u,i),o=Fr(u,o),(r>0?i<o:i>o)&&(i+=r*pd));for(var s,f=i;r>0?f>o:f<o;f-=c)s=ur([u,-a*md(f),-a*Td(f)]),t.point(s[0],s[1])}}function Fr(t,n){(n=ar(n))[0]-=t,hr(n);var e=Ze(-n[1]);return((-n[2]<0?-e:e)+pd-sd)%pd}function Ir(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Yr(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.n=e=t[r],e.p=i,i=e;i.n=e=t[0],e.p=i}}function Br(t){return t.length>1}function jr(t,n){return((t=t.x)[0]<0?t[1]-ld-sd:ld-t[1])-((n=n.x)[0]<0?n[1]-ld-sd:ld-n[1])}function Hr(t,n,e,r){var i,o,u=Td(t-e);return _d(u)>sd?gd((Td(n)*(o=md(r))*Td(e)-Td(r)*(i=md(n))*Td(t))/(i*o*u)):(n+r)/2}function Xr(t,n,e,r){function i(i,o){return t<=i&&i<=e&&n<=o&&o<=r}function o(i,o,a,s){var f=0,l=0;if(null==i||(f=u(i,a))!==(l=u(o,a))||c(i,o)<0^a>0)do{s.point(0===f||3===f?t:e,f>1?r:n)}while((f=(f+a+4)%4)!==l);else s.point(o[0],o[1])}function u(r,i){return _d(r[0]-t)<sd?i>0?0:3:_d(r[0]-e)<sd?i>0?2:1:_d(r[1]-n)<sd?i>0?1:0:i>0?3:2}function a(t,n){return c(t.x,n.x)}function c(t,n){var e=u(t,1),r=u(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(u){function c(t,n){i(t,n)&&w.point(t,n)}function s(){for(var n=0,e=0,i=h.length;e<i;++e)for(var o,u,a=h[e],c=1,s=a.length,f=a[0],l=f[0],p=f[1];c<s;++c)o=l,u=p,l=(f=a[c])[0],p=f[1],u<=r?p>r&&(l-o)*(r-u)>(p-u)*(t-o)&&++n:p<=r&&(l-o)*(r-u)<(p-u)*(t-o)&&--n;return n}function f(o,u){var a=i(o,u);if(h&&p.push([o,u]),x)d=o,v=u,_=a,x=!1,a&&(w.lineStart(),w.point(o,u));else if(a&&m)w.point(o,u);else{var c=[g=Math.max(av,Math.min(uv,g)),y=Math.max(av,Math.min(uv,y))],s=[o=Math.max(av,Math.min(uv,o)),u=Math.max(av,Math.min(uv,u))];ov(c,s,t,n,e,r)?(m||(w.lineStart(),w.point(c[0],c[1])),w.point(s[0],s[1]),a||w.lineEnd(),b=!1):a&&(w.lineStart(),w.point(o,u),b=!1)}g=o,y=u,m=a}var l,h,p,d,v,_,g,y,m,x,b,w=u,M=Jd(),T={point:c,lineStart:function(){T.point=f,h&&h.push(p=[]),x=!0,m=!1,g=y=NaN},lineEnd:function(){l&&(f(d,v),_&&m&&M.rejoin(),l.push(M.result())),T.point=c,m&&w.lineEnd()},polygonStart:function(){w=M,l=[],h=[],b=!0},polygonEnd:function(){var t=s(),n=b&&t,e=(l=Ps(l)).length;(n||e)&&(u.polygonStart(),n&&(u.lineStart(),o(null,null,1,u),u.lineEnd()),e&&Kd(l,a,t,o,u),u.polygonEnd()),w=u,l=h=p=null}};return T}}function $r(){sv.point=sv.lineEnd=Qe}function Vr(t,n){Fd=t*=vd,Id=Td(n*=vd),Yd=md(n),sv.point=Wr}function Wr(t,n){t*=vd;var e=Td(n*=vd),r=md(n),i=_d(t-Fd),o=md(i),u=r*Td(i),a=Yd*e-Id*r*o,c=Id*e+Yd*r*o;cv.add(yd(kd(u*u+a*a),c)),Fd=t,Id=e,Yd=r}function Zr(t,n){return!(!t||!vv.hasOwnProperty(t.type))&&vv[t.type](t,n)}function Gr(t,n){return 0===pv(t,n)}function Jr(t,n){var e=pv(t[0],t[1]);return pv(t[0],n)+pv(n,t[1])<=e+sd}function Qr(t,n){return!!nv(t.map(Kr),ti(n))}function Kr(t){return(t=t.map(ti)).pop(),t}function ti(t){return[t[0]*vd,t[1]*vd]}function ni(t,n,e){var r=Ns(t,n-sd,e).concat(n);return function(t){return r.map(function(n){return[t,n]})}}function ei(t,n,e){var r=Ns(t,n-sd,e).concat(n);return function(t){return r.map(function(n){return[n,t]})}}function ri(){function t(){return{type:"MultiLineString",coordinates:n()}}function n(){return Ns(xd(o/_)*_,i,_).map(h).concat(Ns(xd(s/g)*g,c,g).map(p)).concat(Ns(xd(r/d)*d,e,d).filter(function(t){return _d(t%_)>sd}).map(f)).concat(Ns(xd(a/v)*v,u,v).filter(function(t){return _d(t%g)>sd}).map(l))}var e,r,i,o,u,a,c,s,f,l,h,p,d=10,v=d,_=90,g=360,y=2.5;return t.lines=function(){return n().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[h(o).concat(p(c).slice(1),h(i).reverse().slice(1),p(s).reverse().slice(1))]}},t.extent=function(n){return arguments.length?t.extentMajor(n).extentMinor(n):t.extentMinor()},t.extentMajor=function(n){return arguments.length?(o=+n[0][0],i=+n[1][0],s=+n[0][1],c=+n[1][1],o>i&&(n=o,o=i,i=n),s>c&&(n=s,s=c,c=n),t.precision(y)):[[o,s],[i,c]]},t.extentMinor=function(n){return arguments.length?(r=+n[0][0],e=+n[1][0],a=+n[0][1],u=+n[1][1],r>e&&(n=r,r=e,e=n),a>u&&(n=a,a=u,u=n),t.precision(y)):[[r,a],[e,u]]},t.step=function(n){return arguments.length?t.stepMajor(n).stepMinor(n):t.stepMinor()},t.stepMajor=function(n){return arguments.length?(_=+n[0],g=+n[1],t):[_,g]},t.stepMinor=function(n){return arguments.length?(d=+n[0],v=+n[1],t):[d,v]},t.precision=function(n){return arguments.length?(y=+n,f=ni(a,u,90),l=ei(r,e,y),h=ni(s,c,90),p=ei(o,i,y),t):y},t.extentMajor([[-180,-90+sd],[180,90-sd]]).extentMinor([[-180,-80-sd],[180,80+sd]])}function ii(){mv.point=oi}function oi(t,n){mv.point=ui,Bd=Hd=t,jd=Xd=n}function ui(t,n){yv.add(Xd*t-Hd*n),Hd=t,Xd=n}function ai(){ui(Bd,jd)}function ci(t,n){Nv+=t,kv+=n,++Sv}function si(){Lv.point=fi}function fi(t,n){Lv.point=li,ci(Wd=t,Zd=n)}function li(t,n){var e=t-Wd,r=n-Zd,i=kd(e*e+r*r);Ev+=i*(Wd+t)/2,Av+=i*(Zd+n)/2,Cv+=i,ci(Wd=t,Zd=n)}function hi(){Lv.point=ci}function pi(){Lv.point=vi}function di(){_i($d,Vd)}function vi(t,n){Lv.point=_i,ci($d=Wd=t,Vd=Zd=n)}function _i(t,n){var e=t-Wd,r=n-Zd,i=kd(e*e+r*r);Ev+=i*(Wd+t)/2,Av+=i*(Zd+n)/2,Cv+=i,zv+=(i=Zd*t-Wd*n)*(Wd+t),Pv+=i*(Zd+n),Rv+=3*i,ci(Wd=t,Zd=n)}function gi(t){this._context=t}function yi(t,n){Yv.point=mi,Uv=Ov=t,Dv=Fv=n}function mi(t,n){Ov-=t,Fv-=n,Iv.add(kd(Ov*Ov+Fv*Fv)),Ov=t,Fv=n}function xi(){this._string=[]}function bi(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function wi(t){return function(n){var e=new Mi;for(var r in t)e[r]=t[r];return e.stream=n,e}}function Mi(){}function Ti(t,n,e){var r=n[1][0]-n[0][0],i=n[1][1]-n[0][1],o=t.clipExtent&&t.clipExtent();t.scale(150).translate([0,0]),null!=o&&t.clipExtent(null),Cd(e,t.stream(Tv));var u=Tv.result(),a=Math.min(r/(u[1][0]-u[0][0]),i/(u[1][1]-u[0][1])),c=+n[0][0]+(r-a*(u[1][0]+u[0][0]))/2,s=+n[0][1]+(i-a*(u[1][1]+u[0][1]))/2;return null!=o&&t.clipExtent(o),t.scale(150*a).translate([c,s])}function Ni(t,n,e){return Ti(t,[[0,0],n],e)}function ki(t){return wi({point:function(n,e){n=t(n,e),this.stream.point(n[0],n[1])}})}function Si(t,n){function e(r,i,o,u,a,c,s,f,l,h,p,d,v,_){var g=s-r,y=f-i,m=g*g+y*y;if(m>4*n&&v--){var x=u+h,b=a+p,w=c+d,M=kd(x*x+b*b+w*w),T=Ge(w/=M),N=_d(_d(w)-1)<sd||_d(o-l)<sd?(o+l)/2:yd(b,x),k=t(N,T),S=k[0],E=k[1],A=S-r,C=E-i,z=y*A-g*C;(z*z/m>n||_d((g*A+y*C)/m-.5)>.3||u*h+a*p+c*d<jv)&&(e(r,i,o,u,a,c,S,E,N,x/=M,b/=M,w,v,_),_.point(S,E),e(S,E,N,x,b,w,s,f,l,h,p,d,v,_))}}return function(n){function r(e,r){e=t(e,r),n.point(e[0],e[1])}function i(){g=NaN,w.point=o,n.lineStart()}function o(r,i){var o=ar([r,i]),u=t(r,i);e(g,y,_,m,x,b,g=u[0],y=u[1],_=r,m=o[0],x=o[1],b=o[2],Bv,n),n.point(g,y)}function u(){w.point=r,n.lineEnd()}function a(){i(),w.point=c,w.lineEnd=s}function c(t,n){o(f=t,n),l=g,h=y,p=m,d=x,v=b,w.point=o}function s(){e(g,y,_,m,x,b,l,h,f,p,d,v,Bv,n),w.lineEnd=u,u()}var f,l,h,p,d,v,_,g,y,m,x,b,w={point:r,lineStart:i,lineEnd:u,polygonStart:function(){n.polygonStart(),w.lineStart=a},polygonEnd:function(){n.polygonEnd(),w.lineStart=i}};return w}}function Ei(t){return wi({point:function(n,e){var r=t(n,e);return this.stream.point(r[0],r[1])}})}function Ai(t){return Ci(function(){return t})()}function Ci(t){function n(t){return t=f(t[0]*vd,t[1]*vd),[t[0]*_+a,c-t[1]*_]}function e(t){return(t=f.invert((t[0]-a)/_,(c-t[1])/_))&&[t[0]*dd,t[1]*dd]}function r(t,n){return t=u(t,n),[t[0]*_+a,c-t[1]*_]}function i(){f=Od(s=Lr(b,w,M),u);var t=u(m,x);return a=g-t[0]*_,c=y+t[1]*_,o()}function o(){return d=v=null,n}var u,a,c,s,f,l,h,p,d,v,_=150,g=480,y=250,m=0,x=0,b=0,w=0,M=0,T=null,N=rv,k=null,S=_v,E=.5,A=Hv(r,E);return n.stream=function(t){return d&&v===t?d:d=Xv(Ei(s)(N(A(S(v=t)))))},n.preclip=function(t){return arguments.length?(N=t,T=void 0,o()):N},n.postclip=function(t){return arguments.length?(S=t,k=l=h=p=null,o()):S},n.clipAngle=function(t){return arguments.length?(N=+t?iv(T=t*vd):(T=null,rv),o()):T*dd},n.clipExtent=function(t){return arguments.length?(S=null==t?(k=l=h=p=null,_v):Xr(k=+t[0][0],l=+t[0][1],h=+t[1][0],p=+t[1][1]),o()):null==k?null:[[k,l],[h,p]]},n.scale=function(t){return arguments.length?(_=+t,i()):_},n.translate=function(t){return arguments.length?(g=+t[0],y=+t[1],i()):[g,y]},n.center=function(t){return arguments.length?(m=t[0]%360*vd,x=t[1]%360*vd,i()):[m*dd,x*dd]},n.rotate=function(t){return arguments.length?(b=t[0]%360*vd,w=t[1]%360*vd,M=t.length>2?t[2]%360*vd:0,i()):[b*dd,w*dd,M*dd]},n.precision=function(t){return arguments.length?(A=Hv(r,E=t*t),o()):kd(E)},n.fitExtent=function(t,e){return Ti(n,t,e)},n.fitSize=function(t,e){return Ni(n,t,e)},function(){return u=t.apply(this,arguments),n.invert=u.invert&&e,i()}}function zi(t){var n=0,e=fd/3,r=Ci(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*vd,e=t[1]*vd):[n*dd,e*dd]},i}function Pi(t){function n(t,n){return[t*e,Td(n)/e]}var e=md(t);return n.invert=function(t,n){return[t/e,Ge(n*e)]},n}function Ri(t,n){function e(t,n){var e=kd(o-2*i*Td(n))/i;return[e*Td(t*=i),u-e*md(t)]}var r=Td(t),i=(r+Td(n))/2;if(_d(i)<sd)return Pi(t);var o=1+r*(2*i-r),u=kd(o)/i;return e.invert=function(t,n){var e=u-n;return[yd(t,_d(e))/i*Nd(e),Ge((o-(t*t+e*e)*i*i)/(2*i))]},e}function Li(t){var n=t.length;return{point:function(e,r){for(var i=-1;++i<n;)t[i].point(e,r)},sphere:function(){for(var e=-1;++e<n;)t[e].sphere()},lineStart:function(){for(var e=-1;++e<n;)t[e].lineStart()},lineEnd:function(){for(var e=-1;++e<n;)t[e].lineEnd()},polygonStart:function(){for(var e=-1;++e<n;)t[e].polygonStart()},polygonEnd:function(){for(var e=-1;++e<n;)t[e].polygonEnd()}}}function qi(t){return function(n,e){var r=md(n),i=md(e),o=t(r*i);return[o*i*Td(n),o*Td(e)]}}function Ui(t){return function(n,e){var r=kd(n*n+e*e),i=t(r),o=Td(i),u=md(i);return[yd(n*o,r*u),Ge(r&&e*o/r)]}}function Di(t,n){return[t,wd(Sd((ld+n)/2))]}function Oi(t){function n(){var n=fd*a(),u=o(Gd(o.rotate()).invert([0,0]));return s(null==f?[[u[0]-n,u[1]-n],[u[0]+n,u[1]+n]]:t===Di?[[Math.max(u[0]-n,f),e],[Math.min(u[0]+n,r),i]]:[[f,Math.max(u[1]-n,e)],[r,Math.min(u[1]+n,i)]])}var e,r,i,o=Ai(t),u=o.center,a=o.scale,c=o.translate,s=o.clipExtent,f=null;return o.scale=function(t){return arguments.length?(a(t),n()):a()},o.translate=function(t){return arguments.length?(c(t),n()):c()},o.center=function(t){return arguments.length?(u(t),n()):u()},o.clipExtent=function(t){return arguments.length?(null==t?f=e=r=i=null:(f=+t[0][0],e=+t[0][1],r=+t[1][0],i=+t[1][1]),n()):null==f?null:[[f,e],[r,i]]},n()}function Fi(t){return Sd((ld+t)/2)}function Ii(t,n){function e(t,n){o>0?n<-ld+sd&&(n=-ld+sd):n>ld-sd&&(n=ld-sd);var e=o/Md(Fi(n),i);return[e*Td(i*t),o-e*md(i*t)]}var r=md(t),i=t===n?Td(t):wd(r/md(n))/wd(Fi(n)/Fi(t)),o=r*Md(Fi(t),i)/i;return i?(e.invert=function(t,n){var e=o-n,r=Nd(i)*kd(t*t+e*e);return[yd(t,_d(e))/i*Nd(e),2*gd(Md(o/r,1/i))-ld]},e):Di}function Yi(t,n){return[t,n]}function Bi(t,n){function e(t,n){var e=o-n,r=i*t;return[e*Td(r),o-e*md(r)]}var r=md(t),i=t===n?Td(t):(r-md(n))/(n-t),o=r/i+t;return _d(i)<sd?Yi:(e.invert=function(t,n){var e=o-n;return[yd(t,_d(e))/i*Nd(e),o-Nd(i)*kd(t*t+e*e)]},e)}function ji(t,n){var e=md(n),r=md(t)*e;return[e*Td(t)/r,Td(n)/r]}function Hi(t,n,e,r){return 1===t&&1===n&&0===e&&0===r?_v:wi({point:function(i,o){this.stream.point(i*t+e,o*n+r)}})}function Xi(t,n){var e=n*n,r=e*e;return[t*(.8707-.131979*e+r*(r*(.003971*e-.001529*r)-.013791)),n*(1.007226+e*(.015085+r*(.028874*e-.044475-.005916*r)))]}function $i(t,n){return[md(n)*Td(t),Td(n)]}function Vi(t,n){var e=md(n),r=1+md(t)*e;return[e*Td(t)/r,Td(n)/r]}function Wi(t,n){return[wd(Sd((ld+n)/2)),-t]}function Zi(t,n){return t.parent===n.parent?1:2}function Gi(t){return t.reduce(Ji,0)/t.length}function Ji(t,n){return t+n.x}function Qi(t){return 1+t.reduce(Ki,0)}function Ki(t,n){return Math.max(t,n.y)}function to(t){for(var n;n=t.children;)t=n[0];return t}function no(t){for(var n;n=t.children;)t=n[n.length-1];return t}function eo(t){var n=0,e=t.children,r=e&&e.length;if(r)for(;--r>=0;)n+=e[r].value;else n=1;t.value=n}function ro(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;for(t=e.pop(),n=r.pop();t===n;)i=t,t=e.pop(),n=r.pop();return i}function io(t,n){var e,r,i,o,u,a=new co(t),c=+t.value&&(a.value=t.value),s=[a];for(null==n&&(n=oo);e=s.pop();)if(c&&(e.value=+e.data.value),(i=n(e.data))&&(u=i.length))for(e.children=new Array(u),o=u-1;o>=0;--o)s.push(r=e.children[o]=new co(i[o])),r.parent=e,r.depth=e.depth+1;return a.eachBefore(ao)}function oo(t){return t.children}function uo(t){t.data=t.data.data}function ao(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function co(t){this.data=t,this.depth=this.height=0,this.parent=null}function so(t){for(var n,e,r=t.length;r;)e=Math.random()*r--|0,n=t[r],t[r]=t[e],t[e]=n;return t}function fo(t,n){var e,r;if(po(n,t))return[n];for(e=0;e<t.length;++e)if(lo(n,t[e])&&po(go(t[e],n),t))return[t[e],n];for(e=0;e<t.length-1;++e)for(r=e+1;r<t.length;++r)if(lo(go(t[e],t[r]),n)&&lo(go(t[e],n),t[r])&&lo(go(t[r],n),t[e])&&po(yo(t[e],t[r],n),t))return[t[e],t[r],n];throw new Error}function lo(t,n){var e=t.r-n.r,r=n.x-t.x,i=n.y-t.y;return e<0||e*e<r*r+i*i}function ho(t,n){var e=t.r-n.r+1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function po(t,n){for(var e=0;e<n.length;++e)if(!ho(t,n[e]))return!1;return!0}function vo(t){switch(t.length){case 1:return _o(t[0]);case 2:return go(t[0],t[1]);case 3:return yo(t[0],t[1],t[2])}}function _o(t){return{x:t.x,y:t.y,r:t.r}}function go(t,n){var e=t.x,r=t.y,i=t.r,o=n.x,u=n.y,a=n.r,c=o-e,s=u-r,f=a-i,l=Math.sqrt(c*c+s*s);return{x:(e+o+c/l*f)/2,y:(r+u+s/l*f)/2,r:(l+i+a)/2}}function yo(t,n,e){var r=t.x,i=t.y,o=t.r,u=n.x,a=n.y,c=n.r,s=e.x,f=e.y,l=e.r,h=r-u,p=r-s,d=i-a,v=i-f,_=c-o,g=l-o,y=r*r+i*i-o*o,m=y-u*u-a*a+c*c,x=y-s*s-f*f+l*l,b=p*d-h*v,w=(d*x-v*m)/(2*b)-r,M=(v*_-d*g)/b,T=(p*m-h*x)/(2*b)-i,N=(h*g-p*_)/b,k=M*M+N*N-1,S=2*(o+w*M+T*N),E=w*w+T*T-o*o,A=-(k?(S+Math.sqrt(S*S-4*k*E))/(2*k):E/S);return{x:r+w+M*A,y:i+T+N*A,r:A}}function mo(t,n,e){var r=t.x,i=t.y,o=n.r+e.r,u=t.r+e.r,a=n.x-r,c=n.y-i,s=a*a+c*c;if(s){var f=.5+((u*=u)-(o*=o))/(2*s),l=Math.sqrt(Math.max(0,2*o*(u+s)-(u-=s)*u-o*o))/(2*s);e.x=r+f*a+l*c,e.y=i+f*c-l*a}else e.x=r+u,e.y=i}function xo(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r+n.r;return i*i-1e-6>e*e+r*r}function bo(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,o=(n.y*e.r+e.y*n.r)/r;return i*i+o*o}function wo(t){this._=t,this.next=null,this.previous=null}function Mo(t){if(!(i=t.length))return 0;var n,e,r,i,o,u,a,c,s,f,l;if(n=t[0],n.x=0,n.y=0,!(i>1))return n.r;if(e=t[1],n.x=-e.r,e.x=n.r,e.y=0,!(i>2))return n.r+e.r;mo(e,n,r=t[2]),n=new wo(n),e=new wo(e),r=new wo(r),n.next=r.previous=e,e.next=n.previous=r,r.next=e.previous=n;t:for(a=3;a<i;++a){mo(n._,e._,r=t[a]),r=new wo(r),c=e.next,s=n.previous,f=e._.r,l=n._.r;do{if(f<=l){if(xo(c._,r._)){e=c,n.next=e,e.previous=n,--a;continue t}f+=c._.r,c=c.next}else{if(xo(s._,r._)){(n=s).next=e,e.previous=n,--a;continue t}l+=s._.r,s=s.previous}}while(c!==s.next);for(r.previous=n,r.next=e,n.next=e.previous=e=r,o=bo(n);(r=r.next)!==e;)(u=bo(r))<o&&(n=r,o=u);e=n.next}for(n=[e._],r=e;(r=r.next)!==e;)n.push(r._);for(r=Jv(n),a=0;a<i;++a)n=t[a],n.x-=r.x,n.y-=r.y;return r.r}function To(t){return null==t?null:No(t)}function No(t){if("function"!=typeof t)throw new Error;return t}function ko(){return 0}function So(t){return Math.sqrt(t.value)}function Eo(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}}function Ao(t,n){return function(e){if(r=e.children){var r,i,o,u=r.length,a=t(e)*n||0;if(a)for(i=0;i<u;++i)r[i].r+=a;if(o=Mo(r),a)for(i=0;i<u;++i)r[i].r-=a;e.r=o+a}}}function Co(t){return function(n){var e=n.parent;n.r*=t,e&&(n.x=e.x+t*n.x,n.y=e.y+t*n.y)}}function zo(t){return t.id}function Po(t){return t.parentId}function Ro(t,n){return t.parent===n.parent?1:2}function Lo(t){var n=t.children;return n?n[0]:t.t}function qo(t){var n=t.children;return n?n[n.length-1]:t.t}function Uo(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function Do(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)(n=i[o]).z+=e,n.m+=e,e+=n.s+(r+=n.c)}function Oo(t,n,e){return t.a.parent===n.parent?t.a:e}function Fo(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}function Io(t){for(var n,e,r,i,o,u=new Fo(t,0),a=[u];n=a.pop();)if(r=n._.children)for(n.children=new Array(o=r.length),i=o-1;i>=0;--i)a.push(e=n.children[i]=new Fo(r[i],i)),e.parent=n;return(u.parent=new Fo(null,0)).children=[u],u}function Yo(t,n,e,r,i,o){for(var u,a,c,s,f,l,h,p,d,v,_,g=[],y=n.children,m=0,x=0,b=y.length,w=n.value;m<b;){c=i-e,s=o-r;do{f=y[x++].value}while(!f&&x<b);for(l=h=f,_=f*f*(v=Math.max(s/c,c/s)/(w*t)),d=Math.max(h/_,_/l);x<b;++x){if(f+=a=y[x].value,a<l&&(l=a),a>h&&(h=a),_=f*f*v,(p=Math.max(h/_,_/l))>d){f-=a;break}d=p}g.push(u={value:f,dice:c<s,children:y.slice(m,x)}),u.dice?t_(u,e,r,i,w?r+=s*f/w:o):i_(u,e,r,w?e+=c*f/w:i,o),w-=f,m=x}return g}function Bo(t,n){return t[0]-n[0]||t[1]-n[1]}function jo(t){for(var n=t.length,e=[0,1],r=2,i=2;i<n;++i){for(;r>1&&c_(t[e[r-2]],t[e[r-1]],t[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function Ho(t){this._size=t,this._call=this._error=null,this._tasks=[],this._data=[],this._waiting=this._active=this._ended=this._start=0}function Xo(t){if(!t._start)try{$o(t)}catch(n){if(t._tasks[t._ended+t._active-1])Wo(t,n);else if(!t._data)throw n}}function $o(t){for(;t._start=t._waiting&&t._active<t._size;){var n=t._ended+t._active,e=t._tasks[n],r=e.length-1,i=e[r];e[r]=Vo(t,n),--t._waiting,++t._active,e=i.apply(null,e),t._tasks[n]&&(t._tasks[n]=e||f_)}}function Vo(t,n){return function(e,r){t._tasks[n]&&(--t._active,++t._ended,t._tasks[n]=null,null==t._error&&(null!=e?Wo(t,e):(t._data[n]=r,t._waiting?Xo(t):Zo(t))))}}function Wo(t,n){var e,r=t._tasks.length;for(t._error=n,t._data=void 0,t._waiting=NaN;--r>=0;)if((e=t._tasks[r])&&(t._tasks[r]=null,e.abort))try{e.abort()}catch(n){}t._active=NaN,Zo(t)}function Zo(t){if(!t._active&&t._call){var n=t._data;t._data=void 0,t._call(t._error,n)}}function Go(t){if(null==t)t=1/0;else if(!((t=+t)>=1))throw new Error("invalid concurrency");return new Ho(t)}function Jo(t){return function(n,e){t(null==n?e:null)}}function Qo(t){var n=t.responseType;return n&&"text"!==n?t.response:t.responseText}function Ko(t,n){return function(e){return t(e.responseText,n)}}function tu(t){function n(n){var o=n+"",u=e.get(o);if(!u){if(i!==C_)return i;e.set(o,u=r.push(n))}return t[(u-1)%t.length]}var e=we(),r=[],i=C_;return t=null==t?[]:A_.call(t),n.domain=function(t){if(!arguments.length)return r.slice();r=[],e=we();for(var i,o,u=-1,a=t.length;++u<a;)e.has(o=(i=t[u])+"")||e.set(o,r.push(i));return n},n.range=function(e){return arguments.length?(t=A_.call(e),n):t.slice()},n.unknown=function(t){return arguments.length?(i=t,n):i},n.copy=function(){return tu().domain(r).range(t).unknown(i)},n}function nu(){function t(){var t=i().length,r=u[1]<u[0],l=u[r-0],h=u[1-r];n=(h-l)/Math.max(1,t-c+2*s),a&&(n=Math.floor(n)),l+=(h-l-n*(t-c))*f,e=n*(1-c),a&&(l=Math.round(l),e=Math.round(e));var p=Ns(t).map(function(t){return l+n*t});return o(r?p.reverse():p)}var n,e,r=tu().unknown(void 0),i=r.domain,o=r.range,u=[0,1],a=!1,c=0,s=0,f=.5;return delete r.unknown,r.domain=function(n){return arguments.length?(i(n),t()):i()},r.range=function(n){return arguments.length?(u=[+n[0],+n[1]],t()):u.slice()},r.rangeRound=function(n){return u=[+n[0],+n[1]],a=!0,t()},r.bandwidth=function(){return e},r.step=function(){return n},r.round=function(n){return arguments.length?(a=!!n,t()):a},r.padding=function(n){return arguments.length?(c=s=Math.max(0,Math.min(1,n)),t()):c},r.paddingInner=function(n){return arguments.length?(c=Math.max(0,Math.min(1,n)),t()):c},r.paddingOuter=function(n){return arguments.length?(s=Math.max(0,Math.min(1,n)),t()):s},r.align=function(n){return arguments.length?(f=Math.max(0,Math.min(1,n)),t()):f},r.copy=function(){return nu().domain(i()).range(u).round(a).paddingInner(c).paddingOuter(s).align(f)},t()}function eu(t){var n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return eu(n())},t}function ru(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:z_(n)}function iu(t){return function(n,e){var r=t(n=+n,e=+e);return function(t){return t<=n?0:t>=e?1:r(t)}}}function ou(t){return function(n,e){var r=t(n=+n,e=+e);return function(t){return t<=0?n:t>=1?e:r(t)}}}function uu(t,n,e,r){var i=t[0],o=t[1],u=n[0],a=n[1];return o<i?(i=e(o,i),u=r(a,u)):(i=e(i,o),u=r(u,a)),function(t){return u(i(t))}}function au(t,n,e,r){var i=Math.min(t.length,n.length)-1,o=new Array(i),u=new Array(i),a=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++a<i;)o[a]=e(t[a],t[a+1]),u[a]=r(n[a],n[a+1]);return function(n){var e=ds(t,n,1,i)-1;return u[e](o[e](n))}}function cu(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp())}function su(t,n){function e(){return i=Math.min(a.length,c.length)>2?au:uu,o=u=null,r}function r(n){return(o||(o=i(a,c,f?iu(t):t,s)))(+n)}var i,o,u,a=R_,c=R_,s=fl,f=!1;return r.invert=function(t){return(u||(u=i(c,a,ru,f?ou(n):n)))(+t)},r.domain=function(t){return arguments.length?(a=E_.call(t,P_),e()):a.slice()},r.range=function(t){return arguments.length?(c=A_.call(t),e()):c.slice()},r.rangeRound=function(t){return c=A_.call(t),s=ll,e()},r.clamp=function(t){return arguments.length?(f=!!t,e()):f},r.interpolate=function(t){return arguments.length?(s=t,e()):s},e()}function fu(t){var n=t.domain;return t.ticks=function(t){var e=n();return As(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){return L_(n(),t,e)},t.nice=function(e){null==e&&(e=10);var i,o=n(),u=0,a=o.length-1,c=o[u],s=o[a];return s<c&&(i=c,c=s,s=i,i=u,u=a,a=i),(i=r(c,s,e))>0?i=r(c=Math.floor(c/i)*i,s=Math.ceil(s/i)*i,e):i<0&&(i=r(c=Math.ceil(c*i)/i,s=Math.floor(s*i)/i,e)),i>0?(o[u]=Math.floor(c/i)*i,o[a]=Math.ceil(s/i)*i,n(o)):i<0&&(o[u]=Math.ceil(c*i)/i,o[a]=Math.floor(s*i)/i,n(o)),t},t}function lu(){var t=su(ru,ol);return t.copy=function(){return cu(t,lu())},fu(t)}function hu(){function t(t){return+t}var n=[0,1];return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=E_.call(e,P_),t):n.slice()},t.copy=function(){return hu().domain(n)},fu(t)}function pu(t,n){return(n=Math.log(n/t))?function(e){return Math.log(e/t)/n}:z_(n)}function du(t,n){return t<0?function(e){return-Math.pow(-n,e)*Math.pow(-t,1-e)}:function(e){return Math.pow(n,e)*Math.pow(t,1-e)}}function vu(t){return isFinite(t)?+("1e"+t):t<0?0:t}function _u(t){return 10===t?vu:t===Math.E?Math.exp:function(n){return Math.pow(t,n)}}function gu(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(n){return Math.log(n)/t})}function yu(t){return function(n){return-t(-n)}}function mu(){function n(){return o=gu(i),u=_u(i),r()[0]<0&&(o=yu(o),u=yu(u)),e}var e=su(pu,du).domain([1,10]),r=e.domain,i=10,o=gu(10),u=_u(10);return e.base=function(t){return arguments.length?(i=+t,n()):i},e.domain=function(t){return arguments.length?(r(t),n()):r()},e.ticks=function(t){var n,e=r(),a=e[0],c=e[e.length-1];(n=c<a)&&(h=a,a=c,c=h);var s,f,l,h=o(a),p=o(c),d=null==t?10:+t,v=[];if(!(i%1)&&p-h<d){if(h=Math.round(h)-1,p=Math.round(p)+1,a>0){for(;h<p;++h)for(f=1,s=u(h);f<i;++f)if(!((l=s*f)<a)){if(l>c)break;v.push(l)}}else for(;h<p;++h)for(f=i-1,s=u(h);f>=1;--f)if(!((l=s*f)<a)){if(l>c)break;v.push(l)}}else v=As(h,p,Math.min(p-h,d)).map(u);return n?v.reverse():v},e.tickFormat=function(n,r){if(null==r&&(r=10===i?".0e":","),"function"!=typeof r&&(r=t.format(r)),n===1/0)return r;null==n&&(n=10);var a=Math.max(1,i*n/e.ticks().length);return function(t){var n=t/u(Math.round(o(t)));return n*i<i-.5&&(n*=i),n<=a?r(t):""}},e.nice=function(){return r(q_(r(),{floor:function(t){return u(Math.floor(o(t)))},ceil:function(t){return u(Math.ceil(o(t)))}}))},e.copy=function(){return cu(e,mu().base(i))},e}function xu(t,n){return t<0?-Math.pow(-t,n):Math.pow(t,n)}function bu(){var t=1,n=su(function(n,e){return(e=xu(e,t)-(n=xu(n,t)))?function(r){return(xu(r,t)-n)/e}:z_(e)},function(n,e){return e=xu(e,t)-(n=xu(n,t)),function(r){return xu(n+e*r,1/t)}}),e=n.domain;return n.exponent=function(n){return arguments.length?(t=+n,e(e())):t},n.copy=function(){return cu(n,bu().exponent(t))},fu(n)}function wu(){function t(){var t=0,o=Math.max(1,r.length);for(i=new Array(o-1);++t<o;)i[t-1]=zs(e,t/o);return n}function n(t){if(!isNaN(t=+t))return r[ds(i,t)]}var e=[],r=[],i=[];return n.invertExtent=function(t){var n=r.indexOf(t);return n<0?[NaN,NaN]:[n>0?i[n-1]:e[0],n<i.length?i[n]:e[e.length-1]]},n.domain=function(n){if(!arguments.length)return e.slice();e=[];for(var r,i=0,o=n.length;i<o;++i)null==(r=n[i])||isNaN(r=+r)||e.push(r);return e.sort(ls),t()},n.range=function(n){return arguments.length?(r=A_.call(n),t()):r.slice()},n.quantiles=function(){return i.slice()},n.copy=function(){return wu().domain(e).range(r)},n}function Mu(){function t(t){if(t<=t)return u[ds(o,t,0,i)]}function n(){var n=-1;for(o=new Array(i);++n<i;)o[n]=((n+1)*r-(n-i)*e)/(i+1);return t}var e=0,r=1,i=1,o=[.5],u=[0,1];return t.domain=function(t){return arguments.length?(e=+t[0],r=+t[1],n()):[e,r]},t.range=function(t){return arguments.length?(i=(u=A_.call(t)).length-1,n()):u.slice()},t.invertExtent=function(t){var n=u.indexOf(t);return n<0?[NaN,NaN]:n<1?[e,o[0]]:n>=i?[o[i-1],r]:[o[n-1],o[n]]},t.copy=function(){return Mu().domain([e,r]).range(u)},fu(t)}function Tu(){function t(t){if(t<=t)return e[ds(n,t,0,r)]}var n=[.5],e=[0,1],r=1;return t.domain=function(i){return arguments.length?(n=A_.call(i),r=Math.min(n.length,e.length-1),t):n.slice()},t.range=function(i){return arguments.length?(e=A_.call(i),r=Math.min(n.length,e.length-1),t):e.slice()},t.invertExtent=function(t){var r=e.indexOf(t);return[n[r-1],n[r]]},t.copy=function(){return Tu().domain(n).range(e)},t}function Nu(t,n,e,r){function i(n){return t(n=new Date(+n)),n}return i.floor=i,i.ceil=function(e){return t(e=new Date(e-1)),n(e,1),t(e),e},i.round=function(t){var n=i(t),e=i.ceil(t);return t-n<e-t?n:e},i.offset=function(t,e){return n(t=new Date(+t),null==e?1:Math.floor(e)),t},i.range=function(e,r,o){var u=[];if(e=i.ceil(e),o=null==o?1:Math.floor(o),!(e<r&&o>0))return u;do{u.push(new Date(+e))}while(n(e,o),t(e),e<r);return u},i.filter=function(e){return Nu(function(n){if(n>=n)for(;t(n),!e(n);)n.setTime(n-1)},function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;n(t,-1),!e(t););else for(;--r>=0;)for(;n(t,1),!e(t););})},e&&(i.count=function(n,r){return U_.setTime(+n),D_.setTime(+r),t(U_),t(D_),Math.floor(e(U_,D_))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(n){return r(n)%t==0}:function(n){return i.count(0,n)%t==0}):i:null}),i}function ku(t){return Nu(function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+7*n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*I_)/Y_})}function Su(t){return Nu(function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+7*n)},function(t,n){return(n-t)/Y_})}function Eu(t){if(0<=t.y&&t.y<100){var n=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Au(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Cu(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function zu(t){function n(t,n){return function(e){var r,i,o,u=[],a=-1,c=0,s=t.length;for(e instanceof Date||(e=new Date(+e));++a<s;)37===t.charCodeAt(a)&&(u.push(t.slice(c,a)),null!=(i=Fg[r=t.charAt(++a)])?r=t.charAt(++a):i="e"===r?" ":"0",(o=n[r])&&(r=o(e,i)),u.push(r),c=a+1);return u.push(t.slice(c,a)),u.join("")}}function e(t,n){return function(e){var i=Cu(1900);if(r(i,t,e+="",0)!=e.length)return null;if("p"in i&&(i.H=i.H%12+12*i.p),"W"in i||"U"in i){"w"in i||(i.w="W"in i?1:0);var o="Z"in i?Au(Cu(i.y)).getUTCDay():n(Cu(i.y)).getDay();i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(o+5)%7:i.w+7*i.U-(o+6)%7}return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,Au(i)):n(i)}}function r(t,n,e,r){for(var i,o,u=0,a=n.length,c=e.length;u<a;){if(r>=c)return-1;if(37===(i=n.charCodeAt(u++))){if(i=n.charAt(u++),!(o=T[i in Fg?n.charAt(u++):i])||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}var i=t.dateTime,o=t.date,u=t.time,a=t.periods,c=t.days,s=t.shortDays,f=t.months,l=t.shortMonths,h=Lu(a),p=qu(a),d=Lu(c),v=qu(c),_=Lu(s),g=qu(s),y=Lu(f),m=qu(f),x=Lu(l),b=qu(l),w={a:function(t){return s[t.getDay()]},A:function(t){return c[t.getDay()]},b:function(t){return l[t.getMonth()]},B:function(t){return f[t.getMonth()]},c:null,d:Gu,e:Gu,H:Ju,I:Qu,j:Ku,L:ta,m:na,M:ea,p:function(t){return a[+(t.getHours()>=12)]},S:ra,U:ia,w:oa,W:ua,x:null,X:null,y:aa,Y:ca,Z:sa,"%":Ta},M={a:function(t){return s[t.getUTCDay()]},A:function(t){return c[t.getUTCDay()]},b:function(t){return l[t.getUTCMonth()]},B:function(t){return f[t.getUTCMonth()]},c:null,d:fa,e:fa,H:la,I:ha,j:pa,L:da,m:va,M:_a,p:function(t){return a[+(t.getUTCHours()>=12)]},S:ga,U:ya,w:ma,W:xa,x:null,X:null,y:ba,Y:wa,Z:Ma,"%":Ta},T={a:function(t,n,e){var r=_.exec(n.slice(e));return r?(t.w=g[r[0].toLowerCase()],e+r[0].length):-1},A:function(t,n,e){var r=d.exec(n.slice(e));return r?(t.w=v[r[0].toLowerCase()],e+r[0].length):-1},b:function(t,n,e){var r=x.exec(n.slice(e));return r?(t.m=b[r[0].toLowerCase()],e+r[0].length):-1},B:function(t,n,e){var r=y.exec(n.slice(e));return r?(t.m=m[r[0].toLowerCase()],e+r[0].length):-1},c:function(t,n,e){return r(t,i,n,e)},d:ju,e:ju,H:Xu,I:Xu,j:Hu,L:Wu,m:Bu,M:$u,p:function(t,n,e){var r=h.exec(n.slice(e));return r?(t.p=p[r[0].toLowerCase()],e+r[0].length):-1},S:Vu,U:Du,w:Uu,W:Ou,x:function(t,n,e){return r(t,o,n,e)},X:function(t,n,e){return r(t,u,n,e)},y:Iu,Y:Fu,Z:Yu,"%":Zu};return w.x=n(o,w),w.X=n(u,w),w.c=n(i,w),M.x=n(o,M),M.X=n(u,M),M.c=n(i,M),{format:function(t){var e=n(t+="",w);return e.toString=function(){return t},e},parse:function(t){var n=e(t+="",Eu);return n.toString=function(){return t},n},utcFormat:function(t){var e=n(t+="",M);return e.toString=function(){return t},e},utcParse:function(t){var n=e(t,Au);return n.toString=function(){return t},n}}}function Pu(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o<e?new Array(e-o+1).join(n)+i:i)}function Ru(t){return t.replace(Bg,"\\$&")}function Lu(t){return new RegExp("^(?:"+t.map(Ru).join("|")+")","i")}function qu(t){for(var n={},e=-1,r=t.length;++e<r;)n[t[e].toLowerCase()]=e;return n}function Uu(t,n,e){var r=Ig.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function Du(t,n,e){var r=Ig.exec(n.slice(e));return r?(t.U=+r[0],e+r[0].length):-1}function Ou(t,n,e){var r=Ig.exec(n.slice(e));return r?(t.W=+r[0],e+r[0].length):-1}function Fu(t,n,e){var r=Ig.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function Iu(t,n,e){var r=Ig.exec(n.slice(e,e+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),e+r[0].length):-1}function Yu(t,n,e){var r=/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function Bu(t,n,e){var r=Ig.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function ju(t,n,e){var r=Ig.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function Hu(t,n,e){var r=Ig.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function Xu(t,n,e){var r=Ig.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function $u(t,n,e){var r=Ig.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function Vu(t,n,e){var r=Ig.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function Wu(t,n,e){var r=Ig.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function Zu(t,n,e){var r=Yg.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function Gu(t,n){return Pu(t.getDate(),n,2)}function Ju(t,n){return Pu(t.getHours(),n,2)}function Qu(t,n){return Pu(t.getHours()%12||12,n,2)}function Ku(t,n){return Pu(1+W_.count(hg(t),t),n,3)}function ta(t,n){return Pu(t.getMilliseconds(),n,3)}function na(t,n){return Pu(t.getMonth()+1,n,2)}function ea(t,n){return Pu(t.getMinutes(),n,2)}function ra(t,n){return Pu(t.getSeconds(),n,2)}function ia(t,n){return Pu(G_.count(hg(t),t),n,2)}function oa(t){return t.getDay()}function ua(t,n){return Pu(J_.count(hg(t),t),n,2)}function aa(t,n){return Pu(t.getFullYear()%100,n,2)}function ca(t,n){return Pu(t.getFullYear()%1e4,n,4)}function sa(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+Pu(n/60|0,"0",2)+Pu(n%60,"0",2)}function fa(t,n){return Pu(t.getUTCDate(),n,2)}function la(t,n){return Pu(t.getUTCHours(),n,2)}function ha(t,n){return Pu(t.getUTCHours()%12||12,n,2)}function pa(t,n){return Pu(1+yg.count(Ug(t),t),n,3)}function da(t,n){return Pu(t.getUTCMilliseconds(),n,3)}function va(t,n){return Pu(t.getUTCMonth()+1,n,2)}function _a(t,n){return Pu(t.getUTCMinutes(),n,2)}function ga(t,n){return Pu(t.getUTCSeconds(),n,2)}function ya(t,n){return Pu(xg.count(Ug(t),t),n,2)}function ma(t){return t.getUTCDay()}function xa(t,n){return Pu(bg.count(Ug(t),t),n,2)}function ba(t,n){return Pu(t.getUTCFullYear()%100,n,2)}function wa(t,n){return Pu(t.getUTCFullYear()%1e4,n,4)}function Ma(){return"+0000"}function Ta(){return"%"}function Na(n){return Dg=zu(n),t.timeFormat=Dg.format,t.timeParse=Dg.parse,t.utcFormat=Dg.utcFormat,t.utcParse=Dg.utcParse,Dg}function ka(t){return new Date(t)}function Sa(t){return t instanceof Date?+t:+new Date(+t)}function Ea(t,n,e,r,o,u,a,c,s){function f(i){return(a(i)<i?v:u(i)<i?_:o(i)<i?g:r(i)<i?y:n(i)<i?e(i)<i?m:x:t(i)<i?b:w)(i)}function l(n,e,r,o){if(null==n&&(n=10),"number"==typeof n){var u=Math.abs(r-e)/n,a=hs(function(t){return t[2]}).right(M,u);a===M.length?(o=i(e/Jg,r/Jg,n),n=t):a?(o=(a=M[u/M[a-1][2]<M[a][2]/u?a-1:a])[1],n=a[0]):(o=i(e,r,n),n=c)}return null==o?n:n.every(o)}var h=su(ru,ol),p=h.invert,d=h.domain,v=s(".%L"),_=s(":%S"),g=s("%I:%M"),y=s("%I %p"),m=s("%a %d"),x=s("%b %d"),b=s("%B"),w=s("%Y"),M=[[a,1,Xg],[a,5,5*Xg],[a,15,15*Xg],[a,30,30*Xg],[u,1,$g],[u,5,5*$g],[u,15,15*$g],[u,30,30*$g],[o,1,Vg],[o,3,3*Vg],[o,6,6*Vg],[o,12,12*Vg],[r,1,Wg],[r,2,2*Wg],[e,1,Zg],[n,1,Gg],[n,3,3*Gg],[t,1,Jg]];return h.invert=function(t){return new Date(p(t))},h.domain=function(t){return arguments.length?d(E_.call(t,Sa)):d().map(ka)},h.ticks=function(t,n){var e,r=d(),i=r[0],o=r[r.length-1],u=o<i;return u&&(e=i,i=o,o=e),e=l(t,i,o,n),e=e?e.range(i,o+1):[],u?e.reverse():e},h.tickFormat=function(t,n){return null==n?f:s(n)},h.nice=function(t,n){var e=d();return(t=l(t,e[0],e[e.length-1],n))?d(q_(e,t)):h},h.copy=function(){return cu(h,Ea(t,n,e,r,o,u,a,c,s))},h}function Aa(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}}function Ca(t){function n(n){var o=(n-e)/(r-e);return t(i?Math.max(0,Math.min(1,o)):o)}var e=0,r=1,i=!1;return n.domain=function(t){return arguments.length?(e=+t[0],r=+t[1],n):[e,r]},n.clamp=function(t){return arguments.length?(i=!!t,n):i},n.interpolator=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return Ca(t).domain([e,r]).clamp(i)},fu(n)}function za(t){return t>1?0:t<-1?xy:Math.acos(t)}function Pa(t){return t>=1?by:t<=-1?-by:Math.asin(t)}function Ra(t){return t.innerRadius}function La(t){return t.outerRadius}function qa(t){return t.startAngle}function Ua(t){return t.endAngle}function Da(t){return t&&t.padAngle}function Oa(t,n,e,r,i,o,u,a){var c=e-t,s=r-n,f=u-i,l=a-o,h=(f*(n-o)-l*(t-i))/(l*c-f*s);return[t+h*c,n+h*s]}function Fa(t,n,e,r,i,o,u){var a=t-e,c=n-r,s=(u?o:-o)/yy(a*a+c*c),f=s*c,l=-s*a,h=t+f,p=n+l,d=e+f,v=r+l,_=(h+d)/2,g=(p+v)/2,y=d-h,m=v-p,x=y*y+m*m,b=i-o,w=h*v-d*p,M=(m<0?-1:1)*yy(vy(0,b*b*x-w*w)),T=(w*m-y*M)/x,N=(-w*y-m*M)/x,k=(w*m+y*M)/x,S=(-w*y+m*M)/x,E=T-_,A=N-g,C=k-_,z=S-g;return E*E+A*A>C*C+z*z&&(T=k,N=S),{cx:T,cy:N,x01:-f,y01:-l,x11:T*(i/b-1),y11:N*(i/b-1)}}function Ia(t){this._context=t}function Ya(t){return t[0]}function Ba(t){return t[1]}function ja(t){this._curve=t}function Ha(t){function n(n){return new ja(t(n))}return n._curve=t,n}function Xa(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(Ha(t)):n()._curve},t}function $a(t){return t.source}function Va(t){return t.target}function Wa(t){function n(){var n,a=Py.call(arguments),c=e.apply(this,a),s=r.apply(this,a);if(u||(u=n=ve()),t(u,+i.apply(this,(a[0]=c,a)),+o.apply(this,a),+i.apply(this,(a[0]=s,a)),+o.apply(this,a)),n)return u=null,n+""||null}var e=$a,r=Va,i=Ya,o=Ba,u=null;return n.source=function(t){return arguments.length?(e=t,n):e},n.target=function(t){return arguments.length?(r=t,n):r},n.x=function(t){return arguments.length?(i="function"==typeof t?t:ly(+t),n):i},n.y=function(t){return arguments.length?(o="function"==typeof t?t:ly(+t),n):o},n.context=function(t){return arguments.length?(u=null==t?null:t,n):u},n}function Za(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n=(n+r)/2,e,n,i,r,i)}function Ga(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n,e=(e+i)/2,r,e,r,i)}function Ja(t,n,e,r,i){var o=zy(n,e),u=zy(n,e=(e+i)/2),a=zy(r,e),c=zy(r,i);t.moveTo(o[0],o[1]),t.bezierCurveTo(u[0],u[1],a[0],a[1],c[0],c[1])}function Qa(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function Ka(t){this._context=t}function tc(t){this._context=t}function nc(t){this._context=t}function ec(t,n){this._basis=new Ka(t),this._beta=n}function rc(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function ic(t,n){this._context=t,this._k=(1-n)/6}function oc(t,n){this._context=t,this._k=(1-n)/6}function uc(t,n){this._context=t,this._k=(1-n)/6}function ac(t,n,e){var r=t._x1,i=t._y1,o=t._x2,u=t._y2;if(t._l01_a>my){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>my){var s=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*s+t._x1*t._l23_2a-n*t._l12_2a)/f,u=(u*s+t._y1*t._l23_2a-e*t._l12_2a)/f}t._context.bezierCurveTo(r,i,o,u,t._x2,t._y2)}function cc(t,n){this._context=t,this._alpha=n}function sc(t,n){this._context=t,this._alpha=n}function fc(t,n){this._context=t,this._alpha=n}function lc(t){this._context=t}function hc(t){return t<0?-1:1}function pc(t,n,e){var r=t._x1-t._x0,i=n-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),u=(e-t._y1)/(i||r<0&&-0),a=(o*i+u*r)/(r+i);return(hc(o)+hc(u))*Math.min(Math.abs(o),Math.abs(u),.5*Math.abs(a))||0}function dc(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function vc(t,n,e){var r=t._x0,i=t._y0,o=t._x1,u=t._y1,a=(o-r)/3;t._context.bezierCurveTo(r+a,i+a*n,o-a,u-a*e,o,u)}function _c(t){this._context=t}function gc(t){this._context=new yc(t)}function yc(t){this._context=t}function mc(t){this._context=t}function xc(t){var n,e,r=t.length-1,i=new Array(r),o=new Array(r),u=new Array(r);for(i[0]=0,o[0]=2,u[0]=t[0]+2*t[1],n=1;n<r-1;++n)i[n]=1,o[n]=4,u[n]=4*t[n]+2*t[n+1];for(i[r-1]=2,o[r-1]=7,u[r-1]=8*t[r-1]+t[r],n=1;n<r;++n)e=i[n]/o[n-1],o[n]-=e,u[n]-=e*u[n-1];for(i[r-1]=u[r-1]/o[r-1],n=r-2;n>=0;--n)i[n]=(u[n]-i[n+1])/o[n];for(o[r-1]=(t[r]+i[r-1])/2,n=0;n<r-1;++n)o[n]=2*t[n+1]-i[n+1];return[i,o]}function bc(t,n){this._context=t,this._t=n}function wc(t,n){return t[n]}function Mc(t){for(var n,e=0,r=-1,i=t.length;++r<i;)(n=+t[r][1])&&(e+=n);return e}function Tc(t){return t[0]}function Nc(t){return t[1]}function kc(){this._=null}function Sc(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Ec(t,n){var e=n,r=n.R,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function Ac(t,n){var e=n,r=n.L,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function Cc(t){for(;t.L;)t=t.L;return t}function zc(t,n,e,r){var i=[null,null],o=pm.push(i)-1;return i.left=t,i.right=n,e&&Rc(i,t,n,e),r&&Rc(i,n,t,r),lm[t.index].halfedges.push(o),lm[n.index].halfedges.push(o),i}function Pc(t,n,e){var r=[n,e];return r.left=t,r}function Rc(t,n,e,r){t[0]||t[1]?t.left===e?t[1]=r:t[0]=r:(t[0]=r,t.left=n,t.right=e)}function Lc(t,n,e,r,i){var o,u=t[0],a=t[1],c=u[0],s=u[1],f=0,l=1,h=a[0]-c,p=a[1]-s;if(o=n-c,h||!(o>0)){if(o/=h,h<0){if(o<f)return;o<l&&(l=o)}else if(h>0){if(o>l)return;o>f&&(f=o)}if(o=r-c,h||!(o<0)){if(o/=h,h<0){if(o>l)return;o>f&&(f=o)}else if(h>0){if(o<f)return;o<l&&(l=o)}if(o=e-s,p||!(o>0)){if(o/=p,p<0){if(o<f)return;o<l&&(l=o)}else if(p>0){if(o>l)return;o>f&&(f=o)}if(o=i-s,p||!(o<0)){if(o/=p,p<0){if(o>l)return;o>f&&(f=o)}else if(p>0){if(o<f)return;o<l&&(l=o)}return!(f>0||l<1)||(f>0&&(t[0]=[c+f*h,s+f*p]),l<1&&(t[1]=[c+l*h,s+l*p]),!0)}}}}}function qc(t,n,e,r,i){var o=t[1];if(o)return!0;var u,a,c=t[0],s=t.left,f=t.right,l=s[0],h=s[1],p=f[0],d=f[1],v=(l+p)/2,_=(h+d)/2;if(d===h){if(v<n||v>=r)return;if(l>p){if(c){if(c[1]>=i)return}else c=[v,e];o=[v,i]}else{if(c){if(c[1]<e)return}else c=[v,i];o=[v,e]}}else if(u=(l-p)/(d-h),a=_-u*v,u<-1||u>1)if(l>p){if(c){if(c[1]>=i)return}else c=[(e-a)/u,e];o=[(i-a)/u,i]}else{if(c){if(c[1]<e)return}else c=[(i-a)/u,i];o=[(e-a)/u,e]}else if(h<d){if(c){if(c[0]>=r)return}else c=[n,u*n+a];o=[r,u*r+a]}else{if(c){if(c[0]<n)return}else c=[r,u*r+a];o=[n,u*n+a]}return t[0]=c,t[1]=o,!0}function Uc(t,n,e,r){for(var i,o=pm.length;o--;)qc(i=pm[o],t,n,e,r)&&Lc(i,t,n,e,r)&&(Math.abs(i[0][0]-i[1][0])>_m||Math.abs(i[0][1]-i[1][1])>_m)||delete pm[o]}function Dc(t){return lm[t.index]={site:t,halfedges:[]}}function Oc(t,n){var e=t.site,r=n.left,i=n.right;return e===i&&(i=r,r=e),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(e===r?(r=n[1],i=n[0]):(r=n[0],i=n[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}function Fc(t,n){return n[+(n.left!==t.site)]}function Ic(t,n){return n[+(n.left===t.site)]}function Yc(){for(var t,n,e,r,i=0,o=lm.length;i<o;++i)if((t=lm[i])&&(r=(n=t.halfedges).length)){var u=new Array(r),a=new Array(r);for(e=0;e<r;++e)u[e]=e,a[e]=Oc(t,pm[n[e]]);for(u.sort(function(t,n){return a[n]-a[t]}),e=0;e<r;++e)a[e]=n[u[e]];for(e=0;e<r;++e)n[e]=a[e]}}function Bc(t,n,e,r){var i,o,u,a,c,s,f,l,h,p,d,v,_=lm.length,g=!0;for(i=0;i<_;++i)if(o=lm[i]){for(u=o.site,a=(c=o.halfedges).length;a--;)pm[c[a]]||c.splice(a,1);for(a=0,s=c.length;a<s;)d=(p=Ic(o,pm[c[a]]))[0],v=p[1],l=(f=Fc(o,pm[c[++a%s]]))[0],h=f[1],(Math.abs(d-l)>_m||Math.abs(v-h)>_m)&&(c.splice(a,0,pm.push(Pc(u,p,Math.abs(d-t)<_m&&r-v>_m?[t,Math.abs(l-t)<_m?h:r]:Math.abs(v-r)<_m&&e-d>_m?[Math.abs(h-r)<_m?l:e,r]:Math.abs(d-e)<_m&&v-n>_m?[e,Math.abs(l-e)<_m?h:n]:Math.abs(v-n)<_m&&d-t>_m?[Math.abs(h-n)<_m?l:t,n]:null))-1),++s);s&&(g=!1)}if(g){var y,m,x,b=1/0;for(i=0,g=null;i<_;++i)(o=lm[i])&&(x=(y=(u=o.site)[0]-t)*y+(m=u[1]-n)*m)<b&&(b=x,g=o);if(g){var w=[t,n],M=[t,r],T=[e,r],N=[e,n];g.halfedges.push(pm.push(Pc(u=g.site,w,M))-1,pm.push(Pc(u,M,T))-1,pm.push(Pc(u,T,N))-1,pm.push(Pc(u,N,w))-1)}}for(i=0;i<_;++i)(o=lm[i])&&(o.halfedges.length||delete lm[i])}function jc(){Sc(this),this.x=this.y=this.arc=this.site=this.cy=null}function Hc(t){var n=t.P,e=t.N;if(n&&e){var r=n.site,i=t.site,o=e.site;if(r!==o){var u=i[0],a=i[1],c=r[0]-u,s=r[1]-a,f=o[0]-u,l=o[1]-a,h=2*(c*l-s*f);if(!(h>=-gm)){var p=c*c+s*s,d=f*f+l*l,v=(l*p-s*d)/h,_=(c*d-f*p)/h,g=dm.pop()||new jc;g.arc=t,g.site=i,g.x=v+u,g.y=(g.cy=_+a)+Math.sqrt(v*v+_*_),t.circle=g;for(var y=null,m=hm._;m;)if(g.y<m.y||g.y===m.y&&g.x<=m.x){if(!m.L){y=m.P;break}m=m.L}else{if(!m.R){y=m;break}m=m.R}hm.insert(y,g),y||(sm=g)}}}}function Xc(t){var n=t.circle;n&&(n.P||(sm=n.N),hm.remove(n),dm.push(n),Sc(n),t.circle=null)}function $c(){Sc(this),this.edge=this.site=this.circle=null}function Vc(t){var n=vm.pop()||new $c;return n.site=t,n}function Wc(t){Xc(t),fm.remove(t),vm.push(t),Sc(t)}function Zc(t){var n=t.circle,e=n.x,r=n.cy,i=[e,r],o=t.P,u=t.N,a=[t];Wc(t);for(var c=o;c.circle&&Math.abs(e-c.circle.x)<_m&&Math.abs(r-c.circle.cy)<_m;)o=c.P,a.unshift(c),Wc(c),c=o;a.unshift(c),Xc(c);for(var s=u;s.circle&&Math.abs(e-s.circle.x)<_m&&Math.abs(r-s.circle.cy)<_m;)u=s.N,a.push(s),Wc(s),s=u;a.push(s),Xc(s);var f,l=a.length;for(f=1;f<l;++f)s=a[f],c=a[f-1],Rc(s.edge,c.site,s.site,i);c=a[0],(s=a[l-1]).edge=zc(c.site,s.site,null,i),Hc(c),Hc(s)}function Gc(t){for(var n,e,r,i,o=t[0],u=t[1],a=fm._;a;)if((r=Jc(a,u)-o)>_m)a=a.L;else{if(!((i=o-Qc(a,u))>_m)){r>-_m?(n=a.P,e=a):i>-_m?(n=a,e=a.N):n=e=a;break}if(!a.R){n=a;break}a=a.R}Dc(t);var c=Vc(t);if(fm.insert(n,c),n||e){if(n===e)return Xc(n),e=Vc(n.site),fm.insert(c,e),c.edge=e.edge=zc(n.site,c.site),Hc(n),void Hc(e);if(e){Xc(n),Xc(e);var s=n.site,f=s[0],l=s[1],h=t[0]-f,p=t[1]-l,d=e.site,v=d[0]-f,_=d[1]-l,g=2*(h*_-p*v),y=h*h+p*p,m=v*v+_*_,x=[(_*y-p*m)/g+f,(h*m-v*y)/g+l];Rc(e.edge,s,d,x),c.edge=zc(s,t,null,x),e.edge=zc(t,d,null,x),Hc(n),Hc(e)}else c.edge=zc(n.site,c.site)}}function Jc(t,n){var e=t.site,r=e[0],i=e[1],o=i-n;if(!o)return r;var u=t.P;if(!u)return-1/0;var a=(e=u.site)[0],c=e[1],s=c-n;if(!s)return a;var f=a-r,l=1/o-1/s,h=f/s;return l?(-h+Math.sqrt(h*h-2*l*(f*f/(-2*s)-c+s/2+i-o/2)))/l+r:(r+a)/2}function Qc(t,n){var e=t.N;if(e)return Jc(e,n);var r=t.site;return r[1]===n?r[0]:1/0}function Kc(t,n,e){return(t[0]-e[0])*(n[1]-t[1])-(t[0]-n[0])*(e[1]-t[1])}function ts(t,n){return n[1]-t[1]||n[0]-t[0]}function ns(t,n){var e,r,i,o=t.sort(ts).pop();for(pm=[],lm=new Array(t.length),fm=new kc,hm=new kc;;)if(i=sm,o&&(!i||o[1]<i.y||o[1]===i.y&&o[0]<i.x))o[0]===e&&o[1]===r||(Gc(o),e=o[0],r=o[1]),o=t.pop();else{if(!i)break;Zc(i.arc)}if(Yc(),n){var u=+n[0][0],a=+n[0][1],c=+n[1][0],s=+n[1][1];Uc(u,a,c,s),Bc(u,a,c,s)}this.edges=pm,this.cells=lm,fm=hm=pm=lm=null}function es(t,n,e){this.target=t,this.type=n,this.transform=e}function rs(t,n,e){this.k=t,this.x=n,this.y=e}function is(t){return t.__zoom||mm}function os(){t.event.stopImmediatePropagation()}function us(){return!t.event.button}function as(){var t,n,e=this;return e instanceof SVGElement?(t=(e=e.ownerSVGElement||e).width.baseVal.value,n=e.height.baseVal.value):(t=e.clientWidth,n=e.clientHeight),[[0,0],[t,n]]}function cs(){return this.__zoom||mm}function ss(){return-t.event.deltaY*(t.event.deltaMode?120:1)/500}function fs(){return"ontouchstart"in this}var ls=function(t,n){return t<n?-1:t>n?1:t>=n?0:NaN},hs=function(t){return 1===t.length&&(t=n(t)),{left:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)<0?r=o+1:i=o}return r},right:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)>0?i=o:r=o+1}return r}}},ps=hs(ls),ds=ps.right,vs=ps.left,_s=function(t){return null===t?NaN:+t},gs=function(t,n){var e,r,i=t.length,o=0,u=-1,a=0,c=0;if(null==n)for(;++u<i;)isNaN(e=_s(t[u]))||(c+=(r=e-a)*(e-(a+=r/++o)));else for(;++u<i;)isNaN(e=_s(n(t[u],u,t)))||(c+=(r=e-a)*(e-(a+=r/++o)));if(o>1)return c/(o-1)},ys=function(t,n){var e=gs(t,n);return e?Math.sqrt(e):e},ms=function(t,n){var e,r,i,o=t.length,u=-1;if(null==n){for(;++u<o;)if(null!=(e=t[u])&&e>=e)for(r=i=e;++u<o;)null!=(e=t[u])&&(r>e&&(r=e),i<e&&(i=e))}else for(;++u<o;)if(null!=(e=n(t[u],u,t))&&e>=e)for(r=i=e;++u<o;)null!=(e=n(t[u],u,t))&&(r>e&&(r=e),i<e&&(i=e));return[r,i]},xs=Array.prototype,bs=xs.slice,ws=xs.map,Ms=function(t){return function(){return t}},Ts=function(t){return t},Ns=function(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),o=new Array(i);++r<i;)o[r]=t+r*e;return o},ks=Math.sqrt(50),Ss=Math.sqrt(10),Es=Math.sqrt(2),As=function(t,n,e){var i,o,u,a,c=-1;if(n=+n,t=+t,e=+e,t===n&&e>0)return[t];if((i=n<t)&&(o=t,t=n,n=o),0===(a=r(t,n,e))||!isFinite(a))return[];if(a>0)for(t=Math.ceil(t/a),n=Math.floor(n/a),u=new Array(o=Math.ceil(n-t+1));++c<o;)u[c]=(t+c)*a;else for(t=Math.floor(t*a),n=Math.ceil(n*a),u=new Array(o=Math.ceil(t-n+1));++c<o;)u[c]=(t-c)/a;return i&&u.reverse(),u},Cs=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},zs=function(t,n,e){if(null==e&&(e=_s),r=t.length){if((n=+n)<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,o=Math.floor(i),u=+e(t[o],o,t);return u+(+e(t[o+1],o+1,t)-u)*(i-o)}},Ps=function(t){for(var n,e,r,i=t.length,o=-1,u=0;++o<i;)u+=t[o].length;for(e=new Array(u);--i>=0;)for(n=(r=t[i]).length;--n>=0;)e[--u]=r[n];return e},Rs=function(t,n){var e,r,i=t.length,o=-1;if(null==n){for(;++o<i;)if(null!=(e=t[o])&&e>=e)for(r=e;++o<i;)null!=(e=t[o])&&r>e&&(r=e)}else for(;++o<i;)if(null!=(e=n(t[o],o,t))&&e>=e)for(r=e;++o<i;)null!=(e=n(t[o],o,t))&&r>e&&(r=e);return r},Ls=function(t){if(!(i=t.length))return[];for(var n=-1,e=Rs(t,o),r=new Array(e);++n<e;)for(var i,u=-1,a=r[n]=new Array(i);++u<i;)a[u]=t[u][n];return r},qs=Array.prototype.slice,Us=function(t){return t},Ds=1,Os=2,Fs=3,Is=4,Ys=1e-6,Bs={value:function(){}};p.prototype=h.prototype={constructor:p,on:function(t,n){var e,r=this._,i=d(t+"",r),o=-1,u=i.length;{if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o<u;)if(e=(t=i[o]).type)r[e]=_(r[e],t.name,n);else if(null==n)for(e in r)r[e]=_(r[e],t.name,null);return this}for(;++o<u;)if((e=(t=i[o]).type)&&(e=v(r[e],t.name)))return e}},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new p(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=new Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=0,e=(r=this._[t]).length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};var js="http://www.w3.org/1999/xhtml",Hs={svg:"http://www.w3.org/2000/svg",xhtml:js,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},Xs=function(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),Hs.hasOwnProperty(n)?{space:Hs[n],local:t}:t},$s=function(t){var n=Xs(t);return(n.local?y:g)(n)},Vs=0;x.prototype=m.prototype={constructor:x,get:function(t){for(var n=this._;!(n in t);)if(!(t=t.parentNode))return;return t[n]},set:function(t,n){return t[this._]=n},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var Ws=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var Zs=document.documentElement;if(!Zs.matches){var Gs=Zs.webkitMatchesSelector||Zs.msMatchesSelector||Zs.mozMatchesSelector||Zs.oMatchesSelector;Ws=function(t){return function(){return Gs.call(this,t)}}}}var Js=Ws,Qs={};t.event=null,"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(Qs={mouseenter:"mouseover",mouseleave:"mouseout"}));var Ks=function(){for(var n,e=t.event;n=e.sourceEvent;)e=n;return e},tf=function(t,n){var e=t.ownerSVGElement||t;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=n.clientX,r.y=n.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}var i=t.getBoundingClientRect();return[n.clientX-i.left-t.clientLeft,n.clientY-i.top-t.clientTop]},nf=function(t){var n=Ks();return n.changedTouches&&(n=n.changedTouches[0]),tf(t,n)},ef=function(t){return null==t?S:function(){return this.querySelector(t)}},rf=function(t){return null==t?E:function(){return this.querySelectorAll(t)}},of=function(t){return new Array(t.length)};A.prototype={constructor:A,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var uf=function(t){return function(){return t}},af="$",cf=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};W.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var sf=[null];pt.prototype=dt.prototype={constructor:pt,select:function(t){"function"!=typeof t&&(t=ef(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u,a=n[i],c=a.length,s=r[i]=new Array(c),f=0;f<c;++f)(o=a[f])&&(u=t.call(o,o.__data__,f,a))&&("__data__"in o&&(u.__data__=o.__data__),s[f]=u);return new pt(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=rf(t));for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var u,a=n[o],c=a.length,s=0;s<c;++s)(u=a[s])&&(r.push(t.call(u,u.__data__,s,a)),i.push(u));return new pt(r,i)},filter:function(t){"function"!=typeof t&&(t=Js(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,c=r[i]=[],s=0;s<a;++s)(o=u[s])&&t.call(o,o.__data__,s,u)&&c.push(o);return new pt(r,this._parents)},data:function(t,n){if(!t)return p=new Array(this.size()),s=-1,this.each(function(t){p[++s]=t}),p;var e=n?z:C,r=this._parents,i=this._groups;"function"!=typeof t&&(t=uf(t));for(var o=i.length,u=new Array(o),a=new Array(o),c=new Array(o),s=0;s<o;++s){var f=r[s],l=i[s],h=l.length,p=t.call(f,f&&f.__data__,s,r),d=p.length,v=a[s]=new Array(d),_=u[s]=new Array(d);e(f,l,v,_,c[s]=new Array(h),p,n);for(var g,y,m=0,x=0;m<d;++m)if(g=v[m]){for(m>=x&&(x=m+1);!(y=_[x])&&++x<d;);g._next=y||null}}return u=new pt(u,r),u._enter=a,u._exit=c,u},enter:function(){return new pt(this._enter||this._groups.map(of),this._parents)},exit:function(){return new pt(this._exit||this._groups.map(of),this._parents)},merge:function(t){for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var c,s=n[a],f=e[a],l=s.length,h=u[a]=new Array(l),p=0;p<l;++p)(c=s[p]||f[p])&&(h[p]=c);for(;a<r;++a)u[a]=n[a];return new pt(u,this._parents)},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,u=i[o];--o>=0;)(r=i[o])&&(u&&u!==r.nextSibling&&u.parentNode.insertBefore(r,u),u=r);return this},sort:function(t){t||(t=P);for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i){for(var o,u=n[i],a=u.length,c=r[i]=new Array(a),s=0;s<a;++s)(o=u[s])&&(c[s]=o);c.sort(function(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e})}return new pt(r,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),n=-1;return this.each(function(){t[++n]=this}),t},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var u=r[i];if(u)return u}return null},size:function(){var t=0;return this.each(function(){++t}),t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],u=0,a=o.length;u<a;++u)(i=o[u])&&t.call(i,i.__data__,u,o);return this},attr:function(t,n){var e=Xs(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?L:R:"function"==typeof n?e.local?O:D:e.local?U:q)(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?F:"function"==typeof n?Y:I)(t,n,null==e?"":e)):B(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?j:"function"==typeof n?X:H)(t,n)):this.node()[t]},classed:function(t,n){var e=$(t+"");if(arguments.length<2){for(var r=V(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?K:n?J:Q)(e,n))},text:function(t){return arguments.length?this.each(null==t?tt:("function"==typeof t?et:nt)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?rt:("function"==typeof t?ot:it)(t)):this.node().innerHTML},raise:function(){return this.each(ut)},lower:function(){return this.each(at)},append:function(t){var n="function"==typeof t?t:$s(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})},insert:function(t,n){var e="function"==typeof t?t:$s(t),r=null==n?ct:"function"==typeof n?n:ef(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(st)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=M(t+""),u=o.length;{if(!(arguments.length<2)){for(a=n?N:T,null==e&&(e=!1),r=0;r<u;++r)this.each(a(o[r],n,e));return this}var a=this.node().__on;if(a)for(var c,s=0,f=a.length;s<f;++s)for(r=0,c=a[s];r<u;++r)if((i=o[r]).type===c.type&&i.name===c.name)return c.value}},dispatch:function(t,n){return this.each(("function"==typeof n?ht:lt)(t,n))}};var ff=function(t){return"string"==typeof t?new pt([[document.querySelector(t)]],[document.documentElement]):new pt([[t]],sf)},lf=function(t,n,e){arguments.length<3&&(e=n,n=Ks().changedTouches);for(var r,i=0,o=n?n.length:0;i<o;++i)if((r=n[i]).identifier===e)return tf(t,r);return null},hf=function(){t.event.preventDefault(),t.event.stopImmediatePropagation()},pf=function(t){var n=t.document.documentElement,e=ff(t).on("dragstart.drag",hf,!0);"onselectstart"in n?e.on("selectstart.drag",hf,!0):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")},df=function(t){return function(){return t}};gt.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var vf=function(t,n,e){t.prototype=n.prototype=e,e.constructor=t},_f="\\s*([+-]?\\d+)\\s*",gf="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",yf="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",mf=/^#([0-9a-f]{3})$/,xf=/^#([0-9a-f]{6})$/,bf=new RegExp("^rgb\\("+[_f,_f,_f]+"\\)$"),wf=new RegExp("^rgb\\("+[yf,yf,yf]+"\\)$"),Mf=new RegExp("^rgba\\("+[_f,_f,_f,gf]+"\\)$"),Tf=new RegExp("^rgba\\("+[yf,yf,yf,gf]+"\\)$"),Nf=new RegExp("^hsl\\("+[gf,yf,yf]+"\\)$"),kf=new RegExp("^hsla\\("+[gf,yf,yf,gf]+"\\)$"),Sf={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};vf(Mt,Tt,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),vf(At,Et,wt(Mt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new At(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new At(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),vf(Rt,Pt,wt(Mt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Rt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Rt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new At(Lt(t>=240?t-240:t+120,i,r),Lt(t,i,r),Lt(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var Ef=Math.PI/180,Af=180/Math.PI,Cf=.95047,zf=1,Pf=1.08883,Rf=4/29,Lf=6/29,qf=3*Lf*Lf,Uf=Lf*Lf*Lf;vf(Dt,Ut,wt(Mt,{brighter:function(t){return new Dt(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new Dt(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,n=isNaN(this.a)?t:t+this.a/500,e=isNaN(this.b)?t:t-this.b/200;return t=zf*Ft(t),n=Cf*Ft(n),e=Pf*Ft(e),new At(It(3.2404542*n-1.5371385*t-.4985314*e),It(-.969266*n+1.8760108*t+.041556*e),It(.0556434*n-.2040259*t+1.0572252*e),this.opacity)}})),vf(Ht,jt,wt(Mt,{brighter:function(t){return new Ht(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new Ht(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return qt(this).rgb()}}));var Df=-.14861,Of=1.78277,Ff=-.29227,If=-.90649,Yf=1.97294,Bf=Yf*If,jf=Yf*Of,Hf=Of*Ff-If*Df;vf(Vt,$t,wt(Mt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Vt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Vt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*Ef,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new At(255*(n+e*(Df*r+Of*i)),255*(n+e*(Ff*r+If*i)),255*(n+e*(Yf*r)),this.opacity)}}));var Xf,$f,Vf,Wf,Zf,Gf,Jf=function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],u=r>0?t[r-1]:2*i-o,a=r<n-1?t[r+2]:2*o-i;return Wt((e-r/n)*n,u,i,o,a)}},Qf=function(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],o=t[r%n],u=t[(r+1)%n],a=t[(r+2)%n];return Wt((e-r/n)*n,i,o,u,a)}},Kf=function(t){return function(){return t}},tl=function t(n){function e(t,n){var e=r((t=Et(t)).r,(n=Et(n)).r),i=r(t.g,n.g),o=r(t.b,n.b),u=Kt(t.opacity,n.opacity);return function(n){return t.r=e(n),t.g=i(n),t.b=o(n),t.opacity=u(n),t+""}}var r=Qt(n);return e.gamma=t,e}(1),nl=tn(Jf),el=tn(Qf),rl=function(t,n){var e,r=n?n.length:0,i=t?Math.min(r,t.length):0,o=new Array(r),u=new Array(r);for(e=0;e<i;++e)o[e]=fl(t[e],n[e]);for(;e<r;++e)u[e]=n[e];return function(t){for(e=0;e<i;++e)u[e]=o[e](t);return u}},il=function(t,n){var e=new Date;return t=+t,n-=t,function(r){return e.setTime(t+n*r),e}},ol=function(t,n){return t=+t,n-=t,function(e){return t+n*e}},ul=function(t,n){var e,r={},i={};null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={});for(e in n)e in t?r[e]=fl(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}},al=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,cl=new RegExp(al.source,"g"),sl=function(t,n){var e,r,i,o=al.lastIndex=cl.lastIndex=0,u=-1,a=[],c=[];for(t+="",n+="";(e=al.exec(t))&&(r=cl.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),a[u]?a[u]+=i:a[++u]=i),(e=e[0])===(r=r[0])?a[u]?a[u]+=r:a[++u]=r:(a[++u]=null,c.push({i:u,x:ol(e,r)})),o=cl.lastIndex;return o<n.length&&(i=n.slice(o),a[u]?a[u]+=i:a[++u]=i),a.length<2?c[0]?en(c[0].x):nn(n):(n=c.length,function(t){for(var e,r=0;r<n;++r)a[(e=c[r]).i]=e.x(t);return a.join("")})},fl=function(t,n){var e,r=typeof n;return null==n||"boolean"===r?Kf(n):("number"===r?ol:"string"===r?(e=Tt(n))?(n=e,tl):sl:n instanceof Tt?tl:n instanceof Date?il:Array.isArray(n)?rl:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?ul:ol)(t,n)},ll=function(t,n){return t=+t,n-=t,function(e){return Math.round(t+n*e)}},hl=180/Math.PI,pl={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},dl=function(t,n,e,r,i,o){var u,a,c;return(u=Math.sqrt(t*t+n*n))&&(t/=u,n/=u),(c=t*e+n*r)&&(e-=t*c,r-=n*c),(a=Math.sqrt(e*e+r*r))&&(e/=a,r/=a,c/=a),t*r<n*e&&(t=-t,n=-n,c=-c,u=-u),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*hl,skewX:Math.atan(c)*hl,scaleX:u,scaleY:a}},vl=rn(function(t){return"none"===t?pl:(Xf||(Xf=document.createElement("DIV"),$f=document.documentElement,Vf=document.defaultView),Xf.style.transform=t,t=Vf.getComputedStyle($f.appendChild(Xf),null).getPropertyValue("transform"),$f.removeChild(Xf),t=t.slice(7,-1).split(","),dl(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},"px, ","px)","deg)"),_l=rn(function(t){return null==t?pl:(Wf||(Wf=document.createElementNS("http://www.w3.org/2000/svg","g")),Wf.setAttribute("transform",t),(t=Wf.transform.baseVal.consolidate())?(t=t.matrix,dl(t.a,t.b,t.c,t.d,t.e,t.f)):pl)},", ",")",")"),gl=Math.SQRT2,yl=function(t,n){var e,r,i=t[0],o=t[1],u=t[2],a=n[0],c=n[1],s=n[2],f=a-i,l=c-o,h=f*f+l*l;if(h<1e-12)r=Math.log(s/u)/gl,e=function(t){return[i+t*f,o+t*l,u*Math.exp(gl*t*r)]};else{var p=Math.sqrt(h),d=(s*s-u*u+4*h)/(2*u*2*p),v=(s*s-u*u-4*h)/(2*s*2*p),_=Math.log(Math.sqrt(d*d+1)-d),g=Math.log(Math.sqrt(v*v+1)-v);r=(g-_)/gl,e=function(t){var n=t*r,e=on(_),a=u/(2*p)*(e*an(gl*n+_)-un(_));return[i+a*f,o+a*l,u*e/on(gl*n+_)]}}return e.duration=1e3*r,e},ml=cn(Jt),xl=cn(Kt),bl=sn(Jt),wl=sn(Kt),Ml=fn(Jt),Tl=fn(Kt),Nl=0,kl=0,Sl=0,El=1e3,Al=0,Cl=0,zl=0,Pl="object"==typeof performance&&performance.now?performance:Date,Rl="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};pn.prototype=dn.prototype={constructor:pn,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?ln():+e)+(null==n?0:+n),this._next||Gf===this||(Gf?Gf._next=this:Zf=this,Gf=this),this._call=t,this._time=e,mn()},stop:function(){this._call&&(this._call=null,this._time=1/0,mn())}};var Ll=function(t,n,e){var r=new pn;return n=null==n?0:+n,r.restart(function(e){r.stop(),t(e+n)},n,e),r},ql=h("start","end","interrupt"),Ul=[],Dl=0,Ol=1,Fl=2,Il=3,Yl=4,Bl=5,jl=6,Hl=function(t,n,e,r,i,o){var u=t.__transition;if(u){if(e in u)return}else t.__transition={};Mn(t,e,{name:n,index:r,group:i,on:ql,tween:Ul,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Dl})},Xl=function(t,n){var e,r,i,o=t.__transition,u=!0;if(o){n=null==n?null:n+"";for(i in o)(e=o[i]).name===n?(r=e.state>Fl&&e.state<Bl,e.state=jl,e.timer.stop(),r&&e.on.call("interrupt",t,t.__data__,e.index,e.group),delete o[i]):u=!1;u&&delete t.__transition}},$l=function(t,n){var e;return("number"==typeof n?ol:n instanceof Tt?tl:(e=Tt(n))?(n=e,tl):sl)(t,n)},Vl=dt.prototype.constructor,Wl=0,Zl=dt.prototype;Gn.prototype=Jn.prototype={constructor:Gn,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=ef(t));for(var r=this._groups,i=r.length,o=new Array(i),u=0;u<i;++u)for(var a,c,s=r[u],f=s.length,l=o[u]=new Array(f),h=0;h<f;++h)(a=s[h])&&(c=t.call(a,a.__data__,h,s))&&("__data__"in a&&(c.__data__=a.__data__),l[h]=c,Hl(l[h],n,e,h,l,wn(a,e)));return new Gn(o,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=rf(t));for(var r=this._groups,i=r.length,o=[],u=[],a=0;a<i;++a)for(var c,s=r[a],f=s.length,l=0;l<f;++l)if(c=s[l]){for(var h,p=t.call(c,c.__data__,l,s),d=wn(c,e),v=0,_=p.length;v<_;++v)(h=p[v])&&Hl(h,n,e,v,p,d);o.push(p),u.push(c)}return new Gn(o,u,n,e)},filter:function(t){"function"!=typeof t&&(t=Js(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,c=r[i]=[],s=0;s<a;++s)(o=u[s])&&t.call(o,o.__data__,s,u)&&c.push(o);return new Gn(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var c,s=n[a],f=e[a],l=s.length,h=u[a]=new Array(l),p=0;p<l;++p)(c=s[p]||f[p])&&(h[p]=c);for(;a<r;++a)u[a]=n[a];return new Gn(u,this._parents,this._name,this._id)},selection:function(){return new Vl(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=Qn(),r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],c=a.length,s=0;s<c;++s)if(u=a[s]){var f=wn(u,n);Hl(u,t,e,s,a,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new Gn(r,this._parents,t,e)},call:Zl.call,nodes:Zl.nodes,node:Zl.node,size:Zl.size,empty:Zl.empty,each:Zl.each,on:function(t,n){var e=this._id;return arguments.length<2?wn(this.node(),e).on.on(t):this.each(Yn(e,t,n))},attr:function(t,n){var e=Xs(t),r="transform"===e?_l:$l;return this.attrTween(t,"function"==typeof n?(e.local?Pn:zn)(e,r,kn(this,"attr."+t,n)):null==n?(e.local?En:Sn)(e):(e.local?Cn:An)(e,r,n+""))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var r=Xs(t);return this.tween(e,(r.local?Rn:Ln)(r,n))},style:function(t,n,e){var r="transform"==(t+="")?vl:$l;return null==n?this.styleTween(t,jn(t,r)).on("end.style."+t,Hn(t)):this.styleTween(t,"function"==typeof n?$n(t,r,kn(this,"style."+t,n)):Xn(t,r,n+""),e)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;return this.tween(r,Vn(t,n,null==e?"":e))},text:function(t){return this.tween("text","function"==typeof t?Zn(kn(this,"text",t)):Wn(null==t?"":t+""))},remove:function(){return this.on("end.remove",Bn(this._id))},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=wn(this.node(),e).tween,o=0,u=i.length;o<u;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?Tn:Nn)(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?qn:Un)(n,t)):wn(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?Dn:On)(n,t)):wn(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(Fn(n,t)):wn(this.node(),n).ease}};var Gl=function t(n){function e(t){return Math.pow(t,n)}return n=+n,e.exponent=t,e}(3),Jl=function t(n){function e(t){return 1-Math.pow(1-t,n)}return n=+n,e.exponent=t,e}(3),Ql=function t(n){function e(t){return((t*=2)<=1?Math.pow(t,n):2-Math.pow(2-t,n))/2}return n=+n,e.exponent=t,e}(3),Kl=Math.PI,th=Kl/2,nh=4/11,eh=6/11,rh=8/11,ih=.75,oh=9/11,uh=10/11,ah=.9375,ch=21/22,sh=63/64,fh=1/nh/nh,lh=function t(n){function e(t){return t*t*((n+1)*t-n)}return n=+n,e.overshoot=t,e}(1.70158),hh=function t(n){function e(t){return--t*t*((n+1)*t+n)+1}return n=+n,e.overshoot=t,e}(1.70158),ph=function t(n){function e(t){return((t*=2)<1?t*t*((n+1)*t-n):(t-=2)*t*((n+1)*t+n)+2)/2}return n=+n,e.overshoot=t,e}(1.70158),dh=2*Math.PI,vh=function t(n,e){function r(t){return n*Math.pow(2,10*--t)*Math.sin((i-t)/e)}var i=Math.asin(1/(n=Math.max(1,n)))*(e/=dh);return r.amplitude=function(n){return t(n,e*dh)},r.period=function(e){return t(n,e)},r}(1,.3),_h=function t(n,e){function r(t){return 1-n*Math.pow(2,-10*(t=+t))*Math.sin((t+i)/e)}var i=Math.asin(1/(n=Math.max(1,n)))*(e/=dh);return r.amplitude=function(n){return t(n,e*dh)},r.period=function(e){return t(n,e)},r}(1,.3),gh=function t(n,e){function r(t){return((t=2*t-1)<0?n*Math.pow(2,10*t)*Math.sin((i-t)/e):2-n*Math.pow(2,-10*t)*Math.sin((i+t)/e))/2}var i=Math.asin(1/(n=Math.max(1,n)))*(e/=dh);return r.amplitude=function(n){return t(n,e*dh)},r.period=function(e){return t(n,e)},r}(1,.3),yh={time:null,delay:0,duration:250,ease:te};dt.prototype.interrupt=function(t){return this.each(function(){Xl(this,t)})},dt.prototype.transition=function(t){var n,e;t instanceof Gn?(n=t._id,t=t._name):(n=Qn(),(e=yh).time=ln(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],c=a.length,s=0;s<c;++s)(u=a[s])&&Hl(u,t,n,s,a,e||oe(u,n));return new Gn(r,this._parents,t,n)};var mh=[null],xh=function(t){return function(){return t}},bh=function(t,n,e){this.target=t,this.type=n,this.selection=e},wh=function(){t.event.preventDefault(),t.event.stopImmediatePropagation()},Mh={name:"drag"},Th={name:"space"},Nh={name:"handle"},kh={name:"center"},Sh={name:"x",handles:["e","w"].map(ae),input:function(t,n){return t&&[[t[0],n[0][1]],[t[1],n[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},Eh={name:"y",handles:["n","s"].map(ae),input:function(t,n){return t&&[[n[0][0],t[0]],[n[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},Ah={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(ae),input:function(t){return t},output:function(t){return t}},Ch={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},zh={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},Ph={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},Rh={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},Lh={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1},qh=Math.cos,Uh=Math.sin,Dh=Math.PI,Oh=Dh/2,Fh=2*Dh,Ih=Math.max,Yh=Array.prototype.slice,Bh=function(t){return function(){return t}},jh=Math.PI,Hh=2*jh,Xh=Hh-1e-6;de.prototype=ve.prototype={constructor:de,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,e,r){this._+="Q"+ +t+","+ +n+","+(this._x1=+e)+","+(this._y1=+r)},bezierCurveTo:function(t,n,e,r,i,o){this._+="C"+ +t+","+ +n+","+ +e+","+ +r+","+(this._x1=+i)+","+(this._y1=+o)},arcTo:function(t,n,e,r,i){t=+t,n=+n,e=+e,r=+r,i=+i;var o=this._x1,u=this._y1,a=e-t,c=r-n,s=o-t,f=u-n,l=s*s+f*f;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(l>1e-6)if(Math.abs(f*a-c*s)>1e-6&&i){var h=e-o,p=r-u,d=a*a+c*c,v=h*h+p*p,_=Math.sqrt(d),g=Math.sqrt(l),y=i*Math.tan((jh-Math.acos((d+l-v)/(2*_*g)))/2),m=y/g,x=y/_;Math.abs(m-1)>1e-6&&(this._+="L"+(t+m*s)+","+(n+m*f)),this._+="A"+i+","+i+",0,0,"+ +(f*h>s*p)+","+(this._x1=t+x*a)+","+(this._y1=n+x*c)}else this._+="L"+(this._x1=t)+","+(this._y1=n);else;},arc:function(t,n,e,r,i,o){t=+t,n=+n;var u=(e=+e)*Math.cos(r),a=e*Math.sin(r),c=t+u,s=n+a,f=1^o,l=o?r-i:i-r;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+c+","+s:(Math.abs(this._x1-c)>1e-6||Math.abs(this._y1-s)>1e-6)&&(this._+="L"+c+","+s),e&&(l<0&&(l=l%Hh+Hh),l>Xh?this._+="A"+e+","+e+",0,1,"+f+","+(t-u)+","+(n-a)+"A"+e+","+e+",0,1,"+f+","+(this._x1=c)+","+(this._y1=s):l>1e-6&&(this._+="A"+e+","+e+",0,"+ +(l>=jh)+","+f+","+(this._x1=t+e*Math.cos(i))+","+(this._y1=n+e*Math.sin(i))))},rect:function(t,n,e,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +r+"h"+-e+"Z"},toString:function(){return this._}};be.prototype=we.prototype={constructor:be,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,n){return this["$"+t]=n,this},remove:function(t){var n="$"+t;return n in this&&delete this[n]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var n in this)"$"===n[0]&&t.push(n.slice(1));return t},values:function(){var t=[];for(var n in this)"$"===n[0]&&t.push(this[n]);return t},entries:function(){var t=[];for(var n in this)"$"===n[0]&&t.push({key:n.slice(1),value:this[n]});return t},size:function(){var t=0;for(var n in this)"$"===n[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var n in this)"$"===n[0]&&t(this[n],n.slice(1),this)}};var $h=we.prototype;Se.prototype=Ee.prototype={constructor:Se,has:$h.has,add:function(t){return t+="",this["$"+t]=t,this},remove:$h.remove,clear:$h.clear,values:$h.keys,size:$h.size,empty:$h.empty,each:$h.each};var Vh={},Wh={},Zh=34,Gh=10,Jh=13,Qh=function(t){function n(t,n){function e(){if(s)return Wh;if(f)return f=!1,Vh;var n,e,r=a;if(t.charCodeAt(r)===Zh){for(;a++<u&&t.charCodeAt(a)!==Zh||t.charCodeAt(++a)===Zh;);return(n=a)>=u?s=!0:(e=t.charCodeAt(a++))===Gh?f=!0:e===Jh&&(f=!0,t.charCodeAt(a)===Gh&&++a),t.slice(r+1,n-1).replace(/""/g,'"')}for(;a<u;){if((e=t.charCodeAt(n=a++))===Gh)f=!0;else if(e===Jh)f=!0,t.charCodeAt(a)===Gh&&++a;else if(e!==o)continue;return t.slice(r,n)}return s=!0,t.slice(r,u)}var r,i=[],u=t.length,a=0,c=0,s=u<=0,f=!1;for(t.charCodeAt(u-1)===Gh&&--u,t.charCodeAt(u-1)===Jh&&--u;(r=e())!==Wh;){for(var l=[];r!==Vh&&r!==Wh;)l.push(r),r=e();n&&null==(l=n(l,c++))||i.push(l)}return i}function e(n){return n.map(r).join(t)}function r(t){return null==t?"":i.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}var i=new RegExp('["'+t+"\n\r]"),o=t.charCodeAt(0);return{parse:function(t,e){var r,i,o=n(t,function(t,n){if(r)return r(t,n-1);i=t,r=e?Ce(t,e):Ae(t)});return o.columns=i,o},parseRows:n,format:function(n,e){return null==e&&(e=ze(n)),[e.map(r).join(t)].concat(n.map(function(n){return e.map(function(t){return r(n[t])}).join(t)})).join("\n")},formatRows:function(t){return t.map(e).join("\n")}}},Kh=Qh(","),tp=Kh.parse,np=Kh.parseRows,ep=Kh.format,rp=Kh.formatRows,ip=Qh("\t"),op=ip.parse,up=ip.parseRows,ap=ip.format,cp=ip.formatRows,sp=function(t){return function(){return t}},fp=function(){return 1e-6*(Math.random()-.5)},lp=function(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i},hp=qe.prototype=Ue.prototype;hp.copy=function(){var t,n,e=new Ue(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=De(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=De(n));return e},hp.add=function(t){var n=+this._x.call(null,t),e=+this._y.call(null,t);return Pe(this.cover(n,e),n,e,t)},hp.addAll=function(t){var n,e,r,i,o=t.length,u=new Array(o),a=new Array(o),c=1/0,s=1/0,f=-1/0,l=-1/0;for(e=0;e<o;++e)isNaN(r=+this._x.call(null,n=t[e]))||isNaN(i=+this._y.call(null,n))||(u[e]=r,a[e]=i,r<c&&(c=r),r>f&&(f=r),i<s&&(s=i),i>l&&(l=i));for(f<c&&(c=this._x0,f=this._x1),l<s&&(s=this._y0,l=this._y1),this.cover(c,s).cover(f,l),e=0;e<o;++e)Pe(this,u[e],a[e],t[e]);return this},hp.cover=function(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,o=(r=Math.floor(n))+1;else{if(!(e>t||t>i||r>n||n>o))return this;var u,a,c=i-e,s=this._root;switch(a=(n<(r+o)/2)<<1|t<(e+i)/2){case 0:do{u=new Array(4),u[a]=s,s=u}while(c*=2,i=e+c,o=r+c,t>i||n>o);break;case 1:do{u=new Array(4),u[a]=s,s=u}while(c*=2,e=i-c,o=r+c,e>t||n>o);break;case 2:do{u=new Array(4),u[a]=s,s=u}while(c*=2,i=e+c,r=o-c,t>i||r>n);break;case 3:do{u=new Array(4),u[a]=s,s=u}while(c*=2,e=i-c,r=o-c,e>t||r>n)}this._root&&this._root.length&&(this._root=s)}return this._x0=e,this._y0=r,this._x1=i,this._y1=o,this},hp.data=function(){var t=[];return this.visit(function(n){if(!n.length)do{t.push(n.data)}while(n=n.next)}),t},hp.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},hp.find=function(t,n,e){var r,i,o,u,a,c,s,f=this._x0,l=this._y0,h=this._x1,p=this._y1,d=[],v=this._root;for(v&&d.push(new lp(v,f,l,h,p)),null==e?e=1/0:(f=t-e,l=n-e,h=t+e,p=n+e,e*=e);c=d.pop();)if(!(!(v=c.node)||(i=c.x0)>h||(o=c.y0)>p||(u=c.x1)<f||(a=c.y1)<l))if(v.length){var _=(i+u)/2,g=(o+a)/2;d.push(new lp(v[3],_,g,u,a),new lp(v[2],i,g,_,a),new lp(v[1],_,o,u,g),new lp(v[0],i,o,_,g)),(s=(n>=g)<<1|t>=_)&&(c=d[d.length-1],d[d.length-1]=d[d.length-1-s],d[d.length-1-s]=c)}else{var y=t-+this._x.call(null,v.data),m=n-+this._y.call(null,v.data),x=y*y+m*m;if(x<e){var b=Math.sqrt(e=x);f=t-b,l=n-b,h=t+b,p=n+b,r=v.data}}return r},hp.remove=function(t){if(isNaN(o=+this._x.call(null,t))||isNaN(u=+this._y.call(null,t)))return this;var n,e,r,i,o,u,a,c,s,f,l,h,p=this._root,d=this._x0,v=this._y0,_=this._x1,g=this._y1;if(!p)return this;if(p.length)for(;;){if((s=o>=(a=(d+_)/2))?d=a:_=a,(f=u>=(c=(v+g)/2))?v=c:g=c,n=p,!(p=p[l=f<<1|s]))return this;if(!p.length)break;(n[l+1&3]||n[l+2&3]||n[l+3&3])&&(e=n,h=l)}for(;p.data!==t;)if(r=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,r?(i?r.next=i:delete r.next,this):n?(i?n[l]=i:delete n[l],(p=n[0]||n[1]||n[2]||n[3])&&p===(n[3]||n[2]||n[1]||n[0])&&!p.length&&(e?e[h]=p:this._root=p),this):(this._root=i,this)},hp.removeAll=function(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this},hp.root=function(){return this._root},hp.size=function(){var t=0;return this.visit(function(n){if(!n.length)do{++t}while(n=n.next)}),t},hp.visit=function(t){var n,e,r,i,o,u,a=[],c=this._root;for(c&&a.push(new lp(c,this._x0,this._y0,this._x1,this._y1));n=a.pop();)if(!t(c=n.node,r=n.x0,i=n.y0,o=n.x1,u=n.y1)&&c.length){var s=(r+o)/2,f=(i+u)/2;(e=c[3])&&a.push(new lp(e,s,f,o,u)),(e=c[2])&&a.push(new lp(e,r,f,s,u)),(e=c[1])&&a.push(new lp(e,s,i,o,f)),(e=c[0])&&a.push(new lp(e,r,i,s,f))}return this},hp.visitAfter=function(t){var n,e=[],r=[];for(this._root&&e.push(new lp(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var o,u=n.x0,a=n.y0,c=n.x1,s=n.y1,f=(u+c)/2,l=(a+s)/2;(o=i[0])&&e.push(new lp(o,u,a,f,l)),(o=i[1])&&e.push(new lp(o,f,a,c,l)),(o=i[2])&&e.push(new lp(o,u,l,f,s)),(o=i[3])&&e.push(new lp(o,f,l,c,s))}r.push(n)}for(;n=r.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this},hp.x=function(t){return arguments.length?(this._x=t,this):this._x},hp.y=function(t){return arguments.length?(this._y=t,this):this._y};var pp,dp=10,vp=Math.PI*(3-Math.sqrt(5)),_p=function(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]},gp=function(t){return(t=_p(Math.abs(t)))?t[1]:NaN},yp=function(t,n){return function(e,r){for(var i=e.length,o=[],u=0,a=t[0],c=0;i>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),o.push(e.substring(i-=a,i+a)),!((c+=a+1)>r));)a=t[u=(u+1)%t.length];return o.reverse().join(n)}},mp=function(t){return function(n){return n.replace(/[0-9]/g,function(n){return t[+n]})}},xp=function(t,n){var e=_p(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")},bp={"":function(t,n){t:for(var e,r=(t=t.toPrecision(n)).length,i=1,o=-1;i<r;++i)switch(t[i]){case".":o=e=i;break;case"0":0===o&&(o=i),e=i;break;case"e":break t;default:o>0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t},"%":function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return xp(100*t,n)},r:xp,s:function(t,n){var e=_p(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(pp=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,u=r.length;return o===u?r:o>u?r+new Array(o-u+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+_p(t,Math.max(0,n+o-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},wp=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;He.prototype=Xe.prototype,Xe.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var Mp,Tp=function(t){return t},Np=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],kp=function(t){function n(t){function n(t){var n,r,u,f=_,x=g;if("c"===v)x=y(t)+x,t="";else{var b=(t=+t)<0;if(t=y(Math.abs(t),d),b&&0==+t&&(b=!1),f=(b?"("===s?s:"-":"-"===s||"("===s?"":s)+f,x=x+("s"===v?Np[8+pp/3]:"")+(b&&"("===s?")":""),m)for(n=-1,r=t.length;++n<r;)if(48>(u=t.charCodeAt(n))||u>57){x=(46===u?i+t.slice(n+1):t.slice(n))+x,t=t.slice(0,n);break}}p&&!l&&(t=e(t,1/0));var w=f.length+t.length+x.length,M=w<h?new Array(h-w+1).join(a):"";switch(p&&l&&(t=e(M+t,M.length?h-x.length:1/0),M=""),c){case"<":t=f+t+x+M;break;case"=":t=f+M+t+x;break;case"^":t=M.slice(0,w=M.length>>1)+f+t+x+M.slice(w);break;default:t=M+f+t+x}return o(t)}var a=(t=He(t)).fill,c=t.align,s=t.sign,f=t.symbol,l=t.zero,h=t.width,p=t.comma,d=t.precision,v=t.type,_="$"===f?r[0]:"#"===f&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",g="$"===f?r[1]:/[%p]/.test(v)?u:"",y=bp[v],m=!v||/[defgprs%]/.test(v);return d=null==d?v?6:12:/[gprs]/.test(v)?Math.max(1,Math.min(21,d)):Math.max(0,Math.min(20,d)),n.toString=function(){return t+""},n}var e=t.grouping&&t.thousands?yp(t.grouping,t.thousands):Tp,r=t.currency,i=t.decimal,o=t.numerals?mp(t.numerals):Tp,u=t.percent||"%";return{format:n,formatPrefix:function(t,e){var r=n((t=He(t),t.type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor(gp(e)/3))),o=Math.pow(10,-i),u=Np[8+i/3];return function(t){return r(o*t)+u}}}};$e({decimal:".",thousands:",",grouping:[3],currency:["$",""]});var Sp=function(t){return Math.max(0,-gp(Math.abs(t)))},Ep=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(gp(n)/3)))-gp(Math.abs(t)))},Ap=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,gp(n)-gp(t))+1},Cp=function(){return new Ve};Ve.prototype={constructor:Ve,reset:function(){this.s=this.t=0},add:function(t){We(cd,t,this.t),We(this,cd.s,this.s),this.s?this.t+=cd.t:this.s=cd.t},valueOf:function(){return this.s}};var zp,Pp,Rp,Lp,qp,Up,Dp,Op,Fp,Ip,Yp,Bp,jp,Hp,Xp,$p,Vp,Wp,Zp,Gp,Jp,Qp,Kp,td,nd,ed,rd,id,od,ud,ad,cd=new Ve,sd=1e-6,fd=Math.PI,ld=fd/2,hd=fd/4,pd=2*fd,dd=180/fd,vd=fd/180,_d=Math.abs,gd=Math.atan,yd=Math.atan2,md=Math.cos,xd=Math.ceil,bd=Math.exp,wd=Math.log,Md=Math.pow,Td=Math.sin,Nd=Math.sign||function(t){return t>0?1:t<0?-1:0},kd=Math.sqrt,Sd=Math.tan,Ed={Feature:function(t,n){Ke(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)Ke(e[r].geometry,n)}},Ad={Sphere:function(t,n){n.sphere()},Point:function(t,n){t=t.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)t=e[r],n.point(t[0],t[1],t[2])},LineString:function(t,n){tr(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)tr(e[r],n,0)},Polygon:function(t,n){nr(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)nr(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)Ke(e[r],n)}},Cd=function(t,n){t&&Ed.hasOwnProperty(t.type)?Ed[t.type](t,n):Ke(t,n)},zd=Cp(),Pd=Cp(),Rd={point:Qe,lineStart:Qe,lineEnd:Qe,polygonStart:function(){zd.reset(),Rd.lineStart=er,Rd.lineEnd=rr},polygonEnd:function(){var t=+zd;Pd.add(t<0?pd+t:t),this.lineStart=this.lineEnd=this.point=Qe},sphere:function(){Pd.add(pd)}},Ld=Cp(),qd={point:pr,lineStart:vr,lineEnd:_r,polygonStart:function(){qd.point=gr,qd.lineStart=yr,qd.lineEnd=mr,Ld.reset(),Rd.polygonStart()},polygonEnd:function(){Rd.polygonEnd(),qd.point=pr,qd.lineStart=vr,qd.lineEnd=_r,zd<0?(Up=-(Op=180),Dp=-(Fp=90)):Ld>sd?Fp=90:Ld<-sd&&(Dp=-90),Xp[0]=Up,Xp[1]=Op}},Ud={sphere:Qe,point:Mr,lineStart:Nr,lineEnd:Er,polygonStart:function(){Ud.lineStart=Ar,Ud.lineEnd=Cr},polygonEnd:function(){Ud.lineStart=Nr,Ud.lineEnd=Er}},Dd=function(t){return function(){return t}},Od=function(t,n){function e(e,r){return e=t(e,r),n(e[0],e[1])}return t.invert&&n.invert&&(e.invert=function(e,r){return(e=n.invert(e,r))&&t.invert(e[0],e[1])}),e};Rr.invert=Rr;var Fd,Id,Yd,Bd,jd,Hd,Xd,$d,Vd,Wd,Zd,Gd=function(t){function n(n){return n=t(n[0]*vd,n[1]*vd),n[0]*=dd,n[1]*=dd,n}return t=Lr(t[0]*vd,t[1]*vd,t.length>2?t[2]*vd:0),n.invert=function(n){return n=t.invert(n[0]*vd,n[1]*vd),n[0]*=dd,n[1]*=dd,n},n},Jd=function(){var t,n=[];return{point:function(n,e){t.push([n,e])},lineStart:function(){n.push(t=[])},lineEnd:Qe,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}},Qd=function(t,n){return _d(t[0]-n[0])<sd&&_d(t[1]-n[1])<sd},Kd=function(t,n,e,r,i){var o,u,a=[],c=[];if(t.forEach(function(t){if(!((n=t.length-1)<=0)){var n,e,r=t[0],u=t[n];if(Qd(r,u)){for(i.lineStart(),o=0;o<n;++o)i.point((r=t[o])[0],r[1]);i.lineEnd()}else a.push(e=new Ir(r,t,null,!0)),c.push(e.o=new Ir(r,null,e,!1)),a.push(e=new Ir(u,t,null,!1)),c.push(e.o=new Ir(u,null,e,!0))}}),a.length){for(c.sort(n),Yr(a),Yr(c),o=0,u=c.length;o<u;++o)c[o].e=e=!e;for(var s,f,l=a[0];;){for(var h=l,p=!0;h.v;)if((h=h.n)===l)return;s=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(p)for(o=0,u=s.length;o<u;++o)i.point((f=s[o])[0],f[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(p)for(s=h.p.z,o=s.length-1;o>=0;--o)i.point((f=s[o])[0],f[1]);else r(h.x,h.p.x,-1,i);h=h.p}s=(h=h.o).z,p=!p}while(!h.v);i.lineEnd()}}},tv=Cp(),nv=function(t,n){var e=n[0],r=n[1],i=[Td(e),-md(e),0],o=0,u=0;tv.reset();for(var a=0,c=t.length;a<c;++a)if(f=(s=t[a]).length)for(var s,f,l=s[f-1],h=l[0],p=l[1]/2+hd,d=Td(p),v=md(p),_=0;_<f;++_,h=y,d=x,v=b,l=g){var g=s[_],y=g[0],m=g[1]/2+hd,x=Td(m),b=md(m),w=y-h,M=w>=0?1:-1,T=M*w,N=T>fd,k=d*x;if(tv.add(yd(k*M*Td(T),v*b+k*md(T))),o+=N?w+M*pd:w,N^h>=e^y>=e){var S=sr(ar(l),ar(g));hr(S);var E=sr(i,S);hr(E);var A=(N^w>=0?-1:1)*Ge(E[2]);(r>A||r===A&&(S[0]||S[1]))&&(u+=N^w>=0?1:-1)}}return(o<-sd||o<sd&&tv<-sd)^1&u},ev=function(t,n,e,r){return function(i){function o(n,e){t(n,e)&&i.point(n,e)}function u(t,n){v.point(t,n)}function a(){m.point=u,v.lineStart()}function c(){m.point=o,v.lineEnd()}function s(t,n){d.push([t,n]),g.point(t,n)}function f(){g.lineStart(),d=[]}function l(){s(d[0][0],d[0][1]),g.lineEnd();var t,n,e,r,o=g.clean(),u=_.result(),a=u.length;if(d.pop(),h.push(d),d=null,a)if(1&o){if(e=u[0],(n=e.length-1)>0){for(y||(i.polygonStart(),y=!0),i.lineStart(),t=0;t<n;++t)i.point((r=e[t])[0],r[1]);i.lineEnd()}}else a>1&&2&o&&u.push(u.pop().concat(u.shift())),p.push(u.filter(Br))}var h,p,d,v=n(i),_=Jd(),g=n(_),y=!1,m={point:o,lineStart:a,lineEnd:c,polygonStart:function(){m.point=s,m.lineStart=f,m.lineEnd=l,p=[],h=[]},polygonEnd:function(){m.point=o,m.lineStart=a,m.lineEnd=c,p=Ps(p);var t=nv(h,r);p.length?(y||(i.polygonStart(),y=!0),Kd(p,jr,t,e,i)):t&&(y||(i.polygonStart(),y=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),y&&(i.polygonEnd(),y=!1),p=h=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}};return m}},rv=ev(function(){return!0},function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,u){var a=o>0?fd:-fd,c=_d(o-e);_d(c-fd)<sd?(t.point(e,r=(r+u)/2>0?ld:-ld),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),t.point(o,r),n=0):i!==a&&c>=fd&&(_d(e-i)<sd&&(e-=i*sd),_d(o-a)<sd&&(o-=a*sd),r=Hr(e,r,o,u),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),n=0),t.point(e=o,r=u),i=a},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}},function(t,n,e,r){var i;if(null==t)i=e*ld,r.point(-fd,i),r.point(0,i),r.point(fd,i),r.point(fd,0),r.point(fd,-i),r.point(0,-i),r.point(-fd,-i),r.point(-fd,0),r.point(-fd,i);else if(_d(t[0]-n[0])>sd){var o=t[0]<n[0]?fd:-fd;i=e*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(n[0],n[1])},[-fd,-ld]),iv=function(t){function n(t,n){return md(t)*md(n)>i}function e(t,n,e){var r=[1,0,0],o=sr(ar(t),ar(n)),u=cr(o,o),a=o[0],c=u-a*a;if(!c)return!e&&t;var s=i*u/c,f=-i*a/c,l=sr(r,o),h=lr(r,s);fr(h,lr(o,f));var p=l,d=cr(h,p),v=cr(p,p),_=d*d-v*(cr(h,h)-1);if(!(_<0)){var g=kd(_),y=lr(p,(-d-g)/v);if(fr(y,h),y=ur(y),!e)return y;var m,x=t[0],b=n[0],w=t[1],M=n[1];b<x&&(m=x,x=b,b=m);var T=b-x,N=_d(T-fd)<sd,k=N||T<sd;if(!N&&M<w&&(m=w,w=M,M=m),k?N?w+M>0^y[1]<(_d(y[0]-x)<sd?w:M):w<=y[1]&&y[1]<=M:T>fd^(x<=y[0]&&y[0]<=b)){var S=lr(p,(-d+g)/v);return fr(S,h),[y,ur(S)]}}}function r(n,e){var r=u?t:fd-t,i=0;return n<-r?i|=1:n>r&&(i|=2),e<-r?i|=4:e>r&&(i|=8),i}var i=md(t),o=6*vd,u=i>0,a=_d(i)>sd;return ev(n,function(t){var i,o,c,s,f;return{lineStart:function(){s=c=!1,f=1},point:function(l,h){var p,d=[l,h],v=n(l,h),_=u?v?0:r(l,h):v?r(l+(l<0?fd:-fd),h):0;if(!i&&(s=c=v)&&t.lineStart(),v!==c&&(!(p=e(i,d))||Qd(i,p)||Qd(d,p))&&(d[0]+=sd,d[1]+=sd,v=n(d[0],d[1])),v!==c)f=0,v?(t.lineStart(),p=e(d,i),t.point(p[0],p[1])):(p=e(i,d),t.point(p[0],p[1]),t.lineEnd()),i=p;else if(a&&i&&u^v){var g;_&o||!(g=e(d,i,!0))||(f=0,u?(t.lineStart(),t.point(g[0][0],g[0][1]),t.point(g[1][0],g[1][1]),t.lineEnd()):(t.point(g[1][0],g[1][1]),t.lineEnd(),t.lineStart(),t.point(g[0][0],g[0][1])))}!v||i&&Qd(i,d)||t.point(d[0],d[1]),i=d,c=v,o=_},lineEnd:function(){c&&t.lineEnd(),i=null},clean:function(){return f|(s&&c)<<1}}},function(n,e,r,i){Or(i,t,o,r,n,e)},u?[0,-t]:[-fd,t-fd])},ov=function(t,n,e,r,i,o){var u,a=t[0],c=t[1],s=0,f=1,l=n[0]-a,h=n[1]-c;if(u=e-a,l||!(u>0)){if(u/=l,l<0){if(u<s)return;u<f&&(f=u)}else if(l>0){if(u>f)return;u>s&&(s=u)}if(u=i-a,l||!(u<0)){if(u/=l,l<0){if(u>f)return;u>s&&(s=u)}else if(l>0){if(u<s)return;u<f&&(f=u)}if(u=r-c,h||!(u>0)){if(u/=h,h<0){if(u<s)return;u<f&&(f=u)}else if(h>0){if(u>f)return;u>s&&(s=u)}if(u=o-c,h||!(u<0)){if(u/=h,h<0){if(u>f)return;u>s&&(s=u)}else if(h>0){if(u<s)return;u<f&&(f=u)}return s>0&&(t[0]=a+s*l,t[1]=c+s*h),f<1&&(n[0]=a+f*l,n[1]=c+f*h),!0}}}}},uv=1e9,av=-uv,cv=Cp(),sv={sphere:Qe,point:Qe,lineStart:function(){sv.point=Vr,sv.lineEnd=$r},lineEnd:Qe,polygonStart:Qe,polygonEnd:Qe},fv=function(t){return cv.reset(),Cd(t,sv),+cv},lv=[null,null],hv={type:"LineString",coordinates:lv},pv=function(t,n){return lv[0]=t,lv[1]=n,fv(hv)},dv={Feature:function(t,n){return Zr(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)if(Zr(e[r].geometry,n))return!0;return!1}},vv={Sphere:function(){return!0},Point:function(t,n){return Gr(t.coordinates,n)},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(Gr(e[r],n))return!0;return!1},LineString:function(t,n){return Jr(t.coordinates,n)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(Jr(e[r],n))return!0;return!1},Polygon:function(t,n){return Qr(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(Qr(e[r],n))return!0;return!1},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)if(Zr(e[r],n))return!0;return!1}},_v=function(t){return t},gv=Cp(),yv=Cp(),mv={point:Qe,lineStart:Qe,lineEnd:Qe,polygonStart:function(){mv.lineStart=ii,mv.lineEnd=ai},polygonEnd:function(){mv.lineStart=mv.lineEnd=mv.point=Qe,gv.add(_d(yv)),yv.reset()},result:function(){var t=gv/2;return gv.reset(),t}},xv=1/0,bv=xv,wv=-xv,Mv=wv,Tv={point:function(t,n){t<xv&&(xv=t),t>wv&&(wv=t),n<bv&&(bv=n),n>Mv&&(Mv=n)},lineStart:Qe,lineEnd:Qe,polygonStart:Qe,polygonEnd:Qe,result:function(){var t=[[xv,bv],[wv,Mv]];return wv=Mv=-(bv=xv=1/0),t}},Nv=0,kv=0,Sv=0,Ev=0,Av=0,Cv=0,zv=0,Pv=0,Rv=0,Lv={point:ci,lineStart:si,lineEnd:hi,polygonStart:function(){Lv.lineStart=pi,Lv.lineEnd=di},polygonEnd:function(){Lv.point=ci,Lv.lineStart=si,Lv.lineEnd=hi},result:function(){var t=Rv?[zv/Rv,Pv/Rv]:Cv?[Ev/Cv,Av/Cv]:Sv?[Nv/Sv,kv/Sv]:[NaN,NaN];return Nv=kv=Sv=Ev=Av=Cv=zv=Pv=Rv=0,t}};gi.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._context.moveTo(t,n),this._point=1;break;case 1:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radius,n),this._context.arc(t,n,this._radius,0,pd)}},result:Qe};var qv,Uv,Dv,Ov,Fv,Iv=Cp(),Yv={point:Qe,lineStart:function(){Yv.point=yi},lineEnd:function(){qv&&mi(Uv,Dv),Yv.point=Qe},polygonStart:function(){qv=!0},polygonEnd:function(){qv=null},result:function(){var t=+Iv;return Iv.reset(),t}};xi.prototype={_radius:4.5,_circle:bi(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._string.push("M",t,",",n),this._point=1;break;case 1:this._string.push("L",t,",",n);break;default:null==this._circle&&(this._circle=bi(this._radius)),this._string.push("M",t,",",n,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};Mi.prototype={constructor:Mi,point:function(t,n){this.stream.point(t,n)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Bv=16,jv=md(30*vd),Hv=function(t,n){return+n?Si(t,n):ki(t)},Xv=wi({point:function(t,n){this.stream.point(t*vd,n*vd)}}),$v=function(){return zi(Ri).scale(155.424).center([0,33.6442])},Vv=function(){return $v().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])},Wv=qi(function(t){return kd(2/(1+t))});Wv.invert=Ui(function(t){return 2*Ge(t/2)});var Zv=qi(function(t){return(t=Ze(t))&&t/Td(t)});Zv.invert=Ui(function(t){return t});Di.invert=function(t,n){return[t,2*gd(bd(n))-ld]};Yi.invert=Yi;ji.invert=Ui(gd);Xi.invert=function(t,n){var e,r=n,i=25;do{var o=r*r,u=o*o;r-=e=(r*(1.007226+o*(.015085+u*(.028874*o-.044475-.005916*u)))-n)/(1.007226+o*(.045255+u*(.259866*o-.311325-.005916*11*u)))}while(_d(e)>sd&&--i>0);return[t/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]};$i.invert=Ui(Ge);Vi.invert=Ui(function(t){return 2*gd(t)});Wi.invert=function(t,n){return[-n,2*gd(bd(t))-ld]};co.prototype=io.prototype={constructor:co,count:function(){return this.eachAfter(eo)},each:function(t){var n,e,r,i,o=this,u=[o];do{for(n=u.reverse(),u=[];o=n.pop();)if(t(o),e=o.children)for(r=0,i=e.length;r<i;++r)u.push(e[r])}while(u.length);return this},eachAfter:function(t){for(var n,e,r,i=this,o=[i],u=[];i=o.pop();)if(u.push(i),n=i.children)for(e=0,r=n.length;e<r;++e)o.push(n[e]);for(;i=u.pop();)t(i);return this},eachBefore:function(t){for(var n,e,r=this,i=[r];r=i.pop();)if(t(r),n=r.children)for(e=n.length-1;e>=0;--e)i.push(n[e]);return this},sum:function(t){return this.eachAfter(function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e})},sort:function(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})},path:function(t){for(var n=this,e=ro(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){var t=[];return this.each(function(n){t.push(n)}),t},leaves:function(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t},links:function(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n},copy:function(){return io(this).eachBefore(uo)}};var Gv=Array.prototype.slice,Jv=function(t){for(var n,e,r=0,i=(t=so(Gv.call(t))).length,o=[];r<i;)n=t[r],e&&ho(e,n)?++r:(e=vo(o=fo(o,n)),r=0);return e},Qv=function(t){return function(){return t}},Kv=function(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)},t_=function(t,n,e,r,i){for(var o,u=t.children,a=-1,c=u.length,s=t.value&&(r-n)/t.value;++a<c;)(o=u[a]).y0=e,o.y1=i,o.x0=n,o.x1=n+=o.value*s},n_="$",e_={depth:-1},r_={};Fo.prototype=Object.create(co.prototype);var i_=function(t,n,e,r,i){for(var o,u=t.children,a=-1,c=u.length,s=t.value&&(i-e)/t.value;++a<c;)(o=u[a]).x0=n,o.x1=r,o.y0=e,o.y1=e+=o.value*s},o_=(1+Math.sqrt(5))/2,u_=function t(n){function e(t,e,r,i,o){Yo(n,t,e,r,i,o)}return e.ratio=function(n){return t((n=+n)>1?n:1)},e}(o_),a_=function t(n){function e(t,e,r,i,o){if((u=t._squarify)&&u.ratio===n)for(var u,a,c,s,f,l=-1,h=u.length,p=t.value;++l<h;){for(c=(a=u[l]).children,s=a.value=0,f=c.length;s<f;++s)a.value+=c[s].value;a.dice?t_(a,e,r,i,r+=(o-r)*a.value/p):i_(a,e,r,e+=(i-e)*a.value/p,o),p-=a.value}else t._squarify=u=Yo(n,t,e,r,i,o),u.ratio=n}return e.ratio=function(n){return t((n=+n)>1?n:1)},e}(o_),c_=function(t,n,e){return(n[0]-t[0])*(e[1]-t[1])-(n[1]-t[1])*(e[0]-t[0])},s_=[].slice,f_={};Ho.prototype=Go.prototype={constructor:Ho,defer:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("defer after await");if(null!=this._error)return this;var n=s_.call(arguments,1);return n.push(t),++this._waiting,this._tasks.push(n),Xo(this),this},abort:function(){return null==this._error&&Wo(this,new Error("abort")),this},await:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=function(n,e){t.apply(null,[n].concat(e))},Zo(this),this},awaitAll:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=t,Zo(this),this}};var l_=function(){return Math.random()},h_=function t(n){function e(t,e){return t=null==t?0:+t,e=null==e?1:+e,1===arguments.length?(e=t,t=0):e-=t,function(){return n()*e+t}}return e.source=t,e}(l_),p_=function t(n){function e(t,e){var r,i;return t=null==t?0:+t,e=null==e?1:+e,function(){var o;if(null!=r)o=r,r=null;else do{r=2*n()-1,o=2*n()-1,i=r*r+o*o}while(!i||i>1);return t+e*o*Math.sqrt(-2*Math.log(i)/i)}}return e.source=t,e}(l_),d_=function t(n){function e(){var t=p_.source(n).apply(this,arguments);return function(){return Math.exp(t())}}return e.source=t,e}(l_),v_=function t(n){function e(t){return function(){for(var e=0,r=0;r<t;++r)e+=n();return e}}return e.source=t,e}(l_),__=function t(n){function e(t){var e=v_.source(n)(t);return function(){return e()/t}}return e.source=t,e}(l_),g_=function t(n){function e(t){return function(){return-Math.log(1-n())/t}}return e.source=t,e}(l_),y_=function(t,n){function e(t){var n,e=s.status;if(!e&&Qo(s)||e>=200&&e<300||304===e){if(o)try{n=o.call(r,s)}catch(t){return void a.call("error",r,t)}else n=s;a.call("load",r,n)}else a.call("error",r,t)}var r,i,o,u,a=h("beforesend","progress","load","error"),c=we(),s=new XMLHttpRequest,f=null,l=null,p=0;if("undefined"==typeof XDomainRequest||"withCredentials"in s||!/^(http(s)?:)?\/\//.test(t)||(s=new XDomainRequest),"onload"in s?s.onload=s.onerror=s.ontimeout=e:s.onreadystatechange=function(t){s.readyState>3&&e(t)},s.onprogress=function(t){a.call("progress",r,t)},r={header:function(t,n){return t=(t+"").toLowerCase(),arguments.length<2?c.get(t):(null==n?c.remove(t):c.set(t,n+""),r)},mimeType:function(t){return arguments.length?(i=null==t?null:t+"",r):i},responseType:function(t){return arguments.length?(u=t,r):u},timeout:function(t){return arguments.length?(p=+t,r):p},user:function(t){return arguments.length<1?f:(f=null==t?null:t+"",r)},password:function(t){return arguments.length<1?l:(l=null==t?null:t+"",r)},response:function(t){return o=t,r},get:function(t,n){return r.send("GET",t,n)},post:function(t,n){return r.send("POST",t,n)},send:function(n,e,o){return s.open(n,t,!0,f,l),null==i||c.has("accept")||c.set("accept",i+",*/*"),s.setRequestHeader&&c.each(function(t,n){s.setRequestHeader(n,t)}),null!=i&&s.overrideMimeType&&s.overrideMimeType(i),null!=u&&(s.responseType=u),p>0&&(s.timeout=p),null==o&&"function"==typeof e&&(o=e,e=null),null!=o&&1===o.length&&(o=Jo(o)),null!=o&&r.on("error",o).on("load",function(t){o(null,t)}),a.call("beforesend",r,s),s.send(null==e?null:e),r},abort:function(){return s.abort(),r},on:function(){var t=a.on.apply(a,arguments);return t===a?r:t}},null!=n){if("function"!=typeof n)throw new Error("invalid callback: "+n);return r.get(n)}return r},m_=function(t,n){return function(e,r){var i=y_(e).mimeType(t).response(n);if(null!=r){if("function"!=typeof r)throw new Error("invalid callback: "+r);return i.get(r)}return i}},x_=m_("text/html",function(t){return document.createRange().createContextualFragment(t.responseText)}),b_=m_("application/json",function(t){return JSON.parse(t.responseText)}),w_=m_("text/plain",function(t){return t.responseText}),M_=m_("application/xml",function(t){var n=t.responseXML;if(!n)throw new Error("parse error");return n}),T_=function(t,n){return function(e,r,i){arguments.length<3&&(i=r,r=null);var o=y_(e).mimeType(t);return o.row=function(t){return arguments.length?o.response(Ko(n,r=t)):r},o.row(r),i?o.get(i):o}},N_=T_("text/csv",tp),k_=T_("text/tab-separated-values",op),S_=Array.prototype,E_=S_.map,A_=S_.slice,C_={name:"implicit"},z_=function(t){return function(){return t}},P_=function(t){return+t},R_=[0,1],L_=function(n,e,r){var o,u=n[0],a=n[n.length-1],c=i(u,a,null==e?10:e);switch((r=He(null==r?",f":r)).type){case"s":var s=Math.max(Math.abs(u),Math.abs(a));return null!=r.precision||isNaN(o=Ep(c,s))||(r.precision=o),t.formatPrefix(r,s);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(o=Ap(c,Math.max(Math.abs(u),Math.abs(a))))||(r.precision=o-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(o=Sp(c))||(r.precision=o-2*("%"===r.type))}return t.format(r)},q_=function(t,n){var e,r=0,i=(t=t.slice()).length-1,o=t[r],u=t[i];return u<o&&(e=r,r=i,i=e,e=o,o=u,u=e),t[r]=n.floor(o),t[i]=n.ceil(u),t},U_=new Date,D_=new Date,O_=Nu(function(){},function(t,n){t.setTime(+t+n)},function(t,n){return n-t});O_.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Nu(function(n){n.setTime(Math.floor(n/t)*t)},function(n,e){n.setTime(+n+e*t)},function(n,e){return(e-n)/t}):O_:null};var F_=O_.range,I_=6e4,Y_=6048e5,B_=Nu(function(t){t.setTime(1e3*Math.floor(t/1e3))},function(t,n){t.setTime(+t+1e3*n)},function(t,n){return(n-t)/1e3},function(t){return t.getUTCSeconds()}),j_=B_.range,H_=Nu(function(t){t.setTime(Math.floor(t/I_)*I_)},function(t,n){t.setTime(+t+n*I_)},function(t,n){return(n-t)/I_},function(t){return t.getMinutes()}),X_=H_.range,$_=Nu(function(t){var n=t.getTimezoneOffset()*I_%36e5;n<0&&(n+=36e5),t.setTime(36e5*Math.floor((+t-n)/36e5)+n)},function(t,n){t.setTime(+t+36e5*n)},function(t,n){return(n-t)/36e5},function(t){return t.getHours()}),V_=$_.range,W_=Nu(function(t){t.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*I_)/864e5},function(t){return t.getDate()-1}),Z_=W_.range,G_=ku(0),J_=ku(1),Q_=ku(2),K_=ku(3),tg=ku(4),ng=ku(5),eg=ku(6),rg=G_.range,ig=J_.range,og=Q_.range,ug=K_.range,ag=tg.range,cg=ng.range,sg=eg.range,fg=Nu(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,n){t.setMonth(t.getMonth()+n)},function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())},function(t){return t.getMonth()}),lg=fg.range,hg=Nu(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t,n){return n.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});hg.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Nu(function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)},function(n,e){n.setFullYear(n.getFullYear()+e*t)}):null};var pg=hg.range,dg=Nu(function(t){t.setUTCSeconds(0,0)},function(t,n){t.setTime(+t+n*I_)},function(t,n){return(n-t)/I_},function(t){return t.getUTCMinutes()}),vg=dg.range,_g=Nu(function(t){t.setUTCMinutes(0,0,0)},function(t,n){t.setTime(+t+36e5*n)},function(t,n){return(n-t)/36e5},function(t){return t.getUTCHours()}),gg=_g.range,yg=Nu(function(t){t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+n)},function(t,n){return(n-t)/864e5},function(t){return t.getUTCDate()-1}),mg=yg.range,xg=Su(0),bg=Su(1),wg=Su(2),Mg=Su(3),Tg=Su(4),Ng=Su(5),kg=Su(6),Sg=xg.range,Eg=bg.range,Ag=wg.range,Cg=Mg.range,zg=Tg.range,Pg=Ng.range,Rg=kg.range,Lg=Nu(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCMonth(t.getUTCMonth()+n)},function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()}),qg=Lg.range,Ug=Nu(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)},function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});Ug.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Nu(function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)},function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)}):null};var Dg,Og=Ug.range,Fg={"-":"",_:" ",0:"0"},Ig=/^\s*\d+/,Yg=/^%/,Bg=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;Na({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var jg=Date.prototype.toISOString?function(t){return t.toISOString()}:t.utcFormat("%Y-%m-%dT%H:%M:%S.%LZ"),Hg=+new Date("2000-01-01T00:00:00.000Z")?function(t){var n=new Date(t);return isNaN(n)?null:n}:t.utcParse("%Y-%m-%dT%H:%M:%S.%LZ"),Xg=1e3,$g=60*Xg,Vg=60*$g,Wg=24*Vg,Zg=7*Wg,Gg=30*Wg,Jg=365*Wg,Qg=function(t){return t.match(/.{6}/g).map(function(t){return"#"+t})},Kg=Qg("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),ty=Qg("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),ny=Qg("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),ey=Qg("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),ry=Tl($t(300,.5,0),$t(-240,.5,1)),iy=Tl($t(-100,.75,.35),$t(80,1.5,.8)),oy=Tl($t(260,.75,.35),$t(80,1.5,.8)),uy=$t(),ay=Aa(Qg("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),cy=Aa(Qg("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),sy=Aa(Qg("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),fy=Aa(Qg("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),ly=function(t){return function(){return t}},hy=Math.abs,py=Math.atan2,dy=Math.cos,vy=Math.max,_y=Math.min,gy=Math.sin,yy=Math.sqrt,my=1e-12,xy=Math.PI,by=xy/2,wy=2*xy;Ia.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var My=function(t){return new Ia(t)},Ty=function(){function t(t){var a,c,s,f=t.length,l=!1;for(null==i&&(u=o(s=ve())),a=0;a<=f;++a)!(a<f&&r(c=t[a],a,t))===l&&((l=!l)?u.lineStart():u.lineEnd()),l&&u.point(+n(c,a,t),+e(c,a,t));if(s)return u=null,s+""||null}var n=Ya,e=Ba,r=ly(!0),i=null,o=My,u=null;return t.x=function(e){return arguments.length?(n="function"==typeof e?e:ly(+e),t):n},t.y=function(n){return arguments.length?(e="function"==typeof n?n:ly(+n),t):e},t.defined=function(n){return arguments.length?(r="function"==typeof n?n:ly(!!n),t):r},t.curve=function(n){return arguments.length?(o=n,null!=i&&(u=o(i)),t):o},t.context=function(n){return arguments.length?(null==n?i=u=null:u=o(i=n),t):i},t},Ny=function(){function t(t){var n,f,l,h,p,d=t.length,v=!1,_=new Array(d),g=new Array(d);for(null==a&&(s=c(p=ve())),n=0;n<=d;++n){if(!(n<d&&u(h=t[n],n,t))===v)if(v=!v)f=n,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),l=n-1;l>=f;--l)s.point(_[l],g[l]);s.lineEnd(),s.areaEnd()}v&&(_[n]=+e(h,n,t),g[n]=+i(h,n,t),s.point(r?+r(h,n,t):_[n],o?+o(h,n,t):g[n]))}if(p)return s=null,p+""||null}function n(){return Ty().defined(u).curve(c).context(a)}var e=Ya,r=null,i=ly(0),o=Ba,u=ly(!0),a=null,c=My,s=null;return t.x=function(n){return arguments.length?(e="function"==typeof n?n:ly(+n),r=null,t):e},t.x0=function(n){return arguments.length?(e="function"==typeof n?n:ly(+n),t):e},t.x1=function(n){return arguments.length?(r=null==n?null:"function"==typeof n?n:ly(+n),t):r},t.y=function(n){return arguments.length?(i="function"==typeof n?n:ly(+n),o=null,t):i},t.y0=function(n){return arguments.length?(i="function"==typeof n?n:ly(+n),t):i},t.y1=function(n){return arguments.length?(o=null==n?null:"function"==typeof n?n:ly(+n),t):o},t.lineX0=t.lineY0=function(){return n().x(e).y(i)},t.lineY1=function(){return n().x(e).y(o)},t.lineX1=function(){return n().x(r).y(i)},t.defined=function(n){return arguments.length?(u="function"==typeof n?n:ly(!!n),t):u},t.curve=function(n){return arguments.length?(c=n,null!=a&&(s=c(a)),t):c},t.context=function(n){return arguments.length?(null==n?a=s=null:s=c(a=n),t):a},t},ky=function(t,n){return n<t?-1:n>t?1:n>=t?0:NaN},Sy=function(t){return t},Ey=Ha(My);ja.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};var Ay=function(){return Xa(Ty().curve(Ey))},Cy=function(){var t=Ny().curve(Ey),n=t.curve,e=t.lineX0,r=t.lineX1,i=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return Xa(e())},delete t.lineX0,t.lineEndAngle=function(){return Xa(r())},delete t.lineX1,t.lineInnerRadius=function(){return Xa(i())},delete t.lineY0,t.lineOuterRadius=function(){return Xa(o())},delete t.lineY1,t.curve=function(t){return arguments.length?n(Ha(t)):n()._curve},t},zy=function(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]},Py=Array.prototype.slice,Ry={draw:function(t,n){var e=Math.sqrt(n/xy);t.moveTo(e,0),t.arc(0,0,e,0,wy)}},Ly={draw:function(t,n){var e=Math.sqrt(n/5)/2;t.moveTo(-3*e,-e),t.lineTo(-e,-e),t.lineTo(-e,-3*e),t.lineTo(e,-3*e),t.lineTo(e,-e),t.lineTo(3*e,-e),t.lineTo(3*e,e),t.lineTo(e,e),t.lineTo(e,3*e),t.lineTo(-e,3*e),t.lineTo(-e,e),t.lineTo(-3*e,e),t.closePath()}},qy=Math.sqrt(1/3),Uy=2*qy,Dy={draw:function(t,n){var e=Math.sqrt(n/Uy),r=e*qy;t.moveTo(0,-e),t.lineTo(r,0),t.lineTo(0,e),t.lineTo(-r,0),t.closePath()}},Oy=Math.sin(xy/10)/Math.sin(7*xy/10),Fy=Math.sin(wy/10)*Oy,Iy=-Math.cos(wy/10)*Oy,Yy={draw:function(t,n){var e=Math.sqrt(.8908130915292852*n),r=Fy*e,i=Iy*e;t.moveTo(0,-e),t.lineTo(r,i);for(var o=1;o<5;++o){var u=wy*o/5,a=Math.cos(u),c=Math.sin(u);t.lineTo(c*e,-a*e),t.lineTo(a*r-c*i,c*r+a*i)}t.closePath()}},By={draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},jy=Math.sqrt(3),Hy={draw:function(t,n){var e=-Math.sqrt(n/(3*jy));t.moveTo(0,2*e),t.lineTo(-jy*e,-e),t.lineTo(jy*e,-e),t.closePath()}},Xy=-.5,$y=Math.sqrt(3)/2,Vy=1/Math.sqrt(12),Wy=3*(Vy/2+1),Zy={draw:function(t,n){var e=Math.sqrt(n/Wy),r=e/2,i=e*Vy,o=r,u=e*Vy+e,a=-o,c=u;t.moveTo(r,i),t.lineTo(o,u),t.lineTo(a,c),t.lineTo(Xy*r-$y*i,$y*r+Xy*i),t.lineTo(Xy*o-$y*u,$y*o+Xy*u),t.lineTo(Xy*a-$y*c,$y*a+Xy*c),t.lineTo(Xy*r+$y*i,Xy*i-$y*r),t.lineTo(Xy*o+$y*u,Xy*u-$y*o),t.lineTo(Xy*a+$y*c,Xy*c-$y*a),t.closePath()}},Gy=[Ry,Ly,Dy,By,Yy,Hy,Zy],Jy=function(){};Ka.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Qa(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Qa(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};tc.prototype={areaStart:Jy,areaEnd:Jy,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:Qa(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};nc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break;case 3:this._point=4;default:Qa(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};ec.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var r,i=t[0],o=n[0],u=t[e]-i,a=n[e]-o,c=-1;++c<=e;)r=c/e,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*u),this._beta*n[c]+(1-this._beta)*(o+r*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var Qy=function t(n){function e(t){return 1===n?new Ka(t):new ec(t,n)}return e.beta=function(n){return t(+n)},e}(.85);ic.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:rc(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:rc(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Ky=function t(n){function e(t){return new ic(t,n)}return e.tension=function(n){return t(+n)},e}(0);oc.prototype={areaStart:Jy,areaEnd:Jy,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:rc(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var tm=function t(n){function e(t){return new oc(t,n)}return e.tension=function(n){return t(+n)},e}(0);uc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:rc(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var nm=function t(n){function e(t){return new uc(t,n)}return e.tension=function(n){return t(+n)},e}(0);cc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:ac(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var em=function t(n){function e(t){return n?new cc(t,n):new ic(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);sc.prototype={areaStart:Jy,areaEnd:Jy,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:ac(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var rm=function t(n){function e(t){return n?new sc(t,n):new oc(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);fc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:ac(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var im=function t(n){function e(t){return n?new fc(t,n):new uc(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);lc.prototype={areaStart:Jy,areaEnd:Jy,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}};_c.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:vc(this,this._t0,dc(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){var e=NaN;if(t=+t,n=+n,t!==this._x1||n!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,vc(this,dc(this,e=pc(this,t,n)),e);break;default:vc(this,this._t0,e=pc(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=e}}},(gc.prototype=Object.create(_c.prototype)).point=function(t,n){_c.prototype.point.call(this,n,t)},yc.prototype={moveTo:function(t,n){this._context.moveTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,e,r,i,o){this._context.bezierCurveTo(n,t,r,e,o,i)}},mc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,n=this._y,e=t.length;if(e)if(this._line?this._context.lineTo(t[0],n[0]):this._context.moveTo(t[0],n[0]),2===e)this._context.lineTo(t[1],n[1]);else for(var r=xc(t),i=xc(n),o=0,u=1;u<e;++o,++u)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],t[u],n[u]);(this._line||0!==this._line&&1===e)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,n){this._x.push(+t),this._y.push(+n)}};bc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}};var om=function(t,n){if((i=t.length)>1)for(var e,r,i,o=1,u=t[n[0]],a=u.length;o<i;++o)for(r=u,u=t[n[o]],e=0;e<a;++e)u[e][1]+=u[e][0]=isNaN(r[e][1])?r[e][0]:r[e][1]},um=function(t){for(var n=t.length,e=new Array(n);--n>=0;)e[n]=n;return e},am=function(t){var n=t.map(Mc);return um(t).sort(function(t,e){return n[t]-n[e]})},cm=function(t){return function(){return t}};kc.prototype={constructor:kc,insert:function(t,n){var e,r,i;if(t){if(n.P=t,n.N=t.N,t.N&&(t.N.P=n),t.N=n,t.R){for(t=t.R;t.L;)t=t.L;t.L=n}else t.R=n;e=t}else this._?(t=Cc(this._),n.P=null,n.N=t,t.P=t.L=n,e=t):(n.P=n.N=null,this._=n,e=null);for(n.L=n.R=null,n.U=e,n.C=!0,t=n;e&&e.C;)e===(r=e.U).L?(i=r.R)&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.R&&(Ec(this,e),e=(t=e).U),e.C=!1,r.C=!0,Ac(this,r)):(i=r.L)&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.L&&(Ac(this,e),e=(t=e).U),e.C=!1,r.C=!0,Ec(this,r)),e=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var n,e,r,i=t.U,o=t.L,u=t.R;if(e=o?u?Cc(u):o:u,i?i.L===t?i.L=e:i.R=e:this._=e,o&&u?(r=e.C,e.C=t.C,e.L=o,o.U=e,e!==u?(i=e.U,e.U=t.U,t=e.R,i.L=t,e.R=u,u.U=e):(e.U=i,i=e,t=e.R)):(r=t.C,t=e),t&&(t.U=i),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((n=i.R).C&&(n.C=!1,i.C=!0,Ec(this,i),n=i.R),n.L&&n.L.C||n.R&&n.R.C){n.R&&n.R.C||(n.L.C=!1,n.C=!0,Ac(this,n),n=i.R),n.C=i.C,i.C=n.R.C=!1,Ec(this,i),t=this._;break}}else if((n=i.L).C&&(n.C=!1,i.C=!0,Ac(this,i),n=i.L),n.L&&n.L.C||n.R&&n.R.C){n.L&&n.L.C||(n.R.C=!1,n.C=!0,Ec(this,n),n=i.L),n.C=i.C,i.C=n.L.C=!1,Ac(this,i),t=this._;break}n.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var sm,fm,lm,hm,pm,dm=[],vm=[],_m=1e-6,gm=1e-12;ns.prototype={constructor:ns,polygons:function(){var t=this.edges;return this.cells.map(function(n){var e=n.halfedges.map(function(e){return Fc(n,t[e])});return e.data=n.site.data,e})},triangles:function(){var t=[],n=this.edges;return this.cells.forEach(function(e,r){if(o=(i=e.halfedges).length)for(var i,o,u,a=e.site,c=-1,s=n[i[o-1]],f=s.left===a?s.right:s.left;++c<o;)u=f,f=(s=n[i[c]]).left===a?s.right:s.left,u&&f&&r<u.index&&r<f.index&&Kc(a,u,f)<0&&t.push([a.data,u.data,f.data])}),t},links:function(){return this.edges.filter(function(t){return t.right}).map(function(t){return{source:t.left.data,target:t.right.data}})},find:function(t,n,e){for(var r,i,o=this,u=o._found||0,a=o.cells.length;!(i=o.cells[u]);)if(++u>=a)return null;var c=t-i.site[0],s=n-i.site[1],f=c*c+s*s;do{i=o.cells[r=u],u=null,i.halfedges.forEach(function(e){var r=o.edges[e],a=r.left;if(a!==i.site&&a||(a=r.right)){var c=t-a[0],s=n-a[1],l=c*c+s*s;l<f&&(f=l,u=a.index)}})}while(null!==u);return o._found=r,null==e||f<=e*e?i.site:null}};var ym=function(t){return function(){return t}};rs.prototype={constructor:rs,scale:function(t){return 1===t?this:new rs(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new rs(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var mm=new rs(1,0,0);is.prototype=rs.prototype;var xm=function(){t.event.preventDefault(),t.event.stopImmediatePropagation()};t.version="4.11.0",t.bisect=ds,t.bisectRight=ds,t.bisectLeft=vs,t.ascending=ls,t.bisector=hs,t.cross=function(t,n,r){var i,o,u,a,c=t.length,s=n.length,f=new Array(c*s);for(null==r&&(r=e),i=u=0;i<c;++i)for(a=t[i],o=0;o<s;++o,++u)f[u]=r(a,n[o]);return f},t.descending=function(t,n){return n<t?-1:n>t?1:n>=t?0:NaN},t.deviation=ys,t.extent=ms,t.histogram=function(){function t(t){var o,u,a=t.length,c=new Array(a);for(o=0;o<a;++o)c[o]=n(t[o],o,t);var s=e(c),f=s[0],l=s[1],h=r(c,f,l);Array.isArray(h)||(h=i(f,l,h),h=Ns(Math.ceil(f/h)*h,Math.floor(l/h)*h,h));for(var p=h.length;h[0]<=f;)h.shift(),--p;for(;h[p-1]>l;)h.pop(),--p;var d,v=new Array(p+1);for(o=0;o<=p;++o)(d=v[o]=[]).x0=o>0?h[o-1]:f,d.x1=o<p?h[o]:l;for(o=0;o<a;++o)f<=(u=c[o])&&u<=l&&v[ds(h,u,0,p)].push(t[o]);return v}var n=Ts,e=ms,r=Cs;return t.value=function(e){return arguments.length?(n="function"==typeof e?e:Ms(e),t):n},t.domain=function(n){return arguments.length?(e="function"==typeof n?n:Ms([n[0],n[1]]),t):e},t.thresholds=function(n){return arguments.length?(r="function"==typeof n?n:Ms(Array.isArray(n)?bs.call(n):n),t):r},t},t.thresholdFreedmanDiaconis=function(t,n,e){return t=ws.call(t,_s).sort(ls),Math.ceil((e-n)/(2*(zs(t,.75)-zs(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,n,e){return Math.ceil((e-n)/(3.5*ys(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=Cs,t.max=function(t,n){var e,r,i=t.length,o=-1;if(null==n){for(;++o<i;)if(null!=(e=t[o])&&e>=e)for(r=e;++o<i;)null!=(e=t[o])&&e>r&&(r=e)}else for(;++o<i;)if(null!=(e=n(t[o],o,t))&&e>=e)for(r=e;++o<i;)null!=(e=n(t[o],o,t))&&e>r&&(r=e);return r},t.mean=function(t,n){var e,r=t.length,i=r,o=-1,u=0;if(null==n)for(;++o<r;)isNaN(e=_s(t[o]))?--i:u+=e;else for(;++o<r;)isNaN(e=_s(n(t[o],o,t)))?--i:u+=e;if(i)return u/i},t.median=function(t,n){var e,r=t.length,i=-1,o=[];if(null==n)for(;++i<r;)isNaN(e=_s(t[i]))||o.push(e);else for(;++i<r;)isNaN(e=_s(n(t[i],i,t)))||o.push(e);return zs(o.sort(ls),.5)},t.merge=Ps,t.min=Rs,t.pairs=function(t,n){null==n&&(n=e);for(var r=0,i=t.length-1,o=t[0],u=new Array(i<0?0:i);r<i;)u[r]=n(o,o=t[++r]);return u},t.permute=function(t,n){for(var e=n.length,r=new Array(e);e--;)r[e]=t[n[e]];return r},t.quantile=zs,t.range=Ns,t.scan=function(t,n){if(e=t.length){var e,r,i=0,o=0,u=t[o];for(null==n&&(n=ls);++i<e;)(n(r=t[i],u)<0||0!==n(u,u))&&(u=r,o=i);return 0===n(u,u)?o:void 0}},t.shuffle=function(t,n,e){for(var r,i,o=(null==e?t.length:e)-(n=null==n?0:+n);o;)i=Math.random()*o--|0,r=t[o+n],t[o+n]=t[i+n],t[i+n]=r;return t},t.sum=function(t,n){var e,r=t.length,i=-1,o=0;if(null==n)for(;++i<r;)(e=+t[i])&&(o+=e);else for(;++i<r;)(e=+n(t[i],i,t))&&(o+=e);return o},t.ticks=As,t.tickIncrement=r,t.tickStep=i,t.transpose=Ls,t.variance=gs,t.zip=function(){return Ls(arguments)},t.axisTop=function(t){return l(Ds,t)},t.axisRight=function(t){return l(Os,t)},t.axisBottom=function(t){return l(Fs,t)},t.axisLeft=function(t){return l(Is,t)},t.brush=function(){return he(Ah)},t.brushX=function(){return he(Sh)},t.brushY=function(){return he(Eh)},t.brushSelection=function(t){var n=t.__brush;return n?n.dim.output(n.selection):null},t.chord=function(){function t(t){var o,u,a,c,s,f,l=t.length,h=[],p=Ns(l),d=[],v=[],_=v.groups=new Array(l),g=new Array(l*l);for(o=0,s=-1;++s<l;){for(u=0,f=-1;++f<l;)u+=t[s][f];h.push(u),d.push(Ns(l)),o+=u}for(e&&p.sort(function(t,n){return e(h[t],h[n])}),r&&d.forEach(function(n,e){n.sort(function(n,i){return r(t[e][n],t[e][i])})}),c=(o=Ih(0,Fh-n*l)/o)?n:Fh/l,u=0,s=-1;++s<l;){for(a=u,f=-1;++f<l;){var y=p[s],m=d[y][f],x=t[y][m],b=u,w=u+=x*o;g[m*l+y]={index:y,subindex:m,startAngle:b,endAngle:w,value:x}}_[y]={index:y,startAngle:a,endAngle:u,value:h[y]},u+=c}for(s=-1;++s<l;)for(f=s-1;++f<l;){var M=g[f*l+s],T=g[s*l+f];(M.value||T.value)&&v.push(M.value<T.value?{source:T,target:M}:{source:M,target:T})}return i?v.sort(i):v}var n=0,e=null,r=null,i=null;return t.padAngle=function(e){return arguments.length?(n=Ih(0,e),t):n},t.sortGroups=function(n){return arguments.length?(e=n,t):e},t.sortSubgroups=function(n){return arguments.length?(r=n,t):r},t.sortChords=function(n){return arguments.length?(null==n?i=null:(i=pe(n))._=n,t):i&&i._},t},t.ribbon=function(){function t(){var t,a=Yh.call(arguments),c=n.apply(this,a),s=e.apply(this,a),f=+r.apply(this,(a[0]=c,a)),l=i.apply(this,a)-Oh,h=o.apply(this,a)-Oh,p=f*qh(l),d=f*Uh(l),v=+r.apply(this,(a[0]=s,a)),_=i.apply(this,a)-Oh,g=o.apply(this,a)-Oh;if(u||(u=t=ve()),u.moveTo(p,d),u.arc(0,0,f,l,h),l===_&&h===g||(u.quadraticCurveTo(0,0,v*qh(_),v*Uh(_)),u.arc(0,0,v,_,g)),u.quadraticCurveTo(0,0,p,d),u.closePath(),t)return u=null,t+""||null}var n=_e,e=ge,r=ye,i=me,o=xe,u=null;return t.radius=function(n){return arguments.length?(r="function"==typeof n?n:Bh(+n),t):r},t.startAngle=function(n){return arguments.length?(i="function"==typeof n?n:Bh(+n),t):i},t.endAngle=function(n){return arguments.length?(o="function"==typeof n?n:Bh(+n),t):o},t.source=function(e){return arguments.length?(n=e,t):n},t.target=function(n){return arguments.length?(e=n,t):e},t.context=function(n){return arguments.length?(u=null==n?null:n,t):u},t},t.nest=function(){function t(n,i,u,a){if(i>=o.length)return null!=e&&n.sort(e),null!=r?r(n):n;for(var c,s,f,l=-1,h=n.length,p=o[i++],d=we(),v=u();++l<h;)(f=d.get(c=p(s=n[l])+""))?f.push(s):d.set(c,[s]);return d.each(function(n,e){a(v,e,t(n,i,u,a))}),v}function n(t,e){if(++e>o.length)return t;var i,a=u[e-1];return null!=r&&e>=o.length?i=t.entries():(i=[],t.each(function(t,r){i.push({key:r,values:n(t,e)})})),null!=a?i.sort(function(t,n){return a(t.key,n.key)}):i}var e,r,i,o=[],u=[];return i={object:function(n){return t(n,0,Me,Te)},map:function(n){return t(n,0,Ne,ke)},entries:function(e){return n(t(e,0,Ne,ke),0)},key:function(t){return o.push(t),i},sortKeys:function(t){return u[o.length-1]=t,i},sortValues:function(t){return e=t,i},rollup:function(t){return r=t,i}}},t.set=Ee,t.map=we,t.keys=function(t){var n=[];for(var e in t)n.push(e);return n},t.values=function(t){var n=[];for(var e in t)n.push(t[e]);return n},t.entries=function(t){var n=[];for(var e in t)n.push({key:e,value:t[e]});return n},t.color=Tt,t.rgb=Et,t.hsl=Pt,t.lab=Ut,t.hcl=jt,t.cubehelix=$t,t.dispatch=h,t.drag=function(){function n(t){t.on("mousedown.drag",e).filter(g).on("touchstart.drag",o).on("touchmove.drag",u).on("touchend.drag touchcancel.drag",a).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function e(){if(!p&&d.apply(this,arguments)){var n=c("mouse",v.apply(this,arguments),nf,this,arguments);n&&(ff(t.event.view).on("mousemove.drag",r,!0).on("mouseup.drag",i,!0),pf(t.event.view),vt(),l=!1,s=t.event.clientX,f=t.event.clientY,n("start"))}}function r(){if(hf(),!l){var n=t.event.clientX-s,e=t.event.clientY-f;l=n*n+e*e>b}y.mouse("drag")}function i(){ff(t.event.view).on("mousemove.drag mouseup.drag",null),_t(t.event.view,l),hf(),y.mouse("end")}function o(){if(d.apply(this,arguments)){var n,e,r=t.event.changedTouches,i=v.apply(this,arguments),o=r.length;for(n=0;n<o;++n)(e=c(r[n].identifier,i,lf,this,arguments))&&(vt(),e("start"))}}function u(){var n,e,r=t.event.changedTouches,i=r.length;for(n=0;n<i;++n)(e=y[r[n].identifier])&&(hf(),e("drag"))}function a(){var n,e,r=t.event.changedTouches,i=r.length;for(p&&clearTimeout(p),p=setTimeout(function(){p=null},500),n=0;n<i;++n)(e=y[r[n].identifier])&&(vt(),e("end"))}function c(e,r,i,o,u){var a,c,s,f=i(r,e),l=m.copy();if(k(new gt(n,"beforestart",a,e,x,f[0],f[1],0,0,l),function(){return null!=(t.event.subject=a=_.apply(o,u))&&(c=a.x-f[0]||0,s=a.y-f[1]||0,!0)}))return function t(h){var p,d=f;switch(h){case"start":y[e]=t,p=x++;break;case"end":delete y[e],--x;case"drag":f=i(r,e),p=x}k(new gt(n,h,a,e,p,f[0]+c,f[1]+s,f[0]-d[0],f[1]-d[1],l),l.apply,l,[h,o,u])}}var s,f,l,p,d=yt,v=mt,_=xt,g=bt,y={},m=h("start","drag","end"),x=0,b=0;return n.filter=function(t){return arguments.length?(d="function"==typeof t?t:df(!!t),n):d},n.container=function(t){return arguments.length?(v="function"==typeof t?t:df(t),n):v},n.subject=function(t){return arguments.length?(_="function"==typeof t?t:df(t),n):_},n.touchable=function(t){return arguments.length?(g="function"==typeof t?t:df(!!t),n):g},n.on=function(){var t=m.on.apply(m,arguments);return t===m?n:t},n.clickDistance=function(t){return arguments.length?(b=(t=+t)*t,n):Math.sqrt(b)},n},t.dragDisable=pf,t.dragEnable=_t,t.dsvFormat=Qh,t.csvParse=tp,t.csvParseRows=np,t.csvFormat=ep,t.csvFormatRows=rp,t.tsvParse=op,t.tsvParseRows=up,t.tsvFormat=ap,t.tsvFormatRows=cp,t.easeLinear=function(t){return+t},t.easeQuad=Kn,t.easeQuadIn=function(t){return t*t},t.easeQuadOut=function(t){return t*(2-t)},t.easeQuadInOut=Kn,t.easeCubic=te,t.easeCubicIn=function(t){return t*t*t},t.easeCubicOut=function(t){return--t*t*t+1},t.easeCubicInOut=te,t.easePoly=Ql,t.easePolyIn=Gl,t.easePolyOut=Jl,t.easePolyInOut=Ql,t.easeSin=ne,t.easeSinIn=function(t){return 1-Math.cos(t*th)},t.easeSinOut=function(t){return Math.sin(t*th)},t.easeSinInOut=ne,t.easeExp=ee,t.easeExpIn=function(t){return Math.pow(2,10*t-10)},t.easeExpOut=function(t){return 1-Math.pow(2,-10*t)},t.easeExpInOut=ee,t.easeCircle=re,t.easeCircleIn=function(t){return 1-Math.sqrt(1-t*t)},t.easeCircleOut=function(t){return Math.sqrt(1- --t*t)},t.easeCircleInOut=re,t.easeBounce=ie,t.easeBounceIn=function(t){return 1-ie(1-t)},t.easeBounceOut=ie,t.easeBounceInOut=function(t){return((t*=2)<=1?1-ie(1-t):ie(t-1)+1)/2},t.easeBack=ph,t.easeBackIn=lh,t.easeBackOut=hh,t.easeBackInOut=ph,t.easeElastic=_h,t.easeElasticIn=vh,t.easeElasticOut=_h,t.easeElasticInOut=gh,t.forceCenter=function(t,n){function e(){var e,i,o=r.length,u=0,a=0;for(e=0;e<o;++e)u+=(i=r[e]).x,a+=i.y;for(u=u/o-t,a=a/o-n,e=0;e<o;++e)(i=r[e]).x-=u,i.y-=a}var r;return null==t&&(t=0),null==n&&(n=0),e.initialize=function(t){r=t},e.x=function(n){return arguments.length?(t=+n,e):t},e.y=function(t){return arguments.length?(n=+t,e):n},e},t.forceCollide=function(t){function n(){for(var t,n,r,c,s,f,l,h=i.length,p=0;p<a;++p)for(n=qe(i,Oe,Fe).visitAfter(e),t=0;t<h;++t)r=i[t],f=o[r.index],l=f*f,c=r.x+r.vx,s=r.y+r.vy,n.visit(function(t,n,e,i,o){var a=t.data,h=t.r,p=f+h;if(!a)return n>c+p||i<c-p||e>s+p||o<s-p;if(a.index>r.index){var d=c-a.x-a.vx,v=s-a.y-a.vy,_=d*d+v*v;_<p*p&&(0===d&&(d=fp(),_+=d*d),0===v&&(v=fp(),_+=v*v),_=(p-(_=Math.sqrt(_)))/_*u,r.vx+=(d*=_)*(p=(h*=h)/(l+h)),r.vy+=(v*=_)*p,a.vx-=d*(p=1-p),a.vy-=v*p)}})}function e(t){if(t.data)return t.r=o[t.data.index];for(var n=t.r=0;n<4;++n)t[n]&&t[n].r>t.r&&(t.r=t[n].r)}function r(){if(i){var n,e,r=i.length;for(o=new Array(r),n=0;n<r;++n)e=i[n],o[e.index]=+t(e,n,i)}}var i,o,u=1,a=1;return"function"!=typeof t&&(t=sp(null==t?1:+t)),n.initialize=function(t){i=t,r()},n.iterations=function(t){return arguments.length?(a=+t,n):a},n.strength=function(t){return arguments.length?(u=+t,n):u},n.radius=function(e){return arguments.length?(t="function"==typeof e?e:sp(+e),r(),n):t},n},t.forceLink=function(t){function n(n){for(var e=0,r=t.length;e<p;++e)for(var i,a,c,f,l,h,d,v=0;v<r;++v)a=(i=t[v]).source,f=(c=i.target).x+c.vx-a.x-a.vx||fp(),l=c.y+c.vy-a.y-a.vy||fp(),f*=h=((h=Math.sqrt(f*f+l*l))-u[v])/h*n*o[v],l*=h,c.vx-=f*(d=s[v]),c.vy-=l*d,a.vx+=f*(d=1-d),a.vy+=l*d}function e(){if(a){var n,e,l=a.length,h=t.length,p=we(a,f);for(n=0,c=new Array(l);n<h;++n)(e=t[n]).index=n,"object"!=typeof e.source&&(e.source=Ye(p,e.source)),"object"!=typeof e.target&&(e.target=Ye(p,e.target)),c[e.source.index]=(c[e.source.index]||0)+1,c[e.target.index]=(c[e.target.index]||0)+1;for(n=0,s=new Array(h);n<h;++n)e=t[n],s[n]=c[e.source.index]/(c[e.source.index]+c[e.target.index]);o=new Array(h),r(),u=new Array(h),i()}}function r(){if(a)for(var n=0,e=t.length;n<e;++n)o[n]=+l(t[n],n,t)}function i(){if(a)for(var n=0,e=t.length;n<e;++n)u[n]=+h(t[n],n,t)}var o,u,a,c,s,f=Ie,l=function(t){return 1/Math.min(c[t.source.index],c[t.target.index])},h=sp(30),p=1;return null==t&&(t=[]),n.initialize=function(t){a=t,e()},n.links=function(r){return arguments.length?(t=r,e(),n):t},n.id=function(t){return arguments.length?(f=t,n):f},n.iterations=function(t){return arguments.length?(p=+t,n):p},n.strength=function(t){return arguments.length?(l="function"==typeof t?t:sp(+t),r(),n):l},n.distance=function(t){return arguments.length?(h="function"==typeof t?t:sp(+t),i(),n):h},n},t.forceManyBody=function(){function t(t){var n,a=i.length,c=qe(i,Be,je).visitAfter(e);for(u=t,n=0;n<a;++n)o=i[n],c.visit(r)}function n(){if(i){var t,n,e=i.length;for(a=new Array(e),t=0;t<e;++t)n=i[t],a[n.index]=+c(n,t,i)}}function e(t){var n,e,r,i,o,u=0,c=0;if(t.length){for(r=i=o=0;o<4;++o)(n=t[o])&&(e=Math.abs(n.value))&&(u+=n.value,c+=e,r+=e*n.x,i+=e*n.y);t.x=r/c,t.y=i/c}else{(n=t).x=n.data.x,n.y=n.data.y;do{u+=a[n.data.index]}while(n=n.next)}t.value=u}function r(t,n,e,r){if(!t.value)return!0;var i=t.x-o.x,c=t.y-o.y,h=r-n,p=i*i+c*c;if(h*h/l<p)return p<f&&(0===i&&(i=fp(),p+=i*i),0===c&&(c=fp(),p+=c*c),p<s&&(p=Math.sqrt(s*p)),o.vx+=i*t.value*u/p,o.vy+=c*t.value*u/p),!0;if(!(t.length||p>=f)){(t.data!==o||t.next)&&(0===i&&(i=fp(),p+=i*i),0===c&&(c=fp(),p+=c*c),p<s&&(p=Math.sqrt(s*p)));do{t.data!==o&&(h=a[t.data.index]*u/p,o.vx+=i*h,o.vy+=c*h)}while(t=t.next)}}var i,o,u,a,c=sp(-30),s=1,f=1/0,l=.81;return t.initialize=function(t){i=t,n()},t.strength=function(e){return arguments.length?(c="function"==typeof e?e:sp(+e),n(),t):c},t.distanceMin=function(n){return arguments.length?(s=n*n,t):Math.sqrt(s)},t.distanceMax=function(n){return arguments.length?(f=n*n,t):Math.sqrt(f)},t.theta=function(n){return arguments.length?(l=n*n,t):Math.sqrt(l)},t},t.forceRadial=function(t,n,e){function r(t){for(var r=0,i=o.length;r<i;++r){var c=o[r],s=c.x-n||1e-6,f=c.y-e||1e-6,l=Math.sqrt(s*s+f*f),h=(a[r]-l)*u[r]*t/l;c.vx+=s*h,c.vy+=f*h}}function i(){if(o){var n,e=o.length;for(u=new Array(e),a=new Array(e),n=0;n<e;++n)a[n]=+t(o[n],n,o),u[n]=isNaN(a[n])?0:+c(o[n],n,o)}}var o,u,a,c=sp(.1);return"function"!=typeof t&&(t=sp(+t)),null==n&&(n=0),null==e&&(e=0),r.initialize=function(t){o=t,i()},r.strength=function(t){return arguments.length?(c="function"==typeof t?t:sp(+t),i(),r):c},r.radius=function(n){return arguments.length?(t="function"==typeof n?n:sp(+n),i(),r):t},r.x=function(t){return arguments.length?(n=+t,r):n},r.y=function(t){return arguments.length?(e=+t,r):e},r},t.forceSimulation=function(t){function n(){e(),d.call("tick",o),u<a&&(p.stop(),d.call("end",o))}function e(){var n,e,r=t.length;for(u+=(s-u)*c,l.each(function(t){t(u)}),n=0;n<r;++n)null==(e=t[n]).fx?e.x+=e.vx*=f:(e.x=e.fx,e.vx=0),null==e.fy?e.y+=e.vy*=f:(e.y=e.fy,e.vy=0)}function r(){for(var n,e=0,r=t.length;e<r;++e){if(n=t[e],n.index=e,isNaN(n.x)||isNaN(n.y)){var i=dp*Math.sqrt(e),o=e*vp;n.x=i*Math.cos(o),n.y=i*Math.sin(o)}(isNaN(n.vx)||isNaN(n.vy))&&(n.vx=n.vy=0)}}function i(n){return n.initialize&&n.initialize(t),n}var o,u=1,a=.001,c=1-Math.pow(a,1/300),s=0,f=.6,l=we(),p=dn(n),d=h("tick","end");return null==t&&(t=[]),r(),o={tick:e,restart:function(){return p.restart(n),o},stop:function(){return p.stop(),o},nodes:function(n){return arguments.length?(t=n,r(),l.each(i),o):t},alpha:function(t){return arguments.length?(u=+t,o):u},alphaMin:function(t){return arguments.length?(a=+t,o):a},alphaDecay:function(t){return arguments.length?(c=+t,o):+c},alphaTarget:function(t){return arguments.length?(s=+t,o):s},velocityDecay:function(t){return arguments.length?(f=1-t,o):1-f},force:function(t,n){return arguments.length>1?(null==n?l.remove(t):l.set(t,i(n)),o):l.get(t)},find:function(n,e,r){var i,o,u,a,c,s=0,f=t.length;for(null==r?r=1/0:r*=r,s=0;s<f;++s)(u=(i=n-(a=t[s]).x)*i+(o=e-a.y)*o)<r&&(c=a,r=u);return c},on:function(t,n){return arguments.length>1?(d.on(t,n),o):d.on(t)}}},t.forceX=function(t){function n(t){for(var n,e=0,u=r.length;e<u;++e)(n=r[e]).vx+=(o[e]-n.x)*i[e]*t}function e(){if(r){var n,e=r.length;for(i=new Array(e),o=new Array(e),n=0;n<e;++n)i[n]=isNaN(o[n]=+t(r[n],n,r))?0:+u(r[n],n,r)}}var r,i,o,u=sp(.1);return"function"!=typeof t&&(t=sp(null==t?0:+t)),n.initialize=function(t){r=t,e()},n.strength=function(t){return arguments.length?(u="function"==typeof t?t:sp(+t),e(),n):u},n.x=function(r){return arguments.length?(t="function"==typeof r?r:sp(+r),e(),n):t},n},t.forceY=function(t){function n(t){for(var n,e=0,u=r.length;e<u;++e)(n=r[e]).vy+=(o[e]-n.y)*i[e]*t}function e(){if(r){var n,e=r.length;for(i=new Array(e),o=new Array(e),n=0;n<e;++n)i[n]=isNaN(o[n]=+t(r[n],n,r))?0:+u(r[n],n,r)}}var r,i,o,u=sp(.1);return"function"!=typeof t&&(t=sp(null==t?0:+t)),n.initialize=function(t){r=t,e()},n.strength=function(t){return arguments.length?(u="function"==typeof t?t:sp(+t),e(),n):u},n.y=function(r){return arguments.length?(t="function"==typeof r?r:sp(+r),e(),n):t},n},t.formatDefaultLocale=$e,t.formatLocale=kp,t.formatSpecifier=He,t.precisionFixed=Sp,t.precisionPrefix=Ep,t.precisionRound=Ap,t.geoArea=function(t){return Pd.reset(),Cd(t,Rd),2*Pd},t.geoBounds=function(t){var n,e,r,i,o,u,a;if(Fp=Op=-(Up=Dp=1/0),Hp=[],Cd(t,qd),e=Hp.length){for(Hp.sort(br),n=1,o=[r=Hp[0]];n<e;++n)wr(r,(i=Hp[n])[0])||wr(r,i[1])?(xr(r[0],i[1])>xr(r[0],r[1])&&(r[1]=i[1]),xr(i[0],r[1])>xr(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(u=-1/0,n=0,r=o[e=o.length-1];n<=e;r=i,++n)i=o[n],(a=xr(r[1],i[0]))>u&&(u=a,Up=i[0],Op=r[1])}return Hp=Xp=null,Up===1/0||Dp===1/0?[[NaN,NaN],[NaN,NaN]]:[[Up,Dp],[Op,Fp]]},t.geoCentroid=function(t){$p=Vp=Wp=Zp=Gp=Jp=Qp=Kp=td=nd=ed=0,Cd(t,Ud);var n=td,e=nd,r=ed,i=n*n+e*e+r*r;return i<1e-12&&(n=Jp,e=Qp,r=Kp,Vp<sd&&(n=Wp,e=Zp,r=Gp),(i=n*n+e*e+r*r)<1e-12)?[NaN,NaN]:[yd(e,n)*dd,Ge(r/kd(i))*dd]},t.geoCircle=function(){function t(){var t=r.apply(this,arguments),a=i.apply(this,arguments)*vd,c=o.apply(this,arguments)*vd;return n=[],e=Lr(-t[0]*vd,-t[1]*vd,0).invert,Or(u,a,c,1),t={type:"Polygon",coordinates:[n]},n=e=null,t}var n,e,r=Dd([0,0]),i=Dd(90),o=Dd(6),u={point:function(t,r){n.push(t=e(t,r)),t[0]*=dd,t[1]*=dd}};return t.center=function(n){return arguments.length?(r="function"==typeof n?n:Dd([+n[0],+n[1]]),t):r},t.radius=function(n){return arguments.length?(i="function"==typeof n?n:Dd(+n),t):i},t.precision=function(n){return arguments.length?(o="function"==typeof n?n:Dd(+n),t):o},t},t.geoClipAntimeridian=rv,t.geoClipCircle=iv,t.geoClipExtent=function(){var t,n,e,r=0,i=0,o=960,u=500;return e={stream:function(e){return t&&n===e?t:t=Xr(r,i,o,u)(n=e)},extent:function(a){return arguments.length?(r=+a[0][0],i=+a[0][1],o=+a[1][0],u=+a[1][1],t=n=null,e):[[r,i],[o,u]]}}},t.geoClipRectangle=Xr,t.geoContains=function(t,n){return(t&&dv.hasOwnProperty(t.type)?dv[t.type]:Zr)(t,n)},t.geoDistance=pv,t.geoGraticule=ri,t.geoGraticule10=function(){return ri()()},t.geoInterpolate=function(t,n){var e=t[0]*vd,r=t[1]*vd,i=n[0]*vd,o=n[1]*vd,u=md(r),a=Td(r),c=md(o),s=Td(o),f=u*md(e),l=u*Td(e),h=c*md(i),p=c*Td(i),d=2*Ge(kd(Je(o-r)+u*c*Je(i-e))),v=Td(d),_=d?function(t){var n=Td(t*=d)/v,e=Td(d-t)/v,r=e*f+n*h,i=e*l+n*p,o=e*a+n*s;return[yd(i,r)*dd,yd(o,kd(r*r+i*i))*dd]}:function(){return[e*dd,r*dd]};return _.distance=d,_},t.geoLength=fv,t.geoPath=function(t,n){function e(t){return t&&("function"==typeof o&&i.pointRadius(+o.apply(this,arguments)),Cd(t,r(i))),i.result()}var r,i,o=4.5;return e.area=function(t){return Cd(t,r(mv)),mv.result()},e.measure=function(t){return Cd(t,r(Yv)),Yv.result()},e.bounds=function(t){return Cd(t,r(Tv)),Tv.result()},e.centroid=function(t){return Cd(t,r(Lv)),Lv.result()},e.projection=function(n){return arguments.length?(r=null==n?(t=null,_v):(t=n).stream,e):t},e.context=function(t){return arguments.length?(i=null==t?(n=null,new xi):new gi(n=t),"function"!=typeof o&&i.pointRadius(o),e):n},e.pointRadius=function(t){return arguments.length?(o="function"==typeof t?t:(i.pointRadius(+t),+t),e):o},e.projection(t).context(n)},t.geoAlbers=Vv,t.geoAlbersUsa=function(){function t(t){var n=t[0],e=t[1];return a=null,i.point(n,e),a||(o.point(n,e),a)||(u.point(n,e),a)}function n(){return e=r=null,t}var e,r,i,o,u,a,c=Vv(),s=$v().rotate([154,0]).center([-2,58.5]).parallels([55,65]),f=$v().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,n){a=[t,n]}};return t.invert=function(t){var n=c.scale(),e=c.translate(),r=(t[0]-e[0])/n,i=(t[1]-e[1])/n;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?s:i>=.166&&i<.234&&r>=-.214&&r<-.115?f:c).invert(t)},t.stream=function(t){return e&&r===t?e:e=Li([c.stream(r=t),s.stream(t),f.stream(t)])},t.precision=function(t){return arguments.length?(c.precision(t),s.precision(t),f.precision(t),n()):c.precision()},t.scale=function(n){return arguments.length?(c.scale(n),s.scale(.35*n),f.scale(n),t.translate(c.translate())):c.scale()},t.translate=function(t){if(!arguments.length)return c.translate();var e=c.scale(),r=+t[0],a=+t[1];return i=c.translate(t).clipExtent([[r-.455*e,a-.238*e],[r+.455*e,a+.238*e]]).stream(l),o=s.translate([r-.307*e,a+.201*e]).clipExtent([[r-.425*e+sd,a+.12*e+sd],[r-.214*e-sd,a+.234*e-sd]]).stream(l),u=f.translate([r-.205*e,a+.212*e]).clipExtent([[r-.214*e+sd,a+.166*e+sd],[r-.115*e-sd,a+.234*e-sd]]).stream(l),n()},t.fitExtent=function(n,e){return Ti(t,n,e)},t.fitSize=function(n,e){return Ni(t,n,e)},t.scale(1070)},t.geoAzimuthalEqualArea=function(){return Ai(Wv).scale(124.75).clipAngle(179.999)},t.geoAzimuthalEqualAreaRaw=Wv,t.geoAzimuthalEquidistant=function(){return Ai(Zv).scale(79.4188).clipAngle(179.999)},t.geoAzimuthalEquidistantRaw=Zv,t.geoConicConformal=function(){return zi(Ii).scale(109.5).parallels([30,30])},t.geoConicConformalRaw=Ii,t.geoConicEqualArea=$v,t.geoConicEqualAreaRaw=Ri,t.geoConicEquidistant=function(){return zi(Bi).scale(131.154).center([0,13.9389])},t.geoConicEquidistantRaw=Bi,t.geoEquirectangular=function(){return Ai(Yi).scale(152.63)},t.geoEquirectangularRaw=Yi,t.geoGnomonic=function(){return Ai(ji).scale(144.049).clipAngle(60)},t.geoGnomonicRaw=ji,t.geoIdentity=function(){function t(){return i=o=null,u}var n,e,r,i,o,u,a=1,c=0,s=0,f=1,l=1,h=_v,p=null,d=_v;return u={stream:function(t){return i&&o===t?i:i=h(d(o=t))},postclip:function(i){return arguments.length?(d=i,p=n=e=r=null,t()):d},clipExtent:function(i){return arguments.length?(d=null==i?(p=n=e=r=null,_v):Xr(p=+i[0][0],n=+i[0][1],e=+i[1][0],r=+i[1][1]),t()):null==p?null:[[p,n],[e,r]]},scale:function(n){return arguments.length?(h=Hi((a=+n)*f,a*l,c,s),t()):a},translate:function(n){return arguments.length?(h=Hi(a*f,a*l,c=+n[0],s=+n[1]),t()):[c,s]},reflectX:function(n){return arguments.length?(h=Hi(a*(f=n?-1:1),a*l,c,s),t()):f<0},reflectY:function(n){return arguments.length?(h=Hi(a*f,a*(l=n?-1:1),c,s),t()):l<0},fitExtent:function(t,n){return Ti(u,t,n)},fitSize:function(t,n){return Ni(u,t,n)}}},t.geoProjection=Ai,t.geoProjectionMutator=Ci,t.geoMercator=function(){return Oi(Di).scale(961/pd)},t.geoMercatorRaw=Di,t.geoNaturalEarth1=function(){return Ai(Xi).scale(175.295)},t.geoNaturalEarth1Raw=Xi,t.geoOrthographic=function(){return Ai($i).scale(249.5).clipAngle(90+sd)},t.geoOrthographicRaw=$i,t.geoStereographic=function(){return Ai(Vi).scale(250).clipAngle(142)},t.geoStereographicRaw=Vi,t.geoTransverseMercator=function(){var t=Oi(Wi),n=t.center,e=t.rotate;return t.center=function(t){return arguments.length?n([-t[1],t[0]]):(t=n(),[t[1],-t[0]])},t.rotate=function(t){return arguments.length?e([t[0],t[1],t.length>2?t[2]+90:90]):(t=e(),[t[0],t[1],t[2]-90])},e([0,0,90]).scale(159.155)},t.geoTransverseMercatorRaw=Wi,t.geoRotation=Gd,t.geoStream=Cd,t.geoTransform=function(t){return{stream:wi(t)}},t.cluster=function(){function t(t){var o,u=0;t.eachAfter(function(t){var e=t.children;e?(t.x=Gi(e),t.y=Qi(e)):(t.x=o?u+=n(t,o):0,t.y=0,o=t)});var a=to(t),c=no(t),s=a.x-n(a,c)/2,f=c.x+n(c,a)/2;return t.eachAfter(i?function(n){n.x=(n.x-t.x)*e,n.y=(t.y-n.y)*r}:function(n){n.x=(n.x-s)/(f-s)*e,n.y=(1-(t.y?n.y/t.y:1))*r})}var n=Zi,e=1,r=1,i=!1;return t.separation=function(e){return arguments.length?(n=e,t):n},t.size=function(n){return arguments.length?(i=!1,e=+n[0],r=+n[1],t):i?null:[e,r]},t.nodeSize=function(n){return arguments.length?(i=!0,e=+n[0],r=+n[1],t):i?[e,r]:null},t},t.hierarchy=io,t.pack=function(){function t(t){return t.x=e/2,t.y=r/2,n?t.eachBefore(Eo(n)).eachAfter(Ao(i,.5)).eachBefore(Co(1)):t.eachBefore(Eo(So)).eachAfter(Ao(ko,1)).eachAfter(Ao(i,t.r/Math.min(e,r))).eachBefore(Co(Math.min(e,r)/(2*t.r))),t}var n=null,e=1,r=1,i=ko;return t.radius=function(e){return arguments.length?(n=To(e),t):n},t.size=function(n){return arguments.length?(e=+n[0],r=+n[1],t):[e,r]},t.padding=function(n){return arguments.length?(i="function"==typeof n?n:Qv(+n),t):i},t},t.packSiblings=function(t){return Mo(t),t},t.packEnclose=Jv,t.partition=function(){function t(t){var u=t.height+1;return t.x0=t.y0=i,t.x1=e,t.y1=r/u,t.eachBefore(n(r,u)),o&&t.eachBefore(Kv),t}function n(t,n){return function(e){e.children&&t_(e,e.x0,t*(e.depth+1)/n,e.x1,t*(e.depth+2)/n);var r=e.x0,o=e.y0,u=e.x1-i,a=e.y1-i;u<r&&(r=u=(r+u)/2),a<o&&(o=a=(o+a)/2),e.x0=r,e.y0=o,e.x1=u,e.y1=a}}var e=1,r=1,i=0,o=!1;return t.round=function(n){return arguments.length?(o=!!n,t):o},t.size=function(n){return arguments.length?(e=+n[0],r=+n[1],t):[e,r]},t.padding=function(n){return arguments.length?(i=+n,t):i},t},t.stratify=function(){function t(t){var r,i,o,u,a,c,s,f=t.length,l=new Array(f),h={};for(i=0;i<f;++i)r=t[i],a=l[i]=new co(r),null!=(c=n(r,i,t))&&(c+="")&&(h[s=n_+(a.id=c)]=s in h?r_:a);for(i=0;i<f;++i)if(a=l[i],null!=(c=e(t[i],i,t))&&(c+="")){if(!(u=h[n_+c]))throw new Error("missing: "+c);if(u===r_)throw new Error("ambiguous: "+c);u.children?u.children.push(a):u.children=[a],a.parent=u}else{if(o)throw new Error("multiple roots");o=a}if(!o)throw new Error("no root");if(o.parent=e_,o.eachBefore(function(t){t.depth=t.parent.depth+1,--f}).eachBefore(ao),o.parent=null,f>0)throw new Error("cycle");return o}var n=zo,e=Po;return t.id=function(e){return arguments.length?(n=No(e),t):n},t.parentId=function(n){return arguments.length?(e=No(n),t):e},t},t.tree=function(){function t(t){var r=Io(t);if(r.eachAfter(n),r.parent.m=-r.z,r.eachBefore(e),c)t.eachBefore(i);else{var s=t,f=t,l=t;t.eachBefore(function(t){t.x<s.x&&(s=t),t.x>f.x&&(f=t),t.depth>l.depth&&(l=t)});var h=s===f?1:o(s,f)/2,p=h-s.x,d=u/(f.x+h+p),v=a/(l.depth||1);t.eachBefore(function(t){t.x=(t.x+p)*d,t.y=t.depth*v})}return t}function n(t){var n=t.children,e=t.parent.children,i=t.i?e[t.i-1]:null;if(n){Do(t);var u=(n[0].z+n[n.length-1].z)/2;i?(t.z=i.z+o(t._,i._),t.m=t.z-u):t.z=u}else i&&(t.z=i.z+o(t._,i._));t.parent.A=r(t,i,t.parent.A||e[0])}function e(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function r(t,n,e){if(n){for(var r,i=t,u=t,a=n,c=i.parent.children[0],s=i.m,f=u.m,l=a.m,h=c.m;a=qo(a),i=Lo(i),a&&i;)c=Lo(c),(u=qo(u)).a=t,(r=a.z+l-i.z-s+o(a._,i._))>0&&(Uo(Oo(a,t,e),t,r),s+=r,f+=r),l+=a.m,s+=i.m,h+=c.m,f+=u.m;a&&!qo(u)&&(u.t=a,u.m+=l-f),i&&!Lo(c)&&(c.t=i,c.m+=s-h,e=t)}return e}function i(t){t.x*=u,t.y=t.depth*a}var o=Ro,u=1,a=1,c=null;return t.separation=function(n){return arguments.length?(o=n,t):o},t.size=function(n){return arguments.length?(c=!1,u=+n[0],a=+n[1],t):c?null:[u,a]},t.nodeSize=function(n){return arguments.length?(c=!0,u=+n[0],a=+n[1],t):c?[u,a]:null},t},t.treemap=function(){function t(t){return t.x0=t.y0=0,t.x1=i,t.y1=o,t.eachBefore(n),u=[0],r&&t.eachBefore(Kv),t}function n(t){var n=u[t.depth],r=t.x0+n,i=t.y0+n,o=t.x1-n,h=t.y1-n;o<r&&(r=o=(r+o)/2),h<i&&(i=h=(i+h)/2),t.x0=r,t.y0=i,t.x1=o,t.y1=h,t.children&&(n=u[t.depth+1]=a(t)/2,r+=l(t)-n,i+=c(t)-n,o-=s(t)-n,h-=f(t)-n,o<r&&(r=o=(r+o)/2),h<i&&(i=h=(i+h)/2),e(t,r,i,o,h))}var e=u_,r=!1,i=1,o=1,u=[0],a=ko,c=ko,s=ko,f=ko,l=ko;return t.round=function(n){return arguments.length?(r=!!n,t):r},t.size=function(n){return arguments.length?(i=+n[0],o=+n[1],t):[i,o]},t.tile=function(n){return arguments.length?(e=No(n),t):e},t.padding=function(n){return arguments.length?t.paddingInner(n).paddingOuter(n):t.paddingInner()},t.paddingInner=function(n){return arguments.length?(a="function"==typeof n?n:Qv(+n),t):a},t.paddingOuter=function(n){return arguments.length?t.paddingTop(n).paddingRight(n).paddingBottom(n).paddingLeft(n):t.paddingTop()},t.paddingTop=function(n){return arguments.length?(c="function"==typeof n?n:Qv(+n),t):c},t.paddingRight=function(n){return arguments.length?(s="function"==typeof n?n:Qv(+n),t):s},t.paddingBottom=function(n){return arguments.length?(f="function"==typeof n?n:Qv(+n),t):f},t.paddingLeft=function(n){return arguments.length?(l="function"==typeof n?n:Qv(+n),t):l},t},t.treemapBinary=function(t,n,e,r,i){function o(t,n,e,r,i,u,a){if(t>=n-1){var s=c[t];return s.x0=r,s.y0=i,s.x1=u,void(s.y1=a)}for(var l=f[t],h=e/2+l,p=t+1,d=n-1;p<d;){var v=p+d>>>1;f[v]<h?p=v+1:d=v}h-f[p-1]<f[p]-h&&t+1<p&&--p;var _=f[p]-l,g=e-_;if(u-r>a-i){var y=(r*g+u*_)/e;o(t,p,_,r,i,y,a),o(p,n,g,y,i,u,a)}else{var m=(i*g+a*_)/e;o(t,p,_,r,i,u,m),o(p,n,g,r,m,u,a)}}var u,a,c=t.children,s=c.length,f=new Array(s+1);for(f[0]=a=u=0;u<s;++u)f[u+1]=a+=c[u].value;o(0,s,t.value,n,e,r,i)},t.treemapDice=t_,t.treemapSlice=i_,t.treemapSliceDice=function(t,n,e,r,i){(1&t.depth?i_:t_)(t,n,e,r,i)},t.treemapSquarify=u_,t.treemapResquarify=a_,t.interpolate=fl,t.interpolateArray=rl,t.interpolateBasis=Jf,t.interpolateBasisClosed=Qf,t.interpolateDate=il,t.interpolateNumber=ol,t.interpolateObject=ul,t.interpolateRound=ll,t.interpolateString=sl,t.interpolateTransformCss=vl,t.interpolateTransformSvg=_l,t.interpolateZoom=yl,t.interpolateRgb=tl,t.interpolateRgbBasis=nl,t.interpolateRgbBasisClosed=el,t.interpolateHsl=ml,t.interpolateHslLong=xl,t.interpolateLab=function(t,n){var e=Kt((t=Ut(t)).l,(n=Ut(n)).l),r=Kt(t.a,n.a),i=Kt(t.b,n.b),o=Kt(t.opacity,n.opacity);return function(n){return t.l=e(n),t.a=r(n),t.b=i(n),t.opacity=o(n),t+""}},t.interpolateHcl=bl,t.interpolateHclLong=wl,t.interpolateCubehelix=Ml,t.interpolateCubehelixLong=Tl,t.quantize=function(t,n){for(var e=new Array(n),r=0;r<n;++r)e[r]=t(r/(n-1));return e},t.path=ve,t.polygonArea=function(t){for(var n,e=-1,r=t.length,i=t[r-1],o=0;++e<r;)n=i,i=t[e],o+=n[1]*i[0]-n[0]*i[1];return o/2},t.polygonCentroid=function(t){for(var n,e,r=-1,i=t.length,o=0,u=0,a=t[i-1],c=0;++r<i;)n=a,a=t[r],c+=e=n[0]*a[1]-a[0]*n[1],o+=(n[0]+a[0])*e,u+=(n[1]+a[1])*e;return c*=3,[o/c,u/c]},t.polygonHull=function(t){if((e=t.length)<3)return null;var n,e,r=new Array(e),i=new Array(e);for(n=0;n<e;++n)r[n]=[+t[n][0],+t[n][1],n];for(r.sort(Bo),n=0;n<e;++n)i[n]=[r[n][0],-r[n][1]];var o=jo(r),u=jo(i),a=u[0]===o[0],c=u[u.length-1]===o[o.length-1],s=[];for(n=o.length-1;n>=0;--n)s.push(t[r[o[n]][2]]);for(n=+a;n<u.length-c;++n)s.push(t[r[u[n]][2]]);return s},t.polygonContains=function(t,n){for(var e,r,i=t.length,o=t[i-1],u=n[0],a=n[1],c=o[0],s=o[1],f=!1,l=0;l<i;++l)e=(o=t[l])[0],(r=o[1])>a!=s>a&&u<(c-e)*(a-r)/(s-r)+e&&(f=!f),c=e,s=r;return f},t.polygonLength=function(t){for(var n,e,r=-1,i=t.length,o=t[i-1],u=o[0],a=o[1],c=0;++r<i;)n=u,e=a,n-=u=(o=t[r])[0],e-=a=o[1],c+=Math.sqrt(n*n+e*e);return c},t.quadtree=qe,t.queue=Go,t.randomUniform=h_,t.randomNormal=p_,t.randomLogNormal=d_,t.randomBates=__,t.randomIrwinHall=v_,t.randomExponential=g_,t.request=y_,t.html=x_,t.json=b_,t.text=w_,t.xml=M_,t.csv=N_,t.tsv=k_,t.scaleBand=nu,t.scalePoint=function(){return eu(nu().paddingInner(1))},t.scaleIdentity=hu,t.scaleLinear=lu,t.scaleLog=mu,t.scaleOrdinal=tu,t.scaleImplicit=C_,t.scalePow=bu,t.scaleSqrt=function(){return bu().exponent(.5)},t.scaleQuantile=wu,t.scaleQuantize=Mu,t.scaleThreshold=Tu,t.scaleTime=function(){return Ea(hg,fg,G_,W_,$_,H_,B_,O_,t.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])},t.scaleUtc=function(){return Ea(Ug,Lg,xg,yg,_g,dg,B_,O_,t.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])},t.schemeCategory10=Kg,t.schemeCategory20b=ty,t.schemeCategory20c=ny,t.schemeCategory20=ey,t.interpolateCubehelixDefault=ry,t.interpolateRainbow=function(t){(t<0||t>1)&&(t-=Math.floor(t));var n=Math.abs(t-.5);return uy.h=360*t-100,uy.s=1.5-1.5*n,uy.l=.8-.9*n,uy+""},t.interpolateWarm=iy,t.interpolateCool=oy,t.interpolateViridis=ay,t.interpolateMagma=cy,t.interpolateInferno=sy,t.interpolatePlasma=fy,t.scaleSequential=Ca,t.creator=$s,t.local=m,t.matcher=Js,t.mouse=nf,t.namespace=Xs,t.namespaces=Hs,t.select=ff,t.selectAll=function(t){return"string"==typeof t?new pt([document.querySelectorAll(t)],[document.documentElement]):new pt([null==t?[]:t],sf)},t.selection=dt,t.selector=ef,t.selectorAll=rf,t.style=B,t.touch=lf,t.touches=function(t,n){null==n&&(n=Ks().touches);for(var e=0,r=n?n.length:0,i=new Array(r);e<r;++e)i[e]=tf(t,n[e]);return i},t.window=cf,t.customEvent=k,t.arc=function(){function t(){var t,s,f=+n.apply(this,arguments),l=+e.apply(this,arguments),h=o.apply(this,arguments)-by,p=u.apply(this,arguments)-by,d=hy(p-h),v=p>h;if(c||(c=t=ve()),l<f&&(s=l,l=f,f=s),l>my)if(d>wy-my)c.moveTo(l*dy(h),l*gy(h)),c.arc(0,0,l,h,p,!v),f>my&&(c.moveTo(f*dy(p),f*gy(p)),c.arc(0,0,f,p,h,v));else{var _,g,y=h,m=p,x=h,b=p,w=d,M=d,T=a.apply(this,arguments)/2,N=T>my&&(i?+i.apply(this,arguments):yy(f*f+l*l)),k=_y(hy(l-f)/2,+r.apply(this,arguments)),S=k,E=k;if(N>my){var A=Pa(N/f*gy(T)),C=Pa(N/l*gy(T));(w-=2*A)>my?(A*=v?1:-1,x+=A,b-=A):(w=0,x=b=(h+p)/2),(M-=2*C)>my?(C*=v?1:-1,y+=C,m-=C):(M=0,y=m=(h+p)/2)}var z=l*dy(y),P=l*gy(y),R=f*dy(b),L=f*gy(b);if(k>my){var q=l*dy(m),U=l*gy(m),D=f*dy(x),O=f*gy(x);if(d<xy){var F=w>my?Oa(z,P,D,O,q,U,R,L):[R,L],I=z-F[0],Y=P-F[1],B=q-F[0],j=U-F[1],H=1/gy(za((I*B+Y*j)/(yy(I*I+Y*Y)*yy(B*B+j*j)))/2),X=yy(F[0]*F[0]+F[1]*F[1]);S=_y(k,(f-X)/(H-1)),E=_y(k,(l-X)/(H+1))}}M>my?E>my?(_=Fa(D,O,z,P,l,E,v),g=Fa(q,U,R,L,l,E,v),c.moveTo(_.cx+_.x01,_.cy+_.y01),E<k?c.arc(_.cx,_.cy,E,py(_.y01,_.x01),py(g.y01,g.x01),!v):(c.arc(_.cx,_.cy,E,py(_.y01,_.x01),py(_.y11,_.x11),!v),c.arc(0,0,l,py(_.cy+_.y11,_.cx+_.x11),py(g.cy+g.y11,g.cx+g.x11),!v),c.arc(g.cx,g.cy,E,py(g.y11,g.x11),py(g.y01,g.x01),!v))):(c.moveTo(z,P),c.arc(0,0,l,y,m,!v)):c.moveTo(z,P),f>my&&w>my?S>my?(_=Fa(R,L,q,U,f,-S,v),g=Fa(z,P,D,O,f,-S,v),c.lineTo(_.cx+_.x01,_.cy+_.y01),S<k?c.arc(_.cx,_.cy,S,py(_.y01,_.x01),py(g.y01,g.x01),!v):(c.arc(_.cx,_.cy,S,py(_.y01,_.x01),py(_.y11,_.x11),!v),c.arc(0,0,f,py(_.cy+_.y11,_.cx+_.x11),py(g.cy+g.y11,g.cx+g.x11),v),c.arc(g.cx,g.cy,S,py(g.y11,g.x11),py(g.y01,g.x01),!v))):c.arc(0,0,f,b,x,v):c.lineTo(R,L)}else c.moveTo(0,0);if(c.closePath(),t)return c=null,t+""||null}var n=Ra,e=La,r=ly(0),i=null,o=qa,u=Ua,a=Da,c=null;return t.centroid=function(){var t=(+n.apply(this,arguments)+ +e.apply(this,arguments))/2,r=(+o.apply(this,arguments)+ +u.apply(this,arguments))/2-xy/2;return[dy(r)*t,gy(r)*t]},t.innerRadius=function(e){return arguments.length?(n="function"==typeof e?e:ly(+e),t):n},t.outerRadius=function(n){return arguments.length?(e="function"==typeof n?n:ly(+n),t):e},t.cornerRadius=function(n){return arguments.length?(r="function"==typeof n?n:ly(+n),t):r},t.padRadius=function(n){return arguments.length?(i=null==n?null:"function"==typeof n?n:ly(+n),t):i},t.startAngle=function(n){return arguments.length?(o="function"==typeof n?n:ly(+n),t):o},t.endAngle=function(n){return arguments.length?(u="function"==typeof n?n:ly(+n),t):u},t.padAngle=function(n){return arguments.length?(a="function"==typeof n?n:ly(+n),t):a},t.context=function(n){return arguments.length?(c=null==n?null:n,t):c},t},t.area=Ny,t.line=Ty,t.pie=function(){function t(t){var a,c,s,f,l,h=t.length,p=0,d=new Array(h),v=new Array(h),_=+i.apply(this,arguments),g=Math.min(wy,Math.max(-wy,o.apply(this,arguments)-_)),y=Math.min(Math.abs(g)/h,u.apply(this,arguments)),m=y*(g<0?-1:1);for(a=0;a<h;++a)(l=v[d[a]=a]=+n(t[a],a,t))>0&&(p+=l);for(null!=e?d.sort(function(t,n){return e(v[t],v[n])}):null!=r&&d.sort(function(n,e){return r(t[n],t[e])}),a=0,s=p?(g-h*m)/p:0;a<h;++a,_=f)c=d[a],f=_+((l=v[c])>0?l*s:0)+m,v[c]={data:t[c],index:a,value:l,startAngle:_,endAngle:f,padAngle:y};return v}var n=Sy,e=ky,r=null,i=ly(0),o=ly(wy),u=ly(0);return t.value=function(e){return arguments.length?(n="function"==typeof e?e:ly(+e),t):n},t.sortValues=function(n){return arguments.length?(e=n,r=null,t):e},t.sort=function(n){return arguments.length?(r=n,e=null,t):r},t.startAngle=function(n){return arguments.length?(i="function"==typeof n?n:ly(+n),t):i},t.endAngle=function(n){return arguments.length?(o="function"==typeof n?n:ly(+n),t):o},t.padAngle=function(n){return arguments.length?(u="function"==typeof n?n:ly(+n),t):u},t},t.areaRadial=Cy,t.radialArea=Cy,t.lineRadial=Ay,t.radialLine=Ay,t.pointRadial=zy,t.linkHorizontal=function(){return Wa(Za)},t.linkVertical=function(){return Wa(Ga)},t.linkRadial=function(){var t=Wa(Ja);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.symbol=function(){function t(){var t;if(r||(r=t=ve()),n.apply(this,arguments).draw(r,+e.apply(this,arguments)),t)return r=null,t+""||null}var n=ly(Ry),e=ly(64),r=null;return t.type=function(e){return arguments.length?(n="function"==typeof e?e:ly(e),t):n},t.size=function(n){return arguments.length?(e="function"==typeof n?n:ly(+n),t):e},t.context=function(n){return arguments.length?(r=null==n?null:n,t):r},t},t.symbols=Gy,t.symbolCircle=Ry,t.symbolCross=Ly,t.symbolDiamond=Dy,t.symbolSquare=By,t.symbolStar=Yy,t.symbolTriangle=Hy,t.symbolWye=Zy,t.curveBasisClosed=function(t){return new tc(t)},t.curveBasisOpen=function(t){return new nc(t)},t.curveBasis=function(t){return new Ka(t)},t.curveBundle=Qy,t.curveCardinalClosed=tm,t.curveCardinalOpen=nm,t.curveCardinal=Ky,t.curveCatmullRomClosed=rm,t.curveCatmullRomOpen=im,t.curveCatmullRom=em,t.curveLinearClosed=function(t){return new lc(t)},t.curveLinear=My,t.curveMonotoneX=function(t){return new _c(t)},t.curveMonotoneY=function(t){return new gc(t)},t.curveNatural=function(t){return new mc(t)},t.curveStep=function(t){return new bc(t,.5)},t.curveStepAfter=function(t){return new bc(t,1)},t.curveStepBefore=function(t){return new bc(t,0)},t.stack=function(){function t(t){var o,u,a=n.apply(this,arguments),c=t.length,s=a.length,f=new Array(s);for(o=0;o<s;++o){for(var l,h=a[o],p=f[o]=new Array(c),d=0;d<c;++d)p[d]=l=[0,+i(t[d],h,d,t)],l.data=t[d];p.key=h}for(o=0,u=e(f);o<s;++o)f[u[o]].index=o;return r(f,u),f}var n=ly([]),e=um,r=om,i=wc;return t.keys=function(e){return arguments.length?(n="function"==typeof e?e:ly(Py.call(e)),t):n},t.value=function(n){return arguments.length?(i="function"==typeof n?n:ly(+n),t):i},t.order=function(n){return arguments.length?(e=null==n?um:"function"==typeof n?n:ly(Py.call(n)),t):e},t.offset=function(n){return arguments.length?(r=null==n?om:n,t):r},t},t.stackOffsetExpand=function(t,n){if((r=t.length)>0){for(var e,r,i,o=0,u=t[0].length;o<u;++o){for(i=e=0;e<r;++e)i+=t[e][o][1]||0;if(i)for(e=0;e<r;++e)t[e][o][1]/=i}om(t,n)}},t.stackOffsetDiverging=function(t,n){if((a=t.length)>1)for(var e,r,i,o,u,a,c=0,s=t[n[0]].length;c<s;++c)for(o=u=0,e=0;e<a;++e)(i=(r=t[n[e]][c])[1]-r[0])>=0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=u,r[0]=u+=i):r[0]=o},t.stackOffsetNone=om,t.stackOffsetSilhouette=function(t,n){if((e=t.length)>0){for(var e,r=0,i=t[n[0]],o=i.length;r<o;++r){for(var u=0,a=0;u<e;++u)a+=t[u][r][1]||0;i[r][1]+=i[r][0]=-a/2}om(t,n)}},t.stackOffsetWiggle=function(t,n){if((i=t.length)>0&&(r=(e=t[n[0]]).length)>0){for(var e,r,i,o=0,u=1;u<r;++u){for(var a=0,c=0,s=0;a<i;++a){for(var f=t[n[a]],l=f[u][1]||0,h=(l-(f[u-1][1]||0))/2,p=0;p<a;++p){var d=t[n[p]];h+=(d[u][1]||0)-(d[u-1][1]||0)}c+=l,s+=h*l}e[u-1][1]+=e[u-1][0]=o,c&&(o-=s/c)}e[u-1][1]+=e[u-1][0]=o,om(t,n)}},t.stackOrderAscending=am,t.stackOrderDescending=function(t){return am(t).reverse()},t.stackOrderInsideOut=function(t){var n,e,r=t.length,i=t.map(Mc),o=um(t).sort(function(t,n){return i[n]-i[t]}),u=0,a=0,c=[],s=[];for(n=0;n<r;++n)e=o[n],u<a?(u+=i[e],c.push(e)):(a+=i[e],s.push(e));return s.reverse().concat(c)},t.stackOrderNone=um,t.stackOrderReverse=function(t){return um(t).reverse()},t.timeInterval=Nu,t.timeMillisecond=O_,t.timeMilliseconds=F_,t.utcMillisecond=O_,t.utcMilliseconds=F_,t.timeSecond=B_,t.timeSeconds=j_,t.utcSecond=B_,t.utcSeconds=j_,t.timeMinute=H_,t.timeMinutes=X_,t.timeHour=$_,t.timeHours=V_,t.timeDay=W_,t.timeDays=Z_,t.timeWeek=G_,t.timeWeeks=rg,t.timeSunday=G_,t.timeSundays=rg,t.timeMonday=J_,t.timeMondays=ig,t.timeTuesday=Q_,t.timeTuesdays=og,t.timeWednesday=K_,t.timeWednesdays=ug,t.timeThursday=tg,t.timeThursdays=ag,t.timeFriday=ng,t.timeFridays=cg,t.timeSaturday=eg,t.timeSaturdays=sg,t.timeMonth=fg,t.timeMonths=lg,t.timeYear=hg,t.timeYears=pg,t.utcMinute=dg,t.utcMinutes=vg,t.utcHour=_g,t.utcHours=gg,t.utcDay=yg,t.utcDays=mg,t.utcWeek=xg,t.utcWeeks=Sg,t.utcSunday=xg,t.utcSundays=Sg,t.utcMonday=bg,t.utcMondays=Eg,t.utcTuesday=wg,t.utcTuesdays=Ag,t.utcWednesday=Mg,t.utcWednesdays=Cg,t.utcThursday=Tg,t.utcThursdays=zg,t.utcFriday=Ng,t.utcFridays=Pg,t.utcSaturday=kg,t.utcSaturdays=Rg,t.utcMonth=Lg,t.utcMonths=qg,t.utcYear=Ug,t.utcYears=Og,t.timeFormatDefaultLocale=Na,t.timeFormatLocale=zu,t.isoFormat=jg,t.isoParse=Hg,t.now=ln,t.timer=dn,t.timerFlush=vn,t.timeout=Ll,t.interval=function(t,n,e){var r=new pn,i=n;return null==n?(r.restart(t,n,e),r):(n=+n,e=null==e?ln():+e,r.restart(function o(u){u+=i,r.restart(o,i+=n,e),t(u)},n,e),r)},t.transition=Jn,t.active=function(t,n){var e,r,i=t.__transition;if(i){n=null==n?null:n+"";for(r in i)if((e=i[r]).state>Ol&&e.name===n)return new Gn([[t]],mh,n,+r)}return null},t.interrupt=Xl,t.voronoi=function(){function t(t){return new ns(t.map(function(r,i){var o=[Math.round(n(r,i,t)/_m)*_m,Math.round(e(r,i,t)/_m)*_m];return o.index=i,o.data=r,o}),r)}var n=Tc,e=Nc,r=null;return t.polygons=function(n){return t(n).polygons()},t.links=function(n){return t(n).links()},t.triangles=function(n){return t(n).triangles()},t.x=function(e){return arguments.length?(n="function"==typeof e?e:cm(+e),t):n},t.y=function(n){return arguments.length?(e="function"==typeof n?n:cm(+n),t):e},t.extent=function(n){return arguments.length?(r=null==n?null:[[+n[0][0],+n[0][1]],[+n[1][0],+n[1][1]]],t):r&&[[r[0][0],r[0][1]],[r[1][0],r[1][1]]]},t.size=function(n){return arguments.length?(r=null==n?null:[[0,0],[+n[0],+n[1]]],t):r&&[r[1][0]-r[0][0],r[1][1]-r[0][1]]},t},t.zoom=function(){function n(t){t.property("__zoom",cs).on("wheel.zoom",s).on("mousedown.zoom",f).on("dblclick.zoom",l).filter(b).on("touchstart.zoom",p).on("touchmove.zoom",d).on("touchend.zoom touchcancel.zoom",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function e(t,n){return(n=Math.max(w,Math.min(M,n)))===t.k?t:new rs(n,t.x,t.y)}function r(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new rs(t.k,r,i)}function i(t,n){var e=t.invertX(n[0][0])-T,r=t.invertX(n[1][0])-N,i=t.invertY(n[0][1])-S,o=t.invertY(n[1][1])-E;return t.translate(r>e?(e+r)/2:Math.min(0,e)||Math.max(0,r),o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o))}function o(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function u(t,n,e){t.on("start.zoom",function(){a(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){a(this,arguments).end()}).tween("zoom",function(){var t=this,r=arguments,i=a(t,r),u=m.apply(t,r),c=e||o(u),s=Math.max(u[1][0]-u[0][0],u[1][1]-u[0][1]),f=t.__zoom,l="function"==typeof n?n.apply(t,r):n,h=C(f.invert(c).concat(s/f.k),l.invert(c).concat(s/l.k));return function(t){if(1===t)t=l;else{var n=h(t),e=s/n[2];t=new rs(e,c[0]-n[0]*e,c[1]-n[1]*e)}i.zoom(null,t)}})}function a(t,n){for(var e,r=0,i=z.length;r<i;++r)if((e=z[r]).that===t)return e;return new c(t,n)}function c(t,n){this.that=t,this.args=n,this.index=-1,this.active=0,this.extent=m.apply(t,n)}function s(){if(y.apply(this,arguments)){var t=a(this,arguments),n=this.__zoom,o=Math.max(w,Math.min(M,n.k*Math.pow(2,x.apply(this,arguments)))),u=nf(this);if(t.wheel)t.mouse[0][0]===u[0]&&t.mouse[0][1]===u[1]||(t.mouse[1]=n.invert(t.mouse[0]=u)),clearTimeout(t.wheel);else{if(n.k===o)return;t.mouse=[u,n.invert(u)],Xl(this),t.start()}xm(),t.wheel=setTimeout(function(){t.wheel=null,t.end()},L),t.zoom("mouse",i(r(e(n,o),t.mouse[0],t.mouse[1]),t.extent))}}function f(){if(!g&&y.apply(this,arguments)){var n=a(this,arguments),e=ff(t.event.view).on("mousemove.zoom",function(){if(xm(),!n.moved){var e=t.event.clientX-u,o=t.event.clientY-c;n.moved=e*e+o*o>q}n.zoom("mouse",i(r(n.that.__zoom,n.mouse[0]=nf(n.that),n.mouse[1]),n.extent))},!0).on("mouseup.zoom",function(){e.on("mousemove.zoom mouseup.zoom",null),_t(t.event.view,n.moved),xm(),n.end()},!0),o=nf(this),u=t.event.clientX,c=t.event.clientY;pf(t.event.view),os(),n.mouse=[o,this.__zoom.invert(o)],Xl(this),n.start()}}function l(){if(y.apply(this,arguments)){var o=this.__zoom,a=nf(this),c=o.invert(a),s=i(r(e(o,o.k*(t.event.shiftKey?.5:2)),a,c),m.apply(this,arguments));xm(),A>0?ff(this).transition().duration(A).call(u,s,a):ff(this).call(n.transform,s)}}function p(){if(y.apply(this,arguments)){var n,e,r,i,o=a(this,arguments),u=t.event.changedTouches,c=u.length;for(os(),e=0;e<c;++e)r=u[e],i=[i=lf(this,u,r.identifier),this.__zoom.invert(i),r.identifier],o.touch0?o.touch1||(o.touch1=i):(o.touch0=i,n=!0);if(_&&(_=clearTimeout(_),!o.touch1))return o.end(),void((i=ff(this).on("dblclick.zoom"))&&i.apply(this,arguments));n&&(_=setTimeout(function(){_=null},R),Xl(this),o.start())}}function d(){var n,o,u,c,s=a(this,arguments),f=t.event.changedTouches,l=f.length;for(xm(),_&&(_=clearTimeout(_)),n=0;n<l;++n)o=f[n],u=lf(this,f,o.identifier),s.touch0&&s.touch0[2]===o.identifier?s.touch0[0]=u:s.touch1&&s.touch1[2]===o.identifier&&(s.touch1[0]=u);if(o=s.that.__zoom,s.touch1){var h=s.touch0[0],p=s.touch0[1],d=s.touch1[0],v=s.touch1[1],g=(g=d[0]-h[0])*g+(g=d[1]-h[1])*g,y=(y=v[0]-p[0])*y+(y=v[1]-p[1])*y;o=e(o,Math.sqrt(g/y)),u=[(h[0]+d[0])/2,(h[1]+d[1])/2],c=[(p[0]+v[0])/2,(p[1]+v[1])/2]}else{if(!s.touch0)return;u=s.touch0[0],c=s.touch0[1]}s.zoom("touch",i(r(o,u,c),s.extent))}function v(){var n,e,r=a(this,arguments),i=t.event.changedTouches,o=i.length;for(os(),g&&clearTimeout(g),g=setTimeout(function(){g=null},R),n=0;n<o;++n)e=i[n],r.touch0&&r.touch0[2]===e.identifier?delete r.touch0:r.touch1&&r.touch1[2]===e.identifier&&delete r.touch1;r.touch1&&!r.touch0&&(r.touch0=r.touch1,delete r.touch1),r.touch0?r.touch0[1]=this.__zoom.invert(r.touch0[0]):r.end()}var _,g,y=us,m=as,x=ss,b=fs,w=0,M=1/0,T=-M,N=M,S=T,E=N,A=250,C=yl,z=[],P=h("start","zoom","end"),R=500,L=150,q=0;return n.transform=function(t,n){var e=t.selection?t.selection():t;e.property("__zoom",cs),t!==e?u(t,n):e.interrupt().each(function(){a(this,arguments).start().zoom(null,"function"==typeof n?n.apply(this,arguments):n).end()})},n.scaleBy=function(t,e){n.scaleTo(t,function(){return this.__zoom.k*("function"==typeof e?e.apply(this,arguments):e)})},n.scaleTo=function(t,u){n.transform(t,function(){var t=m.apply(this,arguments),n=this.__zoom,a=o(t),c=n.invert(a);return i(r(e(n,"function"==typeof u?u.apply(this,arguments):u),a,c),t)})},n.translateBy=function(t,e,r){n.transform(t,function(){return i(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof r?r.apply(this,arguments):r),m.apply(this,arguments))})},n.translateTo=function(t,e,r){n.transform(t,function(){var t=m.apply(this,arguments),n=this.__zoom,u=o(t);return i(mm.translate(u[0],u[1]).scale(n.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof r?-r.apply(this,arguments):-r),t)})},c.prototype={start:function(){return 1==++this.active&&(this.index=z.push(this)-1,this.emit("start")),this},zoom:function(t,n){return this.mouse&&"mouse"!==t&&(this.mouse[1]=n.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=n.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=n.invert(this.touch1[0])),this.that.__zoom=n,this.emit("zoom"),this},end:function(){return 0==--this.active&&(z.splice(this.index,1),this.index=-1,this.emit("end")),this},emit:function(t){k(new es(n,t,this.that.__zoom),P.apply,P,[t,this.that,this.args])}},n.wheelDelta=function(t){return arguments.length?(x="function"==typeof t?t:ym(+t),n):x},n.filter=function(t){return arguments.length?(y="function"==typeof t?t:ym(!!t),n):y},n.touchable=function(t){return arguments.length?(b="function"==typeof t?t:ym(!!t),n):b},n.extent=function(t){return arguments.length?(m="function"==typeof t?t:ym([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),n):m},n.scaleExtent=function(t){return arguments.length?(w=+t[0],M=+t[1],n):[w,M]},n.translateExtent=function(t){return arguments.length?(T=+t[0][0],N=+t[1][0],S=+t[0][1],E=+t[1][1],n):[[T,S],[N,E]]},n.duration=function(t){return arguments.length?(A=+t,n):A},n.interpolate=function(t){return arguments.length?(C=t,n):C},n.on=function(){var t=P.on.apply(P,arguments);return t===P?n:t},n.clickDistance=function(t){return arguments.length?(q=(t=+t)*t,n):Math.sqrt(q)},n},t.zoomTransform=is,t.zoomIdentity=mm,Object.defineProperty(t,"__esModule",{value:!0})});
<!DOCTYPE HTML>
<html>
<head>
<title>US Federal Budget Balance, 1968-2017</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=960" />
<script src="d3.min.js"></script>
<style type="text/css">
div.tooltip {
position: absolute;
text-align: left;
display: table;
width: auto;
height: auto;
padding: 2px;
font: 16px arial;
background: white;
border: 0px;
border-radius: 8px;
pointer-events: none;
color: black;
}
.tooltip p {
margin: 0;
font-family: arial;
font-size: 16px;
line-height: 20px;
text-align: left;
color: black;
}
.tooltip strong {
margin: 0;
font-family: arial;
font-size: 20px;
line-height: 20px;
text-align: left;
color: black;
font-weight: bold;
}
.legend {
margin: 0;
font-family: arial;
font-size: 14px;
text-align: left;
color: black;
pointer-events: none;
}
</style>
</head>
<body>
<div id="container" class="container">
<script src="congress-2016-results.js"></script>
</div>
</body>
</html>
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment