Donald Trump held a rally at the Duke Energy Center for the Performing Arts in Raleigh last night. Predictably, it was a complete shitshow.

I got there just as Lt. Governor Dan Forest was finishing up his speech, and found out that the press credentials I had submitted earlier in the day were never approved. The person checking in media made a call, and in a hushed tone said, “Yeah…they’re a local blog.” A blog? Please. We’re a rag for dirty liberals who want to ruin America, thank you very much.

Turns out the call didn’t help and our credentials were denied. We didn’t even have to write anything bad about Trump, unlike the mean and unfair Washington Post. Sad!

Luckily, I was given a spare ticket and was able to get in, although I had to sprint a few blocks in a downpour to get back to Duke. Once inside, I took a seat next to a man who then proceeded to livestream the vast majority of Trump’s speech on either Facebook or Periscope. My head probably got in the way of his video several times – sorry, buddy.

Trump’s warmup acts — Forest, policy advisor Stephen Miller, a host of whole other characters, and finally U.S. Senator Bob Corker of Tennessee – were no match for the man himself, who had the crowd hanging onto his every word – his every utterly stupid, nonsensical word – for almost an hour.

During the speech, Trump called the system “rigged” and Clinton “corrupt,” which drew loud cheers and one call of “hang that bitch!” He also riffed on Bernie Sanders (“He lost the FBI primary,” he said), Barack Obama (he went on at length about Obama’s golfing habit), ISIS (“We’re gonna knock the hell out of ISIS”), trade (“I don’t give a damn what [you call it]”), reporters (“Not all reporters are bad…but some are terrible,” he said) and – weirdly – Saddam Hussein’s anti-terrorism efforts, which he’s been touting since last October at least. That didn’t get many cheers.

His loudest pops came when he talked about building a wall to keep out undocumented immigrants and, later, banning Syrian refugees. The crowd erupted into chants of “Build that wall!” and Trump did his whole call and response routine, asking, “Who’s gonna pay for it?” to which the crowd answered, “Mexico!”

On a scale of one to ten, he was typical Trump; on a scale of one to “his crowd,” however, he was about a two. I heard the word “bitch” dozens of times, mostly from men my age wearing J-Crew shirts who complained loudly about social justice warriors and the possibility that they could lose their jobs if they were caught on TV yelling “Trump that bitch!” Something tells me that social justice warriors are the least of their problems.

Anyway, we’ve compiled a rundown of what happened last night.

(It’s true, they sell them at Sears. They look like this.)

Here’s something good that happened, just so this doesn’t end on a bad note.