NBC managed to do the unthinkable — making a regular-season NBA game feel big.
Broadcasting their its NBA game in 23 years, NBC made the league’s season opener between the Oklahoma City Thunder and Houston Rockets feel like a playoff game. The crowd was loud, the camera work and graphics were crisp, and enough can’t be written about John Tesh’s “Roundball Rock.”
The opening was just about perfect, balancing nostalgia for the NBA of the 1990s with current stars like LeBron James and Joel Embiid, who had “no idea” when asked about his memories of the league during that era. (Embiid was 2 years old when Jordan won his fourth NBA championship in 1996.)
“TNT — as good as it was, as comfortable as it was — never made Opening Night feel as much as an event as tonight,” wrote Sports Media Watch’s Jon Lewis, adding “the moments leading up to tipoff felt bigger than during the Finals last year. And that’s not me taking shots at ESPN, it’s just kind of obvious to me.”
Then there’s Mike Tirico, who has developed into an announcer whose voice makes a game feel bigger.
Other than practice games with the Sixers and Boston Celtics last season, it was Tirico’s first time calling a national basketball game since 2016. You would have never known it — Tirico knew the rules and was on top of every call. Officials missed Kevin Durant’s call for a timeout when the Houston Rockets had none during the closing seconds of overtime, but Tirico was all over it.
Tirico was part of an entertaining three-person crew alongside Reggie Miller and Jamal Crawford, which is likely a preview of how NBC will handle this season’s Western Conference Finals.
“We don’t really have a lead crew,” NBC Sports president Rick Cordella said on a recent episode of the Sports Media Watch Podcast. “Jamal and Reggie are equals, and so you’ll see us going two-man crews and three-man crews at different times. And then we’ll see how the season goes.”
There were also nice touches during the broadcast, like NBC’s scorebug showing an animated hand after three pointers and shaking following a slam dunk.
The question is whether it will all be enough. NBC is reportedly paying $2.5 billion a year over the next 11 years for its NBA package, and the Wall Street Journal reported parent-company Comcast is projecting losses between $500 million and $1.4 billion during the first few years of the deal.
“It’s a long-term deal. We’re not trying to measure this based on quarters but the next 10 years,” Matt Strauss, chairman of NBCU’s media group, told the Wall Street Journal.
Hopefully we’ll get more from Michael Jordan
The idea of Michael Jordan, NBA pundit is interesting. After all, who wouldn’t want arguably the greatest player in the history of the game dishing on the league’s current players and situations?
Viewers, apparently. Jordan appeared via a pretaped segment for three minutes during halftime, where he told a nice story about the last time he shot a basketball and not much else.
“I wish I could take a magic pill, put on shorts, and go out and play the game of basketball today,” Jordan said.
“We have an obligation to pay it forward. That’s part of what this is all about.”
Watch Michael Jordan’s first conversation with Mike Tirico in the first edition of MJ: Insights To Excellence. pic.twitter.com/7tfzGm6SpM
Is it an improvement over quick-hit segments where studio analysts hurry through banal comments so networks can squeeze in as many sports gambling ads as possible? Yes, but that’s a pretty low bar to clear.
The good news is NBC plans to air more segments featuring Jordan’s interview with Tirico in the weeks to come. NBC said he’ll be back next Tuesday to discuss load management, a subject Jordan — who played 82 games nine times in his career — has strong views about.
Beyond that, it’s unclear how often Jordan, promoted as a special contributor, will appear on NBC this season.
NBC should ditch their AI deepfake of Jim Fagan
Older NBA fans probably felt something was off with Jim Fagan’s voice during the opening of Tuesday night’s broadcast.
That’s because the longtime NBA on NBC narrator died eight years ago.
NBC got permission from Fagan’s family to create a deepfake version of Fagin’s voice to intro games and provide promos for upcoming NBA games, as well as on other sports airing across NBC.
The AI-generated voice of Jim Fagan is back, proclaiming Liverpool-Manchester United as "one of the fiercest rivalries in all of English football": pic.twitter.com/dwi6KZA8l0
It isn’t the first time NBC has leaned into using artificial intelligence. During last year’s Olympics, NBC used a deepfake version of veteran announcer Al Michaels for personalized recaps on Peacock. But Michaels, who currently handles play-by-play on Amazon’s Thursday Night Football, is still alive.
Pregame show marred by glitches
As for NBC’s pregame show, it was largely forgettable. Despite featuring three NBA hall of famers — Carmelo Anthony, Vince Carter, and Tracy McGrady — nothing memorable was said.
In fact, the most notable part was the technical issues that plagued the first few minutes, including some audio issues and a couple of bad microphones. At one point, host Maria Taylor slammed her microphone down on the desk after McGrady asked her to repeat a question, causing static to overrun the broadcast for a few seconds.
“Hey, this is the first night, so it’s not going to be perfect NBC family, but we’re going to get it right,” McGrady said.
NBC comes on the air for an NBA broadcast for the first time in 23 years… and it's marred by audio issues 😬 pic.twitter.com/5Z1Wc9uVIb
While the pregame show lacked much interest or excitement, at least NBC decided to take the high road and avoided sideshow antics involving shouting pundits and LeBron James vs. the world debates.
The Sixers are scheduled to appear exclusively on NBC five times, beginning with their Nov. 11 matchup against the Boston Celtics at the newly named Xfinity Mobile Arena. They’ll also play exclusively on Peacock on Jan. 5 against Nikola Jokic and the Denver Nuggets.
Here’s when fans will see the Sixers on NBC and Peacock:
Nov. 11: Celtics at Sixers, 8 p.m. (NBC, Peacock)
Nov. 25: Magic at Sixers, 8 p.m. (NBC, Peacock)
Dec. 30: Sixers at Grizzlies, 8 p.m. (NBC, Peacock)
HBO's Task once again brought the Philadelphia region back into the spotlight over its seven-episode run, showcasing a slew of local spots from Ridley Township to Coatesville and beyond.
And with the series wrapped, we can say: Creator Brad Ingelsby did right by Delco, where the series is largely set.
Sure, the accents were pretty great — but as we look back at the show, it's clear that the Philadelphia region was integral to Task. Here, we've rounded up all the local spots — sans private homes — we could identify in Task. Check out the map below to see what locations wound up the show, and why the series takes us there:
Loading…
Aston Township
Mirenda Center at Neumann University
First seen in episode one
Courtesy of Neumann University
Tom (Mark Ruffalo) mans a table at a job fair here while temporarily working as a recruiter for the FBI. Next to his station, the distinctive pillars of the center’s atrium are visible.
Collingdale
Rita’s Italian Ice & Frozen Custard
First seen in episode one
Alejandro A. Alvarez / Staff Photographer
Emily (Silvia Dionicio), Tom’s daughter, works her part-time job here. In the scene where it is shown, Tom orders a black cherry water ice, a flavor choice of which we approve.
Philadelphia
Former Philadelphia Police Department Headquarters
First seen in episode one
Jessica Griffin / Staff Photographer
We get a brief glimpse of the exterior of the former Philadelphia police headquarters, colloquially known as the Roundhouse. Whether the interior is the same building is unclear, but in the show, this appears to be where the FBI’s Philly field office is located.
Bangor
Bangor Quarry
First seen in episode one
Robbie (Tom Pelphrey), Cliff (Raúl Castillo), and Peaches (Owen Teague) head here for a post-robbery swim. On a real-life note, you should not do the same — not only is it dangerous, but it’s also trespassing, according to the Bangor Borough Police Department.
Coatesville
Lincoln Highway and 2nd Avenue
First seen in episode two
TOM GRALISH / Staff Photographer
The Dark Hearts motorcycle gang rides through this intersection in formation, the giveaway being Presence Bank in the background in one shot.
Coatesville
Polish American Citizens Club
First seen in episode two
Courtesy of HBO
Done up as the so-called Lefty’s Taproom in the show, this location serves as the Dark Hearts’ clubhouse and watering hole. In real life, it’s just off Lincoln Highway, lending a bit of realism to the gang’s ride through downtown Coatesville.
Aston Township
Martin’s Taphouse
First seen in episode two
Martin's stands in as the exterior of the Tip Top Lounge in the series, which we see in this episode stacked with motorcycles parked outside the front door.
Sharon Hill
Dixon’s Lounge
First seen in episode two
Courtesy of HBO
While the exterior of the Tip Top Lounge is in Aston, the interior bears a striking resemblance to Delco’s own Dixon’s Lounge. Here, Robbie and Cliff are stood up by an, ahem, “business partner” before walking out on an order of crabfries.
Boothwyn
Willowbrook Shopping Center
First seen in episode two
Isaiah Vazquez / For The Inquirer
Maeve (Emilia Jones) takes Sam (Ben Lewis Doherty) to a fictional “Val-U Corner” store here with the intent of dropping him off for police to find before the plan goes awry. The store is located near the real Blue Cherry Ice Cream and Bakery, which is visible in the background.
Phoenixville
Phoenixville Area High School
First seen in episode two
During his search for his daughter, Emily (Silvia Dionicio), Tom (Mark Ruffalo) finds her in the dugout of a baseball field that, in real life, is at Phoenixville Area High School. Its distinctive backstop is visible from a bird's-eye view in the series.
Philadelphia
Ralph’s Italian Restaurant
First seen in episode three
MICHAEL KLEIN / Staff
Dark Hearts leaders Jayson (Sam Keeley) and Perry (Jamie McShane) walk through the kitchen here to meet with local drug kingpin Freddy Frias (Elvis Nolasco), but in the show, it doesn’t appear to be serving the Italian food we’re used to in real life.
Aston Township
Mount Hope Cemetery
First seen in episode three
Isaiah Vazquez / For The Inquirer
It’s a very quick shot, but it’s there just under four minutes into the episode. In the background, you can see the Commodore Barry Bridge, and graves on a hill in the cemetery in the foreground.
Union Township
Sixpenny Creek Quarry
First seen in episode three
Courtesy of HBO
Robbie (Tom Pelphrey) and Cliff (Raúl Castillo) finally get their meeting with Eryn (Margarita Levieva), their Dark Hearts insider, but it doesn’t go according to plan.
Upper Darby
Llanerch Diner
First seen in episode three
Tom Gralish / Staff Photographer
Taskforce members Aleah (Thuso Mbedu) and Lizzie (Alison Oliver) head to Upper Darby's famed Llanerch Diner for a tip on the drug house robberies they're investigating, and get a break in the case.
Lansdowne
Rosedon Plaza
First seen in episode three
Jose F. Moreno / Staff Photographer
In the background of one shot during the chase for Ray (Peter Patrikios), you can see the old Doc's Deli (Deli Green). That puts Ray in the corner of the Rosedon Plaza parking lot as Lizzie (Alison Oliver) makes the arrest.
Coatesville
Coatesville Police Department
First seen in episode three
Steven M. Falk / For The Inquirer
Whether the interior is the same station isn’t clear, but an exterior shot sets this spot up as the place where the Task team interrogates Ray (Peter Patrikios) and Shelley (Mickey Sumner). Out front, a police cruiser reads “Delaware County Sheriff,” which is a little far from home.
Holmes
The Ridley House
First seen in episode three
Isaiah Vazquez / For The Inquirer
Following the chase and interrogation, Lizzie (Alison Oliver) and Grasso (Fabien Frankel) head to this local bar to unwind. Grasso indicates it is a Barnaby’s, which, in real life, was true at one point – until the location became the Ridley House in 2019.
King of Prussia
Pennsylvania Turnpike on-ramp
First seen in episode four
TOM GRALISH / Staff Photographer
It’s a quick shot as Tom (Mark Ruffalo) drives around at the beginning of the episode, but you can just make out the LasikPlus building on Mall Boulevard in the background. That puts this Pennsylvania Turnpike entrance in King of Prussia.
Malvern
I-76 Exit 320
First seen in episode four
Tom (Mark Ruffalo) appears to take this exit as he is driving to meet his fellow taskforce members.
Marcus Hook
Marcus Hook Community Center
First seen in episode four
Erin Blewett / For The Inquirer
As County Chief Dorsey (Raphael Sbarge) exits the building, you can see a door tagged with “Delaware County Sheriff’s Office.” But the green awning above him is a dead giveaway — that’s the Marcus Hook Community Center.
Aston Township
Rockdale Industrial Center
First seen in episode four
It's disguised as a trucking depot in the series, but this is where Robbie (Tom Pelphrey) and Cliff (Raúl Castillo) travel with Sam (Ben Lewis Doherty) to arrange transportation for their escape into Canada before being confronted by a Good Samaritan.
Chester
Upland Diner
First seen in episode four
Erin Blewett / For The Inquirer
Upland Diner’s parking lot serves as Robbie’s (Tom Pelphrey) holding area during this episode’s drug deal. Unfortunately, we only get an exterior shot of the building, but the restaurant’s vintage-style sign is proudly on display. Great pancakes, for the record.
Newtown Square
Ridley Creek State Park entrance
First seen in episode four
JOSE F. MORENO / Staff Photographer
Cliff (Raúl Castillo) can be seen turning onto North Sandy Flash Drive from Gradyville Road as he heads to the drug deal meeting spot. If you look closely, you can just barely make out a sign for Ridley Creek State Park.
Wilmington, Del.
Beaver Creek
First seen in episode four
It's tough to spot, but the dam that Cliff (Raúl Castillo) parks his car next to during this episode's failed drug deal — or, more accurately, the Dark Hearts' setup — appears to be in Beaver Creek on the Delaware-Pennsylvania border.
Coatesville
City Clock Apartments
First seen in episode four
Steven M. Falk / For The Inquirer
Another brief shot, but the clock face on the tower of the City Clock Apartments is prominently featured. The building formerly was the National Bank of Coatesville, and has been on the National Register of Historic Places since 1977.
Downingtown
Coatesville-Downingtown Bypass
First seen in episode five
FBI Boss Kathleen McGinty (Martha Plimpton) and the rest of the task force swerve across traffic here while looking for Tom (Mark Ruffalo). In the background, you can just make out the sign for Pacer Pool Services & Supplies.
Downingtown
Marsh Creek State Park
First seen in episode five
After surviving his encounter with Robbie (Tom Pelphrey), Tom (Mark Ruffalo) emerges from the woods to see a beautiful summer scene of families enjoying the lake at Marsh Creek State Park.
Boothwyn
I-95 Pennsylvania Welcome Center
First seen in episode five
Erin Blewett / For The Inquirer
FBI boss Kathleen McGinty (Martha Plimpton) stuffs her face with fast food at the center's picnic tables as the task crew looks for their leader. As McGinty explains, she is “an emotional eater.”
Everett
Woy Bridge
First seen in episode five
In what is likely the farthest-flung filming location – at least in relation to the rest of the local spots – we get some shots of Everett’s Woy Bridge in Bedford County as the taskforce closes in on Robbie (Tom Pelphrey).
Milmont Park
Our Lady of Peace Parish
First seen in episode six
RON TARVER / Staff Photographer
Though disguised well as a juvenile detention facility in the show, this little Delco parish provides at least the exterior shots for where Tom (Mark Ruffalo) meets Sam (Ben Lewis Doherty) for the first time.
Coatesville
High Bridge
First seen in episode seven
This instantly recognizable Coatesville landmark serves as the location for where County Chief Dorsey (Raphael Sbarge) appears to seal Grasso's (Fabien Frankel) fate with the Dark Hearts.
Media
Delaware County Courthouse and Government Center
First seen in episode seven
Courtesy of Delaware County Government Center and Courthouse
Here, Tom (Mark Ruffalo) gives a touching family statement at a court hearing for his son, Ethan (Andrew Russel), in what is the emotional climax of the series. As The Inquirer reported last year, the production took over Courtroom 15 for filming.
story continues after advertisement
Explore the map of all locations at your own pace. Tap onHover overa pin to learn more.
That's it for Task. But rest assured, if HBO decides to focus on Philly again, we'll be back. Until then, see youse later.
Staff Contributors
Design and Development: Sam Morris
Reporting: Nick Vadala
Editing: Emily Babay
First seen in episode
(()=>{var fr=Object.create;var _e=Object.defineProperty;var dr=Object.getOwnPropertyDescriptor;var pr=Object.getOwnPropertyNames;var vr=Object.getPrototypeOf,gr=Object.prototype.hasOwnProperty;var et=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var mr=(e,t,r,n)=>{if(t&&typeof t==”object”||typeof t==”function”)for(let i of pr(t))!gr.call(e,i)&&i!==r&&_e(e,i,{get:()=>t[i],enumerable:!(n=dr(t,i))||n.enumerable});return e};var yr=(e,t,r)=>(r=e!=null?fr(vr(e)):{},mr(t||!e||!e.__esModule?_e(r,”default”,{value:e,enumerable:!0}):r,e));var ft=et(I=>{var Sr={0:”Jan.”,1:”Feb.”,2:”March”,3:”April”,4:”May”,5:”June”,6:”July”,7:”Aug.”,8:”Sept.”,9:”Oct.”,10:”Nov.”,11:”Dec.”};function at(e){return e===void 0&&(e=new Date),Sr[e.getMonth()]}var xr={0:”Jan”,1:”Feb”,2:”Mar”,3:”Apr”,4:”May”,5:”Jun”,6:”Jul”,7:”Aug”,8:”Sep”,9:”Oct”,10:”Nov”,11:”Dec”};function lt(e){return e===void 0&&(e=new Date),xr[e.getMonth()]}function ne(e){return e==null}function ht(e){return typeof e==”number”&&isFinite(e)}function Se(e){return ht(e)&&Math.floor(e)===e}var Tr=[“one”,”two”,”three”,”four”,”five”,”six”,”seven”,”eight”,”nine”],Cr=[“million”,”billion”,”trillion”,”quadrillion”,”quintillion”,”sextillion”,”septillion”,”octillion”,”nonillion”,”decillion”],ut=[“th”,”st”,”nd”,”rd”,”th”,”th”,”th”,”th”,”th”,”th”],Lr=[11,12,13];function ct(e){if(ne(e))return””;var t=+e;return Se(t)?Lr.indexOf(t%100)>-1?ut[0]:ut[t%10]:””}var Pr=[“first”,”second”,”third”,”fourth”,”fifth”,”sixth”,”seventh”,”eighth”,”ninth”],Ar=new RegExp(/s+([^s]*)s*$/);I.apdate=function(e){return e===void 0&&(e=new Date),at(e)+” “+e.getDate()+”, “+e.getFullYear()},I.apdatetab=function(e){return e===void 0&&(e=new Date),lt(e)+” “+e.getDate()+”, “+e.getFullYear()},I.apmonth=at,I.apmonthtab=lt,I.apnumber=function(e){if(ne(e))return””;var t=+e;return Se(t)?t=10?e.toString():Tr[t-1]:e.toString()},I.aptime=function(e){e===void 0&&(e=new Date);var t,r,n=e.getHours(),i=e.getMinutes(),o=i===0;if(o){if(n===0)return”midnight”;if(n===12)return”noon”}return n0?n:12):(t=”p.m.”,r=n===12?n:n-12),o?r+” “+t:r+”:”+(i<10?"0"+i:i)+" "+t},I.capfirst=function(e){if(ne(e))return"";var t=String(e);return""+t.charAt(0).toUpperCase()+t.slice(1)},I.intcomma=function(e){if(ne(e))return"";var t,r=+e;return ht(r)?((t=r.toString().split("."))[0]=t[0].replace(/B(?=(d{3})+(?!d))/g,","),t.join(".")):e.toString()},I.intword=function(e){if(ne(e))return"";var t=+e;if(!Se(t))return e.toString();var r=Math.abs(t);if(r<1e6)return e.toString();var n=Math.ceil(Math.log(r+1)/Math.LN10)-1,i=n-n%3,o=t/Math.pow(10,i);return(o=Math.round(10*o)/10)+" "+Cr[Math.floor(i/3)-2]},I.ordinal=function(e,t){if(t===void 0&&(t=!1),ne(e))return"";var r=+e;return Se(r)?t&&r{(function(e,t){typeof We==”object”&&typeof je<"u"?je.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis=h?m:””+Array(h+1-p.length).join(u)+m},K={s:O,z:function(m){var h=-m.utcOffset(),u=Math.abs(h),p=Math.floor(u/60),c=u%60;return(h<=0?"+":"-")+O(p,2,"0")+":"+O(c,2,"0")},m:function m(h,u){if(h.date()<u.date())return-m(u,h);var p=12*(u.year()-h.year())+(u.month()-h.month()),c=h.clone().add(p,f),y=u-c<0,w=h.clone().add(p+(y?-1:1),f);return+(-(p+(u-c)/(y?c-w:w-c))||0)},a:function(m){return m1)return m(w[0])}else{var b=h.name;$[b]=h,c=b}return!p&&c&&(C=c),c||!p&&C},E=function(m,h){if(ie(m))return m.clone();var u=typeof h==”object”?h:{};return u.date=m,u.args=arguments,new te(u)},M=K;M.l=oe,M.i=ie,M.w=function(m,h){return E(m,{locale:h.$L,utc:h.$u,x:h.$x,$offset:h.$offset})};var te=function(){function m(u){this.$L=oe(u.locale,null,!0),this.parse(u),this.$x=this.$x||u.x||{},this[R]=!0}var h=m.prototype;return h.parse=function(u){this.$d=function(p){var c=p.date,y=p.utc;if(c===null)return new Date(NaN);if(M.u(c))return new Date;if(c instanceof Date)return new Date(c);if(typeof c==”string”&&!/Z$/i.test(c)){var w=c.match(F);if(w){var b=w[2]-1||0,A=(w[7]||”0″).substring(0,3);return y?new Date(Date.UTC(w[1],b,w[3]||1,w[4]||0,w[5]||0,w[6]||0,A)):new Date(w[1],b,w[3]||1,w[4]||0,w[5]||0,w[6]||0,A)}}return new Date(c)}(u),this.init()},h.init=function(){var u=this.$d;this.$y=u.getFullYear(),this.$M=u.getMonth(),this.$D=u.getDate(),this.$W=u.getDay(),this.$H=u.getHours(),this.$m=u.getMinutes(),this.$s=u.getSeconds(),this.$ms=u.getMilliseconds()},h.$utils=function(){return M},h.isValid=function(){return this.$d.toString()!==x},h.isSame=function(u,p){var c=E(u);return this.startOf(p)<=c&&c<=this.endOf(p)},h.isAfter=function(u,p){return E(u)<this.startOf(p)},h.isBefore=function(u,p){return this.endOf(p)<E(u)},h.$g=function(u,p,c){return M.u(u)?this[p]:this.set(c,u)},h.unix=function(){return Math.floor(this.valueOf()/1e3)},h.valueOf=function(){return this.$d.getTime()},h.startOf=function(u,p){var c=this,y=!!M.u(p)||p,w=M.p(u),b=function(j,H){var J=M.w(c.$u?Date.UTC(c.$y,H,j):new Date(c.$y,H,j),c);return y?J:J.endOf(a)},A=function(j,H){return M.w(c.toDate()[j].apply(c.toDate("s"),(y?[0,0,0,0]:[23,59,59,999]).slice(H)),c)},k=this.$W,D=this.$M,z=this.$D,X="set"+(this.$u?"UTC":"");switch(w){case l:return y?b(1,0):b(31,11);case f:return y?b(1,D):b(0,D+1);case d:var q=this.$locale().weekStart||0,Q=(k<q?k+7:k)-q;return b(y?z-Q:z+(6-Q),D);case a:case v:return A(X+"Hours",0);case s:return A(X+"Minutes",1);case o:return A(X+"Seconds",2);case i:return A(X+"Milliseconds",3);default:return this.clone()}},h.endOf=function(u){return this.startOf(u,!1)},h.$set=function(u,p){var c,y=M.p(u),w="set"+(this.$u?"UTC":""),b=(c={},c[a]=w+"Date",c[v]=w+"Date",c[f]=w+"Month",c[l]=w+"FullYear",c[s]=w+"Hours",c[o]=w+"Minutes",c[i]=w+"Seconds",c[n]=w+"Milliseconds",c)[y],A=y===a?this.$D+(p-this.$W):p;if(y===f||y===l){var k=this.clone().set(v,1);k.$d[b](A),k.init(),this.$d=k.set(v,Math.min(this.$D,k.daysInMonth())).$d}else b&&this.$d[b](A);return this.init(),this},h.set=function(u,p){return this.clone().$set(u,p)},h.get=function(u){return this[M.p(u)]()},h.add=function(u,p){var c,y=this;u=Number(u);var w=M.p(p),b=function(D){var z=E(y);return M.w(z.date(z.date()+Math.round(D*u)),y)};if(w===f)return this.set(f,this.$M+u);if(w===l)return this.set(l,this.$y+u);if(w===a)return b(1);if(w===d)return b(7);var A=(c={},c[o]=t,c[s]=r,c[i]=e,c)[w]||1,k=this.$d.getTime()+u*A;return M.w(k,this)},h.subtract=function(u,p){return this.add(-1*u,p)},h.format=function(u){var p=this,c=this.$locale();if(!this.isValid())return c.invalidDate||x;var y=u||"YYYY-MM-DDTHH:mm:ssZ",w=M.z(this),b=this.$H,A=this.$m,k=this.$M,D=c.weekdays,z=c.months,X=c.meridiem,q=function(H,J,se,ae){return H&&(H[J]||H(p,y))||se[J].slice(0,ae)},Q=function(H){return M.s(b%12||12,H,"0")},j=X||function(H,J,se){var ae=H{window.addEventListener(“resize”,()=>{rt(),$e()}),window.addEventListener(“scroll”,()=>{$e()})},rt=()=>{wr.setAttribute(“viewBox”,`0 0 ${window.innerWidth} ${window.innerHeight}`)},$e=()=>{let e=document.querySelector(“.js-steps”).dataset.current;re!==e&&(re=e,ot()),!re||re==”all”?it():nt()},nt=()=>{if(re){let e=document.querySelector(`.js-steps-step[data-step=”${re}”] .js-steps-pin`),t=document.querySelector(“.js-map-location.is-current .js-map-pin”);if(t){let r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),o=document.querySelector(“.js-steps”).getBoundingClientRect(),s=o.top>0?o.top:0,a=r.width/2;ce.setAttribute(“y1”,r.top+a-s),ce.setAttribute(“x1”,r.left+a),ce.setAttribute(“y2”,n.top+a-s),ce.setAttribute(“x2”,n.left+a)}}},it=()=>{ce.classList.add(“is-hidden”)},Mr=()=>{ce.classList.remove(“is-hidden”)},ot=()=>{it(),clearTimeout(tt),tt=setTimeout(()=>{re!==void 0&&re!==”all”&&(nt(),Mr())},1200)},st={init:()=>{br(),rt(),$e()},onChange:()=>{ot()}};var Rn=ft();var ze=e=>{if(e)return e.trim().toLowerCase().normalize(“NFD”).replace(/[u0300-u036f]/g,””).replace(/[^A-Z0-9 ]/gi,””).trim().replace(/ /g,”-“)};var dt=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);var pe=(e,t=null,r=null)=>{r||(r=document.querySelector(“head”));let n=document.createElement(“script”);n.type=”text/javascript”,n.src=e,t&&(n.onload=t),r.appendChild(n)},pt=()=>(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.state===”Subscribed”,vt=()=>{let t=(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.state;return window.location.host.includes(“zzz-systest”)||window.location.host.includes(“pmn.arcpublishing.com”)||window.location.host.includes(“stage.fusion.inquirer.com”)||typeof t>”u”},gt=()=>{let t=(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.hasAdsFreeReading;return!!(t&&t==1)},Be=()=>window.location.host.includes(“localhost”),xe=(e,t=””)=>{let r=document.querySelector(`template#${e}`);if(!r||!(r instanceof HTMLTemplateElement))return console.log(`Couldn’t find .`),null;let n=r.content.cloneNode(!0).childNodes;if(n.length==0)return console.log(`Template ${r} has no children, returning null.`),null;n.length>1&&console.log(`Template ${r} has multiple children, only returning the first.`);let i=n[0];return i.setAttribute(“data-id”,t),i},Te=(e,t)=>{let r=[…e.querySelectorAll(“[data-populate]”)];e.dataset.populate&&r.unshift(e);let n=r.filter(i=>{let o=i.closest(“[data-populate-context]”);return!o||o==e});for(let i of n){let s=i.dataset.populate.trim().split(/s*,s*/).map(a=>a.split(/s*:s*/));for(let[a,d]of s){let g=a.split(“.”).reduce((x,F)=>x?.[F],t),l=g==null||g==null,v=d?.split(/s+/)||[“innerHTML”];for(let x of v)x.startsWith(“.”)&&i.classList.toggle(x.substring(1),l?!1:g),!l&&(x==”innerHTML”?i.innerHTML=g:x.startsWith(“@”)?i.setAttribute(x.substring(1),g):x.startsWith(“–“)&&i.style.setProperty(x,g))}}};var Er=()=>{gt()&&document.querySelectorAll(“.js-adbox”).forEach(t=>{t.classList.add(“is-hidden”)})},mt={init:()=>{Er()}};var le,yt,kr=()=>{le=document.getElementById(“js-inno-toast”)},Dr=e=>{if(!le)return;le.innerHTML=e,le.classList.add(“inno-toast–active”);let t=()=>{le.addEventListener(“transitionend”,$r,{once:!0}),le.classList.remove(“inno-toast–active”)};clearTimeout(yt),yt=setTimeout(t,5e3)},$r=()=>{le.innerHTML=””},ue={init:()=>{kr()},showToast:Dr};var Ce,wt=!1,zr=async()=>new Promise(e=>{setTimeout(()=>{console.log(“simulating createShareLink for localhost”),e(“https://inquirer.com/interactives”),Br()},100)}),Br=()=>{let e=document.querySelector(“.js-gift-toast-receiver”);!e||!(e instanceof HTMLElement)||setTimeout(()=>{let t=e?.querySelector(“span”);t&&(t.innerHTML=”Gift link copied to clipboard“)},20)},Fr=()=>{let e=window.services?.createShareLink;e&&(Ce=e),Be()&&(Ce=zr),Ce&&Or()},Hr=async e=>{let t=”text/plain”,r=async()=>{try{return await Ce(window.location.pathname)}catch{e.dataset.state=”error”,ue.showToast(“Hmm, we couldn’t generate a gift link…”)}},n=new ClipboardItem({[t]:r()});await navigator.clipboard.write([n]).catch(i=>{console.log(i),ue.showToast(“Couldn’t copy to clipboard, try again?”),e.dataset.state=”error”}),ue.showToast(“Gift link copied to clipboard!”),e.dataset.state=”complete”},Or=()=>{document.querySelectorAll(“.js-gift”).forEach(t=>{(pt()||Be()||vt())&&t.classList.add(“is-available”)}),document.querySelectorAll(“.js-gift-button”).forEach(t=>{t instanceof HTMLButtonElement&&t.addEventListener(“click”,()=>{t.classList.contains(“disabled”)||(t.dataset.state=”loading”,wt=!0,Hr(t),setTimeout(()=>{t.dataset.state=”ready”},2e3))})});let e=document.querySelector(“.js-gift-toast-receiver”);!e||!(e instanceof HTMLElement)||Rr(e)},Rr=e=>{new MutationObserver(r=>{for(let n of r){let i=[…n.addedNodes].at(0);if(!(i instanceof HTMLElement))return;wt&&ue.showToast(i.outerHTML)}}).observe(e,{subtree:!0,childList:!0})},bt={init:()=>{Fr()}};var Ur=()=>{window.addEventListener(“message”,e=>{if(e.data[“datawrapper-height”]){let t=e.data[“datawrapper-height”];for(let r in t)document.querySelector(`#datawrapper-chart-${r}`).setAttribute(“height”,t[r])}})},Ir=()=>{document.querySelectorAll(“.js-datawrapper-graphic”).forEach(e=>{pe(`https://datawrapper.dwcdn.net/${e.dataset.id}/embed.js`,null,e)})},qr=()=>{window.addEventListener(“message”,e=>{let t=e.data;document.querySelectorAll(`iframe[src*=”${t.id}”]`).forEach(n=>{n.style.height=`${t.height}px`})},!1)},Gr=()=>{document.querySelectorAll(“.js-pym-graphic”).forEach(e=>{if(typeof window{new window.pym.Parent(e.id,e.dataset.iframe)};typeof window.pym>”u”?pe(“https://pym.nprapps.org/pym.v1.min.js”,t):t()}})},Mt={init:()=>{Ur(),Ir(),Gr(),qr()}};var ve,Nr=()=>{document.querySelectorAll(“.js-hover”).forEach(e=>{e.addEventListener(“click”,()=>{St(e)}),e.addEventListener(“mouseenter”,()=>{St(e)}),e.addEventListener(“mouseout”,()=>{xt(e)})}),window.addEventListener(“scroll”,()=>{ve!==null&&Zr()})},Zr=()=>{(ve>window.scrollY+100||ve{xt(e)})},St=e=>{e.classList.add(“is-visible”),ve=window.scrollY},xt=e=>{e.classList.remove(“is-visible”),ve=null},Tt={init:()=>{Nr()}};var N=Uint8Array,he=Uint16Array,Wr=Int32Array,Ct=new N([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Lt=new N([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),jr=new N([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Pt=function(e,t){for(var r=new he(31),n=0;n<31;++n)r[n]=t+=1<<e[n-1];for(var i=new Wr(r[30]),n=1;n<30;++n)for(var o=r[n];o<r[n+1];++o)i[o]=o-r[n]<<5|n;return{b:r,r:i}},At=Pt(Ct,2),Et=At.b,Jr=At.r;Et[28]=258,Jr[258]=28;var kt=Pt(Lt,0),Yr=kt.b,Vn=kt.r,Oe=new he(32768);for(S=0;S>1|(S&21845)<>2|(_&13107)<>4|(_&3855)<>8|(_&255)<>1;var _,S,ge=function(e,t,r){for(var n=e.length,i=0,o=new he(t);i<n;++i)e[i]&&++o[e[i]-1];var s=new he(t);for(i=1;i<t;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new he(1<<t);var d=15-t;for(i=0;i<n;++i)if(e[i])for(var f=i<<4|e[i],g=t-e[i],l=s[e[i]-1]++<<g,v=l|(1<<g)-1;l>d]=f}else for(a=new he(n),i=0;i>15-e[i]);return a},me=new N(288);for(S=0;S<144;++S)me[S]=8;var S;for(S=144;S<256;++S)me[S]=9;var S;for(S=256;S<280;++S)me[S]=7;var S;for(S=280;S<288;++S)me[S]=8;var S,Dt=new N(32);for(S=0;S<32;++S)Dt[S]=5;var S;var Vr=ge(me,9,1);var Kr=ge(Dt,5,1),Fe=function(e){for(var t=e[0],r=1;rt&&(t=e[r]);return t},Y=function(e,t,r){var n=t/8|0;return(e[n]|e[n+1]<>(t&7)&r},He=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<>(t&7)},Xr=function(e){return(e+7)/8|0},Qr=function(e,t,r){return(t==null||te.length)&&(r=e.length),new N(e.subarray(t,r))};var _r=[“unexpected EOF”,”invalid block type”,”invalid length/literal”,”invalid distance”,”stream finished”,”no stream handler”,,”no callback”,”invalid UTF-8 data”,”extra field too long”,”date not in range 1980-2099″,”filename too long”,”stream finishing”,”invalid zip data”],G=function(e,t,r){var n=new Error(t||_r[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,G),!r)throw n;return n},Re=function(e,t,r,n){var i=e.length,o=n?n.length:0;if(!i||t.f&&!t.l)return r||new N(0);var s=!r,a=s||t.i!=2,d=t.i;s&&(r=new N(i*3));var f=function(ae){var Xe=r.length;if(ae>Xe){var Qe=new N(Math.max(Xe*2,ae));Qe.set(r),r=Qe}},g=t.f||0,l=t.p||0,v=t.b||0,x=t.l,F=t.d,P=t.m,V=t.n,O=i*8;do{if(!x){g=Y(e,l,1);var K=Y(e,l+1,3);if(l+=3,K)if(K==1)x=Vr,F=Kr,P=9,V=5;else if(K==2){var ie=Y(e,l,31)+257,oe=Y(e,l+10,15)+4,E=ie+Y(e,l+5,31)+1;l+=14;for(var M=new N(E),te=new N(19),U=0;U<oe;++U)te[jr[U]]=Y(e,l+U*3,7);l+=oe*3;for(var m=Fe(te),h=(1<<m)-1,u=ge(te,m,1),U=0;U>4;if(C<16)M[U++]=C;else{var c=0,y=0;for(C==16?(y=3+Y(e,l,3),l+=2,c=M[U-1]):C==17?(y=3+Y(e,l,7),l+=3):C==18&&(y=11+Y(e,l,127),l+=7);y–;)M[U++]=c}}var w=M.subarray(0,ie),b=M.subarray(ie);P=Fe(w),V=Fe(b),x=ge(w,P,1),F=ge(b,V,1)}else G(1);else{var C=Xr(l)+4,$=e[C-4]|e[C-3]<i){d&&G(0);break}a&&f(v+$),r.set(e.subarray(C,R),v),t.b=v+=$,t.p=l=R*8,t.f=g;continue}if(l>O){d&&G(0);break}}a&&f(v+131072);for(var A=(1<<P)-1,k=(1<>4;if(l+=c&15,l>O){d&&G(0);break}if(c||G(2),z264){var U=z-257,q=Ct[U];X=Y(e,l,(1<>4;Q||G(3),l+=Q&15;var b=Yr[j];if(j>3){var q=Lt[j];b+=He(e,l)&(1<O){d&&G(0);break}a&&f(v+131072);var H=v+X;if(v<b){var J=o-b,se=Math.min(b,H);for(J+v<0&&G(3);v<se;++v)r[v]=n[J+v]}for(;v<H;++v)r[v]=r[v-b]}}t.l=x,t.p=D,t.b=v,t.f=g,x&&(g=1,t.m=P,t.d=F,t.n=V)}while(!g);return v!=r.length&&s?Qr(r,0,v):r.subarray(0,v)};var en=new N(0);var tn=function(e){(e[0]!=31||e[1]!=139||e[2]!=8)&&G(6,"invalid gzip data");var t=e[3],r=10;t&4&&(r+=(e[10]|e[11]<>3&1)+(t>>4&1);n>0;n-=!e[r++]);return r+(t&2)},rn=function(e){var t=e.length;return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<>>0};var nn=function(e,t){return((e[0]&15)!=8||e[0]>>4>7||(e[0]<>5&1)==+!t&&G(6,”invalid zlib data: “+(e[1]&32?”need”:”unexpected”)+” dictionary”),(e[1]>>3&4)+2};function on(e,t){return Re(e,{i:2},t&&t.out,t&&t.dictionary)}function sn(e,t){var r=tn(e);return r+8>e.length&&G(6,”invalid gzip data”),Re(e.subarray(r,-8),{i:2},t&&t.out||new N(rn(e)),t&&t.dictionary)}function an(e,t){return Re(e.subarray(nn(e,t&&t.dictionary),-4),{i:2},t&&t.out,t&&t.dictionary)}function $t(e,t){return e[0]==31&&e[1]==139&&e[2]==8?sn(e,t):(e[0]&15)!=8||e[0]>>4>7||(e[0]<<8|e[1])%31?on(e,t):an(e,t)}var ln=typeof TextDecodercn(e,”name”,{value:t,configurable:!0}),B=(e,t,r)=>new Promise((n,i)=>{var o=d=>{try{a(r.next(d))}catch(f){i(f)}},s=d=>{try{a(r.throw(d))}catch(f){i(f)}},a=d=>d.done?n(d.value):Promise.resolve(d.value).then(o,s);a((r=r.apply(e,t)).next())}),Qn=T((e,t)=>{let r=!1,n=””,i=L.GridLayer.extend({createTile:T((o,s)=>{let a=document.createElement(“img”),d=new AbortController,f=d.signal;return a.cancel=()=>{d.abort()},r||(e.getHeader().then(g=>{g.tileType===1?console.error(“Error: archive contains MVT vector tiles, but leafletRasterLayer is for displaying raster tiles. See https://github.com/protomaps/PMTiles/tree/main/js for details.”):g.tileType===2?n=”image/png”:g.tileType===3?n=”image/jpeg”:g.tileType===4?n=”image/webp”:g.tileType===5&&(n=”image/avif”)}),r=!0),e.getZxy(o.z,o.x,o.y,f).then(g=>{if(g){let l=new Blob([g.data],{type:n}),v=window.URL.createObjectURL(l);a.src=v,a.cancel=void 0,s(void 0,a)}}).catch(g=>{if(g.name!==”AbortError”)throw g}),a},”createTile”),_removeTile:T(function(o){let s=this._tiles[o];s&&(s.el.cancel&&s.el.cancel(),s.el.width=0,s.el.height=0,s.el.deleted=!0,L.DomUtil.remove(s.el),delete this._tiles[o],this.fire(“tileunload”,{tile:s.el,coords:this._keyToTileCoords(o)}))},”_removeTile”)});return new i(t)},”leafletRasterLayer”),hn=T(e=>(t,r)=>{if(r instanceof AbortController)return e(t,r);let n=new AbortController;return e(t,n).then(i=>r(void 0,i.data,i.cacheControl||””,i.expires||””),i=>r(i)).catch(i=>r(i)),{cancel:T(()=>n.abort(),”cancel”)}},”v3compat”),zt=class{constructor(t){this.tilev4=T((r,n)=>B(this,null,function*(){if(r.type===”json”){let x=r.url.substr(10),F=this.tiles.get(x);if(F||(F=new Le(x),this.tiles.set(x,F)),this.metadata)return{data:yield F.getTileJson(r.url)};let P=yield F.getHeader();return(P.minLon>=P.maxLon||P.minLat>=P.maxLat)&&console.error(`Bounds of PMTiles archive ${P.minLon},${P.minLat},${P.maxLon},${P.maxLat} are not valid.`),{data:{tiles:[`${r.url}/{z}/{x}/{y}`],minzoom:P.minZoom,maxzoom:P.maxZoom,bounds:[P.minLon,P.minLat,P.maxLon,P.maxLat]}}}let i=new RegExp(/pmtiles://(.+)/(d+)/(d+)/(d+)/),o=r.url.match(i);if(!o)throw new Error(“Invalid PMTiles protocol URL”);let s=o[1],a=this.tiles.get(s);a||(a=new Le(s),this.tiles.set(s,a));let d=o[2],f=o[3],g=o[4],l=yield a.getHeader(),v=yield a?.getZxy(+d,+f,+g,n.signal);if(v)return{data:new Uint8Array(v.data),cacheControl:v.cacheControl,expires:v.expires};if(l.tileType===1){if(this.errorOnMissingTile)throw new Error(“Tile not found.”);return{data:new Uint8Array}}return{data:null}}),”tilev4″),this.tile=hn(this.tilev4),this.tiles=new Map,this.metadata=t?.metadata||!1,this.errorOnMissingTile=t?.errorOnMissingTile||!1}add(t){this.tiles.set(t.source.getKey(),t)}get(t){return this.tiles.get(t)}};T(zt,”Protocol”);var Bt=zt;function Ft(e,t){return(t>>>0)*4294967296+(e>>>0)}T(Ft,”toNum”);function Ht(e,t){let r=t.buf,n=r[t.pos++],i=(n&112)>>4;if(n<128||(n=r[t.pos++],i|=(n&127)<<3,n<128)||(n=r[t.pos++],i|=(n&127)<<10,n<128)||(n=r[t.pos++],i|=(n&127)<<17,n<128)||(n=r[t.pos++],i|=(n&127)<<24,n<128)||(n=r[t.pos++],i|=(n&1)<<31,n<128))return Ft(e,i);throw new Error("Expected varint not more than 10 bytes")}T(Ht,"readVarintRemainder");function fe(e){let t=e.buf,r=t[e.pos++],n=r&127;return r<128||(r=t[e.pos++],n|=(r&127)<<7,r<128)||(r=t[e.pos++],n|=(r&127)<<14,r<128)||(r=t[e.pos++],n|=(r&127)<<21,r<128)?n:(r=t[e.pos],n|=(r&15)<<28,Ht(n,e))}T(fe,"readVarint");function Ie(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let i=t[0];t[0]=t[1],t[1]=i}}T(Ie,"rotate");function Ot(e,t){let r=ye(2,e),n=t,i=t,o=t,s=[0,0],a=1;for(;a26)throw new Error(“Tile zoom level exceeds max safe number limit (26)”);if(t>ye(2,e)-1||r>ye(2,e)-1)throw new Error(“tile x/y outside zoom level bounds”);let n=fn[e],i=ye(2,e),o=0,s=0,a=0,d=[t,r],f=i/2;for(;f>0;)o=(d[0]&f)>0?1:0,s=(d[1]&f)>0?1:0,a+=f*f*(3*o^s),Ie(f,d,o,s),f=f/2;return n+a}T(Rt,”zxyToTileId”);function dn(e){let t=0,r=0;for(let n=0;n<27;n++){let i=(1<<n)*(1<e)return Ot(n,e-t);t+=i}throw new Error(“Tile zoom level exceeds max safe number limit (26)”)}T(dn,”tileIdToZxy”);var pn=(e=>(e[e.Unknown=0]=”Unknown”,e[e.None=1]=”None”,e[e.Gzip=2]=”Gzip”,e[e.Brotli=3]=”Brotli”,e[e.Zstd=4]=”Zstd”,e))(pn||{});function Pe(e,t){return B(this,null,function*(){if(t===1||t===0)return e;if(t===2){if(typeof globalThis.DecompressionStream>”u”)return $t(new Uint8Array(e));let r=new Response(e).body;if(!r)throw new Error(“Failed to read response stream”);let n=r.pipeThrough(new globalThis.DecompressionStream(“gzip”));return new Response(n).arrayBuffer()}throw new Error(“Compression method not supported”)})}T(Pe,”defaultDecompress”);var vn=(e=>(e[e.Unknown=0]=”Unknown”,e[e.Mvt=1]=”Mvt”,e[e.Png=2]=”Png”,e[e.Jpeg=3]=”Jpeg”,e[e.Webp=4]=”Webp”,e[e.Avif=5]=”Avif”,e))(vn||{});function Ut(e){return e===1?”.mvt”:e===2?”.png”:e===3?”.jpg”:e===4?”.webp”:e===5?”.avif”:””}T(Ut,”tileTypeExt”);var gn=127;function It(e,t){let r=0,n=e.length-1;for(;r>1,o=t-e[i].tileId;if(o>0)r=i+1;else if(o=0&&(e[n].runLength===0||t-e[n].tileId-1,o=/Chrome|Chromium|Edg|OPR|Brave/.test(n);this.chromeWindowsNoCache=!1,i&&o&&(this.chromeWindowsNoCache=!0)}getKey(){return this.url}setHeaders(t){this.customHeaders=t}getBytes(t,r,n,i){return B(this,null,function*(){let o,s;n?s=n:(o=new AbortController,s=o.signal);let a=new Headers(this.customHeaders);a.set(“range”,`bytes=${t}-${t+r-1}`);let d;this.mustReload?d=”reload”:this.chromeWindowsNoCache&&(d=”no-store”);let f=yield fetch(this.url,{signal:s,cache:d,headers:a});if(t===0&&f.status===416){let v=f.headers.get(“Content-Range”);if(!v||!v.startsWith(“bytes */”))throw new Error(“Missing content-length on 416 response”);let x=+v.substr(8);f=yield fetch(this.url,{signal:s,cache:”reload”,headers:{range:`bytes=0-${x-1}`}})}let g=f.headers.get(“Etag”);if(g!=null&&g.startsWith(“W/”)&&(g=null),f.status===416||i&&g&&g!==i)throw this.mustReload=!0,new Ue(`Server returned non-matching ETag ${i} after one retry. Check browser extensions and servers for issues that may affect correct ETag headers.`);if(f.status>=300)throw new Error(`Bad response code: ${f.status}`);let l=f.headers.get(“Content-Length”);if(f.status===200&&(!l||+l>r))throw o&&o.abort(),new Error(“Server returned no content-length header or content-length exceeding request. Check that your storage backend supports HTTP Byte Serving.”);return{data:yield f.arrayBuffer(),etag:g||void 0,cacheControl:f.headers.get(“Cache-Control”)||void 0,expires:f.headers.get(“Expires”)||void 0}})}};T(qt,”FetchSource”);var yn=qt;function W(e,t){let r=e.getUint32(t+4,!0),n=e.getUint32(t+0,!0);return r*ye(2,32)+n}T(W,”getUint64″);function Gt(e,t){let r=new DataView(e),n=r.getUint8(7);if(n>3)throw new Error(`Archive is spec version ${n} but this library supports up to spec version 3`);return{specVersion:n,rootDirectoryOffset:W(r,8),rootDirectoryLength:W(r,16),jsonMetadataOffset:W(r,24),jsonMetadataLength:W(r,32),leafDirectoryOffset:W(r,40),leafDirectoryLength:W(r,48),tileDataOffset:W(r,56),tileDataLength:W(r,64),numAddressedTiles:W(r,72),numTileEntries:W(r,80),numTileContents:W(r,88),clustered:r.getUint8(96)===1,internalCompression:r.getUint8(97),tileCompression:r.getUint8(98),tileType:r.getUint8(99),minZoom:r.getUint8(100),maxZoom:r.getUint8(101),minLon:r.getInt32(102,!0)/1e7,minLat:r.getInt32(106,!0)/1e7,maxLon:r.getInt32(110,!0)/1e7,maxLat:r.getInt32(114,!0)/1e7,centerZoom:r.getUint8(118),centerLon:r.getInt32(119,!0)/1e7,centerLat:r.getInt32(123,!0)/1e7,etag:t}}T(Gt,”bytesToHeader”);function qe(e){let t={buf:new Uint8Array(e),pos:0},r=fe(t),n=[],i=0;for(let o=0;o<r;o++){let s=fe(t);n.push({tileId:i+s,offset:0,length:0,runLength:1}),i+=s}for(let o=0;o<r;o++)n[o].runLength=fe(t);for(let o=0;o<r;o++)n[o].length=fe(t);for(let o=0;o0?n[o].offset=n[o-1].offset+n[o-1].length:n[o].offset=s-1}return n}T(qe,”deserializeIndex”);var Nt=class extends Error{};T(Nt,”EtagMismatch”);var Ue=Nt;function Ge(e,t){return B(this,null,function*(){let r=yield e.getBytes(0,16384);if(new DataView(r.data).getUint16(0,!0)!==19792)throw new Error(“Wrong magic number for PMTiles archive”);let n=r.data.slice(0,gn),i=Gt(n,r.etag),o=r.data.slice(i.rootDirectoryOffset,i.rootDirectoryOffset+i.rootDirectoryLength),s=`${e.getKey()}|${i.etag||””}|${i.rootDirectoryOffset}|${i.rootDirectoryLength}`,a=qe(yield t(o,i.internalCompression));return[i,[s,a.length,a]]})}T(Ge,”getHeaderAndRoot”);function Ne(e,t,r,n,i){return B(this,null,function*(){let o=yield e.getBytes(r,n,void 0,i.etag),s=yield t(o.data,i.internalCompression),a=qe(s);if(a.length===0)throw new Error(“Empty directory is invalid”);return a})}T(Ne,”getDirectory”);var wn=class{constructor(t=100,r=!0,n=Pe){this.cache=new Map,this.maxCacheEntries=t,this.counter=1,this.decompress=n}getHeader(t){return B(this,null,function*(){let r=t.getKey(),n=this.cache.get(r);if(n)return n.lastUsed=this.counter++,n.data;let i=yield Ge(t,this.decompress);return i[1]&&this.cache.set(i[1][0],{lastUsed:this.counter++,data:i[1][2]}),this.cache.set(r,{lastUsed:this.counter++,data:i[0]}),this.prune(),i[0]})}getDirectory(t,r,n,i){return B(this,null,function*(){let o=`${t.getKey()}|${i.etag||””}|${r}|${n}`,s=this.cache.get(o);if(s)return s.lastUsed=this.counter++,s.data;let a=yield Ne(t,this.decompress,r,n,i);return this.cache.set(o,{lastUsed:this.counter++,data:a}),this.prune(),a})}prune(){if(this.cache.size>this.maxCacheEntries){let t=1/0,r;this.cache.forEach((n,i)=>{n.lastUsed{Ge(t,this.decompress).then(a=>{a[1]&&this.cache.set(a[1][0],{lastUsed:this.counter++,data:Promise.resolve(a[1][2])}),o(a[0]),this.prune()}).catch(a=>{s(a)})});return this.cache.set(r,{lastUsed:this.counter++,data:i}),i})}getDirectory(t,r,n,i){return B(this,null,function*(){let o=`${t.getKey()}|${i.etag||””}|${r}|${n}`,s=this.cache.get(o);if(s)return s.lastUsed=this.counter++,yield s.data;let a=new Promise((d,f)=>{Ne(t,this.decompress,r,n,i).then(g=>{d(g),this.prune()}).catch(g=>{f(g)})});return this.cache.set(o,{lastUsed:this.counter++,data:a}),a})}prune(){if(this.cache.size>=this.maxCacheEntries){let t=1/0,r;this.cache.forEach((n,i)=>{n.lastUsed{this.getHeader(t).then(s=>{i(),this.invalidations.delete(r)}).catch(s=>{o(s)})});this.invalidations.set(r,n)})}};T(Zt,”SharedPromiseCache”);var bn=Zt,Wt=class{constructor(t,r,n){typeof t==”string”?this.source=new yn(t):this.source=t,n?this.decompress=n:this.decompress=Pe,r?this.cache=r:this.cache=new bn}getHeader(){return B(this,null,function*(){return yield this.cache.getHeader(this.source)})}getZxyAttempt(t,r,n,i){return B(this,null,function*(){let o=Rt(t,r,n),s=yield this.cache.getHeader(this.source);if(ts.maxZoom)return;let a=s.rootDirectoryOffset,d=s.rootDirectoryLength;for(let f=0;f0){let v=yield this.source.getBytes(s.tileDataOffset+l.offset,l.length,i,s.etag);return{data:yield this.decompress(v.data,s.tileCompression),cacheControl:v.cacheControl,expires:v.expires}}a=s.leafDirectoryOffset+l.offset,d=l.length}else return}throw new Error(“Maximum directory depth exceeded”)})}getZxy(t,r,n,i){return B(this,null,function*(){try{return yield this.getZxyAttempt(t,r,n,i)}catch(o){if(o instanceof Ue)return this.cache.invalidate(this.source),yield this.getZxyAttempt(t,r,n,i);throw o}})}getMetadataAttempt(){return B(this,null,function*(){let t=yield this.cache.getHeader(this.source),r=yield this.source.getBytes(t.jsonMetadataOffset,t.jsonMetadataLength,void 0,t.etag),n=yield this.decompress(r.data,t.internalCompression),i=new TextDecoder(“utf-8″);return JSON.parse(i.decode(n))})}getMetadata(){return B(this,null,function*(){try{return yield this.getMetadataAttempt()}catch(t){if(t instanceof Ue)return this.cache.invalidate(this.source),yield this.getMetadataAttempt();throw t}})}getTileJson(t){return B(this,null,function*(){let r=yield this.getHeader(),n=yield this.getMetadata(),i=Ut(r.tileType);return{tilejson:”3.0.0″,scheme:”xyz”,tiles:[`${t}/{z}/{x}/{y}${i}`],vector_layers:n.vector_layers,attribution:n.attribution,description:n.description,name:n.name,version:n.version,bounds:[r.minLon,r.minLat,r.maxLon,r.maxLat],center:[r.centerLon,r.centerLat,r.centerZoom],minzoom:r.minZoom,maxzoom:r.maxZoom}})}};T(Wt,”PMTiles”);var Le=Wt;var we=[{name:”Mirenda Center at Neumann University”,town:”Aston Township”,coordinates:”39.87518295957942, -75.44287264018742″,photo:”CUFT75EQJFCNXF6TBJWB47IZBE”,description:”Tom (Mark Ruffalo) mans a table at a job fair here while temporarily working as a recruiter for the FBI. Next to his station, the distinctive pillars of the centeru2019s atrium are visible.”,episode:”1″},{name:”Rita’s Italian Ice & Frozen Custard”,town:”Collingdale”,coordinates:”39.91438144966683, -75.27198755476991″,photo:”PVN6FY7AZVH57NJJ5QZMPSORVQ”,description:”Emily (Silvia Dionicio), Tomu2019s daughter, works her part-time job here. In the scene where it is shown, Tom orders a black cherry water ice, a flavor choice of which we approve.”,episode:”1″},{name:”Former Philadelphia Police Department Headquarters”,town:”Philadelphia”,coordinates:”39.95454212611587, -75.15196309318775″,photo:”L7RTCVGETVB6BGP3OI6FGI75II”,description:”We get a brief glimpse of the exterior of the former Philadelphia police headquarters, colloquially known as the Roundhouse. Whether the interior is the same building is unclear, but in the show, this appears to be where the FBIu2019s Philly field office is located.”,episode:”1″},{name:”Bangor Quarry”,town:”Bangor”,coordinates:”40.870304770450126, -75.20395382209078″,photo:””,description:”Robbie (Tom Pelphrey), Cliff (RaxFAl Castillo), and Peaches (Owen Teague) head here for a post-robbery swim. On a real-life note, you should not do the same u2014 not only is it dangerous, but itu2019s also trespassing, according to the Bangor Borough Police Department.”,episode:”1″},{name:”Lincoln Highway and 2nd Avenue”,town:”Coatesville”,coordinates:”39.98367030794463, -75.82206085300957″,photo:”DKXFYZ5EGBEHJJKLSUGLQQDAR4″,description:”The Dark Hearts motorcycle gang rides through this intersection in formation, the giveaway being Presence Bank in the background in one shot.”,episode:”2″},{name:”Polish American Citizens Club”,town:”Coatesville”,coordinates:”39.98079295642107, -75.83090353169075″,photo:”WICMTOVTBFE3HANVTH2PSHED5M”,description:”Done up as the so-called Leftyu2019s Taproom in the show, this location serves as the Dark Heartsu2019 clubhouse and watering hole. In real life, itu2019s just off Lincoln Highway, lending a bit of realism to the gangu2019s ride through downtown Coatesville.”,episode:”2″},{name:”Martin’s Taphouse”,town:”Aston Township”,coordinates:”39.89042265129427, -75.43449503510138″,photo:””,description:”Martin’s stands in as the exterior of the Tip Top Lounge in the series, which we see in this episode stacked with motorcycles parked outside the front door.”,episode:”2″},{name:”Dixon’s Lounge”,town:”Sharon Hill”,coordinates:”39.897139107273794, -75.27191565278125″,photo:”BHMNCU4FFJGOBPUKYCZBB2XEOA”,description:”While the exterior of the Tip Top Lounge is in Aston, the interior bears a striking resemblance to Delcou2019s own Dixonu2019s Lounge. Here, Robbie and Cliff are stood up by an, ahem, u201Cbusiness partneru201D before walking out on an order of crabfries.”,episode:”2″},{name:”Willowbrook Shopping Center”,town:”Boothwyn”,coordinates:”39.83646391291799, -75.44319408140227″,photo:”ZU5QXUIDONETHIPPADUJYMAKCY”,description:”Maeve (Emilia Jones) takes Sam (Ben Lewis Doherty) to a fictional u201CVal-U Corneru201D store here with the intent of dropping him off for police to find before the plan goes awry. The store is located near the real Blue Cherry Ice Cream and Bakery, which is visible in the background.”,episode:”2″},{name:”Phoenixville Area High School”,town:”Phoenixville”,coordinates:”40.11868357112564, -75.51793551723154″,photo:””,description:”During his search for his daughter, Emily (Silvia Dionicio), Tom (Mark Ruffalo) finds her in the dugout of a baseball field that, in real life, is at Phoenixville Area High School. Its distinctive backstop is visible from a bird’s-eye view in the series.”,episode:”2″},{name:”Ralph’s Italian Restaurant”,town:”Philadelphia”,coordinates:”39.94006065749021, -75.15774535245488″,photo:”GMDZYMAHRNFGPBTYLRABBDJYHM”,description:”Dark Hearts leaders Jayson (Sam Keeley) and Perry (Jamie McShane) walk through the kitchen here to meet with local drug kingpin Freddy Frias (Elvis Nolasco), but in the show, it doesnu2019t appear to be serving the Italian food weu2019re used to in real life.”,episode:”3″},{name:”Mount Hope Cemetery”,town:”Aston Township”,coordinates:”39.871593701306836, -75.4390865914003″,photo:”4PCNSW4SPBAW7L2WFSJ2STJ3IM”,description:”Itu2019s a very quick shot, but itu2019s there just under four minutes into the episode. In the background, you can see the Commodore Barry Bridge, and graves on a hill in the cemetery in the foreground.”,episode:”3″},{name:”Sixpenny Creek Quarry”,town:”Union Township”,coordinates:”40.23700358370588, -75.78650582204335″,photo:”PLM34YOMIRCPPDVCGTFXM5FGME”,description:”Robbie (Tom Pelphrey) and Cliff (RaxFAl Castillo) finally get their meeting with Eryn (Margarita Levieva), their Dark Hearts insider, but it doesnu2019t go according to plan.”,episode:”3″},{name:”Llanerch Diner”,town:”Upper Darby”,coordinates:”39.96894828437008, -75.29301814827437″,photo:”6QXQDIMGKVDR5J64W4PVS3WP3E”,description:”Taskforce members Aleah (Thuso Mbedu) and Lizzie (Alison Oliver) head to Upper Darby’s famed Llanerch Diner for a tip on the drug house robberies they’re investigating, and get a break in the case.”,episode:”3″},{name:”Rosedon Plaza”,town:”Lansdowne”,coordinates:”39.94225704587108, -75.26528827286353″,photo:”SCB2N67GLFACZO33OOA7CLXQMM”,description:”In the background of one shot during the chase for Ray (Peter Patrikios), you can see the old Doc’s Deli (Deli Green). That puts Ray in the corner of the Rosedon Plaza parking lot as Lizzie (Alison Oliver) makes the arrest.”,episode:”3″},{name:”Coatesville Police Department”,town:”Coatesville”,coordinates:”39.982144078230384, -75.82033869646108″,photo:”XTADWTS6UNEDHOJGNIMWPBBOLE”,description:”Whether the interior is the same station isnu2019t clear, but an exterior shot sets this spot up as the place where the Task team interrogates Ray (Peter Patrikios) and Shelley (Mickey Sumner). Out front, a police cruiser reads u201CDelaware County Sheriff,u201D which is a little far from home.”,episode:”3″},{name:”The Ridley House”,town:”Holmes”,coordinates:”39.89753600427107, -75.31137880453917″,photo:”F2JJYIIZWFA3FFTHDPSXFI5M5A”,description:”Following the chase and interrogation, Lizzie (Alison Oliver) and Grasso (Fabien Frankel) head to this local bar to unwind. Grasso indicates it is a Barnabyu2019s, which, in real life, was true at one point u2013 until the location became the Ridley House in 2019.”,episode:”3″},{name:”Pennsylvania Turnpike on-ramp”,town:”King of Prussia”,coordinates:”40.08960425823238, -75.39689126886788″,photo:”BURLUGM6TRDX3CE46XSFYGJK7M”,description:”Itu2019s a quick shot as Tom (Mark Ruffalo) drives around at the beginning of the episode, but you can just make out the LasikPlus building on Mall Boulevard in the background. That puts this Pennsylvania Turnpike entrance in King of Prussia.”,episode:”4″},{name:”I-76 Exit 320″,town:”Malvern”,coordinates:”40.073716457225665, -75.52365668680957″,photo:””,description:”Tom (Mark Ruffalo) appears to take this exit as he is driving to meet his fellow taskforce members.”,episode:”4″},{name:”Marcus Hook Community Center”,town:”Marcus Hook”,coordinates:”39.81198192114949, -75.41200706776057″,photo:”B76EM6PKTFEB7KFWEUWGOWYDL4″,description:”As County Chief Dorsey (Raphael Sbarge) exits the building, you can see a door tagged with u201CDelaware County Sheriffu2019s Office.u201D But the green awning above him is a dead giveaway u2014 thatu2019s the Marcus Hook Community Center.”,episode:”4″},{name:”Rockdale Industrial Center”,town:”Aston Township “,coordinates:”39.885281970146785, -75.44479191780039″,photo:””,description:”It’s disguised as a trucking depot in the series, but this is where Robbie (Tom Pelphrey) and Cliff (RaxFAl Castillo) travel with Sam (Ben Lewis Doherty) to arrange transportation for their escape into Canada before being confronted by a Good Samaritan. “,episode:”4″},{name:”Upland Diner”,town:”Chester”,coordinates:”39.85816357241053, -75.37189095611281″,photo:”PVJMMBSI2ZBGJNQO46VYY5P6GQ”,description:”Upland Dineru2019s parking lot serves as Robbieu2019s (Tom Pelphrey) holding area during this episodeu2019s drug deal. Unfortunately, we only get an exterior shot of the building, but the restaurantu2019s vintage-style sign is proudly on display. Great pancakes, for the record.”,episode:”4″},{name:”Ridley Creek State Park entrance”,town:”Newtown Square”,coordinates:”39.95853496065017, -75.43948479664033″,photo:”KOSWCMRRHRAB7MLGNLQIF535UM”,description:”Cliff (RaxFAl Castillo) can be seen turning onto North Sandy Flash Drive from Gradyville Road as he heads to the drug deal meeting spot. If you look closely, you can just barely make out a sign for Ridley Creek State Park.”,episode:”4″},{name:”Beaver Creek”,town:”Wilmington, Del.”,coordinates:”39.839261612846315, -75.57139152554225″,photo:””,description:”It’s tough to spot, but the dam that Cliff (RaxFAl Castillo) parks his car next to during this episode’s failed drug deal u2014 or, more accurately, the Dark Hearts’ setup u2014 appears to be in Beaver Creek on the Delaware-Pennsylvania border.”,episode:”4″},{name:”City Clock Apartments”,town:”Coatesville”,coordinates:”39.98382540387415, -75.8211284189516″,photo:”3BYXFXCYUFFRZBUSN5UAPYVYOA”,description:”Another brief shot, but the clock face on the tower of the City Clock Apartments is prominently featured. The building formerly was the National Bank of Coatesville, and has been on the National Register of Historic Places since 1977.”,episode:”4″},{name:”Coatesville-Downingtown Bypass”,town:”Downingtown”,coordinates:”40.01895444780408, -75.70181027552258″,photo:””,description:”FBI Boss Kathleen McGinty (Martha Plimpton) and the rest of the task force swerve across traffic here while looking for Tom (Mark Ruffalo). In the background, you can just make out the sign for Pacer Pool Services & Supplies.”,episode:”5″},{name:”Marsh Creek State Park”,town:”Downingtown”,coordinates:”40.06782560219195, -75.72000193749815″,photo:”NT5JGVMLZFDJTGHC6M7BZFI7Y4″,description:”After surviving his encounter with Robbie (Tom Pelphrey), Tom (Mark Ruffalo) emerges from the woods to see a beautiful summer scene of families enjoying the lake at Marsh Creek State Park.”,episode:”5″},{name:”I-95 Pennsylvania Welcome Center”,town:”Boothwyn”,coordinates:”39.82418322018552, -75.43745107822149″,photo:”5HPTTXFG3ZA2HGAW54OXM4D5ZY”,description:”FBI boss Kathleen McGinty (Martha Plimpton) stuffs her face with fast food at the center’s picnic tables as the task crew looks for their leader. As McGinty explains, she is u201Can emotional eater.u201D”,episode:”5″},{name:”Woy Bridge”,town:”Everett”,coordinates:”40.0150517796881, -78.304498566625″,photo:””,description:”In what is likely the farthest-flung filming location u2013 at least in relation to the rest of the local spots u2013 we get some shots of Everettu2019s Woy Bridge in Bedford County as the taskforce closes in on Robbie (Tom Pelphrey).”,episode:”5″},{name:”Our Lady of Peace Parish”,town:”Milmont Park”,coordinates:”39.88193514095659, -75.33589782814482″,photo:”HGPPGXLRFZFUFE5WBNNXP3DXFM”,description:”Though disguised well as a juvenile detention facility in the show, this little Delco parish provides at least the exterior shots for where Tom (Mark Ruffalo) meets Sam (Ben Lewis Doherty) for the first time.”,episode:”6″},{name:”High Bridge”,town:”Coatesville”,coordinates:”39.98390784773821, -75.82749681114403″,photo:””,description:”This instantly recognizable Coatesville landmark serves as the location for where County Chief Dorsey (Raphael Sbarge) appears to seal Grasso’s (Fabien Frankel) fate with the Dark Hearts.”,episode:”7″},{name:”Delaware County Courthouse and Government Center”,town:”Media”,coordinates:”39.92029464476607, -75.39155431097433″,photo:”NWW6JA6A4FBAJHW7ZIXSIPZ2YA”,description:”Here, Tom (Mark Ruffalo) gives a touching family statement at a court hearing for his son, Ethan (Andrew Russel), in what is the emotional climax of the series. As The Inquirer reported last year, the production took over Courtroom 15 for filming.”,episode:”7″}];var Z=63710088e-1,ai={centimeters:Z*100,centimetres:Z*100,degrees:360/(2*Math.PI),feet:Z*3.28084,inches:Z*39.37,kilometers:Z/1e3,kilometres:Z/1e3,meters:Z,metres:Z,miles:Z/1609.344,millimeters:Z*1e3,millimetres:Z*1e3,nauticalmiles:Z/1852,radians:1,yards:Z*1.0936};function xn(e,t,r={}){let n={type:”Feature”};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function jt(e,t,r={}){return xn({type:”MultiPoint”,coordinates:e},t,r)}function Ze(e,t,r){if(e!==null)for(var n,i,o,s,a,d,f,g=0,l=0,v,x=e.type,F=x===”FeatureCollection”,P=x===”Feature”,V=F?e.features.length:1,O=0;O<V;O++){f=F?e.features[O].geometry:P?e.geometry:e,v=f?f.type==="GeometryCollection":!1,a=v?f.geometries.length:1;for(var K=0;K<a;K++){var C=0,$=0;if(s=v?f.geometries[K]:f,s!==null){d=s.coordinates;var R=s.type;switch(g=r&&(R==="Polygon"||R==="MultiPolygon")?1:0,R){case null:break;case"Point":if(t(d,l,O,C,$)===!1)return!1;l++,C++;break;case"LineString":case"MultiPoint":for(n=0;n<d.length;n++){if(t(d[n],l,O,C,$)===!1)return!1;l++,R==="MultiPoint"&&C++}R==="LineString"&&C++;break;case"Polygon":case"MultiLineString":for(n=0;n<d.length;n++){for(i=0;i<d[n].length-g;i++){if(t(d[n][i],l,O,C,$)===!1)return!1;l++}R==="MultiLineString"&&C++,R==="Polygon"&&$++}R==="Polygon"&&C++;break;case"MultiPolygon":for(n=0;n<d.length;n++){for($=0,i=0;i<d[n].length;i++){for(o=0;o<d[n][i].length-g;o++){if(t(d[n][i][o],l,O,C,$)===!1)return!1;l++}$++}C++}break;case"GeometryCollection":for(n=0;n{r[0]>n[0]&&(r[0]=n[0]),r[1]>n[1]&&(r[1]=n[1]),r[2]<n[0]&&(r[2]=n[0]),r[3]{pe(“https://interactives.inquirer.com/storage/dependencies/maplibre/5.3.0/maplibre-gl.js”,()=>{let e=new Bt;be=window.maplibregl,be.addProtocol(“pmtiles”,e.tile);let t=”https://interactives.inquirer.com/melish/1.2″,r=`${t}/us-latest.pmtiles`,n=new Le(r);e.add(n),n.getHeader().then(async()=>{let o=await(await fetch(`${t}/styles/neutral.json`)).json();ee=new be.Map({container:”map”,zoom:13,center:[-75.165222,39.952583],cooperativeGestures:!0,attributionControl:!1,padding,style:{…o,sources:{openmaptiles:{type:”vector”,url:`pmtiles://${r}`}}}}),ee.scrollZoom.disable(),ee.touchPitch.disable(),ee.addControl(new be.NavigationControl({showCompass:!1,showZoom:!0,visualizePitch:!1}),”bottom-right”),ee.on(“load”,()=>{Cn(),Ee!==”all”?Ae=we.filter(s=>parseInt(s.episode)parseFloat(d)).reverse(),s.id=ze(s.name),s.photo&&(s.imageSrc=`https://interactives.inquirer.com/secondbank/arc/${s.photo}/650.webp`);let a=xe(“js-map-stub”);Te(a,s),a.addEventListener(“click”,()=>{Yt(a)}),a.addEventListener(“mouseover”,()=>{Yt(a)}),a.addEventListener(“mouseout”,()=>{Xt()}),new be.Marker({element:a}).setLngLat(s.coordinates).addTo(ee)}document.querySelector(“.js-map”).classList.add(“is-loaded”),Kt=!0,Me!=””&&(er(Me),_t(Me))})})})},Yt=e=>{Xt(),e.classList.add(“is-highlight”)},Xt=()=>{document.querySelectorAll(“.js-map-location”).forEach(e=>{e.classList.remove(“is-highlight”)})},Cn=()=>{Ee=document.querySelector(“.js-steps”).dataset.episodeForPage},Qt=()=>{let e=window.innerWidth>960;padding={top:50,bottom:e?50:window.innerHeight/2,left:e?window.innerWidth/2+50:50,right:50}},Ln=()=>{window.addEventListener(“resize”,()=>{Qt()})},_t=e=>{if(Me=null,e==null){let t=we.filter(r=>r.episode==Ee);ee.fitBounds(Vt(t),{animate:!0})}else if(e.step==”all”)ee.fitBounds(Vt(Ae),{animate:!0});else{let t=we.filter(r=>ze(r.name)==e.step);t.length>0&&ee.flyTo({center:t[0].coordinates,padding,zoom:13,animate:!0,duration:1e3})}},er=e=>{document.querySelectorAll(“.js-map-location”).forEach(t=>{t.classList.remove(“is-current”)}),e&&e.step!==”all”&&document.querySelector(`.js-map-location[data-id=”${e.step}”]`).classList.add(“is-current”)},Vt=e=>{let t=jt(e.map(n=>n.coordinates));return Jt(t)},ke={init:()=>{Tn(),Qt(),Ln()},update:e=>{Kt?(_t(e),er(e)):Me=e}};var Je=yr(tr());var Pn=async()=>{let t=await(await fetch(“https://interactives.inquirer.com/pepper/2025-task-locations/data.json”)).json();t=t.nav,console.log(t);let r=(0,Je.default)();t=t.filter(i=>r.isAfter((0,Je.default)(`${i.date} 22:00`))),t=t.filter(i=>i.link);let n=document.querySelector(“.js-nav-links”);for(let i of t){i.text=`Episode ${i.episode}`;let o=xe(“js-nav-link-stub”);Te(o,i),n.appendChild(o)}},rr={init:()=>{Pn()}};var De,An=(e,t)=>{De=De||window.PMNdataLayer,De?De.push({event:”misc_event”,eventAction:e,eventLabel:t}):window.location.hostname.includes(“localhost”)?console.log(“Analytics event:”,e,t,”(not actually being sent due to localhost)”):console.log(“Failed to push analytics event”,e,t)},nr={event:(e,t)=>{An(e,t)}};var ir=1,Ye=class{constructor(t){this.el=t,this.contentPosition=”default”,this.possibleSteps=new Array,this.currentStep=null,this.offset=window.innerHeight*.5,this.instanceOfSteps=ir,this.hasMap=!!t.dataset.map,ir++,this.setOffset(),this.setPossibleSteps(),this.updateContent(),this.bindings()}setPossibleSteps(){this.el.querySelectorAll(“.js-steps-step”).forEach(t=>{t.dataset.step&&this.possibleSteps.push(t.dataset.step)})}bindings(){window.addEventListener(“scroll”,()=>{this.updateContent()}),window.addEventListener(“resize”,()=>{this.updateContent(),this.setOffset()})}setOffset(){window.innerWidth>960?this.offset=window.innerHeight*.5:this.offset=window.innerHeight*.8}updateContent(){this.updateCurrentStep()}updateCurrentStep(){let t,r;if(this.el.querySelectorAll(“.js-steps-step”).forEach((i,o)=>{i.getBoundingClientRect().top{let a=”is-“+o,d=”is-“+s;this.possibleSteps.indexOf(o){document.querySelectorAll(“.js-steps”).forEach(e=>{new Ye(e)})}};var En=()=>{},sr={init:()=>{En()}};var de,Ve,Ke=!0,kn=()=>{de=document.querySelectorAll(“.js-video-autoplay”)},Dn=()=>{window.addEventListener(“resize”,()=>{ar()}),window.addEventListener(“scroll”,()=>{ar()}),de.forEach(e=>{e.addEventListener(“volumechange”,t=>{e.muted!==Ke&&!dt()&&(Ke=e.muted,$n())})})},ar=()=>{let e;de.forEach((t,r)=>{let n=t.getBoundingClientRect(),i=n.height/2;n.y-i&&(e=t)}),e!==Ve&&(Ve=e,de.forEach(t=>{t.pause()}),e?e.play():Ve=null)},$n=()=>{de.forEach(e=>{e.muted=Ke})},lr={init:()=>{kn(),de&&Dn()}};var ur={init:()=>{st.init?.(),mt.init?.(),bt.init?.(),Mt.init?.(),Tt.init?.(),ke.init?.(),rr.init?.(),or.init?.(),sr.init?.(),lr.init?.(),ue.init?.()}};var zn=()=>{},cr={init:()=>{zn()}};var Bn=document.querySelector(“.js-inno”),hr=()=>{ur.init(),cr.init()};Bn?hr():new MutationObserver((t,r)=>{if(document.querySelector(“.js-inno”)){r.disconnect(),hr();return}}).observe(document,{attributes:!0,childList:!0,subtree:!0});})();
More than 30 years ago, Philadelphia was the battleground in a brutal mob war as a group of young mafia upstarts challenged the rule of the established La Cosa Nostra leadership.
Known as the Young Turks, that group consisted mostly of younger men who were the sons, brothers, and nephews of former crime family members who were dead or in prison, and was purportedly led by Joseph “Skinny Joey” Merlino and Michael “Mikey Chang” Ciancaglini. They believed that mob boss John Stanfa, a Sicilian immigrant who preferred to keep a low profile, was an outsider who was not fit to lead. Instead, their bloodlines and connections gave them the right to rule their hometown neighborhoods.
Now, a new docuseries from Netflix, Mob War: Philadelphia vs. The Mafia, examines that conflict, complete with interviews from the law enforcement agents and former mobsters who were there, vintage 1990s Philly TV news footage, and the perspective of a hitman-turned-informant who made headlines. The goal, said director Raïssa Botterman, is to show the human element behind the violence.
“They’ve committed crimes, but they’re still humans, and understanding who they were and having their versions of events” is important, she said. “Whether it’s fighting against crime or it’s committing crimes, [we’re] trying to get a more holistic picture of what’s going on.”
Notably missing from the series is Merlino, who Botterman said declined to participate. Merlino has long denied having been behind a faction of the city’s mob and has never been convicted of mob-related violence.
Likewise, Merlino declined through a representative to comment about Mob Wars.
Throughout the ’90s, mob violence regularly dominated Inquirer and Daily News headlines, and resulted in several high-profile deaths and criminal trials, and a new mob leader in the city.
By most accounts, the first strike in the brewing mob war happened in January 1992 with the killing of Felix “Tom Mix” Bocchino, a Stanfa loyalist, on the 1200 block of Mifflin Street. Bocchino, 73, was shot four times in his 1977 Buick, and authorities believed he was targeted by members of the Young Turks faction, according to an Inquirer report from the time.
Retaliation was swift. Two months later, gunmen attempted to assassinate Michael Ciancaglini at his home near 12th and McKean Streets — just steps south of where Bocchino was killed. In that incident, the Daily News reported, Ciancaglini was returning home from a basketball game when two men carrying shotguns began chasing him. He made it inside, and the gunmen fired shotgun blasts through the front door and window.
Ciancaglini was not injured, and neither were his wife and two children, who were inside the house. Law enforcement sources told the People Paper that Ciancaglini “had something to do with Bocchino’s death,” but Ciancaglini’s attorney maintained his client was in the dark about the attempt on his life.
“He don’t know why. He don’t know who. And he don’t know what,” attorney Joseph C. Santaguida told The Inquirer following the shooting.
In March 1993, almost exactly a year after the attempt on Michael Ciancaglini’s life, older brother Joseph Ciancaglini, 35, was shot at the Warfield Breakfast and Lunch Express in Grays Ferry. The attempted hit on Stanfa’s underboss was captured on FBI surveillance video.
Though he survived, Joseph Ciancaglini became permanently paralyzed.
On Aug. 5, 1993, the warfare arrived on the 600 block of Catharine Street with an afternoon shooting that injured Merlino and killed Michael Ciancaglini. The pair were walking down the block when two gunmen began firing, striking Merlino in the leg and buttocks, and Ciancaglini in the heart, reports from the time indicate. Ciancaglini died at Thomas Jefferson University Hospital, while Merlino was placed in stable condition at the Hospital of the University of Pennsylvania.
window.addEventListener(“message”,function(a){if(void 0!==a.data[“datawrapper-height”]){var e=document.querySelectorAll(“iframe”);for(var t in a.data[“datawrapper-height”])for(var r,i=0;r=e[i];i++)if(r.contentWindow===a.source){var d=a.data[“datawrapper-height”][t]+”px”;r.style.height=d}}});
The car used in the shooting, meanwhile, was found some 35 blocks away, burned to a crisp. It had been leased to Philip Colletti, a mob associate who later admitted his role in the crime.
Hundreds attended Ciancaglini’s viewing at the Carto Funeral Home at Broad and Jackson days later; some neighborhood residents were not surprised by his killing, The Inquirer reported.
“Why’d he get killed? The same reason the rest of these hoods in South Philly do,” said one South Philly hairdresser. “Most Italians are good, hard-working people, and these people give us a bad name.”
By the end of August 1993, the Young Turks struck back — this time with a botched assassination attempt on Stanfa himself that ended up wounding the mob boss’ son, Joseph, who was 23 and not involved with mafia activities.
That attempt took place during the morning rush hour as Stanfa and his son traveled from their home in Medford to their food importing business in South Philadelphia. As they drove toward the Vare Avenue off-ramp on the Schuylkill Expressway, gunmen ambushed them from a van that had been modified with makeshift gunports, allowing the assailants to fire from concealment.
The attackers, police later learned, had not cut eye holes in the van, and fired on the Stanfas wildly, missing their intended target. The younger Stanfa, however, was struck in the face, leaving a bullet lodged in his neck though he survived.
The van was found near 29th and Mifflin Streets as police attempted to reconstruct possible escape routes. It was littered with spent cartridges, and had “a number of punctures in it,” leading police to believe that a shooter lost control of his weapon, tearing bullet holes into the vehicle.
Stanfa’s vehicle, meanwhile, was heavily damaged, with at least 10 bullet holes running from the front hood to the right rear fender. A tire was shredded, and a window panel in the rear-passenger side — where Joseph had been sitting — was shattered. Stanfa, The Inquirer reported at the time, had his driver hide the car in the garage of the restaurant where Joseph Ciancaglini had been shot, requiring police to obtain a warrant to examine it.
“You’ve got to understand: This is an all-out mob war,” said Col. Justin J. Dintino, superintendent of the New Jersey State Police. ”They’re going to take their shot whenever the opportunity presents itself.”
In September 1993, the opportunity presented itself at the Melrose Diner, where Frank Baldino Sr., a reportedly low-level associate of the Young Turks, was shot to death in his car. His last meal was a $6.95 chopped steak dinner, the Daily News reported.
Gunmen approached Baldino’s vehicle, investigators said, and “pumped several bullets” through its closed window, striking him in the head and torso. The assailants fled west on Passyunk Avenue in a rainstorm, and Baldino died while en route to the hospital.
Baldino was not considered to be a major player in the local mob. His killing, friends and investigators said, was something of a shock — even former mobster Nicholas “Nicky Crow” Caramandi, who was in hiding at the time, denounced it.
“This guy was not a gangster,” Caramandi told The Inquirer. “He wouldn’t hurt anybody. He was not a threat. It should never have happened.”
Though mob violence cooled as 1993 wore on, it didn’t fully stop, and late one Friday in January 1994, police found John Veasey near Sixth and Sigel Streets, grievously injured.
He had three bullet wounds to his head, one to his chest, and seven stab wounds, having fought off his attackers in an assassination attempt in the apartment above a nearby meat store. Somehow Veasey, then 28, had survived, and was placed in critical but stable condition at Jefferson Hospital.
“He’s a tough kid,” one underworld source told The Inquirer. “He knows a lot, and what he knows can hurt a lot of people.”
Veasey, it turned out, had gone to the FBI days before and copped to the Ciancaglini and Baldino killings at the behest of his brother, William “Billy” Veasey, who had told him there was a contract out on John Veasey’s life.
His assailants, Veasey told police, were Stanfa loyalists Frank Martines and Vincent “Al Pajamas” Pagano, both of which later surrendered.
The pair, John Veasey said, had lured him to a mob-run “numbers house” under the guise of protecting him. But once inside, Martines pulled a gun and shot him in the head and chest, telling him, “Bye, John-John.” When that failed to kill Veasey, a battle ensued in which Veasey wrestled a knife away from Pagano, and used it to slash Martines in the eye.
“I have a real powerful neck, real, real big,” Veasey later said of his survival, according to a Daily News report. “I was not knocked out. It wasn’t sending any messages to the brain.”
Following the attack on Veasey, Stanfa and 23 associates were indicted on federal racketeering charges and imprisoned by March 1994. As the legal proceedings wore on, mob violence in the city trickled almost to a stop — with one notable exception.
On Oct. 5, 1995, just hours before Veasey was set to take the witness stand against Stanfa and his codefendants, his brother Billy was shot and killed on the 1700 block of Oregon Avenue.
Veasey was distraught, but his resolve to testify was hardened by the killing, law enforcement sources said. Five days later, he did just that.
Delivering his testimony in what The Inquirer called “South Philadelphia tough-guy jargon,” Veasey made the federal government’s case clear — in some cases, graphically so — for jurors. Calling himself a triggerman for Stanfa, he testified that the mob boss had given orders in 1993 to kill anyone who was aligned with Merlino and the Young Turks faction, and that a hit list with more than a dozen names had been circulated to mob members.
“A couple of [defense] lawyers tried to catch him up in semantics,” one federal source told The Inquirer of Veasey. “John doesn’t even know what semantics means.”
By November 1995, Stanfa and his associates were convicted on all counts, including murder, extortion, gambling, and kidnapping. Stanfa received five life sentences, and, at 84, remains in prison.
With that, the Young Turks had officially won the war. According to Inquirer and Daily News reports from the time, Ralph Natale had been installed as the head of the Philadelphia mob but focused his efforts on South Jersey, allegedly leaving Merlino and his cohorts to run South Philadelphia.
Following Natale’s arrest on a parole violation in 1998, Daily News and Inquirer reports from the time indicate, Merlino purportedly took over as acting mob boss, and later cut out Natale completely. Merlino himself was arrested on drug conspiracy charges in 1999, and Natale served as a government witness against him.
Ultimately, Merlino received a 14-year sentence after being convicted of racketeering. He was acquitted of drug trafficking and murder charges, the latter for which prosecutors initially considered pursuing the death penalty. With credit for two and a half years served, he was to spend nine more years in prison.
“It ain’t bad,” Merlino said of the verdict, according to an Inquirer report. “Nine’s better than a death penalty.”
“Mob Wars” is a three-part series on Netflix. Its release date is Wednesday, Oct. 22.
Clearing a golf ball past the 250-yard mark into the sunlit fairway of California’s Titleist Performance Institute is getting easier for a whole lot of people in the region.
All they have to do is stop by the virtual golf simulators at Cherry Hill’s PGA Tour Superstore. The Georgia-based chain is opening store No. 80 in South Jersey. It already has an outlet in the Metroplex Mall in Plymouth Meeting, and is looking to expand to Ocean Township, N.J., soon.
The company has undergone a significant growth spurt in the last six years with new brick-and-mortar locations and a 200% jump in e-commerce, a company spokesperson said.
The sprawling 40,000-square-foot superstore in Cherry Hill will open at 9 a.m. Saturday with $30,000 worth of giveaways, including a full set of iron golf clubs to the first two customers.
It will house dozens of aisles of the latest golf clubs, balls, apparel, and other gear, among six practice and play hitting bays, virtual golf simulation stations, and an expert club fitting area. Store sales manager Lexi Humbert, a golfer of 16 years, said she added 10 yards to her drive after a new club head suggestion.
Store general manager Lisa-Jo Donnelly reacts as she sinks a putt on the practice green at the PGA Superstore.
The real draw is the golf simulation bay, where customers can cycle through world-famous golf courses projected onto a screen, and drive balls nearly 100 mph into them, receiving analytics on each swing.
The putting green is lined with the most popular putters from classics like Taylor Made Spiders and Scotty Cameron Phantoms to the fresh lineup of L.A.B. brand putters. Golfers can explore clubs and then test them out in the golf simulation bays, or get hands-on fittings with the experts. Regripping and repair services are available, too.
Golf, historically associated with wealthier, white men, is a growing sport — especially “off-course golf.” It was made popular by TopGolf — a trend PGA Tour Superstore hopes to capitalize on with recurring Saturday events, inviting youth groups (like First Tee) in for lessons, and providing a social space for those looking to get some swings in outside of the green.
“The average golfer is now down to their early 40s‚” said the store’s general manager, Lisa-Jo Donnelly. The goal is to create a space that will become part of the Cherry Hill golfing community, within a region that is home to 70 courses and a local high school team that likes bringing home trophies, she said.
The store has an expansive women’s and juniors’ sections. Humbert, who said she has been to golf stores all over the country, said the selections will be refreshing for many, as stores tend to skimp on women’s and junior equipment.
“When I go to other stores, I already know that I’m not going to have nearly the selection that I need. I always get frustrated,” Humbert said. “The biggest thing for me is for those just wanting to get into golf and see a PGA shirt at other places for $150, whereas here you can go into the back of the store and find something for $20 to $30.”
Store sales manager Lexi Humbert reacts after a great drive on a virtual golf simulation at the PGA Superstore.
Saturday’s opening day is likely to lure hundreds to the store for giveaways, but they may have to contend with the dozens of people who will camp out for days to be first.
“These opening giveaways are so popular that we had, for quite a few openings, the same person in the front of the line. He was traveling around the country and getting there first,” Donnelly said.
The store will provide campers with pizza on Friday night and coffee and Krispy Kreme doughnuts on Saturday. The new PGA Tour Superstore CEO, Troy Rice, and Cherry Hill Mayor David Fleisher will also be in attendance Saturday, alongside members of the township council.
📅 Opening Oct. 25, at 9 a.m.📍2232 N.J. Route 70, Suite C, Cherry Hill Township, N.J. 08002, 🕒 Monday to Friday 10 a.m. to 8 p.m., Saturday 9 a.m. to 8 p.m., Sunday 10 a.m. to 6 p.m. 🌐 pgatoursuperstore.com
“Is it funny?” “Am I just old?” “What does it actually mean?”
Those are common questions you’ll come across while searching for “six-seven” (or “6-7”), a phrase that has eclipsed internet obscurity and made its way into everyday speech, filling timelines, classrooms, and group chats in a way only the chronically online could understand.
The numbers, said out loud together, are really just that. It’s not code, or sexual innuendo. In reality, it’s just a lyric lifted from a song by Kensington-based rapper Skrilla.
The 27-year-old rapper, whose legal name is Jemille Edwards, has over 130 million streams across platforms and continues to rise in popularity.
In 2023, he signed with Priority Records — a Los Angeles-based label significant within the rap scene that worked with N.W.A and Ice Cube. Last year, his album Zombie Love Kensington Paradise earned praise in the industry.
The 19-track album, which he rereleased this year as a deluxe version with eight additional songs, underlines Edwards’ “affinity for the neighborhood while displaying his vocal flexibility and off-kilter delivery,” Pitchfork said in its mostly positive review, calling him likely “on the road to rap stardom.”
Philly rapper Tierra Whack has repeatedly shouted out Skrilla’s work while North Philly’s Lil Uzi Vert has collaborated with him.
In August, Edwards was arrested by Philadelphia Police during a music video shoot where he used a toy gun filled with gel pellets to shoot at an officer. He was charged with assaulting a police officer and related offenses.
One particular single by Skrilla has raised the rapper’s internet prominence.
Where did ‘six-seven’ come from?
Skrilla raps the lyric “six-seven” in his song “Doot Doot (6 7),” a track from the deluxe version of Zombie Love Kensington Paradise about life on the streets, fast cars, money, violence, and loss.
It’s a high-energy track that nods to Skrilla’s drill-rap style. The song’s chorus includes the lines, “6-7, I just bipped right on the highway,” and “pull up, doot-doot.”
What does ‘six-seven’ mean?
Philadelphia Eagles offensive tackle Laekin Vakalahi smiles while taking the field during the first day of Eagles Training Camp at the NovaCare Complex on Wednesday, July 23, 2025 in Philadelphia.
Well, it’s ambiguous. And Skrilla has said in interviews that he kind of likes it that way.
Meme lovers and unofficial lyric decoders have theories. Many think it refers to 67th Street in Philly, where Skrilla grew up (that’s what the Washington Post went with).
Owen Carry with Know Your Meme believes the Philadelphia ties are “largely speculative.”
Others think that it’s a nod to 67th Street in Chicago, where he has family. Taylor Jones, a linguistics and African American English expert, suggested it might be a nod to police radio code, where 10-67 is used to notify of a death. A contributor on Genius, a site dedicated to annotating song lyrics, theorized it was a reference to burial plots, six feet under and seven feet apart.
“Everybody else got their own different meaning,” Skrilla told Complex recently. “But for me, it’s just ‘negative to positive.’”
The most important part here is that it doesn’t really matter.
“Six-seven” has taken on a life of its own in recent months due to the pedestal it’s been placed on across TikTok and other social media platforms.
Why is ‘six-seven’ so popular?
The meme’s origins date back to late last year when Skrilla unofficially released “Doot Doot (6 7)” via Instagram as a leftover track from Zombie Love Kensington Paradise. It quickly started making the rounds on TikTok.
Content creators were using the line from the chorus in different, playful, extremely unserious ways: edits of a 6-foot-7 basketball player, lip dub memes, and scenarios that force someone to say the two numbers together. The creators are often nonsensical and copy Skrilla’s vocal pattern, a singsong “six-seven,” usually coupled with an open-palmed hand gesture.
Experts at Know Your Meme, who have been tracking the phenomenon since its inception, say videos surrounding “six-seven” have been viewed millions upon millions of times.
“The trend started with a series of bait-and-switch LaMelo Ball (of the Charlotte Hornets) edits late last year, which would intro with a random clip that included someone saying, ‘six-seven,’ and then switch to a Ball highlight reel,” said Carry, associate editor at Know Your Meme. “Skrilla’s ‘6-7′ lyric was used to queue the transition (Ball is 6 feet, 7 inches, which is relevant to why he was chosen).”
In turn, Carry said, young boys especially have been saying the numbers on camera in hopes of becoming the next NBA TikTok edit star.
“Six is a perfect number, and seven is a prime number, but only a glutton for punishment would put them together in front of a bunch of 13-year-olds,” the Wall Street Journal wrote in a piece about how the meme is wreaking havoc across campuses.
It’s safe to say the phrase has officially made its way into the mainstream.
“South Park” continued a buzzy season with its latest episode, “Twisted Christian,” on Oct. 15.
“Six-seven” was mentioned in a recent South Park episode where the kids can’t stop using the phrase, leading to an assembly about the Antichrist and satanic numerology.
Pro wrestler Je’Von Evans wore a “67″ jersey during his walk-in entrance last week, Shaq has given the trend his blessing (though he admits he doesn’t totally get it), and Skrilla claims the song will be included in the Grand Theft Auto VI soundtrack, though that hasn’t been made official yet.
Skrilla also performed the track in Philly last month when millennial icon Natasha Bedingfield, who was performing at the Theatre of Living Arts, pulled him on stage for a guest appearance. Bedingfield told Complex she’s a fan of the rapper and would like to get on a remix of “Doot Doot (6 7).”
Skrilla will be back in town at the Fillmore on Nov. 30.
What has Skrilla said about it?
In an interview this week with the Washington Post, he suggested the song referred to 67th Street in Philly, a block where a lot of his friends lived. It’s worth noting there isn’t a 67th Street in Kensington.
“We just rode by a truck that had ‘6-7’ written on it in dust, in Arizona, all the way out here,” the rapper said, speaking from a gas station on the way to Los Angeles.
The Inquirer couldn’t reach Skrilla for additional comment.
Will ‘six-seven’ still be cool by the time I start saying it?
Probably not.
With its place solidified in the mainstream — being analyzed by linguistic experts, printed on merch, and reported on by multiple newspapers (including this one), it’s safe to say the trend is likely on its way out the door.
But at least, for a fleeting moment, you can say you know what it means — which is nothing.
In the opinion piece, television journalist Alan Sepinwall, a New Jersey native who went to Penn, says show creator Brad Ingelsby — who grew up in Chester County — “transports us to a downtrodden stretch of rural America where a guy like Robbie has to resort to stealing from drug dealers in order to make ends meet.”
Downtrodden? Parts of it, perhaps. But I mean Villanova University, Swarthmore, and Haverford are in Delco, along with Neumann University, where the show filmed some scenes.
Statistically, there’s really no argument to support that Delco is rural. It had 54 working farms in 2022, according to the Pennsylvania Farm Bureau. Chester County had 1,558 and Lancaster County, where in Task, the Dark Hearts dabbled in meth sales, had 4,680. Knowing the trends well, all of those numbers are surely down today. According to the Center for Rural Pennsylvania, none of Delco’s 49 municipalities are considered rural based on population density.
Delco’s not much different from Philadelphia’s other ring counties on both sides of the Delaware: mostly suburban, with some more urban, post-industrial areas mixed in, along with a ton of strip malls, golf courses, and islands of great affluence. I grew up in a middle-class Camden County “pike town.” I know the vibes. I’ve known Robbies and Jaysons. I still see them at Wawa or read their obituaries. I’ve had beers with outlaw bikers and I’ve been threatened by them.
I’m also uniquely qualified to talk about rural issues because that’s what I’ve covered at The Inquirer for close to a decade. I’ve written about deer urine farmers, counties with one traffic light, the difficulties of getting cell coverage, a decent workout, and even delivering pizza up mountain roads.
I see the Times used the word “rural” to describe the show in a prior photo cutline too. It isn’t the only news outlet to call the show’s setting rural, either.
Sam (Ben Doherty) in “Task.”
To be fair, Ingelsby did present Delaware County as more rural than it is and the characters travel to a cabin. The quarry played a big role in the show, a sacred space for Robbie if you will, though one quarry in the show is 85 miles north, in the Lehigh Valley. Another is in French Creek State Park. In the piece, the author described the quarry as a “hot spot” and, perhaps, evidence of how little the area had. I grew up playing in an elaborate, questionable fort built atop a marshy, tidal creek behind an industrial park near my house. I get it.
The characters in Task reminded me of the 2013 film Out of the Furnace, a crime drama set in post-industrial Western Pennsylvania. I just learned, while writing this, that Ingelsby co-wrote the script.
I’ve covered the kind of places you’d see in Task: not quite rural or urban or even suburban, the in-between towns haunted by better days. Many of those towns lost vital industries, the ticket to a nice middle-class life, and nothing filled the void. In Delco, that dream’s still possible. A lot of those Dark Hearts could have good-paying union jobs.
A historic set of stairs in Shamokin, Pa.
I just wrote about Shamokin, a hardscrabble, former coal town fit for Task. It became the butt of jokes after a news clip of locals mourning their burned-out Dunkin’ Donuts went viral.
I go back to Shamokin time and time again for stories, but also because my great-grandparents are buried there in a mountain cemetery.
I think Sepinwall was getting at something beyond statistics and density studies. Ingelsby, he wrote, takes viewers “somewhere other than their own reality to see the stories of people with whom they might identify.”
Like Ingelsby, I’d like to think I’m offering readers a chance to better understand a place they’ve never been and flex their empathy.
Prime Video’s Allen Iv3rson follows the journey of 11-time NBA All-Star Allen Iverson from Newport News, Va., to his career in the NBA, covering his life both on and off the court.
The three-part docuseries gives a behind-the-scenes look at some of the most iconic moments from his Hall of Fame career — from the legendary “practice” press conference to his relationship with former Sixers coach Larry Brown.
But the project goes beyond the court, covering the life of Bubba Chuck and his roots in Stuart Gardens Apartments. The series, produced and directed by One9, is a story of sacrifice, perseverance, and staying true to oneself.
“I think the truth comes out in their memories and it’s very unfiltered,” One9 said. “No one’s ever sat with him to get the raw honest truth. And I felt that if he was able to give me what he left on the court, what he gave to the game. If he was able to give me that in this film — that same raw, relentless, authentic heart — then we’re going to have something epic.
“You can find moments in this film that will inspire you, give you reason to reflect on how things in his life may resonate with what’s happening in anyone’s life. A lot of it deals with sacrifice. It deals with discipline, resilience, just speaking your uncompromising truth, and being true to who you are.”
The series features appearances from his family, former players, former Sixers president Pat Croce, and Brown. Here’s what we learned from Allen Iv3rson, which premieres Tuesday night at the Philadelphia Film Festival and is set to release on Prime Video on Thursday …
Bubba Chuck from Newport News
Most of Iverson’s friends won’t call him by his government name. Instead, they call him by his nickname “Bubba Chuck,” which is a combination of his uncles’ names. Growing up in Newport News, his uncles Stephen and Gregory Iverson were important male role models.
“From the time he was walking, he was always with us, and 90% of the time we’re at the basketball court,” Greg said. “He used to sit there and cry and want to get in the game. He was so small. I called him a crybaby because he would always cry all the time because he wanted to play, he wanted to come with us.”
Iverson added: “I wanted to be like my uncles because they were my heroes. I saw excellence in both of them. They were the rocks of our family.”
A good portion of the series covers Iverson’s relationship with his family as he grew up in the area’s low-income housing. The docuseries shows how Iverson went from hustling on the streets as a young kid to support his family to becoming a neighborhood icon with a street named after him.
“My heart is always going to be here,” Iverson said. “This is who I am. This is what made me who I am, you know what I mean? When I look at this, I think of the people from here. My life in these streets prepared me for the rest of the world. To me, this was my only world right here. Wherever I‘m at in life, I carry y’all with me. I come from the trenches. I come from where you can’t survive being weak.”
Allen Iverson plays against Villanova at The Spectrum as a freshman in January of 1995.
From City Farm to Georgetown
Iverson found success in football and basketball when he was younger, leading Bethel High School to state titles in both sports within the same year. He was highly sought by different colleges until an incident at a bowling alley changed his trajectory.
On Valentine’s Day in 1993, a 17-year-old Iverson went to a local bowling alley where things escalated quickly. A brawl eventually broke out, which allegedly stemmed from racial epithets said by white men in the alley.
“An argument started, all hell broke loose,” Iverson said. “First, when it was going on, I was watching. And then I saw somebody get beat real bad. And that’s when it clicked in my head like, ‘Yo, it’s time to go.’”
Iverson was arrested and sentenced to 15 years in prison for his role in the incident — which resulted in no serious injuries. The case led to heightened racial tensions in Virginia.
“It was crazy because Virginia was divided because of me,” Iverson said. “It was tough seeing it on the news every day, the chaos of it all. I had this one [guard], man, this dude used to [expletive] with me so bad all the time. He just would not stop. Tawanna would come up to me … We would be holding hands and he would separate our hands, push us back.
“And then they used to have the scarecrow outside the jail with my jersey on, hanging from a noose. The mail that came in for me every day was hate mail. And then I had death threats every single day.”
Iverson’s sentencing received plenty of national attention. His mother, Ann, held a number of marches and boycotts to help get her son out of jail. Eventually, the 18-year-old was granted clemency by Gov. Douglas Wilder and was released after four months in prison.
Georgetown’s head coach John Thompson talks to Allen Iverson during a game against St. John’s on Jan. 24, 1996.
But Ann’s job wasn’t done.
Before Iverson was released she went to Georgetown coach John Thompson to beg him to bring her son to the Hoyas.
”I went to John Thompson,” Ann said. “He said, ‘Well, I’m not going to take Allen because I’m not recruiting Allen.’ And I just broke down. I broke down. I said, ‘If you don’t take him, somebody is going to hurt him because he lives in an environment that is not good. I’m scared.’ I asked him to put my son under his wing. He hugged me and he said, ‘I got you, baby girl, I got you.’ He said, ‘Because you’re the only Black momma that ever came up in here and said what they said about their son. And I got him. If he gets out of jail, I’ll take him.’”
Iverson had it rough from fans in other arenas during his first year at Georgetown, including during a game at the Spectrum in Philadelphia.
“Every time I went to shoot a free throw they’re screaming, ‘Jailbird! Jailbird!’” Iverson recalled. “I remember when we went to Villanova there were four guys with orange jumpsuits on and they had chains on. Coach [Thompson] took us off the floor and said we’re not going to play if they don’t get them out of there.
“[Thompson] protected me. I didn’t talk to the media. He didn’t let people attack me like they wanted to. He taught me everything. He would call me throughout my career and we never would talk about basketball. We always talked about life.”
In his first season at Georgetown, Iverson won Big East Rookie of the Year, and was named to the All Rookie Tournament First Team. His second year, he led the team to a Big East championship and into the Elite Eight of the NCAA Tournament. After that season, he declared for the NBA draft.
“When I made the decision to leave Georgetown, it was a lot of hoopla because no player ever left Georgetown early,” Iverson said. “I knew after the season that I could be in the top five. When I found out that Philly was getting the first pick, I knew I had a real chance, a good chance at being the No. 1 pick. I just wanted to be an NBA basketball player. That’s the only thing that mattered to me. I was going to play every game like it was my last.”
Iverson was drafted with the first overall pick in 1996, a stacked draft that included Ray Allen, Kobe Bryant, and Steve Nash. Despite a 22-60 record, he found quick success, earning Rookie of the Year and making highlight reel plays — including crossing over Michael Jordan.
After his rookie year, Larry Brown was hired as the Sixers coach; he didn’t completely see eye-to-eye with Iverson.
“We butted heads,” Iverson said. “I was immature, somewhat high-strung, didn’t see the big picture. … I had him all wrong. He had the blueprint already.
“He was able to make everyone else better by making me better. He just was a masterful coach. Billy King, and Pat [Croce], they put them guys around me that were willing to let me dominate. It was basically, you kill like you kill. And your deficiencies, the things you can’t do, we’re going to do all of those things.”
Sixers guard Allen Iverson and head coach Larry Brown during the team’s 110-100 loss to the Milwaukee Bucks in Game 6 of the 2001 Eastern Conference Finals. The Sixers would win Game 7 to advance to the NBA Finals.
At first, Brown and Iverson had a complicated relationship. It boiled over when Iverson didn’t show up to practice in 2002, leading to the legendary “practice” press conference.
“[Iverson] called me that night, late at night,” said Croce. “[He said], ‘I want Larry Brown fired.’ Larry Brown calls me, ‘You trade [Iverson] tomorrow. … Get rid of him.’ I said, ‘We’ll meet tomorrow. We’ll meet at the training facility.’ We went into this board room and it was ugly.
“Larry didn’t want to be called to the same level as his player. I didn’t care. ‘You’re not getting traded. And you’re not getting fired. I’ve never told either one of you what to do but I’m telling you right now. You’re both staying.’ … I said, ‘Both of you have the same love of basketball. Both of you have the intention and desire to win.’ I said, ‘You’re both looking in the mirror. Drop it.’ Allen got up, walked around the table, Larry stood up and he hugged and hugged for, it seemed like an eternity.”
Iverson led the Sixers to an appearance in the 2001 NBA Finals before falling to a Los Angeles Lakers team led by Shaquille O’Neal and Kobe Bryant.
“As a player, he’s one of the greatest players to ever play the game,” O’Neal said. “When it comes to a championship, you have to be on a great team. No disrespect to the Philadelphia 76ers team, Allen Iverson was by himself. So, when it comes to status and recognition, there’s a lot of champions that we don’t even know who they are. But I guarantee you, you know who Allen Iverson is.”
Allen Iverson sits with Aaron McKie and Matt Geiger in the 4th period.dnphoto/Reynolds
Culture changer
When Iverson was a kid, he didn’t have the best clothes in the neighborhood. Instead, he would wear his sister’s pants for three days of the week, and when he went to prom with Tawanna, who became his wife and the mother of his children, he wore a pair of shoes that were two and a half sizes too small.
“I think he had on sweat socks actually, with his too-small shoes,” Tawanna said. “He complained about it. He didn’t dance at all at prom. After prom, it was like at a sports facility, and he couldn’t wait to get out of his dress shoes and play basketball.”
A few years later, Iverson would never have to worry about wearing shoes two sizes too small again. The young player signed a lifetime contract with Reebok in 1996. Iverson’s impact on the league was transcendent. As a small guard, he revolutionized the way players dressed and carried themselves, inspiring an entire generation to want to be like him.
“I didn’t know I was doing it,” Iverson said. “I did it. But I didn’t know I was doing it. I didn’t know I was securing a way for these guys today to be themselves. I didn’t know I was doing it because I was stuck on, ‘I ain’t doing nothing wrong. I’m being myself.’
“This many years later, taking an a— whooping for it is a blessing. Because now you see you can do your [stuff]. But, Chuck took that a— whooping for it. I just thought it was unfair. And the best part about my God, I just knew I was going to get through it all without folding.”
Charles Barkley on ESPN! Sixers games on Amazon! Dogs and cats living together! Mass hysteria!
The NBA season tips off Tuesday, and with it begins new TV rights deals with NBC, ESPN, and Amazon that will reshape coverage of the league for the next decade plus.
There’s been a lot of handwringing over the NBA’s new national schedule, with exclusive games being broadcast nationally every night on different channels and streaming platforms. It’s quite a change, considering TNT had been broadcasting national games on Thursday nights for 36 years.
Despite the shuffling, not much will change for Sixers fans. Sixty nine of the team’s 82 games will air on NBC Sports Philadelphia (seven on NBC Sports Philadelphia+), with Kate Scott and Alaa Abdelnaby back to call all the action.
Abdelnaby, the former Duke standout and NBA player, is entering his 10th season calling Sixers games (and his fifth alongside Scott). He was hired in the middle of “The Process,” but despite the Sixers losing 72 games during his first season, last season was his most difficult as a broadcaster.
“Even though it wasn’t written in stone, we knew what they were doing” when the Sixers were intentionally losing games to gain assets, Abdelnaby told The Inquirer. “Last year, that wasn’t the case. They weren’t trying to do anything Process-ish … We kind of went through a whole season of not being relevant. And that stinks.”
Joel Embiid’s health will be the big question mark for the Sixers this season.
Abdelnaby has high hopes for this season, pinned on a potentially new role for Joel Embiid following his second knee surgery in 14 months. Embiid played 19 minutes in the Sixers’ final preseason game on Friday, telling reporters he was “in a good space” mentally and physically, though his status for the season opener against the Boston Celtics Wednesday remains uncertain.
Being around them for two games and at practice, Abdelnaby said the mood among the Sixers seemed more positive then the second half of last season. By his eye, the body language of the players and coaches point in the right direction.
“I think health has a lot to do with that,” Abdelnaby said. “At least I’m feeling a sense of optimism from the group, and that’s a good thing.”
The new NBA media deals have opened up broadcasting opportunities dramatically, with national games airing just about every night. While Abdelnaby used to call college basketball games for CBS Sports, he’s in no rush to return to a jet-setting lifestyle.
“When I did college, it was a rough and tumble existence,” Abdelnaby said. ” I think I’ve gotten soft over the last 10 years, because now I fly on their plane, I don’t have to rent a car in the middle of nowhere and return it … I am so spoiled.”
As far as NBC Sports Philadelphia’s studio goes, Amy Fadool, Marc Jackson, and former Sixers head coach Jim Lynam return for Sixers pre- and postgame coverage.
Sixers games can also be heard on 97.5 The Fanatic, with Tom McGinnis returning for his 31st season calling games.
New NBA weekly national schedule
While the bulk of the Sixers’ regular-season games will air on NBC Sports Philadelphia, 13 games will air nationally across a host of services.
Here’s a general breakdown of the NBA’s national broadcast and streaming schedule this season:
Sunday: NBC/Peacock and ABC/ESPN (beginning midseason)
Monday: Peacock
Tuesday: NBC/Peacock
Wednesday: ESPN
Thursday: Prime Video (beginning midseason)
Friday: Prime Video and ESPN (beginning midseason)
Saturday: Prime Video and ABC/ESPN (beginning midseason)
After 23 years, NBA returns to NBC
Hall of Famer Michael Jordan will make his NBC debut Tuesday night.
Michael Jordan is making the leap to NBA pundit (sort-of) as NBC airs games for the first time since the 2002 season.
Jordan won’t make his debut Tuesday as a studio analyst. Instead, he’ll appear via a prerecorded interview with Mike Tirico during NBC’s debut. The network hasn’t said how frequently Jordan will contribute, but those taped segments are expected to be scattered throughout the season.
NBC will start the season broadcasting a Tuesday doubleheader, with the East Coast and West Coast getting different prime-time games during most weeks (both will stream live on Peacock).
NBC will also debut Sunday Night Basketball beginning Feb. 1, after the end of the NFL season. The network’s NBA coverage will pause after that for the first two weeks in February for the 2026 Olympics in Milan, Italy.
After practicing with the Sixers and a few other teams last season, Tirico said he’ll call the first couple of Tuesday night games for NBC before focusing on his NFL duties through the playoffs. He’ll also has his duties as the host of the Olympics to contend with.
The Sixers are scheduled to appear on NBC four times, beginning with their Nov. 11 matchup against the Boston Celtics at the newly-named Xfinity Mobile Arena.
Play-by-play voices: Mike Tirico, Noah Eagle, Terry Gannon, Michael Grady
Game analysts: Reggie Miller, Grant Hill, Jamal Crawford, Brad Daugherty, Derek Fisher, Austin Rivers, Brian Scalabrine, Robbie Hummel
Studio analysts: Carmelo Anthony, Vince Carter, Tracy McGrady
Sixers fans will also need Peacock and Amazon’s Prime Video
NBA games will stream on Peacock Monday and Tuesday nights.
The streaming wars have finally come for NBA fans.
With TNT out of the picture, Sixers completists will need to sign up for two streaming services to watch all of Philly’s 82 games.
The first is Peacock, NBC’s subscription streaming service, which is slated to stream 40 exclusive NBA games, as well as every game airing on NBC.
As of now, Peacock is scheduled to exclusively stream just one Sixers game — a matchup against Nikola Jokic and the Denver Nuggets on Jan. 5.
Amazon’s Prime Video will stream NBA games two nights a week after the NFL season ends.
The second streaming service Sixers fans will need is Amazon Prime Video, which will stream 66 regular-season NBA games, including a bulk of the Emirates NBA cup and a new Black Friday game.
The Sixers are scheduled to play in four games on Prime Video, beginning with their Halloween night matchup against the Celtics in Philly.
If you’re an NBA League Pass subscriber, one cool feature on Prime Video is the ability to make your own multiview featuring up to four live NBA games.
Prime Video comes with Amazon Prime, but you can also subscribe to it directly for $9 a month.
One familiar face will be Sixers veteran Kyle Lowry, who is slated to make “select appearances” on Amazon’s NBA coverage this season. Amazon’s studio show, which will feature Blake Griffin and Dirk Nowitzki, could be a fun watch.
Charles Barkley and the ‘Inside the NBA’ crew heading to ESPN
Hall of Famer and former Sixers star Charles Barkley will be seen on ESPN this season.
TNT lost the NBA but is keeping its studio show. It’s just going to air on another network.
Inside the NBA, the beloved studio show featuring Charles Barkley, Shaquille O’Neal, Kenny Smith, and Ernie Johnson, is jumping to ESPN while still being produced by TNT Sports. They’ll make their debut Wednesday at 6 p.m. as part of ESPN’s season-opening doubleheader.
ESPN has said there would be no changes to the show, beyond a lopsided schedule. Barkley and company are only scheduled appear three more times before Christmas — Thursday, Oct. 29, and Nov. 12.
“We always go to 2 in the morning. They said they’re going to give us time,” Barkley said in a recent interview with NBA columnist Steve Bulpett. “We were concerned they’re going to be like, ‘No, you gotta go to SportsCenter or you’ve got to leave when we’re on ABC and go to the local affiliates.’ That’s the only two things we were concerned with.”
The only remaining TV partner from last season, ESPN will mostly air NBA games on Wednesday nights, with some other nights and holidays thrown into the mix. They’ll also add Friday night games beginning Jan. 16, with most airing on ABC.
This time, Doris Burke is out, replaced by longtime ESPN analyst and former La Salle standout Tim Legler, who will join Mike Breen and Richard Jefferson. Burke will still call NBA games alongside Dave Pasch.
Philly can’t seem to stay off the screen lately — and now, Apple Studios is getting in on the action. Following recent buzz from Task, Abbott Elementary, and the ever-enduring It’s Always Sunny in Philadelphia, a new movie production titled Cheesesteak is setting up shop in the city that invented the sandwich.
According to the casting magazine Backstage, Apple is holding open calls for Cheesesteak, a film starring Mark Wahlberg and directed by Stephen Chbosky (The Perks of Being a Wallflower, Dear Evan Hansen).
Boston Casting Inc. is seeking extras ages 18 and older to play basketball fans for a scene filming in Philadelphia on Nov. 9.
The project — which has also gone by the working title Weekend Warriors — is based on the 2023 German sports comedy-drama Weekend Rebels.
Inspired by the true story of Mirco and Jason von Juterzcenka, the original film follows a father and his autistic son as they travel across Europe to visit every Premier League soccer club so Jason can decide which team to root for.
In the American remake, soccer becomes basketball and Europe becomes the United States.
According to CBS News, Wahlberg plays a long-haul truck driver who takes his son on a cross-country journey to visit NBA arenas — a story that blends sports fandom, family tension, and plenty of heart.
The Philly filming location has yet to be revealed. Filming has already taken place in Worcester County, Mass., and other parts of New England, with Wahlberg spotted shooting scenes at a basketball court in Lynn, Mass., last month.
The Philadelphia shoot marks the latest stop, and a fitting one for a movie named after the city’s most iconic sandwich.
Mark Wahlberg arrives at the world premiere of “All the Money in the World” at the Samuel Goldwyn Theater on Monday, Dec. 18, 2017, in Beverly Hills, Calif. (Photo by Jordan Strauss/Invision/AP, File)
The film is produced by Dede Gardner and Jeremy Kleiner for Plan B, alongside LeBron James and Maverick Carter’s SpringHill Company, according to Deadline.
A separate casting notice describes Cheesesteak as the story of “a self-made restaurateur fighting to keep his family business alive amid fame, rivalry, and secrets that could change everything” — a premise that feels right at home in Philly.
From left: Ben Platt, Nik Dodani, and director Stephen Chbosky on the set of “Dear Evan Hansen.”
🎬 How to apply
Boston Casting Inc. is seeking local talent ages 18 and older to appear as basketball fans in a crowd scene filming Nov. 9 in Philadelphia.
Pay: $17.50 an hour (estimated $140 for an eight-hour day)
Company: Boston Casting Inc.
Location: Philadelphia
To apply, visit Backstage and search “Cheesesteak.”
The world’s most-visited museum was closed Monday following a professional heist that resulted in the theft of priceless jewels. Within minutes, thieves entered and exited the Louvre on Sunday, taking eight treasures.
The result? One of the highest-profile museum thefts in living memory amid a climate where museum staffs — worldwide, not just at the Louvre — are complaining about crowding, thin staffing, high turnover, and strained security.
Here’s what we know so far.
How did the Louvre heist happen?
Within minutes, thieves rode up a basket lift outside the Louvre’s facade, forced open a window, smashed display cases, and fled with priceless Napoleonic jewels, officials said.
The heist took place on Sunday, only 30 minutes after opening, with visitors already inside.
The theft took four minutes inside the building and less than eight in total, according to French Culture Minister Rachida Dati, who called it a “professional” operation.
“They went straight to the display windows,” Dati said. “They knew exactly what they wanted. They were very efficient.”
Sunday’s theft focused on the gilded Apollo Gallery, where the crown jewels are displayed. Alarms brought Louvre agents to the room, forcing the intruders to bolt on motorbikes, but the robbery was already over.
It’s unclear how many people took part in the theft and whether they had inside assistance. French media reported there were four perpetrators, including two dressed as construction workers. Authorities have not commented on the specifics.
What was taken from the Louvre?
Eight pieces of “priceless” jewels were stolen from the Louvre in Paris. Here is what they were.
Eight objects were taken, according to officials:
A sapphire diadem, necklace, and single earring from a matching set linked to 19th-century French queens Marie-Amélie and Hortense.
An emerald necklace and earrings from the matching set of Empress Marie-Louise, Napoleon Bonaparte’s second wife.
A reliquary brooch.
Empress Eugénie’s diadem and her large corsage-bow brooch, a prized 19th-century imperial ensemble.
A ninth object, the emerald-set imperial crown of Napoleon III’s wife, Empress Eugénie, was also taken but apparently dropped by the thieves. The crown, with more than 1,300 diamonds, was damaged but recovered outside the museum.
All of the items are considered priceless, though officials have not disclosed an overall estimate.
What will happen to the stolen jewels?
The Louvre has been closed since the robbery on Sunday morning for the investigation.
Experts say the initial hours after a heist are critical before the scent grows colder and thieves have more time to dispose of the jewels.
The big concern is that the thieves are motivated by commodity vs. art, and will scrap the priceless works for sale on the black market, breaking the pieces for their stones and melting down the precious metals. In doing so, the thieves can make more high-ticket sales while remaining undetected.
Has this ever happened before at the Louvre?
According to National Geographic, the Louvre has a long history of bold heists — but it’s been a while until now.
In 1911, the Mona Lisa — then a lesser-known piece by Leonardo da Vinci — was taken by Vincenzo Peruggia, a former employee dressed in his old work uniform. No one noticed it was missing for over 24 hours. The painting was recovered two years later after Peruggia tried to sell it to another museum.
In 1940, a portion of the Louvre’s collection was looted by occupying Nazis, though the museum’s director had already hidden most of its collection in a safe house off-site.
There was the 1966 theft of antique jewelry, which was being transported back to France from a loan to a Virginia museum. Those jewels were recovered after being found in New York inside a grocery bag. A decade later, one group of thieves stole a Flemish painting, and months after that, another group stole French King Charles X’s jeweled sword. The sword is still missing.
The most recent string of heists occurred in the 1990s. In 1990, thieves cut a Renoir painting from its frame in broad daylight and also took ancient Roman jewelry and other paintings. In 1995, two pieces — a painting and a battle ax from a 17th-century bronze sculpture — were stolen. Finally, in 1998, a Camille Corot painting was cut from its frame and taken. It hasn’t been recovered.
What about in Philly? Any heists?
Yep. Philly-area museums have seen their fair share of art thefts over the years.
Dating back to the 1980s, several thefts or alleged thefts have occurred across the Philadelphia Art Museum, Rodin Museum, Penn Museum, and more, according to Inquirer archives.
Various thefts include a gold saw from Iraq and a 19th-century Chinese crystal ball taken from the Penn Museum in 1981 and 1988, a painting taken during a Philadelphia Art Museum after-hours party in 1984, and a bronze sculpture from the Rodin Museum in 1988 during a gunpoint robbery. The sculpture was recovered shortly afterward, and the alleged robber was arrested and charged. The crystal ball was also recovered.
There’s also Frank Waxman, the Philly-based doctor who authorities said secretly amassed the largest known private collection of stolen art: about 150 pieces worth more than $2 million. The FBI raided his Rittenhouse condo in 1982 to find Rodins, Picassos, and more. Due to the statute of limitations surrounding his thefts, he was only convicted of taking eight pieces and served eight months in prison.
In 2003, the Barnes Foundation said hundreds of items were missing from its collection, including a piece by Henri Matisse, a Jean Renoir ceramic vase, a mahogany Steinway piano, and historic recordings. It’s unclear whether the items were stolen or simply unaccounted for. No formal large-scale investigation took place.
There was also an incident in 2017 where Michael Rohana, who was attending an after-hours ugly sweater party at the Franklin Institute, broke the thumb off a life-size Chinese terracotta warrior statue.
Rohana described the incident as a “drunken mistake” and returned the thumb, which he had taken home. Still, it caused international turmoil, with Chinese officials accusing the Franklin Institute of carelessness with the artifact. The statue, which is called “The Cavalryman,” is insured for $4.5 million. Rohana went to court in 2019, eventually pleading guilty to a misdemeanor charge in 2023. He was sentenced to five years’ probation, a $5,000 fine, and community service.
Thomas Gavin admitted to targeting dozens of museums up and down the East Coast, taking valuable artifacts sometimes unnoticed for years. The Hershey Museum and Pennsylvania Farm Museum in Landis, Lancaster County, were among some of the museums impacted. Gavin’s crimeswent cold for so long that the statute of limitations expired for many, leading him to only serve a day in prison for trying to sell a historic rifle.
What does the jewel heist mean for museums’ futures?
The latest Louvre heist comes amid a tense time for museums worldwide.
Following the height of the COVID-19 pandemic, museums have been working to balance mass tourism, stretched-thin staff, and security upgrades.
Locally, the Philadelphia Art Museum and its employees reached a settlement last year after a yearlong dispute over pay raises called for in their 2022 labor contract and a nearly three-week strike.
At the Louvre, a June staff walkout over frustrations with overcrowding and chronic understaffing led to a delayed opening. Unions say mass tourism leaves too few eyes on too many rooms and creates pressure points where construction zones, freight routes, and visitor flows meet.
Officials say security updates are underway at the Louvre as part of an $800 million modernization plan. But critics say the measures are too little, too late.