You are here
News Feeds
Africa should not have to adapt to an unjust climate system
Mohamed Adow is the founder and director of Power Shift Africa.
What does it mean to ask a continent to adapt to a crisis it did little to create? For Africa, that question has stopped being philosophical as it is answered every day in flooded communities, failed harvests, disappearing livelihoods and public budgets stretched by disasters they cannot afford.
Africa produces a negligible share of global emissions, but between 1970 and 2021 it accounted for around 35% of climate-related deaths worldwide. The continent is therefore confronting a brutal contradiction that is exemplified by the fact that those who have contributed least to the climate crisis are carrying some of its heaviest costs.
And that explains why, for us, it is worrying that much of the climate debate treats adaptation as a technical exercise. Build better infrastructure, they say. Improve early-warning systems, they urge. Develop drought-resistant crops, they preach. Strengthen disaster preparedness, they yell. All of these things matter, but they do not answer the harder question of why some people and countries are so much more vulnerable in the first place.
At pre-COP, UN climate chief warns of heat threat to mothers and babies
That is the question we have spent the last couple of years trying to answer, and it culminates in our recently launched thought-provoking report that shows how Africa’s vulnerability is not an accident of geography, but has instead been shaped by history, economics and power.
Colonial extraction, unequal development, debt dependency, global economic asymmetries and exclusion from international decision-making have all constrained the resources and choices available to African countries, and climate change is intensifying those existing inequalities, shows the report, titled “A Just Transition for Adaptation: A Framework and Vision for Africa”.
Widening adaptation finance gapI say it is ‘thought-provoking’ because it asks us to rethink adaptation itself – not as a collection of projects designed to help people cope with climate impacts, but as a question of justice, power and structural change.
That distinction might not sit well with some people, but for Africa it matters, because there is a danger in asking vulnerable countries simply to become more “resilient”. Resilient against what? How can you ask people to toughen up while letting them be strangled by a system that continues to reproduce the very inequalities that have made resilience so difficult?
If you want to know where the problem is, see where the money is coming from and where it is going. That becomes quite stark when you consider the fact that Africa’s annual adaptation needs are close to $70 billion but its adaptation finance flows are only around $14 billion.
Editor’s Desk: Nepal’s disaster has laid bare the world’s adaptation accountability gap
At the same time, a growing proportion of climate finance is being delivered through commercial loans rather than grants. That means countries already under severe fiscal pressure are being asked to borrow to protect themselves from climate impacts they did little to cause.
There is something deeply wrong with a system in which climate-vulnerable countries are spending more of their own public money on adaptation than they receive in international support, because that system turns climate injustice into a financial transaction, with those least responsible carrying more of the cost.
Members of civil society call for a tripling of adaptation finance. (Photo: IISD/ENB – Kiara Worth) Members of civil society call for a tripling of adaptation finance. (Photo: IISD/ENB – Kiara Worth) From extractivism to African ownershipAnd, as the new report shows, the problem goes beyond finance. Africa’s land, minerals, forests and other resources have become central to the global transition towards lower-carbon economies. Markets and green industrial projects may offer genuine opportunities, but without African ownership, participation and accountability, there is a risk that old patterns of extraction will simply be repackaged in the language of the green economy, and that is why we argue that a transition can be low-carbon and still be unjust.
It is precisely because of this risk that the report’s idea of a just transition for adaptation becomes important as it expands the idea beyond the familiar focus on emissions and energy systems. It asks what justice looks like when the goal is not simply to reduce carbon, but to enable societies to withstand a changing climate without reproducing the inequalities that made them vulnerable.
The report places four dimensions of justice at the centre: recognition, participation, distribution and restoration.
From Belém to Antalya – gains, gaps and challenges for a new Just Transition Mechanism
Recognition means taking African realities and knowledge seriously. Indigenous and local knowledge has too often been treated as peripheral to “real” climate expertise, even though communities possess generations of detailed understanding of ecosystems, rainfall, soils, water and livelihoods. That knowledge should inform adaptation policy from the beginning, rather than being added after decisions have already been made.
Participation means giving affected communities a genuine voice in decisions about their land, resources and futures. Adaptation governance should be inclusive, democratic, rights-based and rooted in free, prior and informed consent.
Climate justice must confront unequal developmentMeanwhile, distribution asks who actually receives adaptation finance, technology and protection? Money that is announced internationally but fails to reach vulnerable communities does little to change their reality.
And, finally, restoration recognises that present-day vulnerability has a history. Climate justice cannot begin and end with today’s emissions, but must also confront the structural conditions that have shaped unequal development and continue to limit African countries’ room to respond.
This report, therefore, is an invitation to change the terms of the conversation on just transition. Africa definitely needs adaptation, but that should not mean endlessly adjusting to an unjust system. The real goal should be something more ambitious; a transition in which resilience, development and justice reinforce one another, shaped by African priorities and grounded in African realities.
The post Africa should not have to adapt to an unjust climate system appeared first on Climate Home News.
Heat pumps, electric water heaters continue to gain ground: reports
Mandates and long-term trends toward electrification are supporting demand for these HVAC technologies despite federal headwinds.
Rising interest rates challenge utility financing plans, US Bank managing director says
For utilities, keeping capital expenditures well-balanced is “going to be a little more challenging with [interest] rates going higher as quickly as they have,” said Tim Keller, managing director of U.S. Bank’s power and utilities group.
EA fails to satisfy critics after admitting flaws in Burniston fracking report
The Environment Agency (EA) has admitted mistakes in its official assessment of plans for gas drilling and fracking at Burniston in North Yorkshire, following widespread criticism.
But this has failed to satisfy critics, who have called on the EA to scrap the assessment and start again.
Photo: DrillOrDropIn August 2026, the EA said it was minded to approve the permit application, by Europa Oil & Gas, for plans at Burniston. The environmental permit is considered separately from planning permission, which was refused by North Yorkshire Council earlier this year.
The EA set out its reasons for the minded to approve in a report, the draft decision document. It invited comments before making a final decision.
In past two months, the EA has been accused of errors in the draft decision document, as well as inconsistency and missing information.
The document was the subject of a formal complaint by one campaigner. There have also been numerous objections from organisations and individuals.
Update from EA website on Burniston permit applicationIn an online update, the EA has responded to some of the objections:
“There are a number of minor typographical errors and inconsistencies in use of terminology, within our published draft decision document.”
“While we acknowledge these drafting errors, we would like to reassure you that they do not affect the underlying technical assessment, evidence base or regulatory considerations.
“Our assessment has been undertaken in accordance with the relevant legal and technical requirements and remains subject to scrutiny throughout the permitting process.
“We will upload our updated decision document onto this consultation page as soon as possible. The technical assessment remains unchanged.
“We will keep the consultation open during this time.”
The update followed an earlier announcement by the EA that the public consultation on the draft decision document, due to end on 26 September 2026, would close instead 25 days later on 21 October 2026. At the time, there was no explanation about why the consultation had been extended and the EA did not respond to our questions.
The EA’s update has already been criticised by local organisations and campaigners, including Burniston Parish Council and a community group.
“EA process and report discredited”Richard Parsons, chair of Burniston Parish Council, said the EA’s description of “minor typographical errors and inconsistencies” seemed to be “a long way from the truth”.
He said in a statement to DrillOrDrop:
“At Burniston Parish Council we have been looking with great interest at the Environment Agency report into the Europa Oil and Gas proposed gas fracking site at Burniston.
“The EA held a public meeting at Burniston as part of the planning process and the EA report process. After the meeting there was concern from both Councillors and members of this community that the EA had little understanding of the effect that fracking for gas in this location would have on the environment, both locally and further afield.
“When the report was published alongside a public consultation process it was scrutinised in great detail. A series of errors and apparent lack of understanding from the EA were identified. Our Council responded in detail.
“To call the errors ‘minor typographical errors and inconsistencies in use of terminology’ seems to be a long way from the truth. It’s a mess!
“The public response time was extended from the 23rd of September until 21st October, based, it would appear, on the EA report being incorrect. The report is lengthy and requires a lot of time to scrutinise and respond to. For anyone to respond accurately on the latest version of the EA report, is not possible.
“We have asked for a further public open meeting based on the evidence that is now available. To date we have received no reply.
“It appears as though the EA process and report is now discredited. We request that the EA report is withdrawn and started again. Also a public open meeting arranged prior to the report being finalised.
“At Burniston Parish Council we would take the opportunity to remind the Environment Agency of the requirements to prepare and publish a report, that is based on all the evidence and is accurate in its conclusions. Anything less, including errors and inconsistences, is not acceptable.’
“EA assurance is disingenuous”The campaign group, Frack Free Coastal Communities (FFCC), welcomed the EA’s acknowledgment of drafting problems in the draft decision document.
But it added:
“Their assurance that this does not affect the technical assessment and evidence base informing their decision is disingenuous.
“It is their misunderstanding and misrepresentation of the evidence base that has led to inconsistencies in terminology. This in turn derives from their reliance on language and interpretations of evidence provided by Europa in their permit application.
“We suspect that this partial mea culpa is a face-saving first step in a process of reviewing their assessment and decision making. Extending the consultation by four weeks simply to correct a few typos is not credible – a more fundamental review is surely (and rightly) under way. And when a revised decision document is published, we expect the Environment Agency to re-start the consultation so that the new documents can be subject to the same public scrutiny as the ones they now admit are flawed.”
“EA quality control depends on public”The EA has also responded to the formal complaint by campaigner Dennis May.
He had accused the EA of multiple problems with its handling of the Burniston permit, including:
- Failing to act in the public interest
- Providing “inaccurate, inconsistent and contradictory information”
- Aligning itself with “misleading, confected, and conflated terminology” used by Europa Oil & Gas
- Failing to remain impartial
- Regarding the public consultation as “a mere formality, irrespective of evidence”.
The EA said in response:
“We have reviewed the points you raised and agree that there are a number of minor typographical errors and inconsistencies in the use of terminology, within the published draft decision document.
“We are taking steps to correct these, and to understand how they occurred, so that we can minimise the risk of similar issues arising in future.
“We appreciate that accuracy and attention to detail are important in maintaining public confidence in our regulatory processes. While we acknowledge these drafting errors, we would like to reassure you that they do not reflect our underlying technical assessment, evidence base or regulatory considerations that form part of our determination.
“Our assessment has been undertaken in accordance with all the relevant legal and technical requirements and remains subject to scrutiny throughout the permitting process.
“We will upload an updated draft decision document onto the Citizen Space consultation webpage as soon as possible. We will keep the consultation webpage open during this time. Our technical assessment remains unchanged.
“We will then allow an extra two weeks for the consultation to run in light of the changes made.”
On Mr May’s criticism of terminology, the EA said:
“The terms used by oil and gas operators to describe their activities are not always used consistently across the industry. Unless a term is defined in law, there is no single agreed definition. When we write permits and decision documents, we often use the same terminology as the operator’s application to help readers compare the documents more easily.”
Mr May said today:
“The EAs failings in this matter are strongly indicative of systemic shortfalls in the management of the permitting process.
“It is concerning that any semblance of quality control appears to be totally dependent upon intervention by members of the public.”
MISO proposes fast-track large load, generation study process
The 120-day study process would be available for loads larger than 200 MW and new generation that *are*>is* in the same local resource zone, which generally cover individual states.
Virginia Is for Lovers … of Data Centers?
A joint publication of The Revelator and Crucial Comix.
Sources:
-
- 50 office spaces https://www.epa.gov/newsreleases/energy-star-expands-efforts-improve-energy-efficiency-us-data-centers
- 3-5 million gallons of water per day for cooling https://vcnva.org/bill-of-the-day-data-center-growth/
- Heat nearby neighborhoods by as much as 4 degrees F https://news.asu.edu/20260518-environment-and-sustainability-turning-down-heat-data-centers
- Constant, low-frequency noise https://www.sierraclub.org/ohio/blog/2026/02/data-centers-noise-pollution-ohio-communities-are-organizing-accountability
- Size of 150 Walmart Supercenters https://www.pecva.org/work/energy-work/mitigating-data-center-developments-impacts/
- $2.4 billion per month https://ourworldindata.org/how-much-is-the-us-spending-on-building-data-centers
- do not bring many permanent jobs https://thenevadaindependent.com/article/do-data-centers-create-few-permanent-jobs
- County administrator is tearing up https://virginiabusiness.com/google-botetourt-data-center-purchase/
- 8th largest data center complex in the world https://cardinalnews.org/2026/07/09/by-water-use-googles-botetourt-site-would-be-its-8th-largest-data-center-complex-in-the-world/
- 12 Olympic-sized swimming pools https://scienceline.org/2010/02/what-would-you-do-with-eight-million-gallons-of-water-every-day/
- Government and companies have an insatiable need https://wtop.com/virginia/2026/07/how-virginia-became-the-worlds-data-center-capital-and-how-its-going/
- 72% of Virginia voters oppose the state-wide tax exemption for data centers https://wjla.com/news/local/virginia-spanberger-popularity-vcu-poll-election-commonwealth-university-abigail-democrats-economy-data-centers-grocery-store-costs-of-living-impacts-business
- 73% of Virginia voters blame data centers for rising energy bills https://ccanactionfund.org/media/New-Polling-on-Virginians-Views-of-Data-Centers-and-Rising-Energy-Costs.pdf
- A map of the United States with data centers https://cleanview.co/data-centers/us
The Land Is an Ancestor We Refuse to Abandon: In the Shadows of the Hermosa Mine
The post Virginia Is for Lovers … of Data Centers? appeared first on The Revelator.
Supreme Court to open term with Colorado climate lawsuit
On Monday, the U.S. Supreme Court will open its new term with a major climate lawsuit brought by Boulder, Colorado as its first case. In 2018, the city and county of Boulder sued ExxonMobil and Suncor, alleging that the companies misled the public about their climate impacts, in violation of Colorado state law. The Supreme Court will hear a request from ExxonMobil and Suncor to block the case from being heard in Colorado district court; a ruling on jurisdiction over these types of cases would have implications for several other pending cases across the country.
“These big oil companies are really desperate to escape trial in these cases so they’re asking the Supreme Court to step in and save them from trial,” Corey Riday-White, legal director for The Center for Climate Integrity, told the Denver Post. “It’s clear the fossil fuel industry doesn’t want the damning evidence of their climate lies to be presented at trial.”
Lawmakers introduce bill to prevent future orphaned wellsOn Friday, several Western members of Congress introduced the Stop Orphaned Wells Act, which seeks to prevent oil and gas companies from leaving behind orphaned wells on national public lands. In 2024 the Bureau of Land Management updated bonding requirements to better ensure that oil and gas companies can pay to clean up their own wells, but the Trump administration’s recent proposed Oil and Gas Rule would roll back these updated requirements. The Stop Orphaned Wells Act would codify and strengthen bonding requirements and other accountability measures.
Quick hits Judge blocks border wall construction in Big Bend in Texas Long-awaited Senate deal to speed permitting faces familiar hurdles Massive nuclear plant/waste dump/data center complex planned for BLM land in Utah Nevada backcountry vulnerable to more off-roading, logging under federal rule changes Effort to save California’s iconic Joshua trees scrapped after Trump administration blocks funding Tweak to Endangered Species Act could allow widespread development Opinion: If Doug Burgum got a performance review Baseball in a national park? We found 7 ball fields at Grand Teton and Yellowstone Quote of the dayThey said that the [baseball] field was a good place for employees to get outside and recreate. Cory and I both turned and gestured towards the Tetons at the same time and said something like ‘they have this right here.’ I think at that moment they understood that their proposal wouldn’t fly.”
—Brad Boner, Wyoming photographer, WyoFile
Picture This @usinteriorFall has entered the chat.
Quaking aspens turn brilliant shades of yellow each fall, but what you see above ground is only part of the story.
An entire stand of aspens can be connected underground by a single root system, meaning what looks like hundreds of individual trees may actually be one genetically identical organism. The trunks can live for a century, while the roots beneath them can survive for thousands of years.
Photos by Jim Grindley | @chileno_hikertron and NPS
Featured image: Smoke from the Marshall Fire over Superior, Colorado; the destructive impacts of this fire are widely attributed to climate change driven by oil and gas production. Tristantech via Wikimedia Commons/CC BY-SA 4.0
The post Supreme Court to open term with Colorado climate lawsuit appeared first on Center for Western Priorities.
The Vegan Poultry Farmer: Rethinking Animal Agriculture
In a new documentary, The Vegan Poultry Farmer, filmmaker Kadir van Lohuizen follows Ruud Zanders as he grapples with a moral dilemma: raising animals for food while following a vegan diet. Zanders travels the globe, meeting with food systems experts, to determine if an animal-free food system is possible.
“Personally, I would say: stop exploiting farm animals,” Zanders says in the documentary.
Zanders opened the first Kipster farm in the Netherlands in 2017 after his large-scale poultry operation went bankrupt. He realized that large-scale farms are efficient and produce cheap eggs, but “something else is paying the price… biodiversity, the climate, the animal itself,” he tells Food Tank.
His farming model, he says, is based on sustainability, animal welfare, and transparency. Zanders ultimately envisions an animal-free food system, but until that becomes a reality, he aims to provide the highest-welfare eggs possible. “It’s very complicated to produce eggs or other animal-based products in a really animal-friendly way,” Zanders says.
His farms house 24,000 chickens per barn, compared to industrial operations which can hold up to 350,000 per barn, according to the Animal and Plant Health Inspection Service (APHIS). The chickens receive indoor and outdoor space, fresh air and sunlight, and an enrichment playground to exercise their natural instincts.
Kipster is working to produce carbon neutral eggs by giving their chickens feed made from waste streams, including stale pastries or other food no longer fit for human consumption. This feed model eliminates competition for food (corn, grains, soy) between people and farm animals. Zanders bases this model on the idea that growing crops directly for human consumption can decrease agricultural land usage and allow for more land to be restored to natural ecosystems.
He was inspired to do this by Imke de Boer, a Wageningen University professor of livestock and sustainable food systems, as well as environmental activist and writer George Monbiot, who Zanders visits in the film. Monbiot tells him that livestock farming is the single most destructive human activity to the environment.
The farm also uses solar panels and transforms chicken litter into fertilizer. They report that a Kipster egg’s carbon footprint is about 23 percent lower than that of a conventional egg.
The documentary examines behind the scenes of Kipster farms and other operations to reveal the industry’s reality. It shows chickens being shoved into crates to be transported to slaughter, limp carcasses dangling on a conveyor belt, and workers wearing blood-spattered aprons. Even under Kipster’s higher-welfare standards, the end result is still the same.
Zanders meets with various stakeholders to help him answer the film’s driving question: Is an animal-free food system possible?
Melanie Jaecques, co-owner of a farm animal sanctuary in Belgium, saves chickens predominantly from the egg industry. She talks to Zanders about the complexity of chickens’ behavior and personalities, and that even on his higher-welfare farm, they are not given the proper environment to thrive. To her, housing 24,000 chickens in one barn is “terribly wrong,” and that Kipster is “not a good system, but the least bad.”
To answer his logistical questions about fertilizing crops without animal manure and whether people can maintain proper health on a vegan diet, he visits a human waste fertilizer producer in Ghana and a plant-based hematologist, respectively. Together, these experts affirm his belief in an animal-free agriculture system—which only intensifies his internal struggle as a poultry farmer.
Although Zanders concludes that it is possible to have an animal-free food system, he knows that his vision is not shared by all. As long as there is a demand for animal products, Zanders hopes that Kipster can help bridge the gap between his ideal vision and the current industrial system. That’s why he believes that he can positively impact farm animals as a poultry farmer. “We have to do our utmost best to give them a life worth living.”
Articles like the one you just read are made possible through the generosity of Food Tank members. Can we please count on you to be part of our growing movement? Become a member today by clicking here.
The post The Vegan Poultry Farmer: Rethinking Animal Agriculture appeared first on Food Tank.
Caribbean Nations Have Installed Twice as Much Solar as Official Figures Suggest
Across the Caribbean, people have installed roughly twice as many solar panels as official statistics would suggest. That is the finding of a new report, which calls on countries to make it easier for new solar installations to connect to the grid.
At pre-COP, UN climate chief warns of heat threat to mothers and babies
Extreme heat poses a growing threat to pregnant women and their babies, both before and after birth, the UN climate chief said on Monday, calling it “a new faultline in the global climate crisis, and one which is potentially fatal”.
Speaking on the first day of the pre-COP31 meeting in Fiji, where new research was launched on the issue, Simon Stiell warned: “This faultline must not become another deep chasm of climate-driven suffering, inequality and injustice.”
Rather than being a time of hope, he added, pregnancy is becoming “a time of anxiety, as climate impacts fill everyday life with risk”, straining health systems and threatening essentials like food, water and power – especially in poorer countries where many women work outdoors and live in informal housing far from under-equipped clinics.
In a new international survey of 1,000 maternal healthcare professionals in Australia, Brazil, India, the UK and Zimbabwe, around three-quarters reported an increase in heat-related cases or complications affecting pregnant women, as well as foetal and newborn health, over the past five years.
Nearly all respondents in the survey commissioned by Wellcome, a global charitable foundation, said they had cared for a pregnant woman or baby whose health they believed had been affected by extreme temperatures.
Researchers have linked heat exposure with preterm birth, low birth weight, stillbirth and maternal complications. For every 1 degree Celsius rise in heat exposure, the odds of preterm birth increase by around 5%, while exposure to heatwaves is associated with a 25% higher risk of obstetric complications.
“No woman should have to fear that extreme heat will harm the baby she is carrying,” said Julia Gillard, chair of Wellcome and former Australian prime minister, adding “pregnant women must not be invisible”.
Call to include mothers and midwivesWellcome urged governments to include pregnant women, new mothers and babies in their national climate and health plans, with funded measures to protect them from extreme heat.
It also called on the World Health Organization to develop clinical guidance on heat, pregnancy and the postpartum period, alongside stronger data and surveillance on how heat exposure impacts maternal and newborn health.
The charity is backing a study in Zimbabwe and South Africa to test simple interventions such as handheld fans, reflective paint on health-facility roofs and community-led climate information systems.
Extreme heat costing India’s poorest workers 2% of GDP, survey finds
The International Confederation of Midwives, which represents over 2 million midwives, is also pushing for action, asking countries to include maternal healthcare professionals in their National Adaptation Plans, and provide finance to ensure clinics have access to reliable water, power and cooling.
Chief executive Anna af Ugglas told an event on adaptation at Climate Week NYC that midwives tire more easily when working in high heat, which can lead them to make errors. They are often first responders in a crisis – and yet “too many climate and emergency plans are still developed without them”, she added.
Pacific hosts Pre-COPThe campaign to put maternal health on the climate policy agenda kicked off the proceedings in Fiji, where ministers and other attendees from around 50 countries are gathering this week to advance discussions in the run-up to the COP31 climate summit in Antalya next month.
This year’s annual UN climate conference is taking place in Türkiye which holds the COP presidency, while Australia is in charge of the negotiations – a deal worked out after a long rivalry to host COP31.
Australia is using its role to spotlight the concerns of the Pacific region to which it belongs, where low-lying island nations are under threat from sea level rise.
On Tuesday, a group of 14 government leaders – mainly from the Pacific – plus heads of international organisations including the Green Climate Fund and the Asian Development Bank will visit climate resilience projects in neighbouring Tuvalu.
Leaders will visit a Green Climate Fund-backed coastal resilience project in Tuvalu during the Pre-COP31 meeting in the Pacific. (Photo courtesy of the Australia-Pacific Partnership for COP31) Leaders will visit a Green Climate Fund-backed coastal resilience project in Tuvalu during the Pre-COP31 meeting in the Pacific. (Photo courtesy of the Australia-Pacific Partnership for COP31)Key themes for the pre-COP – a glitzier event than usual – are keeping the 1.5C global warming limit within reach despite a projected overshoot, protecting oceans and improving access to finance for small island nations and the least-developed countries.
At a press conference on Monday, Australia’s climate change and energy minister Chris Bowen flagged his country’s investments in renewables, both in Pacific nations such as Vanuatu and at home, saying this would help lower the use of diesel, fossil gas and coal in energy supplies.
Ahead of the pre-COP, Australia has been criticised by climate campaigners and some Pacific leaders for greenlighting expanded coal production on its territory.
As COP31 co-host, Australia should make its polluters pay for climate damage
Asked about Australia’s ongoing support for fossil fuels, Fiji’s climate minister Lynda Tabuya said the issue had been raised by “certain countries” at a ministerial meeting on Monday.
“There will be things that we disagree on, but we can agree to disagree – and we’re just very grateful for the support of Australia and the commitment towards renewable energy, and I think that’s the direction that we need to take, especially in the Pacific,” she added.
The post At pre-COP, UN climate chief warns of heat threat to mothers and babies appeared first on Climate Home News.
PRESS RELEASE: XR activists disrupt Schiphol departures lounge demanding end to KLM’s Frequent Flyer Programme
5th October 2026 – From midday a group of 36 activists disrupted Schiphol Airport’s departures lounge, holding a demonstration behind airport security, 50 meters from KLM’s frequent flyer lounge. The demonstration in Lounge 1 demanded an end to KLM’s Frequent Flyer Programme because of the climate impact and inequality it causes. The demonstration took place under the ‘People’s Clock’…
October 5 Green Energy News
Headline News:
- “Ireland’s Heat Study Adds More Evidence Against The Fabric First Trap” • Insulation, draught-proofing, building repair, and ventilation can all be valuable, sometimes very valuable, but that does not mean that every household should complete extensive renovation before replacing fossil heating with a heat pump. The distinction matters. [CleanTechnica]
Irish home (Greg Lauver, Unsplash, cropped)
- “Major Oil Exporters Agree To Keep Production Steady In November” • Seven major oil-exporting countries agreed to keep production steady in November at a time when the Iran war has driven the price of benchmark Brent crude oil to over $100 per barrel. The so-called OPEC+ subgroup will meet again to review oil market conditions on November 1. [ABC News]
- “Gas Build‑Out In Southeast Asia Risks Committing to Less Competitive Infrastructure” • Southeast Asia has nearly 49 GW of new gas capacity planned in five countries. That could expose power systems to less competitive gas infrastructure just as solar becomes increasingly cost-competitive with gas and companies increasingly buy renewable electricity. [Asian Power]
- “Over 35 Million People Under Alert As October Heat Wave Bakes California” • More than 35 million people are under heat alerts as a dangerous multi-day October heat wave continues in nearly all of California. Temperatures are expected to be up to 20°F above normal for this time of year, into the 90s and 100s, from Northern California to Mexico. [ABC News]
- “Pentagon Backs Ambitious Plan To Beam Solar Power From Space” • Space-based solar power just got another powerful vote of confidence. The US Department of Defense signed a contract with Overview Energy to “design, build, and test a homing beacon that will … accurately beam power from orbit to receiving solar arrays on Earth.” [OilPrice.com]
For more news, please visit geoharvey – Daily News about Energy and Climate Change.
Scotland launches its Third Just Transition Commission – England waits for its First
Scotland launches its Third Just Transition Commission – England waits for its First
Stephen Smellie, UNISON, is one of two trade union members of the third Just Transition Commission to be set up by the Scottish government. The other is Richard Hardy of Prospect. Co-Chaired by Dave Reay formerly of Edinburgh University and Satwat Rehman of One Parent Families Scotland, it has 15 members from Academia, Business, Unions and NGOs. Set up to advise the Scottish government on what it needs to do it will have to build on the stinging critique made by the outgoing Second Commission.
Our assessment is that progress has fallen short of what is needed. Unless we renew our ambition and redouble our efforts, the enormous opportunity – both for meaningful climate action and for building a fairer and more prosperous country – will be lost.
And follow up on its outgoing recommendations.
- Progress has fallen short of what is needed. Instead of planning for success, we are reacting to crises.
- Deliver anticipatory place-based planning for at-risk sites and regions and progress sectoral plans. There is no just path to Net Zero through deindustrialisation.
- A just transition is still possible but requires courageous action across sectors. To maintain the social license for climate action, the Scottish Government must now use all levers at its disposal.
- Investment for the just transition must be mobilised through financial leadership and market-shaping interventions. This includes incentive structures, conditionalities and community wealth building measures.
- Communities and local authorities need capacity and resource to keep pace with developments, shape the transition and influence major decisions affecting their area.
- Improve delivery with more meticulous monitoring and evaluation, applying data effectively in partnerships at local and regional level.
A similar Just Transition Commission has been set up in Northern Ireland. The work done in consulting, organising, mobilising and advising is invaluable, and we need the same thing in England, and the English regions, and Wales.
Stephen’s article is the first of what we hope will be a series, so the movement in the rest of the UK can learn from the Scottish experience – what to copy – what to avoid – while we push for similar bodies here.
Scottish Just Transition Commission re-launched
The third Scottish Just Transition Commission has now been launched. This follows the commitment given by First Minister John Swinney that a Just Transition remains one of his government’s priorities.
Scotland was the first nation to establish a JTC to advise the government on the necessary steps to take to achieve a Just Transition. Others have followed, such as Northern Ireland, but not England. The JTC brings together representatives from the environment and trade union movements, industry, academia, health, economists and anti-poverty activists who work to a plane related to government planning and their own identified priorities.
The second JTC published its final report ahead of the Scottish Parliamentary election. Its title, No Time to Lose, summed up its message, not enough had been done to deliver on Just Transition. During its term it had reported on the closure of Grangemouth, the continuing loss of jobs in the North Sea, the failure to develop supply chains for the renewable sector and therefore a disappointing record on new jobs, and the continuing failure to deliver the potential community wealth that public or shared ownership of renewables could have meant for communities.
This latest Commission therefore starts from a position critical of past action or inaction.
The Government have proposed that the Commission look at Adaptation and Climate Resilience alongside a range of issues from skills and jobs to how a Just Transition can impact on the Government priorities of health and eradicating child poverty.
As Net-Zero no longer has a political consensus of support and the faith in delivering a Just Transition amongst many workers is much diminished there is a need to restore public trust that the move to a low carbon economy will be fair, that alternative industries will provide quality work and that communities will benefit through sharing in the profits being made by companies and, mostly, foreign corporations.
That is a job for governments, not the Commission, but they have a part to play in identifying the actions that government ministers and industry must deliver on.
Join the debate
Send us your contribution to the debate. We will contact you about using it here on our News & Debate page.
Name
Contribution
SubmitThe post Scotland launches its Third Just Transition Commission – England waits for its First first appeared on Greener Jobs Alliance.
Will a child care tax credit solve the space shortage crisis?
While the federal government has spent billions subsidizing child care and creating thousands of spaces, many families are still struggling to find a regulated child...
The post Will a child care tax credit solve the space shortage crisis? first appeared on Spring.
Hidden capacity: The overlooked opportunity in North America’s race for power
The fastest megawatt may already be on the grid. Here’s how utilities can unlock it.
Maximizing efficiency: How commissioning and retro-commissioning facilities can strengthen grid resiliency
Utilities turn to onsite power as demand outpaces grid capacity.
How consumers are paying utility bills: 5 trends to watch
Customer payment behavior is shifting. Utilities that aren't paying attention will pay the price. Five trends reshaping the bill pay landscape in 2026 and beyond.
Extreme heat left this student athlete on life support. He won’t be the last.
Matthew Mayich stepped onto the field of Sun Angel Stadium in Tempe, Arizona, at about 7 a.m. on August 20. It was the standout hockey player’s first official practice with his new team, and temperatures were already in the mid-80s.
He and his Arizona State University teammates spent at least 45 minutes doing push-ups, planks, flutter kicks, bear crawls, squats, sprints, and buddy-carries, led by guest trainer and former Green Beret Tim Ziesel. Before leaving the field, Ziesel gave instructions for one final exercise: a medicine ball run.
As temperatures approached 90 degrees Fahrenheit, the players set off in small groups, according to the university’s timeline of events. Mayich appeared to struggle, then stumbled, dropped the ball, and fell. He tried to rise and fell again.
Athletic staff treated him with iced towels and cool water, then sprayed him with a garden hose. Initially responsive, his condition deteriorated, and the trainer called 911. Paramedics rushed him to the hospital, where he remains in critical condition after experiencing what his family’s lawyer, Robert Carey, called exertional heat stroke. Carey did not respond to requests for additional information about the diagnosis, which could not be independently corroborated. He has told journalists the family’s hope for a meaningful recovery hovers near a miracle.
“We want accountability for what happened to our son,” Mayich’s parents, John and Christina, said in a written statement. “We want the truth.”
University officials declined to be interviewed, and Ziesel’s attorney, Larry Kazan, downplayed the intensity of the training session. “The workout was not difficult as some media outlets have attempted to color it,” he wrote in an email to Grist. Head coach Greg Powers insisted during a September 23 press conference that he was still the “right guy’” to lead the team but did not address specifics of the workout. ASU put him on paid leave Wednesday, more than a month after the workout and two days after seven of Mayich’s teammates impugned the school’s report and response in an anonymous letter sent via an attorney. Among other things, they said the workout lasted 75 minutes, not 45, and alleged that the university did not follow its own guidelines.
“The precautions required by ASU’s heat policy were not in place: no immersion tub, no ice chests, no on-field heat measurement, no scheduled breaks in shade,” they wrote, noting that the session “continued after some of us showed signs of distress, including dropping to a knee, vomiting and, in Matthew’s case, visible disorientation well before the final task.”
The St. Louis Blues hockey team selected Matthew Mayich during the 2023 NHL draft. He later transferred to Arizona State University to continue his college career. Jeff Vinnick/NHLI via Getty ImagesA St. Louis Blues prospect, Mayich, 21, had transferred to Arizona State to continue his college career. Instead, he is the latest in a long line of heat-related athletic tragedies that includes NFL player Korey Stringer, who died of heat stroke 25 years to the month before Mayich’s hospitalization. His death propelled heat safety into the national consciousness.
“We have made tremendous progress since then,” said Doug Casa, an exercise physiologist and certified athletic trainer. He is the CEO of the Korey Stringer Institute at the University of Connecticut, which was established in 2010 to focus on safety and injury prevention for athletes, laborers, and warfighters. But he said Mayich illustrates that more can be done to protect players.
Exertional heat stroke is a life-threatening condition that occurs when the body overheats and cannot cool down. It’s a leading cause of preventable sports deaths, and the risk is rising as climate change has made extreme heat more frequent, intense, and prolonged. Between 1994 and 2026 — the two times the United States hosted soccer’s World Cup — World Weather Attribution found that the chance of extreme temperatures “at least doubled” in multiple cities. Grass fields have also increasingly given way to synthetic turf, which absorbs enormous amounts of heat. The surface temperatures at a recent Tennessee Titans football game in Nashville hit 157 degrees. One player rolled his ankle after the heat effectively melted his cleats, ESPN reported. “It was hot as s—,” said another. “I didn’t play a snap, and I had to get an IV.”
Whether it’s an NFL star or a t-ball tot, athletes nationwide are facing this new reality. Some organizations have responded remarkably effectively — Georgia high schools instituted policies that moved them from the deadliest state for football players to among the safest. Others rely on vague recommendations and limited mandates that leave athletes at risk. And many policies don’t address non-athletes who are exposed to the same conditions. Just a week after Mayich’s hospitalization, University of Iowa band member Derek Phillips collapsed during a football game played in temperatures that topped 90 degrees. He later died.
The policy landscape is full of holes, Casa said. Although best practices for preventing and treating heat-related illnesses in athletes are now largely established, consistent adoption and implementation is another matter. “A lot of times they know the right thing to do, but then they don’t do it in the time of crisis,” he said. “Heat stroke can happen at any time.”
The Minnesota Vikings picked Korey Stringer in the first round of the 1995 draft and by 2000 he was selected to the Pro Bowl. The following summer he reported to training camp as one of the best offensive linemen in the NFL. By Minnesota standards, though, the temperatures were scorching and Stringer struggled.
He vomited three times on the first day and left practice early to cool down in an air-conditioned trailer. The next day the heat index — a measure of temperature and humidity — hit nearly 100 degrees, but Stringer, despite vomiting again, completed the session. During a post-practice workout, he slipped, fell on his back, and was brought back to the air-conditioned trailer. He lost consciousness and was taken to the hospital, where doctors recorded an internal temperature of 108.8 degrees. He died of multiple organ failure thirteen hours later. He was 27 years old.
The Minnesota Vikings football team drafted Korey Stringer in the first round of the 1995 NFL draft. Minnesota Star Tribune via Getty Images“It was a catastrophic failure in treating Korey,” said Casa, who was an expert witness in the litigation that followed Stringer’s death, and in numerous other cases. “If they had treated him properly, he probably would have had dinner with his teammates that night, or at least been back to normal the next day. That’s how simple it is.”
Research by Casa and others has found that cold-water immersion is the most effective treatment for heat stroke, and is faster at cooling than air conditioning, which the Vikings relied on. Casa said that reducing Stringer’s temperature enough to save his life would have taken well over an hour with AC, compared to about 25 minutes in an ice bath. “The cooling rates are astronomical,” said Casa. “We get their temps down so fast.”
The NFL would not provide a copy of its heat policy, but it did highlight the strengths of its protocol. Immersion tubs, for example, are required when hot weather is a possibility, as are rectal thermometers, which are necessary for diagnosing heat stroke. It also requires teams to adhere to best practices outlined by the Korey Stringer Institute, submit a plan for third-party review, and rehearse how they respond to emergencies. Exact interpretation is often left to each team or facility to allow flexibility, the league said, and clubs are encouraged to implement additional precautions whenever they feel there is a risk of heat issues.
“I don’t think we have ever had a case where a team didn’t comply,” said Allen Sillis, the league’s chief medical officer. “The NFL has really taken a leadership role since Korey Stringer’s death.”
Professional sports have largely standardized how they measure heat risk. Weather reports typically include temperature and heat index, which accounts for humidity. But the gold standard for measuring heat stress is wet bulb globe temperature, or WBGT, which also considers wind, sunlight, and radiant heat. “WBGT is a much better indicator,” explained Jordan Clark, the co-founder and chief climatologist at Klimo Insights, a heat safety and weather app.
Leagues still differ on their use of the metric. The NFL, for instance, requires teams to use WBGT but doesn’t specify exactly how. On the other hand, the National Women’s Soccer League mandates hydration breaks starting at a wet bulb globe temperature of 82.3 degrees and game delays when it tops 91.1 degrees. Teams that don’t comply can be disciplined or sanctioned. The NFL doesn’t enforce strict WBGT thresholds, so teams have the flexibility to invoke heat precautions more often.
Not everyone’s attempt to address heat has been well received. FIFA required water breaks during this summer’s World Cup, even in air-conditioned stadiums, prompting accusations that it was creating commercial breaks rather than protecting players. “We had FIFA basically make a mockery of heat rules for commercial value,” said Nicholas Watanabe, a professor of sport and entertainment management at the University of South Carolina. “Heat rules should exist specifically to protect people from heat.”
Policy differences aside, experts say professional leagues generally take heat seriously. The larger gaps emerge at lower levels. No federal regulations exist on heat safety in sports. Organizations like the National Federation of State High School Associations can and do provide guidance, for example, but states and even school districts can choose what to adopt. The Korey Stringer Institute has scored each state on its heat policies, awarding a maximum of 20 points for mandating things like requiring heat acclimatization, assessing wet bulb globe temperature, and making cold water immersion tubs available.
.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74{--gv-text:#3C3830;--gv-text-2:#747473;--gv-grid:#E0E0E0;--gv-halo:#FFFFFF;--gv-axis:#3C3830;box-sizing:border-box;position:relative;width:100%;text-align:left;font-family:"Basis Grotesque", "Basis Grotesque Pro", Arial, sans-serif;font-weight:500;font-size:16px;line-height:1.3;color:var(--gv-text);margin-top:1.5rem!important;margin-bottom:1.5rem!important;padding:0;letter-spacing:normal;word-break:normal} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 *{box-sizing:border-box} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 div,.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 span{margin:0;padding:0;font-size:inherit;line-height:inherit} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74.gv-pasted-data-ec2u-9qnw74--dark{--gv-text:#F0EDE6;--gv-text-2:#B3ADA3;--gv-grid:#4A4640;--gv-halo:#1C1B19;--gv-axis:#B3ADA3} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__header{margin:0 0 12px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__title{font-family:"PolySans", Arial, sans-serif;font-weight:500;font-size:24px;line-height:1.2;margin:10px 0 6px;padding:0;color:var(--gv-text);text-transform:none;letter-spacing:normal} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__subtitle{font-family:"Basis Grotesque", "Basis Grotesque Pro", Arial, sans-serif;font-weight:500;font-size:18px;line-height:1.35;margin:0;padding:0;color:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__hl{font-weight:700} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74.gv-pasted-data-ec2u-9qnw74--dark .gv-pasted-data-ec2u-9qnw74__hl--dk-primary{color:#F0EDE6!important} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74.gv-pasted-data-ec2u-9qnw74--dark .gv-pasted-data-ec2u-9qnw74__hl--dk-muted{color:#6B665E!important} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0 0 8px;padding:0;font-size:14px;line-height:1.2;color:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-item,.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-item:hover,.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-item:focus,.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-item:active{display:inline-flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:6px;font:inherit;color:inherit;background:none;border:0;padding:2px 0;margin:0;line-height:1.2;text-align:left;cursor:default;box-shadow:none;text-transform:none;letter-spacing:normal;border-radius:0;min-height:0;min-width:0;height:auto;width:auto;text-decoration:none} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 button.gv-pasted-data-ec2u-9qnw74__legend-item,.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 button.gv-pasted-data-ec2u-9qnw74__legend-item:hover{cursor:pointer} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 button.gv-pasted-data-ec2u-9qnw74__legend-item:hover{text-decoration:underline;text-underline-offset:3px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 button.gv-pasted-data-ec2u-9qnw74__legend-item:focus-visible{outline:2px solid #3977F3;outline-offset:2px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-item--off{opacity:0.35} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__map-label{font-family:"Basis Grotesque", "Basis Grotesque Pro", Arial, sans-serif;font-size:11px;font-weight:500;letter-spacing:0.02em} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-label{font-family:"Basis Grotesque", "Basis Grotesque Pro", Arial, sans-serif;font-size:12px;fill:var(--gv-text-2)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-key{font-family:"Basis Grotesque", "Basis Grotesque Pro", Arial, sans-serif;font-size:14px;fill:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__place{cursor:default} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-axis{font-size:11px;color:var(--gv-text-2);margin-left:2px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__swatch{display:block;flex:none;overflow:visible} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__chart{position:relative;width:100%;margin:0;padding:0} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 svg.gv-pasted-data-ec2u-9qnw74__svg{display:block;overflow:visible;max-width:none;height:auto} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 svg text{font-family:"Basis Grotesque", "Basis Grotesque Pro", Arial, sans-serif;font-weight:500;font-size:14px;fill:var(--gv-text);letter-spacing:normal} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__ticks text{font-size:14px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__cat-labels text{fill:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__grid line{stroke:var(--gv-grid);stroke-opacity:0.7;shape-rendering:crispEdges} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__baseline{stroke:var(--gv-axis);stroke-width:1;shape-rendering:crispEdges} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__zero{stroke:#888888;stroke-width:1;stroke-dasharray:4 4} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__line{fill:none;stroke-linecap:round;stroke-linejoin:round} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__line-halo{fill:none;stroke:var(--gv-halo);stroke-width:7;stroke-linecap:round;stroke-linejoin:round} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__segment{stroke:var(--gv-halo);stroke-width:1} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__point{fill-opacity:0.85;stroke:var(--gv-halo);stroke-width:1} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__ring{fill:none;stroke:var(--gv-text);stroke-width:1.5} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__dot{stroke:var(--gv-halo);stroke-width:1.7} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__dot--pulse{transform-box:fill-box;transform-origin:center;animation:gv-pasted-data-ec2u-9qnw74-pulse 1.6s ease-in-out infinite} @keyframes gv-pasted-data-ec2u-9qnw74-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}} @media (prefers-reduced-motion:reduce){.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__dot--pulse{animation:none}} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__value-label{font-size:12px;paint-order:stroke fill;stroke:var(--gv-halo);stroke-width:3px;stroke-linejoin:round} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__axis-title{font-size:12px;fill:var(--gv-text-2)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__direct-label{font-size:13px;font-weight:700;paint-order:stroke fill;stroke:var(--gv-halo);stroke-width:3px;stroke-linejoin:round} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__donut-title{font-size:16px;font-weight:700;fill:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__slice{stroke:var(--gv-halo);stroke-width:1.5} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__slice-label{font-size:14px;font-weight:700;fill:#FFFFFF;paint-order:stroke fill;stroke:rgba(0,0,0,0.25);stroke-width:2px;pointer-events:none} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__slope-head{font-size:14px;font-weight:700;fill:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__slope-axis{stroke:var(--gv-grid);stroke-width:1} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__slope-line{stroke-linecap:round} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__slope-label{fill:var(--gv-text);paint-order:stroke fill;stroke:var(--gv-halo);stroke-width:3px;stroke-linejoin:round} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__dumbbell{stroke:#C9C5BD;stroke-width:3;stroke-linecap:round} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74.gv-pasted-data-ec2u-9qnw74--dark .gv-pasted-data-ec2u-9qnw74__dumbbell{stroke:#6B665E} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__cat-label{fill:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__overlay{fill:transparent;pointer-events:all} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__rule{stroke:var(--gv-text-2);stroke-width:1;stroke-dasharray:2 3} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__tooltip{position:absolute;display:none;pointer-events:none;z-index:5;min-width:120px;max-width:260px;padding:6px 9px;background:rgba(255,255,255,0.9);border:2px solid #888888;border-radius:4px;font-size:13px;line-height:1.35;color:#3C3830} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74.gv-pasted-data-ec2u-9qnw74--dark .gv-pasted-data-ec2u-9qnw74__tooltip{background:rgba(28,27,25,0.94);color:#F0EDE6} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__tip-title{font-weight:700;margin:0 0 3px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__tip-row{display:flex;align-items:center;gap:6px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__tip-row i{display:block;flex:none;width:10px;height:10px;border-radius:2px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__tip-row span{flex:1} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__tip-row b{font-weight:700;white-space:nowrap} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__tip-more{color:var(--gv-text-2);font-size:12px;margin-top:2px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__note{color:var(--gv-text-2);font-size:12px;font-style:italic;line-height:1.35;margin:8px 0 0;padding:0} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__footer{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:8px 0 0} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__credits{display:flex;flex-direction:column} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__source{color:var(--gv-text-2);font-size:12px;line-height:1.35;display:inline-block} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__credit{color:var(--gv-text-2);font-size:12px;line-height:1.35;margin-top:3px;font-style:italic;font-weight:700;display:inline-block} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__credit .gv-pasted-data-ec2u-9qnw74__credit-link{color:inherit;font:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;border:0;box-shadow:none;background:none} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__logo{display:block;height:auto;max-width:62px;min-width:50px;width:62px;margin:0 0 0 auto;padding:0;transform:translateY(-2px);overflow:visible} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__logo path{fill:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__logos{display:flex;align-items:center;gap:14px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__logos .gv-pasted-data-ec2u-9qnw74__logo{margin:0} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__partner{display:block;margin:0;padding:0;border:0;line-height:0} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__partner img{display:block;height:22px;width:auto;max-width:110px;margin:0;padding:0;border:0;box-shadow:none;object-fit:contain} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74.gv-pasted-data-ec2u-9qnw74--dark .gv-pasted-data-ec2u-9qnw74__partner--invert img{filter:brightness(0) invert(1)} @media (max-width:600px){.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__title{font-size:21px}.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__subtitle{font-size:16px}.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend{font-size:13px}.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__ticks text{font-size:12px}.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__logo{width:50px}} Beating the heat High school heat safety policy score, U.S. states Points are awarded for mandates such as heat acclimatization, use of wet bulb globe temperature, and cold water immersion tub availability. Higher is better. Source: Korey Stringer Institute, University of Connecticut Clayton Aldern / Grist (function(){ var K="__gv_pasted_data_ec2u_9qnw74_initialized__";if(window[K])return;window[K]=true; var ID="gv-pasted-data-ec2u-9qnw74"; var SPEC={"version":1,"slug":"pasted-data-ec2u-9qnw74","type":"map-states","data":{"xKind":"category","x":["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming","District of Columbia"],"series":[{"key":"EHS","label":"Policy score","color":"#12A07F","values":[7.125,2,15,9.75,11,1,10,13.375,20,20,7,2,15,2,13.375,11.375,18.375,20,0,5,13,2,0,6,8.125,2,7,15,20,20,11.75,4.75,20,2,2,8.5,5.5,2,8.375,14,8,18.75,11.375,15,18,3,3.125,8.75,5,1,15]}],"map":{"geo":"us-states","ids":["01","02","04","05","06","08","09","10","12","13","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","44","45","46","47","48","49","50","51","53","54","55","56","11"],"matched":51,"rows":51,"pr":false}},"text":{"title":"Beating the heat","subtitle":"High school heat safety policy score, U.S. states","note":"Points are awarded for mandates such as heat acclimatization, use of wet bulb globe temperature, and cold water immersion tub availability. Higher is better.","source":"Korey Stringer Institute, University of Connecticut","credit":"Clayton Aldern","altText":"Choropleth map of U.S. states shaded by high school heat safety policy score, from orange (lowest) to blue (highest). Southeastern states, including Florida, Georgia, Louisiana, Tennessee, Kentucky, and North Carolina, score highest, along with Vermont, New Hampshire, and New Jersey. Most northern and Mountain West states, such as Washington, Montana, Colorado, Minnesota, Michigan, Pennsylvania, and Ohio, score lowest."},"style":{"paletteId":"single-fuchsia","political":false,"background":"white","yFormat":{"prefix":"","suffix":"","decimals":null,"multiply":1},"xFormat":{"prefix":"","suffix":"","decimals":null},"yFromZero":true,"yMin":null,"yMax":null,"valueLabels":false,"endDots":true,"imageFill":null,"width":"column","height":400,"yLabel":"","xLabel":"","highlight":null,"legend":"top","xFromZero":false,"xMin":null,"xMax":null,"rightAxis":[],"rightFormat":{"prefix":"","suffix":"","decimals":null},"rightLabel":"","rightFromZero":true,"donutHole":true,"partners":[],"map":{"method":"rounded","classes":5,"breaks":[],"palette":"div-azure-orange","reverse":true,"midpoint":10,"continuous":false,"labels":true,"symbolMax":18,"noDataLabel":"No data","thresholds":[5,10,15],"stops":[],"colors":["#F79945","#F6C390","#97B2E7","#3977F3"],"domain":[0,20],"categories":[],"sizeTicks":[],"projection":"equal-earth","sphere":false,"graticule":false,"center":[-30,20]}},"meta":{"toolVersion":"0.2.0","createdAt":"","updatedAt":"","fallbackPngUrl":"","review":null}}; var GEO={"id":"us-states","w":975,"h":610,"ids":["53","16","30","38","27","26","39","42","36","50","33","23","04","06","35","48","02","22","28","01","12","13","45","37","51","11","24","10","34","09","44","25","41","15","49","56","32","08","46","31","20","40","19","29","55","17","21","05","47","54","18","72"],"names":["Washington","Idaho","Montana","North Dakota","Minnesota","Michigan","Ohio","Pennsylvania","New York","Vermont","New Hampshire","Maine","Arizona","California","New Mexico","Texas","Alaska","Louisiana","Mississippi","Alabama","Florida","Georgia","South Carolina","North Carolina","Virginia","District of Columbia","Maryland","Delaware","New Jersey","Connecticut","Rhode Island","Massachusetts","Oregon","Hawaii","Utah","Wyoming","Nevada","Colorado","South Dakota","Nebraska","Kansas","Oklahoma","Iowa","Missouri","Wisconsin","Illinois","Kentucky","Arkansas","Tennessee","West Virginia","Indiana","Puerto Rico"],"codes":["WA","ID","MT","ND","MN","MI","OH","PA","NY","VT","NH","ME","AZ","CA","NM","TX","AK","LA","MS","AL","FL","GA","SC","NC","VA","DC","MD","DE","NJ","CT","RI","MA","OR","HI","UT","WY","NV","CO","SD","NE","KS","OK","IA","MO","WI","IL","KY","AR","TN","WV","IN","PR"],"arcs":"W2yDwW9B2IfmEvB0GvD6PFUS6BEkBHSPOO0B0CAAnGtB1IhCtFpBhBQrCRvCHZQ3CF_BGlBOVFXEdFrBTRIpBAjBIrBPdELFBZRP5ChBtBDVLXEnBQhDIVPZHdXnBNPVK1BBRIZEtBJRFtBxBzBVDkOAAnBCVfPlBnBDPJDRZILJZONJJdJFLQLBQjBoBhECqBLgBJwBQIQXUaEHVfWbHnBQOGjBWAMMXlBVDDQfbIhCKHCgBOKAbuCHdTZHCVXNLGHiBNGQxBOzCDjBJdOzCChCEZLTCPNNBRPVClBIxBDhBUNAPWZJjBqBWqBwBeaOEccOYoCgBcEeWuBWyBQkBRSgBBcMMGVWEMiBKAJVIRgBACMPMQoCIYNGdaZqBNBUlBGb3BqCpBcVaVOXmBYM4BFQP9BOPPsBvBeZgCPSbqBhBUIAzBUYDiBCkBVAVQLVAgCJIJlBHQMURQsBLGed0BCMRKDgBdZabhBILSAaVYAtBMHGdFJPabKRehBciBHZeQHCYOdeHSqBaLiBbYrBUeQBFNgBJKRFZGRBpBMHGSCbNLUfAZOXSLObkBJMPNDVjBBPGnBNNNQDWQYGWhBrBDTGjBgBGGMMRANhBnBFdXIFNIPHJYFIcILQWGDEbNdaUKHJ3BORFNRHTSCRT_BKTNDWT-EsB-F2BgImCiKyCgEgBiIgCiGuBkFkBIl3BnOQERECHKlSofEQLYDXMPUiSrIOYjBMQZNGJSHLUpBQNCiBOEzCLMLPIdMRKMFoBKHnHICDqBLTIX4B-C0CAMPQNFAfRAJLDpBKXBPPCNdCTuBxBUBBUOWDMTNXUXCiBWCoBJuBGEMfeqBCUQzCnIMSJQRHJTUjBMDFiBI-BbFSFXMGQpDKKWTDbjBElBSFgB0BPKYkDvBhBKBjBLQGcVBHXJQBTkBVWGacKkBIJDJbGBOiBKxG8TKGPUHLONMjBxBDiBLIFdIROGIrJ8MWiBPJFXIqlCvW-CWiEciCOwGAA7CyNY4BScEcYsBBQGcTQUmBbSkBeQmBuBeOmBUaIa4B8CDiBmBmBFYaHSQHUUSaEoBFGWNsBTIGQV4BVeAkBVOKUNWCaQOHSEULOXCXYMmBFSPOFacKgBoBWBSRiBFYVUJCPOEQcUOGQJUOQHeKeDiBc0BEiBOGQ8BVaQqBWeaFUKUgBMsBLQSmBFiBqBuBMDDPcXaDkCaOKQBSdeHuBWmCCUSoBJmBGgBMLPGbQHEXaLUOWkCaoBSKIAA7DmYVsEhB0GKAA7DTzJzBxLhC3FjBKAAxJ7BzHxBvJhC5DZkCAAyF7YATaXa5BFZSJQfPRAXXAJPTGNRErBMlBmBhBGRsB1BiBPmBtBOzBsBrBiB1BIbuBtBQdSNGbJzBpBrBTJRlBDpBe6QvnBiI2BiGoBkIyBkGkBkGiBmK2BoK0BoKwBmIiBoIgBmGYoKiBoIawFQIAAH0ClDwlBF2CIAAb4KFyCFAWAAtHVxHXxHX1IfvGZzIjBrFXvGdnL1BjBgHSwrCz2BgLaqISmGMmGMqIKqKMoGGyHEoCAAAKkBwEP0BIuBFYIqBDyBGiBWiCKMDWGcMQSsBIsBEqBFgBIOB6BGqBBqCIcOKHWDqBEaDkBMUOqCiByBAmBKeCgBFmBGiBUAAlJBlJFlJJlJLzEFlJP7GNtLb9EL-E4jC1nB6EAqICmGBGHB_ESGkBAmBQIMG4BgBwDAwBIMcYiBK0BFYcsDEMIKiBQMwCNMZ6BP0CEeQoCQGQXKCQ2BBUWCeaqBcHFbONgBFiBGMgBQOgBOaCYWASkBGCOaDSIULaD8BxBsBbaCU0BaGiBJSIqDViBGemBYKeN0BCfiBjD8BnE2BrCuBtByBTKvEuFVMVebUNUdS7B0BDQkDAAZaBSZIKkIVaVBJSRCNQpBWTkBFcbcDuBGQqBIMeQUCQLkBNOD0BGkBNOKeGmBFQCgBLecUiBkBQK-BKUUUe4BKyBsBoBmC8BuBmBCWQSCWiBWKGsBMYAuBI8BBQOAAzGK_JM_JK_JE_JEzGBWAAEvZLXXTlBHZtBdpBGRiC1BSpBInBiCs5CmIRFXZDbUxBNNXObEHJCbQVFhBIPLZGPlBdbJXCRPKTJXXNvBDhCRfMZJjBC7CrB_JhCd_BJJxBPHR-IAA4D3B2B3BMH6DXyBjBchBWCcJWtB6B3BQDCmBgBIKMDWWMGSH8BKWUZsBrBcPbePkBclBqBLyBAiBGWUgBIMcYYakBUIGaMMoBCiBHILWHOEeiBWHONiBYUNepB8BlBoBjBSG6BV2DBOD0BhBcNyBDaJNeA2BGOJUQSUJkBSQBmBXgBgBWNSfWHOIgBXcGJsBWkBDIhBFGaOSVUOQgBHEKaCDaSSkBMBUjBG_BDpBGfFXMDPlBHFeLUEqBdFJPTFlBjBxBNbAZL_BMf2BnBEhBIDWTJfD1BOLOT4BrBabuBGYZLHNWzBUAEnBJJfahBHAORyBdOJFBdHPIdJHNqBH2BXQb-BP4B5BuDNKEeIuvBirB1IwBvDQ3BKKAADbxFU1JgB_FUuKAAmBhBUZOdc5CgB7BUjCGhBGtDLzDX9BXzBWXfI9B5DPlBEhBWpBAPNxBCLZjBARelBkBlDETHhBGpBPtBELaTUAAtCcFObeMIHOtBUZMhBePDWLMMkBRmBOAL6BUcG3BKLCdOMDqBNsBKEcpCGlBApBN3BCPQZuBf8BJWVjBBRNNXBfENabMZRN4BBMRiCYqBWqBFgBKcaUewBDkBWoBEQO2BGsBeDUUcMEIoBQMVAPNPKDeKUiBYOYO6BDmBMgDFmBLCRWXMDQA6BDUZMDSnBGLIN0BCmCQUgCWOCWXQjBSIU1BCRQXXFcHUdYDYNQTiBLmBOaSUYYwBmB8DOiBSuCcsCakBCQHeDuBGSD-BPkBVJDjBZFfcQWZWBcGWDWLShBQVmBFQJwDNGGWPCFYLGLgBCWLOmB98BvzCPMrCoBPQcBhCkBZLSXTAcVoBb6BdsBlBUAaVGInBmBEOLOOwVoUVAJhBQHKOFQMM4B_LpMPKnBAnBOcKhBafoBTSEQNGNUXyBTZQbElBPSKOPKLLfFAlBYVapBsBhBkCZoCFYKKQMmY-WXWRHOrCSKK0BIErCRADPWQIlDiGRXQKCOgBkWjLFaNGlBFJIbCTTDPUMgBZCPLLcDWMIUUOK3I0BNDEPYSNCQQyCLUXBhBbGFqBGCLUWI7PsMHQDXMIMkBbJGVbMNQOEWMsQvSHGTVCRWOEUIuRk5BHECpBGmBIsbpCsBwIYuEgB-FqDAATQVEHOiByBBoBICEqBLQN8CE-BPEGUHqBJKOQDyBVShBkBRmBdebOJOPBNRTGVcDiBhBGPmBCqBTQSQKsBXBBSPUJHETJRdPRMTyBFsBLMMeMuBdMFOH6BdKbQdBkCAAPXbVvBRNPRzBLAjBUVYHUlBITMZXbAfNXMLaVCpBbRTnBHlBKnBJLLLjBNLRhBfJNRXCbQNCfbhBaIAAtDnfFhBRzEqC-NpCeKWFiBasBGeacGSDOZSSYDGMnBQNBdKFKbIkBBMIeVoBDgBCqBWWFWVkBJYRqBT4BCaLSCWN-CvDiDjCqBTIJsD7BoBkHpFU4D6IvBsIxB6J9ByFjBsI3BwEfeQMeWDmBOFQUGAYMwBgBqBsBUuBDYgBwBAAXSNeFsBXqBHcfkBkBkBFuBRGFQMgCKUgBBSuBWSMHOWWMoC8BJSVMbaXgBOAAbaBiBdYRAbWHSMAAZHjBGXQPSLgBMAAhGqBxI4BrHuBjGmB_KgCIAAlEW9GmBjChNQjD7SsBZyBnBiBrBLYkBXmBjBmBX0Bo4BtzBIUA0BSQEmCKiBiBoBAyBKaEeJODsCOSMmBKOEaOgBFwBGaOCETSFYckCuJAkBOWIAAAEF2JKIKAA-B4KccjCmCmBoBgBAAFYLCLYLkBKKpBOFpDL1BLTZTDXHOMcWWWsCIAArCZvDlBvDlBqEz2BrCmBnBWLabapBgC1BchCiBbMTDVf3BKhBLJjBCNFAdLvBUHoBXiBNSNiDhByBBmBN4DAuBacA0Bb-DTMKCTgBNWVOEIdUZeXSZcAaNOZJNJzBVjBTJUXIQQdARWTNDLMTESlBdFTabTBPuB1BkBbqChDLVUrBsD5EmBlBqC3B2BF6H7BqFpBMkI47BFoBLKBZM7BIkBMyHQVGtCwBCHkCpBeDShJoCOJOSJYpBkBDRKLBfUFOyMvEYNlC2B9BmBDBiCnBuBjBmF4IjHUHTUtBmB5CyCRICNRGIMNQhBUZCJOhBaFHPQVCrBiBZBJQdS7BaZYHJLSsBFrCUlBcAFsBfGJXHRUIMhBQXbGbUvBSCaNIVMKJZSAKOBjBkBPHOaAJdUCGMUDHN0BAOHEVSHoDX4BZkBnBgBvBQNSCLUHHboBMMlBgBZqBqBDOJUtBMDFNYIIVUMEXWUSLYdMBItBrCLJgBNTYK9CkDUAIUdCCVIgCdUEBWRZMzrCzKNLBZQFSOReI0Z5YkBNVeNPKbgBOPOCPSLDIG0DNcDNSNIkZ7TsDb4G3B4HhCgCAAHISuBRwBBesB4BJQEYPkBdeLWpBULeO-BCgBHkBIMNsBAwBVkBEoBLyBYmDDUEqBIcC2BJKAuBOcaSEMIAAvEebI1CUWuJ3jBDPIdEtBPFQJMZMFgBKUDMbOAA2H0XQwCuBoBUKGiBkBcKAAOEAaJgBBiBSAAjBGbWNWVKFcdgBnFmBvGuBmOsE_mBQVWAYiBOhBJlBOTeMIVZLHPGfUpBuBzBJZWnBKbDPVNAZHFMjBTbGjBILBXajBALNhDATiE9LKLyBBGGImBSiBuBOmBhBiBNYfsBNEbOHiBC4CoBoBgBUEIU0EwOMMDaOSDeMccBWQmBCeJSgBPWiBoBAyB0BoBOCQbYEQYWQCOeWBURBAaVAkBSIPQONZaMKQJaLEFaPmBXEIKZFHVJOGcDORXGWTGPNBUIeTKHNLiBPLDVHYDTPIHUQYLCIoBRbGaLJJbBSOeLMFYNNVtBPDFOHTBaRTRASQEObCLgBNhBPCUgBFOHTHQPCQUAUOGCajBPPEZJROBXOBFNULLNPeHVGtBVDAyBLDbgBciBPWFsCOkBLKBUJBAaTSEnBTmBBRTKJlBLiBA2BFYPZGcLLHfBhBDgBOoBRKZlCP-BWQAeFKrB9CCjBLOLmBUDY6BOYHiBPVDhBJPLIOQJKPoBIzBDHFoBLQM1BPOCRdkBRcJeGQNOYDKgBTIHQNEImBKJb6BTMLiBKSLkCVHDUI-H1MLNMHAWIVnCCoBLFKhBK8J5EIcNKFXMNKnCHLSXDSXSKKiErBBOhBBKPaEIvFQFTKJDeK4D3CGOPDAVKMK5DUGKHUHTKJKoM7EBKRXIHMWIiC_CGGNEIJIgB7EBNWQTBM9NyQYAFaTBRZUCUqB5CQSLKOKPMNDHTKDDRODYmDrDcYCWXOLDMYFOdFLPEzBOTYAwC_wPo6FSNmBQQAKdWLINExBRbtBRHRSxBCZJVOZDXkBBYhBUPSzBOPBPGzBKHFXwBnBSfOBsBTyBdEVpCtCEdNfCVN1BPJFrBLLG3ByBAAAVMJBdUBIPIpCNvCMTGdFpBGvBOTP3BQtBkBPeDoBYgBASwBMMqBBYvBUXkC_KQAA8GqBsK8BkFc0IuBmFauK0B0ImBIAA3CkU5CiUvFkoBcAA7EVlKvBrIpBVF7E5CjJnFhJnF9IpFpJ1FOVCTYVQX-PAAzGXhGV5Hd9HhBElBFZTLKLMKIsBKDFfXVTGIlBDZQRCxBD3BJbjB3CZfPbZZJVflBfbdzBZVPINPTanBbBPUXH3BHXRXrCNXILRdLxBnBNDXdJfARjBnBRdzBjBjBEZRhBDLPbTdFNJ5BNhCHFhBTVPDFPevBFbUpBNbczBIvBPTXAXZLZUfOAN3BfPXvBNrBlBXB7BhB3BErBXXJvBXtBfhBNdI1BBvBMNLLWXMWWJOTYzBJ7BTdPIZDhBXXtBZ9BJLEZUtBFhCNVGbUbG1BoBBKoBPGHkBESiBWKaWQGWUIBXJDHlBEnBXrBSBjBVGPMBBlBTFFbIGSTYGeNWYaFcEmBSOOwBUFNWRYAESTEGOSRacALRNDPlBHLQPGNJsBbvBQLHdBXXIPRDlBgBrBZDRbdHIfACSPYQURCHSQaRSVCJVZfLETfHZXXbAEMVHUTalBArBS4BOUZ3CLZNEErBFdhBnBVfLzBb5BNTd_BGRUZC9BFRE9BBLQpBclBKjCDNE1BNTBTT3BLNBjBTPFThB3BMXCbDfQbqBzBmBpBNYQEanBSCSNVLjBmBBDedahBUrBHLEjBUPYrBc7BKtCDdEhBNDNVYbUvBCREAAAAMAA4KoD8HoCyK-CoFuBgIiCWAA3KypB4F4I8D4F-F2IkGwJqGwJmEwG2FyIgDyEkFsHQlxBgVbGVbJhBJ3BQIS0BkB0BOtLnJQUPEXNDTOBOMY0LSTLFTYG2BuBOkBJQPNfHDLGfJFUnP5MBWUGBUJBtBKTRRpB6BGUBKpDhBIQvBRkBJEMekJ2CPKjBDXGvBPHVGJPPIHkBWSEWWSIeLKQI4NoHLSANMDUgwDhaqGcqGasIgBsGYsIeuIasGUyKcqGQIAAD4BHyDD6BYAAPG7CmkBlC2bxKbzKd9HXnFRtIbI0BKceeMAADB1KnBxJnBZsG9JpB-FguC_hC0HQ6FM-LWsIMjBwbYBUK8BgCMQcGWLmBQQBGdQAGOWGIWSUBoB8BQeBaS6BSaJeEekBcASZ6BEoBHGGAyBwBQBuBcQgBLuBpBcCMkBmBEEagBCcTKKWXMSJmBOWUGMlBCXWCMlBaFKGMeWCSMWDQbSGGeaMGMgBAgBoBObgBASbSHaBmBXcUiBDAPWAqBZUMBOqBMeAKLYDETOHYKoBeaGoBwBsBKSSiCSSCSAAWamBOKRaKOJkBGUMI4HoCAAIuOaecUaqBKkBD4BSWWKHOQOGUQSHSSYQmBQABsBSYXQQeNUCkBNaBWRSHiBPQK0BRcCcOUBYIoBDefsByWAAVAZ2BBqBYWAWpCA7BetBS9D8BhBkBPJgBdeNUPgBDbRRK5BOBJQdKnBFXPNXAZ2BREHNdNNNDSeQJWKKNcQOeGVOIUKHMSaMZAPeHDtB0BTORLGyBDUnBetBuBPEnCyBjBMxBC1BUBYKC2BfeFtBeZOpBKXS9BeYVmChBANPDzBYbGkBVhBBOXlBGZURXETNAJPKkBAUSIdMAPPKDPVANhBZDCUSeBSiBOMSZKEIeJaQAKjD0BNDHfflBGkBTLHGamBHYGQlBqBZKOdFfNWESJSTBCfVSZKfgBSKQQKXiBLBa_B8CJGXZjBIDF9BAOQoBEDMQckBQAMZ6BjBiDrBYHFgBVLDCV5BsBDLdtBXTOiBcmBNMbFWOYBMMsBIgBRB-BVMGmBbGBiBcaDIVTDiBSEKUYsDJ0BQSWMDeSKCgCOKaENKFSKUUPGVIBGyB1BCRQREEchBBHRdHdZLRVLjBDNJ5BCdDVIFLbCdFfPNVPBEN1ChBZKnBdCHXVnBAbPRCfFHNIPJXTHFnBX5ChBtBPLHbXTOjCDPPZNFKLKnBAXLJCfjBhBTEVLNbvBnBJfGLlBpBjBrCvBZDPNDPVEPRZHxBMFXLDZjB1BHrBRdVZAbN7BLDXXCPTbRJTVlBZHfjBPjBfEXNFVIGVXNPjBCLVFXKHZNSVA9BLDHfBRGPJ1BEjBXTDXTVUPepBFpBOZAhB-BHEdkCAiBRIJeQWlBUHFTclBcJcJEjBJXBNRNGnBdVfxBPnBdDT1BLvBXxB1BFRTTfHhBZDLbbJ1BRXDXNZDpBOnCXjBV1BLPH_BRdPDHbbPPXjBbxBXRXvBzBLfZbjBbfzBVTbjB5BdPNXxBFfNhBZVbHmBuuD20CMsBCeJRJ_BNrBDhBPlBZ9CEFPbGdFjCAhBIbC0DMuCqBuEOsCa8B1VIDzBuCfmCZ-BN2BREM1BuBtDCdUMWvBgBhBUwCtEOEDYhBmBfqBFDahBBPYnBONc2F1DIADepBSjBalBUzBsBMTBZoBJWT4BjBYAMZIWFYVgBL3BiBOqTtNkBIhCyB3C-BMV4BlByB7BioB7yHvbgJqtBmBKGNkBKYdoBJEsBsBUMSgD-BcwBkBxBSFGXHZOHJNeTcdwBcBUUUUAgBUYcgBI2BmBGSYQyCyCoBkBBWcBCcWEScQHyBOYBkBKOOYFUcDaOeciBFKF6BReJHNMRbKbNQJPEPaJVAV3BnBdIZTgBHDTcEkBDcVFPXOLFVGLJVYRTGNRRCXRARNKLTVHTPMBvBTAOZFGnBPFAPNEDVoBKlBPJbDarBhBLzBHiBbNXBdjBlB_BRRO0BeoBDGakBBWNBVbfWAXjBvBDWXHFTHQnBTOQDKiBAwBgBQaXURDDWVTTEzBZbTHRdRxCT5BXOHKZRXIRSQCYMMHlBfVAQPYfaXEjCLIXJBXQTFjCB9BUVMdVZBRPLCIZHBGfd2BbJdCUlBPMFLZKORbOTFsBTLHTOVTGRcFXFXiBHJjBUDnBBwBRGPPSnBANTqBHNJwBRIHSYTBaMTGSFWOTOajBsBICDiBhBGZJHUHPRSHLCwBNHhBqBInBRoBHBZaDQTLGQVFZQTXabOAQLUjBHBbaVHLPMnBSXM3BJbaLuBpBgBQQJ2BKlBNjBXcpBYLHFXMPiBhBAHRNUXOFSfMVmBjBuBIMbcVDYaJenBGSGDUTKLXAWTEAahBOD4BOHYCgBWEOhBkBPAPUIQPENSCaJHLSlBABUVIFSRJBULCCQXFDYJHhBaSAAWReVJBWJBXURPASPGKMREHLhBWWDAOXFfYaMlBkBMXTMCWRHFOpBINFCULUFFIVRHRGJSVIRSDRJWTLJOXKVHQbTJLiBTaNDGSXMTBILPfFUTiBHALbLHDOKUZQIbBViCbuBvBmBZqBFcESmBEZYEUSEJbZYrB6BrBaFwBdYOAnBiBrBiBbWJAJMpCORJPIXmBnBKjBJMpBUvBSNFRdQhBDFpBuBKqBFSRFX1BNZLDPYJRPDFdpBgBFFhBMHUhBMGHlBJoBLBrBORVIHfgBhBjBlDBrBPIIUJgBPBdSrBEjBLFTIFTRPhBXLHPMRPGPLmBRALeRBQeKGWSPKIDUOEUXfTYFPLNQvBFBLlBFDHUDZjBDWRNEVRVOPJJPIDPiBJTZkBCFRIX0B3BUAILBjBUbaIRVkBPYKakBSBoBdgBnBMMJImCDgBjBCLFjBAfbhBANYGWTDZPXTYTDZIlBePYAZXZLGWQHQXbRHnBBtBMpChBPbMXRRLdcIORQAxBZdHjBlBUPWABLQJSGINyBVgBQQDVRKLgBLQIYTeDiBGPeASXMUAKWkBGYBGMeBSSapBkBGHPVNdIIVTnBJBJdUFQgBFQakBcJYeiBBETnBZPCXQVdOlBOBRPnBGKXPSjCVBlBNtBhCxCZPdpBYbIvBiBIsCCuBXiBlBS7BaXqBzBeOaJqBlBMELqBSbNVaXaFPMaCyBFuBhBWjBMFIOqBOCQZQIWSBUpBUCMQBaaIOReD0BKGGToBwBANQsBAUJYABMcPUDuBOSOMHUSmBGOD2BDiBYoBDaTqBJoBIWWkBIQOYDIslBiiCPHODCMK0D5BDORHQPGKItEcHTUQLEQcyBLGzBzBAZYYGSWOMQM6CxCNCFnBQEMWHMIpFOHMFPOEK4DhCUMAcVfCHIrEwBFeFbMBILHMCNECFISAJJIHCSIXALKCRKIKM1BLSRDCLcBIDRKULHCLIn9B-IEUJBGRI86BlIBQLLODIWHEFCQFJiBqIhBKeHkBVDCfRZOgBLYfPKRPrBQDLHWRKEkBgBAMO3HCYTGUPEHUPAKXUuC_BKLGSgBKHGMQLOTRXBEfoC8DuGEULEXJGHTVNMAXbDFLjBMBRcDZJEdVQLDIrBHCRpBZGLXmBHWUCSeAiBagBiBNCoBcLIaBBcKBCYIIOlE5GCSPMTJGTSHKIO2BHOSHQfPLfcQKBIv7B-IQFHKHDIlINVGEHSCImHEbeETYJIeGVGGLQGOs4BjKMFgBWPYNAATNTqB9BmCBWOUHSHbCqBFATrBGPOIDPbFTnBMEFVYCUWDPOCIaHWcf5CwBAWHOGUsBDGnBXkBmBBMpBOT5BDIfXENKnyB2HlBaFLMTgBGQ6tB5GEaPICdNFGRUKBKoBkDqBY4CZRXbGJHTBUNHBXTGFROTTBDZPGPNQlBwBYcqBWoBIhyBmCTPSCCOgDiDgBNe3BLeSBQPGDNVGQKXEjBkBFSTYNAGPUTLCOfZeMXhBDBQWLJkBXPAbHPNAGZSXYNUIIiBIAJ_BWNKgBGVWIBROKRbuBcKPWUHGCYYBK6oB3HAUPXCNOSIlsB0FKNiBYrBJIiEhBGCJIEJ4BoqBlCXXGHvBVCbNNWDDTQEITgBKFiBOfqBGKgBZK3BPIImBKSMWPUoBRInCbYYISJSLBIgC9EERYQbCsBoCoFRUJhBKPdnBhBpCNLLZOESWoBDoBqBASnBxBDGKeIDgBcOuBXFOQNiBiB5uBwBLePPBWZILMdRBRWIPPeAJTSNWUCJYWIJI3BbWTJaLFMpV_BWHTkBPCEXKFIoWAFHOCHGI6DvCEMHBEJIhHQKLEGNGIgIbCEHBGBI0OjEIFViBObIhJYDOFAKNIOBPOKPGCIJBNIMVCOIPGJHSPHYOuCtBOFlBgCEKhBQMhBqBxBIjCHBMJDMHI6GZEMLDIHOvCIbcGTRBELWDOKK5DMINDkBLGIbI_JINWGZIEI4O7BXaPDoBVInEKGJIKNAIhBFAIFJGCIRKDPICDOIGVCVKULCIxgBvOVGBJYEGoCzdDUETI8lBvBJFRFcMIxlBSEFMLPSIYdEFGDJKIQVKJLMCBI0BRNDBBQGI0VJLBLHYKI9rB8uCBEFFICIsTtBFEBHIEI9EvCDEFFKCITLAILBMFIqECAEFDGAIoClCAIDDEDIsHVBEDDGAIHXAGBBCDI5CdBEFDIAI-KtFDIAPEII8DlCBGJLMGIhBHBKFHIBIFvBHDAFIKIjT1CFBCFEIIJJFGEHCCIsZzLCCFGEHI1gBhLCCDCCDI_0B6tBGGHCCHIULGIJEELIsB5BBMFHIDIoH6CJKBVMMIaGTFGHOOIEHCGLJKEOrFvBHObDUJRZaCIYKmCEPgBxBRqBCYPIkEmBEEHCEFUrCGrBOERPQMdQIEXYCPOQSI-BLBCFBIAIXJMNEQPBOgJqClBCfLRTyBMOOYEIuCVGMfAaLe_EXPAGSfJCKvBNCLcMIJUGQJRNcHOWJKIyIeAMHBIJKkCHBMVGKTOCIyBBCILBKFIqBDHMXNgBCIhBPIEHGAJIoBJFMALGAY4FPtBOZc5BQiBZERSLQIMfmBHQKHUIsFlBFOJBQLyBRObMVYJH7BOFKdPOHWGgBJQdgBCbNHRQLaDOGFYQDMRKSLCZWYFCIIqDnBAGTFUAKpBLPMTRQLUSKYDLIDTSFBSImSvBGEHGCJIHNEIJEGLILHLAKLCMMhBNDKdUQRHLaAI9IrCDBEDAGO_2BmFPEPpBVXUMYwBKCItCpDIIDEDLIkBLFODJKDKwD0BRIHTQDKQK1FrDRUjBBiBDUNIrErDIGFCBHKrFtDNSZTaFOIIqBPEBCGFDSzBvBZNRELNMJZVWBmBYKiBIu-ByOBIVFYBIyHJDGDFIAIPHFMNXUMIetCMIHMDTiBlCiBNBJNbWtBJbaXERHFbaJUdeCeRgBCMsBUGEOIkE5BDQLNQBIiERDQPNUBMRYRDLMAhBcBCcIiBbNLMCCKImE7BPHKBGKI_crIBMNRQGIfpDDKJLOCgByO5KvBKFKLRPBnBjBNdMDgBKILiBBWJAQeMJkBIUMzPzFVBblBMAWcQMIiJzLAGBJCEIkBnBBBBAECI_BGHTEIEMIlBpBFBCAECGBbCABAIAADDCACE0B2E4CHQhBJTMDOPAGNHNRLBPjBlBPBdMRNBXUnBESqBeYLYEMQFUgBSAK4BWBEIm6C6kBCIBBAFI8FvDCIFAEHIlGMGCFEAFI30BZCCDECFIspBtKELCIFEIeVKHEGNCI7pBsDCCFEEFIcdCCDECFISBAGDDEBIfBEEHAEDI6NtCBGABCDI3PtCAIFJGCI4MvBHMBFKFI79BvHBBEDBGI8-B2EIBDIDFIVHBINBQFIjsBnHFACDEEI1BpPDEADEAIdlEAEBDCAIoCQEAHEEDIIBCEFEEHI8BbJIRGcNIoBRGAnBOiBNIOFEAHEEDIQHHIADIDIaJNGABODGAAEADAIKBBCBAEBGAACABAIoBLLGZGmBLmNo_K5CNQ3BBPJDRbEXLhBCNZVPhBHfAPQVmBbaJkBKQeQcCoBOyBLqBZQbmBWQjBDccNALSMZiBFUdJLaMWoBHHQSSaAQZAZaTIXkBIEMPCLYcCGIXMqBURWKOTSTbfmBPAFQcYhBDfNiBkBnBDASYiB8BUHcMGgBFoBCROQIYHQSQRUaSMLOYKWDXgBeBPeNPRiBIYVNZfASVIXwBNKARWdBLQHITTTEUVQHXJFdtBAOtBHFNtCHWNCVJLNGJLGRNBBQTNZErBZZCPRHSaaeGUOJGGiBHaLCGaMDJaRUlBYTjBGjBNGddLcBXNXTevBFKKPUDuBNHLUnBBOJfNNYRPpBVRORLpBFnBVenBOQUADcKMQJFdnBbVnBSjBDPTYFiBzBRGNvBMPxBbCClBVJjBEdOJRMfXBJITDFOhBORSBNXCMeMEQegBDPSbC1BaNA7CN3BLnE1BlCP3BGrBBnBEnCOjBSRXDZaHONIvBPJK5D_qBwKJwIJqGH0INkDAAAQmBYVgBHoBaMEYbGAYaeBiBGOiBUESgBKASRSV2BTADQMMFiBZOjBwBbOX2BHsCjBkBQoBHuBHMnBISeHcWmBdcuLT6LVAWhB8DOWDKMUaOYgBEUOYEaeyBQDItQkRYCNCJDIsHLKJOBXMKyEpDEGdUCJYPIyJ9DCIVIUPUtgBiCNEfTpBPFLoBZcEeSaEdsBI0c9FLaBROHI6BJIQTPMAIYhCAIVGWNIPNJWDBOTS6EtBYgBEeAmBNUMfBfNtBJJI9GXEADGAFUiDWLWNPdMFFaNBHcRPUaIIjRwPlBOOLYBI-CARATHmBIIRvCCLECFKIuGlBEAFGCFMfpCHGpBTOHYKMMIuLnCJODGOTGchBGFFGIUZFGYjBReuB0FtKBMVSjBHPTXUfEpBbfHVMyBCHGjBEPI1CgBFJbNLOOCDUhBWJkBbDyChW9mBBtBYPF1BdVQdCrBjBXHNYFGZbXqBtBWNJfKVTTAHoBRaDKLBRbLALgBXOlBSCITFZcCgBZEjCHfMtBcAIJFfoBRcbATNPIAA-LXwHRgFLQAASeSIH0KHuLN0OF0G2CoVGrG-CLEMDIqFNABeAdCI5GBHePPYNMkFDgBCCGvCFKFkBEkCyOzEMMbsBVSNCRPGYODHSXMxBMvBEvBKkBVYKqBVFNVVCPVGPNLZKfRvBZJHPJ2BHOF6BC0BZEBPtBLlBKM1C3hCDF4HRiJT-Id8DJiCAAcoD-B2GmC6HgD2KOiBEWQQaoCkBmBSmBAcHKMOeSFWhBYJWBoBEWRwBDkBU6BYgBKmBF0BA0BFSIoBOIWeOeDKWAAzHcvLmBhMkBAcHe4BgCiBQGQJuBKeEDsCCGIAAfMMLSFIvHyB9COuCXQKKwHxBGbebFPZDwBucrKeuBQ6BWQ4LT6GNsGNiHPCSQQCeQWmBDMHBbClCRZBlBWlBWFQGkCQ4BGaDyVAAYAMwCJJHZLBIkBUKUaKaEmBa4BS0BoB8CQsBiBgC6B8CwC8D4CqD6B-BemBWiBVkBQ4CQsBWkBoBsBCShC3CZzBJtCC5BPtBVAFMhBBJdGdpBNS4BQWYkCkBgCuFmIYgC0CkExBLOMaAiBWqBmCNSWKSoBBUMWK6BFOK6DAkCFUIMQiEN1BLUAwBTUFiBJOEeHcKYDOOOboBHUGYPRTWFTbIFYVERWZGjBNTWlCWdPPZGtBOCSSoBMCMSFIPfbvBHZPNhBVTKLTBb7BRCRRMPhBZRBVNDG1BRPQLFJOLVUGKTXADPVPJfDULfJ1BNTBfVhBCWnBJJEBRMAWXEXWjBSRbQVgBHkBhBOLLAXPbA_BBTTRoBfnBMXQNRPEgBqBIaTEvBNRjBNBtBhCTfdnBIDTvBfRVBPZgBUFZcLMzBwBpCARPjBNDJUEgBXHBfLPXAIJpBTEeUBbWwBQIWJ8BRCDNNDpBfEMaWSgBJBNfbTPjBIAIlBG_BLXUhCHBSjCApBJ_CTTEHUOFnBrBfBRLDAZVPFdjBIRFhBKVPHXdJFRXbZHjBbTHDTEZJNvBPVTJZnBlBtBZbBlCnBvBQJILNVGHQPCTSMalBJKSkBCAUlBDZEhBeRIbeTKjBaIfHBhBcLStBCrBUbCNITPN7BGFEqBWiBSLDlBZlBVTtBPOBvC3ByBKOOeOSNTHFQLJFjBbOfHfVWbQCMTDRLUbMDITdHMZKISYDKWSONIxBdzCf3DVtBALFoBDaEKTMOSCCRwBUCJrBrBhCUVCITZUnBUDOdAvCO7BO3BUURyBLedTDRPKTNJN8BZrBVHMwBNcXKCOXYrBOImxCwnCDKVIaRIQLYGdOGTMwCfHMpBWeZFbaUIqFvBVFcNFUKxEHSKagBLDflBIuGlBnBccZMBIuBpBCQVGUVcoFzGNiBEKbkBtBmCGbKFmB_BQnBFbSJOVKCVuBIkBtDFeChBEEIB3CLNKNCcQ1a_GYFSGdQjBRNhBWeQGIlCjDUmBLRHTU6BuBALXlBOAOQASSYGeLJPbIlC5CKSFMDdI_FxHALegBdTS0b7IhB3BuB-BSoBiDsFVZ1BxCbhCXrBIjE9FDJIKDAQtBtFSLKMJ8BM0Cf5BR3BUdK74BpHdRyBFFaNBO6E9BRUlBWbYHBuCxBONIqBjBGGVIQNQla3FMFoBElI6B0CdaBYJsCNGujC8qCDCEBIBNEAAGDFI6IpCGABEDDIgCRECHGEHIrCIGOJFEHINCEMRFOFI-BTIMLHEDI2H1DBIJEMLIcdEANSKRInGpEFQFJMFITJCMNHMDK3EjGFOPBAVWKIdEbLQHMUI_CTFQFNMBI4BDEEDMAPI9TzlBDKHDMFINLAJIIHCI9E3EHGCJGE6C6TtsBYKVcJJNOSQRY1BLMORMoBGDSRchBCTJDKeKdqCJMGkBLOWmB1BK4BGYOCSLEXuBNBBZPKIgBPEcOGVBsBlBZceFOPGaGLWHeSkBCcIl4Bh2B2CJ4FXoGVIAAgGbwDPoEToDAABcHEvB8BL0BOQyBWMDyBuBOGqBFQISkBciBSwBkBeWaQiBUEYYoBSyBiBcyBaQkBKsBgBKaAaqBkBIUQAMaiDoBMWCaciBWsBBUIMAWSQUCgBSSQEWSiBOOA6BKWcWWF0BSMnEsSJrBYNAwCFMHhBMmBnKQPMEXiCPJMrBMWvCKLGcHeLdEPkF8YpkBEQdOhBehBoBTiB1ByDDyCLRZFGxBPwBESgBKQYNWTKDQVSBWjBSPTVSJcQQhBgBNejBaXPITZAIeecXeZEKQpCiBBInBmBRRAWLEdJZRISvBEFIqBCODWInBOuBBESbaaLOTHqBbadKFzBPGChBHKM2BlBTVvBEHdRQaAKWqBBSYYODQURgBbYItBPYBUNYCQwBhgBhmBIBmDxBWBWZqBTmBNOTOEcF-FR-HZOKAaKEgBZ8B6BI0BIImHfiFXUA4FoE8IsGI3GmNDaDPIJ0M-bn4BCWsByBGbGiBUW2B6CTDNZlBxBLEOeSSpBDRPdNZDoBiBYOVWRCvBZsBqBPEpBJTLZHOQyBWhBMFSbWXERRBMRDZ1BIzBVLOWJUEwBkB4BHY8BJcTeHGSKHiBCTJkBZiBJUEBgBQJPiBSeVIUEScFIfASMUFGIGlBNlCQVQMMDTPOFCRaSkBoBBeMePEQWHgBTIVbAcNaP4BLHCabWpBKlBXAiBTLQBPjBJcRKFRVFJRcJIRrBETSSKKsBTFAJlBQZJdAjBHMaYHkBOwBKsCGMQDUZAQQPBhBaiBCMKNYvB0BZEtBZTFVVNBiCkC0BGSMQLWdqBQPXQFOIDXGXWkBPMMMmBZNTiBSHSNCGSXcXsBDQPCFTTLGmBLILdNADOOQnCKJKxBaTdBkBTUNcbWZHUftBnBKeSKDSPEKQSEEQzBmBnByBfiCNWHoBCuCJOChBJvBThBAMQqBA2BRgBnBDrBEbMTB7BkBFFwCpkCrFDlDMX8BHQVE5BcVKTqBb6BPSEWHyBxBSDOVYViBViBDWzBDXKFaIKfuBhBQKGcOASPczBgClBYGWOUTarCiBjBmBANPKvBJPQpBWAAOGuEJkGb0GZ0GjBsHrBqK9B6GrB-JjC8DXIsBJIYZETTEAAQDIAAEEEBCDGAAGAGBcUDwByDoBgCuC8CYqBZPPhBfdJVNALjBvBtCHbhBhCGAAEAGBInQkqBESRDONIS_CElBGBJoBM-D3GQDrBedqBKXwBrBIqJrEIOjBLcBO5DM4BVWG1BI9CsBON4BVQ0GvEQRbuBbmBb2CDHcvCsB_BIwB1CQCZeKfQcdICaXcTDMdShBkBGXagElJUwBAkBKsCBkBnCyBSV0BnBJ_DJbf7BKAQgBMrDzCUFWYAQNAbhBIlFhINPCGGMKx-BwK5CKNM7JsBpJmBiBAAOPmBTiBHYRiBRkBJOpBkCjBILBZMPcTChBYb8ChC4DpEkEAAGSJMWSEWsBmBYASOcKiBFQXWJMZOFwBiBeVgCPYbHVKPQAcMcXkBZQBOQyBtBHZWVBNVRS9B6BhDMpBCpBkB1BChBMLIfBbKrBeGYmBsCMGDWzBIxBORAZKhBOZqBUGDcjCMEQLGRSLGZkB_BFzBKZFjBKTgGqDS5CYAAgCCMMYGEQNcoBeeDYGSYgBEMMIAAKKECGBqJAAQQIkCVIPQQQRMHTJGFkBHgCISLCaURGiBC0BbOPOcLGkBSGWeOuBBIKSNYBGQcMGWuDiBGkBbFSiBDSOMNEIiBdDbXDYrBtBRPfFZZXJJPRHNZTPRCPRbBIMSDOSaCQOGgB4BiBiBmBODGQUCWkBWOgBLKMsBChBWkBOILCUOIGmBFWVZNEXVKWLMSKOenBSjBdddNFXbVNASKCWYSMiBoB4BaUNOUkBSNQUDGODcpBaNVbHjBVJhBPNXMvBJHZBYPQfdNUPPPIdALHFSmBGeFIIQRQUkBMgBFSQQCORMiBEcgBAiBcMUNUKASRsBDCLNPWJ2BKSBMNSIUsB4B6CISMJCHXXpBLAEwBIYIKBDDMJEMiCqB3VNcOgBVeNsBhB2CPsBLUMUTIFUB2BGyBJCRXP1BIpBFVCnBONPDAPQLATODGrBJLkBLHRQBJVZBcfIAAGN2BTcHIpBsIPsBKrBGAKCzBGELoBDBKpBIvFtECUDHBJEAAEBIKAAEDBBBEAAGAINCBCBCADEAAEAIqI7CPiCFJQzBEAAGDQtEkOLtBCVOGFUaKRiBFBIhR9UBXDFRLITJUhB4BmBfwBEAAAAkMqR0IxBGTaHHGVNGKZaddKCVONtBKHKBbiBZTCNLK_BVuBBcRRCfRiBKQBSTTNDhBfFUtBzBCNUGARSNNPHOPAIRJJgBDyBMOBKTDXLiBfJCPVIORTGDTFaRPBTJWPRCoBHDC_BOJkBeOJCTTSJZaTXDfTXWGYNODxBGnBOQaCSTJTavBTSNAFkBGQPFHpBLJQvCOJGTaB6BLzBCJBOdSPcAXPMRFPJcZmBDNM5BTeZCHeWGNgBZaJLBhBJKCiBKMJUVnBZMYGDcTBQWjBLSWSKdQAJbLAKYagBQISdMoBKGKROVJTVBSiBSQgBbFSONGGYMFASLSOUCWMUIuBIMyBqBFgBTDJXVDlBVbtCFCUqCKOcSeKaccHAiBgBiBDKMiBtBfFZHYNHFORZxBHRKTHRvBVLYoBEUfJVTf3BFYrBoBTJNrBU3BULCbUPFrBoChJ7FHHDhBVFGbdALTOJFNpBMNDxBdZKReTAfOMMPIKOJKjBIlBAbNEJPLX6BZmBhBHLKToBVWLYPGfqBJEjBlHKknB1HGiB0EsQsCNmEdWAAJKISVDgBYJ2BNHPUF4BNEFuBIoC9GEeDYF1BEAAGAI7IoJBBDACCIHCFPUPEeIhB1CRAIVKWM4IAMpBCdK3BF8CLgByBtHtYNSAUb8BYeDmBsBqBWMYmBAYQ0BiBaIY-BwBcFWoCLZRGSUbUESUNKIKXWmCIFADBFCCC2EoElmBCaNyCAYPgBRARSEcLMBaOOWEYHwBKRfMCOgBGeEkDO8EDDNvDLKIqBFQISHWBeMSTuBTcSOrBFQcAUNBFcWQhBeKbJDFgBVENOUCSJZwBPoCNKAYTadKBfKxBBRVPbIJJfULThBVTCNPHEnCxBAlBVXMRM7BkBnB2BZMRJRMDMfO6IqGSLNiBVIJJWCGVKwBnEIHdoDAZWlCIfliB-GrBoKtCAGIAA8B4GIuBHwByBAANHXIRQTLDWbAZaXFDQVATUhBDXUfAjBWLZV0BZOAUbFVgBhBQhBkBpBemBkWhQAcNAJZRHTbIiBKGCWVEOIAmBKOIgBBeJUhBIvC0BAHO7B1JmElBS0BMAKoBeQOOK-BuCPYJNR9BANIAAWAEaSoBKnCNFCNnBSQCWMhB8FIWPGFNGXIKKYtFEiBFMH1BKIUURCbKLCaO0BLATYGTHPGZISvBO9BPoBPKiFBnRISRKYISgBTJGMcKBMUBQXSWbiBxBiBSObgBFQKUNBDiBODUaUVJPcQQAcQMSeaWeDGTVAaNIYOcFYiBEYMIoBMqBHCIYTwBjBELFrBTHDYRrBJPZFBWTXaHkBKiBgBYmBDeOBO0BNA_Bc9BmBNBPkBbOPSJBEVR_BXFEUJeVOGQZPEqBfcDLVCAQSqLrBICmBqBJUtBI1BNiCJGnBHHIxEoBKTKcTHWbHUCKWzBQPMLUdNWFa3BcPEUKoF5EGIDoBFCExBInH8HGDGGLBIhBrCAIVKWRIoBtBOBpBqBcnBKrhPiEvJlCxH5BzH7BzFvByEtqB9LTbLjBIvBFPElBajCSdGrBJjBHFAzBedcnByB_CCVMJWAaVMADWKDEbbGXU0BnCYrBODYdfYqBzC0BhEQvBYtBKlBe1BCZS5BajBW1BBFanBGbQhBFTiBbJTUpBDYKMKhBPLY_BFVWpBBfWLMtBA3BMCUcKACeGbNNgBAIUkBCiBLUYKasBSWNIxC7BKMJCANiDwhFyjKWKMeXeRIbatBYvBOlBBda7BeRSDYTWHUXWDL5BjBZHJRHdO5CpB7DVZJbIXefSHWjBSLETZlBFxBMV4BIMWaMcWYBuBQmBSmCuBkBmBC8BcHSSBUOWWUOpWtOKMBa5BEJJoBbUDY5D9DSeLWhBMVCHLDnBZLARaFqBGUQyBoLiBKUJgBTQhBMfBpBWrBDTVEJH1BJHTKlBNbhBDPMlBeNYOasBsBJiBLYE0BwByBQkB9JlFSGVcvBSfD1BP1CGLJIVOJDTkBIuCKMNGQWGqBFWEkC3MxCaUTUJHhBMjBTbBJTQLZHIaJKpBIHFHbRPDRRRAVVTSDyBAYVWdWBUcBIiBqBBgBcWGTSCHWOYU9frJYALwBjBULePFFPGTwBjBETqB6K_BCUPaAoBrBoBTFzBDddjBJJRAVWVIRUFiBVSDUKIJiBBaKQcK2GnoGnCkOyGgByGgB-HkBIAAnB8ItD6YlDgXIn3BjJ8F3e2B5I-F1eIirDncb0KhBsMNqFIAANsFnBmOX-IOAApGR9JdzGVpIdxLtB7JpBK00B8FsFOyHSoISboOIAARsJfkQhBsRIAAnFJ3CF3CFkB6pCj6CtBCAYSaAoBNEEecEIsBPiBBkBJQHoBTaDQMYYYO6B8BAApBFNZNLDbdDTZdBhBRXBjBjBVJhCMfHbKzBJRKTepBJHLtBVjCvBJL1JJhHH3INnFHhHN3IT3KbkC-tCsKcKEUFoBUeBsBGSWWCciBgBAgBIYWgBLwBGgCgBIFSaMJ6BeOPUBaYOHEGcFmBOUEqBFcGQPeKSYMCccAAAYYOAQMWMoBHQUAQWcMFQcoBFgBkBUSAApLA3GAnLFhJH3GHnLNhJP_GNyBuoCiCsBqBaSQCWRUAEYSMEgBFKXDFUTUHePICSakBsBeAcYeCUmBUmBIBOOseWAA3HClFC5HApKDlFB5HFrKLpKLrKRhIPImzCiCC6BA4BC0DIAAuB-Ja-FD8YgB8e_tEAMUwBeKKcVoBDQSwDQaEcMWcS6BIeIcwBDQoCAADKmBgBeQSaEgBUSmBSYUMmBFmCHefgBLmBCcfezBSTYNG_CMTYL8BIeeSQgBEqBFQnB6BH6BTWjBMdQHaOQA0BTIaAAhBZDLvBjBRdnCIpEI_HS9EC7EI9EE3EB_IF4DquBgCRgBD-BMsCScAmBWaOqB8CuCUkB0C4BQSSiBAaMUFQIgBSgBaUOJUdSDUIgBGkBSWYXoBEwBTuBP0BNeFgBQqBUQSYUMeemBWeCiBeoBSeuBkBOOmBBYgB2BAkBVaASUKAOkB2BBMaWSELjBOBIQaeUBUAACuBHOI0BT8BPSLBbZJOJ0BIAARWJBETIAAFXXAGaSAAO0BJQXGSmBnBGiBuBVUNwBmBAArHWBJe1BOHKVaNGTSPAlBVVRjBhKSlGKlGIlGInJKlGElGEKulCp5CpHSlJSvFKtHM0B1R17BQUgBO0BJkCdYDqBXwBhBCMcNoBbYJcIMWNmBLIDaESZsBQCmBRMbYWeQkBKOFgDod-SHUAaNOpBQDaTkBPmBDeHSAgBMIYDETSTWLcpCOP0BXceOEH0BTqBLkBDkCHgBWoBDUlBmBLqBHoBCuBMUCgBX8BB2BPsBHwBKoBBaKMFiBWaEmBUcGwBHYIqCI7jBv9BNAMLCMMgEKFSjBFIJcJGIIrCGGLSSXFKuD_BASRQCbQFQxBoDTIHUdSATeZYLEMsBilBoULFFWGURBSSJWLAR2BIIhB4BZHNhBIlBYbM1BQCONGfKTeEBeMmBtCBWhBAGlBaEEMQ7F-pBCiDekCWQMWIoBemCUaoCAA-C2hBVOHSMqBTYASWSMgBQOEYFSWyBJmBVSBYLUIQRUTKESVeFgBLHHQNHNqBYWfeWGZQIiCZGaWPOSEuBAADaXaHcgB0BLW_BSTOhBINgBEiBeqBFiBJMZAbPlDnBRBdMNQd2BCMWYsEiL3MiBIQVNhBOLiBUsBNAcIGSPF1BWaqBRuCgBUESYKHMnBSVUDkBdUgBMIiBBDSUDCXUFApBUTGPJTaGSPRHOHWQGiBkBSaAWUGLYJOZC_BWrBQIkBVK5BINWFejBGPJPNzBuBNWAcSODuBlBiBPcABRIdhBJORAPPPDNQRgBwZuGCUOeCcHGFoBqB0BcYFMcWKciBeKauBUaa4BEgBhR8PVMhKcxFQrDOnHSvECdG3EQzJgBNLnCBO0BCkB5FO3JYEXAXCuBrBoHSYCWPHVUYSVW1BcDOQYNYOYfSBcbgBFSEeOqBFeZBNoBfSCEMsXniDkBeuBIeF4BZ6BpBKyjFk4GHabRIHcAU6hBADDxBMnBCHNSAaPkBFqBITSKcrCXZiBGLGCOkE1ECQWTOLDfMVeHUNGGOZSVIbDrBKlBOHNLKVDPLlBKVT1BOpCJDHTUtBEJIPPhBDTMdHFOHbUHPJIPGvBILRnBRDNfwBVDdcP0CQuBFWIwBFWG0BEkBHiBKUFqBOIHOWWDbTwBOKJ8BMYOKDOOgBIQLA0B","geoms":"eCGACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCOCCCCCCtBCCKwBCCC5CCCI8CCCrDCCKuDCCC7DeCE-DCCGCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCMCCCC3F6FCCQCCCCCClHoHaCOCCCCC7H-HCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCICCCpJCCKsJCCC3KeCE6K_KCCiLCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCKCCCCCQCKCCCCxNCC0NCCCCCCCCCCCCCCCCCCCCKlOoOCCCOCKrPuPCCCCCCCCCCCCCCCCCCCCCqLCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCqBCICzb2bCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCKCKC_oBipBCCCCCCCCCCCCCCGCKC_qBirBCCCECCCCCyCCKC9rBgsBCjsBCCmsBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCICMC9uBM0uBCCCCCCCCCCCECGClyBoyBCCCaCKC1yBMsyBCCICCCCCECCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCUCWCj0Bm0BCCCCC70B-0B10BCE40B70BCE-0BCCCCCCCCECCCECCCECCCECCCCCCCIC72B-2BCKCSCBj4BmBi3BhgBkgBCx3BCE03BCCKC_3BHq4Bl4BCCo4BCECx4BCCKNwYygBn5Bq5BGCGvgBTmhBCCCCCCCCIlhBohBCCMCGCt6Bw6BCECCCCCCCCCCCCCCQCQCj7BIgZlBHsjBp7BCCs7BCCCCCCCCCCCCCCCCCCECMrepB4fplB8NwXCCCQCCCCCCCCCCCCCCCCCCCCCCCCCCKCC3lB6lBtgBCCM3d6dN8gBCCCCKv-ByYNpXgdCCM_d4-BCChnBxXCCMwdHH2hBC7-BCCMBLs_BCCn_BCCIBL4_BCCCMxnB9XNggCC7nBCCM5XydmiBCC__BCCUBP0gCCCCCC1gCEQCM0gC7gCme4iB9iBgjBCCCCCCCCCCCCCCCCCCCCCCCMzhCEPiiCCCECO7hChBgjC9kBglBp8Bs8BCECniCCCMqLuB-LnYRuiCCCUxjCmBjBoBlBgHmBUkDOCCK-RRpYuB5GCCKkeheEojClkBICCokBCCCCCCCCC","inner":"2DEACKiBCCCCGECCEECGECCCCEECIeCCCEECGECCGECCCEEeCCECEIgBCCCGGCCKgYCxXCCGECCE8LCGsBCCGMCCCCCIG2CCCCKEGCCECECEKYCCCCCKEQHCECIEGCCECCCGEUCCGCECcCaGCCCGCCCECCGCCCECCECCGCCCMCCCCCCCCEWCCCCCCCCCCC","outer":"8FCKCCCECCCECCCGCwBCCCCCCCGCECECCCsBCECECECeCQCCCCCUCCCCCCCECWCCCCCECCCICCCYCCCCCCCCCCCKCCCCCCCCCCCECICECCCECUCGCuCCGCKCOCECECaCECKCGCKCQCsCCYCuCCCC0BCCCCCsBCsBC6BCGCECQCCCCCCCCCCCCCCCgCCGCCCCsD7ekBOMaGIDsYNMPB_Y2YlZiZLOPlBgBFfjBmBpBsBvBgBlBFNxCHENPtB3LHdCyXneeMIG8exe0eQQCCCCCE","group":"A"}; function __gvOr(a,b){return a?a:b()};function __gvAnd(a,b){return a?b():a};function __gvLe(a,b){return b>=a};function __gvLt(a,b){return b>a};var __gvRuntime=(()=>{var te=Object.defineProperty;var hn=Object.getOwnPropertyDescriptor;var fn=Object.getOwnPropertyNames;var gn=Object.prototype.hasOwnProperty;var bn=(t,n)=>{for(var r in n)te(t,r,{get:n[r],enumerable:!0})},yn=(t,n,r,o)=>{if(((n?typeof n=="object":!1)?!0:typeof n=="function"))for(let e of fn(n))((!gn.call(t,e)?e!==r:!1)?te(t,e,{get:()=>n[e],enumerable:(!(o=hn(n,e))?!0:o.enumerable)}):!1);return t};var xn=t=>yn(te({},"__esModule",{value:!0}),t);var gr={};bn(gr,{MOBILE_BREAKPOINT:()=>mn,mount:()=>fr,primaryAxis:()=>de,visible:()=>pn});var kn=["map-states","map-counties","map-world","map-dots"];function ge(t){return kn.includes(t)}var be=["line","slope"];var wn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",Mn=new Map([...wn].map((t,n)=>[t,n])),vn=10;function ee(t){let n=[],r=0,o=1;for(let e of t){let a=Mn.get(e);if(a===void 0)throw new Error("Unreadable map geography");r+=a%32*o,a>=32?o*=32:(n.push(r%2?-(r+1)/2:r/2),r=0,o=1)}return n}function $n(t,n){let r=ee(t),o=[],e=0,a=0,s=0;for(;(r.length)>(e);){let c=r[e++],i=[];for(let m=0;(c)>(m);m++)a+=r[e++],s+=r[e++],i.push([a/n,s/n]);o.push(i)}return o}function ye(t,n){let r=[];return n.forEach((o,e)=>{let a=o>=0?t[o]:[...t[-o-1]].reverse();for(let s=e?1:0;(a.length)>(s);s++)r.push(a[s])}),r}var xe=t=>String(Math.round(t*10)/10),ke=(t,n)=>t.length?`M${t.map(([r,o])=>`${xe(r)} ${xe(o)}`).join("L")}${n?"Z":""}`:"";function Cn(t){var e;let n=0,r=0,o=0;for(let a=0,s=t.length-1;(t.length)>(a);s=a++){let c=t[s][0]*t[a][1]-t[a][0]*t[s][1];n+=c,r+=(t[s][0]+t[a][0])*c,o+=(t[s][1]+t[a][1])*c}return n?{area:n/2,c:[r/(3*n),o/(3*n)]}:{area:0,c:(e=t[0])!=null?e:null}}function we(t){var h;let n=$n(t.arcs,(h=t.q)!=null?h:vn),r=!!t.sphere,o=ee(t.geoms),e=0,a=0,s=t.ids.map((f,b)=>{var F,G,y;let x=o[e++],g="",k=null,P=-1,N=[];for(let R=0;(x)>(R);R++){let _=o[e++],V=[];N.push(V);for(let S=0;(_)>(S);S++){let M=o[e++],I=[];for(let O=0;(M)>(O);O++)a+=o[e++],I.push(a);let B=ye(n,I);if(r){V.push(B);continue}if(g+=ke(B,!0),S===0){let{area:O,c:Y}=Cn(B);(Math.abs(O)>P?(P=Math.abs(O),k=Y):!1)}}}return{id:f,name:(F=t.names[b])!=null?F:f,code:(y=(G=t.codes)==null?void 0:G[b])!=null?y:"",d:g,anchor:k,...r?{polygons:N}:{}}}),c=f=>{var N;let b=ee(f),x=0,g=0,k=[],P=(N=b[x++])!=null?N:0;for(let F=0;(P)>(F);F++){let G=b[x++],y=[];for(let R=0;(G)>(R);R++)g+=b[x++],y.push(g);k.push(ye(n,y))}return k},[i,m,p]=[c(t.inner),c(t.outer),c(t.group)],l=f=>r?"":f.map(b=>ke(b,!1)).join("");return{id:t.id,w:t.w,h:t.h,features:s,inner:l(i),outer:l(m),group:l(p),...r?{sphere:!0,lines:{inner:i,outer:m,group:p}}:{}}}var mt={orange:"#F79945",turquoise:"#12A07F",fuchsia:"#AC00E8",azure:"#3977F3",earth:"#3C3830",red:"#F5515B"},nt={primary:"#3C3830",secondary:"#777777",grid:"#E0E0E0",muted:"#C9C5BD",darkPrimary:"#F0EDE6",darkSecondary:"#B3ADA3",darkGrid:"#4A4640",darkMuted:"#6B665E"},$e={white:"#FFFFFF",smog:"#F0F0F0",lavender:"#D3C8FF",celery:"#E6FFA0",sky:"#C5E0F7",butter:"#FFF1C7",blush:"#FFD6DA"};function Me(t,n,r){let o=t.replace("#",""),e=n.replace("#","");return`#${[0,2,4].map(s=>{let c=parseInt(o.slice(s,s+2),16),i=parseInt(e.slice(s,s+2),16);return Math.round(c+(i-c)*r).toString(16).padStart(2,"0")}).join("")}`.toUpperCase()}var bt=mt;var Dt="#D9D7D2",Pt="#3A3733",Ce="#EDEBE6",Te="#2E2B28",ve="#F5EDDA",Tn="#EF6C4A",Rt=t=>[Me(t,"#FFFFFF",.8),t.toUpperCase(),Me(t,"#000000",.45)],kr=[{id:"seq-orange",label:"Orange",kind:"sequential",stops:Rt(bt.orange)},{id:"seq-turquoise",label:"Turquoise",kind:"sequential",stops:Rt(bt.turquoise)},{id:"seq-azure",label:"Azure",kind:"sequential",stops:Rt(bt.azure)},{id:"seq-fuchsia",label:"Fuchsia",kind:"sequential",stops:Rt(bt.fuchsia)},{id:"div-turquoise-coral",label:"Turquoise to coral",kind:"diverging",stops:[bt.turquoise,ve,Tn]},{id:"div-azure-orange",label:"Azure to orange",kind:"diverging",stops:[bt.azure,ve,bt.orange]}];function re(t){let n=t.parentElement;for(;n;){let o=getComputedStyle(n).backgroundColor.match(/rgba?\(([\d.]+),\s*([\d.]+),\s*([\d.]+)(?:,\s*([\d.]+))?\)/);if((o?((o[4]===void 0?!0:parseFloat(o[4])>.5)):!1)){let e=(.299*+o[1]+.587*+o[2]+.114*+o[3])/255;return{color:`rgb(${o[1]},${o[2]},${o[3]})`,dark:(.5)>(e)}}n=n.parentElement}return{color:null,dark:!1}}function Gt(t,n,r,o,e=1){let a=(i,m)=>`${(0)>(i)?"\u2212":""}${n}${m}${r}`;return{axis:(i,m)=>{let p=i*e>=1e4,l=((m?m:1))*e,h=i*e,f=p?t.formatPrefix(`.${o!=null?o:t.precisionPrefix(l,h)}`,h):t.format(`,.${o!=null?o:t.precisionFixed(l)}f`);return b=>(p?b===0:!1)?a(0,"0"):a(b,f(Math.abs(b*e)).replace("G","B"))},value:i=>{let m=Math.abs(i*e),p=o!=null?o:Sn(m),l=t.format(`,.${p}~f`);return a(i,l(m))}}}function Sn(t){return t>=100?0:t>=10?1:((t>=1?!0:t===0)?!0:!Number.isFinite(t))?2:Math.min(20,Math.max(2,Math.ceil(-Math.log10(t))+1))}function $t(t,n,r,o){let[e,a]=r,s=t.tickStep(e,a,o);return Gt(t,n.prefix,n.suffix,n.decimals,n.multiply).axis(Math.max(Math.abs(e),Math.abs(a)),s)}function Fe(t,n,r){let{xKind:o,x:e}=n.data,a=n.style.xFormat;if(o==="year")return s=>String(s);if(o==="number"){let s=Gt(t,a.prefix,a.suffix,a.decimals,a.multiply);return c=>s.value(Number(c))}if(o==="date"){let s=e.map(l=>String(l)),c=s.every(l=>l.endsWith("-01-01")),i=s.every(l=>l.endsWith("-01")),m=c?"%Y":i?r?"%b \u2019%y":"%b %Y":"%b %-d, %Y",p=t.utcFormat(m);return l=>p(l instanceof Date?l:new Date(String(l)+(String(l).length===10?"T00:00:00Z":"")))}return s=>String(s)}function Le(t){return new Date(String(t)+"T00:00:00Z")}function En(t,n){var r;return n?"#1A1A1A":(r=$e[t.style.background])!=null?r:"#FFFFFF"}function ne(t){let n=t.replace("#",""),r=n.length===3?n.split("").map(o=>o+o).join(""):n.slice(0,6);return[0,2,4].map(o=>__gvOr(parseInt(r.slice(o,o+2),16),()=>(0)))}function Fn([t,n,r]){return`#${[t,n,r].map(o=>Math.round(Math.max(0,Math.min(255,o))).toString(16).padStart(2,"0")).join("")}`.toUpperCase()}function zt(t,n,r){let o=ne(t),e=ne(n);return Fn(o.map((a,s)=>a+(e[s]-a)*r))}function Ht(t){let[n,r,o]=ne(t).map(e=>{let a=e/255;return (.03928)>=(a)?a/12.92:((a+.055)/1.055)**2.4});return .2126*n+.7152*r+.0722*o}function vt(t,n){let[r,o]=[Ht(t),Ht(n)].sort((e,a)=>a-e);return(r+.05)/(o+.05)}function Ln(t,n){if(!n)return t;let r=t.toUpperCase();return r===mt.earth?nt.darkPrimary:r===nt.muted.toUpperCase()?nt.darkMuted:t}var Se=.58,It=.45,An=.7,Ee=new Map;function Dn(t,n){let r=`${t}|${n}`,o=Ee.get(r);if(o)return o;let e=Ht(t),a=0,s=1/0;for(let m=0;(206)>=(m);m++){let p=-It+m/206*(It+Se),l=Math.abs(Ht((0)>(p)?zt(n,"#FFFFFF",-p):zt(n,"#000000",p))-e);((s)>(l)?([a,s]=[p,l]):!1)}let c=(a+It)/(It+Se),i=zt(n,"#FFFFFF",c*An);return Ee.set(r,i),i}function yt(t,n,r){var e;if(!r)return n;let o=(e=t.style.paletteId)!=null?e:"";if(o.startsWith("tonal-")){let a=mt[o.slice(6)];if(a)return Dn(n,a)}return Ln(n,r)}function at(t,n,r){var o,e;return yt(t,(e=(o=t.data.series[n])==null?void 0:o.color)!=null?e:mt.orange,r)}function xt(t,n,r,o=4.5){let e=En(t,r);if(vt(n,e)>=o)return n;let a=r?"#FFFFFF":"#000000";for(let s=.05;(1)>(s);s+=.05){let c=zt(n,a,s);if(vt(c,e)>=o)return c}return a}function Ot(t){return vt("#FFFFFF",t)>=4.5?"#FFFFFF":vt(nt.primary,t)>=4.5?nt.primary:vt("#FFFFFF",t)>=vt("#000000",t)?"#FFFFFF":"#000000"}var ae={w:975,h:610,scale:1300,x:487.5,y:305},Bt=ae.scale,Ae=ae.x,De=ae.y,Pe=[[Ae+.29*Bt,De+.17*Bt],[Ae+.41*Bt,De+.234*Bt]];function Ge(t,n){let r=t.querySelector(`.${n}`);(r?!0:(r=t.ownerDocument.createElement("div"),r.className=n,r.setAttribute("role","presentation"),t.appendChild(r)));let o=r,e=null,a=null,s=()=>{o.style.display="none"},c=m=>{((m===a?!0:!e)?!0:(m.pointerType==="touch"?(e(),e=null):!1))},i=t.ownerDocument;return i.addEventListener("pointerdown",c),{show(m,p,l){o.innerHTML=m,o.style.display="block";let h=o.offsetWidth,f=o.offsetHeight,b=t.clientWidth,x=p+14;(x+h>b?(x=p-h-14):!1),((0)>(x)?(x=Math.max(0,Math.min(b-h,p-h/2))):!1),o.style.left=`${x}px`,o.style.top=`${Math.max(0,l-f-12)}px`},hide:s,bind(m,p,l){let h=()=>{(l==null?!0:l()),s()};m.on("pointermove.gvtip",(f,b)=>p(f,b)).on("pointerdown.gvtip",(f,b)=>{((f.pointerType!=="touch"?f.pointerType!=="pen":!1)?!0:(a=f,e=h,p(f,b)))}).on("pointerleave.gvtip",f=>{(f.pointerType!=="touch"?h():!1)})},destroy(){i.removeEventListener("pointerdown",c)}}}function ct(t){return t.replace(/[\x26\x3c>"]/g,n=>({"\x26":"\x26amp;","\x3c":"\x26lt;",">":"\x26gt;",'"':"\x26quot;"})[n])}function it(t,n,r,o){let e=a=>a.replace(/[\x26\x3c>]/g,s=>({"\x26":"\x26amp;","\x3c":"\x26lt;",">":"\x26gt;"})[s]);return`\x3cdiv class="${t}">\x3ci style="background:${n}">\x3c/i>\x3cspan>${e(r)}\x3c/span>\x3cb>${e(o)}\x3c/b>\x3c/div>`}var Ve=["VT","NH","MA","RI","CT","NJ","DE","MD","DC"],Pn={CA:[80,318],FL:[790,534],ID:[192,163],KY:[703,315],LA:[562,460],MI:[683,199],NC:[816,350]},Gn=560;function Vn(t,n,r){var i,m,p;let o=t.style.map,e=n?Pt:Dt,a=(m=(i=t.data.series[0])==null?void 0:i.values)!=null?m:[],s=(p=t.data.map)==null?void 0:p.categories;if(s){let l=new Map(o.categories.map(h=>[h.name,h.color]));return h=>{var f;return (s[h]!==null?s[h]!==void 0:!1)?(f=l.get(s[h]))!=null?f:nt.muted:e}}if((o.continuous?o.stops.length>=2:!1)){let l=r.scaleLinear().domain(o.stops).range(o.colors).interpolate(r.interpolateLab).clamp(!0);return h=>(a[h]===null?!0:a[h]===void 0)?e:l(a[h])}if(!o.colors.length)return()=>e;let c=r.scaleThreshold().domain(o.thresholds).range(o.colors);return l=>(a[l]===null?!0:a[l]===void 0)?e:c(a[l])}function Ct(t,n){for(let[r,o]of Object.entries(n))t.style.setProperty(r,o,"important")}var _n=t=>{var o,e;let n=["th","st","nd","rd"],r=t%100;return`${t}${(e=(o=n[(r-20)%10])!=null?o:n[r])!=null?e:n[0]}`},_e=new WeakMap;function Nn(t,n){let r=t.width/n.w,o=n.features.map(e=>e.d).join("");return{height:Math.ceil(n.h*r),transform:`scale(${r})`,unit:1/r,d:e=>e.d,anchor:e=>e.anchor?[e.anchor[0]*r,e.anchor[1]*r]:null,land:()=>o,inner:()=>n.inner,outer:()=>n.outer,group:()=>n.group,sphere:()=>"",graticule:()=>""}}function Re(t,n){var i;if((t.sphere?!0:((i=n.data.map)!=null?i.pr:!1)))return t;let[[r,o],[e,a]]=Pe,s=m=>{let[p,l]=m.split("L")[0].split(" ").map(Number);return __gvAnd(__gvAnd((p>=r?(e)>=(p):!1),()=>(l>=o)),()=>((a)>=(l)))},c=m=>m.split("M").filter(p=>(p?!s(p):p)).map(p=>`M${p}`).join("");return{...t,features:t.features.filter(m=>!m.id.startsWith("72")),inner:c(t.inner),outer:c(t.outer),group:c(t.group)}}function Rn(t){let n=0;for(let r=0,o=t.length-1;(t.length)>(r);o=r++)n+=t[o][0]*t[r][1]-t[r][0]*t[o][1];return n}function In(t){let n=r=>(r.length>=4?Math.abs(Rn(r))>1e-6:!1);return t.features.map(r=>{var o;return{type:"MultiPolygon",coordinates:((o=r.polygons)!=null?o:[]).filter(e=>__gvAnd(e.length,()=>(n(e[0])))).map(e=>[e[0],...e.slice(1).filter(n)])}})}function Ne(t,n,r,o=In(n)){let{d3:e,spec:a}=t,s=a.style.map,c=s.projection==="globe",i={type:"GeometryCollection",geometries:o},m={type:"Sphere"},p,l;if(c)l=Math.min(t.width,Gn),p=e.geoOrthographic().rotate([r[0],r[1]]).fitExtent([[4,4],[t.width-4,l-4]],m);else{let x=(s.sphere?!0:s.graticule)?m:i;p=e.geoEqualEarth().fitWidth(t.width,x),l=Math.ceil(e.geoPath(p).bounds(x)[1][1])+1}let h=e.geoPath(p),f=new Map(n.features.map((x,g)=>[x.id,o[g]])),b=x=>{var g;return(g=h({type:"MultiLineString",coordinates:x}))!=null?g:""};return{height:l,transform:null,unit:1,d:x=>{var g;return(g=h(f.get(x.id)))!=null?g:""},anchor:x=>{let g=h.centroid(f.get(x.id));return (Number.isFinite(g[0])?Number.isFinite(g[1]):!1)?g:null},land:()=>{var x;return(x=h(i))!=null?x:""},inner:()=>{var x,g;return b((g=(x=n.lines)==null?void 0:x.inner)!=null?g:[])},outer:()=>{var x,g;return b((g=(x=n.lines)==null?void 0:x.outer)!=null?g:[])},group:()=>{var x,g;return b((g=(x=n.lines)==null?void 0:x.group)!=null?g:[])},sphere:()=>{var x;return(((c?!0:s.sphere))?(x=h(m))!=null:!1)?x:""},graticule:()=>{var x;return (s.graticule?(x=h(e.geoGraticule10()))!=null:!1)?x:""}}}function Ie(t,n){var H,X,E,u;let{d3:r,spec:o,svg:e}=t,a=o.data.map,s=o.style.map,c=(!!n.sphere?s.projection==="globe":!1),i=(H=s.center)!=null?H:[0,20],m=_e.get(t.chartEl),p=((m?m.center[0]===i[0]:!1)?m.center[1]===i[1]:!1)?m:{center:i,rotate:[-i[0],-i[1]]};_e.set(t.chartEl,p);let l=n.sphere?Ne(t,n,p.rotate):Nn(t,n),h=o.type==="map-dots",f=Vn(o,t.dark,r),b=(E=(X=o.data.series[0])==null?void 0:X.values)!=null?E:[],x=new Map(a.ids.map((d,T)=>[d,T]).filter(([d])=>d!==null)),g=b.map((d,T)=>[d,T]).filter(([d])=>d!==null).sort((d,T)=>T[0]-d[0]),k=new Map;g.forEach(([d,T],v)=>k.set(T,(v>0?g[v-1][0]===d:!1)?k.get(g[v-1][1]):v+1));let P=(u=t.page)!=null?u:t.dark?"#1A1A1A":"#FFFFFF",N=(d,T,v)=>Ct(d,{fill:"none",stroke:T,"stroke-width":`${v}px`,"vector-effect":"non-scaling-stroke","stroke-linejoin":"round","pointer-events":"none"}),F=t.id("map-shadow"),G=l.unit;e.append("defs").append("filter").attr("id",F).attr("x","-5%").attr("y","-5%").attr("width","110%").attr("height","110%").append("feGaussianBlur").attr("stdDeviation",2.5*G);let y=e.append("g").attr("class",t.cls("map"));(l.transform?y.attr("transform",l.transform):!1);let R=y.append("path").attr("class",t.cls("shadow")).attr("filter",`url(#${F})`).attr("transform",`translate(${2*G},${2.5*G})`);Ct(R.node(),{fill:t.dark?"#000000":mt.earth,opacity:"0.25",stroke:"none","fill-rule":"evenodd","pointer-events":"none"});let _=y.append("path").attr("class",t.cls("sphere"));Ct(_.node(),{fill:c?t.dark?"#23282C":"#EEF3F6":"none",stroke:t.dark?nt.darkMuted:nt.muted,"stroke-width":"0.75px","pointer-events":"none"});let V=y.append("path").attr("class",t.cls("graticule"));N(V.node(),t.dark?nt.darkGrid:nt.grid,.5);let S=(d,T)=>{var Z,Q;if(d===void 0)return`\x3cdiv class="${t.cls("tip-title")}">${ct(T)}\x3c/div>\x3cdiv class="${t.cls("tip-row")}">\x3cspan>No data\x3c/span>\x3c/div>`;let v=b[d],L=`\x3cdiv class="${t.cls("tip-title")}">${ct(o.data.x[d])}\x3c/div>`;(a.categories?(L+=it(t.cls("tip-row"),f(d),"Category",(Z=a.categories[d])!=null?Z:"None")):!1),(v!=null?(L+=it(t.cls("tip-row"),(a.categories?!0:h)?"transparent":f(d),o.data.series[0].label,t.fmtValue(v)),((!h?g.length>2:!1)?(L+=it(t.cls("tip-row"),"transparent","Rank",`${_n(k.get(d))} of ${g.length}`)):!1)):!1);for(let q of(Q=a.tips)!=null?Q:[])(q.values[d]?(L+=it(t.cls("tip-row"),"transparent",q.label,q.values[d])):!1);return L},M=y.append("g").selectAll("path").data(n.features).join("path").attr("class",t.cls("place")).each(function(d){let T=x.get(d.id);Ct(this,{fill:h?t.dark?Te:Ce:T===void 0?t.dark?Pt:Dt:f(T),stroke:"none","fill-rule":"evenodd"})}),I=y.append("path");N(I.node(),P,n.id==="us-counties"?.4:.75);let B=y.append("path");N(B.node(),P,1.2);let O=y.append("path").attr("class",t.cls("map-hover"));N(O.node(),t.dark?nt.darkPrimary:mt.earth,1.5),O.style("display","none");let Y=null;(h?!0:t.tooltip.bind(y,d=>{let T=d.target.__data__;if((!T?!0:!d.target.classList.contains(t.cls("place"))))return;let[v,L]=r.pointer(d,t.chartEl);Y=T,O.attr("d",l.d(T)).style("display",null),t.tooltip.show(S(x.get(T.id),T.name),v,L)},()=>{Y=null,O.style("display","none")}));let K=()=>{};if(h){let d=s.domain?Math.max(Math.abs(s.domain[0]),Math.abs(s.domain[1])):0,T=s.symbolMax*Math.min(1,t.width/600)*(t.mobile?.8:1),v=D=>(D===null?!0:!d)?3.5:Math.max(1.5,T*Math.sqrt(Math.abs(D)/d)),L=new Map(n.features.map(D=>[D.id,D])),Z=o.data.x.map((D,w)=>({i:w,r:v(b[w])})).sort((D,w)=>w.r-D.r),Q=D=>a.categories?f(D):mt.turquoise,q=n.sphere?1:t.width/n.w,et=D=>{var ut;let w=(ut=a.xy)==null?void 0:ut[D];if(w)return[w[0]*q,w[1]*q];let U=a.ids[D]?L.get(a.ids[D]):void 0;return U?l.anchor(U):null},A=e.append("g").selectAll("circle").data(Z).join("circle").attr("class",t.cls("symbol")).attr("r",D=>D.r).each(function(D){Ct(this,{fill:Q(D.i),"fill-opacity":d?"0.78":"0.9",stroke:P,"stroke-width":"0.75px"})});K=()=>A.each(function(D){var U,ut;let w=et(D.i);this.setAttribute("cx",String((U=w==null?void 0:w[0])!=null?U:0)),this.setAttribute("cy",String((ut=w==null?void 0:w[1])!=null?ut:0)),this.style.setProperty("display",w?"":"none")}),t.tooltip.bind(A,(D,w)=>{let[U,ut]=r.pointer(D,t.chartEl);t.tooltip.show(S(w.i,o.data.x[w.i]),U,ut)})}let tt=()=>{R.attr("d",c?l.sphere():l.land()),_.attr("d",l.sphere()),V.attr("d",l.graticule()),M.attr("d",d=>l.d(d)),I.attr("d",l.inner()),B.attr("d",l.group()),(Y?O.attr("d",l.d(Y)):!1),K()};if(tt(),c){let d=Math.min(t.width,l.height)/2,T=r.drag().on("drag",v=>{let L=75/d;p.rotate=[p.rotate[0]+v.dx*L,Math.max(-85,Math.min(85,p.rotate[1]-v.dy*L))],l=Ne(t,n,p.rotate),tt()});e.call(T).style("touch-action","none").style("cursor","grab")}if((o.type==="map-states"?s.labels:!1)){let d=e.append("g").attr("class",t.cls("map-labels")).style("pointer-events","none"),T=n.features.map(q=>({f:q,a:l.anchor(q)})).filter(q=>!!q.a),v=T.filter(q=>Ve.includes(q.f.code)).sort((q,et)=>q.a[1]-et.a[1]),L=(520)>(t.width),Z=(q,et,A,D,w)=>d.append("text").attr("class",t.cls("map-label")).attr("x",q).attr("y",et).attr("dy","0.35em").attr("text-anchor",A).style("fill",D).style("fill-opacity","0.8").text(w),Q=t.width/n.w;for(let{f:q,a:et}of T){if((!q.code?!0:Ve.includes(q.code)))continue;let A=x.get(q.id),D=Pn[q.code],[w,U]=D?[D[0]*Q,D[1]*Q]:et;Z(w,U,"middle",A===void 0?t.dark?nt.darkPrimary:nt.primary:Ot(f(A)),q.code)}if(!L){let q=t.width-16*Q,et=-1/0;for(let{f:A,a:D}of v){et=Math.max(D[1],et+14);let w=d.append("line").attr("x1",D[0]).attr("y1",D[1]).attr("x2",q-14).attr("y2",et);Ct(w.node(),{stroke:t.dark?nt.darkMuted:nt.secondary,"stroke-width":"0.75px"}),Z(q,et,"end",t.dark?nt.darkPrimary:nt.primary,A.code)}}}return l.height}var kt=8,Vt=2,oe=Vt+kt+13,ze=oe+5;function He(t,n,r,o){var b,x,g,k,P,N,F,G;if(!n)return;let e=r.style.map,a=r.data.map,s=t.dark?nt.darkSecondary:nt.secondary,c=t.dark?Pt:Dt,i=new Set(a.ids.filter(y=>y!==null)),m=(r.type!=="map-dots"?o.features.some(y=>!i.has(y.id)):!1),p=(y,R)=>`\x3cspan class="${t.cls("legend-item")}">\x3csvg class="${t.cls("swatch")}" width="12" height="12" aria-hidden="true">\x3crect width="12" height="12" rx="2" fill="${y}"/>\x3c/svg>${ct(R)}\x3c/span>`,l=m?p(c,__gvOr(e.noDataLabel,()=>("No data"))):"",h=y=>{if(!m)return{svg:"",width:0};let R=__gvOr(e.noDataLabel,()=>("No data")),_=Vt+kt/2;return{svg:`\x3crect class="${t.cls("legend-nodata")}" x="${y}" y="${_-5}" width="10" height="10" rx="2" fill="${c}"/>\x3ctext x="${y+16}" y="${_}" dy="0.35em" class="${t.cls("legend-key")}">${ct(R)}\x3c/text>`,width:40+R.length*7.5}},f="";if(e.categories.length)f=e.categories.map(y=>p(y.color,y.name)).join("")+l;else if(r.type==="map-dots"){let y=e.domain?Math.max(Math.abs(e.domain[0]),Math.abs(e.domain[1])):0,R=e.symbolMax*Math.min(1,t.width/600)*(t.mobile?.8:1),_=V=>R*Math.sqrt(V/y);if((y?e.sizeTicks.length:!1)){let V=_(e.sizeTicks[e.sizeTicks.length-1]),S=V*2+7,M=[];[...e.sizeTicks].reverse().forEach((K,tt)=>M.push(Math.max(S-2*_(K),tt?M[tt-1]+12:7)));let I=V*2+70,B=Math.max(S+3,M[M.length-1]+8),O=`stroke:${s} !important;fill:none !important`,Y=[...e.sizeTicks].reverse().map((K,tt)=>{let H=S-2*_(K);return`\x3ccircle cx="${V+1}" cy="${S-_(K)}" r="${_(K)}" style="${O};stroke-width:1px"/>\x3cpolyline points="${V+1},${H} ${V*2+4},${H} ${V*2+8},${M[tt]}" style="${O};stroke-width:0.5px"/>\x3ctext x="${V*2+11}" y="${M[tt]}" dy="0.35em" class="${t.cls("legend-label")}">${ct(t.fmtValue(K))}\x3c/text>`}).join("");f=`\x3csvg width="${I}" height="${B}" aria-hidden="true">${Y}\x3c/svg>`}}else if(((e.continuous?e.stops.length>=2:!1)?e.stops[0]!==e.stops[e.stops.length-1]:!1)){let y=Math.min(260,t.width-20),R=t.id("legend-grad"),_=e.colors.map((M,I)=>`\x3cstop offset="${I/(e.colors.length-1)*100}%" stop-color="${M}"/>`).join(""),V=[e.stops[0],e.stops.length===3?e.stops[1]:null,e.stops[e.stops.length-1]].map((M,I)=>M===null?"":`\x3ctext x="${I/2*y}" y="${oe}" text-anchor="${["start","middle","end"][I]}" class="${t.cls("legend-label")}">${ct(t.fmtValue(M))}\x3c/text>`).join(""),S=h(y+24);f=`\x3csvg width="${y+S.width+4}" height="${ze}" aria-hidden="true">\x3cdefs>\x3clinearGradient id="${R}">${_}\x3c/linearGradient>\x3c/defs>\x3crect class="${t.cls("legend-step")}" y="${Vt}" width="${y}" height="${kt}" rx="${kt/2}" fill="url(#${R})"/>${V}${S.svg}\x3c/svg>`}else if((e.colors.length===1?!0:((e.continuous?e.stops.length>=2:!1)?e.stops[0]===e.stops[e.stops.length-1]:!1))){let y=(x=(b=e.domain)==null?void 0:b[0])!=null?x:e.stops[0];f=(y===void 0?"":p(e.colors[0],t.fmtValue(y)))+l}else if(e.colors.length){let y=e.colors.length,R=(P=(k=(g=e.domain)==null?void 0:g[0])!=null?k:e.thresholds[0])!=null?P:0,_=(G=(F=(N=e.domain)==null?void 0:N[1])!=null?F:e.thresholds[e.thresholds.length-1])!=null?G:0,V=$t(t.d3,r.style.yFormat,[R,_],Math.max(1,e.thresholds.length)),S=e.thresholds.map(H=>V(H)),M=Math.max(0,...S.map(H=>H.length))*7+6,I=Math.max(M,Math.min(44,Math.floor((Math.min(320,t.width)-20)/y))),B=I*y,O=t.id("legend-clip"),Y=e.colors.map((H,X)=>`\x3crect class="${t.cls("legend-step")}" x="${X*I}" y="${Vt}" width="${I}" height="${kt}" fill="${H}"/>`).join(""),K=S.map((H,X)=>`\x3ctext x="${(X+1)*I}" y="${oe}" text-anchor="middle" class="${t.cls("legend-label")}">${ct(H)}\x3c/text>`).join(""),tt=h(B+24);f=`\x3csvg width="${B+tt.width+4}" height="${ze}" aria-hidden="true">\x3cdefs>\x3cclipPath id="${O}">\x3crect y="${Vt}" width="${B}" height="${kt}" rx="${kt/2}"/>\x3c/clipPath>\x3c/defs>\x3cg clip-path="url(#${O})">${Y}\x3c/g>${K}${tt.svg}\x3c/svg>`}n.innerHTML=f,n.style.display=f?"":"none",n.removeAttribute("role"),n.removeAttribute("aria-label")}function se(t){return t.replace(/[\x26\x3c>"]/g,n=>({"\x26":"\x26amp;","\x3c":"\x26lt;",">":"\x26gt;",'"':"\x26quot;"})[n])}var zn=["line","area","column","bar","stacked","combo","dot","scatter"];function ie(t){return (t.style.legend==="direct"?be.includes(t.type):!1)}function Oe(t,n,r,o){var g,k,P,N;if(!n)return;let e=r,a=e.data.series,s=(g=e.style.legend)!=null?g:"top",c=()=>{n.innerHTML="",n.style.display="none",n.removeAttribute("role"),n.removeAttribute("aria-label")};if(((s==="none"?!0:s==="subtitle")?!0:ie(e)))return c();let i=(F,G,y)=>F==="line"?`\x3csvg class="${t.cls("swatch")}" width="24" height="10" aria-hidden="true">\x3cline x1="1" x2="23" y1="5" y2="5" stroke="${G}" stroke-width="3.5" stroke-linecap="round"${y?' stroke-dasharray="6 4"':""}/>\x3c/svg>`:F==="dot"?`\x3csvg class="${t.cls("swatch")}" width="12" height="12" aria-hidden="true">\x3ccircle cx="6" cy="6" r="5" fill="${G}"/>\x3c/svg>`:`\x3csvg class="${t.cls("swatch")}" width="12" height="12" aria-hidden="true">\x3crect width="12" height="12" rx="2" fill="${G}"/>\x3c/svg>`,m=F=>e.type==="line"?"line":e.type==="combo"?F===0?"box":"line":(e.type==="scatter"?!0:e.type==="dot")?"dot":"box",p=(F,G,y,R=!1)=>{let _=(y!==void 0?l:!1)?"button":"span",V=_==="button"?` type="button" data-key="${se(y)}" aria-pressed="${!o.has(y)}" title="Show or hide ${se(F)}"`:"",S=`${t.cls("legend-item")}${(y!==void 0?o.has(y):!1)?` ${t.cls("legend-item--off")}`:""}`;return`\x3c${_} class="${S}"${V}>${G}${se(F)}${R?`\x3cspan class="${t.cls("legend-axis")}">right axis\x3c/span>`:""}\x3c/${_}>`},l=__gvAnd(__gvAnd(zn.includes(e.type),()=>(a.length>1)),()=>(!e.style.paletteId.startsWith("highlight"))),h=[];if(e.type==="donut"){let F=(k=e.data.categoryColors)!=null?k:[];h=e.data.x.map((G,y)=>p(String(G),i("box",qt(e,F[y],t.dark))))}else if(e.type==="slope"){let F=e.style.paletteId;if(((F==="rise-fall"?!0:F==="rise-fall-azure")?!0:F==="political")){let G=(P=e.data.categoryColors)!=null?P:[],[y,R]=e.data.series,_=I=>G.find((B,O)=>__gvAnd(((y==null?void 0:y.values[O])!=null?(R==null?void 0:R.values[O])!=null:!1),()=>(I(y.values[O],R.values[O])))),V=_((I,B)=>B>I),S=_((I,B)=>(I)>(B)),M=_((I,B)=>B===I);h=[V?p("Rose",i("line",qt(e,V,t.dark))):"",S?p("Fell",i("line",qt(e,S,t.dark))):"",M?p("No change",i("line",qt(e,M,t.dark))):""].filter(Boolean)}}else if((e.style.paletteId.startsWith("highlight")?a.length>1:!1)){let F=Math.max(0,a.findIndex(G=>G.key===e.style.highlight));h=[p(a[F].label,i(m(F),at(e,F,t.dark))),p("All others",i(m(F),at(e,F===0?1:0,t.dark)))]}else if(a.length>1){let F=__gvAnd(a.some(G=>G.axis==="right"),()=>(a.some(G=>G.axis!=="right")));h=a.map((G,y)=>p(G.label,i(m(y),at(e,y,t.dark),G.dashed),G.key,(F?G.axis==="right":F)))}let f=h.join(""),b=n.ownerDocument.activeElement,x=(b?n.contains(b):!1)?(N=b.dataset)==null?void 0:N.key:void 0;if(n.innerHTML=f,n.style.display=h.length?"":"none",(l?h.length:!1)?(n.setAttribute("role","group"),n.setAttribute("aria-label","Series. Select to show or hide.")):(n.removeAttribute("role"),n.removeAttribute("aria-label")),x!==void 0){let F=[...n.querySelectorAll("[data-key]")].find(G=>G.dataset.key===x);((F?n.ownerDocument.activeElement!==F:!1)?F.focus():!1)}}function qt(t,n,r){return yt(t,n!=null?n:nt.muted,r)}function qe(t,n,r,o={}){let e=t.svg.append("g").attr("class",t.cls("tick-probe")).attr("opacity",0),a=n.map(s=>{var i;let c=e.append("text").attr("class",(i=o.cls)!=null?i:null).style("font-size",`${r}px`).text(s);return (o.weight?c.style("font-weight",String(o.weight)):!1),Math.ceil(c.node().getComputedTextLength())});return e.remove(),a}function lt(t,n,r,o={}){return Math.max(0,...qe(t,n,r,o))}function wt(t,n){return n.ticks(t.mobile?4:5)}function Tt(t,n,r,o){let e=wt(t,r),a=t.fmtAxis;n.append("g").attr("class",t.cls("grid")).selectAll("line").data(e).join("line").attr("x1",0).attr("x2",o).attr("y1",i=>Math.round(r(i))+.5).attr("y2",i=>Math.round(r(i))+.5),n.append("g").attr("class",t.cls("ticks")).selectAll("text").data(e).join("text").attr("x",-8).attr("y",i=>r(i)).attr("dy","0.32em").attr("text-anchor","end").text(i=>a(i))}function St(t,n,r,o){let[e,a]=r.domain();if((e>0?!0:(0)>(a)))return;let s=((0)>(e)?a>0:!1);n.append("line").attr("class",t.cls(s?"zero":"baseline")).attr("x1",0).attr("x2",o).attr("y1",Math.round(r(0))+.5).attr("y2",Math.round(r(0))+.5)}function Xt(t,n,r,o){n.append("line").attr("class",t.cls("baseline")).attr("x1",0).attr("x2",r).attr("y1",o+.5).attr("y2",o+.5)}function Wt(t,n){return Math.max(2,Math.floor(t/(n?70:90)))}var Hn=10;function On(t){return t.mobile?12:14}function Bn(t,n,r,o){return (r)>(t-n/2)?{anchor:"start",start:t,end:t+n}:t+n/2>o?{anchor:"end",start:t-n,end:t}:{anchor:"middle",start:t-n/2,end:t+n/2}}function Yt(t,n,r,o){let e=-t.margin.left,a=t.width-t.margin.left,s=new Map,c=p=>{let l=[...new Set(p.filter(h=>!s.has(h)))];return qe(t,l,On(t)).forEach((h,f)=>s.set(l[f],h)),p.map(h=>s.get(h))},i=null,m=-1;for(let p=Math.max(1,Math.floor(o));p>=1;p--){let l=r(p);if(l.ticks.length===m)continue;m=l.ticks.length;let h=l.ticks.map(l.label),f=c(h),b=l.ticks.map((k,P)=>Bn(n(k),f[P],e,a));i={...l,anchor:k=>b[k].anchor};let x=b.every(k=>(k.start>=e-.5?(a+.5)>=(k.end):!1)),g=b.every((k,P)=>(P===0?!0:(k.start)>=(b[P-1].end+Hn)));if((x?g:!1))return i}return i!=null?i:{...r(1),anchor:()=>"middle"}}function Zt(t,n){let r=n.domain();return t.spec.data.xKind==="year"?o=>({ticks:n.ticks(o).filter(e=>Number.isInteger(e)),label:e=>String(e)}):o=>{let e=t.xAxis(r,o);return{ticks:n.ticks(o),label:a=>e(a)}}}function Ut(t,n,r,o,e){n.append("g").attr("class",t.cls("ticks")).attr("transform",`translate(0,${r})`).selectAll("text").data(o.ticks).join("text").attr("x",a=>e(a)).attr("y",22).attr("text-anchor",(a,s)=>o.anchor(s)).text((a,s)=>o.label(a,s))}function jt(t,n,r,o){let e=[...t].sort((m,p)=>m.y-p.y),a=e.length;if(!a)return;let s=a>1?Math.min(n,Math.max(0,o-r)/(a-1)):n,c=m=>{m.top=Math.max(r,Math.min(o-(m.size-1)*s,m.sum/m.size))},i=[];e.forEach((m,p)=>{let l={start:p,size:1,sum:m.y,top:m.y};for(c(l),i.push(l);i.length>1;){let h=i[i.length-1],f=i[i.length-2];if((h.top+1e-9)>=(f.top+f.size*s))break;f.sum+=h.sum-h.size*f.size*s,f.size+=h.size,i.pop(),c(f)}});for(let m of i)for(let p=0;(m.size)>(p);p++)e[m.start+p].y=m.top+p*s}function je(t,n,r,o,e){let a=[],s=[];for(let i of t){let m=[...a,{item:i,y:i.y}].map(l=>({own:l.y,y:l.y})),p=(o-r)>=((m.length-1)*n);(p?jt(m,n,r,o):!1),(p?m.every(l=>__gvLe(Math.abs(l.y-l.own),e)):!1)?a.push({item:i,y:i.y}):s.push(i)}let c=a.map(i=>({y:i.y}));return jt(c,n,r,o),a.forEach((i,m)=>i.item.y=c[m].y),{kept:a.map(i=>i.item),dropped:s}}function Xe(t,n,r,o){let e=[...new Set(r.map(g=>g.getTime()))].sort((g,k)=>g-k),a=qn(r,e),s=[...[t.utcDay,t.utcDay.every(2),t.utcWeek,t.utcWeek.every(2)].map(g=>[g,"day"]),...[1,2,3,6].map(g=>[t.utcMonth.every(g),"month"]),...[1,2,5,10,20,25,50,100,200,250,500,1e3].map(g=>[t.utcYear.every(g),"year"])],c=s.slice(s.findIndex(([,g])=>g===a)),[i,m]=n.domain(),[p,l]=c[c.length-1],h=[];for(let[g,k]of c){let P=Be(g,e,i,m);if((o)>=(P.length)){[p,l,h]=[g,k,P];break}}(h.length?!0:(h=Be(p,e,i,m))),((!h.length?e.length:!1)?(h=e.length===1?[new Date(e[0])]:[new Date(e[0]),new Date(e[e.length-1])]):!1);let f=(g,k)=>(k===0?!0:h[k-1].getUTCFullYear()!==g.getUTCFullYear()),b={year:t.utcFormat("%Y"),month:t.utcFormat("%b"),monthYear:t.utcFormat("%b %Y"),day:t.utcFormat("%b %-d"),dayYear:t.utcFormat("%b %-d, %Y")};return{ticks:h,label:(g,k)=>l==="year"?b.year(g):l==="month"?f(g,k)?b.monthYear(g):b.month(g):f(g,k)?b.dayYear(g):b.day(g)}}function qn(t,n){if(t.every(a=>(a.getUTCMonth()===0?a.getUTCDate()===1:!1)))return"year";if((2)>(n.length))return t.every(a=>a.getUTCDate()===1)?"month":"day";let o=1/0;for(let a=1;(n.length)>(a);a++)o=Math.min(o,n[a]-n[a-1]);let e=o/864e5;return e>=360?"year":e>=28?"month":"day"}function Be(t,n,r,o){let e=t.range(t.floor(r),new Date(o.getTime()+1)),a=[];return e.forEach((s,c)=>{var p;let i=((p=e[c+1])!=null?p:t.offset(s,1)).getTime(),m=jn(n,s.getTime());((n.length)>(m)?(i)>(n[m]):!1)?a.push(new Date(n[m])):((s>=r?(o)>=(s):!1)?a.push(s):!1)}),a}function jn(t,n){let r=0,o=t.length;for(;(o)>(r);){let e=r+o>>1;(n)>(t[e])?r=e+1:o=e}return r}function dt(t,n){var o,e,a;let r=(o=t.spec.style.imageFill)==null?void 0:o.photos;if(!r)return null;for(let s of n)if((s!==void 0?(((e=r[s])!=null?e.url:!1)):!1))return r[s].url;return __gvOr(((a=r["*"])==null?void 0:a.url),()=>(null))}function Et(t){var r;let n=(r=t.spec.style.imageFill)==null?void 0:r.photos;return(!!n?Object.values(n).some(o=>!!((o!=null?o.url:!1))):!1)}function ft(t,n,r,o){let e=t.svg.select("defs").empty()?t.svg.append("defs"):t.svg.select("defs"),a=t.id("grey");(e.select(`#${a}`).empty()?e.append("filter").attr("id",a).append("feColorMatrix").attr("type","saturate").attr("values","0"):!1);let s=new Map;return{clip:(m,p)=>{let l=p?`${m}|${p.x},${p.y},${p.w},${p.h}`:m,h=s.get(l);if(!h){let f=t.id(`clip-${e.selectAll("clipPath").size()}`);h={id:f,url:m,box:p!=null?p:{x:0,y:0,w:r,h:o},sel:e.append("clipPath").attr("id",f)},s.set(l,h)}return h.sel},paint:()=>{for(let m of s.values())n.insert("image",":first-child").attr("class",t.cls("photo")).attr("href",m.url).attr("x",m.box.x).attr("y",m.box.y).attr("width",Math.max(1,m.box.w)).attr("height",Math.max(1,m.box.h)).attr("preserveAspectRatio","xMidYMid slice").attr("clip-path",`url(#${m.id})`).attr("filter",`url(#${a})`)}}}function Kt(t,n){var o;let r=t.spec.style.imageFill;return __gvAnd((!!r?r.mode==="category":!1),()=>(!!(((o=r.photos[n])!=null?o.url:!1))))}function ht(t,n){var r,o;return n?(o=(r=t.spec.style.imageFill)==null?void 0:r.opacity)!=null?o:.65:1}function Qt(t,n,r,o,e,a){if(((0)>=(r)?!0:(0)>=(o)))return"";let s=Math.min(e,(a==="up"?!0:a==="down")?r/2:o/2,(a==="up"?!0:a==="down")?o:r),c=t+r,i=n+o;switch(a){case"up":return`M${t},${i}V${n+s}Q${t},${n} ${t+s},${n}H${c-s}Q${c},${n} ${c},${n+s}V${i}Z`;case"down":return`M${t},${n}V${i-s}Q${t},${i} ${t+s},${i}H${c-s}Q${c},${i} ${c},${i-s}V${n}Z`;case"right":return`M${t},${n}H${c-s}Q${c},${n} ${c},${n+s}V${i-s}Q${c},${i} ${c-s},${i}H${t}Z`;case"left":return`M${c},${n}H${t+s}Q${t},${n} ${t},${n+s}V${i-s}Q${t},${i} ${t+s},${i}H${c}Z`}}function Mt(t,n,r,o){let e=t.length?t[0]:0,a=e;for(let s of t)((e)>(s)?(e=s):!1),(s>a?(a=s):!1);return (t.length?!0:([e,a]=[0,1])),(n?(e=Math.min(0,e),a=Math.max(0,a)):!1),(r!==null?(e=r):!1),(o!==null?(a=o):!1),(e===a?(a=e+1):!1),(e>a?([e,a]=[a,e]):!1),[e,a]}function Ye(t){var q,et;let{d3:n,spec:r,svg:o}=t,{data:e,style:a}=r,s=r.type==="area",c=(s?e.series.length>1:s),i=e.xKind==="category",m=e.x.map((A,D)=>e.xKind==="date"?Le(A):i?D:Number(A)),p=m.length;if(p===0)return;let l=__gvAnd((!s?e.series.some(A=>A.axis==="right"):!1),()=>(e.series.some(A=>A.axis!=="right"))),h=A=>(l?e.series[A].axis==="right":l),f=A=>e.series.filter((D,w)=>h(w)===A).flatMap(D=>D.values).filter(D=>D!==null),b=[],x,g;if(c){let A=m.map((D,w)=>e.series.map(U=>{var ut;return(ut=U.values[w])!=null?ut:0}));b=n.stack().keys(e.series.map((D,w)=>w)).value((D,w)=>D[w]).offset(n.stackOffsetDiverging)(A),[x,g]=Mt(b.flatMap(D=>D.flatMap(w=>[w[0],w[1]])),!0,a.yMin,a.yMax)}else[x,g]=Mt(f(!1),__gvOr(__gvOr(a.yFromZero,()=>(s)),()=>(We(t))),a.yMin,a.yMax);let k=t.margin,P=t.height-k.top-k.bottom,N=t.mobile?4:5,F=n.scaleLinear().domain([x,g]).nice(N).range([P,0]);t.setAxis(F.domain(),N),k.left=lt(t,wt(t,F).map(t.fmtAxis),t.mobile?12:14)+10;let G=l?n.scaleLinear().domain(Mt(f(!0),a.rightFromZero,null,null)).nice(N).range([P,0]):F,y=l?t.rightAxis(G.domain(),N):t.fmtAxis,R=l?G.ticks(N):[],_=l?lt(t,R.map(y),t.mobile?12:14)+10:0,V=A=>h(A)?G:F,S=A=>t.fmtFor(e.series[A]),M=e.series.map(A=>{for(let D=A.values.length-1;D>=0;D--)if(A.values[D]!==null)return D;return-1}),I=__gvAnd(ie(r),()=>(!c)),B=__gvAnd((__gvOr(a.valueLabels,()=>(I))),()=>(!c)),O=A=>{if((0)>(M[A]))return["",""];let D=S(A)(e.series[A].values[M[A]]);return I?[e.series[A].label,a.valueLabels?D:""]:["",D]},Y=A=>O(A).filter(Boolean).join(" "),K=_?_+6:9,tt=I?{cls:t.cls("direct-label"),size:13,weight:700}:{cls:t.cls("value-label"),size:12,weight:500};if(B){let A=lt(t,e.series.map((D,w)=>Y(w)),tt.size,tt);k.right=Math.max(k.right,Math.min(A,t.width/3)+K+6)}else l?k.right=Math.max(k.right,_+4):(a.endDots?(k.right=Math.max(k.right,10)):!1);let H=Math.max(40,t.width-k.left-k.right),X=e.xKind==="date"?n.scaleUtc().domain(n.extent(m)).range([0,H]):n.scaleLinear().domain(n.extent(m)).range([0,H]),E=o.append("g").attr("transform",`translate(${k.left},${k.top})`);if(Tt(t,E,F,H),Xt(t,E,H,P),St(t,E,F,H),l){let A=xt(r,at(r,e.series.findIndex(D=>D.axis==="right"),t.dark),t.dark);E.append("g").attr("class",t.cls("ticks")).selectAll("text").data(R).join("text").attr("x",H+8).attr("y",D=>G(D)).attr("dy","0.32em").style("fill",A).text(D=>y(D)),(a.rightLabel?o.append("text").attr("class",t.cls("axis-title")).attr("x",t.width).attr("y",t.rightTitleY).attr("text-anchor","end").style("fill",A).text(a.rightLabel):!1)}let u=A=>X(A);Ut(t,E,P,Yt(t,u,Xn(t,X,m),i?p:Wt(H,t.mobile)),u);let d=A=>X(m[A]),T=t.id("plot");o.append("defs").append("clipPath").attr("id",T).append("rect").attr("x",-8).attr("y",-8).attr("width",H+16).attr("height",P+16);let v=E.append("g").attr("clip-path",(a.yMin!==null?!0:a.yMax!==null)?`url(#${T})`:null),L=E.append("g");if(s){let A=Et(t)?ft(t,v,H,P):null;(c?b:[e.series[0].values.map(w=>[0,w!=null?w:0])]).forEach((w,U)=>{var $;let j=($=n.area().x((z,W)=>d(W)).y0(z=>F(z[0])).y1(z=>F(z[1]))(w))!=null?$:"",C=A?dt(t,[e.series[U].key]):null;((A?C:!1)?A.clip(C).append("path").attr("d",j):!1),v.append("path").attr("class",t.cls("area")).attr("d",j).attr("fill",at(r,U,t.dark)).attr("fill-opacity",ht(t,C)),((p===1?e.series[U].values[0]!==null:!1)?v.append("circle").attr("cx",d(0)).attr("cy",F(w[0][1])).attr("r",3.5).attr("fill",at(r,U,t.dark)):!1)}),(A==null?!0:A.paint())}if(!s){let[A,D]=F.domain(),w=((We(t)?(0)>=(A):!1)?D>=0:!1)?dt(t,[e.series[0].key]):null,U=w?ft(t,v,H,P):null;if((U?w:!1)){let $=(q=n.area().defined(z=>z!==null).x((z,W)=>d(W)).y0(F(0)).y1(z=>F(z))(e.series[0].values))!=null?q:"";U.clip(w).append("path").attr("d",$),v.append("path").attr("d",$).attr("fill",at(r,0,t.dark)).attr("fill-opacity",ht(t,w)),U.paint()}let ut=C=>n.line().defined($=>$!==null).x(($,z)=>d(z)).y($=>V(C)($)),j=e.series.map((C,$)=>$).sort((C,$)=>Number(Ft(r,C))-Number(Ft(r,$))).reverse();for(let C of j){let $=e.series[C],z=(et=ut(C)($.values))!=null?et:"";((e.series.length>1?!Ft(r,C):!1)?v.append("path").attr("class",t.cls("line-halo")).attr("d",z):!1),v.append("path").attr("class",t.cls("line")).attr("d",z).attr("stroke",at(r,C,t.dark)).attr("stroke-width",Ft(r,C)?2:t.mobile?3:3.5).attr("stroke-dasharray",$.dashed?"6 4":null),$.values.forEach((W,st)=>{(((W===null?!0:$.values[st-1]!=null)?!0:$.values[st+1]!=null)?!0:v.append("circle").attr("cx",d(st)).attr("cy",V(C)(W)).attr("r",3.5).attr("fill",at(r,C,t.dark)))})}if((a.endDots?e.series.forEach((C,$)=>{if(((0)>(M[$])?!0:Ft(r,$)))return;let z=d(M[$]),W=V($)(e.series[$].values[M[$]]);v.append("circle").attr("class",`${t.cls("dot")} ${t.cls("dot--pulse")}`).attr("cx",z).attr("cy",W).attr("r",5).attr("fill",at(r,$,t.dark))}):!1),B){let C=e.series.map((z,W)=>({i:W,y:M[W]>=0?V(W)(z.values[M[W]]):NaN,x:M[W]>=0?d(M[W]):0})).filter(z=>(!Number.isNaN(z.y)?((!Ft(r,z.i)?!0:I)):!1));jt(C,15,6,P);let $=t.width/3;for(let z of C){let W=e.series[z.i].values[M[z.i]],[st,rt]=V(z.i).domain(),J=W>rt?-1:(st)>(W)?1:0,ot=(l?H:z.x)+K,pt=xt(r,at(r,z.i,t.dark),t.dark);(J?L.append("path").attr("class",t.cls("off-scale")).attr("d",`M${ot+4},${z.y+J*5}l-4,${-J*8}h8z`).attr("fill",pt).append("title").text((0)>(J)?"Above the axis range":"Below the axis range"):!1);let Lt=L.append("text").attr("class",t.cls(I?"direct-label":"value-label")).attr("x",ot+(J?12:0)).attr("y",z.y).attr("dy","0.32em").style("fill",pt).text(Y(z.i)),_t=Lt.node(),[At,he]=O(z.i),Nt=(At?At:he),dn=fe=>At?[`${fe.trimEnd()}\u2026`,he].filter(Boolean).join(" "):`${fe.trimEnd()}\u2026`;for(;(_t.getComputedTextLength()>$?Nt.length>4:!1);)Nt=Nt.slice(0,-2),Lt.text(dn(Nt))}}}let Z=E.append("g").attr("class",t.cls("hover")).style("display","none");Z.append("line").attr("class",t.cls("rule")).attr("y1",0).attr("y2",P);let Q=E.append("rect").attr("class",t.cls("overlay")).attr("width",H).attr("height",P);t.tooltip.bind(Q,A=>{var st;let[D]=n.pointer(A),w=X.invert(D),U=Math.max(0,Math.min(p-1,n.bisectCenter(m,w))),ut=d(U);Z.style("display",null).select("line").attr("x1",ut).attr("x2",ut);let j=e.series.map((rt,J)=>({si:J,v:rt.values[U]})).filter(rt=>rt.v!==null).sort((rt,J)=>J.v-rt.v),C=j.slice(0,8),$=C.map(rt=>it(t.cls("tip-row"),at(r,rt.si,t.dark),e.series[rt.si].label,S(rt.si)(rt.v))).join(""),z=j.length>C.length?`\x3cdiv class="${t.cls("tip-more")}">+${j.length-C.length} more\x3c/div>`:"",W=C.length?c?F((st=n.max(b,rt=>rt[U][1]))!=null?st:0):V(C[0].si)(C[0].v):P/2;t.tooltip.show(`\x3cdiv class="${t.cls("tip-title")}">${ct(i?String(e.x[U]):t.fmtX((e.xKind==="date",m[U])))}\x3c/div>${$}${z}`,ut+k.left,W+k.top)},()=>Z.style("display","none"))}function We(t){let{spec:n}=t;return __gvAnd((n.type==="line"?n.data.series.length===1:!1),()=>(!!dt(t,[n.data.series[0].key])))}function Ft(t,n){var r;return __gvAnd(t.style.paletteId.startsWith("highlight"),()=>(t.data.series[n].key!==((r=t.style.highlight)!=null?r:t.data.series[0].key)))}function Xn(t,n,r){let{d3:o,spec:e}=t,a=e.data;if(a.xKind==="date")return s=>{let c=Xe(o,n,r,s);return{ticks:c.ticks,label:(i,m)=>c.label(i,m)}};if(a.xKind==="category"){let s=a.x.map(String),c=s.length;return i=>({ticks:o.range(0,c,Math.max(1,Math.ceil(c/i))),label:m=>s[m]})}return Zt(t,n)}var Jt="http://www.w3.org/2000/svg",Ze=/[\p{Script=Latin}\p{Script=Greek}\p{Script=Cyrillic}]/u,Ue=/[_\-/.]/;function Wn(t,n,r){let o=[],e=Array.from(t);for(;(e.length>1?r(e.join(""))>n:!1);){let a=i=>{let m=e.slice(0,i).join("");return (Ze.test(e[i-1])?Ze.test(e[i]):!1)?`${m}-`:m},s=1;for(;((e.length-1)>(s)?__gvLe(r(a(s+1)),n):!1);)s++;let c=s;for(;(c>Math.ceil(s/2)?!Ue.test(e[c-1]):!1);)c--;(Ue.test(e[c-1])?(s=c):!1),o.push(a(s)),e=e.slice(s)}return{lines:o,rest:e.join("")}}function Ke(t,n,r,o){let e=[],a="";for(let s of t.split(/\s+/).filter(Boolean)){let c=a?`${a} ${s}`:s;if(__gvLe(o(c),n)){a=c;continue}(a?e.push(a):!1);let i=Wn(s,n,o);if(e.push(...i.lines),a=i.rest,e.length>r)break}if((a?e.push(a):!1),e.length>r){let s=Array.from(e[r-1].replace(/-$/,""));for(;(s.length>1?o(`${s.join("").trimEnd()}\u2026`)>n:!1);)s=s.slice(0,-1);e.length=r,e[r-1]=`${s.join("").trimEnd()}\u2026`}return e}function Qe(t){t.textContent="";let n=t.ownerDocument.createElementNS(Jt,"tspan");return t.appendChild(n),r=>(n.textContent=r,n.getComputedTextLength())}function Je(t,n,r){var a;let o=t.getAttribute("x"),e=t.ownerDocument;if(t.textContent="",(1)>=(n.length)){t.textContent=(a=n[0])!=null?a:"";return}n.forEach((s,c)=>{let i=e.createElementNS(Jt,"tspan");(o!==null?i.setAttribute("x",o):!1),(c?i.setAttribute("dy",`${r}em`):!1),i.textContent=s,t.appendChild(i)})}function ce(t,n,r,o,e){let a=Ke(n,r,o,Qe(t));Je(t,a,e);let s=__gvAnd((a.length>0?a[a.length-1].endsWith("\u2026"):!1),()=>(!n.endsWith("\u2026")));return{lines:Math.max(1,a.length),cut:s}}function Yn(t,n,r,o,e){let a=/\s/.test(t),s=f=>a?f.split(/\s+/).filter(Boolean):Array.from(f),c=f=>f.join(a?" ":""),i=s(t),m=n.filter(f=>f!==t).map(s),p=(f,b)=>(f.length>=b?c(f.slice(-b))===c(i.slice(-b)):!1),l=1;for(;((i.length)>(l)?m.some(f=>p(f,l)):!1);)l++;let h=c(i.slice(-l));for(let f=i.length-l-1;f>=0;f--){let b=c(i.slice(0,f)),x=a?`${b?`${b} `:""}\u2026 ${h}`:`${b}\u2026${h}`,g=Ke(x,r,1/0,e);if((o)>=(g.length))return g}return null}function tn(t,n){var a;let r=t.ownerDocument,o=r.createElementNS(Jt,"g"),e=r.createElementNS(Jt,"title");e.textContent=n,((a=t.parentNode)==null?!0:a.insertBefore(o,t)),o.appendChild(e),o.appendChild(t)}function le(t){var n;return __gvOr(Array.from(t.querySelectorAll("tspan")).map(r=>{var o;return(o=r.textContent)!=null?o:""}).join(" "),()=>(((n=t.textContent)!=null?n:"").trim()))}function ue(t,n,r,o=1.15){var s;let e=((s=t.textContent)!=null?s:"").trim(),a=ce(t,e,n,r,o);return (a.cut?tn(t,e):!1),a.lines}function gt(t,n,r,o=1.15){let e=t.map(s=>{var c;return((c=s.textContent)!=null?c:"").trim()}),a=t.map((s,c)=>s.getComputedTextLength()>n?ce(s,e[c],n,r,o):{lines:1,cut:!1});for(let s of Zn(t,e)){let c=Yn(e[s],e,n,r,Qe(t[s]));c?(Je(t[s],c,o),a[s]={lines:c.length,cut:!0}):a[s]=ce(t[s],e[s],n,r,o)}return a.forEach((s,c)=>__gvAnd(s.cut,()=>(tn(t[c],e[c])))),a.map(s=>s.lines)}function Zn(t,n){let r=new Map;t.forEach((e,a)=>{var s;return r.set(le(e),[...(s=r.get(le(e)))!=null?s:[],a])});let o=[];for(let e of r.values())(new Set(e.map(a=>n[a])).size>1?o.push(...e.filter(a=>n[a]!==le(t[a]))):!1);return o}var en=110,Un=3,Kn=19,Qn=10;function me(t){return t.toUpperCase()===mt.orange?mt.azure:mt.orange}function nn(t){var et,A,D,w,U,ut;let{d3:n,spec:r,svg:o}=t,{data:e,style:a}=r,s=r.type==="stacked",c=r.type==="combo",i=j=>(!c?!0:j===0),m=j=>__gvAnd((c?j>0:c),()=>(e.series[j].axis==="right")),p=j=>t.fmtFor(e.series[j]),l=e.x.map(j=>t.fmtX(j)),h=l.length;if(h===0)return;let f=e.series.length,b=0,x=0,g=[];if(s){let j=e.x.map((C,$)=>e.series.map(z=>{var W;return(W=z.values[$])!=null?W:0}));g=n.stack().keys(e.series.map((C,$)=>$)).value((C,$)=>C[$]).offset(n.stackOffsetDiverging)(j),b=Math.min(0,(et=n.min(g,C=>n.min(C,$=>$[0])))!=null?et:0),x=Math.max(0,(A=n.max(g,C=>n.max(C,$=>$[1])))!=null?A:0)}else{let j=e.series.filter((C,$)=>!m($)).flatMap(C=>C.values).filter(C=>C!==null);b=Math.min(0,(D=n.min(j))!=null?D:0),x=Math.max(0,(w=n.max(j))!=null?w:0)}((a.yMax!==null?a.yMax>x:!1)?(x=a.yMax):!1),(b===x?(x=1):!1);let k=e.series.some((j,C)=>m(C)),P=t.mobile?4:5,N=null,F=t.fmtAxis,G=0;if(k){let j=e.series.filter((z,W)=>m(W)).flatMap(z=>z.values).filter(z=>z!==null),C=(U=n.min(j))!=null?U:0,$=(ut=n.max(j))!=null?ut:1;(a.rightFromZero?(C=Math.min(0,C),$=Math.max(0,$)):!1),(C===$?($=C+1):!1),N=n.scaleLinear().domain([C,$]).nice(P),F=t.rightAxis(N.domain(),P),G=lt(t,N.ticks(P).map(F),t.mobile?12:14)+10,t.margin.right=Math.max(t.margin.right,G+4)}let y=t.margin,R=n.scaleLinear().domain([b,x]).nice(t.mobile?4:5).range([t.height-y.top-40,0]);t.setAxis(R.domain(),t.mobile?4:5),y.left=lt(t,wt(t,R).map(t.fmtAxis),t.mobile?12:14)+10;let _=Math.max(40,t.width-y.left-y.right),V=n.scaleBand().domain(l.map((j,C)=>String(C))).range([0,_]).paddingInner(.25).paddingOuter(.1),S=V.bandwidth(),M=t.mobile?12:13,I=lt(t,l,M),B=e.xKind!=="category",O=1,Y="flat";(I>S+V.step()*.25?(B?O=Math.ceil((I+10)/V.step()):Y=((14)>=(h)?S>36:!1)?"wrap":"rotate"):!1),(Y==="rotate"?(O=Math.max(1,Math.ceil(14/Math.max(1,V.step())))):!1);let K=o.append("g").attr("class",t.cls("ticks")),tt=0,H=[];l.forEach((j,C)=>{var st;if(C%O!==0)return;let $=((st=V(String(C)))!=null?st:0)+S/2,z=K.append("text").style("font-size",`${M}px`).text(j),W=z.node();if(Y==="rotate"){z.attr("text-anchor","end").attr("transform",`translate(${$},12) rotate(-45)`);let rt=Math.min((en-12)/.72,($+y.left-M)/Math.SQRT1_2);(W.getComputedTextLength()>rt?ue(W,rt,1):!1),tt=Math.max(tt,W.getComputedTextLength())}else z.attr("x",$).attr("y",20).attr("text-anchor","middle"),(Y==="wrap"?H.push(W):!1)});let X=Math.max(1,...gt(H,V.step()-4,Un));y.bottom=Y==="rotate"?Math.min(en,tt*.72+12)+8:Y==="wrap"?Math.ceil(20+(X-1)*M*1.15+M*.35+8):30;let E=Math.max(60,t.height-y.top-y.bottom),u=n.scaleLinear().domain([b,x]).nice(P).range([E,0]);((a.valueLabels?(24)>=(h):!1)?tr(u,E,y.top,Jn(t,g)):!1),(N==null?!0:N.range([E,0])),K.attr("transform",`translate(${y.left},${y.top+E})`);let d=o.append("g").attr("transform",`translate(${y.left},${y.top})`);if(Tt(t,d,u,_),N){let j=xt(r,at(r,e.series.findIndex((C,$)=>m($)),t.dark),t.dark);d.append("g").attr("class",t.cls("ticks")).selectAll("text").data(N.ticks(P)).join("text").attr("x",_+8).attr("y",C=>N(C)).attr("dy","0.32em").style("fill",j).text(C=>F(C)),(a.rightLabel?o.append("text").attr("class",t.cls("axis-title")).attr("x",t.width).attr("y",t.rightTitleY).attr("text-anchor","end").style("fill",j).text(a.rightLabel):!1)}let T=d.append("g"),v=Et(t)?ft(t,T,_,E):null,L=c?1:f,Z=n.scaleBand().domain(n.range(L)).range([0,S]).padding(L>1?.08:0),Q=[];if(s?(g.forEach((j,C)=>{j.forEach(($,z)=>{var pt;let W=u($[0]),st=u($[1]),rt=Math.abs(W-st);if((0)>=(rt))return;let J=(pt=V(String(z)))!=null?pt:0,ot=v?dt(t,[e.series[C].key,String(e.x[z])]):null;((v?ot:!1)?v.clip(ot).append("rect").attr("x",J).attr("y",Math.min(W,st)).attr("width",S).attr("height",rt):!1),T.append("rect").attr("class",t.cls("segment")).attr("x",J).attr("y",Math.min(W,st)).attr("width",S).attr("height",rt).attr("fill",at(r,C,t.dark)).attr("fill-opacity",ht(t,ot))})}),(a.valueLabels?e.x.forEach((j,C)=>{var rt;let $=e.series.map(J=>{var ot;return(ot=J.values[C])!=null?ot:0}),z=$.filter(J=>J>0).reduce((J,ot)=>J+ot,0),W=$.filter(J=>(0)>(J)).reduce((J,ot)=>J+ot,0),st=((rt=V(String(C)))!=null?rt:0)+S/2;(((z>0?!0:W===0))?Q.push({x:st,y:u(z)-6,text:t.fmtValue(z),below:!1}):!1),((0)>(W)?Q.push({x:st,y:u(W)+14,text:t.fmtValue(W),below:!0}):!1)}):!1)):e.series.forEach((j,C)=>{(i(C)?j.values.forEach(($,z)=>{var _t,At;if($===null)return;let W=((_t=V(String(z)))!=null?_t:0)+((At=Z(C))!=null?At:0),st=Z.bandwidth(),rt=u(Math.max(0,$)),J=Math.abs(u($)-u(0)),ot=Qt(W,rt,st,J,4,$>=0?"up":"down"),pt=v?dt(t,[j.key,String(e.x[z])]):null;((v?pt:!1)?v.clip(pt,Kt(t,String(e.x[z]))?{x:W,y:rt,w:st,h:J}:void 0).append("path").attr("d",ot):!1);let Lt=at(r,C,t.dark);T.append("path").attr("class",t.cls("bar")).attr("d",ot).attr("fill",(((0)>($)?L===1:!1)?!c:!1)?me(Lt):Lt).attr("fill-opacity",ht(t,pt)),(a.valueLabels?Q.push({x:W+st/2,y:$>=0?u($)-6:u($)+14,text:p(C)($),below:(0)>($)}):!1)}):!1)}),(v==null?!0:v.paint()),St(t,d,u,_),(c?e.series.forEach((j,C)=>{var rt;if(C===0)return;let $=(m(C)?N:!1)?N:u,z=J=>{var ot;return((ot=V(String(J)))!=null?ot:0)+S/2},W=(rt=n.line().defined(J=>J!==null).x((J,ot)=>z(ot)).y(J=>$(J))(j.values))!=null?rt:"",st=at(r,C,t.dark);T.append("path").attr("class",t.cls("line-halo")).attr("d",W),T.append("path").attr("class",t.cls("line")).attr("d",W).attr("stroke",st).attr("stroke-width",t.mobile?3:3.5).attr("stroke-dasharray",j.dashed?"6 4":null),j.values.forEach((J,ot)=>{(J!==null?T.append("circle").attr("class",t.cls("dot")).attr("cx",z(ot)).attr("cy",$(J)).attr("r",h>24?2.5:4).attr("fill",st):!1)})}):!1),(Q.length?(24)>=(h):!1)){let j=(L>1?!s:!1)?Z.bandwidth():S;(__gvLe(lt(t,Q.map($=>$.text),12),j+6)?d.append("g").selectAll("text").data(Q).join("text").attr("class",t.cls("value-label")).attr("x",$=>$.x).attr("y",$=>$.y).attr("text-anchor","middle").text($=>$.text):!1)}let q=d.append("g").selectAll("rect").data(l.map((j,C)=>C)).join("rect").attr("class",t.cls("overlay")).attr("x",j=>{var C;return((C=V(String(j)))!=null?C:0)-(V.step()-S)/2}).attr("width",V.step()).attr("y",0).attr("height",E);t.tooltip.bind(q,(j,C)=>{let $=l[C],z=e.series.map((J,ot)=>J.values[C]===null?"":it(t.cls("tip-row"),at(r,ot,t.dark),J.label,p(ot)(J.values[C]))).join(""),W=(s?f>1:!1)?it(t.cls("tip-row"),"transparent","Total",t.fmtValue(e.series.reduce((J,ot)=>{var pt;return J+((pt=ot.values[C])!=null?pt:0)},0))):"",[st,rt]=n.pointer(j,t.chartEl);t.tooltip.show(`\x3cdiv class="${t.cls("tip-title")}">${ct($)}\x3c/div>${z}${W}`,st,rt)})}function Jn(t,n){var c,i,m,p;let{d3:r,spec:o}=t;if(o.type==="stacked"){let l=(c=r.min(n,h=>r.min(h,f=>f[0])))!=null?c:0;return{top:(i=r.max(n,h=>r.max(h,f=>f[1])))!=null?i:null,bottom:(0)>(l)?l:null}}let e=(o.type==="combo"?o.data.series.slice(0,1):o.data.series).flatMap(l=>l.values).filter(l=>l!==null),a=(m=r.max(e.filter(l=>l>=0)))!=null?m:null,s=(p=r.min(e.filter(l=>(0)>(l))))!=null?p:null;return{top:a,bottom:s}}function tr(t,n,r,o){let e=Math.min(.4,Qn/n),a=Math.min(.4,Math.max(0,Kn-r)/n);for(let s=0;(3)>(s);s++){let[c,i]=t.domain();((o.bottom!==null?t(o.bottom)>n*(1-e):!1)?(c=i-(i-o.bottom)/(1-e)):!1),((o.top!==null?__gvLt(t(o.top),n*a):!1)?(i=(o.top-a*c)/(1-a)):!1),t.domain([c,i])}}var er=3;function nr(t){return t>1?t*13+14:30}function rn(t){var X,E;let{d3:n,spec:r,svg:o}=t,{data:e,style:a}=r,s=e.x.map(u=>t.fmtX(u)),c=s.length;if(c===0)return;let i=e.series.length,m=t.margin,p=e.series.flatMap(u=>u.values).filter(u=>u!==null),l=Math.min(0,(X=n.min(p))!=null?X:0),h=Math.max(0,(E=n.max(p))!=null?E:0);((a.yMax!==null?a.yMax>h:!1)?(h=a.yMax):!1),(l===h?(h=1):!1);let f=t.mobile?13:14,b=t.width*(t.mobile?.42:.34),x=Math.min(b,lt(t,s,f));m.left=x+10;let g=a.valueLabels,k=g?lt(t,p.map(t.fmtValue),12)+8:0;m.right=Math.max(m.right,k),(((0)>(l)?g:!1)?(m.left+=k):!1),m.bottom=g?8:28;let P=Math.max(40,t.width-m.left-m.right),N=o.append("g").attr("transform",`translate(${m.left},${m.top})`),F=N.append("g").attr("class",t.cls("cat-labels")),G=s.map(u=>F.append("text").attr("x",-10-(((0)>(l)?g:!1)?k:0)).attr("text-anchor","end").style("font-size",`${f}px`).text(u)),y=gt(G.map(u=>u.node()),x,er),R=G.map((u,d)=>({t:u,lines:y[d]})),_=nr(i),V=Math.max(_,Math.ceil(n.max(R,u=>u.lines)*f*1.15+10)),S=c*V,M=n.scaleLinear().domain([l,h]).nice(t.mobile?4:5).range([0,P]);t.setAxis(M.domain(),t.mobile?4:5);let I=Math.max(.25,1-_*.75/V),B=n.scaleBand().domain(s.map((u,d)=>String(d))).range([0,S]).paddingInner(I).paddingOuter(I/2),O=n.scaleBand().domain(n.range(i)).range([0,B.bandwidth()]).padding(i>1?.1:0);if(R.forEach(({t:u,lines:d},T)=>{var v;u.attr("y",((v=B(String(T)))!=null?v:0)+B.bandwidth()/2).attr("dy",`${.32-(d-1)*.575}em`)}),!g){let u=M.ticks(t.mobile?4:5);N.append("g").attr("class",t.cls("grid")).selectAll("line").data(u).join("line").attr("x1",d=>Math.round(M(d))+.5).attr("x2",d=>Math.round(M(d))+.5).attr("y1",0).attr("y2",S),N.append("g").attr("class",t.cls("ticks")).selectAll("text").data(u).join("text").attr("x",d=>M(d)).attr("y",S+20).attr("text-anchor","middle").text(d=>t.fmtAxis(d))}let Y=N.append("g"),K=Et(t)?ft(t,Y,P,S):null,tt=[];e.series.forEach((u,d)=>{u.values.forEach((T,v)=>{var w,U;if(T===null)return;let L=((w=B(String(v)))!=null?w:0)+((U=O(d))!=null?U:0),Z=O.bandwidth(),Q=M(Math.min(0,T)),q=Math.abs(M(T)-M(0)),et=Qt(Q,L,q,Z,4,T>=0?"right":"left"),A=K?dt(t,[u.key,String(e.x[v])]):null;((K?A:!1)?K.clip(A,Kt(t,String(e.x[v]))?{x:Q,y:L,w:q,h:Z}:void 0).append("path").attr("d",et):!1);let D=at(r,d,t.dark);Y.append("path").attr("class",t.cls("bar")).attr("d",et).attr("fill",((0)>(T)?i===1:!1)?me(D):D).attr("fill-opacity",ht(t,A)),(g?tt.push({x:T>=0?M(T)+6:M(T)-6,y:L+Z/2,text:t.fmtValue(T),anchor:T>=0?"start":"end"}):!1)})}),(K==null?!0:K.paint()),(0)>(l)?N.append("line").attr("class",t.cls("zero")).attr("x1",M(0)).attr("x2",M(0)).attr("y1",0).attr("y2",S):N.append("line").attr("class",t.cls("baseline")).attr("x1",M(0)+.5).attr("x2",M(0)+.5).attr("y1",0).attr("y2",S),N.append("g").selectAll("text").data(tt).join("text").attr("class",t.cls("value-label")).attr("x",u=>u.x).attr("y",u=>u.y).attr("dy","0.32em").attr("text-anchor",u=>u.anchor).text(u=>u.text);let H=N.append("g").selectAll("rect").data(s.map((u,d)=>d)).join("rect").attr("class",t.cls("overlay")).attr("x",-m.left).attr("width",t.width).attr("y",u=>{var d;return((d=B(String(u)))!=null?d:0)-(B.step()-B.bandwidth())/2}).attr("height",B.step());return t.tooltip.bind(H,(u,d)=>{if((i===1?g:!1))return;let T=s[d],v=e.series.map((Q,q)=>Q.values[d]===null?"":it(t.cls("tip-row"),at(r,q,t.dark),Q.label,t.fmtValue(Q.values[d]))).join(""),[L,Z]=n.pointer(u,t.chartEl);t.tooltip.show(`\x3cdiv class="${t.cls("tip-title")}">${ct(T)}\x3c/div>${v}`,L,Z)}),S+m.top+m.bottom}var an=40;function on(t){var X,E;let{d3:n,spec:r,svg:o}=t,{data:e,style:a}=r,s=(X=e.points)!=null?X:[];if(!s.length)return;let c=new Map(e.series.map((u,d)=>[u.key,d])),i=u=>{var d,T;return at(r,(T=c.get((d=u.group)!=null?d:e.series[0].key))!=null?T:0,t.dark)},m=([u,d])=>{let T=(__gvOr(__gvOr(d-u,()=>(Math.abs(u))),()=>(1)))*.04;return[u-T,d+T]},[p,l]=m(n.extent(s,u=>u.x));(a.xFromZero?(p=Math.min(0,p),l=Math.max(0,l)):!1),(a.xMin!==null?(p=a.xMin):!1),(a.xMax!==null?(l=a.xMax):!1);let[h,f]=m(n.extent(s,u=>u.y));(a.yFromZero?(h=Math.min(0,h),f=Math.max(0,f)):!1),(a.yMin!==null?(h=a.yMin):!1),(a.yMax!==null?(f=a.yMax):!1),(p>l?([p,l]=[l,p]):!1),(h>f?([h,f]=[f,h]):!1);let b=t.margin;b.bottom=a.xLabel?48:30;let x=t.height-b.top-b.bottom,g=n.scaleLinear().domain([h,f===h?h+1:f]).nice(5).range([x,0]);t.setAxis(g.domain(),t.mobile?4:5),b.left=lt(t,wt(t,g).map(t.fmtAxis),t.mobile?12:14)+10;let k=Math.max(40,t.width-b.left-b.right),P=n.scaleLinear().domain([p,l===p?p+1:l]).nice().range([0,k]),N=o.append("g").attr("transform",`translate(${b.left},${b.top})`);Tt(t,N,g,k),Xt(t,N,k,x),St(t,N,g,k);let F=u=>P(u);Ut(t,N,x,Yt(t,F,Zt(t,P),Wt(k,t.mobile)),F),(a.xLabel?N.append("text").attr("class",t.cls("axis-title")).attr("x",k).attr("y",x+42).attr("text-anchor","end").text(a.xLabel):!1);let G=t.mobile?4:5.5,y=t.id("plot");o.append("defs").append("clipPath").attr("id",y).append("rect").attr("x",-G).attr("y",-G).attr("width",k+2*G).attr("height",x+2*G),N.append("g").attr("clip-path",`url(#${y})`).selectAll("circle").data(s).join("circle").attr("class",t.cls("point")).attr("cx",u=>P(u.x)).attr("cy",u=>g(u.y)).attr("r",G).attr("fill",i);let[R,_]=P.domain(),[V,S]=g.domain(),M=s.filter(u=>__gvAnd(__gvAnd(__gvAnd(__gvAnd(u.label,()=>(u.x>=R)),()=>((_)>=(u.x))),()=>(u.y>=V)),()=>((S)>=(u.y)))).slice(0,an);if((M.length?(an)>=(M.length):!1)){let{kept:u}=je(M.map(d=>({p:d,y:g(d.y)-G-5})),13,8,x,40);N.append("g").selectAll("text").data(u).join("text").attr("class",t.cls("value-label")).attr("x",d=>P(d.p.x)).attr("y",d=>d.y).attr("text-anchor",d=>P(d.p.x)>k*.85?"end":__gvLt(P(d.p.x),k*.15)?"start":"middle").text(d=>d.p.label)}let I=n.Delaunay.from(s,u=>P(u.x),u=>g(u.y)),B=N.append("circle").attr("class",t.cls("ring")).attr("r",G+3).style("display","none"),O=s.some(u=>u.group!==void 0),Y=__gvOr(__gvOr(a.yLabel,()=>((O?"Vertical axis":(E=e.series[0])==null?void 0:E.label))),()=>("Vertical axis")),K=__gvOr(a.xLabel,()=>("Horizontal axis")),tt=N.append("rect").attr("class",t.cls("overlay")).attr("width",k).attr("height",x),H=()=>B.style("display","none");t.tooltip.bind(tt,u=>{let[d,T]=n.pointer(u),v=I.find(d,T),L=s[v];if((!L?!0:Math.hypot(P(L.x)-d,g(L.y)-T)>40)){H(),t.tooltip.hide();return}B.style("display",null).attr("cx",P(L.x)).attr("cy",g(L.y));let Z=__gvOr(__gvOr(L.label,()=>(L.group)),()=>("")),Q=((O?L.group:!1)?L.label:!1)?it(t.cls("tip-row"),i(L),L.group,""):"",q=((O?L.group:!1)?L.label:!1)?"transparent":i(L),et=Q+it(t.cls("tip-row"),"transparent",K,t.fmtX(L.x))+it(t.cls("tip-row"),q,Y,t.fmtValue(L.y));t.tooltip.show(`${Z?`\x3cdiv class="${t.cls("tip-title")}">${ct(Z)}\x3c/div>`:""}${et}`,P(L.x)+b.left,g(L.y)+b.top)},H)}var rr=.25,ar=16,or=3;function sn(t){let{d3:n,spec:r,svg:o}=t,{data:e,style:a}=r,s=e.x.map(String),c=e.series.length;if((!s.length?!0:!c))return t.height;let i=Math.max(1,Math.min(c,Math.floor(t.width/(t.mobile?170:220)))),m=Math.ceil(c/i),p=t.width/i,l=_=>_%i*p+p/2,h=c>1?e.series.map((_,V)=>o.append("text").attr("class",t.cls("donut-title")).attr("x",l(V)).attr("text-anchor","middle").text(_.label)):[],f=gt(h.map(_=>_.node()),p-12,or),b=h.map((_,V)=>({t:_,lines:f[V]})),x=Math.max(1,...b.map(_=>_.lines)),g=c>1?30+Math.ceil((x-1)*ar*1.15):0,k=Math.max(50,Math.min(p/2-12,t.mobile?130:150)),P=a.donutHole?k*.56:0,N=g+k*2+18,F=_=>{var V,S;return yt(r,(S=(V=e.categoryColors)==null?void 0:V[_])!=null?S:nt.muted,t.dark)},G=n.format(".0%"),y=n.arc().innerRadius(P).outerRadius(k).padAngle(a.donutHole?.012:.006).cornerRadius(a.donutHole?2:0),R=n.arc().innerRadius(P?(P+k)/2:k*.62).outerRadius(P?(P+k)/2:k*.62);return e.series.forEach((_,V)=>{var H;let S=Math.floor(V/i),M=l(V),I=S*N+g+k+6,B=_.values.map(X=>(X!==null?X>0:!1)?X:0),O=B.reduce((X,E)=>X+E,0),Y=o.append("g").attr("transform",`translate(${M},${I})`);if(((H=b[V])==null?!0:H.t.attr("y",S*N+18)),!O)return;let K=n.pie().sort(null).value(X=>X)(B),tt=ft(t,Y,0,0);K.forEach((X,E)=>{var v;if((0)>=(X.value))return;let u=(v=y(X))!=null?v:"",d=dt(t,[s[E],_.key]);(d?tt.clip(d,{x:-k,y:-k,w:k*2,h:k*2}).append("path").attr("d",u):!1);let T=Y.append("path").attr("class",t.cls("slice")).attr("d",u).attr("fill",F(E)).attr("fill-opacity",ht(t,d));t.tooltip.bind(T,L=>{var et;let[Z,Q]=n.pointer(L,t.chartEl),q=it(t.cls("tip-row"),F(E),c>1?_.label:"Value",t.fmtValue((et=_.values[E])!=null?et:0))+it(t.cls("tip-row"),"transparent","Share",G(X.value/O));t.tooltip.show(`\x3cdiv class="${t.cls("tip-title")}">${ct(s[E])}\x3c/div>${q}`,Z,Q)})}),tt.paint(),K.forEach((X,E)=>{if(((rr)>(X.endAngle-X.startAngle)?!0:(0)>=(X.value)))return;let[u,d]=R.centroid(X),T=Ot(F(E)),v=Y.append("text").attr("class",t.cls("slice-label")).attr("x",u).attr("y",d).attr("dy","0.35em").attr("text-anchor","middle").text(G(X.value/O));(T!=="#FFFFFF"?v.style("fill",T).style("stroke","rgba(255,255,255,0.35)"):!1)})}),m*N+6}function ln(t){let{d3:n,spec:r,svg:o}=t,{data:e,style:a}=r,[s,c]=e.series;if(((!s?!0:!c)?!0:!e.x.length))return;let m=e.x.map(String).map((u,d)=>({i:d,name:u,a:s.values[d],b:c.values[d]})).filter(u=>(u.a!==null?u.b!==null:!1));if(!m.length)return;let p=t.margin;p.top=Math.max(p.top,34),p.bottom=14;let l=t.mobile?12:13,h=l+3,f=Math.max(t.height-p.top-p.bottom,m.length*h);o.attr("height",f+p.top+p.bottom);let[b,x]=Mt(m.flatMap(u=>[u.a,u.b]),a.yFromZero,a.yMin,a.yMax),g=n.scaleLinear().domain([b,x]).nice().range([f,0]),[k,P]=g.domain(),N=(u,d)=>d==="left"?{name:u.name,value:t.fmtValue(u.a),nameFirst:!0}:{name:t.mobile?"":u.name,value:t.fmtValue(u.b),nameFirst:!1},F=(u,d=u.name)=>d?u.nameFirst?`${d} ${u.value}`:`${u.value} ${d}`:u.value,G=u=>F(N(u,"left")),y=u=>F(N(u,"right")),R=t.width*(t.mobile?.4:.3),_=Math.min(R,lt(t,m.map(G),l))+12,V=Math.min(R,lt(t,m.map(y),l))+12,S=_,M=Math.max(S+60,t.width-V),I=u=>{var d,T;return yt(r,(T=(d=e.categoryColors)==null?void 0:d[u])!=null?T:nt.muted,t.dark)},B=u=>(I(u).toUpperCase()===nt.muted.toUpperCase()?!0:I(u).toUpperCase()===nt.darkMuted.toUpperCase()),O=o.append("g").attr("transform",`translate(0,${p.top})`);o.append("text").attr("class",t.cls("slope-head")).attr("x",S).attr("y",18).attr("text-anchor","middle").text(s.label),o.append("text").attr("class",t.cls("slope-head")).attr("x",M).attr("y",18).attr("text-anchor","middle").text(c.label),O.append("line").attr("class",t.cls("slope-axis")).attr("x1",S).attr("x2",S).attr("y1",0).attr("y2",f),O.append("line").attr("class",t.cls("slope-axis")).attr("x1",M).attr("x2",M).attr("y1",0).attr("y2",f);let Y=t.id("plot");o.append("defs").append("clipPath").attr("id",Y).append("rect").attr("x",0).attr("y",-5).attr("width",t.width).attr("height",f+10);let K=O.append("g").attr("clip-path",(a.yMin!==null?!0:a.yMax!==null)?`url(#${Y})`:null),tt=[...m].sort((u,d)=>+!B(u.i)-+!B(d.i));for(let u of tt){let d=I(u.i);K.append("line").attr("class",t.cls("slope-line")).attr("x1",S).attr("x2",M).attr("y1",g(u.a)).attr("y2",g(u.b)).attr("stroke",d).attr("stroke-width",B(u.i)?2:3),K.append("circle").attr("cx",S).attr("cy",g(u.a)).attr("r",4).attr("fill",d),K.append("circle").attr("cx",M).attr("cy",g(u.b)).attr("r",4).attr("fill",d)}let H=new Set,X=u=>{let d=m.map(v=>({r:v,y:g(u==="left"?v.a:v.b)}));sr(d,h,h/2,f);let T=u==="left"?S:M;for(let v of d){let L=u==="left"?v.r.a:v.r.b,Z=L>P?-1:(k)>(L)?1:0;((Z?!H.has(`${u}${Z}`):!1)?(H.add(`${u}${Z}`),O.append("path").attr("class",t.cls("off-scale")).attr("d",`M${T},${(0)>(Z)?-8:f+8}l-5,${-Z*8}h10z`).attr("fill",t.dark?nt.darkSecondary:nt.secondary).append("title").text((0)>(Z)?"Above the axis range":"Below the axis range")):!1);let Q=N(v.r,u),q=O.append("text").attr("class",t.cls("slope-label")).attr("x",u==="left"?S-10:M+10).attr("y",v.y).attr("dy","0.32em").attr("text-anchor",u==="left"?"end":"start").style("font-size",`${l}px`).text(F(Q));(B(v.r.i)?!0:q.style("fill",xt(r,I(v.r.i),t.dark)));let et=q.node(),A=Q.name;for(;(et.getComputedTextLength()>R?A.length>3:!1);)A=A.slice(0,-1),q.text(F(Q,`${A.trimEnd()}\u2026`))}};X("left"),X("right");let E=O.append("rect").attr("class",t.cls("overlay")).attr("x",S).attr("width",M-S).attr("height",f);t.tooltip.bind(E,u=>{let[d,T]=n.pointer(u),v=(d-S)/(M-S),L=m[0],Z=1/0;for(let et of m){let A=g(et.a)+(g(et.b)-g(et.a))*v;(__gvLt(Math.abs(A-T),Z)?([L,Z]=[et,Math.abs(A-T)]):!1)}let Q=L.b-L.a,q=it(t.cls("tip-row"),I(L.i),s.label,t.fmtValue(L.a))+it(t.cls("tip-row"),I(L.i),c.label,t.fmtValue(L.b))+it(t.cls("tip-row"),"transparent","Change",`${Q>=0?"+":""}${t.fmtValue(Q)}`);t.tooltip.show(`\x3cdiv class="${t.cls("tip-title")}">${ct(L.name)}\x3c/div>${q}`,d,T+p.top)})}function sr(t,n,r,o){let e=[...t].sort((a,s)=>a.y-s.y);e.forEach((a,s)=>a.y=Math.max(a.y,s?e[s-1].y+n:r));for(let a=e.length-1;a>=0;a--)e[a].y=Math.min(e[a].y,(e.length-1)>(a)?e[a+1].y-n:o)}var ir=3;function cn(t){let{d3:n,spec:r,svg:o}=t,{data:e,style:a}=r,s=e.x.map(E=>t.fmtX(E)),c=s.length;if((!c?!0:!e.series.length))return t.height;let i=t.margin,m=t.mobile?30:32,p=t.mobile?13:14,l=t.width*(t.mobile?.38:.3),h=Math.min(l,lt(t,s,p));i.left=h+14,i.right=Math.max(i.right,16),i.bottom=30,i.top=Math.max(i.top,6);let f=Math.max(60,t.width-i.left-i.right),b=o.append("g").attr("transform",`translate(${i.left},${i.top})`),x=s.map(E=>b.append("text").attr("class",t.cls("cat-label")).attr("x",-12).attr("text-anchor","end").style("font-size",`${p}px`).text(E)),g=gt(x.map(E=>E.node()),h,ir),k=Math.max(m,Math.ceil(Math.max(1,...g)*p*1.15+10)),P=c*k,N=e.series.flatMap(E=>E.values).filter(E=>E!==null),[F,G]=Mt(N,a.yFromZero,a.yMin,a.yMax),y=t.mobile?4:5,R=n.scaleLinear().domain([F,G]).nice(y).range([0,f]);t.setAxis(R.domain(),y);let[_,V]=R.domain(),S=E=>(E>=_?(V)>=(E):!1),M=E=>E*k+k/2,I=E=>e.series.map(u=>u.values[E]).filter(u=>u!==null),B=s.map((E,u)=>a.valueLabels?lr(I(u),S):[]);(a.valueLabels?pr(t,R,f,B):!1);let O=cr(t,R,y),Y=E=>lt(t,[t.fmtValue(E)],12),K=B.map(E=>ur(R,f,E,Y)),tt=t.id("plot");o.append("defs").append("clipPath").attr("id",tt).append("rect").attr("x",R(_)-8).attr("y",0).attr("width",R(V)-R(_)+16).attr("height",P),b.append("g").attr("class",t.cls("grid")).selectAll("line").data(O).join("line").attr("x1",E=>Math.round(R(E))+.5).attr("x2",E=>Math.round(R(E))+.5).attr("y1",0).attr("y2",P),b.append("g").attr("class",t.cls("ticks")).selectAll("text").data(O).join("text").attr("x",E=>R(E)).attr("y",P+20).attr("text-anchor","middle").text(E=>t.fmtAxis(E)),(((0)>(F)?G>0:!1)?b.append("line").attr("class",t.cls("zero")).attr("x1",R(0)).attr("x2",R(0)).attr("y1",0).attr("y2",P):!1);let H=b.append("g").attr("clip-path",`url(#${tt})`);s.forEach((E,u)=>{x[u].attr("y",M(u)).attr("dy",`${.32-(g[u]-1)*.575}em`);let d=I(u),T=Math.min(...d),v=Math.max(...d);(((d.length>1?v>=_:!1)?(V)>=(T):!1)?H.append("line").attr("class",t.cls("dumbbell")).attr("x1",R(Math.max(_,T))).attr("x2",R(Math.min(V,v))).attr("y1",M(u)).attr("y2",M(u)):!1),mr(t,b,R,M(u),d),e.series.forEach((L,Z)=>{let Q=L.values[u];(Q!==null?H.append("circle").attr("class",t.cls("dot")).attr("cx",R(Q)).attr("cy",M(u)).attr("r",t.mobile?6:7).attr("fill",at(r,Z,t.dark)):!1)});for(let L of K[u])b.append("text").attr("class",t.cls("value-label")).attr("x",R(L.v)+L.dx).attr("y",M(u)).attr("dy","0.32em").attr("text-anchor",L.anchor).text(t.fmtValue(L.v))});let X=b.append("g").selectAll("rect").data(s.map((E,u)=>u)).join("rect").attr("class",t.cls("overlay")).attr("x",-i.left).attr("width",t.width).attr("y",E=>E*k).attr("height",k);return t.tooltip.bind(X,(E,u)=>{let d=e.series.map((L,Z)=>L.values[u]===null?"":it(t.cls("tip-row"),at(r,Z,t.dark),L.label,t.fmtValue(L.values[u]))).join(""),[T,v]=n.pointer(E,t.chartEl);t.tooltip.show(`\x3cdiv class="${t.cls("tip-title")}">${ct(s[u])}\x3c/div>${d}`,T,v)}),P+i.top+i.bottom}function lr(t,n){if(!t.length)return[];let r=Math.min(...t),o=Math.max(...t),e=[];return (((o)>(r)?n(r):!1)?e.push({v:r,anchor:"end",dx:-11}):!1),(n(o)?e.push({v:o,anchor:"start",dx:11}):!1),e}function cr(t,n,r){for(let o=r;o>=1;o--){t.setAxis(n.domain(),o);let e=n.ticks(o),a=e.map(c=>lt(t,[t.fmtAxis(c)],12));if((e.every((c,i)=>(i===0?!0:n(c)-n(e[i-1])>=(a[i]+a[i-1])/2+8))?!0:o===1))return e}return[]}function ur(t,n,r,o){let e=l=>{let h=l.anchor==="start"?t(l.v)+l.dx:t(l.v)+l.dx-o(l.v);return[h,h+o(l.v)]},a=l=>(e(l)[0]>=1?__gvLe(e(l)[1],n-1):!1),s=l=>({v:l.v,anchor:l.anchor==="end"?"start":"end",dx:-l.dx}),c=Math.min(...r.map(l=>l.v)),i=Math.max(...r.map(l=>l.v)),m=l=>((2)>(r.length)?!0:(e(l)[0]>=t(c)+7?__gvLe(e(l)[1],t(i)-7):!1)),p=[];for(let l of r){let h=a(l)?l:s(l);(((!a(h)?!0:(h!==l?!m(h):!1))?!0:p.some(f=>(__gvLt(e(f)[0],e(h)[1]+6)?__gvLt(e(h)[0],e(f)[1]+6):!1)))?!0:p.push(h))}return p}function mr(t,n,r,o,e){let[a,s]=r.domain(),c=e.filter(l=>(a)>(l)),i=e.filter(l=>l>s),m=t.dark?nt.darkSecondary:nt.secondary,p=(l,h,f)=>{let b=`M${l},${o}l${-h*6},-5v10z`;n.append("path").attr("class",t.cls("off-scale")).attr("d",b).attr("fill",m).append("title").text(`${f} ${f===1?"value is":"values are"} ${(0)>(h)?"below":"above"} the axis range`)};(c.length?p(r(a)-2,-1,c.length):!1),(i.length?p(r(s)+2,1,i.length):!1)}function pr(t,n,r,o){let e=new Map,a=i=>((e.has(i)?!0:e.set(i,lt(t,[t.fmtValue(i)],12))),e.get(i)),s=0,c=0;for(let i=0;(4)>(i);i++){let m=0,p=0;for(let l of o.flat()){let h=n(l.v)+l.dx;l.anchor==="end"?m=Math.max(m,a(l.v)-h+2):p=Math.max(p,h+a(l.v)-r+2)}if(((.5)>=(m)?(.5)>=(p):!1))return;s=Math.min(r*.3,s+Math.max(0,m)),c=Math.min(r*.3,c+Math.max(0,p)),n.range([s,r-c])}}var pe={paletteId:"",political:!1,background:"white",yFormat:{prefix:"",suffix:"",decimals:null},xFormat:{prefix:"",suffix:"",decimals:null},yFromZero:!0,yMin:null,yMax:null,valueLabels:!1,endDots:!0,imageFill:null,width:"column",height:400,yLabel:"",xLabel:"",highlight:null,legend:"top",xFromZero:!1,xMin:null,xMax:null,rightAxis:[],rightFormat:{prefix:"",suffix:"",decimals:null},rightLabel:"",rightFromZero:!0,donutHole:!0,partners:[],map:{method:"rounded",classes:5,breaks:[],palette:"seq-orange",reverse:!1,midpoint:null,continuous:!1,labels:!0,symbolMax:18,noDataLabel:"No data",thresholds:[],stops:[],colors:[],domain:null,categories:[],sizeTicks:[],projection:"equal-earth",sphere:!1,graticule:!1,center:[-30,20]}};var mn=600;function un(t){var n;return{...t,style:{...pe,...t.style,map:{...pe.map,...(n=t.style)==null?void 0:n.map}}}}function pn(t,n){var e;if(!n.size)return de(t);let r=t.type==="combo"?t.data.series.flatMap((a,s)=>n.has(a.key)?s===0?[{...a,values:a.values.map(()=>null)}]:[]:[a]):t.data.series.filter(a=>!n.has(a.key)),o=(e=t.data.points)==null?void 0:e.filter(a=>{var s,c;return!n.has((c=a.group)!=null?c:(s=t.data.series[0])==null?void 0:s.key)});return de({...t,data:{...t.data,series:r,points:o}})}function de(t){if((t.type!=="line"?t.type!=="combo":!1))return t;let n=t.data.series.filter(s=>s.values.some(c=>c!==null));if((!n.length?!0:!n.every(s=>s.axis==="right")))return t;let r=t.data.series.map(s=>({...s,axis:"left"})),o=t.style,e=__gvOr(o.rightLabel,()=>((hr(o.yFormat,o.rightFormat)?o.yLabel:""))),a={...o,yFormat:o.rightFormat,yFromZero:o.rightFromZero,yMin:null,yMax:null,yLabel:e,rightLabel:""};return{...t,style:a,data:{...t.data,series:r}}}function dr(t){if((t.type!=="line"?t.type!=="combo":!1))return!1;let n=(r,o)=>(r.axis==="right"?((t.type==="line"?!0:o>0)):!1);return __gvAnd(t.data.series.some(n),()=>(t.data.series.some((r,o)=>!n(r,o))))}function hr(t,n){var r,o;return __gvAnd(__gvAnd((t.prefix===n.prefix?t.suffix===n.suffix:!1),()=>(t.decimals===n.decimals)),()=>(((r=t.multiply)!=null?r:1)===((o=n.multiply)!=null?o:1)))}function fr(t,n,r,o=null){var y,R,_,V;let e=un(n),a=o?we(o):null,s=new Set,c=`gv-${e.slug}`,i=S=>`${c}__${S}`,m=t.querySelector(`.${i("chart")}`),p=t.querySelector(`.${i("legend")}`),l=Ge(m,i("tooltip")),h=-1,f,b=0;(p==null?!0:p.addEventListener("click",S=>{let M=S.target.closest("[data-key]"),I=M==null?void 0:M.dataset.key;(I!==void 0?(s.has(I)?s.delete(I):((e.data.series.length-1)>(s.size)?s.add(I):!1),x()):!1)}));let x=()=>{var Q,q,et,A,D;b=0;let S=Math.floor(m.clientWidth);if((0)>=(S))return;let M=e.style.background==="white"?re(t):{color:null,dark:!1},I=M.dark;t.classList.toggle(`${c}--dark`,I),M.color?t.style.setProperty("--gv-halo",M.color):t.style.removeProperty("--gv-halo"),h=S,f=M.color;let B=(mn)>(t.clientWidth);((Q=m.querySelector("svg"))==null?!0:Q.remove());let O=m.ownerDocument.createElementNS("http://www.w3.org/2000/svg","svg");m.insertBefore(O,m.firstChild);let Y=r.select(O).attr("class",i("svg")).attr("width",S).attr("aria-hidden","true"),K=ge(e.type),tt=K?400:B?Math.min(e.style.height,360):e.style.height;Y.attr("height",tt);let H=pn(e,s),X=H.style.yFormat,E=H.style.rightFormat,u=Gt(r,X.prefix,X.suffix,X.decimals,X.multiply),d=Gt(r,E.prefix,E.suffix,E.decimals,E.multiply),T=w=>u.value(w),v={d3:r,spec:H,base:c,root:t,chartEl:m,svg:Y,width:S,height:tt,mobile:B,dark:I,page:M.color,margin:{top:(((H.style.yLabel?!0:H.style.rightLabel))?!["bar","donut","dot","slope"].includes(e.type):!1)?30:10,right:14,bottom:30,left:40},id:w=>`${c}-${w}`,cls:i,fmtAxis:w=>T(w),setAxis:(w,U)=>{T=$t(r,X,w,U)},fmtValue:u.value,fmtRightValue:d.value,rightAxis:(w,U)=>$t(r,E,w,U),fmtFor:w=>w.axis==="right"?d.value:u.value,fmtX:Fe(r,e,B),xAxis:(w,U)=>$t(r,e.style.xFormat,w,U),color:w=>at(H,w,I),tooltip:l,rightTitleY:14},L=(K?a:!1)?Re(a,e):a;K?(L?He(v,p,e,L):!1):Oe(v,p,e,s);let Z=__gvAnd(__gvAnd(__gvAnd((!K?e.type!=="bar":!1),()=>(e.type!=="donut")),()=>(e.type!=="dot")),()=>(e.type!=="slope"));if((((Z?H.style.yLabel:!1)?H.style.rightLabel:!1)?dr(H):!1)){let[w,U]=[H.style.yLabel,H.style.rightLabel].map(ut=>lt(v,[ut],12));(w+U+16>S?(v.rightTitleY=30,v.margin.top+=16):!1)}((H.style.yLabel?Z:!1)?Y.append("text").attr("class",i("axis-title")).attr("x",0).attr("y",14).text(H.style.yLabel):!1);try{let w=e.type;if(K){if((!a?!0:a.id!==((q=e.data.map)==null?void 0:q.geo)))throw new Error("map geography missing");Y.attr("height",Ie(v,L))}else (w==="line"?!0:w==="area")?Ye(v):((w==="column"?!0:w==="stacked")?!0:w==="combo")?nn(v):w==="bar"?Y.attr("height",(et=rn(v))!=null?et:tt):w==="scatter"?on(v):w==="donut"?Y.attr("height",(A=sn(v))!=null?A:tt):w==="slope"?ln(v):(w==="dot"?Y.attr("height",(D=cn(v))!=null?D:tt):!1)}catch(w){Y.selectAll("*").remove(),Y.append("text").attr("class",i("ticks")).attr("x",0).attr("y",20).text("Chart could not be drawn."),console.error("[gristviz]",w)}},g=()=>{(b?!0:(b=requestAnimationFrame(x)))},k=new ResizeObserver(()=>{(Math.floor(m.clientWidth)!==h?g():!1)});k.observe(m);let P=()=>{((e.style.background==="white"?re(t).color!==f:!1)?g():!1)},N=new MutationObserver(P),F=t.ownerDocument;N.observe(F.documentElement,{attributes:!0,attributeFilter:["class","style","data-theme"]}),(F.body?N.observe(F.body,{attributes:!0,attributeFilter:["class","style","data-theme"]}):!1);let G=(R=(y=F.defaultView)==null?void 0:y.matchMedia)==null?void 0:R.call(y,"(prefers-color-scheme: dark)");return((_=G==null?void 0:G.addEventListener)==null?!0:_.call(G,"change",P)),x(),((V=F.fonts)==null?!0:V.ready.then(()=>g())),{update(S){e=un(S);for(let M of[...s])(e.data.series.some(I=>I.key===M)?!0:s.delete(M));x()},destroy(){var S;k.disconnect(),N.disconnect(),l.destroy(),((S=G==null?void 0:G.removeEventListener)==null?!0:S.call(G,"change",P)),(b?cancelAnimationFrame(b):!1)}}}return xn(gr);})(); function run(d3){var el=document.getElementById(ID);if(el)__gvRuntime.mount(el,SPEC,d3,GEO);} function fail(){var el=document.getElementById(ID);var c=el?el.querySelector("."+ID+"__chart"):null;if(c)c.textContent="This chart could not load. Try refreshing the page.";} function loadD3(){return new Promise(function(res,rej){ var s=document.createElement("script"),page=window.d3,mine,trap=false; try{Object.defineProperty(window,"d3",{configurable:true,enumerable:true, get:function(){return document.currentScript===s?mine:page;}, set:function(v){if(document.currentScript===s)mine=v;else page=v;}});trap=true;} catch(e){window.d3=undefined;} function settle(){if(trap){delete window.d3;if(page!==undefined)window.d3=page;}else{mine=window.d3;window.d3=page;}} s.src="https://cdnjs.cloudflare.com/ajax/libs/d3/7.8.5/d3.min.js";s.integrity="sha384-su5kReKyYlIFrI62mbQRKXHzFobMa7BHp1cK6julLPbnYcCW9NIZKJiTODjLPeDh";s.crossOrigin="anonymous";s.async=true; s.onload=function(){settle();if(mine?mine.stack:!1)res(Object.assign({},mine));else rej(new Error("d3 did not load"));}; s.onerror=function(e){settle();rej(e);}; document.head.appendChild(s);});} function go(){ if(window.d3?window.d3.stack?/^7\./.test(window.d3.version?window.d3.version:""):!1:!1){run(window.d3);return;} if(!window.__gvD3)window.__gvD3=loadD3(); window.__gvD3.then(run,fail); } if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",go);else go(); })();“There is a huge amount of disparity,” in the results, said Christianne Eason, the organization’s president of sport safety and education. Thirteen states and Washington, D.C., scored 15 points or higher, while 17 came in at 5 points or below. Some of the strongest policies are in the Southeast, where heat and humidity can produce some of the nation’s most dangerous conditions. Georgia has led the way.
Between 1994 and 2009, the state recorded six high school football deaths, which was among the highest in the country. After a string of high-profile incidents, officials examined what schools were doing in order to find ways to improve. “The policies for each school district were all over the map,” said Bud Cooper, a clinical professor emeritus of kinesiology at the University of Georgia who was involved in that work. One school, he remembered, wouldn’t suspend practice until the heat index hit 140. But the research showed a clear trend, he said: “As the temperatures got greater and practices got longer, the risk went up.”
In 2012, the Georgia High School Association implemented some of the most robust policies in the country. Schools are required to take wet bulb globe temperature measurements and adjust practice lengths accordingly. Football teams also must abide by an acclimatization period that limits practices during the first five days of training so players can grow accustomed to the heat. Researchers found that, within three years, heat-related illness had dropped dramatically.
The only heat-related death since the policies took effect, Cooper said, was Imani Bell, a 16-year-old basketball player who died after running stairs in extreme heat in 2019. Her family accused the school of violating the heat rules and settled with the district for $10 million; two coaches are awaiting trial on charges that include second-degree murder and involuntary manslaughter.
Georgia’s turnaround shows that strict heat policies can work. “You could say it was luck, for one year, two years, three years,” Cooper said, but it’s been about 15 seasons. “That goes beyond luck. That’s a result.”
The analysis by the Korey Stringer Institute shows that, aside from Vermont and New Hampshire, where officials have adopted stringent heat policies, many of the states that still have the most work to do are along the nation’s northern border. Even athletes in cooler climates need to acclimatize to summer temperatures, said Cooper, especially as climate change makes extremes and spikes more common. Pushing athletes into tough practices in hot conditions too quickly is a recipe for harm.
“Those student athletes aren’t ready for that,” he said.
Some resistance to stronger heat policies centers on resources — school districts may worry about the cost of WBGT gauges, athletic trainers, or equipment like immersion tubs. But coaches also fear they won’t be competitive under new rules.
“We had to reassure them that what they’re doing is the right thing,” Cooper said of his experience in Georgia. “But at the end of the day, the level of play in high school football in the state of Georgia is still just as high as it was 15 years ago.”
High school athletic trainers in Norwich, Connecticut, douse a colleague in ice water during a training exercise meant to help them protect players from extreme heat. Cold water immersion is the most effective treatment for heat stroke. Mark Mirko/Connecticut Public via Getty ImagesProtections are even more important in youth sports, because children are more vulnerable to extreme heat. But deficiencies can be even greater, with policy development often falling to individual leagues, teams, or coaches, many of them volunteers. “It’s truly the wild west,” said pediatrician and researcher Dr. Michele LaBotz, who wants heat taken as seriously as threats such as concussions or lightning. “There is not a mechanism yet for disseminating good information.”
College athletes are in many ways better positioned. Athletic trainers are more ubiquitous, and multimillion-dollar budgets make acquiring equipment less of an obstacle. But the NCAA has few heat-related mandates; most of its guidance is voluntary. “They have not been willing to make things required,” said Casa. “You don’t get credit if it’s a recommendation.”
The NCAA confirmed that it provides “recommendations and guidelines” but declined to answer follow-up questions on the record. The potential for confusion is evident in Arizona State’s heat policy, which runs three pages and uses the words “should,” “will,” “may,” “can,” “recommended,” and “guidelines.”
On Friday, ASU announced that former Arizona Supreme Court Chief Justice Scott Bales will lead an independent review of the university’s planning, policies, and response to outdoor athletic activities, including the use of outside consultants. The university has asked Bales to complete the review by early December.
In a statement that Carey released Friday afternoon, Mayich’s family welcomed Bales’ appointment but said the planned review does not go far enough. It wants an independent investigation of what happened on the field, who was responsible, and whether university, athletic conference, or NCAA rules were violated. Carey called on the university to expand Bales’ mandate to answer those questions or appoint a second independent investigator, and to make the findings public.
Whatever comes of the review, ASU already had heat-safety measures that experts say could have protected Mayich – if they were followed.
Mayich’s teammates described his collapse in detail, writing in their letter that “Matthew was unintelligible and non-responsive. His lips were gray.” By the time paramedics arrived, he had been down for 17 minutes, during which “nothing effectively cooled him.” They accuse the university of a slew of policy violations in the minutes, hours, and days leading to that moment.
The missteps, they wrote, started at least eight days before the workout, when ASU hockey staff submitted an official request to have Ziesel lead it. The university timeline says the team did not include the required written activity plan, and it provides no indication that the request was reviewed or approved before Ziesel met with athletes, as school policy dictates. His lawyer, Kazan, told Grist in an email that “as far as he was told, he was approved by the coaching staff and they were aware of his leadership training plan.”
Mayich, who is from Ontario, Canada, arrived in Arizona eight days before the session. In theory, that was just enough time to complete the seven- to 14-day acclimatization period the university’s heat policy called for. But NCAA rules barred official practices until August 20. Voluntary workouts before then were held indoors with air conditioning and only short stints outdoors. That isn’t sufficient to induce acclimatization, Casa said. Research has shown that physiological adaptation takes repeated and gradually increasing exposure to heat. “Just being there,” he said, “does nothing to help with heat acclimatization.”
When the opening practice finally arrived, the university policy “recommended” that staff take wet bulb globe temperature readings. But the players wrote that “no WBGT instrument was on the field, and no measurement was taken at any point.” The university’s report says it used data from a Weather Underground sensor roughly one mile away, with WBGT estimates, not measurements.
University officials did not respond to written questions seeking clarification, but a 2021 study by researchers at the school found that taking readings at the stadium is a far more accurate indicator of potential heat stress. “On-field WBGT observations were, on average, significantly higher than WBGT estimated from regional weather stations,” the authors wrote, noting a difference of more than four degrees. Practitioners, they said, “should not rely on regional weather station estimations without corrections.”
Mayich’s teammates said the practice occurred in full sun, suggesting the wet bulb globe temperature may have been at the higher end of the university’s estimates, which reached well into the 80s. But even the off-site measurements put at least part of the work out in the “high” zone of the university’s heat-risk chart, under which only acclimatized athletes can participate.
Matthew Mayich on the ice in Ottawa, Canada, in 2024. Chris Tanouye/Getty ImagesWhether Mayich was eligible to practice or not, his teammates wrote that he never got water. There was a brief opportunity to hydrate, but only those who finished the bear crawl first had time to do so. Mayich wasn’t one of them, the players wrote, and went without. He was also showing signs of distress well before the final exercise mentioned in the university’s report. “Matthew crawled on hands and knees and appeared disoriented. When he stood, he nearly fell,” the teammates wrote in the letter. “In the buddy carry, one of us carried him, but he could not carry his partner back.”
Casa called all of that lead-up a “distraction” from arguably the biggest issue: There was no immersion tub, which ASU’s policy called for in multiple places. After he fell, Mayich’s teammates said he spent “several minutes” on the hot turf as people squirted him with water bottles and applied cold towels before he was moved to the shade. They briefly sprayed him with “warm water” from a garden hose before police and paramedics took over, according to their letter.
Mayich’s medical diagnosis may not be publicly revealed for some time. Based on what he’s read so far, Casa says that it’s “very likely a heat stroke” but can’t say for certain without more information, such as rectal temperatures. In the meantime, Mayich has remained on life support at Barrow Neurological Institute. Just 2 miles away, ASU held an event on Tuesday to launch its new Center for Heat Preparedness.
Scott Barclay, the university’s interim vice president of research, opened the day-long symposium extolling the importance of combating heat-related illnesses and death. “Heat is a killer,” he said in his remarks, which didn’t mention Mayich. “In Phoenix, you don’t have to have that reminder.”
This story was originally published by Grist with the headline Extreme heat left this student athlete on life support. He won’t be the last. on Oct 5, 2026.
Two years after Hurricane Helene, survivors are taking lessons for the future
In the days and weeks after Hurricane Helene, people throughout western North Carolina and beyond found themselves thrust into new situations, forced to learn new skills to help themselves and their neighbors.
Community centers, churches, and fire departments flung open their doors, and for months, they buzzed with activity. Stacks of clothes covered altars. Tools and equipment filled spare rooms. Residents learned how to strip homes to the studs and built networks for bringing food, water, and other essential supplies to one another.
Now, two years later, people want to turn these ad hoc efforts — which supported communities through the loss of power, water, internet, and other crucial services — into more permanent fixtures of local disaster response, called “resilience hubs.”
“It’s become one of those terms, I think, that sometimes feels a little nebulous to people,” McKenzie Jones, a director with Urban Sustainability Directors Network, said. “But resilience hubs are just existing community spaces that are used and trusted by residents.”
The East Asheville Library, for instance, is installing solar panels. At the Asheville Tool Library, people are learning how to wield power tools. And at the Old Fort Train Depot, locals recently discussed a heat wave action plan during an ice cream social.
The city is stepping up as well. Earlier this year, Asheville set aside $2 million to shore up the city’s existing hubs. City Manager D.K. Wesley made a soft commitment of spending up to $10 million over the long term.
This effort reflects a broader movement, as communities across the country invest in resilience hubs to prepare for power outages, extreme weather and other emergencies. But Helene also showed that resilience doesn’t necessarily require a designated hub. It can reside in the skills, equipment, and connections people can draw on even before the next disaster arrives.
“So the question is, How do we get them all to work together proactively before something happens and build those networks so that when it does happen, they’re able to support each other more effectively?” Jones said.
Two years after Helene, those lessons are taking root across western North Carolina. Here are four ways communities are turning what they learned in the disaster and its aftermath into tools for whatever comes next.
The solar installation at Beacon of Hope took a little over a week. Electricians who worked on the project say demand for solar has been high since the storm. Katie Myers / Grist / Blue Ridge Public Radio Keeping the lights on with solar powerOn a sunny morning in Marshall, Steve Porvaznik and Ryan Callahan, both electricians with Rhino Renewables, put the final touches on a solar installation. They secured white covers over three batteries, each about 3 feet tall and containing a nest of wires and conductors.
The work capped a week spent outfitting Beacon of Hope, a laundromat, thrift store, and food bank with the equipment needed to create a microgrid. “We were able to back up the whole store, essentially, with all the freezers and coolers,” Porvaznik said. The batteries can store an estimated 68 kilowatt-hours of solar power, allowing Beacon to keep the lights and appliances running for at least a day without sunlight or a connection to the larger electrical grid.
It is the first of 26 microgrids planned for western North Carolina. Twenty-four will serve community centers, food banks, fire departments, and other essential facilities. Two more will be mounted on trailers and sent wherever they are needed. A $5 million grant from the state Department of Environmental Quality is funding the work.
Read Next A swarm of solar ‘bees’ are coming to western North Carolina community hubs Katie MyersAt Beacon of Hope, keeping the power on means the freezers, washing machines, and other equipment continue running. Director Jessi Koontz said the food pantry provides weekly food assistance to about 1,600 families, with hunger up about 50 percent since last summer.
“People already come here,” she said. “So, how can we maximize the resources that are available and the communication that is available when they come here?”
Jessi Koontz runs Beacon of Hope, a food pantry, thrift store, and community laundromat in Marshall, North Carolina. Katie Myers / Grist / Blue Ridge Public RadioThose leading the microgrid campaign hope to expand beyond the 26 already in the works, but so far neither state nor federal officials have provided additional funding. That’s a common impediment to expanding such programs, said Alex Kwasinski, a University of Pittsburgh engineer who studies microgrids and disasters.
Sarah Nichols of Land of Sky, one of the organizations bringing the technology to the region, is working to identify more community hubs that would benefit from solar microgrids. The best locations sit on high ground and serve populations with high needs.
“Are we looking at equity?” Nichols said. “Should we put it in a more rural area or in a community that might not traditionally get access to government services?”
During an outage as widespread as Helene’s, such hubs could keep food and medication cold and communications running while providing a safe, warm, and dry place for people whose homes have lost power.
– Katie Myers
Justin Hamel of WNC Radio Project tunes into a Saturday night net hosted by a repeater in Fletcher. Laura Hackett / Blue Ridge Public Radio Staying connected when cell networks go downEvery Saturday night, William Walker has a standing appointment with his two-way radio. The retired railroad worker runs a weekly check-in, called a “net,” from his home in Fletcher, connecting with dozens of radio enthusiasts who have turned a hobby into a public service.
Over a crackly signal, regulars check in from as far away as South Carolina, sharing snippets about their lives: a 41st birthday, a granddaughter’s wedding, an afternoon spent chopping wood. These exchanges go on for about half an hour, with Walker as master of ceremonies.
“It’s kind of like having family come into your living room every Saturday night,” he said. “We’ve tried to make it a very welcoming place. I mean, if there was ever a bunch that’s never been a stranger, it’s the people that I’ve met on the GMRS radio.”
A repeater stationed high up in the Blue Ridge Mountains. Adam TrescottGMRS, or general mobile radio service, is a two-way system that doesn’t need a cell network or internet connection. A license costs $35 and there is no test, making it easy for anyone to participate. Walker’s weekly check-ins allow people to “overcome their mic fright” and make sure their equipment works.
That preparation gained urgency after Helene knocked out communication across a wide swath of the region, leaving people cut off from loved ones and vital information. The number of licenses jumped by 130 percent in the year after the storm.
Fairview resident Justin Hamel saw the value of GMRS firsthand. “We were really struggling to connect,” he said. He eventually got his hands on some “bubble radios,” as walkie-talkies with GMRS capabilities are known, and passed them out to neighbors.
It wasn’t perfect, and mountain ridges occasionally blocked signals, but everyone could share updates about water, supplies, and cleanup efforts. Hamel even helped relay information to first responders who dispatched a helicopter for a medical emergency.
Inspired by the experience, Hamel launched WNC Radio Project, a nonprofit that teaches people about the technology and works to expand its reach by installing small devices called signal repeaters on mountaintops. “With the aid of repeaters, you can talk across multiple counties,” he said. “Basically, think like a cell phone tower.”
He’s already installed two of them, and the network allowed him to communicate with neighbors during Winter Storm Fern and other severe weather — exactly the situation it was built for. “Radio’s superpower is that it enables instantaneous ad hoc group communication,” Hamel said. “All you have to do is pick up your radio, turn it on, and hit that button.”
– Laura Hackett
Shelby Treichler is the operations coordinator at the Asheville Tool Library, a site where people can rent out and train on power tools. Laura Hackett / Blue Ridge Public Radio Equipping a new wave of power tool usersThe day after Hurricane Helene made landfall, Shelby Treichler was determined to make it to the Asheville Tool Library. The power was out and she knew the library, where she is an operations coordinator, had a solar panel setup that would be crucial in the days ahead.
There was just one problem: A fallen tree blocked the only road out of her neighborhood.
“I didn’t think to bring my tools home with me. None of us thought to be on that level prepared,” she said. Armed with only a handsaw, she started cutting, hoping to at least clear a lane. Then, seemingly out of nowhere, a man wearing sandals arrived with a chainsaw. He jumped from his truck and started bucking the tree. A few minutes later, he drove off, leaving Treichler in tears.
“I was like, ‘This is community. This is beautiful,’” she said. “The guy just got back in the truck and drove away. We all barely exchanged three words except for, ‘This is crazy, huh?’”
Treichler’s experience was repeated across western North Carolina in the days after Helene. Unofficial chainsaw brigades, composed largely of volunteers, fanned out to clear roads. Appalachian poet Gerald Smith described hearing “the sweet, sweet sound of chainsaws,” a familiar refrain that inspired a new wave of people to learn how to use one.
A chainsaw safety workshop held by N.C. State and Skills Academy for Women in late 2024. Quetzal JordanQuetzal Jordan, founder of Skills Academy for Women, is among those showing them how. She has led more than 500 people through safety workshops since Helene. “I’ve taught people anywhere from 18 to 75 how to use a chainsaw,” she said. “And especially the folks who are older, I feel like they have the most transformative experience.”
The chainsaw classes are part of a broader movement in western North Carolina to treat tools and the skills to use them as a form of climate resilience. The Asheville Tool Library, for instance, lends everything from saws and shovels to generators and megaphones and teaches people how to use them. Insurance prevents it from lending chainsaws, but it keeps several among its collection of more than 4,000 tools for emergencies.
“We were doing this work before and resiliency was kind of in all of our minds, but I think, like most people who are affected by Hurricane Helene, it’s taken on a very different meaning now and a very different sense of urgency,” Treichler said.
– Laura Hackett
Swannanoa Communities Together serves Swannanoa residents, many of whom have unique medical vulnerabilities and language needs. Katie Myers / Grist / Blue Ridge Public Radio Making emergency planning more inclusiveWalter Davis, 67, has multiple disabilities and can’t drive. He takes several medications, and a work injury left him without the use of one foot. When Helene hit his apartment complex in Swannanoa, he relied on neighbors for help.
“For about three and a half weeks we had no power, no water,” he said while waiting for the bus one day last month. “We had to go down to the creek and get five-gallon buckets of water and flush our toilets with it.”
The storm also took out the only grocery store within walking distance, and many of his neighbors don’t drive.
These challenges extend far beyond Swannanoa. Census data released in 2023 show that while about 1 percent of U.S. adults had been displaced by a disaster in the previous year, the figure rose to 31 percent among those unable to care for themselves. Many people with disabilities never returned home after evacuating, and more than 74 percent of evacuees unable to walk reported experiencing food insecurity a month after a disaster.
State agencies coordinate with emergency services to get information out, but local officials aren’t always aware of the scale of need in an emergency. “Disabled folks are typically not at the table when planning for emergency response,” said Dom Kelly, the founder and director of the advocacy group New Disabled South.
Malia Johnson has a cochlear implant and identifies as deaf. She struggled to keep up with accurate information after Hurricane Helene. Katie Myers / Grist / Blue Ridge Public RadioThose gaps became apparent in Swannanoa after Helene. A friend living at Jasper Apartments asked Beth Trigg to help check on medically vulnerable residents, about 100 of whom had been unable to evacuate. She and other volunteers fanned out across that complex and others to ask what people needed and find essentials like insulin and bottled oxygen. “We really immediately saw the different needs of people who had specific medical issues or disabilities,” Trigg said.
That effort grew into Swannanoa Communities Together, which provides therapy and long-term support ranging from help navigating FEMA to rent assistance. The group operates out of a former hair salon and recently bought adjoining lots, with plans to renovate the building with ADA-compliant bathrooms, wheelchair ramps, and changing stations. An accessibility consultant is helping ensure the space can serve as many people as possible.
“We’re seeing it as a place where we can have emergency response for our community in future emergencies or future disasters,” Trigg said.
– Katie Myers
This story was originally published by Grist with the headline Two years after Hurricane Helene, survivors are taking lessons for the future on Oct 5, 2026.
How the pursuit of science also serves modernity
Pages
The Fine Print I:
Disclaimer: The views expressed on this site are not the official position of the IWW (or even the IWW’s EUC) unless otherwise indicated and do not necessarily represent the views of anyone but the author’s, nor should it be assumed that any of these authors automatically support the IWW or endorse any of its positions.
Further: the inclusion of a link on our site (other than the link to the main IWW site) does not imply endorsement by or an alliance with the IWW. These sites have been chosen by our members due to their perceived relevance to the IWW EUC and are included here for informational purposes only. If you have any suggestions or comments on any of the links included (or not included) above, please contact us.
The Fine Print II:
Fair Use Notice: The material on this site is provided for educational and informational purposes. It may contain copyrighted material the use of which has not always been specifically authorized by the copyright owner. It is being made available in an effort to advance the understanding of scientific, environmental, economic, social justice and human rights issues etc.
It is believed that this constitutes a 'fair use' of any such copyrighted material as provided for in section 107 of the US Copyright Law. In accordance with Title 17 U.S.C. Section 107, the material on this site is distributed without profit to those who have an interest in using the included information for research and educational purposes. If you wish to use copyrighted material from this site for purposes of your own that go beyond 'fair use', you must obtain permission from the copyright owner. The information on this site does not constitute legal or technical advice.




