Connect with us

Northeast

Woman arrested for migrant attack on NYPD, 2 suspects still at large

Published

on

Woman arrested for migrant attack on NYPD, 2 suspects still at large

Join Fox News for access to this content

Plus special access to select articles and other premium content with your account – free of charge.

Please enter a valid email address.

By entering your email and pushing continue, you are agreeing to Fox News’ Terms of Use and Privacy Policy, which includes our Notice of Financial Incentive. To access the content, check your email and follow the instructions provided.

Having trouble? Click here.

A woman has been arrested for her role in the shocking migrant mob beatdown of two NYPD police officers in Times Square in late January.

Police say Edgarlis Vegas, 20, was nabbed in Midtown Manhattan just after 8:30 a.m. on Monday and charged with assault on a police officer for the violent Jan. 27 attack, which sparked widespread condemnation and highlighted a wave of migrant crime gripping the Big Apple.

Advertisement

Vegas, with an address on Atlantic Avenue in Brooklyn, is one of more than a dozen people arrested in relation to the case, where a mob of migrants attacked an NYPD officer and lieutenant in front of a shelter on West 42nd Street in Manhattan. 

The NYPD had asked the migrants to move, but a scuffle ensued as the officers were seen trying to subdue a person in a yellow jacket onto the ground. 

This image from video provided by the Office of the Manhattan District Attorney shows a brawl between New York City Police Department officers and migrants in Times Square, on Jan. 27, 2024. (Manhattan District Attorney via AP)

2 MIGRANTS WHO STOMPED AND KICKED NYPD OFFICERS IN VICIOUS TIMES SQUARE ATTACK YET TO BE ARRESTED

Police did not say what Vegas’ exact role in the attack was, nor could they provide her nationality. The New York Post reports Vegas is from Venezuela. She has no prior arrests, police say.

Advertisement

Her immigration status is also unclear as the NYPD is prohibited by law from providing such information.

A migrant charged with assaulting two NYPD officers in Times Square flipped off reporters. (Steven Hirsch/New York Post)

NEW YORK’S ‘CATCH AND RELEASE’ POLICIES FAIL TO HOLD CRIMINALS ACCOUNTABLE: POLICE REP

A viral video of the attack drew public outrage and led to calls for migrant deportations. 

In the days following the attack, several migrants were arrested and then released without bail and in one instance, one of the suspects gave two middle fingers to waiting news reporters. Some of the suspects had already been arrested for crimes in New York City and subsequently cut loose before the attack. 

Advertisement

Police say they are still looking for two suspects in the attack.

Two violent illegal migrants sought in connection with the vicious Times Square attack are still at large, according to the NYPD. (NYPD )

In photos released by police, one migrant is pictured wearing a red hoody, black pants, black sneakers and a white baseball cap. Police say the migrant stomped on a lieutenant’s head as the police officer tried to apprehend a suspect on the ground. The migrant then kicks the other officer in the back before returning and taking a kick at the lieutenant.

Photos of the second migrant show him wearing a dark-colored puffer coat, blue jeans, sneakers and a red baseball cap.

Advertisement

He can be seen taking a big swinging kick at the lieutenant’s head. The migrant falls to the ground as he tries to execute the kick.

Read the full article from Here

Continue Reading
Click to comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Vermont

Hour-by-hour: See when to expect steady snow Tuesday in Vermont, New York

Published

on

Hour-by-hour: See when to expect steady snow Tuesday in Vermont, New York


Roads will turn slippery mid-morning through mid-afternoon

Advertisement

Hour-by-hour: See when to expect steady snow Tuesday in Vermont, New York

Roads will turn slippery mid-morning through mid-afternoon

Advertisement

NBC5 meteorologists expect a burst of steady snow to arrive Tuesday morning in Vermont and northern New York, lasting through the early-mid afternoon. Deteriorating road conditions will lead to slow travel for several hours, with some improvement expected by the evening commute.Watch the video above to see the timeline for your area.

NBC5 meteorologists expect a burst of steady snow to arrive Tuesday morning in Vermont and northern New York, lasting through the early-mid afternoon.

Advertisement

Deteriorating road conditions will lead to slow travel for several hours, with some improvement expected by the evening commute.

Watch the video above to see the timeline for your area.

Advertisement

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

Advertisement

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

Advertisement

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

Advertisement

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.mynbc5.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.mynbc5.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

Advertisement

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

Advertisement

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

`;
}

Advertisement

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

Advertisement

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

Advertisement

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.mynbc5.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.mynbc5.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

Advertisement

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

Advertisement

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

Advertisement

Loading more articles…



Source link

Continue Reading

Boston, MA

Boston University OT Program Ranks Top in Its Class for Fifth Straight Year by U.S. News & World Report

Published

on

Boston University OT Program Ranks Top in Its Class for Fifth Straight Year by U.S. News & World Report


Other graduate programs in Sargent College, School of Law, and School of Public Health also score high in rankings

Boston University’s Sargent College of Health & Rehabilitation Sciences retained U.S. News & World Report’s nod as the best occupational therapy program in the United States, while other BU schools boast programs that are among the top 10 in their fields. Photo by Above Summit for Boston University Photography.

University News

Other graduate programs in Sargent College, School of Law, and School of Public Health also score high in rankings

Advertisement

Boston University’s Sargent College of Health & Rehabilitation Sciences retained its nation-topping ranking for occupational therapy instruction in U.S. News & World Report’s 2026 evaluation of graduate school programs. It’s the fifth consecutive year that the program has claimed the first spot in the magazine’s rankings.

A half-dozen other BU programs cracked the top 10 in their respective disciplines:

  • The School of Law’s health law program ranked second-best in the country.
  • Sargent’s speech-language pathology program clocked in at sixth best. 
  • The School of Public Health had four programs in the top 10: epidemiology (seventh), biostatistics (eighth), public health (ninth), and social behavior (also ninth).

“Sargent has a long history of having top-ranked programs,” says Gloria Waters, BU provost, chief academic officer, and former dean of Sargent. “It is rewarding to see the occupational therapy program at the top of the rankings again. This recognition reflects the program’s faculty, support staff, and the college’s commitment to creating impactful educational experiences that translate into real-world outcomes.”

Of the high rankings for the other University programs, Waters says, “Faculty and staff are creating exceptional educational experiences across BU’s schools and colleges every day. Their efforts are not only reflected in national rankings like these, but in the quality of the students that go on to lead in their chosen fields.” 


Faculty and staff are creating exceptional educational experiences across BU’s schools and colleges every day.

Gloria Waters, BU provost and chief academic officer

Depending on the discipline it is evaluating, U.S. News uses different assessment methodologies. For rankings of programs in sciences, social sciences, humanities, and health, the magazine relies on peer assessment surveys. 

Advertisement

By contrast, for schools of business, education, engineering, law, medicine, and nursing, the rankings are based on two types of data, U.S. News says: “expert opinion about program excellence, and statistical indicators that measure the quality of a school’s academic productivity and postgraduate outcomes.” Last fall and early this year, the magazine sent schools the statistical surveys and sent peer assessments to academics and professionals in the fields being evaluated.

The peer assessments asked deans, program directors, and senior faculty to rank the academic quality of programs in their disciplines, from 5 (outstanding) to 1 (marginal). U.S. News buttressed those evaluations with surveys of professionals hiring or working with recent graduates in certain fields.

Explore Related Topics:



Source link

Continue Reading

Pittsburg, PA

PRT calling for feedback from riders on bus line updates

Published

on

PRT calling for feedback from riders on bus line updates


Pittsburgh Regional Transit will hold a public meeting on Tuesday to hear from riders on the proposed Bus Line Refresh. According to PRT, the Bus Line Refresh is an update to the bus network and is designed to improve reliability, frequency, seven-day service, and connectivity. “We have some new routes proposed, a North Hills to Oakland connection, a South Hills Oakland connection, that don’t exist today. We also are proposing to increase service on off-peak hours,” said Jake Stockman, a senior planner for PRT. “And then also wanting to make sure that throughout this process, we’re centering equity, to make sure that the communities where the service is needed the most aren’t being left behind.”The Bus Line Refresh is the second draft of the Bus Line Redesign, which Stockman said prompted more than 90 public engagement events and garnered more than 12,000 public comments. However, this time, the proposed updates will not be as drastic. “We’ve called it the ‘Refresh’ because we want the second draft to reflect that we’re reducing the volume of change so the system will look a little bit more familiar to our existing riders compared to what we previously presented in 1.0,” Stockman told Pittsburgh’s Action News 4 Reporter Jordan Cioppa. PRT staff will continue to gather public feedback on the new proposal through a number of ways, such as attending community meetings and popping up at bus stops. Stockman presented the plan to West End neighbors Monday night. “The increased frequency sounds great, later on Sunday night for people. There used to be service after midnight. Some people do work past 11 p.m.,” said John McNulty, a West End resident and PRT rider. Public comment started in March and will last through May. PRT will then host public hearings this summer before presenting a final plan to the PRT board in the fall. Stockman said the goal is to implement the changes in 2027. Riders are encouraged to attend the main public comment meeting on April 7 at the August Wilson Center from 5 to 7 p.m.

Pittsburgh Regional Transit will hold a public meeting on Tuesday to hear from riders on the proposed Bus Line Refresh.

According to PRT, the Bus Line Refresh is an update to the bus network and is designed to improve reliability, frequency, seven-day service, and connectivity.

Advertisement

“We have some new routes proposed, a North Hills to Oakland connection, a South Hills Oakland connection, that don’t exist today. We also are proposing to increase service on off-peak hours,” said Jake Stockman, a senior planner for PRT. “And then also wanting to make sure that throughout this process, we’re centering equity, to make sure that the communities where the service is needed the most aren’t being left behind.”

The Bus Line Refresh is the second draft of the Bus Line Redesign, which Stockman said prompted more than 90 public engagement events and garnered more than 12,000 public comments.

However, this time, the proposed updates will not be as drastic.

Advertisement

“We’ve called it the ‘Refresh’ because we want the second draft to reflect that we’re reducing the volume of change so the system will look a little bit more familiar to our existing riders compared to what we previously presented in 1.0,” Stockman told Pittsburgh’s Action News 4 Reporter Jordan Cioppa.

PRT staff will continue to gather public feedback on the new proposal through a number of ways, such as attending community meetings and popping up at bus stops. Stockman presented the plan to West End neighbors Monday night.

“The increased frequency sounds great, later on Sunday night for people. There used to be service after midnight. Some people do work past 11 p.m.,” said John McNulty, a West End resident and PRT rider.

Public comment started in March and will last through May. PRT will then host public hearings this summer before presenting a final plan to the PRT board in the fall.

Stockman said the goal is to implement the changes in 2027.

Advertisement

Riders are encouraged to attend the main public comment meeting on April 7 at the August Wilson Center from 5 to 7 p.m.



Source link

Continue Reading

Trending