All the Surprises From Kendrick Lamar’s Surprise Album GNX
ByJustin Curto,
who covers music, TV, and celebrity for Vulture
Photo: Taylor Hill/WireImage
Kendrick Lamar’s big year isn’t over yet. The rapper just dropped his sixth album, GNX, with no warning. The project comes after a monthslong beef with Drake, being named as the Super Bowl 59 halftime performer, and recent tracks like “Time to Watch the Party Die.” That song isn’t on the album, but 12 new tracks are (aside from the few seconds of “squabble up” he teased in the “Not Like Us” video). In fact, Lamar’s surprise album is full of surprises, from a fruitful collaboration with Jack Antonoff to a seeming jab at Lil Wayne. Let’s break it all down.
What does GNX mean?
The answer is right there on the cover. GNX is a nickname for a limited-production “Grand National Experimental” model of the Buick Regal from 1987. Nicknamed “Darth Vader’s car,” the GNX was all black and faster than a regular Grand National. Only 547 of the car were made, boosting its mythology among gearheads; Car and Driver later called the GNX “the last old-school American muscle car.”
We already know K.Dot loves his wheels — he just recently flaunted a Ferrari in the “Not Like Us” video. The title is a flex more than anything, but Lamar does rap about the car: “All I ever wanted was a black Grand National,” he declares on “tv off.” He also shows off that GNX in the minute-long teaser he dropped just before the album came out.
Wait, where’s “Broccoli”?
Speaking of teasers, fans have spent months clamoring for the track Lamar teased at the beginning of the “Not Like Us” video, which they called “Broccoli.” Call it by its real name, “squabble up.”
What’s Jack Antonoff doing here?
What he’s usually doing: producing. Fresh off Taylor Swift’s The Tortured Poets Department and Sabrina Carpenter’s Short n’ Sweet, Antonoff executive-produced all of GNX. But it’s less of a random pairing than you’d think. See, Sounwave, who’s been working with Lamar since his 2011 track “A.D.H.D.,” is also an executive producer on GNX, and Sounwave has been close with Antonoff for years. Antonoff first tapped him to co-produce a few songs for his band Bleachers’ 2017 album Gone Now; soon after, in 2019, they formed the trio Red Hearse with Chicago singer Sam Dew and released an album. (Dew, a singer from Chicago, is all over GNX too as a songwriter and singer.) Around that time, Antonoff got Sounwave in the studio with Taylor Swift, as a co-producer on her Lover song “London Boy.” Sounwave, Antonoff, and Swift reunited for Midnights, on the songs “Lavender Haze,” “Karma,” and “Glitch.” So it was really only a matter of time before Sounwave introduced Antonoff and Lamar — which actually happened earlier than GNX. Antonoff is credited alongside Sounwave as a producer on “6:16 in LA,” one of the Drake disses Lamar dropped in May.
So does that mean Taylor Swift is on the album?
Sorry, but no. DJ Snake started that rumor a few days ago when he said Swift had recorded a song for Lamar’s upcoming album. But when GNX arrived, Swift was nowhere to be heard. That pairing would’ve made some sense, though: Remember, Lamar remixed “Bad Blood” for Swift back in 2015 and even rerecorded his verse for 1989 (Taylor’s Version). Antonoff also recently posted a photo on Instagram of Swift and Sounwave together in the studio from December 2023 — after Midnights was long out — giving some credence to the rumor. Maybe we’ll see Lamar on Swift’s new album instead?
Who else is featured, then?
Let’s run through some of the bigger guests.
Deyra Barrera The first voice we hear on the album is the Los Angeles mariachi singer. Barrera has been performing for years and even competed on season ten of La Voz, Mexico’s version of The Voice, in 2021. More recently, she sang at Dodger Stadium for the first game of the World Series. Maybe Kendrick was watching? Barrera sings at the beginning of “wacced out murals,” “reincarnated,” and “gloria,” carrying what sounds like the same song throughout the album.
Dahi Lamar’s collaborator since “Money Trees” shows up again as a producer on “wacced out murals.”
SZA Together again. After collaborating on “All the Stars” in 2018, Lamar’s former TDE labelmate SZA is back on two songs, “luther” and “gloria.” She also voices Lamar’s “pen” on “gloria,” à la “We Cry Together.”
Kamasi Washington The jazz saxophonist who previously played on “u.” gets producer credits on “luther” and “tv off.” Lamar also references him on another song, “squabble up”: “Keep a horn on me, that Kamasi.” (A saxophone may not technically be a horn, but we’ll let it slide.)
Dody6 The Compton rapper gets a guest verse on “hey man” just months after coming home from prison.
Mustard In case you missed Lamar shouting his name on “tv off,” yeah, Mustard’s on that beat. (So is Sean Momberger, who produced “Not Like Us.”) The hip-hop giant also worked on “hey now.”
Evan Smith and Zem Audu Antonoff’s Bleachers bandmates play sax on “tv off.” It’s not their first time making their way onto one of Antonoff’s productions — they’ve played on a number of Swift’s songs.
Terrace Martin The saxophonist, a key player from To Pimp a Butterfly, is back as a producer on “dodger blue.”
Roddy Ricch Lamar’s fellow Compton rapper makes an appearance on, of course, “dodger blue.”
AzChike Another L.A. rapper, AzChike contributes a verse to “peekaboo.” Earlier this year, he dropped a verse on Kendrick’s friend ScHoolboy Q’s album “Blue Lips.”
Peysoh, Hitta J3, and Young Threat Lamar gives a platform to these three rising L.A. rappers on “gnx,” celebrating the West Coast hip-hop scene. “Who put the West back in front of shit?” he asks in the hook. “Tell ’em Kendrick did it.” Lamar previously appeared on the remix to Hitta’s first single, “Do Yo Gudda,” back in 2014.
So does Kendrick fire off more Drake disses?
Lamar decided not to include any of his Drake diss tracks on GNX, but their beef still looms over the album. On “wacced out murals,” Lamar raps about securing his spot at the top, while putting anyone who doubted him on alert. “It used to be fuck that n- - -a, but now it’s plural,” he raps. “Fuck everybody, that’s on my body.” Yeah, heavy is the head that wears the crown: “Understand everybody ain’t gon’ like you,” he cautions in the hook. Later in the song, he calls out J. Cole’s apology for hisq own diss “7 Minute Drill,” rapping, “Fuck apologies, I wanna see y’all geeked up / Don’t acknowledge me, then maybe we can say it’s fair / Take it to the internet and I’ma take it there.” Lamar goes on to say that he “prayed it was the edibles” when Snoop Dogg posted Drake’s AI-aided diss “Taylor Made” (Snoop later admitted it was, indeed, the edibles). Speaking of “Taylor Made,” Lamar also one-ups Drake’s AI Tupac by sampling Pac’s song “Made N- - - -z” on “Reincarnated.”
The rest of the album is heavy on the flexes you’d expect from the guy who declared, “Fuck the Big Three, n- - -a it’s just Big Me.” He reiterates that on “tv off,” echoing Biggie on “Kick in the Door”: “Ain’t no other king in this rap game, like siblings.” On “man in the garden,” he surveys everything he’s earned, repeating, “I deserve it all.” He ends the song asking, “Tell me why you deserve the greatest of all time, motherfucker?”
But wait, what about Lil Wayne?
When Lamar booked the Super Bowl halftime show, a number of fans and rappers said they thought Lil Wayne deserved the gig instead since the Super Bowl was being held in New Orleans and Wayne is the biggest rapper from the city. (Not that the halftime set has ever matched the Super Bowl site — remember when Maroon 5 played in Atlanta?) Wayne later responded, saying he “felt like shit” for not getting it. On “wacced out murals,” Lamar tries to make sense of it: “Used to bump Tha Carter III, I held my Rollie chain proud / Irony, I think my hard work let Lil Wayne down.” He goes on to rap that “everybody questionable,” and adds, “Won the Super Bowl and Nas the only one congratulate me.” Maybe he got some more texts today.
He still made a song called “heart pt. 6”
Lamar reclaimed his “Heart” series after Drake previously called his last diss track ‘The Heart Part 6.” But Lamar’s “heart pt. 6” has little to do with Drake — it’s actually a detailed reflection of his days signed to Top Dawg Entertainment and leaving the label where he made his name. Lamar raps about admiring TDE rapper Ab-Soul, working with Jay Rock, and sharing chicken with ScHoolboy Q the first time they met. Lamar also remembers freestyling in Dave Free’s “champagne Acura,” before Free would later found pgLang with Lamar. He also goes on to give credit to TDE’s executives, shouting out the trust that CEO Anthony “Top Dawg” Tiffith put in his artists and comparing president Terrence “Punch” Henderson’s encouragement to legendary Chicago Bulls coach Phil Jackson.
By the end of the song, Lamar is rapping about what led him to leave TDE. “Black Hippy didn’t work ’cause of me,” he admits, referring to his supergroup with Ab, Rock, and Q. “Creatively, I moved on with new concepts in reach.” Lamar goes on to say he hopes his leaving TDE was “the demonstration” for “how to conduct differences with a healthy conversation.” Lamar’s advice? “Pick up the phone and bust it up before the history is lost / Hand-to-handshake is good when you have a heart-to-heart.”
Who is Lamar rapping about on “reincarnated”?
On the centerpiece to GNX, Lamar gives a bit of a history lesson. “Reincarnated on this earth for a hundred plus / Body after body, lesson after lesson,” he raps, going on to compare himself to some musical greats. The first verse likely takes the perspective of John Lee Hooker, a formative blues singer and guitarist who left home in Mississippi to make music in Detroit. The second verse is about “a Black woman on the Chitlin circuit,” seemingly Billie Holiday or Dinah Washington, who were both jazz singers. In both verses, Lamar raps about how vices like women, gluttony, and drugs led to their downfalls. In the third verse, Lamar raps as himself, saying he learned from the lessons of his past lives. He admits he forgave his father for kicking him out of the house, but mid-verse, the “father” he’s rapping to switches to God. Recounting his good deeds, Lamar says he “put 100 hoods on one stage,” a probable reference to when he united a number of gangs at his “Pop Out” concert. “So can you promise that you won’t take your gifts for granted?” Lamar later raps. “I promise that I’ll use my gifts to bring understanding.”
Did Lamar drop an album this year because Father John Misty also did?
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(3),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(136),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,"3":3,"12":12,"124":124,"136":136}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(408),Fingerprint2=require(407),DS=require(406),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(408),_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,"408":408,"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","aaa-module-mounting.legacy":"aaa-module-mounting.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.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();
// ]]