Is it just me, or is there something a little off about Zoë’s story? I don’t believe she had the motive or upper-body strength to shove Xavier off the balcony, but I can’t shake the feeling she sent the menacing messages to Chelsea. Admittedly, I don’t have much to support this conclusion besides the hunch that Jenn No. 2 isn’t the sort of texter who worries about grammar and the fact that, despite her apparent willingness to forgive, Zoë didn’t mention to Chelsea who sent the threats. Zoë and Chelsea think the Jennifers are hot garbage, so it seems that if Zoë knew Jenn No. 2 was sending Chelsea foreboding texts on her behalf, she’d drop this informational nugget during her peace talk with Chelsea. As the episode clarifies, Zoë has many different Zoës living inside of her, two of whom are prone to fury and at least one of whom feels strongly about language precision. She probably doesn’t have pop-star blood on her hands, but she’s almost certainly not telling Danner, as the Legal Beagle would say, the whole woof and nothing but the woof.
What she does tell Danner is conveyed in animation form, where the “status quo” Zoë (Squoë?) and Fun Zoë wrestle for dominance. Fun Zoë has been locked away ever since Zoë got pregnant, and she aims to use this reunion to bust out of Shawshank and smooch the sexiest chucklehead who swaggers through the gymnasium double doors. Luckily, Xavier struts in, making seductive eye contact and looking like a chiseled Grimace, and Fun Zoë has her necking partner all squared away. The problem is Zoë (correctly) thinks Xavier is too insufferable even for no-strings spit-swapping and has her eye on the former chem partner now perspiring his way through “My Neck, My Back.” Aniq’s awkward adorableness spurs Zoë to stuff her teen doppelgänger back inside her brain and escort Aniq into the teachers’ lounge. For the time being, Fun Zoë will allow it; Xavier’s guffaws aren’t quite alluring enough to keep her in a room that features a uke-accompanied slideshow of her ex’s big, dumb face.
En route to the magical cabinet of confiscated pot gummies, dildos, and throwing stars, the Zoës and Aniq meet Chelsea, who lurches into view surrounded by sloshes of wine and chaos-scribbles. Tiny Rage Zoë, determining that the mini-date will not be ruined by a home-wrecking lush, tramples Chelsea with her tiny bare feet as the others make their getaway to the cannabis closet. Fun Zoë presents Aniq with a baggie of weed teddies, and Aniq nibbles off one of the tiny bear feet while the Zoës ingest an entire gummy zoo and quickly morph into Stoner Zoë. Zoë, Fun Zoë, and Tiny Rage Zoë cringe as Stoner Zoë monologues about how the reunion is like a uterus. As someone who, about 45 minutes after eating her first and only pot brownie, spent the evening counting bathroom tiles aloud to make sure she was still alive, I understand their mortification.
Aniq quickly sobers her up by going in for a kiss, and the Zoës contemplate whether to reciprocate the pucker. After all, they’ve been macking it with Brett and only Brett (poor things) for 15 years; maybe they’re not ready for new lips or have forgotten how to maneuver around a mouth that isn’t their husband’s lying maw. But a kiss is indeed on Zoë’s list (Xavier’s biopic character would approve), and she leans in to fulfill Aniq’s decades-long fantasy. Nothing kills a buzz deader than dead like your 6-year-old walking in on a make-out sesh with Not Daddy, so Mama Bear Zoë emerges from hibernation to rip Maggie’s father a new one. Since Brett is already a walking orifice, this is no tiny (bear) feat. (That is my very last “bare feet” pun, swear to Paw-d.)
Aniq offers to escort Zoë to the after-party in his “whip,” but Fun Zoë is seduced by Xavier’s grander and more generously sized whip, by which I’m referring to his helicopter and, in all likelihood, nothing else. Xavier offers to hire Zoë as the cover artist for his next album. Even though his design idea involves a tatted-up infant cradling Tiger Xavier in its buff baby arms, Zoë is so starved for an artistic outlet that she pretends not to find the idea as atrocious as it is. She even tolerates Xavier’s singing voice, which sounds rather like that of a sheep struggling to pass a stone. But then Xavier admits to having offered her the gig to lure her into his bedroom. He approaches her face with his overeager Labrador mouth, and Fun Zoë wonders if there’s anything at all worthwhile about accepting a tongue-bath from the star of Yahtzee: The Movie.
Brett’s toppling of the prawn-hedge makes the decision for her, and Tiny Rage Zoë and Mama Bear Zoë push Fun Zoë out of the way so their fury-spittle won’t muss up her trendy hairdo. But Brett surprises all the Zoës by uttering a sincere apology for his behavior. Could Brett be redeemable? Does Zoë actually have decent taste in men? These queries are quickly and disappointingly answered by Brett’s abrupt leave-taking and Aniq’s pantsless collapse. Fun Zoë admits defeat; this night has sucked the big one. But Zoë realizes she doesn’t need anybody but herself to have a good time, and she and her alter egos set about making their own fun. They draw Sharpie whiskers on Aniq! They try on Xavier’s tacky duds! They nearly lodge an arrow into Chelsea’s skull! It’s a super-fun montage for everyone but Chelsea, who thinks she’s seconds away from a massive head wound, and Aniq, who will have permanent-markered cats on his body for at least a week.
Jenn No. 2 (Ayden Mayeri) sidles up to Zoë and boasts that she’s been sending Chelsea the creepy texts. Her son taught her how to traumatize others through untraceable phone numbers, and, aw, isn’t it heartwarming when terrible mothers and their terrible sons are so close? I’ll admit, the mention of “Jaxon with an X” made me wonder if this Jennifer spawn was the love child of Jenn No. 2 and Xavier and if he had anything to do with the murder. But I guess all X clues aren’t evidence — unless, of course, they are, in which case, you heard it here first! Anyway, Zoë is none too pleased by Jenn No. 2’s act of “friendship,” and being reminded of the Jennifers’ general grossness motivates her to mend fences with Chelsea. Then Aniq awakens from his stupor, heads upstairs to give Xavier a piece of his mind, and the purple stud muffin drops to his death.
Aniq didn’t do it, Zoë assures Danner. Nobody did it — or, alternately, they a-a-ll did it. Or something. Truly, I’m not sure what Zoë’s going for here. Yes, anyone could snap under the right circumstances, but what does that have to do with the actual corpse splayed out on the actual beach beneath them? Xavier’s body, while always hot, is quickly growing cold, and Culp has blabbed to the Captain about his partner’s covert crime-solving; Danner doesn’t have time to listen to Zoë’s meandering Psych 101 term paper. She needs to crack this case immediately or hope the Captain can be pacified by six mind movies and some yummy low-fat popcorn.
Stray Observations
• There are lots of Easter eggs in this episode, but my favorite is a blink-and-you’ll-miss-it milk carton advertising the missing Jenn No. 3. If two Jennifers can inflict that much senior-year trauma on innocent classmates, can you imagine the horrifying high-school hydra of three Jennifers?
• Excessive earwax is apparently pervasive in people who consume a lot of bread, cheese, coffee, and sugar, so please excuse me as I purchase Q-tips in bulk.
• Joan’s vote for homekilling king: If Zoë’s account is accurate, then the only people not in the living room when Xavier fell were Walt and Aniq, and Walt appears in no one’s memories. While it’s entirely possible Zoë is misremembering or straight-up lying about the living room occupants, you’ve got to give a little bit of a side-eye to any character who’s almost universally characterized as sweet and nonthreatening. Is the Tiny Rage Aniq lurking within our adorkable hero capable of murder?
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"4":4,"12":12,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]