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

Archivo del Autor: Belen De Leon

Microsoft aims to modernize and secure voting with ElectionGuard

When it comes to voting, we’ve come a long way from dropping pebbles into an amphora, but still not nearly far enough, if the lack of confidence in our election systems is any indication. Microsoft is the first major tech company to take on this problem with a new platform it calls ElectionGuard that promises to make elections more secure and transparent — and yes, it’s free and open source.

Set to be made available this summer and piloted during the 2020 elections, ElectionGuard is not a complete voting machine, but rather a platform for handling voting data that can either empower existing systems or have new ones built on top of it. It’s part of the Defending Democracy Program and sister product to the similarly-named NewsGuard and AccountGuard, which appeared last year.

The basic idea is to let voters track their votes securely and privately, while also allowing authorities to tabulate, store, and if necessary audit them. As Microsoft puts it:

ElectionGuard provides a complete implementation of end-to-end verifiable elections. It is designed to
work with systems that use paper ballots, supplementing today’s tabulation process by providing a
means of public verification of the accuracy of reported results.

The platform would sit underneath existing voting systems, and when a voter casts their ballot, the data would be entered in the ordinary fashion in a state’s election systems but also in ElectionGuard. The voter would then be given a tracking code that lets them see that their vote has been, say, recorded locally at the correct polling place, or perhaps that it has been sent on to state authorities for auditing.

Meanwhile the ElectionGuard databases are securely recording all votes and tabulating them, a process that would happen in parallel with existing tabulation processes. In the case of an audit, random ballots could be selected from the database and compared with paper ballots, providing a quick way to see if, for example, a machine error in one district was throwing off results.

Importantly, this is all accomplished without Microsoft, or whoever is actually administrating the ElectionGuard system, knowing how any individual voted. This is done, the company explained, via a cryptographic technique known as homomorphic encryption. Basically it allows a system to perform mathematical operations on encrypted data without decrypting it, making interference or exfiltration of that sensitive data next to impossible.

In this case every vote is trackable only by the individual who made it, but the system is limited to adding up encrypted votes and reporting those sums.

Ultimately ElectionGuard aims to be a full voting solution, but one that can be customized and run on any number of actual devices — just like the rest of Microsoft’s software.

When it’s time to vote, ElectionGuard supports the use of standard tablets and PCs running a variety of operating systems as a ballot marking device, which can be used to create an interface that looks and feels like modern applications people interact with every day on their phones and tablets.

Here’s hoping ease of deployment and a modern code base will end for good the reign of aged and insecure voting machines that can be hacked with a USB key. Microsoft is also working with election tech suppliers to bring ElectionGuard into existing product lines or build new ones.

The company worked together with Galois to develop ElectionGuard, a company that has been working on election security for years and recently received a $10 million grant from DARPA to pursue secure voting hardware.

It will no doubt take some tinkering, but it’s good to see a major tech company making a credible and comprehensive bid to fix an elections process that is technologically compromised on multiple fronts. Tech can’t fix politics, but it can sure build a better way to vote.


Source: TechCrunch

Detective Pikachu event coming to Pokemon Go – CNET

Be on the lookout for the Pikachu with the Sherlock Holmes hat.
Source: CNET

Microsoft, at its Build 2019 conference, wants us to have conversations with our computers – CNET

The software discusses what it believes artificial intelligence programs will be like to work with in the future.
Source: CNET

Microsoft launches a new platform for building autonomous robots

One major — and somewhat unexpected — theme at Microsoft’s Build developer conference this week is autonomous robots. After acquiring AI startup Bonsai, which specialized in reinforcement learning for autonomous systems, the company today announced the limited preview of a new Azure-based platform that is partially built on this acquisition and that will help developers train the models necessary to power these autonomous physical systems.

“Machines have been progressing on a path from being completely manual to having a fixed automated function to becoming intelligent where they can actually deal with real-world situations themselves,” said Gurdeep Pall, Microsoft vice president for Business AI. “We want to help accelerate that journey, without requiring our customers to have an army of AI experts.”

This new platform combines Microsoft’s tools for machine teaching and machine learning with simulation tools like Microsoft’s own AirSim or third-party simulators for training the models in a realistic but safe environment, and a number of the company’s IoT services and its open-source Robot Operating System.

In preparing for today’s launch, Microsoft worked with customers like Toyota Material Handling to develop an intelligent and autonomous forklift, for example, as well as Sarcos, which builds a robot for remote visual inspections that are either unreachable or too dangerous for humans. Typically, Sarcos’ robot is remotely controlled by an operator. After working with Microsoft, the company built a system that allows the robot to autonomous traverse obstacles, climb stairs and climb up metallic walls. What’s important here, though, is that there is still a human operator in the loop, but since the robot can sense its surroundings and move autonomous, operators can focus on what they are seeing instead of having to deal with the mechanics of steering the robot.

“We are looking to offload the tasks that can be automated — how does the robot climb a stair? How does it move around obstacle? — so the operator can focus on the more important parts of the job,” Kristi Martindale, the executive vice president and chief marketing officer for Sarcos. “The human is still there to say, ‘No you actually want to go to that obstacle over there because maybe that obstacle is a person who is hurt.’”

Bonsai CEO Mark Hammond echoed this: “In any sort of operation where you have a mechanical system that interacts with the physical world, you can probably make it smarter and more autonomous. But keeping people in the loop is still very desirable, and the goal is really to increase the capabilities of what those humans can do.”

While robots are a flashy use case, though, Microsoft is also looking at more pedestrian use cases like cooling and heating systems that autonomously react to temperature changes.


Source: TechCrunch

Word’s new AI editor will improve your writing

If you write in Microsoft Word Online, you’ll soon have an AI-powered editor at your side. As the company announced today, Word will soon get a new feature called “Ideas” that will offer writers all kinds of help with their documents.

If writing is a struggle for you, the most important feature of Ideas is surely its ability to help you write more concise and readable text. You can think of this as a grammar checker on steroids, as it goes beyond fixing obvious mistakes and focuses on making your writing better. It uses machine learning, for example, to suggest a rewrite when you mangled a complex phrase. Ideas will also help you write more inclusive texts.

The cloud-based tool will also give you information about the estimated reading times and decode acronyms for you, based on data it has about your company in the Microsoft Graph.

Ideas can also automatically extract key points from a document. That’s probably more interesting to a reader than a writer, though, so I expect that’s something users will use when somebody sends them a 67-page news summary.

Microsoft also notes that Ideas will bring something called the “Word Designer” to the word processor, which will help you style different parts of a document, including tables.

These new features will come to Office Insiders in June and will become generally available to all users in the fall.


Source: TechCrunch

Microsoft launches Visual Studio Online, an online code editor

Microsoft today announced the private preview launch of Visual Studio Online, an online code editor the company is positioning as a companion to Visual Studio and Visual Studio Code.

The service is based on the Visual Studio Code, Microsoft’s popular free and open-source desktop code editor. This means Visual Studio Online will also support all the extensions that are currently available for Visual Studio Code, as well as popular features like Visual Studio Code workspaces. Support for IntelliCode, Microsoft’s tool for AI-assisted development that became generally available today, is also built-in.

The emphasis here is on Visual Studio Online being a ‘companion.’ It’s not meant to become a developer’s default environment but instead as a way to make a quick edit, review a pull request or join a Live Share session.

And if you think the name Visual Studio Online sounds familiar, that’s because Microsoft is actually recycling this name. Not that long ago, Visual Studio Code was Microsoft’s hub for all things DevOps, before DevOps was a buzzword. Last year, the company renamed it to Azure DevOps, leaving the name open for other uses. Frankly, given the name, a lot of people probably always assumed that Visual Studio Online was a web-based version of the integrated development environment, only to be then disappointed that it wasn’t.

It’s worth noting that if you don’t want to wait for Microsoft to open the private preview to more users, there are also startups like Coder, which can provide you with a remote Visual Studio Code environment.


Source: TechCrunch

Microsoft open-sources its quantum computing development tools

Microsoft’s quantum computer may not have a working qubit yet, but the company has been hard at work on building the tools to program future quantum computers. Over the course of the last few years, the company announced both Q#, a programming language for writing quantum code and a compiler for this language, as well as a quantum simulator. Today, Microsoft announced that it will open source these efforts in the coming months.

This move, the company says, is meant to make “quantum computing and algorithm development easier and more transparent for developers.” In addition, it will also make it easier for academic institutions to use these tools and developers, of course, will be able to contribute their own code and ideas.

Unsurprisingly, the code will live on Microsoft’s GitHub page. Previously, the team had already open-sourced a number of tools and examples, as well as a library of quantum chemistry samples, but this is the first time the team is open-sourcing core parts of the platform.

“Our approach to solving intractable industry problems requires new types of scalable software tools, and the Quantum Development Kit offers that and supports us in every step our development process,” said Andrew Fursman, co-founder and CEO of 1QBit, in today’s announcement. “We’re excited to contribute two important code samples to accelerate advanced materials and quantum chemistry research, including one focusing on Variational-Quantum-Eigensolver (VQE) and another which demonstrates density matrix embedding theory (DMET) running on our platform, QEMIST.”

It’s not the first company to do so, though. IBM, for example, offers Qiskit, an open-source framework for building quantum computing programs, including the Aer simulator.  Rigetti Computing, too, has open sourced many of its tool.

Only about a month ago, Microsoft also announced that the Development Kit has been downloaded over 100,000 times. At the time, it also brought support for Q# programming to Jupyter notebooks.

While all these software efforts are laudable, though, Microsoft’s quantum hardware efforts have yet to pay off. The company is taking a novel approach to quantum computing, which may yet give it a lead over its competitors in the long run. In the short term, though, some of its competitors are already making real, physical — but limited — quantum computers available to developers.


Source: TechCrunch

Quantum goes open-source as Microsoft expands Q# programming language

Microsoft announced its Q# quantum computing language is going open source. In the next few months, Microsoft will release its Q# compiler and quantum simulators into the open source community to help spur development.

The post Quantum goes open-source as Microsoft expands Q# programming language appeared first on Digital Trends.


Source: Digital trends

Microsoft’s ElectionGuard SDK is open-source election security

Microsoft’s latest endeavor could make future elections much more fair, with a push to help secure campaign data from outside oversight and to make sure that voting systems themselves are safe and secure.

The post Microsoft’s ElectionGuard SDK is open-source election security appeared first on Digital Trends.


Source: Digital trends

Internet Explorer will find a new home in Microsoft’s Edge browser

Microsoft’s legacy Internet Explorer is coming to the new Edge browser based on Chromium, a feature that will likely please business users. If you want to launch IE, all you’ll need to do is open a new Edge tab in the future.

The post Internet Explorer will find a new home in Microsoft’s Edge browser appeared first on Digital Trends.


Source: Digital trends

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427