• +598 29008192
  • info@servinfo.com.uy

Archivo del Autor: Belen De Leon

You should change your Twitter password right now

Yes, it’s that time again — password changing time. On Thursday, Twitter revealed that a bug caused the platform to store user passwords in unmasked form. Normally, sensitive personal data like passwords would be stored in hashed form using a mix of letters and numbers to protect the content of the password itself. In this instance, it sounds like plain text passwords were stored openly without any hashing on Twitter’s internal logs.

Twitter notes that it currently has “no reason to believe password information ever left Twitter’s system” or that these unprotected passwords were accessed by hackers, but the risk of the unknown remains. The company has advised users to change their passwords as a precautionary measure.

Here’s what Twitter says happened:

“We mask passwords through a process called hashing using a function known as bcrypt, which replaces the actual password with a random set of numbers and letters that are stored in Twitter’s system. This allows our systems to validate your account credentials without revealing your password. This is an industry standard.

Due to a bug, passwords were written to an internal log before completing the hashing process. We found this error ourselves, removed the passwords, and are implementing plans to prevent this bug from happening again.”

We’ve reached out to Twitter for more details on the bug and additional information about how this could have happened.

It’s pretty unusual for a company of this size to make such a basic security mistake, but that’s just another reason for users to take password protection into their own hands on all services using protections like two-factor authentication and a password manager like LastPass or 1Password.


Source: TechCrunch

Wear OS gets more Google Assistant features ahead of I/O

I/O doesn’t actually kick off until next Tuesday, but Google’s been steadily trickling out news this week. Perhaps it’s priming the pump for next week’s big event, or maybe the company just had more news than it could cram into a couple of keynotes. Whatever the case, today brought some new additions to the wearable operating system formerly known as Android Wear.

It’s hard to say how much energy Google is going to put into Wear OS in the coming week, but in the meantime, it’s getting some solid Assistant updates. The pairing of the two offerings is a no brainer, of course. Siri’s proven an important driver for Apple Watch, and a workaround for the whole small screen issue.

Google added its own Assistant to Android Wear last year, and is continuing to refine the experience with some key updates. At the top of the list is smart suggestions, which offers followup questions based on context. Ask Google what the weather is, and it will offer up followups for additional days’ forecasts.

Assistant’s wrist worn counterpart can also offer up voice answers through a pair of connected headhones. The update, which is rolling out over the next week or so will also bring Actions to the wearable OS, meaning much more more third-party control. Now users can, say, preheat an LG smart oven from the comfort of their own wrist.

There’s nothing really earth shattering here, but it’s nice to see Google continuing to give Wear OS a little love ahead of I/O. The operating system has failed to make much headway as the wearable category has seemingly plateaued for everyone who isn’t Apple at this point. Hopefully the company will have even more to show off on that front next week.


Source: TechCrunch

New York City report pins millions in rent hikes on Airbnb

A report from the New York City Comptroller’s office asserts that New York residents are paying hundreds of millions in extra rent linked to the effects of Airbnb . Naturally, the company bitterly rejects these findings.

The report, which you can read here, is fairly straightforward. It looks at hundreds of neighborhoods and their various demographics and characteristics, along with how much their rents rose over the last ten years or so. It finds that when controlling for other variables, Airbnb contributes to a part of the rise on its own:

We find that as the share of units listed on Airbnb goes up by one percentage point, rental rates in the neighborhood go up by 1.58 percent, after controlling for neighborhood level demographic and economic changes. The result is statistically significant at the 1-percent level.

By the researchers’ calculations, the total cost of these increases across the city amounted to about $616 million. That came from running their numbers with Airbnb rentals set to zero instead of the actual tens of thousands of listings and seeing what rents would be in that alternative universe.

The amounts of rent increases and the number of Airbnb listings are tightly and reliably correlated, the Comptroller’s office explained. They were careful to control for other factors, for instance a neighborhood becoming trendy or new housing changing the supply. The hypothesis is that Airbnb listings, contrary to the company’s assertions, do in face reduce housing supply, which has a knock-on effect on rent in remaining rentals.

The increases, the report and its accompanying press release say, are concentrated in midtown and lower Manhattan, where 20 percent of the rent increases were attributed to Airbnb effects. The effect was much weaker in the outer boroughs, as you might expect, where density is lower and fewer listings are available.

Airbnb, of course, calls it a pack of lies and takes the opportunity to pontificate a bit (which, to be fair,  Comptroller Stringer did too):

Unfortunately, this report is wrong on the facts, falsely asserting that middle class New Yorkers who share their space are responsible for the rising cost of housing in New York… Pandering to the powerful by attacking middle class families won’t do a thing to make New York more affordable. It’s time to stop the scapegoating and work with us on a solution.

Its criticisms are a mix of reasonable objections and straw men. It rightly points out, for instance, that Airbnb hosts are most frequently just renting out a room a few nights a month for some extra income, which logically should improve affordability, not harm it. Then there’s the idea that Airbnb units tend to pop up in fashionable areas, which are inherently more likely to see rents increase.

Some of Airbnb’s gripes are less reasonable, however.

“The notion that less than 1 percent of housing stock — much of which is only occasionally shared with short-term renters — is the sole source of New York’s housing affordability challenge is simply not credible,” the company writes. That’s true — which is probably why the report say anything like that.

“We never blamed the whole increase in housing costs on one factor – we quite clearly said that Airbnb was just one factor and explained that it’s 9.2% of the increase,” wrote Tyrone Stevens, the Comptroller’s press secretary, in an email to TechCrunch.

Airbnb also criticizes using 2009 as the starting year for its data, saying the financial crisis changed the whole housing market. Then it cites a report showing that a one bedroom in Williamsburg cost the same in 2018 as it did in 2011.

“We picked 2009 as our base year because that was the year prior to Airbnb’s presence in NYC, and it made sense to measure the full impact of the rise of Airbnb. But the choice of base year is utterly irrelevant to measuring the contribution of Airbnb to rent increases,” Stevens wrote. “And randomly picking an industry report on 1-bedroom apartments in one neighborhood over a different time period doesn’t refute a citywide analysis.”

The fact that rents are leveling out lately doesn’t hold much water, either — arguably that might have occurred sooner but for Airbnb’s alleged contribution to their increases in the first place.

Ultimately the difference comes down to whether or not Airbnb effectively removes housing from the market. The company swears up and down that isn’t the case, and cites user numbers to support that position. The city says there’s little other possible explanation for the close correlation between listings in certain neighborhoods and the specific rent increases it sees in them.

Both, however, seem to agree that the lack of regulation puts everyone at risk. Hopefully that common ground will lead to a fruitful collaboration on new rules in the future.


Source: TechCrunch

AT&T will skip the LG G7 ThinQ – CNET

Instead, AT&T will have its own exclusive LG phone.
Source: CNET

AutoComplete: Tesla does better than expected in Q1 2018 video – Roadshow

Plus: VW recalls 71,000 Passats for airbags, and Nikola secures a big order for its hydrogen truck.
Source: CNET

5 tips and tricks for Apple's newest iPad – CNET

Apple’s $329 iPad has a few tricks of its own — let’s take a look!
Source: CNET

Al Franken lashes out at Facebook over Cambridge Analytica scandal – CNET

The former senator says the social network has no incentive to act in users’ best interests, because it has no rivals and those users have nowhere else to go.
Source: CNET

Windows 10 freezing your Chrome browser? Microsoft's working on it – CNET

Some devices are reportedly freezing after the new Windows 10 April 2018 Update.
Source: CNET

Instagram quietly launches payments for commerce

Get ready to shop the ‘Gram. Instagram just stealthily added a native payments feature to its app for some users. It lets you register a debit or credit card as part of a profile, set up a security pin, then start buying things without ever leaving Instagram. Not having to leave for a separate website and enter payment information any time you want to purchase something could make Instagram a much bigger player in commerce.

TechCrunch reader Genady Okrain first tipped us off to the payment feature. When we asked Instagram, a spokesperson confirmed that native payments for booking appointments like at restaurants or salons is now live for a limited set of partners.

One of the first equipped is dinner reservation app Resy. Some of its clients’ Instagram Pages now offer this native payment for booking. And in the future, Instagram says you can expect direct payments for things like movie tickets through the app. Instagram initially announced in March 2017 that “we’ll roll out the ability to book a service with a business directly from their profile later this year,” but never mentioned native payments.

Instagram’s native appointment booking

We’ve confirmed that the payment settings are now visible; some, but not all, users in the U.S. have it while at least some in the U.K. don’t. A tap through to the terms of service reveals that Instagram Payments are backed by Facebook’s Payments rules.

With its polished pictures and plethora of brands, shopping through Instagram could prove popular and give businesses a big new reason to advertise on the app. If they can get higher conversion rates because people don’t quit in the middle of checkout as the fill in their payment info, brands might prefer to push people to buy via Instagram.

Instagram’s existing Shoppable Tags feature forces you out to a business’ website to make a purchase, unlike the new payments feature

Facebook started dabbling in native commerce around 2013, and eventually started rolling out peer-to-peer payments through Messenger. But native payment for shopping is still in closed beta in the chat app. It’s unclear if peer-to-peer payments might come to Instagram, but having a way to add a credit or debit card on file is a critical building block to that feature.

It’s possible that the payments option will work with Instagram’s “Shoppable Tags,” which first started testing in 2016 to let you see which products were in a post and tap through to buy them on the brand’s site. Since then, Instagram has partnered with storefront platforms BigCommerce and Shopify to get their clients hooked up, and expanded the feature to more countries in March. For now, though, none of Instagram’s previous shopping feature partners like Warby Parker or Kate Spade let you checkout within Instagram, and still send you to their site.

But the whole point of Instagram not allowing links in captions is to keep you in a smooth, uninterrupted browsing flow. Getting booted out to the web to buy something broke that. Instagram Payments could make impulse buys much quicker, enticing more businesses to get on board. Even if Instagram takes no cut of the revenue, brands are likely to boost ad spend to get their shoppable posts seen by more people if the native payments mean more of them actually complete a purchase.

Instagram isn’t the only one who sees this potential. Snapchat started testing its own native payments and checkout feature in February.


Source: TechCrunch

Scaleway launches updated cloud servers for $2.40 per month

French cloud hosting company Scaleway announced new servers for its cloud offering. While the company’s offering was already quite cheap, Scaleway is going one step further with prices starting at €1.99 per month (around $2.40 per month).

For this price, you get an x86 server with 1 core, 1GB of RAM, 25GB of SSD, 100Mbit/s of bandwidth with unlimited transfer. For twice that price, you get twice the specs, etc. There are four tiers for this new Start1 cloud server lineup.

And for the first time, Scaleway is using NVMe for its SSD storage. NVMe is a storage protocol that is supposed to be much faster than SATA when it comes to handling read and write instructions on your storage drive. It was designed for SSDs, and that’s what the iMac Pro is using now. Scaleway is also using DDR4 to improve RAM performance.

Overall, Scaleway says that you should see a 50 percent performance increase per core. These new servers are available in the data center in Paris and soon in Amsterdam.

In addition to those new servers, Scaleway is launching hot snapshots in beta. With that feature, you can take a snapshot of your virtual machine while it’s running. You can then boot up another server with the exact same snapshot for instance. It opens up a lot of possibilities for automation and backup.

The company also recently promised a better ImageHub with more updates. For instance, the new Long Term Support version of Ubuntu that was released a few weeks ago is now available for most servers. Scaleway also supports Terraform to orchestrate your cloud infrastructure.

Existing x86 cloud servers are getting phased out. High-end x86 cloud servers and ARMv8 cloud servers are sticking around. Bare-metal ARMv7 and x86 servers are also still available.

Scaleway is the cloud hosting division of Iliad, one of the main internet service providers in France. The division recently got a new influx of cash to go to the next level. After those product updates, you can expect internationalization moves in the coming months.


Source: TechCrunch

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562