Archive for the ‘Opinion Piece’ Category

Windows-10-free-1940x1090

by Gordon Kelly via Forbes

Windows 10 is famously ‘free’, but Microsoft has been worryingly silent about just how free it really is. Now, only three weeks before release, leaks suggest ‘free’ Windows 10 might not be a good deal at all…

The news comes from ComputerWorld which attained Microsoft internal slides that strongly suggest many Windows 10 owners will have to start paying to receive updates within two years. The key lines ComputerWorld discovered are:

“Revenue allocated is deferred and recognized on a straight-line basis over the estimated period the software upgrades are expected to be provided by estimated device life…. [The estimated device life] can range from two to four years.”

‘Device life’ is the key phrase here. Microsoft has already stated revenue earned from Windows 10 must be deferred because of the free upgrade model (cash isn’t taken upfront), but it repeatedly stressed Windows 10 owners can expect to get free updates for the “supported lifetime of the device”.

The problem is Microsoft hadn’t defined how long the ‘supported lifetime of the device’ will be and now we see it: “two to four years”.

A Two Year Con?

So what does “two to four years” mean? Is it two or is it four?

Again the slides help – and surprise. In a change of language Microsoft states device lifetime will be determined by “customer type” whereas it had previously stated it would be determined by “form factor”.

This is crucial. ‘Form factor’ could mean a phone where two years of support isn’t great, but survivable and similarly four years support for a tablet or PC isn’t great but it is survivable. But defining by ‘customer type’ invokes Microsoft’s two main customer licence types: Home (average consumer) and Professional (prosumer/business).

By this new definition “two to four years” would mean two years free support for Windows 10 Home users regardless of their device type and up to four years free support for Windows 10 Pro users regardless of their device type.

Two years free support on a PC is garbage. It would see Windows 10 free support expire in 2017 while Windows 7 and Windows 8 free support doesn’t expire until January 2020 and 2023 respectively.

It also opens up an even bigger question: what follows the expiry of free support?

There are several ways of looking at this. Most charitably Microsoft could release ‘Windows 10.1’ and then kickstart another two years of free support, the same again for ‘Windows 10.2’ and so on which pushes users to keep updating. It’s a nice thought, but Microsoft already has a strict threat in place for those who lag behind.

The other perspective returns us to the “deferred revenue” Microsoft says it will encounter with Windows 10.

The interesting part is Microsoft claims the money it loses from the free upgrades will be made up within three years. If there’s a free upgrade plus two years of free support (for all consumers) then the introduction of subscription based charging, this suddenly fits together and angry conspiracy theories run wild.

Windows-10-Release

What To Believe

So what’s the answer?  Frustratingly, infuriatingly, mystifyingly we have no way of knowing because – even with just three weeks to go before launch – Microsoft’s controlled drip feed of Windows 10 information shows no sign of speeding up.

Yes it’s mad. Microsoft is releasing arguably the most important version of Windows in its history this month and we don’t know how long it will be supported or what future costs we will be charged after this unknown period. Instead Microsoft simply keeps shouting:

“It’s Free! It’s Free! It’s Free!*”

(*for the lifetime of the device – and we won’t define ‘lifetime’ or what happens after that)

Small-print

This sucks. It sucks because there could be a perfectly good explanation but Microsoft is not being open about it.

It sucks because upgrading Windows versions is not an easy task for many users and even more of a hassle to downgrade if users find they’ve been shortchanged. And it really sucks for those who buy a new Windows 10 PC and are locked into the unknown.

But most tragically it sucks because Windows 10 is actually a great OS. Throughout my participation in the Windows Insider testers program it has been the fastest, most stable series of Windows betas I’ve used, but Microsoft may be about to hamstring the whole thing.

Promising ‘Free Windows 10′ then delivering ’Freemium-Windows-10-Get-Your-Credit-Cards-Out-In-Two-Years’ would be a disaster and right now Microsoft’s ongoing silence about how everything works feels ever more suspicious.

Ultimately the company is either playing us or its naivety is now bordering on idiotic. It’s a crazy situation to be in where we all have to hope and pray it is the latter…

Harley-Quinn-1280x800

by Joey Davidson via TechnoBuffalo

With the game under wraps completely and a tiny break in my playing schedule, I decided to fire up Batman: Arkham Knigth last night specifically to play the Harley Quinn DLC. I knew it was a prequel affair that tasked Joker’s leading lady with rescuing Poison Ivy from the Blüdhaven police department. That was the extent of my knowledge.

Man, what a waste of time this thing was.

I don’t just mean a waste of the players’ time. No, it wasn’t worth my personal time for the play through or the silly trophy. That’s part of my meaning there. I also mean that this pre-order DLC was a waste of the developers’ time. Was it made by Rocksteady? I have no idea. The Batgirl: A Matter of Family DLC coming next week to Season Pass holders (and the week after for other folks) is being done by WB Montreal.

I know this: this prequel sucks. Straight up. From top to bottom, it simply isn’t fun. It feels like a half-baked idea that the team decided to scrap, until some exec figured it’d be a good thing to hand gamers for pre-ordering the game. “Here,” they say, “pre-order Batman: Arkham Knight for what essentially amounts to a halfway finished deleted scene.”

All told, Harley Quinn’s adventure took me about 20 minutes to complete. From memory, I’m counting, let’s see, five separate encounters with police officers. Those combat situations lasted around two or three minutes a piece. They were nothing more than fighting until I could unleash Harley’s mayhem mechanic. This makes her stronger, but it’s earned through play. I only earned it twice.

The fights themselves involved cops with guns, nothing at all or shields. Harley herself is poorly animated, and her walking and sneaking modes feel downright terrible. There are two “stealth” segments, all told. Harley isn’t stealth, though. Her attacks are all loud, and they draw attention. There’s also no score for fights, so there’s no reason to be quiet, fast or efficient.

Then there’s the boss fight. What a mess this is. You battle Nightwing here, which I suppose is cool. He has his sticks, except they’ve been charged with electricity. You’re only move is to jump over him and land one or two punches on his back. Repeat until his health bar dwindles down while countering the constantly respawning threesomes of police officers.

Let Poison Ivy out, enjoy the abrupt cutscene, collect your trophy or achievement and get out.

Holy crap, it’s bad.

This DLC will inevitably be sold down the line as an add-on or an extra in the Game of the Year version. Don’t make your purchase based on that. In fact, don’t let DLCs like this one stand as a reason to pre-order a game ever again.

Warner Bros. should absolutely be criticized for the amount of exclusive content it has managed to lock players out of with the launch of Batman: Arkham Knight. The good news? At least those who don’t have this Harley Quinn DLC won’t be embarrassed by its presence.

nintendo_nx

by ‘Apolon’ via iDigitalTimes

A dark and terrible tale swept the forests of the Internet today: a rumor that the Nintendo NX, the upcoming followup to the Wii U, isn’t going to be as powerful as the PS4. Our pals over at Nintendolife reported on the rumor, but they dug it up from a source who generally knows about these sorts of things. And yea, it’s a reliably sourced rumor. But that doesn’t mean it’s actually true.

The rumor about Nintendo’s latest gaming platform (as the company insists on calling it) holds that the system won’t be able to match the PS4, the current strongest system, in core specs, and it comes via a reliable Twitterer who has managed to find out such scoops in the past (including the very recent past). The fellow is promising further details down the line, but that’s all we’ll get for now, although he claims that his sources are ironclad (presumably people within Nintendo, or people who saw the Nintendo NX at E3).

And yea, this Nintendo NX rumor guy seems like he’s well-placed and has broken stories before. But that still doesn’t mean this is true, no more than the rumors about an Android backend for the system were true. It’s just too early to say. Yea, Nintendo NX specs are probably finalized by now, and yea, Nintendo has begun to show the system off to developers. But that doesn’t mean our favorite Japanese publisher is sharing the numbers all over the place, where every Tom, Dick and Twitter Writer can find them.

6Wb4Bw9a-600x399

It’s not so much that there’s a concrete reason to disbelieve the Nintendo NX power rumors. There isn’t. But there’s no concrete reason to believe them either. It’s firmly in the question mark arena. It could be true, but it might not be. Sound specious? Maybe, but everyone on the Internet seemed to believe it, or vehemently reject it, immediately. The proper response is in the middle. Think about it carefully, ask yourself whether it makes sense for Nintendo to release an underpowered follow-up midway through the lifecycle (I’m legitimately not sure), and evaluate the rumor for yourself.

As for whether it’s actually true… it’s really hard to say. I could see Nintendo releasing a system that’s only slightly weaker than the PS4. It’ll have some kind of gimmick to get our attention, as well as a strong launch lineup. The Nintendo NX feels like Nintendo’s push to position itself in between hardware cycles. Wii U came out a year early. Nintendo NX will release midway between thePS4 an Xbox One and whatever comes next. And that might be the perfect spot for the company, where they can release stronger, better tech than at the beginning of a generation.

We shall see—Nintendo may well address the rumors, since it’s debunked other Nintendo NX rumors before. For now, bear in mind that sometimes a rumor is just a rumor.

choose-game
by Paul Tassi

While this is not the “Sale! Sale! Sale!” glossy section of the newspaper, it has become clear that Microsoft is running a promotion that is slipping under the radar for many, and is actually the single best deal on any new-gen console we’ve seen since their 2013 launch.

In the wake of E3, Microsoft has released both a $400 1TB Xbox One and permanently lowered the price of the 500 GB base version (now Kinect-free, of course) to $350. Pretty good, but where things really start to go nuts is with the types of bundles they’re offering.

The old bundles included either Assassin’s Creed Unity or Halo: The Master Chief Collection as part of the package, free games included with the system as often ends up happening a little while into a console’s life cycle. But now, through June 27th, Microsoft is throwing another game onto the pile. What makes it worthwhile? You get to choose it.

That means any new purchase of an Xbox One not only comes with AC or Halo: MCC, but also potentially Arkham Knight, The Witcher 3, The Elder Scrolls Online, Grand Theft Auto V, Mortal Kombat X and many more qualifying games. It isn’t the first time Microsoft has done this, but paired with existing bundles and recent price cuts, the final price is lower than it’s ever been. They’re selling a $350 console that comes with $120 worth of free games, which effectively makes the price of the base unit $230, provided you would have bought Assassin’s Creed or Halo: MCC anyway. At worst, it’s $280 for a brand new 1TB system, using the same math.

To be fair, both Unity and The Master Chief Collection were two of the biggest launch disasters of last year, but now after a series of patches, AC: Unity is working just fine. Halo: MCC still has lingering multiplayer issues which are pretty maddening, but honestly, I think that game is worth $60 for the remastered campaigns alone, so if you’re getting it essentially for free, it’s totally worthwhile.

Add in the fact that you can get any new release for free on top of that? It could be hard to pass up. I was actually made aware of this deal by a friend who has put off buying a new-gen console since launch, decided this package was finally too good to avoid. He’s picked up a One and my Destiny fireteam has expanded.

arkham2

Despite fanboy accusations, I’m not trying to stump for Microsoft here, but putting this deal side by side with what Sony’s offering, it’s a stark difference. Sony also has an Arkham Knight bundle this week, but it’s $400 for a 500 GB system with the game. Effective price: $340. Their only bundle that contains two games (The Last of Us Remastered and GTA V, you don’t get to pick) is $469 with a Prime membership. A deal, but still, nothing quite on the level of how low the Xbox One is going.

The reason for the disparity is obvious. Despite relatively few big sales or price cuts, Sony is still massively outselling Microsoft. With a huge head start at launch, by last count the PS4 has sold 22.3 million units, while the Xbox One lags behind. The last official sell-through numbers are at 10 million, and Microsoft usually only communicates in “sold to retailers” figures lately, which don’t mean much.

While Microsoft has certainly surpassed that 10M total by now, they’re without a doubt still far behind the PS4. Now, they’re pulling out all the stops to try and get last-gen customers to upgrade to their system, like announcing backward compatibility at this year’s E3, and now by creating the deeply discounted bundle mentioned above.

Microsoft has a little more leeway to play around with price cuts and sales as obviously the larger corporation is enormous, where gaming is just a small piece. Sony doesn’t quite have that luxury as its larger business has struggled quite a bit in recent years, and video gaming remains one of its only bright spots. So as long as consumers are proving they’ll still pay $400 for a PS4, that’s where the price will stay.

Nintendo does have a comparable bundle to the one Microsoft is offering, and it’s more or less permanent. That would be their Smash Bros. package which sells the new fighting game with the Wii U for $300. Effective price: $240. But I would argue, much to the dismay of Nintendo fans, that the Wii U is fundamentally worth less (not “worthless”) as a console because of a complete lack of third party support. It simply does not play a huge host of multiplatform games that PS4 and Xbox One owners take for granted. As such, being $100 or so cheaper seems logical, though the low price hasn’t exactly spiked their sales, and they still lag behind both Sony and Microsoft, despite being released a full year earlier.

I’m not going to tell you to run out and buy an Xbox One. The system certainly has its problems and its competitors have their advantages. But this is without a doubt one of the deepest discounts any console has seen this generation, and a good way to get a new release of your choice for free, which rarely happens with these sorts of bundles. Microsoft really wants you to join Team Xbox, and they’re doing absolutely everything to try and make that happen in the wake of E3.

taken-king4 (1)

by Paul Tassi

Bungie has stepped into an easily-avoidable minefield with a recent interview conducted by Eurogamer with Taken King Creative Director Luke Smith. The interview, which has been spread around the Destiny community far and wide since it was released, is incredibly testy and has rubbed most who have read it the wrong way.

Tom Phillips, the interviewer, sets out with two missions in mind. To understand why players who want the bonus content of the Taken King Collector’s Edition, new emotes and cosmetic items, have to rebuy content they already have, namely the base game and original DLC, in a pack which retails for $80 in the states. The second question is what exactly The Taken King contains where it’s worth a full $40, a very hefty price for DLC, and even for a full expansion in some players’ eyes.

What follows is Luke Smith doing everything possible to fumble the answers to both of these questions. I highly suggest you read the entire interview because from start to finish, it’s kind of astonishing how tone deaf every aspect of it is.

Without copying and pasting the entire thing, the long and short of it is that Smith can’t announce any new plans for players to get this extra content without rebuying things they already own, and he acts like he doesn’t understand why this is a big deal.

“It’s about value,” he says. “The player’s assessment of the value of the content.”

Meaning, Destiny fans will spend $80 on stuff they already have if that’s how badly they want new emotes and rare cosmetic items, and Bungie would be stupid not to let them. “If I fired up a video right now and showed you the emotes you would throw money at the screen,” he says, in the most quotable line of the interview.

Smith also defends the high price point with the notion that the DLC contains more stuff than all DLCs before it, but Phillips presses him on the fact that when it almost costs as much as the base game, it should have close to the same amount of content, and he has little else to say in reply.

I’ll even forgive this last issue for the moment. Like it or not, many high-priced expansions in this day and age don’t contain anywhere near the content of the original game, even with a high price point. Diablo 3’s Reaper of Souls expansion, for instance, was similarly priced to The Taken King, yet contained only one new Act (joining four) and one new class (joining five). Hardly 2/3rds the content of the original fans were hoping for. Similarly, $20 DLC doesn’t contain a third of what the original had in it either. That’s often just how it goes. That doesn’t mean Bungie and Smith are right, just that this is a common issue.

taken-king

But the first issue about the Collector’s Editions and the exclusive emote and items? It’s just unforgivably stupid.

This issue has a solution so blindingly obvious it almost doesn’t even need to be said. Yes, Bungie wants to encourage new players to pick up Destiny, but the main draw of the Collector’s Edition isn’t these in-game items players want, it’s that you get $140 worth of content for $80. Veteran players just want a chance at their own Collector’s Edition that gets them The Taken King and these emotes and items, given that they already own everything else. So what to do?

Option 1: Bungie crafts such a Collector’s Edition and sells it for a bit more. $50 or so.

Option 2: Bungie just gives these sought-after items away with the full-priced Taken King as a “thank you” to longtime players.

I think option two has always been the obvious call because these items mean nothing to Bungie, and they’re not cannibalizing the existing Collector’s Edition that comes with them, because that’s aimed at people who don’t already own the game. Charging an extra $10 in a separate edition for a couple of emotes wouldn’t be great, and yet it’sstill better than the current state of things where literally the only thing players can do to get these items is to spend $80 on a four-piece content pack where they already own three pieces. It’s madness, and this smug interview is turning many fans off to The Taken King entirely.

What’s the most worrisome about the Luke Smith interview is not just its tone-deafness. It’s that he implies that Bungie could actuallybe considering selling things like emotes or shaders or cosmetics separately, something that hasn’t been touched on at all in the game’s existence so far. The lesson that this might be teaching Bungie is that players are willing to spend absurd amounts of money for something as simple as dance moves or class items, and instead of going the other way and gifting them for loyalty, they could set up shop and sell them as pricey microtransactions instead.

The entire interview is absolutely worth a read, and Bungie has to be scrambling for damage control after this. I have to believe that by the end of this week (or even the end of the day tomorrow at this rate) there will be something announced that will allow current players to get these emotes and other items without the $80 Collector’s Edition, and after this debacle, it had better damn well not cost anything for what amounts to a few bits of code.

If Bungie handled this the right way, maybe they could have started selling cosmetic items for real world cash, but now, all Luke Smith has done has made the developer look money hungry and almost delighted at the degree to which they can exploit their most loyal players. I know that philosophy can’t be shared by Bungie as a whole, but they have some serious work to do to make up for Smith’s missteps here.

Update: From Bungie Community Manager Deej: “Year One players won’t get the same perks as people who buy a collector’s edition. They’ll get something better. Tune into the Weekly Update for more.”

Four dance emotes?

// <![CDATA[
(function(_){var l=function(a){return function(){return aa[a].apply(this,arguments)}},aa,ga,ha;_.n=function(a,b){return aa[a]=b};var ba=function(a){return"function"==typeof window.encodeURIComponent?(0,window.encodeURIComponent)(a):(0,window.escape)(a)};aa=[];_.p=this;_.q=function(a){return void 0!==a};_.t=function(a,b,c){a=a.split(".");c=c||_.p;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&_.q(b)?c[d]=b:c=c[d]?c[d]:c[d]={}};_.ca=function(){};_.da=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b};_.u=function(a){return"array"==_.da(a)};_.v=function(a){return"string"==typeof a};_.ea=function(a){return"function"==_.da(a)};_.fa=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};ga=function(a,b,c){return a.call.apply(a.bind,arguments)};ha=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};_.w=function(a,b,c){_.w=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ga:ha;return _.w.apply(null,arguments)};_.x=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}};_.y=Date.now||function(){return+new Date};_.z=function(a,b){function c(){}c.prototype=b.prototype;a.yb=b.prototype;a.prototype=new c;a.Vh=function(a,c,f){for(var g=Array(arguments.length-2),k=2;k<arguments.length;k++)g[k-2]=arguments[k];return b.prototype[c].apply(a,g)}};var ia=function(a){return a[0]?a[0].length:0};var la,na;_.ka=function(a){return"true"==a.toLowerCase()};la=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};_.oa=function(a){var b=0,c=la(String(ma)).split(".");a=la(String(a)).split(".");for(var d=Math.max(c.length,a.length),e=0;0==b&&e<d;e++){var f=c[e]||"",g=a[e]||"",k=RegExp("(\\d*)(\\D*)","g"),m=RegExp("(\\d*)(\\D*)","g");do{var r=k.exec(f)||["","",""],F=m.exec(g)||["","",""];if(0==r[0].length&&0==F[0].length)break;b=na(0==r[1].length?0:(0,window.parseInt)(r[1],10),0==F[1].length?0:(0,window.parseInt)(F[1],10))||na(0==r[2].length,0==F[2].length)||na(r[2],F[2])}while(0==b)}return b};na=function(a,b){return ab?1:0};var pa,ra,sa,va,ya,za,Aa,Ba;_.A=function(a){this.g=a||[]};pa=function(a){this.g=a||[]};_.qa=function(a){this.g=a||[]};ra=function(a){this.g=a||[]};sa=function(a){this.g=a||[]};_.A.prototype.lc=function(){return this.g};_.A.prototype.ta=function(){var a=this.g[1];return null!=a?a:0};_.A.prototype.sa=function(){var a=this.g[2];return null!=a?a:0};var ta=function(a){a=a.g[3];return null!=a?a:!1};_.h=_.A.prototype;_.h.getEscapedQemQueryId=function(){var a=this.g[6];return null!=a?a:""};_.h.getEscapedGwsQueryId=function(){var a=this.g[7];return null!=a?a:""};_.h.getWebProperty=function(){var a=this.g[9];return null!=a?a:""};_.h.Wb=l(1);_.h.Tb=l(3);var ua=function(a){a=a.g[12];return null!=a?a:!1};_.A.prototype.Vb=l(5);_.A.prototype.Ub=l(7);_.A.prototype.lb=l(9);va=new pa;_.wa=function(a){return(a=a.g[5])?new pa(a):va};ya=new ra;za=function(a){return(a=a.g[8])?new ra(a):ya};Aa=new sa;Ba=function(a,b){var c=a.g;c[0]||(c[0]=[]);return new _.qa(c[0][b])};pa.prototype.lc=function(){return this.g};_.Ca=function(a){a=a.g[0];return null!=a?a:!1};_.Da=function(a){a=a.g[1];return null!=a?a:!1};_.Ea=function(a){a=a.g[2];return null!=a?a:!1};_.Fa=function(a){a=a.g[3];return null!=a?a:0};_.qa.prototype.lc=function(){return this.g};_.qa.prototype.getIndex=function(){var a=this.g[1];return null!=a?a:0};_.qa.prototype.ta=function(){var a=this.g[2];return null!=a?a:0};_.qa.prototype.sa=function(){var a=this.g[3];return null!=a?a:0};var Ga=function(a){a=a.g[4];return null!=a?a:""};ra.prototype.lc=function(){return this.g};sa.prototype.lc=function(){return this.g};var B,Ha,Ka,La,Na;B=Array.prototype;Ha=B.indexOf?function(a,b,c){return B.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(_.v(a))return _.v(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};_.Ia=B.forEach?function(a,b,c){B.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=_.v(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};_.Ja=B.filter?function(a,b,c){return B.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=_.v(a)?a.split(""):a,k=0;k<d;k++)if(k in g){var m=g[k];b.call(c,m,k,a)&&(e[f++]=m)}return e};Ka=B.every?function(a,b,c){return B.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=_.v(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0};La=function(a){return B.concat.apply(B,arguments)};_.Ma=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;db?1:a<b?-1:0};var Oa=function(a){Oa[" "](a);return a};Oa[" "]=_.ca;var Qa,Sa;_.Pa=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};Qa="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");_.Ra=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<Qa.length;f++)c=Qa[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};Sa=function(a){var b=arguments.length;if(1==b&&_.u(arguments[0]))return Sa.apply(null,arguments[0]);for(var c={},d=0;d(0,window.parseFloat)(a))?String(b):a}();fb={};_.E=function(a){return fb[a]||(fb[a]=0<=_.oa(a))};gb=_.p.document;ib=eb();jb=!gb||!_.D||!ib&&Za()?void 0:ib||("CSS1Compat"==gb.compatMode?(0,window.parseInt)(ma,10):5);var kb=!_.D||_.D&&(Za()||9<=jb),lb=_.D&&!_.E("9");!_.bb||_.E("528");_.ab&&_.E("1.9b")||_.D&&_.E("8")||_.$a&&_.E("9.5")||_.bb&&_.E("528");_.ab&&!_.E("8")||_.D&&_.E("9");_.G=function(){this.Ob=this.Ob;this.Ya=this.Ya};_.G.prototype.Ob=!1;_.G.prototype.Fd=l(10);_.G.prototype.R=l(12);_.nb=function(a,b){this.type=a;this.currentTarget=this.target=b;this.defaultPrevented=this.$a=!1;this.Cf=!0};_.nb.prototype.stopPropagation=l(14);_.nb.prototype.preventDefault=function(){this.defaultPrevented=!0;this.Cf=!1};_.ob=function(a,b){_.nb.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.charCode=this.keyCode=this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.Rb=this.state=null;if(a){var c=this.type=a.type;this.target=a.target||a.srcElement;this.currentTarget=b;var d=a.relatedTarget;if(d){if(_.ab){var e;a:{try{Oa(d.nodeName);e=!0;break a}catch(f){}e=!1}e||(d=null)}}else"mouseover"==c?d=a.fromElement:"mouseout"==c&&(d=a.toElement);this.relatedTarget=d;this.offsetX=_.bb||void 0!==a.offsetX?a.offsetX:a.layerX;this.offsetY=_.bb||void 0!==a.offsetY?a.offsetY:a.layerY;this.clientX=void 0!==a.clientX?a.clientX:a.pageX;this.clientY=void 0!==a.clientY?a.clientY:a.pageY;this.screenX=a.screenX||0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.state=a.state;this.Rb=a;a.defaultPrevented&&this.preventDefault()}};_.z(_.ob,_.nb);_.ob.prototype.stopPropagation=l(13);_.ob.prototype.preventDefault=function(){_.ob.yb.preventDefault.call(this);var a=this.Rb;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,lb)try{if(a.ctrlKey||112=a.keyCode)a.keyCode=-1}catch(b){}};var pb,rb;pb="closure_listenable_"+(1E6*Math.random()|0);_.qb=function(a){return!(!a||!a[pb])};rb=0;var sb;sb=function(a,b,c,d,e){this.listener=a;this.Yc=null;this.src=b;this.type=c;this.yc=!!d;this.Ic=e;this.key=++rb;this.ub=this.wc=!1};_.tb=function(a){a.ub=!0;a.listener=null;a.Yc=null;a.src=null;a.Ic=null};_.ub=function(a){this.src=a;this.G={};this.nc=0};_.ub.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.G[f];a||(a=this.G[f]=[],this.nc++);var g=vb(a,b,d,e);-1<g?(b=a[g],c||(b.wc=!1)):(b=new sb(b,this.src,f,!!d,e),b.wc=c,a.push(b));return b};_.ub.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.G))return!1;var e=this.G[a];b=vb(e,b,c,d);return-1<b?(_.tb(e[b]),B.splice.call(e,b,1),0==e.length&&(delete this.G[a],this.nc–),!0):!1};var wb=function(a,b){var c=b.type;if(c in a.G){var d=a.G[c],e=Ha(d,b),f;(f=0<=e)&&B.splice.call(d,e,1);f&&(_.tb(b),0==a.G[c].length&&(delete a.G[c],a.nc–))}};_.ub.prototype.ad=l(15);_.ub.prototype.Xb=function(a,b,c,d){a=this.G[a.toString()];var e=-1;a&&(e=vb(a,b,c,d));return-1<e?a[e]:null};var vb=function(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.ub&&f.listener==b&&f.yc==!!c&&f.Ic==d)return e}return-1};var xb,yb,zb,Eb,Hb,Fb,Kb,Jb,Gb,Lb;xb="closure_lm_"+(1E6*Math.random()|0);yb={};zb=0;_.Ab=function(a,b,c,d,e){if(_.u(b)){for(var f=0;f<b.length;f++)_.Ab(a,b[f],c,d,e);return null}c=_.Bb(c);return _.qb(a)?a.listen(b,c,d,e):_.Cb(a,b,c,!1,d,e)};_.Cb=function(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=!!e,k=_.Db(a);k||(a[xb]=k=new _.ub(a));c=k.add(b,c,d,e,f);if(c.Yc)return c;d=Eb();c.Yc=d;d.src=a;d.listener=c;if(a.addEventListener)a.addEventListener(b.toString(),d,g);else if(a.attachEvent)a.attachEvent(Fb(b.toString()),d);else throw Error("addEventListener and attachEvent are unavailable.");zb++;return c};Eb=function(){var a=Gb,b=kb?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b};Hb=function(a,b,c,d,e){if(_.u(b))for(var f=0;f<b.length;f++)Hb(a,b[f],c,d,e);else c=_.Bb(c),_.qb(a)?a.unlisten(b,c,d,e):a&&(a=_.Db(a))&&(b=a.Xb(b,c,!!d,e))&&_.Ib(b)};_.Ib=function(a){if("number"!=typeof a&&a&&!a.ub){var b=a.src;if(_.qb(b))wb(b.qa,a);else{var c=a.type,d=a.Yc;b.removeEventListener?b.removeEventListener(c,d,a.yc):b.detachEvent&&b.detachEvent(Fb(c),d);zb–;(c=_.Db(b))?(wb(c,a),0==c.nc&&(c.src=null,b[xb]=null)):_.tb(a)}}};Fb=function(a){return a in yb?yb[a]:yb[a]="on"+a};Kb=function(a,b,c,d){var e=!0;if(a=_.Db(a))if(b=a.G[b.toString()])for(b=b.concat(),a=0;ae.keyCode||void 0!=e.returnValue)){a:{var f=!1;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(g){f=!0}if(f||void 0==e.returnValue)e.returnValue=!0}e=[];for(f=c.currentTarget;f;f=f.parentNode)e.push(f);for(var f=a.type,k=e.length-1;!c.$a&&0<=k;k–){c.currentTarget=e[k];var m=Kb(e[k],f,!0,c),d=d&&m}for(k=0;!c.$a&&k>>0);_.Bb=function(a){if(_.ea(a))return a;a[Lb]||(a[Lb]=function(b){return a.handleEvent(b)});return a[Lb]};_.H=function(){_.G.call(this);this.qa=new _.ub(this);this.hg=this;this.ie=null};_.z(_.H,_.G);_.H.prototype[pb]=!0;_.h=_.H.prototype;_.h.addEventListener=function(a,b,c,d){_.Ab(this,a,b,c,d)};_.h.removeEventListener=function(a,b,c,d){Hb(this,a,b,c,d)};_.h.dispatchEvent=function(a){var b,c=this.ie;if(c)for(b=[];c;c=c.ie)b.push(c);var c=this.hg,d=a.type||a;if(_.v(a))a=new _.nb(a,c);else if(a instanceof _.nb)a.target=a.target||c;else{var e=a;a=new _.nb(d,c);_.Ra(a,e)}var e=!0,f;if(b)for(var g=b.length-1;!a.$a&&0<=g;g–)f=a.currentTarget=b[g],e=Mb(f,d,!0,a)&&e;a.$a||(f=a.currentTarget=c,e=Mb(f,d,!0,a)&&e,a.$a||(e=Mb(f,d,!1,a)&&e));if(b)for(g=0;!a.$a&&g<b.length;g++)f=a.currentTarget=b[g],e=Mb(f,d,!1,a)&&e;return e};_.h.R=l(11);_.h.listen=function(a,b,c,d){return this.qa.add(String(a),b,!1,c,d)};_.h.ae=l(16);_.h.unlisten=function(a,b,c,d){return this.qa.remove(String(a),b,c,d)};var Mb=function(a,b,c,d){b=a.qa.G[String(b)];if(!b)return!0;b=b.concat();for(var e=!0,f=0;f<b.length;++f){var g=b[f];if(g&&!g.ub&&g.yc==c){var k=g.listener,m=g.Ic||g.src;g.wc&&wb(a.qa,g);e=!1!==k.call(m,d)&&e}}return e&&0!=d.Cf};_.H.prototype.Xb=function(a,b,c,d){return this.qa.Xb(String(a),b,c,d)};var Nb=function(){this.j=[];this.pc=[]};_.h=Nb.prototype;_.h.Fa=function(){return this.pc.concat()};_.h.Ta=function(){return this.j.concat()};_.h.na=function(a){return 0<=Ha(this.j,a)};_.h.remove=function(a){a=Ha(this.j,a);return 0<=a?(this.j.splice(a,1),this.pc.splice(a,1),!0):!1};_.h.get=function(a,b){var c=Ha(this.j,a);return 0<=c?this.pc[c]:b};_.h.set=function(a,b){var c=Ha(this.j,a);0<=c?this.pc[c]=b:(this.j.push(a),this.pc.push(b))};var Ob;_.I=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d||!1):a.attachEvent&&a.attachEvent("on"+b,c)};Ob=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d||!1):a.detachEvent&&a.detachEvent("on"+b,c)};_.J=function(a,b,c){a.google_image_requests||(a.google_image_requests=[]);var d=a.document.createElement("img");if(c){var e=function(a){c(a);Ob(d,"load",e);Ob(d,"error",e)};_.I(d,"load",e);_.I(d,"error",e)}d.src=b;a.google_image_requests.push(d)};_.K=window.document;_.L=window;var Qb;_.Pb=function(a,b){for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&b.call(null,a[c],c,a)};Qb=function(a,b,c,d,e,f){var g;if(window.document.createEvent)g=window.document.createEvent("MouseEvents"),g.initMouseEvent(b,!0,!0,null,0,0,0,0,0,d,!1,e,f,c,null);else if(window.document.createEventObject)g=window.document.createEventObject(),g.Ld="on"+b,g.button=c,g.ctrlKey=d,g.shiftKey=e,g.metaKey=f;else return!1;window.document.createEvent?a.dispatchEvent(g):a.fireEvent(g.Ld,g);return!0};_.M=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};_.Rb=function(a){return a.preventDefault?a.defaultPrevented:!1===a.returnValue};var Sb=function(a,b,c){this.kh=c;this.ug=a;this.Fh=b;this.Rc=0;this.Jc=null};Sb.prototype.get=function(){var a;0<this.Rc?(this.Rc–,a=this.Jc,this.Jc=a.next,a.next=null):a=this.ug();return a};Sb.prototype.put=function(a){this.Fh(a);this.Rc<this.kh&&(this.Rc++,a.next=this.Jc,this.Jc=a)};var Tb=function(a){_.p.setTimeout(function(){throw a;},0)},Ub,Vb=function(){var a=_.p.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!C("Presto")&&(a=function(){var a=window.document.createElement("IFRAME");a.style.display="none";a.src="";window.document.documentElement.appendChild(a);var b=a.contentWindow,a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+"//"+b.location.host,a=(0,_.w)(function(a){if(("*"==d||a.origin==d)&&a.data==c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!Xa()){var b=new a,c={},d=c;b.port1.onmessage=function(){if(_.q(c.next)){c=c.next;var a=c.Pe;c.Pe=null;a()}};return function(a){d.next={Pe:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof window.document&&"onreadystatechange"in window.document.createElement("SCRIPT")?function(a){var b=window.document.createElement("SCRIPT");b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};window.document.documentElement.appendChild(b)}:function(a){_.p.setTimeout(a,0)}};var Wb=function(){this.md=this.Bb=null},Yb=new Sb(function(){return new Xb},function(a){a.reset()},100);Wb.prototype.add=function(a,b){var c=Yb.get();c.set(a,b);this.md?this.md.next=c:this.Bb=c;this.md=c};Wb.prototype.remove=function(){var a=null;this.Bb&&(a=this.Bb,this.Bb=this.Bb.next,this.Bb||(this.md=null),a.next=null);return a};var Xb=function(){this.next=this.scope=this.Od=null};Xb.prototype.set=function(a,b){this.Od=a;this.scope=b;this.next=null};Xb.prototype.reset=function(){this.next=this.scope=this.Od=null};var cc=function(a,b){Zb||$b();ac||(Zb(),ac=!0);bc.add(a,b)},Zb,$b=function(){if(_.p.Promise&&_.p.Promise.resolve){var a=_.p.Promise.resolve();Zb=function(){a.then(dc)}}else Zb=function(){var a=dc;!_.ea(_.p.setImmediate)||_.p.Window&&_.p.Window.prototype&&_.p.Window.prototype.setImmediate==_.p.setImmediate?(Ub||(Ub=Vb()),Ub(a)):_.p.setImmediate(a)}},ac=!1,bc=new Wb,dc=function(){for(var a=null;a=bc.remove();){try{a.Od.call(a.scope)}catch(b){Tb(b)}Yb.put(a)}ac=!1};var N=function(a,b){this.xa=0;this.Bf=void 0;this.xc=this.bb=this.Vc=null;this.Gc=this.Md=!1;if(a==ec)fc(this,2,b);else try{var c=this;a.call(b,function(a){fc(c,2,a)},function(a){fc(c,3,a)})}catch(d){fc(this,3,d)}},gc=function(){this.next=this.context=this.rb=this.cc=this.eb=null;this.yd=!1};gc.prototype.reset=function(){this.context=this.rb=this.cc=this.eb=null;this.yd=!1};var hc=new Sb(function(){return new gc},function(a){a.reset()},100),ic=function(a,b,c){var d=hc.get();d.cc=a;d.rb=b;d.context=c;return d},ec=function(){},kc=function(a){return new N(function(b,c){a.length||b(void 0);for(var d=0,e;e=a[d];d++)jc(e,b,c)})},lc=function(a){return new N(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a,c){d–;e[a]=c;0==d&&b(e)},g=function(a){c(a)},k=0,m;m=a[k];k++)jc(m,_.x(f,k),g);else b(e)})};N.prototype.then=function(a,b,c){return mc(this,_.ea(a)?a:null,_.ea(b)?b:null,c)};N.prototype.then=N.prototype.then;N.prototype.$goog_Thenable=!0;var jc=function(a,b,c,d){a instanceof N?nc(a,ic(b||_.ca,c||null,d)):a.then(b,c,d)},nc=function(a,b){a.bb||2!=a.xa&&3!=a.xa||oc(a);a.xc?a.xc.next=b:a.bb=b;a.xc=b},mc=function(a,b,c,d){var e=ic(null,null,null);e.eb=new N(function(a,g){e.cc=b?function(c){try{var e=b.call(d,c);a(e)}catch(r){g(r)}}:a;e.rb=c?function(b){try{var e=c.call(d,b);a(e)}catch(r){g(r)}}:g});e.eb.Vc=a;nc(a,e);return e.eb};N.prototype.Sf=function(a){this.xa=0;fc(this,2,a)};N.prototype.Tf=function(a){this.xa=0;fc(this,3,a)};var fc=function(a,b,c){if(0==a.xa){if(a==c)b=3,c=new TypeError("Promise cannot resolve to itself");else{var d;if(c)try{d=!!c.$goog_Thenable}catch(e){d=!1}else d=!1;if(d){a.xa=1;jc(c,a.Sf,a.Tf,a);return}if(_.fa(c))try{var f=c.then;if(_.ea(f)){pc(a,c,f);return}}catch(g){b=3,c=g}}a.Bf=c;a.xa=b;a.Vc=null;oc(a);3!=b||qc(a,c)}},pc=function(a,b,c){a.xa=1;var d=!1,e=function(b){d||(d=!0,a.Sf(b))},f=function(b){d||(d=!0,a.Tf(b))};try{c.call(b,e,f)}catch(g){f(g)}},oc=function(a){a.Md||(a.Md=!0,cc(a.Hg,a))},rc=function(a){var b=null;a.bb&&(b=a.bb,a.bb=b.next,b.next=null);a.bb||(a.xc=null);return b};N.prototype.Hg=function(){for(var a=null;a=rc(this);){var b=this.xa,c=this.Bf;if(3==b&&a.rb&&!a.yd)for(var d=void 0,d=this;d&&d.Gc;d=d.Vc)d.Gc=!1;if(a.eb)a.eb.Vc=null,sc(a,b,c);else try{a.yd?a.cc.call(a.context):sc(a,b,c)}catch(e){tc.call(null,e)}hc.put(a)}this.Md=!1};var sc=function(a,b,c){2==b?a.cc.call(a.context,c):a.rb&&a.rb.call(a.context,c)},qc=function(a,b){a.Gc=!0;cc(function(){a.Gc&&tc.call(null,b)})},tc=Tb;Sa("area base br col command embed hr img input keygen link meta param source track wbr".split(" "));_.uc=!_.D||_.D&&(Za()||9<=jb);!_.ab&&!_.D||_.D&&_.D&&(Za()||9<=jb)||_.ab&&_.E("1.9.1");var vc=_.D&&!_.E("9");var Ac,Bc,Cc;_.xc=function(a,b){var c=b||window.document;return c.querySelectorAll&&c.querySelector?c.querySelectorAll("."+a):_.wc("*",a,b)};_.wc=function(a,b,c){var d=window.document;c=c||d;var e=a&&"*"!=a?a.toUpperCase():"";if(c.querySelectorAll&&c.querySelector&&(e||b))return c.querySelectorAll(e+(b?"."+b:""));if(b&&c.getElementsByClassName){a=c.getElementsByClassName(b);if(e){c={};for(var f=d=0,g;g=a[f];f++)e==g.nodeName&&(c[d++]=g);c.length=d;return c}return a}a=c.getElementsByTagName(e||"*");if(b){c={};for(f=d=0;g=a[f];f++){var e=g.className,k;if(k="function"==typeof e.split)k=0<=Ha(e.split(/\s+/),b);k&&(c[d++]=g)}c.length=d;return c}return a};_.yc=function(a,b){if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};_.zc=function(a){return 9==a.nodeType?a:a.ownerDocument||a.document};Ac={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1};Bc={IMG:" ",BR:"\n"};_.Dc=function(a){if(vc&&"innerText"in a)a=a.innerText.replace(/(\r\n|\r|\n)/g,"\n");else{var b=[];Cc(a,b,!0);a=b.join("")}a=a.replace(/ \xAD /g," ").replace(/\xAD/g,"");a=a.replace(/\u200B/g,"");vc||(a=a.replace(/ +/g," "));" "!=a&&(a=a.replace(/^\s*/,""));return a};Cc=function(a,b,c){if(!(a.nodeName in Ac))if(3==a.nodeType)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in Bc)b.push(Bc[a.nodeName]);else for(a=a.firstChild;a;)Cc(a,b,c),a=a.nextSibling};var Fc=function(a,b,c){var d="mouseenter_custom"==b,e=Ec(b);return function(f){f||(f=window.event);if(f.type==e){if("mouseenter_custom"==b||"mouseleave_custom"==b){var g;if(g=d?f.relatedTarget||f.fromElement:f.relatedTarget||f.toElement)for(var k=0;kg?c=a+f+c:(g+=f.length,f=a.indexOf("&",g),c=0<=f?a.substring(0,g)+c+a.substring(f):a.substring(0,g)+c)}return 2E3<c.length?_.q(d)?Gc(a,b,d,void 0,e):a:c};var Hc="StopIteration"in _.p?_.p.StopIteration:{message:"StopIteration",stack:""},Ic=function(){};Ic.prototype.next=function(){throw Hc;};Ic.prototype.gg=function(){return this};var Jc=function(a,b){this.ba={};this.j=[];this.ld=this.B=0;var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else a&&this.addAll(a)};Jc.prototype.Fa=function(){Kc(this);for(var a=[],b=0;b2*this.B&&Kc(this),!0):!1};var Kc=function(a){if(a.B!=a.j.length){for(var b=0,c=0;b<a.j.length;){var d=a.j[b];Lc(a.ba,d)&&(a.j[c++]=d);b++}a.j.length=c}if(a.B!=a.j.length){for(var e={},c=b=0;b<a.j.length;)d=a.j[b],Lc(e,d)||(a.j[c++]=d,e[d]=1),b++;a.j.length=c}};_.h=Jc.prototype;_.h.get=function(a,b){return Lc(this.ba,a)?this.ba[a]:b};_.h.set=function(a,b){Lc(this.ba,a)||(this.B++,this.j.push(a),this.ld++);this.ba[a]=b};_.h.addAll=function(a){var b;if(a instanceof Jc)b=a.Ta(),a=a.Fa();else{b=[];var c=0,d;for(d in a)b[c++]=d;c=[];d=0;for(var e in a)c[d++]=a[e];a=c}for(e=0;e<b.length;e++)this.set(b[e],a[e])};_.h.forEach=function(a,b){for(var c=this.Ta(),d=0;d=d.j.length)throw Hc;var e=d.j[b++];return a?e:d.ba[e]};return e};var Lc=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var Mc=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/,Oc=function(a){if(Nc){Nc=!1;var b=_.p.location;if(b){var c=b.href;if(c&&(c=(c=Oc(c)[3]||null)?(0,window.decodeURI)(c):c)&&c!=b.hostname)throw Nc=!0,Error();}}return a.match(Mc)},Nc=_.bb,Qc=function(a,b){for(var c=a.split("&"),d=0;d<c.length;d++){var e=c[d].indexOf("="),f=null,g=null;0<=e?(f=c[d].substring(0,e),g=c[d].substring(e+1)):f=c[d];b(f,g?(0,window.decodeURIComponent)(g.replace(/\+/g," ")):"")}};var Rc=function(a,b){this.Qa=this.ab=this.Ma="";this.sb=null;this.Sa=this.ca="";this.M=this.gh=!1;var c;if(a instanceof Rc)this.M=_.q(b)?b:a.M,Sc(this,a.Ma),c=a.ab,O(this),this.ab=c,Tc(this,a.Qa),Uc(this,a.sb),c=a.ca,O(this),this.ca=c,Vc(this,a.va.clone()),c=a.Sa,O(this),this.Sa=c;else if(a&&(c=Oc(String(a)))){this.M=!!b;Sc(this,c[1]||"",!0);var d=c[2]||"";O(this);this.ab=Wc(d);Tc(this,c[3]||"",!0);Uc(this,c[4]);d=c[5]||"";O(this);this.ca=Wc(d,!0);Vc(this,c[6]||"",!0);c=c[7]||"";O(this);this.Sa=Wc(c)}else this.M=!!b,this.va=new Xc(null,0,this.M)};Rc.prototype.toString=function(){var a=[],b=this.Ma;b&&a.push(Yc(b,Zc,!0),":");if(b=this.Qa){a.push("//");var c=this.ab;c&&a.push(Yc(c,Zc,!0),"@");a.push((0,window.encodeURIComponent)(String(b)).replace(/%25([0-9a-fA-F]{2})/g,"%$1"));b=this.sb;null!=b&&a.push(":",String(b))}if(b=this.ca)this.Qa&&"/"!=b.charAt(0)&&a.push("/"),a.push(Yc(b,"/"==b.charAt(0)?$c:ad,!0));(b=this.va.toString())&&a.push("?",b);(b=this.Sa)&&a.push("#",Yc(b,bd));return a.join("")};Rc.prototype.resolve=function(a){var b=this.clone(),c=!!a.Ma;c?Sc(b,a.Ma):c=!!a.ab;if(c){var d=a.ab;O(b);b.ab=d}else c=!!a.Qa;c?Tc(b,a.Qa):c=null!=a.sb;d=a.ca;if(c)Uc(b,a.sb);else if(c=!!a.ca){if("/"!=d.charAt(0))if(this.Qa&&!this.ca)d="/"+d;else{var e=b.ca.lastIndexOf("/");-1!=e&&(d=b.ca.substr(0,e+1)+d)}e=d;if(".."==e||"."==e)d="";else if(-1!=e.indexOf("./")||-1!=e.indexOf("/.")){for(var d=0==e.lastIndexOf("/",0),e=e.split("/"),f=[],g=0;g<e.length;){var k=e[g++];"."==k?d&&g==e.length&&f.push(""):".."==k?((1b)throw Error("Bad port number "+b);a.sb=b}else a.sb=null},Vc=function(a,b,c){O(a);b instanceof Xc?(a.va=b,a.va.qe(a.M)):(c||(b=Yc(b,cd)),a.va=new Xc(b,0,a.M))},O=function(a){if(a.gh)throw Error("Tried to modify a read-only Uri");};Rc.prototype.qe=function(a){this.M=a;this.va&&this.va.qe(a);return this};var Wc=function(a,b){return a?b?(0,window.decodeURI)(a.replace(/%25/g,"%2525")):(0,window.decodeURIComponent)(a):""},Yc=function(a,b,c){return _.v(a)?(a=(0,window.encodeURI)(a).replace(b,dd),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null},dd=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)},Zc=/[#\/\?@]/g,ad=/[\#\?:]/g,$c=/[\#\?]/g,cd=/[\#\?@]/g,bd=/#/g,Xc=function(a,b,c){this.B=this.v=null;this.L=a||null;this.M=!!c},ed=function(a){a.v||(a.v=new Jc,a.B=0,a.L&&Qc(a.L,function(b,c){a.add((0,window.decodeURIComponent)(b.replace(/\+/g," ")),c)}))};_.h=Xc.prototype;_.h.add=function(a,b){ed(this);this.L=null;a=fd(this,a);var c=this.v.get(a);c||this.v.set(a,c=[]);c.push(b);this.B++;return this};_.h.remove=function(a){ed(this);a=fd(this,a);return this.v.na(a)?(this.L=null,this.B-=this.v.get(a).length,this.v.remove(a)):!1};_.h.na=function(a){ed(this);a=fd(this,a);return this.v.na(a)};_.h.Ta=function(){ed(this);for(var a=this.v.Fa(),b=this.v.Ta(),c=[],d=0;d<b.length;d++)for(var e=a[d],f=0;f<e.length;f++)c.push(b[d]);return c};_.h.Fa=function(a){ed(this);var b=[];if(_.v(a))this.na(a)&&(b=La(b,this.v.get(fd(this,a))));else{a=this.v.Fa();for(var c=0;c<a.length;c++)b=La(b,a[c])}return b};_.h.set=function(a,b){ed(this);this.L=null;a=fd(this,a);this.na(a)&&(this.B-=this.v.get(a).length);this.v.set(a,[b]);this.B++;return this};_.h.get=function(a,b){var c=a?this.Fa(a):[];return 0<c.length?String(c[0]):b};_.h.toString=function(){if(this.L)return this.L;if(!this.v)return"";for(var a=[],b=this.v.Ta(),c=0;c<b.length;c++)for(var d=b[c],e=(0,window.encodeURIComponent)(String(d)),d=this.Fa(d),f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="="+(0,window.encodeURIComponent)(String(d[f])));a.push(g)}return this.L=a.join("&")};_.h.clone=function(){var a=new Xc;a.L=this.L;this.v&&(a.v=this.v.clone(),a.B=this.B);return a};var fd=function(a,b){var c=String(b);a.M&&(c=c.toLowerCase());return c};Xc.prototype.qe=function(a){a&&!this.M&&(ed(this),this.L=null,this.v.forEach(function(a,c){var d=c.toLowerCase();c!=d&&(this.remove(c),this.remove(d),0<a.length&&(this.L=null,this.v.set(fd(this,d),_.Ma(a)),this.B+=a.length))},this));this.M=a};var gd=C("Android")&&!(Ya()||C("Firefox")||Wa()||C("Silk"));Ya();var P;P={Zf:0,ka:1,URL:2,ha:3,ga:4,tc:5,sc:7,FAVICON:8,rc:9,ia:6,He:10,rd:11,qd:12,Ge:13,qc:14,pd:15,sd:16,fg:29,Xf:30,Ie:17,od:18,Fe:19,Yf:20,Ee:21,dg:22,Fb:23,Cb:24,Eb:25,Db:26,nd:27,td:28,eg:31,Wf:32,$f:1E3,ag:1001,cg:1002};_.hd=[P.rd,P.qd,P.sd,P.od,P.nd,P.td];_.Q={};_.Q[P.Zf]="c";_.Q[P.ka]="t";_.Q[P.URL]="u";_.Q[P.ha]="b";_.Q[P.ga]="a";_.Q[P.tc]="s";_.Q[P.FAVICON]="f";_.Q[P.rc]="g";_.Q[P.ia]="i";_.Q[P.He]="ih";_.Q[P.rd]="ib";_.Q[P.qd]="ic";_.Q[P.sc]="r";_.Q[P.sd]="ig";_.Q[P.Ge]="cre";_.Q[P.qc]="addr";_.Q[P.pd]="ia";_.Q[P.Ie]="mf";_.Q[P.od]="bc";_.Q[P.Fe]="cl";_.Q[P.Yf]="c1ct";_.Q[P.Ee]="amo";_.Q[P.Db]="pr";_.Q[P.Fb]="rv";_.Q[P.Cb]="asi";_.Q[P.Eb]="ph";_.Q[P.nd]="at";_.Q[P.td]="mb";_.Q[P.$f]="e";var id=function(a,b,c,d){b=c(d,b);if(!(b instanceof Array))return a;(0,_.Ia)(b,function(b){if(2!==b.length&&3!==b.length)return a;a=Gc(a,b[0],b[1],b[2],!0)});return a},jd=function(a,b,c){if(window.ona){_.M(a);a=b.href;a:{if(window.ona){if(c.match(/itunes[.]apple[.]com/)){if(window.onc)window.onc(a),window.ona(c);else window.ona(a);c=!0;break a}c=a;if(c.match(/market[.]android[.]com|play[.]google[.]com/)&&c.match(/[\?&]sa=L/)&&!c.match(/googleadservices[.]com/)){var d=window.location.host;if(d){b=1;for(var e=d.split(":"),d=[];0<b&&e.length;)d.push(e.shift()),b–;e.length&&d.push(e.join(":"));b=d[0];d=d[1];c=new Rc(c);Tc(c,b);Uc(c,d);c=c.toString()}c=c.replace("?","?"+(0,window.encodeURIComponent)("rct")+"="+(0,window.encodeURIComponent)("j")+"&");b=new window.XMLHttpRequest;b.open("GET",c,!1);window.jstiming&&_.ea(window.jstiming.report)?(d=new window.jstiming.Timer,b.send(),d.tick("cr_csr"),window.jstiming.report(d)):b.send();b.responseText&&(b=b.responseText.match(/URL=\'([^\']*)\'/),1<b.length&&(c=b[1].replace(/&/g,"&")));c=gd||cb?c.replace(/https?:\/\/(market.android.com|play.google.com\/store\/apps)\//,"market://"):c}else c=null;if(c){window.ona(c);c=!0;break a}}c=!1}if(!c)window.ona(a)}};_.R=function(a){this.Aa=a;this.Be=[];this.vc=[];this.Vd={};this.s={};this.uf=1;this.dc="data-original-click-url";this.ne="data-landing-url";this.ya={};this.Xd=!1;this.Cc=[]};_.R.prototype.ec=l(18);var kd=function(a,b,c){var d=b=b.getAttribute(a.dc);if(d)for(var e=0;e<a.Be.length;e++)d=id(d,b,a.Be[e],c);return d},ld=function(a,b,c,d){if(0!=a.vc.length&&!_.Rb(d)){_.M(d);for(var e=[],f=0;f<a.vc.length;f++){var g=a.vc[f](c);if(g){var k=new N(function(a){_.J(window,g,a)});e.push(k)}}c=lc(e);e=new N(function(a){window.setTimeout(a,2E3)});kc([c,e]).then((0,_.w)(_.R.prototype.Ch,a,b,d))}};_.R.prototype.Ch=function(a,b){this.Xd=!0;var c=!1;b.target&&(c=Qb(b.target,"click",b.button,b.ctrlKey,b.shiftKey,b.metaKey));a.href&&!c&&(_.L.top.location=a.href)};_.R.prototype.Ig=function(a,b,c,d){if(this.Xd)this.Xd=!1;else{d||(d=window.event);_.Pa(this.s[c][b],function(a){a(d)});var e=kd(this,a,d.type);e&&(this.ya[b]?a.ping=e:a.href=e);"click"==c&&ld(this,a,b,d);md(this);"click"!=c||_.Rb(d)||jd(d,a,Ga(this.Aa))}};var nd=function(a,b,c,d){a.s[d]||(a.s[d]={});a.s[d][c]||(a.s[d][c]={});a=(0,_.w)(a.Ig,a,b,c,d);_.I(b,d,a,void 0)};_.h=_.R.prototype;_.h.K=function(a,b){for(var c=0;c<a.length;c++){var d=a[c];d.setAttribute(this.dc,d.href);nd(this,d,b,"mousedown");nd(this,d,b,"click")}this.Vd[b]=!0};_.h.oc=l(20);_.h.Nb=l(22);_.h.kc=l(24);_.h.gc=l(26);_.h.queueOnObjectAfterClickModifiers=function(a,b,c,d){this.Cc.push({ig:a,Ld:b,Gg:c,pg:d})};var md=function(a){for(var b=0;b<a.Cc.length;b++){var c=a.Cc[b],d=c.ig,e=c.Ld,f=c.Gg;c.pg&&_.Rb(f)||d.fireOnObject(e,f)}a.Cc=[]};var od;od="undefined"!=typeof window.DOMTokenList;_.pd=function(a,b){if(od){var c=a.classList;0==c.contains(b)&&c.toggle(b)}else if(c=a.className){for(var c=c.split(/\s+/),d=!1,e=0;ec.indexOf(b))){for(var c=c.split(/\s+/),d=0;d<c.length;++d)c[d]==b&&c.splice(d–,1);a.className=c.join(" ")}};var rd;_.sd=function(a,b,c){try{if(Math.random()<(c||.01)){var d="/pagead/gen_204?id="+a+rd(b),e="http"+("http:"==_.L.location.protocol?"":"s")+"://pagead2.googlesyndication.com"+d,e=e.substring(0,2E3);_.J(_.L,e,void 0)}}catch(f){}};rd=function(a){var b="";_.Pb(a,function(a,d){if(0===a||a)b+="&"+d+"="+ba(a)});return b};_.S=function(a,b,c){this.Td=new _.H;this.l=a;this.l[0]=[b];this.tf=[];this.Lb=b.style.display;this.Y=new _.R(c);this.Aa=c;if(b=window.document.getElementById("common_15click_anchor"))a[20]=[b],this.K(20)};_.h=_.S.prototype;_.h.navigationAdPieces=function(){return this.tf};_.h.Wd=function(){return!0};_.h.hide=function(){for(var a=this.l[0],b=0;b<a.length;b++)a[b].style.display="none"};_.h.reset=function(){for(var a=this.l[0],b=0;b<a.length;b++)a[b].style.display=this.Lb};_.h.has=function(a){return(a=this.l[a])&&0<a.length};_.h.listen=function(a,b,c){var d=this.l[a];if(d){var e=this.Y,f=Ec(b),g=("click"==b||"mousedown"==b)&&e.Vd[a],k=Fc(d,b,_.x(c,a,this));e.s[f]||(e.s[f]={});e.s[f][a]||(e.s[f][a]={});var m=e.uf;e.s[f][a][m]=k;e.uf=m+1;if(!g)for(e=0;e<d.length;e++)_.I(d[e],f,k,void 0);c.la||(c.la={});c.la[b]||(c.la[b]={});c.la[b][a]=m}};_.h.unlisten=function(a,b,c){var d;if(c.la&&c.la[b]&&c.la[b][a]){var e=c.la[b][a];delete c.la[b][a];d=e}else d=-1;if(c=this.l[a]){var f=this.Y,e=Ec(b);b=("click"==b||"mousedown"==b)&&f.Vd[a];if(f.s[e]&&f.s[e][a]){var g=f.s[e][a][d];delete f.s[e][a][d];a=g}else a=null;if(a&&!b)for(b=0;b<c.length;b++)Ob(c[b],e,a,void 0)}};_.td=function(a,b,c,d,e,f){if(a=a.l[b])for(b=0;b<a.length;b++){var g="click",g=Ec(g);Qb(a[b],g,c,d,e,f)}};_.S.prototype.registerClickUrlModifier=function(a){this.Y.Be.push(a)};_.S.prototype.ec=l(17);_.S.prototype.modifyCssClass=function(a,b,c){if(b&&(a=this.l[a]))for(var d=0;d<a.length;d++)(c?_.qd:_.pd)(a[d],b)};_.S.prototype.getComputedStyle=function(a){return(a=this.l[a])&&0<a.length?window.getComputedStyle(a[0]):null};var ud=function(a,b){var c=a.l[b];if(!c||!c[0])return"rgb(255, 255, 255)";c=c[0].parentElement;if(!c)return"rgb(255, 255, 255)";for(var d=/rgba\([ \d]+,[ \d]+,[ \d]+,[ 0\.]+\)/;c;){var e=window.getComputedStyle(c).backgroundColor;if(e&&!d.exec(e)&&"transparent"!=e)return e;c=c.parentElement}return"rgb(255, 255, 255)"};_.h=_.S.prototype;_.h.kf=function(a){return(a=this.l[a])&&0<a.length?_.Dc(a[0]):""};_.h.getAttribute=function(a,b){var c=this.l[a];if(c&&b)for(var d=0;d<c.length;d++){var e=c[d].getAttribute(b);if(e)return e}return null};_.h.setAttribute=function(a,b,c){(a=this.l[a])&&0<a.length&&b&&a[0].setAttribute(b,c)};_.h.removeAttribute=function(a,b){var c=this.l[a];c&&0<c.length&&b&&c[0].removeAttribute(b)};_.h.getBoundingClientRect=function(a){return(a=this.l[a])?a[0].getBoundingClientRect():null};_.h.forEachAdPiece=function(a){var b=this.l;_.Pa(P,function(c){b[c]&&0<b[c].length&&a(c)})};_.h.K=function(a){this.l[a]&&this.Wd(a)&&(this.tf.push(a),this.Y.K(this.l[a],a))};_.h.oc=l(19);_.h.Nb=l(21);_.h.kc=l(23);_.h.gc=l(25);_.vd=function(a,b){var c=a.l[b];if(!c)return!1;for(var d=0;d<c.length;d++)if(!c[d].href)return!1;return!0};_.h=_.S.prototype;_.h.creativeConversionUrl=function(){var a=this.Aa.g[5];return null!=a?a:""};_.h.adGroupCreativeId=function(){var a=this.Aa.g[6];return null!=a?a:""};_.h.redirectUrl=function(){var a=this.Aa.g[7];return null!=a?a:""};_.h.getIndex=function(){return this.Aa.getIndex()};_.h.ta=function(){return this.Aa.ta()};_.h.sa=function(){return this.Aa.sa()};_.h.listenOnObject=function(a,b){_.Ab(this.Td,a,b)};_.h.unlistenOnObject=function(a,b){Hb(this.Td,a,b)};_.h.fireOnObject=function(a,b){var c=this.Td;_.qb(c)?Mb(c,a,!1,b):Kb(c,a,!1,b)};_.h.queueOnObjectAfterClickModifiers=function(a,b,c){this.Y.queueOnObjectAfterClickModifiers(this,a,b,c)};_.S.prototype.modifyCssClass=_.S.prototype.modifyCssClass;_.S.prototype.has=_.S.prototype.has;_.S.prototype.listen=_.S.prototype.listen;_.S.prototype.unlisten=_.S.prototype.unlisten;_.S.prototype.registerClickUrlModifier=_.S.prototype.registerClickUrlModifier;_.S.prototype.hide=_.S.prototype.hide;_.S.prototype.reset=_.S.prototype.reset;_.S.prototype.forEachAdPiece=_.S.prototype.forEachAdPiece;_.S.prototype.getAttribute=_.S.prototype.getAttribute;_.S.prototype.setAttribute=_.S.prototype.setAttribute;_.S.prototype.removeAttribute=_.S.prototype.removeAttribute;_.S.prototype.getBoundingClientRect=_.S.prototype.getBoundingClientRect;_.S.prototype.creativeConversionUrl=_.S.prototype.creativeConversionUrl;_.S.prototype.adGroupCreativeId=_.S.prototype.adGroupCreativeId;_.S.prototype.redirectUrl=_.S.prototype.redirectUrl;_.S.prototype.getIndex=_.S.prototype.getIndex;_.S.prototype.listenOnObject=_.S.prototype.listenOnObject;_.S.prototype.unlistenOnObject=_.S.prototype.unlistenOnObject;_.S.prototype.fireOnObject=_.S.prototype.fireOnObject;_.S.prototype.navigationAdPieces=_.S.prototype.navigationAdPieces;_.S.prototype.queueOnObjectAfterClickModifiers=_.S.prototype.queueOnObjectAfterClickModifiers;var xd=function(a,b,c){_.S.call(this,a,b,c);for(a=0;a<wd.length;a++)this.K(wd[a]);this.listen(4,"mouseover",(0,_.w)(this.modifyCssClass,this,0,"onhoverbg",!1));this.listen(4,"mouseout",(0,_.w)(this.modifyCssClass,this,0,"onhoverbg",!0))};_.z(xd,_.S);var wd=[P.ka,P.URL,P.ga,P.tc,P.sc,P.FAVICON,P.ha,P.rc,P.ia,P.qc,P.pd],yd={ka:"rhtitle",ha:"rhbody",URL:"rhurl",ga:"rhbutton",FAVICON:"rhfavicon",qc:"rhaddress",ia:"rhimage",sd:"rhimagegallery",fg:"rhviewimagegallery",Xf:"rhcloseimagegalleryview",eg:"rhtrydemobutton",Wf:"rhclosetrydemoview",He:"rhimage-container",rd:"rhexpand-button",qd:"rhimage-collapsed",rc:"rhbackground",Ge:"rh-icore-empty",tc:"rhsitelink",sc:"rhradlink",Ie:"rh-multiframe",od:"rh-box-breadcrumbs",Ee:"rh-ms-mute-overlay",dg:"rh-ms-mute-undo",Fb:"rhstarratings",Cb:"rh-box-store-icon",Eb:"rhpromotext",Db:"rhprice",nd:"abgc",td:"cbc",ag:"rhoverlap-imagegallery",cg:"rhoverlap-trydemo"},zd=function(a){var b={};b[0]=[a];for(var c in yd){var d=P[c],e=b,f=_.wc(null,yd[c],a);e[d]=[];for(var g=0;gb||b>=ia(a.g.g))return null;var c;c=Ba(a.g,b);var d=window.document.getElementById("taw"+b);if(d){var e=zd(d);c=new xd(e,d,c)}else c=null;return c},void 0);_.T=function(a,b,c){_.H.call(this);this.ma=a;this.Lb="none";this.ma&&(this.Lb=this.ma.style.display);this.F=b;this.g=c;this.s={};this.ee=[];this.nf=!1;this.fa=[]};_.z(_.T,_.H);_.T.prototype.forEachAd=function(a){(0,_.Ia)(this.F,a)};_.T.prototype.xd=function(a){this.F.push(a)};_.Ad=function(a){a=new _.T(null,[],new _.A(a));_.t("adSlot",a,void 0);return a};_.h=_.T.prototype;_.h.cf=function(a){if(a=window.document.getElementById(a))this.ma=a,this.Lb=this.ma.style.display;if(0==this.F.length)window.css=null;else{window.SlideConstructor&&0<this.F.length&&new window.SlideConstructor(this.F[0],this,ta(this.g));window.GridConstructor&&0<this.F.length&&new window.GridConstructor(this,ta(this.g));window.ImageExpandConstructor&&1==this.F.length&&new window.ImageExpandConstructor(this,ta(this.g));window.OneClickConstructor&&0<this.F.length&&new window.OneClickConstructor(this,0);window.OnePointFiveClickConstructor&&0<this.F.length&&(a=_.wa(this.g).g[4],new window.OnePointFiveClickConstructor(this,_.Ca(_.wa(this.g)),_.Da(_.wa(this.g)),_.Ea(_.wa(this.g)),_.Fa(_.wa(this.g)),null!=a?a:!1));window.OnePointFiveClickExpConstructor&&0<this.F.length&&new window.OnePointFiveClickExpConstructor(this);if(window.IntentfulClickConstructor&&0<this.F.length){a=za(this.g).g[0];var b=za(this.g).g[1],c=za(this.g).g[2];new window.IntentfulClickConstructor(this,null!=a?a:"",null!=b?b:!1,null!=c?c:!1)}window.MultiframeConstructor&&new window.MultiframeConstructor(this,ta(this.g));if(a=window.ona)a=this.g.g[4],a=!(null!=a&&a);a&&(window.ona=null);for(a=0;a<this.ee.length;++a)this.ee[a]();this.nf=!0}};_.h.listenOnContainer=function(a,b){var c=Fc([this.ma],a,_.x(b,this));_.I(this.ma,Ec(a),c,void 0);this.s[a]||(this.s[a]=new Nb);this.s[a].set(b,c)};_.h.unlistenOnContainer=function(a,b){var c;this.s[a]&&this.s[a].na(b)?(c=this.s[a].get(b),this.s[a].remove(b)):c=null;c&&Ob(this.ma,Ec(a),c,void 0)};_.h.listenOnObject=function(a,b){_.Ab(this,a,b)};_.h.unlistenOnObject=function(a,b){Hb(this,a,b)};_.h.fireOnObject=function(a,b){b.Th=this;_.qb(this)?Mb(this,a,!1,b):Kb(this,a,!1,b)};_.h.registerFinalizeCallback=function(a){this.nf?a():this.ee.push(a)};_.h.registerWidget=function(a,b){0<=Ha(this.fa,a)||(this.fa[b]=a,a.reset(this))};var Bd=function(a){a.ma.style.display="none";for(var b=0;b<a.fa.length;b++)a.fa[b]&&a.fa[b].hide(a)};_.T.prototype.resetAll=function(){this.ma.style.display=this.Lb;for(var a=0;a<this.fa.length;a++)this.fa[a]&&this.fa[a].reset(this)};_.T.prototype.showOnly=function(a){var b=this;Bd(this);Cd(this,a,function(a){a.show(b)})};var Cd=function(a,b,c){a.fa[b]&&c(a.fa[b])};_.h=_.T.prototype;_.h.isDirectContent=function(){var a=this.g.g[14];return null!=a?a:!1};_.h.getEscapedQemQueryId=function(){return this.g.getEscapedQemQueryId()};_.h.getEscapedGwsQueryId=function(){return this.g.getEscapedGwsQueryId()};_.h.getWebProperty=function(){return this.g.getWebProperty()};_.h.ta=function(){return this.g.ta()};_.h.sa=function(){return this.g.sa()};_.h.Wb=l(0);_.h.Tb=l(2);_.h.Vb=l(4);_.h.Ub=l(6);_.h.lb=l(8);_.h.getSerializedAdSlotData=function(){return this.g.lc()};_.h.getAdsLength=function(){return this.F.length};_.h.getAd=function(a){return 0<=a&&ac||void 0==c){c=null;try{c=a.cssRules||a.rules}catch(d){if(15==d.code)throw d.styleSheet=a,d;}c=c.length}if(a.insertRule)a.insertRule(b,c);else{var e=/^([^\{]+)\{([^\{]+)\}/.exec(b);if(3==e.length)a.addRule(e[1],e[2],c);else throw Error("Your CSSRule appears to be ill-formatted.");}};var Fd=function(a){var b;a:{var c=a.match(Ed);if(c){b=Number(c[1]);var d=Number(c[2]),c=Number(c[3]);if(0=b&&0=d&&0=c){b=[b,d,c];break a}}b=[]}if(!b.length)throw Error(a+" is not a valid RGB color");return b},Gd=function(a){var b=a[0]/255,c=a[1]/255;a=a[2]/255;var d=Math.max(b,c,a),e=Math.min(b,c,a),f=0,g=0,k=.5*(d+e);d!=e&&(d==b?f=60*(c-a)/(d-e):d==c?f=60*(a-b)/(d-e)+120:d==a&&(f=60*(b-c)/(d-e)+240),g=0=k?(d-e)/(2*k):(d-e)/(2-2*k));return[Math.round(f+360)%360,g,k]},Ed=/^(?:rgb)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2})\)$/i;var Id,Hd,Ld,Md,Kd;_.Jd=function(a){var b=[];Hd(new Id,a,b);return b.join("")};Id=function(){this.bd=void 0};Hd=function(a,b,c){if(null==b)c.push("null");else{if("object"==typeof b){if(_.u(b)){var d=b;b=d.length;c.push("[");for(var e="",f=0;f=c[2]?c[1]*c[2]:c[1]*(1-c[2]);f=.5>=d[2]?d[1]*d[2]:d[1]*(1-d[2]);return.15<=(c[2]-d[2])*(c[2]-d[2])+e*e+f*f-2*e*f*Math.cos(2*(c[0]/360-d[0]/360)*Math.PI)}catch(g){return!1}},Pd=function(a,b){var c=(0,window.parseFloat)(a),d=(0,window.parseFloat)(b);return 0<d?c/d:1E6},Qd=function(a,b){a||(a=0);b||(b=0);return Na(a,b)},Rd=function(a,b){for(var c=0;c<a.X.length;++c)if(Ka(a.oa,function(a){return b[a]==this.X[c].style[a]},a))return c;return-1},Sd=function(a,b,c){for(var d={},e=0;e<a.oa.length;++e){var f=a.oa[e];d[f]=b[f]}b={style:d,stats:c};d=Rd(a,d);0<=d?-1==a.Se(b,a.X[d])&&(a.X[d].stats=c):a.X.push(b)};Nd.prototype.log=function(a){for(var b=0;bb;++b)_.sd("auto_css",{style:_.Jd(this.X[b]),rank:b,qid:a},1)};Nd.prototype.sort=function(){var a=(0,_.w)(this.Se,this);this.X.sort(a||Na);for(var a=[],b=0;b<this.X.length;++b){for(var c="",d=0;d<this.oa.length;++d)var e=this.oa[d],c=c+(e+": "+this.X[b].style[e]+" !important; ");a.push(c)}return a};Nd.prototype.Se=function(a,b){return this.compare(a.stats,b.stats)};Nd.prototype.Xc=function(a,b){Sd(this,a,b)};var U=function(a,b,c,d){xd.call(this,a,b,c);(!_.D||_.E("10"))&&window.getComputedStyle&&window.postMessage&&(this.hide(),this.jc=[],this.wd={},this.ed={},this.de={},a=window.document,b=a.createElement("STYLE"),b.type="text/css",a.getElementsByTagName("HEAD")[0].appendChild(b),b.styleSheet?b.styleSheet.cssText="":b.appendChild(a.createTextNode("")),this.Nf=b.sheet,this.df={},this.Xe=this.Pf=!1,this.i=d)};_.z(U,xd);U.prototype.Ff=function(){var a=window,b=(0,_.w)(U.prototype.Wg,this);_.I(a,"message",b,void 0);window.setTimeout((0,_.w)(this.Zg,this),3E3);a={};a.auto_css_request=window.name;window.top.postMessage(a,"*")};U.prototype.Zg=function(){this.Pf=!0;this.reset()};U.prototype.Wg=function(a){if(a&&(!this.Pf||this.Xe)&&(a.data.auto_css_font_css&&Dd(this.Nf,a.data.auto_css_font_css),a.data.auto_css_font_sheet&&Td(this,a.data.auto_css_font_sheet),a.data.auto_css_styles)){a=a.data.auto_css_styles;for(var b=0;b<this.jc.length;++b){var c=this.jc[b];if(this.has(c)){var d=this.wd[c],e;e=c;var f={},g=this.getComputedStyle(e);g&&(f.bgcolor=ud(this,e),f["font-size"]=g["font-size"],f["font-family"]=g["font-family"],f.text=this.kf(e),this.reset(),e=this.getBoundingClientRect(e),f.height=e.height,f.width=e.width,this.hide());e=f;for(f=0;fm;m++){var r="’\"".charAt(m);if(k.charAt(0)==r&&k.charAt(k.length-1)==r){k=k.substring(1,k.length-1);break a}}k=(0,window.encodeURIComponent)(String(k));k="http://fonts.googleapis.com/css?family="+k;k+=&quot;|Lora";Td(this,k)}d.Xc(g.style,g.stats,e)}e=d.sort();for(f=this.de[c]=0;f<e.length;++f)Dd(this.Nf,"."+Ud(c,f)+"{ "+e[f]+" }"),this.de[c]++;this.modifyCssClass(c,Ud(c,this.ed[c]));d.log(this.i.getEscapedQemQueryId())}}this.reset()}};var Td=function(a,b){if(!a.df[b]){if("http:"!=_.L.location.protocol&&0==b.indexOf("http://&quot;))if(-1<b.indexOf("fonts.googleapis.com"))b=b.replace("http://&quot;,"https://&quot;);else return;var c=window.document.createElement("link");c.href=b;c.rel="stylesheet";c.type="text/css";window.document.head.appendChild(c);a.df[b]=!0}},Ud=function(a,b){return-1==b?"":"auto-css-"+a+"-"+b};U.prototype.kg=function(a,b,c){b&&(this.jc.push(a),this.wd[a]=b,this.ed[a]=c)};U.prototype.Jh=function(a){0<a?window.setTimeout((0,_.w)(this.Ff,this),a):this.Ff()};U.prototype.Bg=function(){this.Xe=!0;for(var a=0;a=this.de[a]&&(b=-1);this.ed[a]=b;this.modifyCssClass(a,Ud(a,d),!0);this.modifyCssClass(a,Ud(a,b));window.console.log("Start Style: ",b);d=this.wd[a];a=this.getComputedStyle(a);for(var e=0;e<d.oa.length;++e){var f=d.oa[e];window.console.log(f,": ",a[f])}0b||b>=ia(a.g.g))return null;var c;c=Ba(a.g,b);var d=window.document.getElementById("taw"+b);if(d){var e=zd(d);c=new U(e,d,c,a)}else c=null;return c},void 0);U.prototype.enableDebug=U.prototype.Bg;U.prototype.addAdPiece=U.prototype.kg;U.prototype.setupRequest=U.prototype.Jh;var Vd=function(){Nd.call(this,"color font-family font-size font-weight line-height letter-spacing display max-width".split(" "))};_.z(Vd,Nd);Vd.prototype.Xc=function(a,b,c){if(0!=b[1]){a.display="inline-block";a["font-family"]+=", "+c["font-family"];var d=Pd(a["font-size"],c["font-size"]);if(!(.5>d||1=b[2])){if(1<=d&&0<c.height){var d=(0,window.parseFloat)(c.height),e=c.text,f=(0,window.parseFloat)(a["font-size"]),g=window.document.createElement("div");g.style.width=Math.floor((0,window.parseFloat)(c.width))+"px";for(var k=window.document.createElement("span"),m=0;m<this.oa.length;++m){var r=this.oa[m];k.style[r]=a[r]}k.style["line-height"]="normal";k.style.display="inline-block";k.insertAdjacentHTML("afterbegin",e);g.appendChild(k);for(window.document.body.appendChild(g);0<f;){k.style["font-size"]=f+"px";if((0,window.parseFloat)(window.getComputedStyle(k).height)<=d)break;f–}window.document.body.removeChild(g);d=f+"px";0<(0,window.parseFloat)(d)?(a["font-size"]=d,a["line-height"]="normal"):a["font-size"]=c["font-size"]}else 1d&&3<b[6]||1.2<d||!Od(a.color,c.bgcolor)||(a["line-height"]="normal",Sd(this,a,b))}};Wd.prototype.compare=function(a,b){var c=Qd(a[6],b[6]);return 0!=c?c:Qd(b[1],a[1])};var Xd=function(){Nd.call(this,["background-color"])};_.z(Xd,Nd);Xd.prototype.Xc=function(a,b,c){if(0!=b[1]){var d;if(d=a["background-color"])d=a["background-color"],d=!("rgba(0, 0, 0, 0)"==d||"transparent"==d);d?b[4]=1:a["background-color"]=a.color;Od(a["background-color"],c.bgcolor)&&Sd(this,a,b)}};Xd.prototype.compare=function(a,b){if(0<a[1]&&0==b[1]||0<a[1]&&0==b[1])return-1;var c=Qd(b[4],a[4]);if(0!=c)return c;c=Qd(b[3],a[3]);return 0!=c?c:Qd(b[1],a[1])};_.t("buildAutoCssBodySorter",function(){return new Vd},void 0);_.t("buildAutoCssTitleSorter",function(){return new Wd},void 0);_.t("buildAutoCssButtonSorter",function(){return new Xd},void 0);var Zd=function(a,b,c){_.S.call(this,a,b,c);for(a=0;a<Yd.length;a++)this.K(Yd[a])};_.z(Zd,_.S);var Yd=[P.ka,P.URL,P.ha,P.ga,P.FAVICON,P.ia];Zd.prototype.Wd=function(a){return _.vd(this,a)||4==a};var $d=function(a){var b="";_.Pb(a,function(a,d){if(0===a||a)b+="&"+ba(d)+"="+ba(a)});return b},ae="UNKNOWN",be="UNKNOWN",ce=null,de=function(a,b){var c="//pagead2.googlesyndication.com"+("/pagead/gen_204?id=glaurung"+$d({gqid:ae,qqid:be,com:a})+$d(b)),c=c.substring(0,2E3);_.J(_.L,c,void 0)},V={ka:"ad-title",URL:"ad-url",ha:"ad-body",ga:"ad-button",FAVICON:"ad-favicon",ia:"ad-image",Db:"ad-price",Fb:"ad-reviews",Cb:"ad-app-store-image",Eb:"ad-promo-headline"},ee=function(a,b,c){var d=a.g,e;e=(e=d.g[15])?new sa(e):Aa;var f;if(f=e)e=e.g[0],f=null!=e?e:!1;f&&(V={ka:"title-link",URL:"url-link",ha:"body",ga:"button-link",FAVICON:"favicon-link",ia:"image-link",Db:"price",Fb:"reviews",Cb:"app-store",Eb:"promo-headline"});e=b.getElementById("adunit");b=b.getElementById("ads");if(!e||!b)return 1;e.style.width=d.ta()+"px";e.style.height=d.sa()+"px";try{c(b,a)}catch(g){return ua(d)&&(ce=g),2}for(c=0;c<ia(d.g);c++){e=Ba(d,c);b="taw"+e.getIndex();f=window.document.getElementById(b);if(!f)return 3;var k=V,m={};if(f){m[0]=[f];var r=void 0;for(r in k){var F=P[r],xa=m,Re=_.wc(null,k[r],f);xa[F]=[];for(var Pc=0;Pcb||b>=ia(a.g.g))return null;var c;c=Ba(a.g,b);var d=_.K.getElementById("google_image_div"),e=_.K.getElementById("aw0");if(d&&e){for(var f=_.xc("google_image_inside_det_button"),g=[],k=0;k<f.length;k++)g.push(f[k]);f=_.K.getElementById("google_image_outside_det_button");c=g.length&&f?new fe(c,e,d,g,f):new fe(c,e,d)}else c=null;return c},void 0);var he=function(a,b,c){_.S.call(this,a,b,c);for(a=0;a<ge.length;a++)this.K(ge[a])};_.z(he,_.S);var ge=[P.ka,P.URL,P.ga,P.tc,P.sc,P.FAVICON,P.ha,P.rc,P.ia,P.qc,P.pd],ie={ka:"headline",ha:"description",ga:"button",Fe:"logo",ia:"product"};_.t("buildTemplateAd",function(a){var b;a=new _.qa(a);var c={},d=window.document.getElementById("adContent");if(d){c[0]=[d];for(b in ie){var e=P[b],f=c,g=_.wc(null,ie[b],d);f[e]=[];for(var k=0;k<g.length;k++)f[e].push(g[k])}b=new he(c,d,a)}else b=null;return b},void 0);_.D&&_.E(12);_.je=function(a){if(a.classList)return a.classList;a=a.className;return _.v(a)&&a.match(/\S+/g)||[]};_.ke=function(a,b){var c;a.classList?c=a.classList.contains(b):(c=_.je(a),c=0<=Ha(c,b));return c};_.le=function(a,b){a.classList?a.classList.add(b):_.ke(a,b)||(a.className+=0// // // <![CDATA[
(function(_){var cf=function(){this.ic=[];this.re={}};cf.prototype.report=function(){for(var a=[],b=0;b<this.ic.length;++b)a.push(df(this.ic[b]));return a};var df=function(a){var b=[a.key,a.value];_.q(a.Nd)&&b.push(a.Nd);return b},ef={};var ff={1:0,2:1,4:8,5:6,8:11,9:2,6:9,3:7,20:12},gf=function(a,b,c){var d=ff[b];"true"===c.getAttribute(b,"data-is-action-button-expanded")&&(d=12);(0,window.ja)(a,d)},hf=function(a){return function(){a()}},jf=function(a){return a.report()};_.t("registerAd",function(a,b){_.q(ef[b])||(ef[b]=new cf);a.registerClickUrlModifier(_.x(jf,ef[b]));for(var c=[1,2,4,8,6,9,5,3,20],d=0;d

// <![CDATA[
(function(){var k=this,aa=function(a,b){var c=a.split("."),d=k;c[0]in d||!d.execScript||d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)c.length||void 0===b?d=d[e]?d[e]:d[e]={}:d[e]=b},l=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b},m=function(a){return"string"==typeof a},ba=function(a,b,c){return a.call.apply(a.bind,arguments)},ca=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}},n=function(a,b,c){n=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ba:ca;return n.apply(null,arguments)},p=Date.now||function(){return+new Date},q=function(a,b){function c(){}c.prototype=b.prototype;a.ka=b.prototype;a.prototype=new c;a.qa=function(a,c,f){for(var g=Array(arguments.length-2),h=2;h<arguments.length;h++)g[h-2]=arguments[h];return b.prototype[c].apply(a,g)}};var da=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},r=function(a,b){return ab?1:0};var t=function(a){t[" "](a);return a};t[" "]=function(){};var ea=function(a,b){try{return t(a[b]),!0}catch(c){}return!1};var v=function(a){try{return!!a&&null!=a.location.href&&ea(a,"foo")}catch(b){return!1}};var fa=function(a){var b=window;b.google_image_requests||(b.google_image_requests=[]);var c=b.document.createElement("img");c.src=a;b.google_image_requests.push(c)};var ga=document;var w=function(a,b,c){b=n(c,b);a.addEventListener?a.addEventListener("click",b,!1):a.attachEvent&&a.attachEvent("onclick",b)};var ha="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),ia=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<ha.length;f++)c=ha[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}},ka=function(a){var b=arguments.length;if(1==b&&"array"==l(arguments[0]))return ka.apply(null,arguments[0]);for(var c={},d=0;d<b;d++)c[arguments[d]]=!0;return c};var la=function(a){var b={};if(a&&a.key_value){a=a.key_value;for(var c=0;c
c?Math.max(0,a.length+c):c;if(m(a))return m(b)&&1==b.length?a.indexOf(b,c):-1;for(;cparseFloat(a))?String(b):a}(),ua={},H=function(a){var b;if(!(b=ua[a])){b=0;for(var c=da(String(ta)).split("."),d=da(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",h=d[f]||"",u=RegExp("(\\d*)(\\D*)","g"),Pa=RegExp("(\\d*)(\\D*)","g");do{var y=u.exec(g)||["","",""],D=Pa.exec(h)||["","",""];if(0==y[0].length&&0==D[0].length)break;b=r(0==y[1].length?0:parseInt(y[1],10),0==D[1].length?0:parseInt(D[1],10))||r(0==y[2].length,0==D[2].length)||r(y[2],D[2])}while(0==b)}b=ua[a]=0<=b}return b},va=k.document,wa=sa(),xa=!va||!E||!wa&&C()?void 0:wa||("CSS1Compat"==va.compatMode?parseInt(ta,10):5);!F&&!E||E&&E&&(C()||9<=xa)||F&&H("1.9.1");var ya=E&&!H("9");var za=function(a){var b=document;return m(a)?b.getElementById(a):a},Aa={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},Ba={IMG:" ",BR:"\n"},Da=function(){var a=document.getElementById("feedback-closing-template");if(ya&&"innerText"in a)a=a.innerText.replace(/(\r\n|\r|\n)/g,"\n");else{var b=[];Ca(a,b,!0);a=b.join("")}a=a.replace(/ \xAD /g," ").replace(/\xAD/g,"");a=a.replace(/\u200B/g,"");ya||(a=a.replace(/ +/g," "));" "!=a&&(a=a.replace(/^\s*/,""));return a},Ca=function(a,b,c){if(!(a.nodeName in Aa))if(3==a.nodeType)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in Ba)b.push(Ba[a.nodeName]);else for(a=a.firstChild;a;)Ca(a,b,c),a=a.nextSibling};E&&H(12);var Ea=function(){var a=document.body,b;if(ma&&!v(z)){for(var c="."+ga.domain;2=a.oa)};var Ga=function(a){a=String(a);if(/^\s*$/.test(a)?0:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,"")))try{return eval("("+a+")")}catch(b){}throw Error("Invalid JSON string: "+a);};var I=function(){this.R=this.R;this.ha=this.ha};I.prototype.R=!1;var J=function(a,b){this.type=a;this.currentTarget=this.target=b;this.defaultPrevented=this.m=!1;this.V=!0};J.prototype.preventDefault=function(){this.defaultPrevented=!0;this.V=!1};var Ha=!E||E&&(C()||9<=xa),Ia=E&&!H("9");!G||H("528");F&&H("1.9b")||E&&H("8")||qa&&H("9.5")||G&&H("528");F&&!H("8")||E&&H("9");var K=function(a,b){J.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.charCode=this.keyCode=this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.S=this.state=null;if(a){var c=this.type=a.type;this.target=a.target||a.srcElement;this.currentTarget=b;var d=a.relatedTarget;d?F&&(ea(d,"nodeName")||(d=null)):"mouseover"==c?d=a.fromElement:"mouseout"==c&&(d=a.toElement);this.relatedTarget=d;this.offsetX=G||void 0!==a.offsetX?a.offsetX:a.layerX;this.offsetY=G||void 0!==a.offsetY?a.offsetY:a.layerY;this.clientX=void 0!==a.clientX?a.clientX:a.pageX;this.clientY=void 0!==a.clientY?a.clientY:a.pageY;this.screenX=a.screenX||0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.state=a.state;this.S=a;a.defaultPrevented&&this.preventDefault()}};q(K,J);K.prototype.preventDefault=function(){K.ka.preventDefault.call(this);var a=this.S;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,Ia)try{if(a.ctrlKey||112=a.keyCode)a.keyCode=-1}catch(b){}};var L="closure_listenable_"+(1E6*Math.random()|0),Ja=0;var Ka=function(a,b,c,d,e){this.listener=a;this.F=null;this.src=b;this.type=c;this.w=!!d;this.A=e;this.key=++Ja;this.o=this.v=!1},M=function(a){a.o=!0;a.listener=null;a.F=null;a.src=null;a.A=null};var N=function(a){this.src=a;this.g={};this.G=0};N.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.g[f];a||(a=this.g[f]=[],this.G++);var g=O(a,b,d,e);-1<g?(b=a[g],c||(b.v=!1)):(b=new Ka(b,this.src,f,!!d,e),b.v=c,a.push(b));return b};N.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.g))return!1;var e=this.g[a];b=O(e,b,c,d);return-1<b?(M(e[b]),A.splice.call(e,b,1),0==e.length&&(delete this.g[a],this.G–),!0):!1};var P=function(a,b){var c=b.type;if(c in a.g){var d=a.g[c],e=na(d,b),f;(f=0<=e)&&A.splice.call(d,e,1);f&&(M(b),0==a.g[c].length&&(delete a.g[c],a.G–))}};N.prototype.K=function(a,b,c,d){a=this.g[a.toString()];var e=-1;a&&(e=O(a,b,c,d));return-1<e?a[e]:null};var O=function(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.o&&f.listener==b&&f.w==!!c&&f.A==d)return e}return-1};var Q="closure_lm_"+(1E6*Math.random()|0),R={},La=0,S=function(a,b,c,d,e){if("array"==l(b))for(var f=0;f<b.length;f++)S(a,b[f],c,d,e);else if(c=Ma(c),a&&a[L])a.listen(b,c,d,e);else{if(!b)throw Error("Invalid event type");var f=!!d,g=T(a);g||(a[Q]=g=new N(a));c=g.add(b,c,!1,d,e);if(!c.F){d=Na();c.F=d;d.src=a;d.listener=c;if(a.addEventListener)a.addEventListener(b.toString(),d,f);else if(a.attachEvent)a.attachEvent(Oa(b.toString()),d);else throw Error("addEventListener and attachEvent are unavailable.");La++}}},Na=function(){var a=Qa,b=Ha?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b},Ra=function(a,b,c,d,e){if("array"==l(b))for(var f=0;f<b.length;f++)Ra(a,b[f],c,d,e);else c=Ma(c),a&&a[L]?a.unlisten(b,c,d,e):a&&(a=T(a))&&(b=a.K(b,c,!!d,e))&&Sa(b)},Sa=function(a){if("number"!=typeof a&&a&&!a.o){var b=a.src;if(b&&b[L])P(b.l,a);else{var c=a.type,d=a.F;b.removeEventListener?b.removeEventListener(c,d,a.w):b.detachEvent&&b.detachEvent(Oa(c),d);La–;(c=T(b))?(P(c,a),0==c.G&&(c.src=null,b[Q]=null)):M(a)}}},Oa=function(a){return a in R?R[a]:R[a]="on"+a},Ua=function(a,b,c,d){var e=!0;if(a=T(a))if(b=a.g[b.toString()])for(b=b.concat(),a=0;ae.keyCode||void 0!=e.returnValue)){a:{var f=!1;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(g){f=!0}if(f||void 0==e.returnValue)e.returnValue=!0}e=[];for(f=c.currentTarget;f;f=f.parentNode)e.push(f);for(var f=a.type,h=e.length-1;!c.m&&0<=h;h–){c.currentTarget=e[h];var u=Ua(e[h],f,!0,c),d=d&&u}for(h=0;!c.m&&h>>0),Ma=function(a){if("function"==l(a))return a;a[U]||(a[U]=function(b){return a.handleEvent(b)});return a[U]};var V=function(){I.call(this);this.l=new N(this);this.Z=this;this.T=null};q(V,I);V.prototype[L]=!0;V.prototype.addEventListener=function(a,b,c,d){S(this,a,b,c,d)};V.prototype.removeEventListener=function(a,b,c,d){Ra(this,a,b,c,d)};V.prototype.dispatchEvent=function(a){var b,c=this.T;if(c)for(b=[];c;c=c.T)b.push(c);var c=this.Z,d=a.type||a;if(m(a))a=new J(a,c);else if(a instanceof J)a.target=a.target||c;else{var e=a;a=new J(d,c);ia(a,e)}var e=!0,f;if(b)for(var g=b.length-1;!a.m&&0<=g;g–)f=a.currentTarget=b[g],e=W(f,d,!0,a)&&e;a.m||(f=a.currentTarget=c,e=W(f,d,!0,a)&&e,a.m||(e=W(f,d,!1,a)&&e));if(b)for(g=0;!a.m&&g<b.length;g++)f=a.currentTarget=b[g],e=W(f,d,!1,a)&&e;return e};V.prototype.listen=function(a,b,c,d){return this.l.add(String(a),b,!1,c,d)};V.prototype.unlisten=function(a,b,c,d){return this.l.remove(String(a),b,c,d)};var W=function(a,b,c,d){b=a.l.g[String(b)];if(!b)return!0;b=b.concat();for(var e=!0,f=0;f<b.length;++f){var g=b[f];if(g&&!g.o&&g.w==c){var h=g.listener,u=g.A||g.src;g.v&&P(a.l,g);e=!1!==h.call(u,d)&&e}}return e&&0!=d.V};V.prototype.K=function(a,b,c,d){return this.l.K(String(a),b,c,d)};var X=function(a,b){V.call(this);this.B=a||1;this.s=b||k;this.I=n(this.la,this);this.L=p()};q(X,V);X.prototype.enabled=!1;X.prototype.h=null;X.prototype.la=function(){if(this.enabled){var a=p()-this.L;0<a&&a<.8*this.B?this.h=this.s.setTimeout(this.I,this.B-a):(this.h&&(this.s.clearTimeout(this.h),this.h=null),this.dispatchEvent("tick"),this.enabled&&(this.h=this.s.setTimeout(this.I,this.B),this.L=p()))}};X.prototype.start=function(){this.enabled=!0;this.h||(this.h=this.s.setTimeout(this.I,this.B),this.L=p())};X.prototype.stop=function(){this.enabled=!1;this.h&&(this.s.clearTimeout(this.h),this.h=null)};var Y=function(a,b,c,d){this.O=a;this.ca=b;this.da=c;this.D=0;this.u=document.getElementById("mtadmas");this.ma=document.getElementById("mtadmaundo");this.M=document.getElementById("mtadmac");this.$=document.getElementById("mtadmback");this.U=document.getElementById("mtadmpc");this.na=document.getElementById("mtadmpundo");this.j=this.Y=this.J=this.P=this.N=null;this.C=!1;this.H=null;this.ga=d?d.getAdsLength():1;(this.i=d)&&this.i.registerWidget(this,0)},Va=function(a){for(var b=document.getElementsByName("surveyOptions"),c=0;c<b.length;c++)w(b[c],a,n(a.ia,a,b[c].value));w(a.ma,a,n(a.X,a,"1"));w(a.na,a,n(a.X,a,"3"));w(a.$,a,a.back);a.i&&(a.i.listenOnObject("mute_option_selected",n(a.W,a)),a.i.forEachAd(n(function(a){a.listenOnObject("multislot_mute_collapse",n(this.fa,this));a.listenOnObject("multislot_mute_collapse_undo",n(this.ea,this))},a)))};Y.prototype.W=function(a){this.N=a.close_button_token;this.P=a.creative_conversion_url;this.J=a.ablation_config;this.Y=a.undo_callback;this.i&&(this.H=this.i.getAd(a.creative_index));if(1===a.type){a=document.getElementsByName("surveyOptions");for(var b=0;b<a.length;b++)a[b].checked=!1;this.u.style.display="block";Z(this);Wa(this)}else 0===a.type&&(this.U.style.display="block",this.u.style.display="none",Z(this),Xa(this,document.getElementById("pub-feedback-closing"),this.J))};var Ya=function(a){a.j&&(a.j.stop(),a.j=null,a.C=!1);za("pub-feedback-closing").style.display="none";za("ad-feedback-closing").style.display="none"};Y.prototype.X=function(a){this.C||(Ya(this),fa(Za(this,"user_feedback_undo",a)),this.Y())};Y.prototype.back=function(){this.C||(Ya(this),this.u.style.display="block",Z(this),Wa(this))};Y.prototype.ia=function(a){this.M.style.display="block";this.u.style.display="none";Wa(this);fa(Za(this,"mute_survey_option",a));a=document.getElementById("ad-feedback-closing");this.De||e>h||(a.j||(a.j=new X(1E3),S(a.j,"tick",n(function(){var a="";h<=d&&0=h&&Ya(this);h–},a))),a.j.dispatchEvent("tick"),0<=h&&a.j.start())},Xa=function(a,b,c){if(c&&window.top&&window.top.postMessage){var d=Ga(c),e=la(d),f="resize-me"==d.msg_type&&"animate"==e.r_str;("ablate-me"==d.msg_type&&e["collapse-after-close"]||f&&!Fa())&&ab(a,b,x(e["secs-to-countdown"],1),x(e.countdown,0),x(e["message-tick"],1),function(){window.top.postMessage(c,"*")})}},$a=function(a,b){ab(a,b,1,a.da,0,n(function(){var a={creative_index:this.H.getIndex(),undo_pingback_url:Za(this,"user_feedback_undo","1")};this.H.fireOnObject("multislot_mute_collapse",a)},a))};Y.prototype.fa=function(){this.D++;this.i.resetAll()};Y.prototype.ea=function(){0

drake2

by Paul Tassi

In 2013, Sony took to the E3 stage to announce that not only would the PS4 not rely on a constant internet connection, not be inextractible from a motion control peripheral, and actually play used games, it would also be priced $400, a hundred less than the Xbox One which had just debuted with all of the aforementioned baggage. But in 2015, it was Microsoft MSFT -1.28%’s turn to throw Sony for a loop by announcing that the Xbox One would be backwards compatible with the Xbox 360.

I wouldn’t say that the two are quite on the same level in regards to surprise hardware announcements, as Sony’s blow was so savage and deep the Xbox One is still trying to recover, but the One’s new backward compatibility was one of the only significant hardware stories of this year’s event, and clearly threw Sony for a loop, as evidenced by a Eurogamer interview with Shuhei Yoshida.

“I didn’t think it was possible,” Yoshida said. “There must be lots of engineering effort.”

He’s also a little skeptical about how it might work in practice.

“They talked about 100 games, but what kind of games will be included? Is it smaller games or big games? We don’t know.”

Right now, Microsoft is having fans vote on which games they want to see supported the most, as the system works on a case by case basis to ensure whatever architecture the old game was built on can now fit into the new system.

This week, I wrote that we would likely never see backwards compatibility for the PS4, with the main reason being that Sony has invested a ton into PlayStation Now, their game-streaming service which streams all manner of old Sony titles for a rental fee. Suddenly allowing the PS4 to play old games would negate a huge part of the reason anyone would bother to use the service, if they have a reasonably sized past-gen games library.

games

While Yoshida confirms that PS4 will likely not see backward compatibility any time soon, if ever, he instead cites technical reasons. “PS3 is such a unique architecture, and some games made use of SPUs very well,” he says. “It’s going to be super challenging to do so. I never say never, but we have no plans.”

I think this entire affair has been kind of a masterful move by Microsoft as a way to try and claw their way back to even ground with Sony after the PS4 took off like a rocket. I’m sure that while there are technical issues currently preventing the PS4 from playing older games, those issues were likely also in place for the Xbox One. Only Microsoft clearly deduced that it would be a worthwhile investment to try and crack that riddle, knowing that Sony would be thinking that the debate was over and done and both the PS4 and the Xbox One agreed that backwards compatibility was simply not happening this generation.

Now, Microsoft gets to spring this on them out of nowhere as a not-insignificant selling point for the Xbox One, which is increasingly valuable the more similar the consoles have become to one another since launch. Tell one prospective consumer that one system plays their entire existing library of games, while the other forces you to rent them from a streaming service can be a pretty compelling argument. Probably not enough to turn the entire tide of the console wars, but few can dispute it’s a solid benefit all the same.

This now puts Sony in an awkward position as they wonder how or if they should answer this. Do they spend Microsoft-level resources investigating how to make the PS4 backwards compatible? Do they do this knowing that it could potentially damage PlayStation Now, which has already been struggling to find its footing? I don’t think so.

As I said previously, Sony is still far enough in the lead where the Xbox One’s newfound backwards compatibility is probably not enough to pose a significant threat. As cool as the feature may be, it is a relatively small number of users who will actually use it when they get immersed in the next console generation. Having backwards compatibility at launch is a pretty significant bonus because it’s so new into the console’s lifecycle and there aren’t many games to play. But now? If someone gets a new system, they may play older games from time to time, but we’re now at a point two years into this new generation where there are plenty of PS4/Xbox One must-play titles to choose from.

So while Sony was as surprised as any of us about this development, it’s not something that necessarily has to send them reeling either.

Aiming_at_Thunderjaw_0

by Chris Plante

Today marks the end of the best E3 in recent memory, and the beginning of a new, healthier era for the big budget sector of the video game industry.

After years of misguided press events that ostracized women, fetishized realistic violence, and promoted video game consoles as practically everything but hardware that plays video games, the companies that dominate E3 have made strides to better respect the medium that pays their bills, along with the people who enjoy and work within it.

For the first time, women appeared on stage in the majority of major press events, and as playable characters in many games. A handful of trailers emphasized that players will have the option to play as women in games like Dishonored 2, FIFA 16, and Assassin’s Creed Syndicate. The latter franchise made the positive about-face following last E3, when members of the previous Assassin’s Creed development team cited a lack of time and resources as the reason a woman wouldn’t be a playable character in their game.

“Gamers engage most deeply with games when they can find something to identify with,” said Microsoft Game Studio head of publishing Shannon Loftis, during an interview with The Verge. “Including more diverse characters in the game, it just makes sense. It makes gaming sense. It makes business sense.” Loftis is right, and other publishers and developers are finally catching on.

Take for example Guerrilla Games, best known for a sci-fi military shooter so masculine that nothing more need be said than its title: Killzone. This year the developer announced a new franchise: a robot-dinosaur hunting game, in which a woman plays the lead. Titled Horizon: Zero Dawn, it’s proof women too can be the stars of beautiful, exciting games with utterly meaningless titles.

There’s plenty of room for improvement in inclusivity, from the scope to the breadth of representation — minorities still get little to no public recognition at the conference — but we witnessed progress in an industry that more often than not behaves like a petulant child, kicking and screaming and refusing to grow-up.

Without publishers kindling controversy dumpster fires, the games had an opportunity to speak for themselves, just as it should be. The event was by no means a celebration of risk and undiluted artistic integrity, but not everything was baked in a board room. Mirror’s Edge: Catalyst, For Honor, and even Mario Maker scan like ideas that exhausted developers fought a thousand little, corporate fights to get green-lit.

Last, and I struggle to describe this, is the new vibe VR and AR bring to games. Virtual and augmented reality projects, of which there were countless, released this mysterious energy into the Los Angeles Convention Center that made a walk through the halls feel like trip to Disneyland. In years past, virtual reality was a lark to many of the attendees, but this year you couldn’t walk down the hall without hearing about this opportunity for video games (and their publishers) to be at the forefront of something truly futuristic. I’ve never seen so many people in Los Angeles smiling.

E3 2015 played out like the industry’s cotillion. After much encouragement, publishers are coming together to take ginger steps into adulthood. There’s plenty of maturation left — hello worker rights! — but for the first time in a long time, the future of big budget video games looks like a place hospitable for players, raised on the medium, who have already grown-up.

drakes-fortune-e1434634387793

by Paul Tassi

One of the biggest stories to come out of E3 that doesn’t involve the announcement of an actual game is the news that Microsoft’s Xbox One will now be able to play Xbox 360 game discs, offering full backwards compatibility for the console, something long thought impossible for this new console generation.

Nearly everyone, outside of entrenched fanboy camps perhaps, sees this as a pretty huge deal for the Xbox One, as that now means reluctant 360 players are free to upgrade without the fear of losing their massively expensive game collections. Yes, an Xbox One is still $350, which isn’t cheap, but the fact that it’s backwards compatible now just made it feel a lot more valuable to those with big 360 library. And with 80 million Xbox 360s sold, that’s no small number.

It’s not going to win Microsoft the console war by itself, and certainly won’t be used by all (I traded in most of my 360 games for a Wii U a while back. I don’t regret it, though I did wince a little when this was announced), but undoubtedly Sony has to be sitting up and taking notice of this development. Out of the PS4, Xbox One and Wii U, the PlayStation 4 is now the only console that isn’t backwards compatible. Surely Sony now must be considering performing whatever voodoo Microsoft did to make the One play 360 games, so they can offer their PS3 library to fans, right?

Don’t count on it.

The real genius of this move here by Microsoft isn’t that they’re now offering something Sony doesn’t have. It’s that they’re offering something Sony almost can’t have, based on how they’ve structured the PS4.

I’m not talking about system architecture. Though it would likely be hard, there probably is some way that the PS4 could be altered to be able to play PS3 discs. Rather, I’m talking about what Sony essentially replaced backward compatibility with: PlayStation Now.

The real genius of this move here by Microsoft isn’t that they’re now offering something Sony doesn’t have. It’s that they’re offering something Sony almost can’t have, based on how they’ve structured the PS4.

I’m not talking about system architecture. Though it would likely be hard, there probably is some way that the PS4 could be altered to be able to play PS3 discs. Rather, I’m talking about what Sony essentially replaced backward compatibility with: PlayStation Now.

playstation-now

Sony has invested a lot of time, money and effort into PlayStation Now, the streaming service which allows for the digital rental of a huge host of old PS3 games from classics to the obscure. PS Now has struggled to find a proper pricing model, but from the beginning the intention was clear. Since backwards compatibility was too hard to implement, Sony thought they could offer select PS3 games that players might have a hankering to replay, while making themselves and the publishers a few bucks in the process.

In a vacuum, this isn’t a bad idea. PS Now does work pretty well, and even if prices have been wonky, chances are PS4 owners aren’t dying to play old PS3 games all the time. When the craving hits them, they can spend a few bucks a play Uncharted or God of War or what have you, or try something else they never got around to.

The problem, of course, is now when both of your rivals, Microsoft and Nintendo, suddenly are offering full backward compatibility for their consoles, your rental system doesn’t look quite as appealing. And the fact is that if Sony converted the PS4 into a backward compatible machine, much of the point of PlayStation Now, which they’ve invested so much into, would be rendered moot.

Past that logic, Sony is still in a position where they don’t need to view the Xbox One as nipping at their heels. Though Microsoft’s console has come a long way since its disastrous launch in 2013, the sales gap remains enormous between the PS4 and Xbox One. Backwards compatibility is a great function to have and certainly no one (no one sane, anyway), is saying that it’s a bad thing for a console to offer.

god-of-war4

But with that said, the longer time goes on, the less relevant backwards compatibility will be. Ideally, you want your console to offer the ability to play last-gen games right at launch, which makes the transition from one system to another much more painless. Rather than keeping two boxes around and trying to build a new library from scratch with the new-gen system, you can simply have one new box that plays everything you’ve bought over the last six years, and everything else yet to come.

Two years into the console’s lifecycle means that transition is a little rougher. The appeal is still there, but you have people like me that were resigned to the fact that this would never happen so they ditched their libraries. Or you have others who already switched to Sony at the start, and they’re not going to also buy an Xbox One just to unlock their 360 library.

This is probably what’s going through Sony’s head right now. This is a big story at E3 sure, but in practice, is it worth it for the PS4 to relentlessly pursue backwards compatibility to “catch up” with a system they’re already dramatically outselling? I’m not so sure. Add in PlayStation Now’s desire to act as a last-gen rental service that would be hugely undercut by PS3 discs, and it seems downright impossible.

If Sony could crack the code and figure out a way for existing PS3 game discs to unlock content on PlayStation Now for free, that would be kind of a genius compromise. Though the technical feasibility of that is unknown, and it would still fundamentally gut PS Now in a lot of ways. The more likely option is that Sony just keeps ignoring backwards compatibility and hopes that after E3 dies down, it won’t spark some Xbox One sales frenzy. They’re ahead, they had a plan, they’re probably going to stick to it.

 

Theres_an_ugly_truth_behind-41557447bda583cc1db1b6cc11692840

by Tim Stenovec

Sony wowed the audience at E3, the annual video game conference happening this week in LA, when the company announced that it would start to sell some of the TV channels on its new PlayStation Vue internet TV service individually.

That means that people who subscribe to PlayStation Vue, which is only available to those with PlayStation 3 and 4 game consoles — and who live in one of the five cities where it’s currently offered — will be able to buy some TV channels a la carte, instead of having to buy a huge bundle of channels that likely includes many they don’t watch.

This model of television — where consumers only pay for the channels they want — has been the dream of TV watchers for years. The average TV home in the US watches only 17 channels, but subscribes to nearly 200 of them, according to a report last year by the measurement company Nielsen.

But paying for TV a la carte, as observers have noted in the past, looks like it’s going to add up very quickly, at least when it comes to Sony’s service. Take the pricing for the three channels that Sony announced, for instance: Showtime, at $10.99 per month, Fox Soccer Plus, at $14.99 per month, and Machinima, a gaming-centric network, for $3.99 per month.

If you were only to subscribe to those three channels, you’d be paying $30 per month, just for those three. That’s unlikely, of course, but it’s certainly a lot to pay for three channels when you can get 50 from Sony for $49.99.

(People who subscribe to PlayStation Plus, the company’s premium network, will get discounts of $2 per channel when they buy a la carte.)

To be sure, the channels that Sony’s offering a la carte should be thought of as premium add-on channels, not core channels that would usually come as part of a basic bundle.

But Andrew House, PlayStation president and group CEO, still made a point of saying that it was “the first paid TV service to allow users to subscribe to individual channels without the purchase of a multi-channel bundle.”

Sony’s three bundles — which are priced at $49.99, $59.99, and $69.99 — don’t include any of the three channels the company is offering a la carte.

Theres_an_ugly_truth_behind-7763039b439763e530d9d2077a1d917e

Sony says that it will offer more a la carte channels in the future, but it remains to be seen whether the company will include any of the channels that are part of the company’s bundles now, thereby “unbundling” its own packages.

A Sony spokesperson declined to provide any detail as far as what those channels would be, how much they’d cost, and when they’d become available.

But as Phillip Swann, a TV industry consultant who runs the site TVPredictions.com, wrote Tuesday, the cost of paying by the channel has the potential to balloon quickly if Sony is charging $15 per month for a soccer channel: “For example, the local channels could go for $5 or $6 a month; CBS now charges $5.99 for a separate online edition. CNN? Maybe $4 a month? Basic cable channels such as TBS and TNT? Maybe $5 each?”

Swann goes on to write that once you start including local sports channels, you “could wind up paying nearly $100 a month, or more,” just for about 20 channels.

Sony’s announcement comes as the entertainment industry tries to grapple with the changing way that people watch TV. Americans are watching less traditional TV and ratings are down. Subscriptions to traditional pay TV operators are also down as people turn to standalone services like Netflix, Hulu, and HBO Now to get their video entertainment.

Sony’s announcement also comes as an increasing number of networks, like Showtime, Nickelodeon, and CBS, begin to offer standalone streaming services to reach people who subscribe to internet but don’t pay for TV.

So for most people, the dream of paying only for the channels you want to watch, for now, remains just a dream. Unless, of course, you have a PlayStation 3 or 4 and live in New York, Philadelphia, Chicago, Los Angeles, or San Francisco, and you only want to subscribe to Showtime, Fox Soccer Plus, or Machinima.

first-click-e3_0_0_0

by Rich McCormick

I remember the dark times of E3. I remember 2006, a year in which our wallets were raided by giant enemy crabs, flipped over and attacked for $599 and massive damage. I remember Ridge Racer. I remember Riiiidge Raaacer. I remember 2011, and Mr Caffeine, and a Ubisoft show so awkward I had to hover my finger over the mute button to slam down whenever someone started talking. I remember 2012, when Microsoft tried to convince us the most exciting thing about video games was TV. I remember every company talking about the past, about six-year-old consoles like they were the future. I remember feeling like there was no future in games.

But something strange has happened to 2015’s E3. It’s actually good. Bethesda’s show made good on the promise of post-apocalyptic RPG Fallout 4 with several minutes of game footage, while EA’s show introduced a new Mass Effect game and let us plan out our Star Wars fantasies with Battlefront multiplayer. Microsoft, still recovering from its disastrous 2013 show, packed its conference with new Dark Souls, Halo, and Gears of War games, before being outshone once again by Sony.

So far it’s the Japanese company that’s “won” E3, tossing out sequels to fan favorites previously thought dead forever like treats to a starved dog. Shenmue III is not only real, it’s looking likely to hit its $2 million Kickstarter target inside 24 hours, having knocked the crowdfunding site offline for a while at the time of its announcement. The surprise appearance of The Last Guardian, a game first announced in 2007, was a shock only equaled by the news of a legitimate Final Fantasy VII remake, something fans have been clamoring for over the past two decades.

In addition to a genuinely exciting slate of video games, this year’s E3 has also shown that publishers and developers are listening to feedback and focusing on representing their audiences. Women have starred in the shows, both as presenters and as playable characters, a move that feels like a conscious change after the developers of Assassin’s Creed and Battlefield: Bad Company 2 previously said female humans were too difficult to include in their games.

The result is the best E3 for years. While the opulent show still isn’t perfect, for anyone who can remember the bad times of E3s past, 2015’s event has made gaming feel more inclusive, more forward-thinking, and more exciting than it has for long time.