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

Archivo del Autor: Belen De Leon

Snyk raises $22M on a $100M valuation to detect security vulnerabilities in open source code

Open source software is now a $14 billion+ market and growing fast, in use in one way or another in 95 percent of all enterprises. But that expansion comes with a shadow: open source components can come with vulnerabilities, and so their widespread use in apps become a liability to a company’s cybersecurity.

Now, a startup out of the UK called Snyk, which has built a way to detect when those apps or components are compromised, is announcing a $22 million round of funding to meet the demand from enterprises wanting to tackle the issue head on.

Led by Accel, with participation from GV plus previous investors Boldstart Ventures and Heavybit, this Series B notably is the second round raised by Snyk within seven months — it raised a $7 million Series A in March. That’s a measure of how the company is growing (and how enthusiastic investors are about what it has built so far). The startup is not disclosing its valuation but a source close to the deal says it is around $100 million now (it’s raised about $33 million to date).

As a measure of Snyk’s growth, the company says it now has over 200 paying customers and 150,000 users, with revenues growing five-fold in the last nine months. In March, it had 130 paying customers.

(Current clients include ASOS, Digital Ocean, New Relic and Skyscanner, the company said.)

Snyk plays squarely in the middle of how the landscape for enterprise services exists today. It provides options for organisations to use it on-premises, via the cloud, or in a hybrid version of the two, with a range of paid and free tiers to get users acquainted with the service.

Guy Podjarny, the company’s CEO who co-founded Snyk with Assaf Hefetz and Danny Grander, explained that Snyk works in two parts. First, the startup has built a threat intelligence system “that listens to open source activity.” Tapping into open-conversation platforms — for example, GitHub commits and forum chatter — Snyk uses machine learning to detect potential mentions of vulnerabilities. It then funnels these to a team of human analysts, “who verify and curate the real ones in our vulnerability DB.”

Second, the company analyses source code repositories — including, again, GitHub as well as BitBucket — “to understand which open source components each one uses, flag the ones that are vulnerable, and then auto-fix them by proposing the right dependency version to use and through patches our security team builds.”

Open source components don’t have more vulnerabilities than closed source ones, he added, “but their heavy reuse makes those vulnerabilities more impactful.” Components can be used in thousands of applications, and by Snyk’s estimation, some 77 percent of those applications will end up with components that have security vulnerabilities. “As a result, the chances of an organisation being breached through a vulnerable open source component are far greater than a security flaw purely in their code.”

Podjarny says there is no plans to try to tackle proprietary code longer term but to expand how it can monitor apps built on open source.

“Our focus is on two fronts – building security tools developers love, and fixing open source security,” he said. “We believe the risk from insecure use of open source code is far greater than that of your own code, and is poorly addressed in the industry. We do intend to expand our protection from fixing known vulnerabilities in open source components to monitoring and securing them in runtime, flagging and containing malicious and compromised components.”

While this is a relatively new area for security teams to monitor and address, he added that the Equifax breach highlighted what might happen in the worst-case scenario if such issues go undetected. Snyk is not the only company that has identified the gap in the market. Black Duck focuses on flagging non-compliant open source licences, and offers some security features as well.

However, it is Snyk — whose name derives from a play on the word “sneak”, combined with the acronym meaning “so now you know” — that seems to be catching the most attention at the moment.

“Some of the largest data breaches in recent years were the result of unfixed vulnerabilities in open source dependencies; as a result, we’ve seen the adoption of tools to monitor and remediate such vulnerabilities grow exponentially,” said Philippe Botteri, partner at Accel, who is joining the board with this round. “We’ve also seen the ownership of application security shifting towards developers. We feel that Snyk is uniquely positioned in the market given the team’s deep security domain knowledge and developer-centric mindset, and are thrilled to join them on this mission of bringing security tools to developers.”


Source: TechCrunch

Facebook sends Sphero robots so classrooms can apply coding education

Program a robotic toy to move and you could be hooked on coding for life. That’s the idea behind Facebook’s newest educational initiative called CodeFWD. It provides online coding tutorials for teachers and students powered by Code.org, and if classrooms finish those, they can apply to be sent a free Bolt robot from Sphero, makers of the popular animatronic BB-8 Star Wars toy. Students can then learn how to use block-based JavaScript to make Bolts roll if different directions, light up, and interact with each other.

CodeFWD’s launch comes alongside the debut of the social network’s new Facebook For Education website that could help Facebook repair its public image by touting its positive contributions to society. After a year of Cambridge Analytica, election interference, and digital well-being worries, Facebook’s brand needs all the help it can get.

Education.fb.com compiles Facebook programs including TechPrep for easing students into computer science, Oculus Next Gen and TechStart for getting VR headsets into classroom and college programs, Oculus For Good and LaunchPad for supporting philanthropic VR content and diverse creators, and Facebook’s own tools like Workplace and Groups for teachers.

One more new program launching this month called Engineer For The Week teaches teens applied computer science after school. Students build chatbots and games to support a local cause while learning the fundamentals of computational thinking over a three-week regimen of collaborating with Facebook’s own engineers. Engineer For The Week runs four times per year with the next cycle starting October 1st that culminates in a two-day hackathon at Facebook HQ.

Beyond bolstering Facebook’s brand, the coding education programs could supply Facebook’s engineering needs a decade later. “We know that it’s important to make sure we’re supporting the next generation of diverse talent. It can really widen the pipeline” says Facebook Education’s director Lauryn Hale Ogbechie. “I think it’s of benefit to any tech company and the industry more broadly. If we’re able to support students staying computer science . . . that will benefit everyone down the road.”

Right now, Facebook’s US staff is just 4.9 percent Latinx and 3.5 percent black. Looking at technical roles it’s even worse, with just 3.1 percent Latinx and 1.3 percent black. It’s only managed to nudge those numbers up slightly over the past five years.

To drive inclusivity in engineering from a younger age, Facebook has piloted the CodeFWD program at the Harlem Children’s Zone, and Austin’s  Latinitas. The company tells me it will continue to target underserved students, and the program is open to fourth grade to eight grade classrooms with credentialed teachers as well as registered non-profits that have Internet access and computers for students.

Facebook will pay for the $150 Sphero Bolt robot kits which are free for teachers (who need no prior programming experience), though it won’t say how many it plans to distribute. Once they and their classes complete the teacher-only I Do, teacher-student We Do, and student practice You Do coding tutorials and their quizzes, they can apply for a robot. Facebook will prioritize applications that expand computer science education to the underserved. And the company notes that “Facebook will have access to aggregate, anonymous usage data from Sphero” . It’s always ready to seize on new types of data.

Facebook’s philanthropic efforts like this are often overshadowed by its privacy and political scandals. The company’s heart is usually in the right place, even when it’s naive, clumsy, or ruthless in its execution. If anything, Facebook would benefit from a broader range of perspectives on which is the right path forward. Hopefully these education programs will see the wealth it’s accumulated today contribute to a more diverse set of leaders for tomorrow.


Source: TechCrunch

Applications for TC Top Picks at Disrupt Berlin 2018 close Friday

If you’ve even vaguely considered applying to be a TechCrunch Top Pick at Disrupt Berlin 2018, which takes place on 29-30 November, you need to act now. The application window closes on Friday 28 September, so get moving and apply to be a TC Top Pick today.

Why would you want to be selected as a TC Top Pick? Let us count the reasons. First, only the most exceptional startups earn the Top Pick designation. It’s a highly curated process, and our editors are an extremely picky bunch. Second, all TC Top Picks receive a FREE Startup Alley Exhibitor Package.

That’s right, you get to exhibit for free in Startup Alley, where hundreds of early-stage startups showcase their tech talent, products, platforms and services to thousands of attendees and network with the brightest innovators in Europe. This bears repeating: for free. As in zero Euros. Such a deal — and we’re not the only ones who say that.

Exhibiting in Startup Alley puts your company smack-dab in front of the very influencers you want to attract, including investors. Luke Heron, CEO of TestCard, noted, “TechCrunch uses a curation process regarding the companies it accepts, so exhibiting in Startup Alley at Disrupt — among all these other fantastic startups — has a hugely positive impact when you’re fundraising.”

He’s speaking from experience. Heron recently shared with us that TestCard “just closed $1.7 million in funding (which is thanks to you and your team — bless you!) You guys are fantastic — the lifeblood of the startup scene.”

Want more validation? We got you.

In addition to the free Startup Alley Exhibitor Package, TC Top Picks also receive a three-minute interview with a TechCrunch editor on the Showcase Stage, which we promote across our social media platforms. As Vlad Larin, co-founder of Zeroqode said, being on the receiving end of that kind of media exposure can have long-term benefits.

“The Showcase Stage interview was a wonderful experience. The publicity we received brought a lot of people back to our website. We had a huge spike in traffic, and we’re still feeling the positive business effects of that interview.”

If you want to be considered for a TC Top Pick designation, your early-stage startup must fall into one of the following tech categories:

  • AI/Machine Learning
  • Blockchain
  • CRM/Enterprise
  • E-commerce
  • Education
  • Fintech
  • Healthtech/Biotech
  • Hardware, Robotics, IoT
  • Mobility
  • Gaming

TechCrunch editors will review and vet each qualified application thoroughly, and they’ll choose up to five startups to represent each category.

The Startup Alley Exhibitor Package includes a one-day exhibit space, three Disrupt Berlin Founder passes, access to CrunchMatch (our free investor-to-startup matching platform) and access to the Disrupt press list.

Disrupt Berlin 2018 takes place on 29-30 November, and the deadline to apply to be a TC Top Pick is 28 September. You’ll have the networking opportunity of a lifetime — at zero cost — and it could take your business to the next level. So, what are you waiting for?


Source: TechCrunch

Picfair gives every photographer on its marketplace their own store

Picfair, the photo marketplace that competes with Getty and Shutterstock by giving photographers a fairer deal, is adding a major update to its offering today. The London-based startup is launching Picfair Stores, giving the 35,000 photographers on its marketplace the ability to create their own free independent online store. Customers who buy from a Picfair Store can choose a licensed digital copy or a physical print.

“We’re moving beyond being just a new generation stock image marketplace,” Picfair founder Benji Lanyado, who used to be a journalist at The Guardian, tells me. “With stores, and prints, and more… we’re becoming a fully featured commercial ecosystem for photographers. At the heart of it all: the principle that anyone should be able to make money from their images, simply and fairly”.

In addition, every image on a photographer’s individual Picfair Store will also be available simultaneously on Picfair’s marketplace, which Lanyado likens to “thousands of local image stores across the globe, with a central Amazon-style megastore they all feed in to”.

He also says it is the first time anyone has combined a marketplace, with the added control of website builders, such as Wix or Squarespace, and the on-demand print functionality of Smugmug or Zenfolio, all built with amateur photographers in mind (although the line to amateur and professional is becoming increasingly blurred).

“Picfair is uniting all of this. The control of a website builder. The commercial structures of an e-commerce platform. The exposure of a marketplace, with added price control and fair royalty splits,” Lanyado says.

Less tech-driven but perhaps equally significant, Picfair has recently launched a photo agency unit, building on top of its bread and butter business of selling image licenses to editorial and marketing companies. It came about slightly accidentally, says Lanyado, after brands and creative agencies started approaching the company asking if it could help them find photographers across the globe.

Initially we just introduced the photographers to the clients directly, like idiots,” he tells me. “Then we started acting like non-idiots and offered our services as a photographer-finder agency, with a very hand black book of 35,000 photographers around the world. We’ve already worked with Google, VisitBritain, Ogilvy and a few other big brands too. The cool bit: all of our leads have come from our community. Most of our photographers aren’t professionals, and their jobs cover the creative gamut: production people in creative agencies, marketing folk etc. The marketplace is generating leads for the agency!”.

Meanwhile, Picfair has just closed a $540,000 equity crowdfunding round. This saw many of its photographers take part, meaning that the company is now part photographer-owned. It adds to a £1.5 million seed round raised a year ago.


Source: TechCrunch

Apply for a Country Pavilion at Disrupt Berlin 2018

On 29-30 November — in less than two short months — thousands of tech startup founders, investors, innovators and entrepreneurs will make their way to Germany to attend Disrupt Berlin 2018. It’s an amazing showcase of the latest and greatest startups and technologies from across Europe and around the world.

We’re serious about international participation, and that’s why we’re calling for early-stage startups from around the globe to apply for a Country Pavilion and exhibit in Startup Alley — our exhibition floor that forms the heart of every Disrupt event. Hundreds of early-stage startups come to Startup Alley to display the very latest in tech products, platforms and services. Thousands of attendees — including investors, media and potential customers — explore Startup Alley, making it a breeding ground of opportunity.

The international exposure of exhibiting in Startup Alley gives countries and regions the chance to showcase their emerging startups and the opportunity to be recognized as world leaders in technology.

Here’s what you need to know about applying for a Country Pavilion at Disrupt Berlin 2018. Each country brings a delegation that can include international startup groups, government innovation centers, incubators and accelerators. Delegation startups must be less than two years old and have secured less than $2.5 million in funding.

If the startups in your delegation meet that low bar, your next step is to email our events team. We want to know which country you’re from and a bit about the startups that form your delegation. Our events team will contact you with a price quote.

At Disrupt Berlin 2017, delegations from more than 25 countries formed our international cadre. One company, Zeroqode exhibited as part of the Moldova delegation. Co-founder Vlad Larin said they went to Disrupt expecting to get a feel for potential partnerships — both strategic and commercial — and to promote the product. But all the talking and connecting they did in Startup Alley paid off in a way they never imagined.

Disrupt attendees chose Zeroqode as a Wild Card company, which earned them a five-minute video interview with TechCrunch editor John Biggs on the Startup Alley Showcase Stage. And TechCrunch promoted that interview, along with an article penned by Biggs, across its social media platforms.

“It was a wonderful experience,” said Larin. “The publicity we received from the onstage interview brought a lot of people back to our website. We had a huge spike in traffic, and we’re still feeling the positive business effects of that interview.”

If you’re not part of a country delegation, but you still want to get in on the exhibition action of Startup Alley, don’t despair. You can purchase a Startup Alley Exhibitor Package for €895 + VAT. And for added incentive, if you buy it before October 25, you’ll receive three Founder passes.

Disrupt Berlin 2018 takes place on 29-30 November, and we can’t wait to see the incredible technology international early-stage startups have to offer. Send us an email and apply for a Country Pavilion today!


Source: TechCrunch

Topia’s Brynne Kennedy to speak on global talent at Disrupt Berlin this November

TechCrunch is returning to Europe with Disrupt Berlin to talk with the best and brightest people in tech from Europe and the rest of the world. In addition to fireside chats and panels, new startups will participate in the Startup Battlefield Europe to win the coveted Battlefield cup.

You should grab your ticket to Disrupt Berlin ASAP. The conference will take place on November 29-30.

Among the many speakers appearing will be Brynne Kennedy, founder and CEO of Topia, the global mobility management suite that enables companies and employees to work everywhere.

Today the pool of talent available to companies must be global for them to survive, and it needs to be found and deployed from anywhere, to anywhere. Topia has taken on the biggest incumbent players in the world to digitize that complex process of moving important staff around the globe.

Brynne founded Topia after being an extensive road warrior herself as an investment banker, and has raised more than $90 million dollars from top venture capital funds NEA and Notion Capital.

Recent findings by Topia and Wakefield Research, found that more adult workers are looking for jobs that will allow them to transfer offices or move to another city or state. It’s now such a priority that 22% of full-time US employees said they have quit a job because they were denied the opportunity to change locations, and 10% of those have done so at more than one job.

Indeed, millennials were 53% more likely to be selected by their employer to relocate at least once over any other age compared to 43% of Gen Xers and 38% of Baby Boomers, according to the research.


Source: TechCrunch

Jaybird Tarah wireless sports headphone: Looks like the X4 but cheaper – CNET

With a $100 price point, Jaybird hopes its new entry-level model has mass appeal.
Source: CNET

Chinese electric scooter startup Niu files for $150M U.S. public offering

Chinese electric scooter startup Niu Technologies has filed for an initial public offering on Nasdaq to raise up to $150 million. In its form, Niu said it is “the largest lithium-ion battery-powered e-scooters company in China,” according to data from China Insights Consultancy, and also a market leader in Europe based on sales volume.

Founded in 2014 and based in Beijing, Niu says it currently holds a market share of 26% in China based on sales volume. Niu’s debut will the latest in a string of recent Chinese tech IPOs, the most prominent of which include the recent Hong Kong listings of Xiaomi and Meituan.

Niu’s scooters connect with an app that give drivers maintenance and performance data and also delivers firmware updates. As of the end of June, Niu claims it had sold more than 431,500 smart electric scooters in China, Europe and other markets.

According to the CIC’s data, China is the largest market for electric two-wheeled vehicles, with retail sales expected to increase to $13 million by 2022, up from $8 billion in 2017. Niu says its growth markets also include Southeast Asia and India, where scooters are a popular form of transportation.

In its filing, Niu said its net revenue in 2017 was RMB 769.4 million ($116.2 million), an increase of 116.8% from RMB 354.8 million in 2016. Its net losses during that time decreased to RMB 184.7 million ($27.9 million) in 2017 from RMB 232.7 million in 2016. More recently, net revenue for the first six months of 2018 was RMB 557.1 million ($84.2 million), an increase of 95.4% from RMB 285.1 million the same period a year earlier. Net loss was RMB 314.9 million ($47.6 million) during that period, compared to RMB 96.6 million the year before.

 


Source: TechCrunch

Japan’s mini space elevator goes to space – CNET

And we have lift off!
Source: CNET

Microsoft and Shell build A.I. into gas stations to help spot smokers

Shell and Microsoft have created a system for gas stations that can spot someone who’s smoking or about to smoke. The platform uses multiple cameras, local computing power, and Microsoft’s cloud intelligence system to do the job.

The post Microsoft and Shell build A.I. into gas stations to help spot smokers appeared first on Digital Trends.


Source: Digital trends

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546