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

Archivo del Autor: Belen De Leon

Element wants to give identity to the whole world, raising $12m series A

Who are you? That’s both an existential question, and also a very practical administrative concern. Today, identity is often exchanged through the use of government ID cards and official paperwork, but what happens when someone loses that paperwork or it is destroyed? Or, as is often the case in many countries around the world, a citizen never received the paperwork to begin with?

Element wants to completely change the way banks, hospitals, and other service providers work with their customers by providing a platform for decentralized biometric identity. The company’s software runs on any mobile device, and using the device’s camera, it can identify a user’s face, palm, and fingerprints to create a verified match. Users have options on which modality they want to use.

Biometric identification is a tough machine learning application, so it shouldn’t be surprising that Element, which was formed in 2012, was co-founded by Adam Perold, a Stanford-educated product designer, and Yann LeCun, a famed machine learning researcher. LeCun was the progenitor of convolution neural nets, which today form one of the foundational theories for deep learning AI. He is now chief science advisor for the company, having taken a role as Director of AI Research at Facebook in New York while continuing his professorship at NYU.

Element is announcing a $12 million Series A round, led by PTB Ventures and GDP Ventures, with David Fields of PTB and On Lee of GDP joining the company’s board of directors. Earlier investors of the company included Pandu Sjahrir, Scott Belsky, Box Group, and Recruit Strategic Partners.

While technologies like Apple’s Touch ID and Face ID systems have popularized biometric identity, neither of these were around when Element got started. The early years of the company were devoted to solving critical technical challenges. Wireless connectivity can be limited in many developing countries, which meant that identities had to be local to the device in order to be useful. That also meant that the platform couldn’t be a cloud infrastructure solution, since identity information had to be processed on the device.

Furthermore, given the quality of hardware available, data had to be extremely compressed to be useful, and the machine learning algorithms couldn’t use too much compute power since a low-powered Android device wouldn’t be able to execute an identity match quickly enough to provide a good user experience.

That’s where LeCun’s deep expertise in neural nets, and particularly in areas like optical character recognition, came in handy. The Element team managed to reduce the amount of data required to store the identity of a single person down to about two kilobytes, according to the company.

The next challenge the company faced in building out its platform was security. Identity data, particularly biometrics, is a major security challenge, but it was exacerbated by the fact that devices would often be shared between users. A single device at a bank, for instance, might service thousands of users, all of which need independent, secured data. The company said that these security challenges have been designed into the core of the system.

Ultimately, the company’s platform lives as an SDK behind the mobile apps of its partners. It provides not only the identity layer itself, but also a secure data infrastructure that allows records such as bank accounts and medical files to be connected to the underlying identity.

Element is targeting the developing world, and Perold tole me he spends more than half of his time traveling to Southeast Asia and Africa building partnerships and doing research on how the company’s technology can improve critical social services. Among the company’s signed partnerships is Telekom Indonesia, which as the service provider for 180 million subscribers, is one of the key connections between people and their identity in that fast-growing economy.

Another partnership formed by the company is with the Global Good Fund, a joint venture of the Gates Foundation and Intellectual Ventures. That project works to create better biometric identities for newborns and infants, which is critical for health outcomes. The company is working with icddr,b and the Angkor Hospital for Children in Cambodia to build out the program.

In addition to the lead investors, the company received strategic venture capital investments from Bank BCA (via Central Capital Ventura), Bank BRI, Telkom Indonesia (via MDI Ventures), and Maloekoe Ventures.


Source: TechCrunch

The Amazon Echo Spot is now available in Canada – CNET

Alexa’s tiny touchscreen smart speaker is now available for preorder across Canada, and expected to ship out by the end of the month.
Source: CNET

NASA 3D flyover video makes Jupiter cyclones look like lava – CNET

NASA’s Juno mission team has gifted us with an eye-popping infrared look at Jupiter’s nutty north pole cyclones.
Source: CNET

GIF search is coming to LinkedIn messaging through Google’s GIF engine Tenor

Tenor is now going to exclusively power GIF searches in LinkedIn messaging after Google a few weeks ago, adding yet another service to its already pretty large portfolio of messaging platforms.

Tenor has long positioned itself as a GIF search tool working across a number of different platforms, ranging from its own keyboard to Facebook Messenger. As such, it wasn’t a huge surprise that Google — a search platform — decided to acquire the company toward the end of march. Tenor at the time said it powered more than 12 billion GIF searches every month, and that kind of search volume fits pretty neatly with Google’s quest to index the world’s information in a way that’s easily searchable. LinkedIn adds another component to that Swiss army knife, and it also gives Google another entry point to a different platform when it comes to some variation of GIF search.

The new engine is available for 50% of users today, and will be rolling out to more users over time. This gives LinkedIn messenger a robust GIF search platform, as well as ways to find trending GIFs, as well as a custom trending stream based on GIFs most often found in their network.

GIFs are increasingly popular in messaging apps, and Tenor is one example of how it’s become almost table stakes for any messenger platform. While LinkedIn is mostly a place where you’d expect to be closing deals and acquiring customers — or searching for a job — it doesn’t really change the core value proposition of what a GIF provides. Companies like Tenor seek to position GIFs as a way to compress more information (or some kind of emotion) into a compact form factor that has very little friction inside a messenger platform.

Tenor is going to exclusively power the GIF search engine, which is going to be another pretty substantial win for Google as it looks to expand its search capabilities into other areas of the Internet — even if it’s just a consumer-oriented GIF format. Tenor can places sponsored GIFs inside its quick search interface, offering brands a unique opportunity to capture the attention of users as well as creating a new advertising category that could be very appealing for larger marketers. Google, at its heart, is an advertising business and finding these new use cases (even if it doesn’t plan to get started on them right away) is something that would fit neatly inside its model.

This also gives Google a unique entry point into different platforms, including even Facebook Messenger, which may seek to find GIF search platforms and use them indiscriminately. Google already has its own keyboard with GBoard. As Google looks to further integrate with a typical user’s lifestyle, tapping the popularity (and potential) of GIFs is something that will be important down the line.

Messages on LinkedIn have grown 60% year-over-year, the company said as part of the announcement, as messaging increasingly becomes a core component of any platform that has any kind of sticky human communication component. That’s especially important for trying to explain the nuance behind a connection while building that relationship through a faux-warm intro as well as finding ways to appeal to customer acquisition. Microsoft acquired LinkedIn in mid 2016 for $26.2 billion, essentially picking up one of the largest customer acquisition channels in the world.


Source: TechCrunch

Zuckerberg makes case for privacy regs with teeth — by failing to remember non-existent FTC fine

Chalk up a sharp political point in support for privacy legislation with actual teeth: In today’s testimony in front of the House Energy & Commerce committee, Facebook CEO Mark Zuckerberg was asked about the outcomes of a string of legal actions against the company — most of which he claimed not be aware of.

One which he at last said he could remember was Facebook’s 2011 FTC consent decree — when the company settled over deceptive privacy practices by agreeing to make product changes opt-in and pledging to gain express consent from users to any changes going forward.

As part of that decree it also agreed to submit to privacy audits every two years for the next 20 years; bar access to content on deactivated accounts; and avoid misrepresenting the privacy or security of user data.

But congresswoman Diana DeGette pressed the Facebook CEO on whether the company paid a financial penalty as a result of the FTC action. A confused looking Zuckerberg finally replied: “I don’t remember if we had a financial penalty.”

“You’re the CEO of the company, you entered into a consent decree and you don’t remember if you had a financial penalty,” she responded, tone set to sarcastic incredulity.

“I remember the consent decree,” said Zuckerberg hastily. “The consent decree is extremely important to how we operate the company.”

“Yes I would think a financial penalty would be too,” interjected DeGette, leaving her point hanging in Zuckerberg’s silence.

“The reason you probably don’t remember it is because the FTC doesn’t have the authority to issue financial penalties for first time violations,” she picked up. “The reason I’m asking these questions, sir, is because we continue to have these abuses and these data breaches but at the same time it doesn’t seem like future activities are prevented. So I think one of the things that we need to look at in the future… is putting really robust penalties in place — in case of improper actions.”

A little later in the session, congressman Mike Doyle also raised the 20-year FTC consent decree, listing several of the practices it had deemed “unfair and deceptive” — namely: Facebook making users private information public “without sufficient notice or consent”; claiming to certify the security and integrity of certain apps “when in fact it did not”; and enabling developers to access “excessive information about a user and their friends”.

When he asked Zuckerberg whether the list was correct, the Facebook CEO again claimed not to know — saying: “I’m not familiar with all of the things that the FTC said,” before adding hastily: “Although I am very familiar with the FTC consent order itself.”

“But these were part of the consent decree,” interjected Doyle, adding: “I’m just concerned that despite this consent decree Facebook allowed developers access to an unknown number of user profiles on Facebook for years — potentially hundreds of millions, potentially more! And not only allowed but partnered with individuals and app developers such as Aleksandr Kogan who turned around and sold that data on the open market into companies like Cambridge Analytica.”

The congressman went on to ask Zuckerberg why Facebook users should trust the company to follow through on its “promises” to safeguard their information when — as he put it — “you have demonstrated repeatedly that you’re willing to flout both your own internal policies and government oversight when the need suits you”.

Zuckerberg said he “respectfully disagreed” with Doyle’s characterization, saying Facebook has had an app review process for “a number of years”, reviewing “tens of thousands” of apps per year and taking action “against a number of them”.

“Our process was not enough to catch a developer who sold data and had the data on their systems outside our systems,” he finished.

“To my mind the only way we’re going to close this trust gap is through legislation that creates and empowers a sufficiently resourced expert oversight agency with rule-making authority to protect the digital privacy and ensure that companies protect their users’ data,” replied Doyle, capping out his four minutes.

Since fresh revelations about the Cambridge Analytica scandal broke last month the FTC has opened a new investigation into Facebook’s practices.  And now at least the company could face a financial penalty if it’s deemed to have violated the earlier consent decree.

The FTC can apply a fine of $40,000 per privacy violation — so with up to 87 million Facebook users’ data leaked to Cambridge Analytica there is at least a chance Facebook will end up with a sanction that Zuckerberg is able to remember in future.


Source: TechCrunch

Google Sheets gets macros

Google is launching a major update to Google Sheets today that’ll make the life of spreadsheet jockeys just a little bit easier — and may just make the switch from Microsoft Excel a bit more tempting for some. That’s because with this update, Sheets users can now finally record macros. That’s a feature that has long been part of virtually every other productivity suite but that was sorely missing in Google’s G Suite.

The new “record macros” feature, which sits in the Tools menu, does exactly what you think it should do. You simply start your recording, go through your usual steps and when you’re done, all it takes to repeat all those steps is to run the macro again. Never again will you have to spend minutes on reformatting that same spreadsheet over and over again. Instead, you’ll have more time to play with your puppy (or get more work done, if you’re so inclined).

In the backend, Sheets actually converts your macro into Apps Script code, which also means that if you want to dive a bit deeper or make a small change, you can edit that script.

In addition to macro support, this Sheets update also brings a couple of other features, including the ability to add page breaks (for when you print a spreadsheet), custom paper sizes, new options for row and column grouping and the option to turn a cell into a checkbox. You can now also group data in pivot tables by time frame (think week, month, year).


Source: TechCrunch

The Web’s Recommendation Engines Are Broken. Can We Fix Them?

Algorithms used by Facebook, YouTube, and other platforms keep us clicking. But those systems often promote misinformation, abuse, and polarization. Is it possible to temper them with a sense of decency?
Source: Wired

Uber's New Game Plan: Rental Cars, Transit, and Jump Bikes

The company’s bid for dominance now hinges on controlling every way you move.
Source: Wired

AMD has a fix for Spectre variant II, but will motherboard makers support it?

AMD’s latest microcode fix for the Spectre exploit (Variant 2) has been released, though it will rely on motherboard manufacturers picking it up to see widespread adoption among affected users.

The post AMD has a fix for Spectre variant II, but will motherboard makers support it? appeared first on Digital Trends.


Source: Digital trends

Felix Gray adds prescription lens option to its stylish computer glasses

Ever notice eye issues or headaches after staring at a screen for too long? The culprit is likely the blue light. Computer glasses can help, and Felix Gray wants to make them stylish to wear, even with a prescription.

The post Felix Gray adds prescription lens option to its stylish computer glasses appeared first on Digital Trends.


Source: Digital trends

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637