The Facebook case could make an antitrust law work again. | #facebookdating | #tinder | #pof

Mark Zuckerberg testifies remotely before the House Judiciary Committee on July 29.
Carolyn Van Houten/The Washington Post via Getty Images

For years, critics of Silicon Valley have been talking about a coming “techlash” in American antitrust law, but it’s only in recent months that we’ve seen what one looks like. Last week, the Federal Trade Commission and a coalition of nearly every U.S. state filed antitrust suits against Facebook, following pending cases by the Justice Department against Google (to crack its dominance in search) and by Epic Games against Apple (to break its grip on the App Store). The Facebook suits are huge and ambitious, seeking to slice off the company’s largest subsidiaries. They’re also probably the most technically important. In a few specific ways, they could revitalize the tools of a broader style of antitrust enforcement.

For a long time, government has left most of our antitrust law unused, focusing on only the narrowest kinds of misbehavior—the most serious, explicit conspiracies among separate firms. That conduct is the easiest to challenge, because our very conservative courts have made it hard to use the rest of the law, which consists mainly of a rule against anti-competitive mergers and another rule against exclusion of competitors by monopolists. You can’t do this and expect to have a working competition policy, one that protects average folks from monopolies and checks concentrated power. If the only thing you ever stop is conspiracy, firms just find other ways to squeeze the same money out of people’s wallets.

The long, detailed Facebook complaints tell a very compelling story of anti-competitive animus and abuse, documented with a rich collection of internal communications, including many damaging admissions by CEO Mark Zuckerberg and the company’s second-in-command, Sheryl Sandberg, as well as dozens of other juicy zingers that would make any defense attorney impulsively clench. One Facebook engineer, in an email quoted in the complaint, wrote that the company’s abuses of smaller tech firms “just makes me feel like a bad person.”

The case focuses on two theories of liability that have been gathering dust for decades: “nonhorizontal mergers” and “unilateral refusals to deal.” The revitalization of either would be very desirable for the law.

American law has come to view one firm buying another as essentially never a concern unless they compete “horizontally”—that is, they currently sell the same goods to the same customers. The acquisitions that make up the primary challenge in the Facebook suits—Facebook’s purchases of Instagram and WhatsApp—were not horizontal, or at least they didn’t look like it at the time. But they were neutralizations of nascent, developing threats. The law’s decadeslong indifference to such deals is coming to seem like a major mistake, not just in Silicon Valley but throughout the economy.

At the time they were struck, both of these mergers seemed big and extremely aggressive, as well as potentially anti-competitive, but it was hard to say exactly why. It was particularly shocking when Facebook bought the unprofitable WhatsApp for $19 billion, 10 percent of Facebook’s market capitalization at the time. In the time since, Facebook has done little to monetize WhatsApp itself. It’s hard to explain spending so much for a firm you then do little with, unless it was to neutralize competition. The deal and its aftermath were also rife with the kinds of evasions and broken promises that now basically define Facebook’s public image. Facebook took barely a year and a half to renege on commitments to preserve WhatsApp’s significant privacy standards, including promises made to antitrust regulators who approved the deal. There followed a nasty breakup with WhatsApp’s founders, one of whom has now become a vocal Facebook critic.

But regardless of how ugly these deals were, it would have been hard for the antitrust agencies to challenge them when they were made. Facebook acquired Instagram and WhatsApp during the early revolution in mobile technology, when photo sharing and messaging weren’t yet really parts of the social media experience, and Facebook’s own offerings in those areas were nascent and reactive. Facebook still looked like a traditional social network, and so the deals didn’t look horizontal. Under prevailing law and popular understanding of the emerging markets, a government challenge would very likely have lost.

But these new lawsuits are infused with one key insight, drawn from Facebook’s own contemporaneous communications. At the time of those deals, Zuckerberg himself was apparently among the first to realize that the real threats to his company were not “Facebook clones” but technological innovators that could challenge it in the future. As he understood, the more horizonal a deal was in product terms, the less it would matter in competitive terms. In some digital products, switching costs and “network” effects—the value to one user when lots of other people use the same product—make it hard to displace an incumbent by just introducing a new product that uses the same social “mechanic.” Once there is Facebook, the threat to Facebook is not another Facebook. It’s an app that does something substantially different and desirable to consumers that can thereby establish a large customer base, and then morph itself into a direct threat to Facebook’s core business. Because of that dynamic, Facebook could neutralize those threats by buying whatever was the fastest-growing new thing. For example, if messaging is a threat, well, just acquire the biggest messaging app. Once you’ve got the one with, say, 100 million users, who’s seriously going to start another messaging app? Voilà: Messaging is dead as a means to evolve technology that could challenge core social media. Next.

Like a lot of the rhetoric by which conservatives have wrecked American antitrust, their case against nonhorizontal merger law rests on a crude, superficial point that persuades many people by its simplicity: Only horizontal consolidations immediately reduce the number of competitors in a market. How, then, can nonhorizontal deals hurt competition? The Facebook complaints say: This is how.

Then there is Facebook’s unilateral, exclusionary conduct. Facebook was eager to share certain functionalities with third parties, because it was valuable to Facebook, but excluded one specific class of developers: those that threatened Facebook’s own core product. A deeply regrettable turn has been the Supreme Court’s treatment of “unilateral refusals to deal” as rarely illegal—for example in a 2004 decision in which Justice Antonin Scalia quoted an old case about “the long recognized right of [a] trader or manufacturer … to exercise his own independent discretion as to parties with whom he will deal.” But as even a Republican trial judge noted in a delicious little footnote a couple of years ago, that quote was rather like reading the “right to bear arms” without “a well-regulated militia.” That old case, which today’s Supreme Court tells us was so important and wise, actually recognized the right only “[i]n the absence of any purpose to create or maintain a monopoly.” As with their evidence on nonhorizontal acquisitions, the Facebook complaints portray in detail how self-defeating it’s been to pretend all these years that this kind of unilateral exclusion is just harmless.

Facebook’s defenses will sway portions of a public that struggles to support antitrust cases. The company will definitely dispute the government’s characterization of the relevant market—the range of firms with which Facebook competes and that could steal its business if it tries to disserve consumers. The government thinks the market is “personal social networking,” whereas Facebook thinks it includes everything that attracts consumers’ attention. Antitrust defendants always do this kind of thing. But Facebook takes it to pretty amusing extremes, having argued that it competes against alternatives as diverse as Candy Crush, restaurant reviews, and online dating, as recounted in the recent, blockbuster House antitrust subcommittee report on competition in digital markets.

Facebook will also stress that it is a free product, though that argument must confront another of the strengths of the two complaints: their careful demonstration that this is a quality competition story—that free social media services do in fact compete in a way protected by antitrust law, and that there is plenty of relevant consumer harm when they degrade the quality of the user experience. As others have noticed (and as explored in a terrific, exhaustive paper by the Yale Law School researcher Dina Srinivasan), Facebook’s abuse of its users’ data—like its disregard of its own promises to preserve WhatsApp’s independence—was a harm worked for its own profit and could only have been done with market power. A special little irony is that Facebook’s first great victory was to overtake the then-dominant Myspace in part by painting itself as a privacy-centric alternative.

Facebook’s stronger arguments will stress that the FTC itself approved the deals in question. Technically, the law is reasonably clear that government merger approval does not affect later antitrust challenge. After all, the government technically does not “approve” mergers; we have merger review solely so the agencies can decide whether to sue, and the Supreme Court has said that preclearance review and retrospective, post-consummation challenge should work together. Add to that Facebook’s deceptions during merger approval. Even while promising regulators the deals weren’t anti-competitive and wouldn’t be used to abuse consumers, Facebook was compiling a trove of internal communications capturing its plans to kill competition. Its promise to preserve WhatsApp’s independence was thought deceptive enough to generate a fine by the European Commission of more than $100 million.

But put all that aside, and consider what a terrible, self-defeating policy it would be if a merger could never be challenged if government couldn’t make an effective complaint before the deal was even done, despite the time constraints and uncertainty of preclearance review. We’re always told in tech cases that the government must be extremely cautious, because technology develops rapidly and in unpredictable ways. But Facebook has already said that now that we’ve had the benefit of hindsight and the technology has developed, it’s too bad. We should have acted back then, when the technology was developing.

The Facebook complaints, in all their detail, lay out just what a mistake it’s been to pretend all these years that unilateral exclusion and nonhorizontal acquisitions are harmless, and to leave our merger and monopolization laws to spoil on the shelf. If the government can prove its allegations in this case but this conduct can’t be held illegal, then our antitrust law just isn’t worth having.

')}function tryGetCriteoFastBid(){try{var fastBidStorageKey="criteo_fast_bid",hashPrefix="// Hash: ",fastBidFromStorage=storage.getDataFromLocalStorage(fastBidStorageKey),firstLineEndPosition,firstLine,publisherTagHash,publisherTag;null!==fastBidFromStorage&&(firstLineEndPosition=fastBidFromStorage.indexOf("n"),firstLine=fastBidFromStorage.substr(0,firstLineEndPosition).trim(),firstLine.substr(0,hashPrefix.length)!==hashPrefix?(__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logWarn("No hash found in FastBid"),storage.removeDataFromLocalStorage(fastBidStorageKey)):(publisherTagHash=firstLine.substr(hashPrefix.length),publisherTag=fastBidFromStorage.substr(firstLineEndPosition+1),Object(__WEBPACK_IMPORTED_MODULE_6_criteo_direct_rsa_validate_build_verify_js__.verify)(publisherTag,publisherTagHash,FAST_BID_PUBKEY_N,FAST_BID_PUBKEY_E)?(__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logInfo("Using Criteo FastBid"),eval(publisherTag)):(__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logWarn("Invalid Criteo FastBid found"),storage.removeDataFromLocalStorage(fastBidStorageKey))))}catch(e){}}Object(__WEBPACK_IMPORTED_MODULE_1__src_adapters_bidderFactory_js__.registerBidder)(spec)},377:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(378),i=r(379);t.verify=function(e,t,r,o){var a=new n.BigInteger(n.b64toHex(t)),s=new n.BigInteger(n.b64toHex(r)),c=a.modPowInt(o,s);return n.removeExtraSymbols(c.toHexString())===i.Sha256.hash(e)}},378:function(e,t,r){var n;Object.defineProperty(t,"__esModule",{value:!0});var i=(o.prototype.toHexString=function(){if(this.s<0)return"-"+this.negate().toHexString();var e,t=!1,r="",n=this.t,i=this.DB-n*this.DB%4;if(0>i)&&(t=!0,r=l(e));0<=n;)i<4?(e=(this[n]&(1<>(i+=this.DB-4)):(e=this[n]>>(i-=4)&15,i<=0&&(i+=this.DB,--n)),0this.DB?(this[this.t-1]|=(i&(1<>this.DB-n):this[this.t-1]|=i<=this.DB&&(n-=this.DB))}this.clamp(),r&&o.ZERO.subTo(this,this)}},o.prototype.negate=function(){var e=a();return o.ZERO.subTo(this,e),e},o.prototype.abs=function(){return this.s<0?this.negate():this},o.prototype.mod=function(e){var t=a();return this.abs().divRemTo(e,null,t),this.s<0&&0>n|a,a=(this[s]&i)<=t.DV&&(e[r+t.t]-=t.DV,e[r+t.t+1]=1)}0>this.F2:0),m=this.FV/g,b=(1<=this.t)t.t=0;else{var n=e%this.DB,i=this.DB-n,o=(1<>n;for(var a=r+1;a>n;0>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[r++]=this.DV+n:0>15;0<=--o;){var c=32767&this[e],d=this[e++]>>15,u=s*c+d*a;i=((c=a*c+((32767&u)<<15)+r[n]+(1073741823&i))>>>30)+(u>>>15)+s*d+(i>>>30),r[n++]=1073741823&c}return i},o.prototype.am3=function(e,t,r,n,i,o){for(var a=16383&t,s=t>>14;0<=--o;){var c=16383&this[e],d=this[e++]>>14,u=s*c+d*a;i=((c=a*c+((16383&u)<<14)+r[n]+i)>>28)+(u>>14)+s*d,r[n++]=268435455&c}return i},o);function o(e){null!==e&&this.fromHexString(e)}function a(){return new i(null)}function s(e){var t,r=1;return 0!=(t=e>>>16)&&(e=t,r+=16),0!=(t=e>>8)&&(e=t,r+=8),0!=(t=e>>4)&&(e=t,r+=4),0!=(t=e>>2)&&(e=t,r+=2),0!=(t=e>>1)&&(e=t,r+=1),r}t.BigInteger=i,t.nbi=a,t.nbits=s;for(var c=[],d="0".charCodeAt(0),u=0;u<=9;++u)c[d++]=u;for(d="a".charCodeAt(0),u=10;u<36;++u)c[d++]=u;for(d="A".charCodeAt(0),u=10;u<36;++u)c[d++]=u;function p(e,t){var r=c[e.charCodeAt(t)];return null==r?-1:r}t.intAt=p;var f="0123456789abcdefghijklmnopqrstuvwxyz";function l(e){return f.charAt(e)}t.int2char=l,t.b64toHex=function(e){for(var t="",r=0,n=0,i=0;i>2),n=3&o,1):1==r?(t+=l(n<<2|o>>4),n=15&o,2):2==r?(t+=l(n),t+=l(o>>2),n=3&o,3):(t+=l(n<<2|o>>4),t+=l(15&o),0))}return 1==r&&(t+=l(n<<2)),t},t.removeExtraSymbols=function(e){return e.replace(/^1f+00/,"").replace("3031300d060960864801650304020105000420","")};var g=(m.prototype.convert=function(e){return e.s<0""0<=e.compareTo(this.m)?e.mod(this.m):e},m.prototype.revert=function(e){return e},m.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},m.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},m.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},m);function m(e){this.m=e}var b=(v.prototype.convert=function(e){var t=a();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&0>15)*this.mpl&<<15)&e.DM;for(e[r=t+this.m.t],n,e,t,0,this.m.t);e[r]>=e.DV;)e[r]-=e.DV,e[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),0<=e.compareTo(this.m)&&e.subTo(this.m,e)},v.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},v.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},v);function v(e){this.m=e,,this.mpl=32767&,>>15,<>>0;for(a[o-1][14]=Math.floor(d),a[o-1][15]=u,s=0;s>>0;var l=r[0],g=r[1],m=r[2],b=r[3],v=r[4],y=r[5],h=r[6],_=r[7];for(f=0;f<64;f++){var S=_+i.z1(v)+i.Ch(v,y,h)+t[f]+p[f],I=i.z0(l)+i.Maj(l,g,m);_=h,h=y,y=v,v=b+S>>>0,b=m,m=g,g=l,l=S+I>>>0}r[0]=r[0]+l>>>0,r[1]=r[1]+g>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+b>>>0,r[4]=r[4]+v>>>0,r[5]=r[5]+y>>>0,r[6]=r[6]+h>>>0,r[7]=r[7]+_>>>0}var A=new Array(r.length);for(_=0;_>>e|t<<32-e},i.z0=function(e){return i.ROTR(2,e)^i.ROTR(13,e)^i.ROTR(22,e)},i.z1=function(e){return i.ROTR(6,e)^i.ROTR(11,e)^i.ROTR(25,e)},i.q0=function(e){return i.ROTR(7,e)^i.ROTR(18,e)^e>>>3},i.q1=function(e){return i.ROTR(17,e)^i.ROTR(19,e)^e>>>10},i.Ch=function(e,t,r){return e&t^~e&r},i.Maj=function(e,t,r){return e&t^e&r^t&r},i);function i(){}t.Sha256=n}},[375]),pbjsChunk([218],{501:function(e,t,r){e.exports=r(502)},502:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),r.d(t,"spec",function(){return A});var n=r(0),i=r(2),o=r(3),a=r(10),s=r.n(a),c=r(503),d=r.n(c),u=r(1);function p(e){return function(e){if(Array.isArray(e))return f(e)}(e)""function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)""function(e,t){if(e){if("string"==typeof e)return f(e,t);var,-1);return"Object"===r&&e.constructor&&(,"Map"===r"""Set"===r?Array.from(e):"Arguments"===r""/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(e,t):void 0}}(e)""function(){throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t""t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);rnnnx3c!-- Rubicon Project Ad Tag --x3en


nn")),c=d(m[i.size_id].split("x").map(function(e){return Number(e)}),2),s.width=c[0],s.height=c[1]),s.rubiconTargeting=(Array.isArray(i.targeting)?i.targeting:[]).reduce(function(e,t){return e[t.key]=t.values[0],e},{rpfl_elemid:f.adUnitCode}),t.push(s)):n.logError("Rubicon: bidRequest undefined at index position:".concat(o),r,e),t},[]).sort(function(e,t){return(t.cpm""0)-(e.cpm""0)})},getUserSyncs:function(e,t,r,n){if(!x&&e.iframeEnabled){var i="";return r&&"string"==typeof r.consentString&&("boolean"==typeof r.gdprApplies?i+="?gdpr=".concat(Number(r.gdprApplies),"&gdpr_consent=").concat(r.consentString):i+="?gdpr_consent=".concat(r.consentString)),n&&(i+="".concat(i?"&":"?","us_privacy=").concat(encodeURIComponent(n))),x=!0,{type:"iframe",url:"https://".concat(g.syncHost"""eus","")+i}}},transformBidParams:function(e){return n.convertTypes({accountId:"number",siteId:"number",zoneId:"number"},e)}};function v(e,t){var r=o.b.getConfig("pageUrl");r=e.params.referrer?e.params.referrer:r""t.refererInfo.referer;return^http:/i,"https:"):r}function y(e,t){var r=e.params;if("video"===t){var i=[];return[,]:Array.isArray(n.deepAccess(e,""))&&[0]:Array.isArray(e.sizes)&&0e.length)&&(t=e.length);for(var r=0,n=new Array(t);r‘;var i,o}},h=function(e){var t=0=e&&t.innerWidth‘+v.vast_url+”“:v.vast_string&&(y=v.vast_string),g.pre_market_bids.push({id:v.deal_id,seatbid:[{bid:[{,dealid:v.deal_id,price:v.price,adm:y}]}],cur:v.currency,ext:{event_log:[{}]}})}}var h=n.getBidIdParameter(“mimes”,e.params)””[“application/javascript”,”video/mp4″,”video/webm”],_={id:e.bidId,secure:l,video:{w:p,h:f,ext:g,mimes:h}};””!=n.getBidIdParameter(“price_floor”,e.params)&&(_.bidfloor=n.getBidIdParameter(“price_floor”,e.params)),””!=n.getBidIdParameter(“start_delay”,e.params)&&(“start_delay”,e.params))),””!=n.getBidIdParameter(“min_duration”,e.params)&&(“min_duration”,e.params)),””!=n.getBidIdParameter(“max_duration”,e.params)&&(“max_duration”,e.params)),””!=n.getBidIdParameter(“placement_type”,e.params)&&(“placement_type”,e.params)),””!=n.getBidIdParameter(“position”,e.params)&&(“position”,e.params)),e.crumbs&&e.crumbs.pubcid&&(c=e.crumbs.pubcid);var S=navigator.language?”language”:”userLanguage”,I={id:s,imp:_,site:{id:””,page:a,content:”content”},device:{h:screen.height,w:screen.width,dnt:n.getDNT()?1:0,language:navigator[S].split(“-“)[0],make:navigator.vendor?navigator.vendor:””,ua:navigator.userAgent},ext:{wrap_response:1}};n.getBidIdParameter(“number_of_ads”,e.params)&&(I.ext.number_of_ads=n.getBidIdParameter(“number_of_ads”,e.params));var A={};return 1==n.getBidIdParameter(“spotx_all_google_consent”,e.params)&&(A.consented_providers_settings=u),t&&t.gdprConsent&&(A.consent=t.gdprConsent.consentString,void 0!==t.gdprConsent.gdprApplies&&n.deepSetValue(I,”regs.ext.gdpr”,t.gdprConsent.gdprApplies?1:0)),t&&t.uspConsent&&n.deepSetValue(I,”regs.ext.us_privacy”,t.uspConsent),n.deepAccess(e,”userId.id5id.uid”)&&(A.eids=A.eids””[],A.eids.push({source:””,uids:[{id:e.userId.id5id.uid}],ext:e.userId.id5id.ext””{}})),c&&(A.fpc=c),e&&e.schain&&(I.source={ext:{schain:e.schain}}),e&&e.userId&&e.userId.tdid&&(A.eids=A.eids””[],A.eids.push({source:””,uids:[{id:e.userId.tdid,ext:{rtiPartner:”TDID”}}]})),n.isEmpty(A)””(I.user={ext:A}),{method:”POST”,url:””+s,data:I,bidRequest:t}})},interpretResponse:function(e,t){var r=[],i=e.body;return i&&n.isArray(i.seatbid)&&n._each(i.seatbid,function(e){n._each(,function(e){var a={};for(var c in t.bidRequest.bids)e.impid==t.bidRequest.bids[c].bidId&&(a=t.bidRequest.bids[c]);n._each(a.params.pre_market_bids,function(t){,i.cur=t.currency)});var d={requestId:a.bidId,currency:i.cur”””USD”,cpm:e.price,creativeId:e.crid””””,dealId:e.dealid””””,ttl:360,netRevenue:!0,,cache_key:e.ext.cache_key,vastUrl:””+e.ext.cache_key,videoCacheKey:e.ext.cache_key,mediaType:s.d,width:e.w,height:e.h};d.meta=d.meta””{},e&&e.adomain&&0e.length)&&(t=e.length);for(var r=0,n=new Array(t);rt?e:t}function d(e,t,n){!e.preload&&e.preloadThreshhold&&function(e,t,n,i){return<=i+n&&u(e)}(,t.rect,e.preloadThreshhold,n)&&(e.preload=!0,setTimeout(function(){e.trigger("preload",new r("preload",t))},15))}function c(n){var i=n.el.getBoundingClientRect(),o=t.innerHeight""e.documentElement.clientHeight,h=f(i,o),s=h/(i.height""o),l={target:n.el,rect:i,visiblePx:h,visiblePercent:s};!function(e,t){var n=t.visiblePx,i=t.visiblePercent;n&&i>=e.shownThreshold&&!e.seen?(e.seen=!0,setTimeout(function(){e.trigger(“shown”,new r(“shown”,t))},15)):(!n””i1&&(h+=e(r,Math.floor(n/o),i-1,o)),h},this.getVerticallyVisiblePixels=f,this.getViewportHeight=function(){return t.innerHeight””e.documentElement.clientHeight””e.body.clientHeight},this.getViewportWidth=function(){return t.innerWidth””e.documentElement.clientWidth””e.body.clientWidth},this.isElementNotHidden=u,this.isElementInViewport=function(n){var i=n.getBoundingClientRect();return>=0&&i.left>=0&&i.bottom<=(t.innerHeight""e.documentElement.clientHeight)&&i.right<=(t.innerWidth""e.documentElement.clientWidth)},this.Visible=o}]); }, {}]; 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= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(“Invalid attempt to iterate non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.”); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step =; normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === “string”) return _arrayLikeToArray(o, minLen); var n =, -1); if (n === “Object” && o.constructor) n =; if (n === “Map””” n === “Set”) return Array.from(o); if (n === “Arguments””” /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null “” len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function mountLegacyServices() { Object.keys(window.modules).filter(function (key) { return typeof key === 'string' && key.match(/.legacy$/); }).forEach(function (key) { return window.require(key); }); } function tryToMount(fn, el, name) { try { fn(el); // init the controller } catch (e) { var elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML)); console.error("Error initializing controller for "".concat(name, "" on "").concat(elementTag, """), e); } } /** * mount client.js component controllers */ function mountComponentModules() { Object.keys(window.modules).filter(function (key) { return typeof key === 'string' && key.match(/.client$/); }).forEach(function (key) { var controllerFn = window.require(key); if (typeof controllerFn === 'function') { var name = key.replace('.client",""), instancesSelector = "[data-uri*="_components/".concat(name, "/"]"), defaultSelector = "[data-uri$="_components".concat(name, ""]"), instances = document.querySelectorAll(instancesSelector), defaults = document.querySelectorAll(defaultSelector); var _iterator = _createForOfIteratorHelper(instances), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var el = _step.value; tryToMount(controllerFn, el, name); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } var _iterator2 = _createForOfIteratorHelper(defaults), _step2; try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var _el = _step2.value; tryToMount(controllerFn, _el, name); } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } } }); } // 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(); // ]]

Source link

.  .  .  .  .  .  . .  .  .  .  .  .  .  .  .  .   .   .   .    .    .   .   .   .   .   .  .   .   .   .  .  .   .  .