shmup.js 1.5 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145
  1. var _cartname=[`shmup.p8`];
  2. var _cdpos=0; var iii=0; var ciii=0;
  3. var _cartdat=[
  4. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,93,0,0,213,93,0,0,213,93,0,0,0,0,0,176,51,51,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,85,4,64,85,85,4,64,85,85,4,0,0,0,0,0,59,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,100,70,4,64,100,70,4,64,100,70,4,0,128,8,0,0,176,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  5. 112,100,70,7,112,100,70,7,112,100,70,7,0,128,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,152,152,7,112,137,137,7,112,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,128,9,87,117,144,8,87,117,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,8,85,85,128,0,85,85,0,0,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  6. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  7. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  8. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  9. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  10. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  11. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  12. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  13. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  14. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  15. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  16. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  17. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  18. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  19. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  20. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  21. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  22. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  23. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  24. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  25. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  26. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  27. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  28. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  29. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  30. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  31. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  32. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  33. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  34. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  35. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  37. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  38. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  39. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  40. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  41. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  42. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  43. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  44. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  45. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  46. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  47. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  48. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  49. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  50. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  51. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  52. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  53. 65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,
  54. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  55. 0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  56. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  57. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,
  58. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  59. 0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  60. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  61. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,
  62. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  63. 0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  64. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  65. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  66. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  67. 0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  68. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  69. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  70. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,
  71. 0,112,120,97,8,242,3,106,235,193,225,143,16,188,192,35,156,115,68,240,20,213,245,175,240,8,111,80,36,77,84,93,242,0,81,20,63,195,245,89,85,182,121,115,126,52,112,86,177,208,70,65,252,0,3,237,154,94,56,52,2,211,108,66,58,92,130,225,238,178,46,232,162,251,83,175,228,245,17,241,11,108,188,66,159,79,12,68,97,151,182,231,220,19,103,65,86,156,87,100,109,95,132,183,185,37,29,201,235,44,59,198,28,99,109,178,20,228,71,69,87,37,201,89,119,153,100,100,100,43,127,130,38,232,103,218,102,111,234,21,130,178,91,10,223,226,53,74,65,113,236,212,69,247,8,74,2,75,186,98,78,82,8,177,90,49,55,87,219,97,100,102,165,184,175,56,176,216,43,170,202,58,79,177,24,47,214,107,43,7,90,33,233,179,185,141,44,174,79,147,11,174,230,66,95,56,239,29,156,145,237,57,182,10,86,170,153,133,38,146,32,240,99,16,188,69,156,47,197,171,241,204,236,230,132,167,31,195,243,215,122,187,98,118,44,36,226,196,175,208,188,131,45,39,237,57,
  72. 210,7,189,125,70,227,162,182,150,0,138,203,156,34,125,222,213,137,98,187,77,68,213,188,40,127,38,108,42,95,14,97,17,185,192,108,70,193,180,219,235,207,84,46,13,7,151,162,244,202,165,81,191,99,168,74,230,14,232,186,45,199,150,93,181,185,102,223,212,236,154,171,98,99,78,237,168,149,159,75,213,212,168,90,249,148,87,150,244,27,134,154,193,64,151,180,19,95,93,90,10,199,194,241,170,26,139,162,17,15,44,104,138,191,219,89,95,47,135,170,226,255,79,49,129,126,195,5,249,80,190,180,183,80,238,79,175,173,196,103,186,66,248,192,159,27,254,92,221,173,253,191,70,129,253,215,200,210,72,51,178,161,106,101,53,117,200,11,86,246,182,140,36,177,48,231,180,173,104,114,213,115,169,19,7,85,210,191,178,141,235,161,72,39,107,107,107,36,206,135,116,234,163,54,182,215,9,165,107,113,98,77,39,96,174,29,139,74,237,197,49,241,245,79,168,60,242,42,118,211,88,113,226,140,81,71,42,157,245,87,233,60,217,118,185,112,228,208,165,83,97,155,13,12,205,232,
  73. 101,185,79,179,97,69,175,36,217,89,75,108,223,9,21,251,179,31,24,139,164,187,180,245,46,208,214,204,230,228,83,87,82,125,98,103,173,248,53,240,219,102,211,108,57,81,145,198,52,115,7,200,232,17,67,224,84,42,104,110,49,42,119,138,81,7,98,180,198,20,163,25,81,163,46,212,104,130,181,48,106,212,232,127,40,92,161,72,56,4,120,98,125,91,91,169,91,199,69,189,178,213,40,91,4,97,239,129,57,117,251,191,138,226,255,45,36,48,57,80,85,235,123,104,19,182,58,52,98,171,157,33,231,156,26,77,78,235,180,99,199,50,117,232,101,130,9,7,109,132,255,221,22,187,81,185,79,48,52,179,187,160,103,97,120,140,24,26,202,194,43,147,111,112,9,175,206,120,69,253,70,59,57,175,157,178,88,201,245,166,226,157,34,42,6,138,168,11,2,209,57,111,4,154,92,242,237,255,84,191,68,27,178,110,105,103,109,192,141,181,155,2,129,84,123,148,163,69,89,12,236,89,169,110,212,82,154,198,94,114,65,238,71,230,78,45,245,132,99,122,209,107,177,130,186,133,
  74. 11,131,129,197,9,209,130,217,164,19,201,149,25,169,71,221,142,237,141,126,75,44,60,51,98,225,221,208,36,184,64,46,60,59,114,225,140,180,197,55,161,45,190,64,91,220,187,98,225,213,22,103,161,45,30,217,130,173,129,101,177,69,153,62,189,85,105,250,131,16,194,31,54,11,63,228,228,43,193,163,251,53,186,43,193,25,249,12,129,194,45,171,95,148,9,183,148,255,1,154,225,21,254,154,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  75. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  76. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  77. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  78. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  79. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  80. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  81. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  82. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  83. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  84. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  85. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  86. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  87. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  88. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  89. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  90. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  91. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  92. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  93. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  94. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  95. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  96. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  97. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  98. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  99. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  100. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  101. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  102. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  103. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  104. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  105. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  106. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  107. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  108. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  109. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  110. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  111. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  112. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  113. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  114. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  115. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  116. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  117. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  118. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  119. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  120. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  121. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  122. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  123. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  124. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  125. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  126. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  127. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  128. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  129. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  130. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  131. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
  132. var Module = typeof Module !== "undefined" ? Module : {};
  133. if (!Module.expectedDataFileDownloads) {
  134. Module.expectedDataFileDownloads = 0;
  135. Module.finishedDataFileDownloads = 0;
  136. }
  137. Module.expectedDataFileDownloads++;
  138. (function() {
  139. var loadPackage = function(metadata) {
  140. function runWithFS() {
  141. var fileData0 = [];
  142. fileData0.push.apply(fileData0, [ 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 70, 73, 76, 0, 0, 0, 0, 123, 144, 0, 0, 112, 111, 100, 47, 112, 105, 99, 111, 56, 95, 98, 111, 111, 116, 46, 112, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 1, 0, 0, 242, 16, 112, 105, 99, 111, 45, 56, 32, 99, 97, 114, 116, 114, 105, 100, 103, 101, 32, 47, 47, 32, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 31, 0, 255, 13, 46, 99, 111, 109, 10, 118, 101, 114, 115, 105, 111, 110, 32, 56, 10, 95, 95, 108, 117, 97, 95, 95, 10, 10, 45, 45, 62, 56, 6, 0, 25, 159, 95, 95, 103, 102, 120, 95, 95, 10, 48, 1, 0, 108, 15, 129, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 45, 1, 137, 64, 31, 102, 137, 64, 112, 15, 139, 1, 109, 15, 1, 1, 239, 95, 95, 95, 109, 97, 112, 10, 2, 240, 15, 1, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 50, 95, 95, 115, 187, 98, 48, 49, 48, 99, 17, 0, 161, 51, 48, 53, 53, 53, 50, 98, 53, 54, 53, 10, 0, 64, 51, 53, 53, 52, 5, 0, 128, 49, 53, 51, 53, 55, 48, 53, 48, 3, 0, 15, 5, 0, 106, 0, 169, 0, 16, 56, 12, 0, 115, 50, 52, 48, 51, 53, 50, 52, 26, 0, 15, 91, 2, 130, 30, 49, 154, 0, 15, 169, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 113, 95, 95, 109, 117, 115, 105, 99, 114, 74, 50, 32, 52, 49, 2, 0, 15, 12, 0, 255, 255, 224, 80, 49, 52, 49, 10, 10, 99, 70, 73, 76, 0, 0, 0, 0, 27, 189, 12, 0, 112, 111, 100, 47, 103, 102, 120, 49, 46, 112, 111, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 74, 0, 0, 243, 22, 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 103, 102, 120, 49, 46, 112, 111, 100, 0, 47, 112, 97, 98, 97, 47, 112, 105, 99, 111, 56, 47, 112, 111, 100, 47, 25, 0, 63, 9, 1, 0, 1, 0, 10, 177, 67, 66, 77, 80, 20, 0, 1, 0, 128, 0, 0, 4, 0, 47, 32, 0, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 207, 79, 77, 0, 255, 255, 4, 0, 73, 47, 0, 0, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 91, 63, 163, 255, 255, 4, 0, 73, 47, 232, 241, 4, 0, 75, 47, 170, 204, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 79, 39, 236, 255, 255, 4, 0, 73, 47, 232, 241, 4, 0, 255, 12, 47, 168, 119, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 15, 1, 0, 77, 79, 54, 228, 0, 255, 4, 0, 73, 15, 160, 1, 77, 63, 156, 118, 131, 4, 0, 74, 15, 160, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 15, 1, 0, 77, 79, 255, 173, 41, 255, 4, 0, 73, 15, 99, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 92, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 36, 97, 67, 80, 65, 76, 0, 3, 11, 0, 255, 39, 29, 43, 83, 126, 37, 83, 0, 135, 81, 171, 82, 54, 95, 87, 79, 194, 195, 199, 255, 241, 232, 255, 0, 77, 255, 163, 0, 255, 236, 39, 0, 228, 54, 41, 173, 255, 131, 118, 156, 255, 119, 168, 255, 204, 170, 0, 0, 0, 2, 4, 6, 2, 4, 8, 3, 0, 130, 17, 9, 3, 0, 15, 48, 0, 29, 9, 54, 0, 63, 3, 5, 10, 48, 0, 10, 12, 60, 0, 14, 48, 0, 15, 150, 0, 11, 56, 3, 5, 10, 3, 0, 254, 33, 41, 24, 20, 17, 29, 53, 66, 33, 54, 18, 83, 89, 116, 47, 41, 73, 51, 59, 162, 136, 121, 243, 239, 125, 190, 18, 80, 255, 108, 36, 168, 231, 46, 0, 181, 67, 6, 90, 181, 117, 70, 101, 255, 110, 89, 255, 157, 129, 122, 1, 15, 3, 0, 255, 44, 255, 2, 67, 66, 77, 80, 164, 1, 0, 0, 40, 0, 0, 0, 10, 0, 0, 0, 8, 68, 3, 24, 15, 44, 0, 20, 63, 9, 7, 15, 39, 0, 17, 95, 10, 7, 7, 7, 14, 41, 0, 17, 51, 11, 7, 13, 10, 0, 66, 7, 7, 7, 7, 5, 0, 20, 0, 5, 0, 22, 7, 25, 0, 37, 0, 12, 39, 0, 0, 3, 0, 5, 4, 0, 4, 16, 0, 0, 10, 0, 1, 3, 0, 23, 0, 79, 0, 14, 40, 0, 3, 99, 0, 9, 40, 0, 5, 7, 0, 10, 80, 0, 1, 18, 0, 12, 40, 0, 6, 165, 0, 9, 159, 0, 31, 7, 180, 4, 54, 57, 79, 72, 67, 180, 4, 91, 231, 39, 0, 231, 86, 180, 4, 15, 1, 0, 29, 240, 3, 28, 0, 73, 109, 24, 69, 0, 122, 44, 160, 72, 50, 52, 54, 53, 173, 177, 183, 100, 14, 240, 8, 0, 77, 255, 132, 0, 255, 255, 39, 0, 226, 50, 41, 173, 255, 174, 75, 176, 255, 136, 188, 255, 214, 197, 48, 0, 32, 48, 102, 144, 0, 177, 131, 72, 171, 82, 54, 63, 65, 65, 180, 182, 188, 48, 0, 49, 42, 255, 163, 79, 0, 96, 231, 86, 41, 162, 255, 132, 48, 0, 245, 7, 175, 255, 217, 177, 0, 0, 0, 32, 51, 123, 140, 28, 60, 0, 131, 49, 171, 100, 54, 80, 80, 80, 120, 0, 35, 255, 155, 9, 0, 97, 63, 155, 255, 132, 112, 169, 192, 0, 0, 75, 0, 255, 0, 28, 24, 87, 135, 37, 77, 0, 147, 60, 0, 0, 0, 69, 69, 69, 180, 0, 2, 98, 146, 133, 174, 255, 105, 154, 48, 0, 48, 55, 67, 91, 19, 0, 143, 135, 81, 0, 0, 0, 86, 70, 59, 48, 0, 2, 53, 131, 118, 156, 12, 0, 53, 37, 55, 77, 12, 0, 63, 101, 91, 82, 32, 1, 14, 53, 43, 55, 66, 12, 0, 63, 79, 72, 67, 48, 0, 15, 37, 62, 83, 12, 0, 63, 95, 87, 79, 48, 0, 14, 79, 29, 43, 83, 0, 1, 0, 255, 4, 48, 255, 0, 255, 180, 4, 158, 20, 48, 0, 0, 128, 0, 0, 0, 96, 180, 4, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 26, 0, 28, 48, 83, 36, 0, 0, 0, 4, 4, 0, 9, 28, 48, 241, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 72, 48, 33, 0, 1, 72, 48, 0, 76, 48, 47, 32, 0, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 207, 79, 77, 0, 255, 255, 4, 0, 73, 47, 0, 0, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 91, 63, 163, 255, 255, 4, 0, 72, 15, 32, 170, 78, 47, 170, 204, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 79, 39, 236, 255, 255, 4, 0, 73, 47, 232, 241, 4, 0, 255, 12, 47, 168, 119, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 15, 1, 0, 77, 79, 54, 228, 0, 255, 4, 0, 73, 15, 160, 1, 77, 63, 156, 118, 131, 4, 0, 74, 15, 160, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 15, 1, 0, 77, 79, 255, 173, 41, 255, 4, 0, 73, 15, 99, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 92, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 36, 151, 67, 66, 77, 80, 84, 0, 0, 0, 8, 4, 0, 4, 1, 0, 20, 8, 1, 0, 36, 2, 2, 8, 0, 36, 2, 2, 8, 0, 42, 2, 2, 8, 0, 8, 40, 0, 3, 1, 0, 15, 92, 0, 18, 36, 15, 15, 8, 0, 36, 15, 15, 8, 0, 42, 15, 15, 8, 0, 8, 40, 0, 15, 92, 0, 25, 6, 147, 0, 3, 186, 0, 4, 176, 0, 19, 8, 15, 0, 36, 8, 8, 208, 0, 15, 92, 0, 33, 40, 15, 15, 186, 0, 4, 176, 0, 19, 8, 15, 0, 36, 8, 8, 208, 0, 15, 92, 0, 32, 47, 2, 2, 191, 0, 1, 6, 16, 0, 4, 185, 0, 3, 8, 0, 15, 92, 0, 26, 47, 15, 15, 191, 0, 1, 6, 16, 0, 4, 185, 0, 3, 8, 0, 6, 92, 0, 95, 100, 0, 0, 0, 10, 20, 1, 12, 6, 194, 0, 3, 2, 0, 15, 10, 0, 23, 15, 108, 0, 39, 19, 15, 2, 0, 15, 10, 0, 22, 15, 216, 0, 50, 15, 20, 0, 8, 15, 216, 0, 62, 15, 20, 0, 30, 0, 108, 0, 95, 68, 1, 0, 0, 38, 108, 0, 1, 15, 1, 0, 33, 2, 236, 3, 45, 2, 2, 164, 0, 37, 15, 15, 4, 0, 85, 8, 2, 2, 15, 15, 39, 0, 18, 2, 103, 3, 1, 5, 1, 5, 162, 0, 0, 165, 0, 16, 2, 115, 2, 5, 139, 3, 21, 8, 7, 2, 6, 72, 0, 13, 38, 0, 1, 76, 0, 3, 43, 0, 4, 202, 1, 2, 76, 0, 8, 114, 0, 7, 83, 2, 10, 38, 0, 8, 190, 0, 6, 118, 0, 31, 2, 251, 0, 8, 15, 76, 1, 98, 2, 231, 0, 39, 2, 8, 93, 5, 0, 222, 0, 2, 156, 3, 35, 15, 15, 67, 1, 5, 90, 2, 5, 210, 4, 1, 42, 1, 4, 243, 0, 3, 29, 1, 6, 72, 0, 12, 38, 0, 1, 76, 0, 3, 43, 0, 5, 123, 1, 43, 2, 8, 114, 0, 7, 51, 3, 10, 38, 0, 8, 190, 0, 39, 15, 15, 114, 0, 15, 76, 1, 22, 95, 36, 0, 0, 0, 2, 76, 1, 0, 244, 1, 0, 8, 1, 9, 2, 10, 3, 11, 4, 12, 5, 13, 6, 14, 7, 15, 44, 0, 23, 8, 48, 0, 5, 44, 0, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 88, 0, 10, 255, 0, 10, 4, 9, 2, 8, 3, 11, 1, 12, 13, 14, 5, 15, 6, 7, 40, 5, 9, 34, 6, 7, 1, 0, 33, 13, 6, 1, 0, 0, 8, 0, 33, 5, 5, 8, 0, 129, 5, 5, 5, 5, 6, 7, 13, 5, 1, 0, 8, 32, 0, 2, 8, 0, 2, 1, 0, 31, 6, 92, 0, 10, 3, 37, 0, 18, 7, 52, 0, 8, 8, 0, 33, 5, 5, 8, 0, 1, 100, 0, 34, 13, 7, 100, 0, 6, 32, 0, 2, 1, 0, 31, 6, 184, 0, 26, 5, 168, 0, 3, 184, 0, 5, 200, 0, 15, 184, 0, 56, 5, 168, 0, 3, 184, 0, 5, 200, 0, 15, 184, 0, 23, 31, 5, 1, 0, 44, 0, 92, 0, 19, 44, 84, 0, 31, 3, 20, 1, 4, 19, 1, 236, 0, 18, 1, 1, 0, 1, 144, 0, 32, 20, 32, 68, 2, 60, 0, 0, 32, 44, 2, 255, 1, 0, 5, 1, 2, 1, 13, 6, 2, 4, 9, 3, 13, 5, 13, 6, 0, 1, 0, 221, 11, 88, 3, 15, 255, 0, 221, 16, 5, 0, 2, 30, 13, 0, 2, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 4, 72, 34, 19, 4, 4, 0, 9, 28, 32, 255, 0, 5, 6, 7, 2, 4, 9, 10, 1, 13, 14, 15, 3, 11, 12, 8, 44, 0, 18, 67, 3, 11, 8, 2, 160, 34, 19, 35, 164, 32, 28, 5, 168, 32, 81, 0, 0, 6, 6, 0, 164, 32, 34, 0, 6, 131, 0, 19, 45, 39, 0, 12, 43, 0, 11, 174, 0, 17, 2, 2, 0, 31, 0, 200, 41, 12, 7, 106, 0, 0, 99, 0, 1, 113, 0, 2, 118, 0, 11, 8, 0, 4, 32, 0, 14, 20, 1, 15, 92, 0, 33, 47, 8, 8, 92, 0, 20, 83, 164, 0, 0, 0, 12, 4, 0, 8, 92, 0, 31, 11, 1, 0, 124, 0, 172, 0, 19, 76, 164, 0, 27, 7, 172, 0, 3, 35, 35, 31, 5, 8, 0, 29, 15, 84, 0, 9, 2, 183, 34, 47, 6, 5, 8, 0, 29, 15, 168, 0, 12, 31, 5, 4, 0, 1, 4, 1, 0, 15, 32, 0, 1, 15, 168, 0, 16, 31, 5, 4, 0, 1, 4, 1, 0, 15, 32, 0, 1, 15, 168, 0, 14, 18, 5, 2, 0, 5, 152, 0, 15, 16, 0, 20, 15, 168, 0, 10, 18, 5, 2, 0, 5, 152, 0, 15, 16, 0, 20, 15, 80, 1, 11, 1, 53, 1, 3, 138, 0, 31, 13, 168, 36, 6, 4, 32, 0, 4, 48, 0, 15, 80, 1, 11, 1, 53, 1, 3, 138, 0, 31, 6, 84, 0, 6, 4, 32, 0, 4, 48, 0, 15, 144, 4, 10, 65, 13, 13, 0, 13, 6, 0, 32, 0, 13, 6, 0, 15, 44, 0, 10, 0, 136, 4, 96, 11, 7, 6, 6, 11, 11, 151, 4, 30, 0, 172, 0, 15, 74, 5, 17, 95, 10, 10, 10, 10, 0, 104, 5, 5, 15, 84, 0, 70, 98, 20, 64, 0, 0, 128, 0, 4, 0, 8, 84, 0, 79, 1, 0, 0, 1, 4, 0, 102, 15, 127, 0, 111, 31, 1, 127, 0, 236, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 196, 68, 19, 51, 0, 0, 14, 7, 0, 19, 14, 7, 0, 10, 16, 0, 5, 32, 0, 15, 32, 69, 32, 5, 24, 0, 36, 8, 8, 58, 106, 9, 16, 0, 5, 32, 0, 15, 92, 0, 33, 42, 14, 0, 168, 0, 4, 185, 0, 5, 16, 0, 31, 0, 92, 0, 39, 42, 8, 0, 168, 0, 4, 185, 0, 5, 16, 0, 15, 92, 0, 40, 4, 1, 0, 34, 7, 7, 7, 0, 2, 13, 66, 18, 7, 12, 0, 2, 20, 0, 47, 0, 7, 92, 0, 44, 4, 66, 0, 17, 7, 82, 0, 47, 7, 7, 92, 0, 59, 3, 187, 0, 8, 93, 0, 47, 7, 7, 92, 0, 49, 1, 187, 104, 1, 172, 0, 8, 4, 0, 3, 20, 0, 15, 184, 0, 46, 6, 165, 0, 6, 8, 0, 2, 114, 0, 15, 92, 0, 45, 40, 7, 0, 89, 0, 4, 110, 1, 3, 182, 0, 15, 92, 0, 48, 22, 7, 2, 0, 3, 1, 0, 7, 19, 0, 9, 120, 1, 15, 132, 2, 36, 6, 99, 1, 5, 14, 1, 14, 112, 1, 15, 56, 112, 32, 8, 10, 0, 5, 199, 113, 15, 16, 113, 68, 8, 10, 0, 5, 215, 113, 15, 16, 113, 67, 36, 2, 8, 157, 111, 15, 20, 0, 18, 15, 216, 0, 42, 36, 15, 8, 189, 110, 15, 20, 0, 18, 15, 48, 116, 34, 25, 2, 175, 1, 5, 128, 115, 11, 0, 117, 15, 48, 116, 35, 25, 15, 159, 1, 5, 128, 115, 11, 0, 117, 15, 48, 116, 29, 4, 144, 111, 7, 2, 0, 22, 2, 69, 2, 7, 16, 0, 11, 117, 112, 15, 48, 116, 17, 2, 135, 117, 39, 15, 8, 2, 0, 22, 15, 53, 2, 7, 16, 0, 3, 255, 116, 15, 20, 1, 26, 3, 17, 2, 6, 46, 114, 15, 8, 0, 3, 12, 57, 2, 15, 88, 118, 21, 2, 63, 118, 6, 12, 0, 15, 8, 0, 1, 12, 41, 2, 15, 16, 119, 22, 9, 0, 119, 1, 162, 0, 6, 16, 0, 6, 41, 2, 47, 8, 8, 184, 0, 32, 25, 8, 0, 119, 1, 162, 0, 6, 16, 0, 6, 41, 2, 47, 8, 8, 184, 0, 31, 4, 113, 1, 6, 8, 0, 8, 248, 2, 42, 2, 2, 8, 0, 15, 184, 0, 27, 4, 113, 1, 6, 8, 0, 8, 248, 2, 42, 15, 15, 8, 0, 15, 60, 3, 28, 21, 8, 98, 120, 5, 49, 2, 6, 8, 0, 4, 24, 0, 7, 50, 119, 15, 92, 0, 26, 5, 98, 120, 5, 49, 2, 6, 8, 0, 4, 24, 0, 7, 50, 119, 15, 128, 120, 32, 11, 88, 4, 15, 80, 4, 53, 14, 88, 4, 15, 80, 4, 17, 14, 112, 79, 15, 14, 7, 2, 19, 6, 68, 113, 7, 82, 7, 19, 7, 208, 79, 4, 212, 79, 15, 1, 0, 28, 8, 60, 0, 8, 84, 0, 8, 108, 0, 12, 28, 80, 82, 1, 0, 0, 20, 0, 4, 0, 15, 232, 9, 15, 41, 7, 6, 111, 0, 9, 188, 0, 14, 196, 0, 14, 153, 0, 15, 1, 0, 216, 14, 4, 1, 15, 44, 1, 3, 14, 84, 1, 15, 56, 83, 7, 48, 5, 0, 0, 84, 78, 31, 36, 208, 77, 1, 15, 188, 1, 17, 23, 6, 4, 0, 41, 7, 7, 15, 0, 15, 204, 1, 3, 15, 220, 1, 1, 15, 249, 0, 20, 15, 39, 0, 46, 31, 6, 144, 0, 255, 255, 255, 154, 15, 108, 0, 53, 15, 164, 4, 15, 15, 100, 88, 22, 98, 56, 19, 0, 0, 70, 0, 4, 0, 47, 8, 0, 1, 0, 62, 1, 120, 121, 1, 88, 88, 15, 8, 0, 3, 2, 229, 14, 47, 6, 6, 38, 0, 7, 14, 112, 5, 15, 137, 0, 35, 15, 70, 0, 123, 31, 6, 57, 7, 48, 15, 70, 0, 34, 15, 114, 8, 140, 15, 24, 1, 119, 15, 48, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 53, 15, 164, 1, 255, 6, 15, 70, 0, 49, 15, 82, 18, 53, 31, 0, 180, 148, 88, 6, 97, 144, 9, 156, 29, 9, 160, 145, 8, 9, 0, 15, 236, 28, 26, 40, 15, 15, 40, 147, 11, 253, 30, 5, 33, 31, 5, 9, 0, 14, 164, 29, 15, 184, 0, 22, 14, 8, 0, 14, 208, 0, 15, 184, 0, 37, 14, 8, 0, 14, 208, 0, 15, 184, 0, 31, 10, 8, 0, 14, 44, 150, 15, 184, 0, 41, 10, 8, 0, 14, 44, 150, 12, 184, 0, 16, 141, 72, 108, 3, 4, 0, 15, 104, 21, 42, 22, 1, 10, 0, 38, 7, 1, 11, 0, 38, 7, 1, 11, 0, 38, 7, 1, 11, 0, 37, 7, 1, 33, 0, 5, 34, 0, 35, 1, 7, 137, 40, 23, 69, 211, 37, 31, 8, 103, 0, 1, 2, 99, 0, 2, 4, 0, 17, 1, 42, 0, 19, 1, 14, 0, 6, 127, 0, 0, 6, 0, 15, 226, 0, 24, 38, 1, 0, 170, 0, 20, 1, 149, 0, 1, 11, 0, 42, 7, 1, 11, 0, 51, 1, 1, 7, 193, 0, 37, 1, 7, 11, 0, 2, 213, 0, 2, 11, 0, 2, 34, 0, 29, 1, 248, 0, 63, 0, 1, 1, 149, 0, 13, 15, 160, 0, 41, 14, 138, 0, 15, 149, 0, 28, 83, 245, 0, 0, 0, 15, 4, 0, 15, 116, 23, 60, 6, 30, 2, 11, 34, 2, 3, 15, 0, 6, 222, 0, 9, 213, 0, 9, 110, 1, 42, 0, 0, 114, 1, 27, 0, 225, 0, 12, 229, 0, 12, 233, 0, 6, 237, 0, 12, 158, 0, 14, 253, 0, 15, 81, 144, 89, 31, 0, 253, 0, 111, 14, 106, 108, 12, 126, 146, 1, 141, 111, 3, 167, 109, 30, 13, 8, 0, 4, 32, 0, 7, 118, 146, 15, 84, 0, 15, 34, 6, 6, 154, 109, 82, 8, 8, 8, 7, 6, 8, 0, 23, 8, 8, 0, 4, 32, 0, 15, 84, 0, 34, 82, 9, 9, 9, 7, 6, 8, 0, 23, 9, 8, 0, 15, 84, 0, 42, 82, 10, 10, 10, 7, 6, 8, 0, 23, 10, 8, 0, 15, 84, 0, 42, 82, 11, 11, 11, 7, 6, 8, 0, 23, 11, 8, 0, 15, 84, 0, 42, 82, 12, 12, 12, 7, 6, 8, 0, 23, 12, 8, 0, 15, 84, 0, 42, 82, 14, 14, 14, 7, 6, 8, 0, 23, 14, 8, 0, 14, 84, 0, 15, 248, 1, 66, 19, 55, 235, 115, 15, 84, 0, 3, 1, 29, 0, 51, 1, 1, 13, 226, 2, 0, 5, 0, 1, 20, 0, 15, 63, 0, 25, 10, 7, 10, 10, 63, 0, 15, 210, 0, 5, 23, 0, 217, 4, 34, 1, 1, 97, 3, 23, 1, 206, 48, 1, 8, 0, 15, 114, 3, 0, 15, 84, 0, 97, 6, 91, 0, 39, 1, 0, 115, 49, 2, 92, 0, 1, 16, 0, 14, 168, 5, 15, 84, 0, 103, 3, 67, 0, 15, 8, 0, 6, 47, 0, 0, 84, 0, 81, 15, 232, 46, 27, 9, 1, 0, 14, 17, 45, 15, 92, 0, 37, 42, 7, 7, 145, 46, 8, 11, 0, 14, 102, 0, 15, 48, 46, 31, 42, 7, 0, 200, 45, 4, 84, 47, 31, 7, 180, 48, 53, 5, 107, 0, 3, 3, 48, 3, 8, 0, 31, 0, 180, 48, 50, 7, 149, 46, 7, 156, 46, 15, 160, 47, 49, 13, 121, 1, 15, 92, 0, 49, 5, 11, 1, 9, 2, 0, 14, 127, 14, 15, 132, 2, 40, 42, 7, 7, 4, 0, 14, 92, 0, 15, 128, 50, 47, 6, 32, 2, 14, 232, 2, 15, 40, 2, 40, 11, 8, 0, 15, 112, 1, 48, 27, 7, 43, 3, 7, 212, 1, 15, 92, 0, 56, 31, 0, 132, 2, 64, 11, 126, 50, 6, 200, 0, 31, 0, 184, 0, 53, 8, 80, 4, 15, 60, 3, 63, 25, 7, 40, 2, 15, 112, 1, 66, 14, 8, 0, 11, 92, 0, 83, 101, 0, 0, 0, 9, 4, 0, 15, 60, 3, 13, 20, 6, 159, 123, 0, 205, 157, 2, 146, 17, 45, 13, 6, 9, 0, 4, 27, 0, 3, 46, 0, 3, 213, 122, 15, 109, 0, 21, 5, 178, 52, 0, 86, 158, 2, 160, 3, 45, 13, 7, 9, 0, 4, 27, 0, 3, 46, 0, 5, 9, 0, 4, 118, 0, 15, 218, 0, 41, 19, 6, 191, 0, 13, 9, 0, 15, 218, 0, 56, 4, 182, 0, 13, 9, 0, 15, 218, 0, 74, 5, 191, 0, 5, 180, 1, 15, 218, 0, 61, 0, 2, 11, 3, 182, 0, 3, 9, 0, 20, 14, 200, 0, 7, 27, 0, 10, 218, 0, 18, 14, 1, 0, 15, 218, 0, 50, 14, 227, 0, 15, 218, 0, 63, 14, 227, 0, 15, 218, 0, 17, 98, 20, 1, 0, 0, 16, 0, 4, 0, 14, 59, 15, 15, 44, 129, 235, 15, 28, 1, 5, 28, 7, 1, 0, 11, 31, 5, 15, 16, 0, 205, 15, 56, 2, 13, 15, 43, 1, 233, 15, 46, 4, 29, 21, 1, 203, 12, 53, 13, 7, 13, 13, 20, 11, 18, 0, 15, 231, 12, 3, 15, 41, 7, 1, 15, 18, 3, 76, 15, 109, 0, 19, 46, 7, 0, 126, 11, 25, 7, 246, 59, 11, 99, 8, 14, 47, 10, 15, 109, 0, 21, 7, 36, 10, 15, 9, 0, 4, 6, 255, 4, 8, 238, 25, 9, 138, 2, 15, 109, 0, 19, 14, 242, 11, 14, 11, 61, 14, 18, 0, 13, 54, 0, 15, 218, 0, 22, 8, 109, 60, 26, 7, 9, 0, 4, 209, 0, 9, 89, 1, 14, 74, 1, 15, 180, 1, 96, 162, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 127, 166, 4, 28, 0, 53, 105, 102, 102, 4, 0, 79, 8, 4, 2, 255, 4, 0, 255, 255, 83, 8, 116, 2, 8, 124, 2, 63, 103, 102, 102, 4, 0, 255, 255, 84, 12, 132, 2, 14, 124, 2, 15, 132, 2, 255, 255, 85, 15, 124, 2, 255, 255, 103, 8, 132, 2, 15, 128, 2, 255, 255, 255, 255, 255, 174, 63, 77, 0, 255, 128, 2, 255, 255, 104, 34, 0, 155, 155, 250, 63, 188, 204, 255, 128, 2, 255, 255, 96, 42, 39, 231, 31, 253, 63, 168, 119, 255, 0, 5, 255, 255, 96, 34, 50, 226, 247, 255, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 42, 232, 241, 140, 4, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 0, 27, 210, 15, 124, 1, 165, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 65, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 15, 80, 57, 255, 246, 15, 128, 2, 105, 63, 139, 138, 136, 4, 0, 255, 235, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 51, 31, 103, 124, 82, 255, 255, 46, 78, 105, 102, 102, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 101, 14, 128, 2, 15, 124, 2, 255, 255, 77, 15, 128, 2, 4, 15, 124, 2, 255, 255, 104, 14, 132, 2, 15, 124, 2, 255, 255, 97, 14, 132, 2, 15, 124, 2, 255, 255, 97, 8, 132, 2, 15, 4, 0, 255, 255, 55, 15, 116, 2, 21, 255, 3, 67, 66, 77, 80, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 0, 0, 32, 0, 1, 0, 3, 14, 156, 2, 15, 4, 0, 255, 255, 69, 15, 124, 2, 0, 15, 36, 20, 255, 255, 96, 15, 124, 2, 255, 255, 103, 12, 132, 2, 14, 124, 2, 15, 156, 122, 255, 255, 255, 255, 255, 255, 255, 255, 31, 63, 77, 0, 255, 128, 2, 255, 255, 104, 191, 0, 155, 255, 255, 232, 241, 255, 255, 188, 204, 255, 128, 2, 255, 255, 96, 34, 39, 231, 124, 2, 4, 4, 0, 63, 168, 119, 255, 0, 5, 255, 255, 96, 49, 50, 226, 0, 124, 2, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 42, 232, 241, 140, 4, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 172, 1, 214, 53, 167, 171, 178, 4, 0, 15, 16, 0, 1, 8, 20, 0, 14, 16, 0, 15, 80, 0, 15, 14, 36, 0, 15, 80, 0, 6, 14, 64, 0, 15, 128, 2, 100, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 15, 44, 4, 225, 8, 248, 1, 8, 16, 2, 14, 12, 0, 15, 48, 0, 6, 15, 32, 0, 34, 14, 48, 0, 15, 128, 2, 127, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 234, 15, 144, 4, 0, 15, 48, 2, 38, 14, 64, 2, 15, 128, 2, 31, 14, 192, 2, 15, 0, 5, 103, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 235, 14, 20, 0, 15, 0, 5, 42, 15, 128, 2, 194, 15, 20, 10, 16, 15, 252, 9, 17, 15, 0, 5, 254, 12, 16, 0, 15, 160, 9, 16, 15, 80, 5, 38, 15, 80, 0, 8, 15, 128, 2, 65, 15, 156, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 54, 31, 8, 28, 190, 255, 255, 110, 0, 60, 0, 0, 132, 44, 15, 4, 0, 255, 234, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 201, 8, 108, 35, 15, 16, 0, 25, 15, 64, 0, 15, 15, 128, 2, 255, 255, 25, 57, 83, 37, 126, 64, 2, 8, 16, 0, 0, 12, 0, 12, 16, 0, 46, 232, 241, 64, 0, 0, 4, 0, 14, 16, 0, 15, 128, 2, 255, 255, 21, 15, 8, 0, 13, 14, 244, 4, 15, 0, 5, 255, 255, 61, 15, 8, 0, 13, 12, 208, 4, 8, 128, 2, 14, 32, 5, 10, 48, 5, 15, 0, 10, 255, 255, 71, 47, 232, 241, 0, 5, 255, 255, 53, 4, 176, 4, 4, 224, 4, 15, 16, 0, 56, 15, 128, 2, 255, 255, 20, 15, 4, 0, 72, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 63, 188, 182, 180, 4, 0, 2, 15, 0, 5, 255, 255, 91, 49, 53, 54, 52, 8, 0, 49, 54, 82, 171, 4, 0, 14, 0, 5, 15, 128, 2, 255, 255, 77, 0, 20, 81, 4, 124, 2, 15, 128, 2, 255, 34, 15, 68, 6, 4, 15, 116, 2, 255, 15, 12, 12, 0, 34, 177, 217, 252, 22, 15, 0, 5, 255, 34, 15, 68, 6, 0, 15, 128, 2, 255, 19, 0, 56, 1, 0, 12, 0, 0, 8, 0, 4, 116, 25, 0, 12, 0, 4, 80, 1, 8, 96, 1, 12, 20, 0, 15, 128, 2, 249, 14, 68, 6, 15, 120, 12, 255, 16, 0, 80, 2, 15, 60, 6, 5, 4, 112, 2, 12, 4, 0, 15, 128, 2, 249, 15, 68, 6, 8, 15, 0, 5, 255, 19, 14, 100, 2, 14, 4, 0, 15, 128, 2, 255, 18, 15, 68, 6, 28, 15, 128, 7, 254, 15, 108, 2, 24, 15, 128, 2, 250, 15, 68, 6, 36, 15, 148, 7, 255, 11, 31, 77, 128, 22, 255, 25, 15, 68, 6, 12, 15, 128, 2, 255, 27, 14, 28, 1, 15, 128, 2, 195, 0, 252, 101, 15, 4, 0, 53, 0, 128, 2, 47, 168, 119, 68, 6, 11, 14, 112, 0, 15, 4, 0, 255, 4, 15, 48, 1, 83, 15, 128, 22, 207, 14, 248, 19, 15, 0, 30, 255, 255, 89, 14, 224, 9, 15, 128, 2, 255, 255, 1, 15, 68, 6, 84, 15, 4, 0, 255, 135, 15, 0, 30, 255, 166, 12, 84, 98, 15, 0, 5, 255, 130, 15, 4, 0, 193, 47, 232, 241, 4, 0, 9, 15, 0, 5, 157, 15, 128, 2, 255, 156, 14, 124, 2, 15, 132, 2, 1, 15, 128, 2, 255, 255, 69, 14, 124, 2, 15, 132, 2, 9, 15, 128, 2, 255, 255, 49, 12, 72, 2, 15, 128, 2, 33, 14, 148, 2, 15, 128, 2, 255, 255, 17, 47, 232, 241, 4, 0, 77, 15, 128, 2, 255, 244, 15, 12, 2, 1, 47, 232, 241, 128, 2, 255, 255, 81, 15, 48, 7, 11, 15, 132, 2, 85, 15, 128, 2, 255, 255, 1, 15, 4, 0, 53, 47, 177, 217, 128, 2, 255, 255, 9, 15, 92, 2, 49, 47, 177, 217, 36, 0, 19, 47, 177, 217, 128, 2, 255, 255, 1, 14, 24, 2, 15, 56, 2, 19, 47, 177, 217, 4, 0, 43, 14, 192, 2, 15, 128, 2, 255, 228, 8, 132, 2, 15, 4, 0, 105, 15, 204, 5, 63, 15, 128, 2, 255, 176, 15, 32, 0, 45, 8, 40, 0, 15, 128, 2, 11, 15, 0, 28, 73, 15, 128, 17, 255, 152, 12, 12, 2, 12, 172, 35, 12, 32, 0, 15, 200, 2, 11, 15, 36, 0, 21, 15, 0, 28, 81, 15, 128, 22, 255, 160, 0, 120, 2, 4, 20, 148, 14, 48, 38, 15, 0, 28, 161, 15, 128, 2, 255, 160, 0, 16, 153, 46, 39, 231, 128, 2, 15, 0, 28, 183, 15, 128, 27, 255, 140, 14, 44, 43, 15, 0, 28, 197, 15, 128, 2, 255, 76, 14, 116, 45, 15, 0, 28, 153, 15, 128, 2, 255, 172, 15, 200, 9, 169, 31, 168, 0, 28, 90, 15, 128, 2, 118, 15, 200, 9, 255, 79, 31, 168, 0, 28, 94, 15, 128, 2, 195, 15, 72, 26, 141, 30, 168, 128, 7, 15, 0, 28, 255, 19, 15, 0, 5, 153, 4, 204, 74, 23, 168, 108, 62, 15, 4, 0, 44, 15, 0, 28, 255, 111, 15, 128, 2, 141, 38, 77, 0, 124, 2, 0, 88, 4, 0, 192, 0, 4, 228, 69, 15, 128, 2, 48, 15, 0, 28, 255, 111, 15, 128, 2, 121, 15, 164, 5, 5, 4, 172, 55, 8, 192, 0, 8, 128, 2, 15, 12, 5, 40, 15, 0, 28, 255, 111, 15, 128, 2, 113, 8, 116, 2, 8, 236, 113, 47, 232, 241, 44, 114, 3, 0, 12, 0, 0, 128, 2, 0, 8, 0, 31, 168, 140, 7, 255, 45, 14, 32, 0, 15, 0, 28, 69, 15, 128, 22, 131, 47, 232, 241, 128, 2, 3, 12, 4, 0, 15, 200, 10, 5, 4, 140, 2, 15, 12, 12, 9, 0, 160, 2, 4, 4, 0, 4, 140, 77, 15, 188, 12, 4, 15, 72, 0, 36, 15, 0, 65, 255, 168, 15, 128, 2, 0, 15, 4, 0, 30, 14, 0, 5, 15, 4, 0, 255, 132, 15, 148, 81, 1, 15, 128, 2, 125, 14, 228, 4, 15, 148, 2, 6, 14, 128, 7, 15, 4, 0, 255, 145, 4, 156, 18, 4, 204, 16, 15, 128, 2, 145, 8, 4, 0, 4, 244, 6, 15, 8, 20, 123, 15, 204, 7, 255, 24, 12, 24, 94, 15, 128, 2, 157, 4, 192, 1, 14, 128, 2, 15, 244, 4, 255, 136, 8, 160, 6, 4, 12, 0, 4, 24, 94, 15, 128, 2, 181, 14, 40, 21, 15, 4, 0, 255, 120, 0, 116, 2, 46, 177, 217, 24, 94, 15, 128, 2, 112, 15, 84, 56, 41, 15, 4, 5, 255, 151, 14, 24, 94, 15, 128, 12, 119, 15, 84, 28, 27, 15, 128, 2, 255, 164, 15, 24, 94, 9, 15, 128, 2, 117, 15, 84, 28, 43, 15, 128, 7, 255, 152, 15, 128, 2, 181, 14, 92, 23, 15, 4, 0, 255, 156, 4, 52, 24, 15, 128, 2, 112, 15, 4, 0, 255, 143, 15, 208, 103, 5, 15, 80, 0, 37, 4, 252, 4, 0, 76, 34, 15, 128, 2, 255, 162, 15, 68, 20, 11, 15, 88, 0, 39, 0, 56, 43, 38, 0, 155, 16, 0, 4, 76, 43, 4, 116, 0, 0, 48, 2, 4, 184, 19, 15, 192, 0, 49, 47, 177, 217, 0, 5, 255, 252, 4, 148, 208, 8, 84, 11, 4, 144, 2, 12, 56, 22, 15, 116, 0, 51, 15, 128, 92, 255, 160, 31, 168, 40, 45, 88, 15, 56, 22, 9, 15, 108, 0, 48, 15, 0, 10, 255, 255, 8, 8, 128, 2, 47, 177, 217, 80, 116, 11, 15, 88, 7, 0, 15, 0, 5, 21, 15, 128, 7, 255, 255, 24, 15, 80, 116, 20, 15, 128, 2, 255, 255, 48, 15, 128, 12, 3, 15, 208, 113, 6, 15, 128, 2, 255, 151, 14, 152, 1, 15, 48, 2, 75, 31, 177, 52, 17, 7, 15, 56, 22, 54, 15, 212, 0, 8, 15, 128, 2, 255, 123, 12, 148, 62, 15, 176, 14, 85, 31, 177, 52, 17, 60, 4, 4, 0, 14, 248, 19, 15, 128, 2, 255, 144, 8, 200, 6, 31, 177, 48, 12, 72, 14, 192, 4, 14, 52, 17, 15, 200, 5, 80, 15, 128, 7, 255, 215, 15, 128, 2, 1, 4, 52, 7, 12, 12, 0, 0, 180, 14, 15, 200, 0, 85, 14, 236, 7, 15, 128, 12, 255, 196, 15, 128, 7, 4, 15, 52, 17, 78, 15, 124, 2, 8, 14, 112, 10, 15, 128, 2, 255, 201, 4, 128, 12, 4, 8, 0, 42, 0, 155, 20, 0, 15, 52, 17, 69, 15, 120, 2, 8, 15, 248, 12, 5, 15, 128, 17, 255, 203, 42, 0, 155, 128, 7, 4, 8, 5, 15, 52, 17, 24, 15, 120, 2, 70, 14, 136, 2, 15, 0, 20, 255, 200, 8, 8, 10, 15, 52, 17, 41, 14, 184, 4, 15, 120, 2, 47, 14, 136, 2, 15, 128, 2, 255, 28, 14, 116, 36, 15, 128, 2, 139, 12, 188, 0, 15, 108, 37, 44, 15, 116, 2, 1, 15, 132, 2, 45, 15, 128, 2, 255, 15, 15, 248, 38, 4, 15, 136, 12, 158, 15, 244, 4, 20, 15, 4, 0, 97, 15, 128, 2, 254, 15, 200, 8, 20, 15, 56, 27, 146, 14, 128, 2, 15, 124, 2, 6, 15, 128, 2, 230, 15, 100, 57, 12, 15, 4, 0, 255, 207, 15, 0, 5, 125, 15, 176, 26, 44, 15, 104, 6, 65, 15, 20, 5, 45, 15, 228, 5, 145, 15, 128, 7, 246, 14, 176, 26, 15, 104, 1, 78, 15, 148, 2, 218, 15, 188, 0, 25, 4, 180, 59, 4, 192, 27, 15, 128, 7, 255, 255, 35, 15, 76, 1, 41, 12, 64, 30, 15, 128, 7, 196, 15, 4, 0, 255, 71, 15, 204, 8, 27, 15, 64, 30, 79, 15, 4, 0, 0, 15, 0, 70, 109, 15, 220, 11, 255, 75, 12, 204, 8, 15, 244, 4, 21, 47, 232, 241, 64, 30, 11, 15, 172, 6, 55, 15, 128, 2, 255, 204, 15, 32, 2, 31, 15, 196, 163, 30, 15, 128, 2, 255, 243, 15, 48, 11, 57, 15, 196, 163, 36, 15, 0, 10, 255, 231, 15, 176, 18, 16, 15, 116, 47, 61, 15, 0, 10, 255, 251, 14, 228, 9, 15, 100, 0, 63, 0, 120, 7, 15, 192, 0, 12, 15, 128, 7, 209, 15, 172, 17, 9, 15, 128, 7, 255, 55, 15, 96, 1, 4, 15, 128, 2, 255, 3, 12, 124, 6, 14, 176, 27, 15, 92, 10, 255, 124, 15, 128, 2, 193, 14, 124, 6, 15, 0, 30, 255, 255, 29, 15, 160, 3, 56, 15, 128, 2, 255, 255, 100, 14, 4, 0, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169, 63, 255, 155, 63, 4, 0, 255, 235, 15, 128, 2, 255, 94, 4, 176, 20, 15, 128, 2, 255, 255, 99, 12, 48, 28, 15, 128, 2, 255, 255, 99, 8, 48, 28, 15, 128, 2, 255, 255, 31, 14, 60, 7, 15, 128, 7, 255, 204, 8, 40, 13, 15, 248, 0, 61, 14, 92, 0, 15, 60, 7, 255, 0, 14, 128, 1, 15, 0, 5, 255, 12, 12, 44, 1, 14, 56, 1, 15, 56, 0, 22, 15, 60, 7, 13, 15, 8, 2, 101, 15, 0, 5, 255, 91, 15, 160, 1, 25, 14, 72, 2, 15, 56, 0, 30, 15, 60, 7, 21, 15, 32, 3, 61, 15, 0, 10, 255, 199, 14, 52, 4, 15, 56, 0, 30, 15, 32, 3, 77, 15, 128, 2, 255, 187, 12, 220, 1, 14, 72, 2, 15, 56, 0, 30, 15, 32, 3, 81, 15, 0, 5, 255, 191, 15, 8, 10, 56, 15, 32, 3, 61, 15, 128, 2, 255, 227, 15, 144, 4, 89, 14, 44, 12, 15, 232, 2, 79, 8, 32, 62, 15, 32, 0, 8, 15, 80, 0, 34, 15, 4, 0, 20, 15, 128, 2, 186, 14, 212, 0, 15, 80, 19, 14, 15, 0, 20, 154, 14, 8, 10, 15, 0, 30, 255, 255, 89, 14, 4, 0, 15, 128, 2, 255, 255, 255, 250, 15, 32, 38, 0, 15, 0, 5, 255, 255, 255, 133, 15, 168, 3, 0, 15, 128, 2, 255, 135, 15, 84, 5, 20, 15, 8, 3, 255, 54, 15, 128, 12, 255, 255, 111, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 248, 8, 68, 58, 15, 16, 0, 17, 8, 20, 0, 8, 32, 0, 15, 228, 0, 0, 15, 80, 0, 34, 15, 84, 0, 25, 4, 12, 0, 15, 8, 0, 9, 14, 60, 0, 14, 32, 0, 15, 80, 0, 4, 15, 156, 0, 9, 15, 128, 2, 255, 59, 15, 8, 0, 57, 15, 240, 1, 0, 15, 20, 0, 10, 12, 32, 0, 14, 48, 0, 15, 80, 0, 6, 15, 128, 2, 21, 15, 240, 0, 69, 15, 0, 5, 255, 59, 15, 176, 4, 13, 15, 240, 1, 41, 14, 100, 2, 15, 128, 2, 11, 15, 100, 4, 0, 15, 160, 0, 13, 15, 64, 0, 29, 15, 128, 2, 49, 15, 0, 5, 255, 187, 15, 8, 5, 37, 15, 64, 0, 0, 15, 0, 5, 255, 163, 14, 120, 1, 15, 16, 9, 14, 15, 128, 2, 34, 15, 112, 10, 0, 15, 80, 10, 34, 15, 80, 2, 0, 14, 0, 5, 15, 128, 2, 20, 14, 164, 0, 15, 16, 10, 10, 14, 4, 10, 15, 0, 20, 255, 255, 255, 255, 255, 255, 255, 255, 196, 8, 8, 0, 12, 180, 0, 15, 48, 20, 24, 15, 128, 2, 255, 255, 24, 15, 8, 0, 0, 15, 128, 14, 30, 15, 24, 0, 0, 15, 0, 5, 255, 255, 28, 15, 224, 4, 0, 15, 4, 22, 9, 15, 64, 0, 1, 15, 0, 5, 255, 255, 52, 14, 100, 2, 14, 124, 2, 15, 16, 0, 20, 15, 0, 30, 255, 255, 52, 31, 54, 0, 10, 23, 15, 128, 2, 255, 255, 36, 15, 4, 0, 64, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43, 53, 143, 147, 154, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 5, 15, 80, 0, 8, 15, 36, 0, 10, 14, 128, 0, 15, 16, 0, 55, 15, 112, 0, 21, 15, 156, 0, 1, 12, 8, 0, 15, 48, 0, 4, 15, 32, 0, 29, 15, 128, 2, 255, 7, 8, 8, 0, 15, 12, 0, 0, 15, 48, 0, 13, 15, 32, 0, 34, 15, 240, 1, 0, 15, 144, 0, 13, 15, 32, 0, 34, 14, 112, 0, 14, 8, 2, 15, 144, 0, 4, 15, 240, 0, 50, 14, 120, 0, 15, 0, 5, 255, 12, 15, 128, 2, 29, 15, 64, 5, 4, 15, 128, 2, 26, 15, 192, 4, 17, 15, 124, 5, 0, 15, 128, 2, 38, 14, 156, 5, 15, 128, 2, 46, 15, 0, 5, 255, 47, 14, 208, 1, 15, 0, 5, 187, 15, 168, 4, 25, 12, 16, 3, 15, 240, 0, 52, 15, 128, 2, 255, 19, 15, 0, 10, 8, 14, 64, 4, 15, 0, 10, 52, 15, 128, 2, 32, 15, 48, 10, 54, 15, 52, 2, 4, 15, 32, 6, 1, 15, 32, 0, 25, 15, 0, 5, 255, 14, 15, 0, 20, 255, 255, 255, 255, 255, 255, 255, 113, 31, 103, 124, 82, 255, 255, 46, 78, 0, 0, 0, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 101, 14, 128, 2, 15, 124, 2, 255, 255, 77, 15, 128, 2, 4, 15, 124, 2, 255, 255, 104, 14, 132, 2, 15, 124, 2, 255, 255, 97, 14, 132, 2, 15, 124, 2, 255, 255, 97, 8, 132, 2, 15, 4, 0, 255, 255, 55, 15, 116, 2, 21, 255, 2, 67, 66, 77, 80, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 0, 0, 32, 156, 2, 8, 15, 4, 0, 255, 255, 83, 15, 124, 2, 5, 63, 207, 195, 197, 4, 0, 255, 255, 76, 143, 224, 210, 212, 255, 242, 227, 229, 255, 160, 22, 1, 127, 140, 134, 135, 255, 173, 164, 166, 128, 2, 255, 255, 76, 0, 124, 2, 4, 4, 0, 8, 28, 30, 113, 75, 75, 74, 255, 107, 104, 104, 132, 2, 14, 160, 12, 15, 4, 0, 255, 255, 61, 49, 196, 184, 186, 128, 2, 53, 189, 177, 181, 144, 7, 0, 128, 2, 0, 4, 0, 14, 124, 2, 15, 4, 0, 255, 255, 69, 127, 174, 156, 166, 255, 138, 129, 134, 128, 2, 255, 255, 255, 49, 63, 77, 0, 255, 128, 2, 255, 255, 104, 34, 0, 155, 200, 82, 63, 188, 204, 255, 128, 2, 255, 255, 96, 42, 39, 231, 208, 173, 63, 168, 119, 255, 0, 5, 255, 255, 96, 68, 50, 226, 0, 255, 140, 251, 14, 124, 2, 15, 128, 2, 255, 216, 12, 92, 178, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 132, 1, 166, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 73, 15, 4, 0, 255, 255, 35, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 31, 8, 28, 190, 255, 255, 38, 15, 128, 2, 57, 0, 132, 44, 15, 4, 0, 255, 234, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 201, 8, 108, 35, 15, 16, 0, 25, 15, 64, 0, 15, 15, 128, 2, 255, 255, 25, 57, 83, 37, 126, 64, 2, 8, 16, 0, 0, 12, 0, 12, 16, 0, 46, 232, 241, 64, 0, 0, 4, 0, 14, 16, 0, 15, 128, 2, 255, 255, 21, 15, 8, 0, 13, 14, 244, 4, 15, 0, 5, 255, 255, 61, 15, 8, 0, 13, 12, 208, 4, 8, 128, 2, 14, 32, 5, 10, 48, 5, 15, 0, 10, 255, 255, 71, 47, 232, 241, 0, 5, 255, 255, 53, 4, 176, 4, 4, 224, 4, 15, 16, 0, 56, 15, 128, 2, 255, 255, 20, 15, 4, 0, 72, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 63, 188, 182, 180, 4, 0, 2, 15, 0, 5, 255, 255, 91, 49, 53, 54, 52, 8, 0, 49, 54, 82, 171, 4, 0, 14, 0, 5, 15, 128, 2, 255, 255, 77, 0, 20, 81, 4, 124, 2, 15, 128, 2, 255, 34, 15, 68, 6, 4, 15, 116, 2, 255, 15, 12, 12, 0, 34, 177, 217, 252, 22, 15, 0, 5, 255, 34, 15, 68, 6, 0, 15, 128, 2, 255, 19, 0, 56, 1, 0, 12, 0, 0, 8, 0, 4, 116, 25, 0, 12, 0, 4, 80, 1, 8, 96, 1, 12, 20, 0, 15, 128, 2, 249, 14, 68, 6, 15, 120, 12, 255, 16, 0, 80, 2, 15, 60, 6, 5, 4, 112, 2, 12, 4, 0, 15, 128, 2, 249, 15, 68, 6, 8, 15, 0, 5, 255, 19, 14, 100, 2, 14, 4, 0, 15, 128, 2, 255, 18, 15, 68, 6, 28, 15, 128, 7, 254, 15, 108, 2, 24, 15, 128, 2, 250, 15, 68, 6, 36, 15, 148, 7, 255, 11, 31, 77, 128, 22, 255, 25, 15, 68, 6, 12, 15, 128, 2, 255, 27, 14, 28, 1, 15, 128, 2, 195, 0, 252, 101, 15, 4, 0, 53, 0, 128, 2, 47, 168, 119, 68, 6, 11, 14, 112, 0, 15, 4, 0, 255, 4, 15, 48, 1, 83, 15, 128, 22, 207, 14, 248, 19, 15, 0, 30, 255, 255, 89, 14, 224, 9, 15, 128, 2, 255, 255, 1, 15, 68, 6, 84, 15, 4, 0, 255, 135, 15, 0, 30, 255, 166, 12, 84, 98, 15, 0, 5, 255, 130, 15, 4, 0, 193, 47, 232, 241, 4, 0, 9, 15, 0, 5, 157, 15, 128, 2, 255, 156, 14, 124, 2, 15, 132, 2, 1, 15, 128, 2, 255, 255, 69, 14, 124, 2, 15, 132, 2, 9, 15, 128, 2, 255, 255, 49, 12, 72, 2, 15, 128, 2, 33, 14, 148, 2, 15, 128, 2, 255, 255, 17, 47, 232, 241, 4, 0, 77, 15, 128, 2, 255, 244, 15, 12, 2, 1, 47, 232, 241, 128, 2, 255, 255, 81, 15, 48, 7, 11, 15, 132, 2, 85, 15, 128, 2, 255, 255, 1, 15, 4, 0, 53, 47, 177, 217, 128, 2, 255, 255, 9, 15, 92, 2, 49, 47, 177, 217, 36, 0, 19, 47, 177, 217, 128, 2, 255, 255, 1, 14, 24, 2, 15, 56, 2, 19, 47, 177, 217, 4, 0, 43, 14, 192, 2, 15, 128, 2, 255, 228, 8, 132, 2, 15, 4, 0, 105, 15, 204, 5, 63, 15, 128, 2, 255, 176, 15, 32, 0, 45, 8, 40, 0, 15, 128, 2, 11, 15, 0, 28, 73, 15, 128, 17, 255, 152, 12, 12, 2, 12, 172, 35, 12, 32, 0, 15, 200, 2, 11, 15, 36, 0, 21, 15, 0, 28, 81, 15, 128, 22, 255, 160, 0, 120, 2, 4, 20, 148, 14, 48, 38, 15, 0, 28, 161, 15, 128, 2, 255, 160, 0, 16, 153, 46, 39, 231, 128, 2, 15, 0, 28, 183, 15, 128, 27, 255, 140, 14, 44, 43, 15, 0, 28, 197, 15, 128, 2, 255, 76, 14, 116, 45, 15, 0, 28, 153, 15, 128, 2, 255, 172, 15, 200, 9, 169, 31, 168, 0, 28, 90, 15, 128, 2, 118, 15, 200, 9, 255, 79, 31, 168, 0, 28, 94, 15, 128, 2, 195, 15, 72, 26, 141, 30, 168, 128, 7, 15, 0, 28, 255, 19, 15, 0, 5, 153, 4, 204, 74, 23, 168, 108, 62, 15, 4, 0, 44, 15, 0, 28, 255, 111, 15, 128, 2, 141, 38, 77, 0, 124, 2, 0, 88, 4, 0, 192, 0, 4, 228, 69, 15, 128, 2, 48, 15, 0, 28, 255, 111, 15, 128, 2, 121, 15, 164, 5, 5, 4, 172, 55, 8, 192, 0, 8, 128, 2, 15, 12, 5, 40, 15, 0, 28, 255, 111, 15, 128, 2, 113, 8, 116, 2, 8, 236, 113, 47, 232, 241, 44, 114, 3, 0, 12, 0, 0, 128, 2, 0, 8, 0, 31, 168, 140, 7, 255, 45, 14, 32, 0, 15, 0, 28, 69, 15, 128, 22, 131, 47, 232, 241, 128, 2, 3, 12, 4, 0, 15, 200, 10, 5, 4, 140, 2, 15, 12, 12, 9, 0, 160, 2, 4, 4, 0, 4, 140, 77, 15, 188, 12, 4, 15, 72, 0, 36, 15, 0, 65, 255, 168, 15, 128, 2, 0, 15, 4, 0, 30, 14, 0, 5, 15, 4, 0, 255, 132, 15, 148, 81, 1, 15, 128, 2, 125, 14, 228, 4, 15, 148, 2, 6, 14, 128, 7, 15, 4, 0, 255, 145, 4, 156, 18, 4, 204, 16, 15, 128, 2, 145, 8, 4, 0, 4, 244, 6, 15, 8, 20, 123, 15, 204, 7, 255, 24, 12, 24, 94, 15, 128, 2, 157, 4, 192, 1, 14, 128, 2, 15, 244, 4, 255, 136, 8, 160, 6, 4, 12, 0, 4, 24, 94, 15, 128, 2, 181, 14, 40, 21, 15, 4, 0, 255, 120, 0, 116, 2, 46, 177, 217, 24, 94, 15, 128, 2, 112, 15, 84, 56, 41, 15, 4, 5, 255, 151, 14, 24, 94, 15, 128, 12, 119, 15, 84, 28, 27, 15, 128, 2, 255, 164, 15, 24, 94, 9, 15, 128, 2, 117, 15, 84, 28, 43, 15, 128, 7, 255, 152, 15, 128, 2, 181, 14, 92, 23, 15, 4, 0, 255, 156, 4, 52, 24, 15, 128, 2, 112, 15, 4, 0, 255, 143, 15, 208, 103, 5, 15, 80, 0, 37, 4, 252, 4, 0, 76, 34, 15, 128, 2, 255, 162, 15, 68, 20, 11, 15 ]);
  143. fileData0.push.apply(fileData0, [ 88, 0, 39, 0, 56, 43, 38, 0, 155, 16, 0, 4, 76, 43, 4, 116, 0, 0, 48, 2, 4, 184, 19, 15, 192, 0, 49, 47, 177, 217, 0, 5, 255, 252, 4, 148, 208, 8, 84, 11, 4, 144, 2, 12, 56, 22, 15, 116, 0, 51, 15, 128, 92, 255, 160, 31, 168, 40, 45, 88, 15, 56, 22, 9, 15, 108, 0, 48, 15, 0, 10, 255, 255, 8, 8, 128, 2, 47, 177, 217, 80, 116, 11, 15, 88, 7, 0, 15, 0, 5, 21, 15, 128, 7, 255, 255, 24, 15, 80, 116, 20, 15, 128, 2, 255, 255, 48, 15, 128, 12, 3, 15, 208, 113, 6, 15, 128, 2, 255, 151, 14, 152, 1, 15, 48, 2, 75, 31, 177, 52, 17, 7, 15, 56, 22, 54, 15, 212, 0, 8, 15, 128, 2, 255, 123, 12, 148, 62, 15, 176, 14, 85, 31, 177, 52, 17, 60, 4, 4, 0, 14, 248, 19, 15, 128, 2, 255, 144, 8, 200, 6, 31, 177, 48, 12, 72, 14, 192, 4, 14, 52, 17, 15, 200, 5, 80, 15, 128, 7, 255, 215, 15, 128, 2, 1, 4, 52, 7, 12, 12, 0, 0, 180, 14, 15, 200, 0, 85, 14, 236, 7, 15, 128, 12, 255, 196, 15, 128, 7, 4, 15, 52, 17, 78, 15, 124, 2, 8, 14, 112, 10, 15, 128, 2, 255, 201, 4, 128, 12, 4, 8, 0, 42, 0, 155, 20, 0, 15, 52, 17, 69, 15, 120, 2, 8, 15, 248, 12, 5, 15, 128, 17, 255, 203, 42, 0, 155, 128, 7, 4, 8, 5, 15, 52, 17, 24, 15, 120, 2, 70, 14, 136, 2, 15, 0, 20, 255, 200, 8, 8, 10, 15, 52, 17, 41, 14, 184, 4, 15, 120, 2, 47, 14, 136, 2, 15, 128, 2, 255, 28, 14, 116, 36, 15, 128, 2, 139, 12, 188, 0, 15, 108, 37, 44, 15, 116, 2, 1, 15, 132, 2, 45, 15, 128, 2, 255, 15, 15, 248, 38, 4, 15, 136, 12, 158, 15, 244, 4, 20, 15, 4, 0, 97, 15, 128, 2, 254, 15, 200, 8, 20, 15, 56, 27, 146, 14, 128, 2, 15, 124, 2, 6, 15, 128, 2, 230, 15, 100, 57, 12, 15, 4, 0, 255, 207, 15, 0, 5, 125, 15, 176, 26, 44, 15, 104, 6, 65, 15, 20, 5, 45, 15, 228, 5, 145, 15, 128, 7, 246, 14, 176, 26, 15, 104, 1, 78, 15, 148, 2, 218, 15, 188, 0, 25, 4, 180, 59, 4, 192, 27, 15, 128, 7, 255, 255, 35, 15, 76, 1, 41, 12, 64, 30, 15, 128, 7, 196, 15, 4, 0, 255, 71, 15, 204, 8, 27, 15, 64, 30, 79, 15, 4, 0, 0, 15, 0, 70, 109, 15, 220, 11, 255, 75, 12, 204, 8, 15, 244, 4, 21, 47, 232, 241, 64, 30, 11, 15, 172, 6, 55, 15, 128, 2, 255, 204, 15, 32, 2, 31, 15, 196, 163, 30, 15, 128, 2, 255, 243, 15, 48, 11, 57, 15, 196, 163, 36, 15, 0, 10, 255, 231, 15, 176, 18, 16, 15, 116, 47, 61, 15, 0, 10, 255, 251, 14, 228, 9, 15, 100, 0, 63, 0, 120, 7, 15, 192, 0, 12, 15, 128, 7, 209, 15, 172, 17, 9, 15, 128, 7, 255, 55, 15, 96, 1, 4, 15, 128, 2, 255, 3, 12, 124, 6, 14, 176, 27, 15, 92, 10, 255, 124, 15, 128, 2, 193, 14, 124, 6, 15, 0, 30, 255, 255, 29, 15, 160, 3, 56, 15, 128, 2, 255, 255, 100, 14, 4, 0, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169, 63, 255, 155, 63, 4, 0, 255, 235, 15, 128, 2, 255, 94, 4, 176, 20, 15, 128, 2, 255, 255, 99, 12, 48, 28, 15, 128, 2, 255, 255, 99, 8, 48, 28, 15, 128, 2, 255, 255, 31, 14, 60, 7, 15, 128, 7, 255, 204, 8, 40, 13, 15, 248, 0, 61, 14, 92, 0, 15, 60, 7, 255, 0, 14, 128, 1, 15, 0, 5, 255, 12, 12, 44, 1, 14, 56, 1, 15, 56, 0, 22, 15, 60, 7, 13, 15, 8, 2, 101, 15, 0, 5, 255, 91, 15, 160, 1, 25, 14, 72, 2, 15, 56, 0, 30, 15, 60, 7, 21, 15, 32, 3, 61, 15, 0, 10, 255, 199, 14, 52, 4, 15, 56, 0, 30, 15, 32, 3, 77, 15, 128, 2, 255, 187, 12, 220, 1, 14, 72, 2, 15, 56, 0, 30, 15, 32, 3, 81, 15, 0, 5, 255, 191, 15, 8, 10, 56, 15, 32, 3, 61, 15, 128, 2, 255, 227, 15, 144, 4, 89, 14, 44, 12, 15, 232, 2, 79, 8, 32, 62, 15, 32, 0, 8, 15, 80, 0, 34, 15, 4, 0, 20, 15, 128, 2, 186, 14, 212, 0, 15, 80, 19, 14, 15, 0, 20, 154, 14, 8, 10, 15, 0, 30, 255, 255, 89, 14, 4, 0, 15, 128, 2, 255, 255, 255, 250, 15, 32, 38, 0, 15, 0, 5, 255, 255, 255, 133, 15, 168, 3, 0, 15, 128, 2, 255, 135, 15, 84, 5, 20, 15, 8, 3, 255, 54, 15, 128, 12, 255, 255, 111, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48, 15, 4, 0, 255, 242, 15, 128, 2, 56, 15, 4, 0, 255, 255, 35, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 49, 93, 85, 88, 4, 0, 0, 132, 2, 15, 128, 82, 255, 255, 95, 4, 124, 2, 0, 4, 0, 0, 120, 2, 78, 0, 0, 0, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 12, 128, 2, 63, 75, 65, 68, 124, 2, 255, 255, 92, 9, 132, 2, 111, 65, 68, 255, 75, 56, 63, 4, 0, 255, 255, 52, 15, 124, 2, 25, 9, 132, 2, 47, 56, 63, 4, 0, 255, 255, 56, 14, 124, 2, 15, 132, 2, 19, 15, 4, 0, 255, 255, 55, 15, 116, 2, 21, 208, 67, 66, 77, 80, 244, 0, 0, 0, 32, 0, 0, 0, 7, 132, 2, 7, 28, 0, 31, 5, 1, 0, 49, 31, 13, 1, 0, 4, 3, 31, 0, 31, 6, 55, 0, 5, 3, 8, 0, 34, 7, 6, 1, 0, 27, 13, 8, 0, 15, 155, 0, 49, 0, 252, 0, 19, 84, 244, 0, 27, 8, 252, 0, 115, 0, 0, 6, 6, 6, 7, 6, 9, 0, 3, 18, 0, 4, 26, 0, 15, 88, 1, 113, 15, 1, 0, 44, 4, 88, 1, 13, 8, 0, 15, 183, 1, 12, 31, 13, 88, 1, 46, 15, 96, 1, 1, 15, 88, 1, 27, 19, 69, 84, 1, 12, 88, 1, 0, 73, 0, 0, 196, 0, 15, 173, 1, 0, 1, 23, 0, 5, 105, 0, 15, 77, 0, 17, 9, 88, 0, 4, 75, 0, 0, 2, 0, 3, 3, 0, 3, 14, 0, 6, 84, 0, 15, 77, 0, 22, 21, 6, 86, 0, 2, 63, 0, 4, 83, 0, 15, 77, 0, 33, 2, 223, 0, 25, 6, 77, 0, 3, 91, 0, 47, 0, 0, 154, 0, 35, 27, 6, 154, 0, 31, 6, 154, 0, 32, 4, 74, 0, 1, 34, 0, 36, 6, 0, 150, 0, 28, 13, 65, 3, 14, 129, 1, 15, 1, 0, 40, 0, 77, 0, 83, 101, 0, 0, 0, 9, 4, 0, 15, 77, 0, 7, 20, 7, 8, 0, 36, 7, 7, 8, 0, 40, 7, 7, 8, 0, 4, 26, 0, 20, 7, 44, 0, 4, 42, 0, 15, 109, 0, 30, 5, 57, 0, 15, 9, 0, 6, 1, 117, 0, 22, 7, 106, 0, 7, 18, 0, 15, 109, 0, 27, 19, 7, 2, 0, 12, 232, 0, 15, 18, 0, 13, 11, 54, 0, 15, 218, 0, 22, 40, 0, 7, 66, 0, 9, 9, 0, 4, 209, 0, 9, 89, 1, 14, 74, 1, 15, 180, 1, 33, 12, 10, 0, 4, 45, 1, 22, 7, 118, 0, 3, 100, 0, 4, 85, 2, 15, 180, 1, 38, 10, 69, 0, 9, 162, 1, 15, 32, 0, 1, 31, 7, 109, 0, 32, 14, 253, 1, 15, 9, 0, 5, 15, 33, 2, 48, 14, 77, 1, 15, 10, 0, 23, 11, 218, 0, 147, 148, 0, 2, 0, 160, 0, 0, 0, 205, 227, 6, 7, 31, 0, 31, 255, 4, 0, 255, 255, 119, 14, 203, 20, 15, 4, 0, 255, 255, 69, 15, 124, 2, 255, 255, 107, 14, 132, 2, 14, 124, 2, 15, 132, 2, 255, 255, 86, 15, 128, 2, 255, 255, 255, 255, 255, 179, 63, 77, 0, 255, 128, 2, 255, 255, 104, 34, 0, 155, 127, 179, 63, 188, 204, 255, 128, 2, 255, 255, 96, 42, 39, 231, 3, 182, 63, 168, 119, 255, 0, 5, 255, 255, 96, 49, 50, 226, 0, 124, 2, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 12, 143, 186, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 124, 1, 166, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 65, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 15, 56, 57, 255, 255, 47, 15, 64, 0, 49, 63, 139, 138, 136, 4, 0, 255, 235, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 157, 14, 60, 2, 15, 128, 2, 255, 255, 89, 15, 124, 2, 44, 15, 128, 2, 45, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 47, 15, 128, 82, 255, 255, 68, 15, 192, 107, 32, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 40, 15, 128, 2, 37, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 32, 15, 128, 2, 45, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 28, 15, 132, 2, 53, 15, 124, 2, 255, 255, 108, 14, 132, 2, 15, 124, 2, 255, 255, 12, 15, 4, 0, 255, 255, 188, 255, 3, 67, 66, 77, 80, 20, 6, 0, 0, 48, 0, 0, 0, 32, 0, 0, 0, 8, 0, 1, 0, 89, 31, 6, 1, 0, 24, 15, 47, 0, 28, 47, 6, 6, 47, 0, 17, 79, 7, 7, 7, 7, 24, 0, 5, 31, 7, 48, 0, 23, 46, 7, 7, 49, 0, 15, 119, 0, 12, 31, 5, 48, 0, 27, 63, 5, 5, 5, 48, 0, 25, 16, 5, 1, 0, 15, 144, 0, 4, 15, 192, 0, 48, 17, 13, 47, 0, 63, 13, 6, 6, 60, 1, 14, 2, 13, 0, 18, 13, 1, 0, 14, 87, 1, 12, 124, 0, 18, 7, 26, 1, 20, 6, 47, 0, 30, 5, 49, 0, 9, 12, 1, 0, 47, 0, 6, 25, 1, 2, 13, 0, 14, 48, 0, 1, 83, 0, 14, 73, 1, 13, 75, 0, 47, 7, 7, 96, 0, 23, 5, 183, 0, 15, 192, 0, 2, 6, 123, 0, 4, 192, 0, 5, 135, 0, 9, 60, 1, 10, 73, 1, 8, 87, 1, 5, 35, 2, 4, 60, 1, 2, 34, 0, 9, 73, 1, 8, 27, 0, 6, 231, 0, 7, 47, 0, 39, 6, 6, 47, 0, 5, 87, 1, 14, 243, 1, 15, 64, 2, 4, 15, 243, 1, 24, 13, 160, 2, 9, 183, 0, 15, 0, 3, 17, 14, 47, 0, 15, 160, 2, 68, 14, 48, 0, 14, 173, 0, 15, 49, 0, 0, 15, 173, 0, 22, 30, 6, 129, 4, 15, 225, 4, 65, 15, 158, 5, 79, 15, 28, 6, 255, 255, 79, 16, 14, 1, 0, 15, 28, 6, 23, 0, 46, 0, 63, 5, 14, 14, 28, 6, 22, 0, 47, 0, 0, 48, 0, 31, 6, 28, 6, 20, 0, 47, 0, 10, 48, 0, 14, 28, 6, 15, 96, 0, 0, 15, 28, 6, 22, 4, 192, 0, 15, 28, 6, 22, 1, 32, 1, 15, 28, 6, 255, 255, 255, 255, 232, 10, 197, 4, 2, 42, 6, 31, 6, 56, 12, 21, 1, 104, 5, 47, 14, 14, 56, 12, 22, 2, 201, 5, 31, 14, 56, 12, 22, 9, 42, 6, 14, 56, 12, 15, 96, 0, 5, 15, 56, 12, 22, 8, 192, 0, 15, 56, 12, 18, 7, 42, 6, 15, 28, 6, 255, 255, 255, 138, 14, 197, 4, 15, 48, 0, 10, 46, 14, 14, 49, 0, 15, 155, 0, 9, 2, 94, 10, 15, 48, 0, 25, 8, 239, 10, 15, 48, 0, 16, 1, 220, 3, 15, 144, 0, 4, 15, 192, 0, 48, 10, 239, 10, 15, 84, 18, 255, 255, 255, 255, 255, 255, 43, 15, 28, 6, 255, 69, 10, 171, 19, 15, 28, 6, 14, 4, 252, 7, 14, 28, 6, 15, 92, 8, 22, 14, 243, 1, 14, 188, 8, 15, 111, 5, 0, 15, 28, 9, 23, 14, 111, 5, 15, 188, 8, 68, 31, 6, 28, 6, 255, 255, 255, 107, 9, 199, 3, 15, 28, 6, 15, 9, 248, 3, 15, 28, 6, 16, 12, 9, 18, 15, 28, 6, 13, 0, 135, 4, 7, 48, 0, 15, 28, 6, 11, 15, 96, 0, 23, 5, 51, 1, 14, 192, 0, 15, 28, 6, 12, 8, 184, 4, 15, 56, 12, 255, 255, 255, 255, 255, 153, 4, 226, 5, 15, 96, 0, 20, 5, 19, 6, 15, 56, 12, 20, 5, 163, 6, 15, 56, 12, 20, 5, 91, 11, 15, 28, 6, 20, 6, 3, 7, 15, 28, 6, 19, 14, 139, 11, 14, 28, 6, 14, 71, 20, 15, 28, 6, 255, 255, 219, 14, 31, 3, 14, 28, 6, 14, 48, 0, 15, 196, 42, 255, 255, 255, 255, 220, 83, 69, 0, 0, 0, 7, 4, 0, 15, 28, 6, 1, 86, 6, 9, 9, 9, 6, 7, 0, 2, 153, 0, 0, 176, 1, 3, 14, 0, 15, 77, 0, 27, 3, 63, 0, 72, 5, 5, 5, 6, 14, 0, 31, 6, 77, 0, 33, 4, 22, 0, 241, 2, 9, 7, 15, 0, 0, 0, 10, 7, 7, 7, 14, 0, 0, 0, 11, 7, 13, 22, 0, 31, 12, 231, 0, 28, 0, 239, 1, 6, 7, 0, 15, 231, 0, 44, 70, 12, 12, 12, 6, 7, 0, 15, 77, 0, 43, 35, 13, 13, 7, 0, 63, 13, 13, 13, 7, 0, 2, 15, 52, 1, 27, 18, 7, 6, 0, 18, 7, 6, 0, 8, 14, 0, 4, 28, 0, 15, 77, 0, 30, 4, 64, 0, 3, 79, 0, 47, 7, 7, 77, 0, 33, 1, 145, 4, 15, 7, 0, 8, 31, 0, 231, 0, 35, 18, 7, 6, 0, 46, 7, 7, 175, 0, 15, 206, 1, 22, 70, 10, 10, 10, 6, 7, 0, 15, 2, 3, 46, 3, 7, 0, 6, 64, 4, 11, 7, 0, 15, 77, 0, 16, 34, 8, 8, 3, 0, 83, 8, 8, 8, 7, 8, 1, 0, 2, 15, 0, 1, 29, 0, 23, 8, 30, 3, 15, 129, 1, 21, 33, 11, 11, 5, 0, 66, 11, 11, 11, 0, 4, 0, 2, 18, 0, 17, 0, 5, 0, 5, 7, 0, 15, 77, 0, 16, 18, 10, 6, 0, 33, 10, 10, 5, 0, 65, 10, 7, 10, 10, 8, 0, 37, 10, 0, 7, 0, 5, 37, 0, 15, 77, 0, 14, 49, 9, 9, 9, 7, 0, 33, 1, 9, 13, 0, 49, 1, 9, 9, 20, 0, 65, 9, 9, 0, 9, 14, 0, 4, 1, 0, 15, 77, 0, 18, 98, 15, 15, 15, 0, 0, 15, 7, 0, 3, 57, 13, 1, 9, 0, 32, 0, 15, 46, 4, 1, 48, 4, 3, 7, 0, 15, 231, 0, 16, 32, 4, 4, 117, 0, 85, 2, 2, 2, 7, 2, 7, 0, 85, 8, 8, 8, 15, 8, 7, 0, 16, 2, 1, 0, 15, 52, 1, 20, 5, 159, 2, 22, 7, 7, 0, 17, 6, 21, 0, 2, 15, 2, 47, 6, 0, 183, 5, 22, 82, 4, 4, 4, 4, 10, 125, 0, 48, 7, 2, 2, 229, 0, 28, 15, 7, 0, 2, 1, 0, 15, 231, 0, 24, 0, 252, 7, 0, 135, 3, 50, 8, 8, 14, 7, 0, 22, 8, 7, 0, 0, 29, 0, 15, 52, 1, 40, 0, 146, 0, 21, 14, 7, 0, 15, 52, 1, 12, 15, 235, 6, 76, 9, 93, 3, 15, 79, 3, 44, 102, 0, 6, 8, 8, 8, 6, 7, 0, 15, 54, 4, 43, 33, 1, 1, 3, 0, 32, 8, 8, 3, 0, 17, 1, 154, 0, 1, 15, 0, 32, 8, 1, 29, 0, 34, 8, 1, 37, 0, 4, 238, 13, 82, 1, 0, 0, 16, 0, 4, 0, 9, 77, 0, 25, 32, 1, 0, 71, 0, 32, 32, 7, 1, 0, 72, 32, 32, 32, 7, 31, 0, 31, 7, 16, 0, 159, 11, 208, 0, 12, 240, 0, 0, 28, 1, 38, 120, 0, 128, 4, 8, 28, 1, 10, 9, 1, 2, 81, 0, 15, 10, 0, 52, 5, 1, 0, 0, 128, 0, 19, 84, 120, 0, 27, 8, 128, 0, 1, 161, 0, 0, 8, 0, 38, 7, 7, 8, 0, 5, 169, 1, 1, 236, 0, 7, 15, 0, 26, 7, 44, 0, 63, 32, 32, 32, 92, 0, 9, 12, 93, 0, 20, 32, 8, 0, 11, 64, 1, 3, 34, 0, 27, 32, 91, 0, 31, 0, 92, 0, 10, 3, 93, 0, 19, 32, 85, 0, 35, 32, 7, 8, 0, 21, 32, 117, 0, 3, 10, 0, 0, 24, 0, 19, 7, 8, 0, 36, 32, 32, 56, 0, 15, 184, 0, 14, 26, 32, 85, 0, 8, 152, 0, 9, 216, 0, 9, 99, 0, 31, 32, 184, 0, 4, 15, 93, 0, 23, 15, 91, 0, 5, 47, 0, 32, 184, 0, 16, 35, 0, 0, 62, 0, 2, 99, 1, 4, 115, 1, 5, 26, 2, 8, 12, 0, 2, 45, 0, 39, 7, 32, 55, 0, 15, 92, 0, 12, 8, 93, 0, 6, 227, 2, 42, 7, 7, 4, 0, 7, 60, 2, 8, 53, 0, 15, 92, 0, 13, 5, 93, 1, 3, 84, 0, 42, 0, 32, 80, 0, 35, 32, 7, 140, 2, 37, 7, 7, 39, 0, 8, 201, 4, 15, 96, 3, 5, 49, 0, 0, 16, 1, 0, 0, 9, 0, 2, 231, 8, 16, 16, 10, 0, 1, 110, 17, 15, 10, 0, 16, 6, 50, 0, 1, 38, 14, 5, 20, 0, 21, 16, 90, 0, 15, 128, 0, 14, 19, 0, 38, 0, 69, 0, 0, 16, 7, 58, 0, 63, 6, 15, 15, 10, 0, 19, 6, 50, 0, 38, 7, 7, 20, 0, 21, 16, 90, 0, 15, 0, 1, 15, 0, 39, 0, 4, 9, 0, 6, 58, 0, 15, 10, 0, 50, 3, 90, 0, 15, 0, 1, 22, 7, 206, 0, 15, 10, 0, 13, 20, 7, 10, 0, 5, 246, 0, 20, 7, 119, 0, 13, 1, 1, 15, 0, 2, 32, 10, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 5, 246, 1, 35, 7, 7, 129, 0, 17, 16, 155, 17, 8, 1, 2, 15, 128, 0, 139, 10, 128, 1, 6, 88, 1, 21, 7, 88, 2, 3, 10, 0, 24, 7, 10, 0, 20, 6, 10, 0, 4, 148, 1, 5, 117, 0, 1, 51, 0, 14, 128, 1, 15, 128, 2, 19, 5, 57, 0, 31, 7, 10, 0, 1, 15, 108, 2, 1, 14, 30, 0, 15, 128, 2, 39, 7, 206, 0, 36, 14, 14, 88, 2, 15, 10, 0, 3, 15, 128, 3, 21, 15, 128, 4, 110, 15, 128, 0, 244, 16, 36, 231, 11, 3, 4, 0, 15, 176, 11, 6, 15, 44, 0, 32, 16, 245, 192, 13, 3, 4, 0, 15, 8, 12, 14, 5, 190, 7, 2, 14, 0, 1, 170, 0, 5, 53, 7, 17, 6, 30, 0, 0, 18, 0, 1, 42, 0, 53, 6, 32, 32, 30, 7, 67, 32, 7, 7, 13, 4, 8, 2, 14, 0, 0, 15, 0, 47, 7, 32, 15, 0, 3, 3, 82, 20, 7, 30, 0, 1, 61, 10, 15, 15, 0, 32, 3, 16, 0, 31, 32, 192, 0, 2, 0, 253, 0, 94, 19, 1, 0, 0, 17, 253, 0, 15, 1, 0, 51, 26, 17, 1, 0, 58, 0, 17, 7, 1, 0, 116, 17, 17, 7, 7, 13, 13, 7, 2, 0, 2, 17, 0, 7, 34, 0, 16, 13, 17, 0, 7, 33, 0, 17, 13, 17, 0, 15, 68, 0, 0, 17, 7, 48, 1, 2, 69, 0, 14, 34, 0, 13, 136, 0, 15, 1, 0, 7, 15, 32, 14, 70, 15, 61, 3, 17, 1, 146, 18, 47, 5, 16, 10, 0, 24, 2, 40, 2, 10, 20, 0, 14, 189, 3, 15, 128, 0, 51, 6, 108, 0, 14, 118, 0, 14, 61, 4, 15, 128, 0, 53, 15, 118, 0, 7, 15, 189, 4, 63, 15, 88, 1, 11, 7, 118, 0, 15, 61, 5, 68, 15, 118, 0, 7, 15, 189, 5, 83, 15, 118, 0, 7, 15, 128, 0, 89, 15, 61, 7, 255, 46, 4, 69, 1, 15, 128, 0, 91, 11, 60, 3, 31, 0, 128, 0, 83, 15, 40, 4, 6, 15, 0, 1, 74, 15, 40, 4, 7, 15, 128, 0, 73, 14, 10, 5, 15, 0, 1, 81, 15, 148, 5, 21, 11, 148, 0, 15, 128, 2, 44, 15, 10, 6, 27, 15, 128, 1, 0, 15, 128, 6, 64, 15, 138, 7, 26, 13, 128, 0, 15, 77, 8, 7, 5, 186, 12, 23, 16, 44, 13, 19, 16, 30, 14, 4, 14, 0, 21, 16, 42, 0, 0, 77, 0, 98, 184, 31, 0, 0, 90, 0, 4, 0, 47, 8, 0, 1, 0, 255, 25, 0, 146, 25, 1, 2, 0, 0, 8, 0, 2, 163, 25, 0, 3, 0, 12, 38, 0, 4, 34, 0, 47, 0, 14, 90, 0, 23, 3, 2, 0, 1, 51, 0, 23, 14, 16, 0, 15, 38, 0, 0, 31, 0, 90, 0, 27, 47, 14, 0, 90, 0, 17, 20, 14, 4, 0, 15, 180, 0, 69, 31, 0, 180, 0, 26, 4, 143, 0, 3, 90, 0, 47, 14, 0, 90, 0, 5, 4, 138, 1, 15, 28, 2, 113, 15, 1, 0, 9, 15, 38, 0, 15, 31, 0, 1, 0, 255, 255, 255, 37, 15, 63, 3, 71, 7, 124, 4, 15, 90, 0, 62, 1, 55, 6, 15, 180, 0, 69, 15, 90, 0, 68, 47, 14, 14, 90, 0, 72, 14, 31, 6, 15, 28, 2, 58, 15, 1, 0, 255, 255, 255, 194, 31, 13, 1, 0, 62, 47, 0, 0, 126, 9, 255, 255, 255, 131, 31, 0, 126, 9, 69, 47, 14, 0, 180, 0, 156, 14, 233, 14, 15, 126, 9, 255, 255, 255, 255, 255, 216, 0, 28, 1, 1, 4, 0, 17, 0, 85, 51, 1, 12, 0, 9, 24, 0, 34, 13, 0, 28, 0, 7, 48, 0, 54, 0, 0, 5, 28, 0, 5, 40, 0, 28, 13, 90, 0, 9, 2, 0, 0, 16, 0, 7, 114, 0, 7, 32, 0, 38, 0, 13, 48, 0, 53, 0, 5, 0, 28, 0, 4, 27, 0, 8, 126, 0, 14, 180, 0, 4, 136, 0, 5, 114, 0, 3, 176, 0, 13, 180, 0, 0, 90, 0, 23, 13, 90, 0, 3, 4, 0, 12, 180, 0, 8, 62, 0, 6, 122, 0, 47, 13, 0, 180, 0, 5, 31, 0, 180, 0, 21, 39, 0, 0, 100, 1, 4, 72, 1, 4, 180, 0, 6, 128, 1, 8, 48, 0, 0, 94, 48, 6, 28, 0, 7, 12, 0, 31, 0, 182, 13, 255, 88, 15, 1, 0, 255, 255, 255, 255, 224, 15, 13, 32, 10, 2, 148, 58, 31, 5, 1, 0, 1, 18, 13, 6, 0, 4, 54, 5, 2, 6, 0, 15, 167, 40, 17, 2, 195, 13, 15, 184, 28, 2, 3, 179, 69, 7, 77, 0, 147, 20, 50, 1, 0, 144, 0, 0, 0, 136, 210, 67, 4, 69, 0, 113, 59, 51, 73, 255, 64, 49, 62, 4, 0, 63, 0, 0, 2, 4, 0, 28, 31, 0, 16, 0, 255, 141, 15, 4, 0, 65, 81, 0, 255, 80, 49, 58, 4, 0, 8, 60, 2, 14, 64, 2, 15, 36, 2, 22, 15, 84, 2, 255, 221, 6, 64, 2, 0, 4, 0, 15, 64, 2, 8, 15, 86, 117, 255, 249, 15, 64, 2, 25, 30, 1, 56, 2, 15, 4, 0, 255, 247, 31, 1, 64, 2, 12, 29, 0, 64, 2, 63, 255, 173, 41, 4, 0, 86, 63, 83, 43, 29, 4, 0, 34, 15, 108, 0, 89, 14, 124, 0, 15, 108, 0, 43, 15, 152, 0, 0, 15, 4, 0, 122, 15, 64, 2, 27, 14, 180, 6, 15, 32, 2, 65, 15, 220, 1, 77, 14, 68, 0, 15, 56, 0, 35, 15, 184, 0, 9, 15, 68, 2, 213, 15, 64, 2, 31, 31, 1, 64, 2, 78, 15, 156, 1, 8, 14, 24, 0, 15, 92, 1, 84, 15, 124, 0, 0, 15, 44, 2, 1, 15, 16, 3, 9, 15, 72, 2, 57, 15, 64, 2, 255, 3, 15, 156, 1, 25, 14, 72, 1, 15, 104, 1, 2, 15, 132, 6, 94, 15, 116, 5, 53, 15, 144, 0, 16, 15, 64, 2, 160, 15, 0, 9, 87, 15, 132, 4, 0, 15, 44, 0, 9, 15, 192, 8, 106, 15, 72, 2, 0, 15, 116, 5, 50, 15, 68, 2, 145, 14, 72, 11, 15, 0, 9, 103, 15, 88, 4, 12, 15, 248, 10, 126, 15, 16, 2, 4, 15, 68, 2, 38, 14, 192, 0, 15, 68, 2, 18, 15, 64, 11, 246, 14, 12, 2, 15, 124, 6, 67, 15, 48, 2, 40, 15, 204, 6, 117, 15, 0, 9, 255, 7, 15, 176, 6, 8, 15, 224, 5, 33, 15, 32, 2, 65, 15, 244, 0, 117, 15, 0, 9, 255, 3, 14, 20, 4, 15, 216, 3, 14, 15, 100, 4, 21, 15, 60, 2, 142, 14, 164, 0, 15, 68, 2, 14, 15, 0, 9, 156, 14, 44, 0, 15, 136, 3, 85, 14, 8, 2, 15, 144, 1, 18, 14, 132, 4, 15, 124, 4, 160, 31, 255, 64, 20, 255, 21, 15, 100, 1, 44, 15, 180, 6, 1, 15, 4, 0, 177, 15, 64, 20, 205, 15, 4, 0, 255, 103, 15, 0, 9, 160, 15, 64, 2, 255, 55, 15, 228, 9, 12, 15, 72, 2, 25, 15, 0, 9, 157, 15, 64, 2, 255, 59, 14, 44, 14, 15, 236, 11, 34, 15, 64, 2, 255, 223, 14, 108, 4, 15, 108, 16, 46, 15, 64, 11, 145, 15, 64, 2, 255, 59, 15, 56, 2, 4, 15, 64, 2, 37, 15, 0, 9, 255, 219, 15, 248, 1, 4, 15, 64, 2, 41, 15, 192, 6, 255, 215, 31, 83, 40, 32, 3, 15, 0, 9, 255, 255, 8, 15, 40, 11, 0, 15, 68, 2, 17, 15, 64, 2, 29, 15, 0, 9, 255, 159, 14, 232, 1, 15, 24, 39, 35, 14, 56, 2, 14, 200, 31, 15, 0, 9, 255, 194, 15, 24, 2, 8, 15, 152, 25, 33, 15, 80, 36, 49, 15, 192, 6, 206, 53, 170, 204, 255, 4, 0, 15, 156, 6, 217, 31, 255, 48, 41, 43, 15, 36, 27, 25, 15, 64, 2, 194, 8, 56, 2, 0, 4, 0, 34, 232, 241, 4, 0, 15, 72, 2, 92, 15, 48, 41, 206, 15, 128, 4, 193, 15, 56, 2, 1, 47, 232, 241, 68, 2, 186, 15, 188, 51, 226, 15, 0, 9, 0, 15, 64, 2, 58, 14, 116, 4, 15, 64, 2, 199, 15, 224, 1, 44, 15, 196, 33, 25, 15, 128, 4, 210, 15, 60, 2, 21, 47, 232, 241, 16, 9, 10, 15, 88, 2, 214, 14, 252, 6, 15, 72, 2, 14, 15, 64, 2, 198, 15, 60, 2, 7, 15, 132, 4, 207, 31, 255, 48, 41, 55, 15, 128, 31, 226, 15, 60, 2, 7, 15, 132, 4, 18, 15, 148, 24, 226, 31, 83, 48, 41, 55, 15, 64, 2, 230, 14, 132, 4, 15, 124, 4, 223, 15, 48, 7, 52, 15, 64, 2, 255, 179, 15, 244, 4, 104, 15, 64, 2, 255, 255, 40, 14, 76, 2, 15, 64, 11, 162, 15, 64, 2, 255, 251, 53, 67, 49, 61, 4, 0, 15, 192, 15, 39, 15, 64, 2, 255, 255, 33, 14, 68, 2, 14, 80, 2, 15, 64, 2, 255, 255, 15, 14, 68, 2, 15, 76, 20, 22, 15, 64, 2, 255, 255, 40, 14, 140, 13, 15, 192, 6, 255, 255, 1, 15, 80, 11, 255, 58, 14, 60, 18, 15, 64, 11, 182, 15, 64, 2, 255, 91, 12, 68, 2, 15, 64, 2, 149, 15, 248, 1, 1, 14, 64, 2, 15, 68, 2, 5, 15, 12, 9, 255, 52, 15, 64, 2, 189, 8, 252, 1, 15, 4, 0, 23, 15, 4, 9, 255, 48, 8, 72, 2, 15, 64, 2, 173, 15, 72, 2, 21, 12, 36, 0, 14, 136, 13, 15, 196, 24, 255, 140, 15, 64, 2, 101, 15, 40, 0, 11, 15, 124, 4, 255, 148, 15, 64, 2, 81, 15, 192, 33, 19, 15, 60, 2, 255, 52, 15, 64, 2, 235, 15, 180, 6, 6, 15, 64, 11, 255, 227, 15, 64, 2, 53, 47, 170, 204, 156, 13, 10, 15, 12, 9, 255, 111, 15, 64, 2, 117, 15, 4, 9, 3, 15, 36, 18, 18, 15, 64, 2, 255, 255, 48, 14, 68, 2, 15, 192, 24, 255, 120, 53, 71, 49, 60, 4, 0, 15, 64, 11, 71, 15, 104, 20, 50, 15, 64, 2, 255, 235, 15, 128, 4, 7, 15, 68, 2, 26, 15, 4, 18, 255, 95, 15, 64, 2, 121, 15, 68, 2, 31, 15, 72, 18, 18, 15, 64, 2, 255, 219, 15, 184, 22, 17, 15, 80, 2, 32, 15, 64, 2, 255, 223, 14, 24, 9, 15, 68, 2, 46, 15, 64, 2, 255, 99, 53, 72, 50, 59, 4, 0, 15, 44, 0, 1, 15, 220, 1, 0, 15, 212, 6, 137, 15, 64, 2, 255, 147, 47, 170, 204, 204, 6, 85, 15, 64, 2, 255, 200, 47, 170, 204, 64, 2, 83, 15, 224, 31, 11, 15, 64, 2, 231, 63, 0, 163, 255, 64, 2, 174, 15, 68, 2, 53, 31, 255, 200, 76, 208, 8, 4, 0, 0, 252, 1, 15, 64, 2, 49, 14, 68, 2, 15, 64, 2, 159, 15, 68, 2, 47, 15, 60, 13, 219, 34, 0, 163, 52, 1, 14, 68, 2, 15, 68, 0, 31, 4, 72, 0, 15, 64, 2, 173, 47, 170, 204, 60, 2, 255, 20, 8, 88, 5, 46, 0, 163, 68, 2, 15, 64, 2, 233, 47, 170, 204, 56, 2, 255, 12, 4, 248, 1, 15, 4, 0, 59, 15, 64, 2, 111, 38, 75, 53, 4, 0, 15, 64, 2, 15, 15, 248, 44, 33, 15, 60, 2, 75, 14, 140, 22, 15, 64, 2, 223, 14, 68, 2, 15, 64, 2, 179, 4, 28, 13, 15, 128, 4, 53, 14, 240, 4, 15, 56, 36, 6, 15, 60, 2, 129, 15, 64, 2, 255, 31, 15, 212, 6, 16, 15, 60, 2, 58, 12, 72, 2, 15, 60, 2, 213, 14, 68, 2, 15, 192, 6, 203, 15, 68, 2, 0, 15, 168, 56, 69, 15, 60, 2, 113, 15, 64, 2, 255, 47, 15, 248, 1, 11, 15, 160, 2, 45, 15, 136, 4, 14, 15, 64, 2, 255, 63, 53, 78, 48, 57, 4, 0, 15, 64, 2, 61, 14, 16, 2, 15, 4, 0, 235, 15, 232, 1, 1, 49, 2, 0, 0, 4, 0, 15, 28, 2, 3, 15, 52, 0, 42, 15, 64, 2, 129, 15, 4, 0, 255, 39, 47, 0, 163, 64, 2, 218, 15, 0, 117, 255, 63, 14, 188, 6, 15, 196, 6, 159, 15, 64, 2, 45, 63, 199, 195, 194, 4, 0, 255, 35, 14, 60, 2, 15, 68, 2, 86, 15, 128, 4, 255, 179, 15, 64, 2, 245, 63, 156, 118, 131, 128, 4, 255, 159, 14, 68, 2, 15, 64, 2, 59, 53, 76, 48, 57, 4, 0, 15, 64, 2, 17, 0, 12, 10, 15, 168, 1, 133, 0, 160, 0, 14, 228, 2, 15, 60, 2, 147, 63, 54, 82, 171, 4, 0, 18, 15, 72, 2, 40, 15, 64, 2, 114, 4, 68, 2, 14, 72, 2, 15, 56, 2, 111, 8, 160, 0, 15, 124, 4, 245, 14, 68, 2, 15, 64, 2, 102, 15, 164, 1, 130, 12, 60, 2, 14, 68, 2, 15, 60, 2, 106, 15, 64, 2, 255, 3, 8, 216, 16, 15, 244, 1, 44, 15, 56, 2, 62, 14, 36, 5, 15, 60, 2, 247, 14, 68, 2, 15, 128, 4, 103, 4, 164, 1, 14, 4, 2, 15, 108, 6, 79, 15, 60, 2, 16, 14, 228, 2, 15, 60, 2, 128, 15, 156, 20, 51, 15, 64, 2, 119, 53, 77, 55, 58, 4, 0, 15, 64, 2, 17, 12, 4, 0, 15, 240, 1, 40, 15, 56, 2, 50, 15, 68, 2, 1, 4, 16, 0, 14, 188, 54, 15, 4, 0, 71, 15, 56, 2, 27, 15, 72, 2, 53, 15, 64, 2, 99, 53, 73, 47, 57, 4, 0, 15, 64, 2, 16, 15, 4, 0, 70, 15, 204, 4, 8, 15, 96, 0, 49, 15, 124, 4, 118, 14, 40, 25, 15, 68, 2, 151, 15, 64, 2, 73, 8, 236, 3, 15, 4, 0, 133, 15, 124, 4, 107, 15, 108, 27, 85, 15, 64, 2, 167, 15, 68, 2, 144, 15, 64, 2, 255, 135, 15, 4, 0, 157, 4, 240, 1, 15, 32, 9, 63, 15, 64, 2, 109, 15, 0, 9, 18, 15, 64, 2, 255, 47, 15, 156, 4, 79, 15, 64, 2, 127, 14, 128, 22, 15, 64, 2, 255, 60, 15, 72, 2, 9, 0, 64, 1, 8, 8, 0, 15, 64, 2, 255, 255, 11, 4, 68, 2, 12, 44, 2, 14, 60, 2, 15, 132, 4, 13, 15, 64, 2, 255, 160, 0, 40, 1, 15, 68, 2, 65, 15, 60, 2, 13, 63, 81, 135, 0, 64, 2, 12, 15, 60, 2, 171, 15, 64, 2, 5, 53, 70, 46, 57, 4, 0, 15, 64, 2, 173, 38, 0, 163, 180, 1, 15, 68, 2, 41, 0, 44, 1, 8, 12, 0, 4, 64, 2, 8, 68, 2, 12, 140, 4, 12, 64, 2, 5, 116, 1, 15, 64, 2, 60, 63, 79, 87, 95, 64, 2, 255, 47, 63, 168, 119, 255, 128, 4, 26, 8, 16, 2, 15, 64, 2, 33, 12, 4, 0, 8, 80, 2, 4, 16, 0, 8, 68, 2, 8, 28, 0, 12, 200, 1, 42, 81, 135, 72, 46, 12, 16, 0, 15, 60, 2, 68, 15, 64, 2, 246, 34, 168, 119, 172, 1, 15, 68, 2, 9, 0, 148, 1, 15, 68, 2, 0, 15, 20, 0, 26, 4, 68, 0, 0, 16, 0, 0, 12, 0, 15, 92, 1, 13, 4, 64, 2, 12, 40, 0, 12, 232, 46, 15, 64, 2, 25, 0, 48, 2, 8, 4, 0, 15, 60, 2, 21, 0, 84, 0, 15, 64, 2, 17, 0, 40, 0, 4, 4, 0, 15, 28, 0, 8, 15, 128, 4, 218, 8, 252, 1, 4, 0, 1, 8, 72, 4, 15, 48, 2, 5, 8, 60, 1, 8, 60, 0, 8, 64, 2, 15, 72, 2, 13, 8, 40, 0, 0, 124, 1, 14, 40, 49, 14, 224, 1, 4, 44, 0, 15, 76, 2, 1, 0, 16, 25, 8, 164, 18, 14, 120, 2, 15, 116, 4, 3, 8, 252, 1, 15, 4, 0, 1, 12, 32, 2, 15, 4, 0, 16, 15, 64, 2, 6, 53, 68, 46, 57, 4, 0, 53, 80, 58, 58, 4, 0, 15, 64, 2, 137, 0, 208, 0, 63, 54, 228, 0, 32, 0, 10, 8, 60, 2, 15, 96, 4, 4, 15, 172, 6, 14, 14, 116, 1, 6, 64, 2, 15, 84, 2, 5, 4, 48, 0, 4, 12, 9, 14, 68, 2, 6, 64, 2, 15, 232, 1, 13, 12, 64, 2, 14, 120, 2, 14, 72, 0, 15, 12, 2, 21, 15, 68, 2, 33, 15, 64, 2, 181, 12, 60, 2, 12, 16, 0, 14, 192, 6, 10, 220, 8, 12, 36, 4, 12, 132, 4, 12, 72, 4, 14, 180, 3, 15, 208, 3, 3, 49, 77, 0, 255, 4, 0, 15, 156, 13, 0, 15, 4, 0, 34, 15, 64, 2, 0, 15, 4, 0, 57, 15, 64, 2, 222, 4, 40, 2, 15, 124, 4, 17, 15, 24, 0, 5, 4, 48, 2, 0, 152, 8, 8, 20, 0, 15, 228, 5, 0, 15, 184, 3, 22, 4, 56, 2, 47, 77, 0, 224, 15, 7, 47, 77, 0, 4, 0, 23, 15, 64, 2, 255, 74, 4, 4, 0, 15, 92, 2, 0, 15, 64, 2, 10, 4, 28, 0, 42, 2, 0, 28, 2, 47, 54, 228, 228, 5, 23, 15, 132, 4, 0, 14, 120, 4, 15, 112, 4, 0, 15, 68, 2, 9, 4, 144, 6, 15, 28, 0, 1, 12, 64, 2, 63, 83, 37, 126, 64, 2, 255, 11, 14, 88, 4, 14, 60, 2, 15, 136, 4, 5, 8, 8, 2, 15, 20, 2, 5, 8, 96, 2, 4, 80, 0, 15, 76, 1, 37, 14, 240, 1, 15, 64, 2, 31, 4, 188, 8, 46, 39, 236, 68, 2, 15, 64, 2, 5, 0, 4, 0, 14, 172, 4, 15, 64, 2, 103, 53, 62, 45, 57, 4, 0, 15, 64, 2, 153, 14, 4, 0, 15, 64, 2, 3, 12, 180, 4, 14, 64, 2, 15, 60, 2, 51, 8, 68, 2, 15, 64, 2, 1, 12, 252, 1, 12, 52, 13, 15, 68, 2, 1, 12, 192, 15, 8, 64, 0, 4, 136, 0, 15, 64, 2, 121, 53, 77, 58, 62, 4, 0, 15, 64, 2, 0, 15, 12, 11, 98, 12, 36, 2, 14, 64, 2, 15, 76, 2, 10, 15, 44, 0, 18, 47, 54, 228, 60, 2, 51, 15, 4, 0, 25, 15, 236, 19, 3, 15, 40, 9, 30, 15, 64, 2, 186, 0, 68, 3, 15, 212, 8, 37, 15, 104, 4, 4, 15, 4, 0, 38, 14, 60, 2, 15, 64, 2, 43, 8, 244, 3, 15, 68, 2, 69, 14, 160, 6, 15, 60, 2, 10, 15, 64, 2, 186, 34, 39, 236, 188, 5, 14, 68, 2, 15, 88, 13, 27, 15, 64, 2, 9, 0, 56, 20, 14, 84, 2, 15, 4, 0, 59, 15, 112, 4, 0, 15, 4, 0, 74, 15, 60, 2, 25, 8, 144, 0, 15, 64, 2, 65, 47, 54, 228, 128, 4, 151, 15, 104, 4, 29, 8, 184, 24, 15, 68, 2, 77, 46, 54, 228, 60, 2, 15, 4, 0, 109, 14, 60, 2, 15, 64, 2, 171, 14, 236, 10, 14, 184, 19, 15, 96, 15, 9, 47, 81, 135, 168, 6, 31, 34, 168, 119, 60, 1, 15, 64, 2, 81, 8, 188, 1, 14, 20, 0, 15, 64, 2, 103, 14, 236, 1, 15, 12, 2, 23, 47, 54, 228, 64, 2, 135, 15, 156, 17, 13, 8, 64, 2, 14, 16, 11, 15, 216, 8, 25, 15, 60, 2, 91, 8, 68, 2, 15, 64, 2, 8, 15, 96, 2, 42, 15, 60, 0, 9, 46, 54, 228, 104, 13, 15, 100, 14, 3, 15, 64, 2, 51, 12, 104, 1, 15, 64, 2, 73, 15, 184, 8, 0, 15, 52, 22, 5, 14, 20, 11, 15, 4, 0, 164, 12, 240, 1, 4, 156, 4, 14, 160, 4, 15, 60, 2, 23, 14, 60, 0, 6, 56, 2, 14, 212, 1, 15, 64, 2, 39, 14, 56, 0, 15, 64, 2, 7, 47, 54, 228, 128, 4, 19, 53, 58, 44, 57, 4, 0, 53, 76, 59, 66, 4, 0, 15, 64, 2, 25, 8, 192, 19, 15, 228, 19, 12, 15, 64, 2, 214, 14, 52, 0, 15, 40, 0, 2, 15, 240, 4, 18, 31, 54, 252, 11, 32, 15, 24, 0, 3, 15, 40, 19, 9, 15, 64, 2, 79, 15, 116, 4, 4, 15, 64, 2, 6, 8, 132, 0, 14, 124, 4, 15, 4, 0, 231, 14, 184, 4, 15, 48, 7, 6, 15, 220, 7, 34, 47, 81, 135, 28, 19, 25, 15, 64, 2, 95, 15, 192, 0, 15, 15, 184, 8, 5, 15, 4, 0, 255, 16, 14, 52, 2, 15, 88, 14, 63, 14, 184, 1, 14, 0, 7, 15, 64, 2, 91, 15, 48, 2, 5, 15, 4, 0, 255, 128, 15, 120, 4, 5, 47, 81, 135, 64, 2, 47, 53, 74, 60, 70, 4, 0, 15, 64, 2, 3, 15, 4, 0, 255, 148, 15, 16, 11, 9, 47, 54, 228, 64, 2, 255, 255, 17, 47, 54, 228, 12, 2, 1, 15, 128, 4, 31, 31, 54, 192, 15, 16, 53, 56, 44, 57, 4, 0, 15, 64, 2, 255, 186, 47, 54, 228, 64, 2, 43, 14, 64, 20, 15, 64, 2, 255, 224, 14, 144, 4, 15, 116, 22, 5, 15, 64, 2, 255, 255, 17, 15, 68, 2, 13, 47, 54, 228, 64, 2, 255, 252, 14, 76, 17, 15, 232, 8, 5, 15, 64, 2, 255, 255, 13, 14, 12, 0, 15, 128, 4, 255, 255, 29, 47, 54, 228, 124, 31, 17, 15, 64, 2, 255, 255, 5, 14, 4, 0, 15, 64, 2, 255, 255, 25, 47, 54, 228, 64, 2, 31, 47, 54, 228, 64, 2, 43, 53, 73, 61, 74, 4, 0, 15, 64, 2, 45, 0, 148, 41, 15, 64, 2, 255, 138, 47, 54, 228, 64, 2, 135, 8, 136, 71, 15, 64, 2, 255, 122, 46, 54, 228, 64, 2, 15, 128, 4, 255, 255, 11, 31, 54, 252, 35, 18, 14, 128, 22, 15, 64, 2, 85, 0, 48, 47, 15, 128, 31, 7, 15, 84, 2, 255, 120, 14, 240, 35, 15, 64, 2, 111, 8, 176, 51, 15, 212, 6, 255, 154, 14, 88, 2, 15, 24, 18, 13, 15, 128, 4, 75, 47, 81, 135, 212, 6, 255, 160, 14, 64, 2, 15, 12, 0, 7, 8, 44, 0, 15, 64, 2, 49, 15, 16, 14, 29, 14, 180, 0, 14, 64, 2, 15, 28, 9, 255, 134, 13, 0, 4, 15, 64, 2, 52, 47, 54, 228, 12, 0, 9, 15, 64, 2, 255, 152, 15, 160, 1, 11, 15, 64, 2, 71, 15, 76, 34, 17, 47, 54, 228, 4, 0, 255, 192, 15, 128, 4, 57, 15, 60, 7, 7, 15, 64, 2, 255, 184, 47, 81, 135, 192, 6, 95, 47, 81, 135, 128, 4, 255, 255, 17, 15, 64, 11, 7, 15, 64, 2, 255, 255, 17, 15, 4, 0, 19, 15, 64, 2, 255, 243, 15, 4, 0, 255, 253, 15, 64, 2, 255, 255, 255, 255, 147, 63, 59, 51, 73, 64, 2, 255, 255, 40, 0, 60, 2, 147, 67, 66, 77, 80, 45, 0, 0, 0, 5, 4, 0, 41, 8, 0, 1, 0, 17, 13, 4, 0, 6, 2, 0, 32, 0, 13, 18, 0, 0, 53, 0, 83, 100, 1, 0, 0, 42, 49, 0, 8, 53, 0, 31, 8, 1, 0, 41, 19, 2, 1, 0, 13, 25, 0, 33, 15, 15, 4, 0, 35, 15, 15, 12, 0, 69, 2, 2, 15, 15, 43, 0, 32, 2, 2, 57, 0, 16, 8, 2, 0, 17, 8, 33, 0, 5, 2, 0, 0, 29, 0, 35, 15, 15, 43, 0, 16, 8, 32, 0, 3, 4, 0, 0, 42, 0, 47, 15, 15, 42, 0, 8, 1, 84, 0, 3, 47, 0, 8, 82, 0, 44, 15, 8, 126, 0, 40, 8, 2, 84, 0, 3, 4, 0, 33, 8, 15, 96, 0, 9, 210, 0, 6, 130, 0, 31, 2, 19, 1, 24, 15, 108, 1, 95, 2, 0, 1, 22, 8, 180, 0, 1, 1, 0, 0, 242, 0, 2, 125, 1, 4, 57, 1, 5, 205, 0, 3, 123, 1, 3, 83, 0, 1, 70, 1, 4, 137, 1, 2, 141, 1, 5, 159, 1, 15, 42, 0, 3, 5, 217, 1, 41, 8, 8, 82, 0, 44, 2, 8, 126, 0, 40, 8, 15, 84, 0, 4, 83, 1, 2, 255, 1, 9, 210, 0, 39, 15, 15, 126, 0, 15, 108, 1, 26, 23, 84, 104, 1, 15, 108, 1, 6, 3, 249, 1, 3, 161, 0, 40, 8, 8, 8, 0, 4, 24, 0, 6, 40, 0, 15, 92, 0, 27, 35, 15, 15, 6, 0, 3, 76, 2, 8, 8, 0, 4, 24, 0, 6, 40, 0, 15, 92, 0, 27, 0, 1, 0, 73, 14, 14, 14, 14, 8, 0, 1, 10, 0, 23, 14, 24, 0, 0, 20, 0, 2, 8, 0, 47, 8, 14, 92, 0, 27, 0, 210, 1, 9, 8, 0, 1, 10, 0, 23, 15, 24, 0, 3, 151, 1, 2, 208, 0, 97, 67, 80, 65, 76, 0, 3, 75, 0, 255, 81, 29, 43, 83, 126, 37, 83, 0, 135, 81, 171, 82, 54, 95, 87, 79, 194, 195, 199, 255, 241, 232, 255, 0, 77, 255, 163, 0, 255, 236, 39, 0, 228, 54, 41, 173, 255, 131, 118, 156, 255, 119, 168, 255, 204, 170, 12, 18, 35, 53, 41, 83, 94, 61, 82, 42, 121, 74, 152, 83, 60, 119, 114, 109, 209, 206, 207, 255, 180, 193, 255, 40, 57, 255, 181, 9, 191, 214, 42, 10, 214, 104, 63, 159, 230, 162, 118, 159, 255, 140, 168, 200, 161, 130, 2, 4, 8, 3, 0, 88, 17, 9, 3, 0, 15, 48, 0, 29, 9, 54, 0, 63, 3, 5, 10, 48, 0, 10, 12, 60, 0, 14, 48, 0, 15, 150, 0, 11, 56, 3, 5, 10, 3, 0, 254, 81, 41, 24, 20, 17, 29, 53, 66, 33, 54, 18, 83, 89, 116, 47, 41, 73, 51, 59, 162, 136, 121, 243, 239, 125, 190, 18, 80, 255, 108, 36, 168, 231, 46, 0, 181, 67, 6, 90, 181, 117, 70, 101, 255, 110, 89, 255, 157, 129, 52, 35, 31, 41, 31, 53, 54, 45, 62, 42, 74, 77, 105, 48, 45, 95, 72, 74, 182, 161, 122, 229, 183, 113, 206, 40, 69, 233, 138, 38, 126, 218, 51, 1, 158, 95, 33, 85, 161, 151, 80, 98, 255, 121, 99, 208, 135, 109, 128, 1, 15, 3, 0, 251, 0, 100, 3, 83, 101, 0, 0, 0, 9, 4, 0, 47, 8, 0, 1, 0, 3, 52, 7, 7, 7, 8, 0, 36, 7, 7, 8, 0, 47, 7, 7, 9, 0, 1, 5, 36, 0, 6, 54, 0, 3, 69, 0, 15, 109, 0, 19, 14, 91, 0, 15, 9, 0, 26, 15, 109, 0, 28, 3, 2, 0, 15, 18, 0, 44, 15, 109, 0, 14, 81, 16, 16, 16, 16, 0, 4, 0, 32, 7, 7, 5, 0, 4, 9, 0, 2, 22, 0, 25, 16, 41, 0, 1, 4, 0, 3, 36, 0, 23, 16, 18, 0, 15, 218, 0, 27, 15, 73, 0, 16, 6, 127, 0, 10, 145, 0, 0, 9, 0, 4, 181, 0, 15, 109, 0, 54, 15, 2, 1, 17, 0, 109, 0, 98, 184, 31, 0, 0, 90, 0, 4, 0, 47, 8, 0, 1, 0, 255, 25, 65, 14, 14, 14, 0, 2, 0, 18, 14, 4, 0, 17, 0, 8, 0, 13, 38, 0, 4, 34, 0, 47, 0, 14, 90, 0, 23, 3, 2, 0, 1, 51, 0, 23, 14, 16, 0, 15, 38, 0, 0, 31, 0, 90, 0, 27, 47, 14, 0, 90, 0, 17, 20, 14, 4, 0, 15, 180, 0, 69, 31, 0, 180, 0, 26, 4, 143, 0, 3, 90, 0, 47, 14, 0, 90, 0, 5, 4, 138, 1, 15, 28, 2, 113, 15, 1, 0, 9, 15, 38, 0, 15, 31, 0, 1, 0, 255, 239, 19, 13, 137, 15, 19, 13, 139, 15, 23, 13, 12, 0, 15, 89, 0, 43, 9, 233, 15, 10, 12, 0, 15, 90, 0, 52, 1, 167, 0, 25, 13, 12, 0, 15, 180, 0, 55, 12, 190, 0, 7, 1, 0, 15, 63, 3, 33, 4, 92, 1, 5, 172, 0, 6, 196, 0, 9, 95, 4, 5, 124, 4, 15, 1, 0, 60, 2, 185, 4, 15, 90, 0, 67, 31, 0, 90, 0, 70, 47, 14, 14, 90, 0, 72, 14, 31, 6, 15, 147, 5, 48, 15, 91, 5, 122, 4, 18, 3, 2, 196, 2, 57, 5, 0, 0, 16, 0, 15, 44, 3, 47, 3, 74, 0, 22, 5, 32, 3, 14, 90, 0, 15, 89, 0, 36, 2, 8, 0, 15, 90, 0, 58, 9, 74, 0, 8, 180, 0, 47, 13, 13, 104, 1, 56, 20, 5, 238, 3, 8, 115, 0, 15, 44, 7, 255, 182, 15, 1, 0, 61, 47, 0, 0, 126, 9, 255, 239, 2, 7, 0, 12, 8, 0, 31, 0, 69, 5, 56, 47, 0, 0, 70, 5, 58, 11, 164, 0, 6, 235, 4, 15, 84, 6, 55, 14, 180, 0, 15, 126, 9, 43, 12, 143, 5, 12, 112, 1, 25, 0, 126, 9, 31, 0, 126, 9, 69, 31, 14, 90, 0, 52, 15, 180, 0, 86, 14, 233, 14, 15, 126, 9, 191, 1, 66, 12, 3, 4, 0, 8, 37, 2, 15, 202, 8, 51, 8, 244, 12, 4, 118, 9, 15, 90, 0, 52, 45, 13, 13, 124, 3, 15, 180, 0, 64, 5, 230, 3, 15, 90, 0, 54, 11, 57, 4, 14, 90, 0, 15, 1, 0, 55, 15, 126, 9, 255, 255, 255, 40, 5, 20, 5, 3, 161, 33, 4, 28, 5, 6, 44, 5, 10, 108, 4, 2, 20, 8, 22, 5, 28, 0, 12, 84, 5, 6, 42, 0, 47, 0, 13, 88, 17, 2, 42, 13, 13, 116, 17, 46, 0, 13, 172, 13, 4, 24, 0, 5, 12, 0, 15, 180, 0, 6, 12, 28, 5, 5, 110, 17, 12, 180, 0, 3, 19, 15, 5, 90, 0, 14, 249, 18, 15, 22, 18, 2, 8, 204, 0, 15, 180, 0, 1, 31, 0, 180, 0, 21, 5, 34, 0, 10, 194, 18, 42, 13, 0, 128, 1, 26, 0, 19, 15, 7, 28, 0, 7, 12, 0, 31, 0, 182, 13, 255, 88, 15, 1, 0, 255, 255, 255, 255, 219, 80, 0, 0, 0, 0, 0, 99, 70, 73, 76, 0, 0, 0, 0, 76, 53, 0, 0, 112, 111, 100, 47, 102, 95, 112, 105, 99, 111, 56, 46, 112, 111, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 8, 0, 0, 241, 12, 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 102, 95, 112, 105, 99, 111, 56, 46, 112, 111, 100, 0, 98, 97, 47, 13, 0, 83, 47, 112, 111, 100, 47, 25, 0, 1, 37, 0, 15, 1, 0, 8, 247, 2, 67, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 28, 0, 66, 255, 255, 255, 255, 5, 0, 1, 12, 0, 15, 43, 0, 11, 79, 0, 0, 255, 0, 43, 0, 24, 31, 0, 43, 0, 19, 2, 128, 0, 15, 129, 0, 17, 3, 169, 0, 15, 43, 0, 16, 0, 123, 0, 18, 255, 128, 0, 15, 86, 0, 15, 47, 0, 255, 129, 0, 21, 4, 216, 0, 15, 129, 0, 18, 4, 85, 0, 15, 129, 0, 2, 15, 174, 1, 7, 15, 43, 0, 52, 47, 255, 255, 215, 0, 25, 2, 5, 1, 15, 172, 0, 58, 2, 125, 0, 15, 129, 0, 22, 0, 176, 1, 31, 0, 43, 0, 20, 6, 1, 0, 15, 172, 0, 12, 5, 40, 0, 15, 88, 1, 4, 14, 9, 3, 15, 43, 0, 18, 5, 2, 0, 15, 43, 0, 18, 31, 0, 43, 0, 22, 2, 3, 0, 15, 43, 0, 14, 21, 255, 92, 1, 47, 0, 0, 219, 2, 15, 6, 94, 1, 15, 4, 2, 16, 2, 220, 2, 15, 133, 2, 16, 4, 225, 3, 15, 178, 3, 18, 2, 7, 2, 31, 255, 219, 2, 17, 31, 255, 6, 3, 25, 2, 92, 1, 15, 43, 0, 19, 1, 47, 1, 15, 172, 0, 13, 47, 0, 255, 219, 2, 18, 7, 0, 2, 14, 172, 0, 15, 49, 3, 38, 24, 0, 129, 1, 15, 172, 0, 54, 6, 45, 2, 1, 6, 0, 15, 135, 3, 15, 5, 48, 2, 15, 129, 0, 12, 4, 6, 1, 31, 0, 86, 0, 14, 2, 169, 2, 47, 255, 255, 47, 2, 14, 7, 84, 1, 15, 131, 1, 18, 47, 0, 255, 4, 2, 18, 23, 255, 92, 1, 15, 215, 0, 15, 4, 173, 2, 15, 215, 0, 3, 14, 137, 3, 47, 0, 255, 4, 2, 23, 14, 135, 3, 15, 43, 0, 2, 3, 56, 6, 15, 90, 2, 24, 31, 255, 51, 4, 15, 5, 1, 1, 15, 16, 8, 17, 4, 56, 4, 15, 229, 7, 17, 3, 8, 1, 15, 57, 7, 15, 5, 95, 2, 15, 100, 7, 16, 31, 255, 94, 4, 20, 7, 185, 4, 15, 227, 6, 20, 31, 255, 16, 8, 16, 7, 15, 6, 15, 16, 8, 17, 15, 129, 0, 21, 31, 255, 86, 0, 21, 15, 215, 0, 21, 4, 222, 2, 3, 6, 0, 15, 43, 0, 21, 47, 255, 0, 47, 2, 16, 3, 54, 3, 31, 0, 100, 7, 16, 5, 6, 0, 15, 88, 1, 12, 5, 13, 7, 14, 133, 2, 15, 4, 2, 5, 15, 221, 3, 16, 4, 176, 2, 47, 0, 0, 188, 8, 15, 15, 10, 5, 20, 5, 183, 4, 14, 180, 4, 15, 86, 0, 5, 31, 0, 129, 0, 18, 21, 255, 175, 0, 31, 255, 145, 8, 17, 31, 255, 86, 0, 21, 3, 43, 0, 14, 94, 4, 15, 172, 0, 2, 15, 215, 0, 19, 47, 255, 0, 45, 1, 24, 30, 255, 8, 4, 15, 43, 0, 14, 15, 18, 9, 17, 4, 48, 1, 15, 43, 0, 14, 6, 152, 11, 15, 20, 10, 19, 14, 86, 0, 15, 174, 1, 9, 31, 0, 90, 2, 16, 14, 217, 1, 15, 133, 2, 14, 15, 178, 3, 16, 3, 67, 11, 15, 90, 2, 21, 47, 255, 0, 172, 0, 20, 3, 7, 0, 15, 174, 1, 21, 47, 0, 255, 192, 10, 23, 15, 90, 2, 23, 15, 86, 0, 22, 31, 255, 176, 2, 19, 5, 150, 8, 15, 90, 2, 17, 31, 255, 2, 1, 22, 31, 0, 184, 6, 18, 7, 10, 6, 31, 255, 10, 5, 17, 31, 255, 96, 5, 17, 10, 101, 7, 15, 149, 10, 12, 15, 192, 10, 22, 10, 224, 0, 31, 67, 61, 9, 14, 15, 75, 16, 27, 14, 49, 3, 15, 14, 7, 5, 15, 137, 4, 17, 47, 255, 255, 221, 3, 21, 8, 175, 3, 15, 243, 14, 20, 3, 235, 7, 15, 43, 0, 22, 47, 0, 0, 172, 0, 20, 15, 188, 8, 15, 15, 45, 1, 25, 15, 104, 9, 25, 6, 43, 0, 15, 239, 12, 13, 15, 96, 5, 21, 9, 229, 8, 15, 159, 15, 18, 14, 53, 5, 15, 174, 1, 4, 15, 43, 0, 19, 6, 93, 5, 14, 96, 5, 15, 133, 2, 7, 14, 174, 1, 15, 59, 8, 1, 15, 96, 5, 18, 47, 255, 255, 45, 1, 22, 5, 101, 10, 14, 94, 4, 15, 174, 1, 8, 15, 241, 13, 16, 15, 96, 5, 21, 8, 3, 3, 15, 86, 0, 22, 31, 255, 176, 2, 19, 5 ]);
  144. fileData0.push.apply(fileData0, [ 51, 1, 15, 151, 11, 21, 15, 237, 11, 20, 47, 0, 255, 210, 19, 24, 15, 14, 7, 15, 47, 255, 0, 88, 1, 22, 5, 177, 5, 15, 145, 8, 17, 5, 196, 12, 15, 10, 5, 4, 15, 35, 16, 4, 0, 43, 0, 95, 55, 0, 0, 0, 7, 208, 18, 15, 15, 1, 0, 1, 15, 63, 0, 10, 15, 2, 0, 15, 15, 63, 0, 11, 9, 132, 0, 8, 197, 8, 4, 70, 3, 15, 63, 0, 9, 7, 136, 18, 7, 68, 22, 3, 246, 19, 15, 63, 0, 15, 5, 91, 6, 2, 57, 0, 15, 14, 0, 1, 15, 126, 0, 10, 4, 152, 6, 24, 255, 131, 12, 5, 161, 1, 15, 63, 0, 16, 5, 55, 0, 27, 255, 253, 16, 3, 28, 0, 15, 252, 0, 12, 47, 0, 255, 56, 0, 4, 3, 155, 0, 15, 126, 0, 19, 5, 113, 1, 4, 124, 1, 14, 126, 0, 15, 189, 0, 7, 7, 245, 0, 7, 126, 0, 31, 255, 252, 0, 24, 6, 255, 3, 7, 65, 9, 15, 248, 1, 21, 27, 255, 248, 1, 31, 0, 248, 1, 19, 43, 255, 255, 39, 2, 5, 181, 1, 15, 244, 2, 17, 8, 232, 0, 6, 7, 2, 9, 16, 1, 15, 181, 2, 26, 7, 0, 25, 15, 244, 2, 17, 7, 54, 3, 31, 0, 248, 1, 33, 15, 37, 4, 4, 6, 1, 0, 15, 189, 0, 20, 7, 122, 0, 3, 219, 16, 15, 189, 0, 29, 7, 135, 1, 25, 255, 74, 19, 15, 248, 1, 12, 10, 238, 0, 10, 10, 1, 15, 55, 2, 20, 10, 189, 0, 15, 122, 1, 22, 5, 221, 2, 4, 229, 5, 25, 255, 53, 22, 15, 63, 0, 19, 9, 135, 16, 2, 227, 16, 15, 122, 1, 26, 11, 82, 21, 15, 244, 2, 26, 15, 14, 0, 2, 15, 232, 5, 23, 15, 7, 0, 2, 15, 232, 5, 16, 14, 177, 1, 22, 255, 69, 22, 2, 12, 0, 15, 169, 5, 16, 6, 92, 4, 7, 109, 13, 47, 0, 255, 122, 1, 16, 5, 156, 3, 3, 155, 5, 8, 186, 3, 14, 236, 4, 15, 181, 2, 4, 27, 255, 197, 0, 6, 232, 10, 31, 0, 252, 0, 15, 25, 255, 237, 6, 6, 152, 25, 31, 255, 244, 2, 15, 8, 69, 23, 6, 114, 22, 11, 217, 25, 15, 110, 4, 10, 12, 123, 1, 24, 255, 230, 6, 15, 181, 2, 14, 3, 253, 0, 7, 241, 4, 3, 80, 1, 14, 228, 6, 15, 251, 22, 7, 8, 120, 0, 9, 128, 14, 15, 189, 0, 19, 8, 4, 14, 4, 163, 25, 15, 110, 4, 26, 29, 255, 77, 14, 15, 169, 5, 16, 15, 7, 0, 2, 15, 55, 2, 33, 7, 61, 1, 4, 59, 1, 15, 126, 0, 17, 7, 27, 30, 28, 255, 189, 0, 15, 161, 7, 17, 7, 245, 0, 6, 71, 0, 5, 64, 0, 15, 252, 0, 16, 7, 67, 0, 40, 255, 255, 3, 1, 15, 110, 4, 16, 8, 52, 1, 43, 255, 255, 18, 1, 31, 0, 232, 5, 19, 13, 127, 1, 5, 140, 2, 15, 63, 0, 20, 9, 160, 5, 15, 181, 2, 21, 11, 184, 0, 31, 255, 118, 2, 28, 5, 135, 8, 5, 59, 1, 8, 133, 2, 15, 189, 0, 15, 6, 44, 3, 4, 237, 4, 7, 246, 4, 31, 0, 169, 5, 14, 43, 0, 255, 46, 6, 7, 187, 13, 5, 187, 12, 15, 126, 0, 10, 11, 244, 16, 6, 63, 27, 14, 248, 1, 15, 118, 2, 4, 7, 216, 5, 40, 0, 255, 41, 5, 47, 0, 255, 244, 2, 16, 5, 116, 20, 11, 14, 0, 15, 106, 5, 13, 24, 255, 96, 4, 12, 110, 4, 15, 51, 3, 19, 15, 191, 3, 0, 6, 252, 6, 47, 0, 255, 90, 9, 18, 43, 255, 255, 77, 29, 5, 59, 2, 15, 98, 7, 12, 12, 203, 11, 27, 0, 192, 30, 15, 27, 9, 21, 28, 255, 179, 6, 6, 138, 15, 15, 78, 12, 9, 29, 0, 118, 4, 6, 244, 3, 15, 11, 13, 17, 11, 56, 2, 7, 144, 1, 15, 51, 3, 16, 15, 25, 8, 0, 7, 146, 13, 31, 255, 39, 6, 19, 29, 255, 14, 0, 31, 255, 236, 4, 17, 4, 142, 7, 8, 120, 1, 6, 183, 1, 47, 255, 0, 177, 3, 17, 41, 0, 0, 193, 12, 10, 51, 7, 15, 70, 14, 21, 13, 196, 0, 14, 161, 7, 15, 102, 6, 6, 10, 6, 2, 15, 244, 2, 22, 11, 147, 7, 9, 229, 5, 15, 106, 5, 25, 11, 245, 2, 47, 255, 255, 185, 1, 18, 40, 0, 255, 203, 14, 9, 16, 10, 7, 104, 17, 15, 126, 0, 30, 14, 55, 2, 15, 236, 4, 26, 15, 157, 8, 23, 24, 0, 29, 7, 41, 255, 255, 171, 5, 14, 70, 14, 15, 252, 0, 3, 9, 53, 4, 6, 68, 2, 15, 122, 1, 2, 15, 201, 13, 7, 11, 47, 7, 15, 7, 14, 21, 15, 250, 2, 5, 15, 70, 14, 21, 9, 102, 4, 6, 191, 15, 15, 63, 0, 26, 7, 253, 0, 15, 66, 15, 26, 7, 192, 2, 28, 255, 80, 1, 15, 126, 0, 13, 44, 255, 255, 185, 15, 15, 240, 3, 23, 10, 216, 9, 47, 255, 0, 51, 3, 38, 13, 119, 0, 15, 196, 14, 17, 11, 209, 9, 5, 202, 0, 6, 238, 6, 15, 114, 3, 19, 8, 242, 1, 7, 145, 11, 31, 255, 252, 0, 25, 14, 14, 0, 15, 149, 10, 20, 12, 209, 10, 47, 255, 0, 43, 5, 29, 5, 187, 22, 14, 244, 2, 15, 55, 2, 21, 9, 7, 0, 15, 122, 1, 5, 15, 146, 11, 14, 31, 0, 35, 7, 21, 7, 93, 8, 9, 79, 11, 5, 211, 10, 15, 189, 0, 28, 8, 100, 7, 14, 70, 14, 15, 248, 1, 18, 15, 15, 12, 27, 8, 34, 4, 15, 189, 0, 35, 5, 38, 4, 28, 255, 190, 0, 15, 172, 20, 18, 14, 81, 13, 15, 173, 4, 19, 8, 153, 29, 15, 189, 0, 32, 7, 93, 5, 15, 126, 0, 33, 47, 0, 255, 231, 7, 4, 5, 129, 1, 15, 70, 14, 32, 15, 126, 0, 23, 15, 196, 0, 1, 9, 203, 0, 15, 118, 2, 26, 9, 242, 18, 14, 86, 10, 15, 189, 0, 13, 5, 57, 20, 47, 0, 255, 165, 6, 21, 31, 255, 6, 14, 1, 15, 39, 6, 19, 7, 28, 9, 12, 12, 12, 3, 25, 0, 15, 255, 15, 18, 8, 6, 14, 6, 68, 14, 15, 196, 14, 24, 15, 118, 2, 37, 31, 0, 71, 12, 4, 3, 8, 0, 15, 169, 5, 32, 8, 9, 3, 15, 98, 7, 32, 15, 66, 15, 23, 7, 192, 15, 9, 77, 0, 3, 14, 0, 15, 58, 17, 19, 8, 159, 5, 5, 4, 1, 15, 160, 23, 18, 15, 183, 0, 2, 6, 223, 24, 15, 78, 12, 37, 4, 15, 0, 15, 106, 5, 39, 47, 255, 0, 110, 4, 23, 14, 7, 0, 14, 227, 22, 15, 11, 13, 6, 6, 49, 0, 12, 14, 0, 15, 121, 17, 22, 15, 254, 3, 0, 14, 220, 8, 15, 35, 7, 2, 11, 7, 0, 31, 0, 70, 14, 24, 31, 255, 7, 0, 3, 15, 125, 16, 18, 15, 49, 1, 0, 7, 16, 16, 15, 165, 6, 27, 13, 25, 13, 15, 43, 5, 21, 47, 255, 0, 35, 7, 42, 15, 186, 1, 3, 47, 0, 255, 94, 8, 27, 31, 0, 43, 5, 32, 6, 32, 4, 14, 188, 0, 15, 63, 0, 19, 14, 51, 3, 15, 78, 12, 28, 11, 204, 0, 31, 255, 47, 4, 22, 10, 58, 3, 12, 64, 0, 15, 110, 4, 25, 9, 84, 11, 15, 15, 12, 25, 6, 215, 9, 3, 143, 9, 160, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0 ]);
  145. Module["FS_createDataFile"]("/", "data.pod", fileData0, true, true, false);
  146. }
  147. if (Module["calledRun"]) {
  148. runWithFS();
  149. } else {
  150. if (!Module["preRun"]) Module["preRun"] = [];
  151. Module["preRun"].push(runWithFS);
  152. }
  153. };
  154. loadPackage({
  155. "files": []
  156. });
  157. })();
  158. var moduleOverrides = {};
  159. var key;
  160. for (key in Module) {
  161. if (Module.hasOwnProperty(key)) {
  162. moduleOverrides[key] = Module[key];
  163. }
  164. }
  165. Module["arguments"] = [];
  166. Module["thisProgram"] = "./this.program";
  167. Module["quit"] = function(status, toThrow) {
  168. throw toThrow;
  169. };
  170. Module["preRun"] = [];
  171. Module["postRun"] = [];
  172. var ENVIRONMENT_IS_WEB = false;
  173. var ENVIRONMENT_IS_WORKER = false;
  174. var ENVIRONMENT_IS_NODE = false;
  175. var ENVIRONMENT_IS_SHELL = false;
  176. ENVIRONMENT_IS_WEB = typeof window === "object";
  177. ENVIRONMENT_IS_WORKER = typeof importScripts === "function";
  178. ENVIRONMENT_IS_NODE = typeof process === "object" && typeof require === "function" && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
  179. ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
  180. var scriptDirectory = "";
  181. function locateFile(path) {
  182. if (Module["locateFile"]) {
  183. return Module["locateFile"](path, scriptDirectory);
  184. } else {
  185. return scriptDirectory + path;
  186. }
  187. }
  188. if (ENVIRONMENT_IS_NODE) {
  189. scriptDirectory = __dirname + "/";
  190. var nodeFS;
  191. var nodePath;
  192. Module["read"] = function shell_read(filename, binary) {
  193. var ret;
  194. ret = tryParseAsDataURI(filename);
  195. if (!ret) {
  196. if (!nodeFS) nodeFS = require("fs");
  197. if (!nodePath) nodePath = require("path");
  198. filename = nodePath["normalize"](filename);
  199. ret = nodeFS["readFileSync"](filename);
  200. }
  201. return binary ? ret : ret.toString();
  202. };
  203. Module["readBinary"] = function readBinary(filename) {
  204. var ret = Module["read"](filename, true);
  205. if (!ret.buffer) {
  206. ret = new Uint8Array(ret);
  207. }
  208. assert(ret.buffer);
  209. return ret;
  210. };
  211. if (process["argv"].length > 1) {
  212. Module["thisProgram"] = process["argv"][1].replace(/\\/g, "/");
  213. }
  214. Module["arguments"] = process["argv"].slice(2);
  215. if (typeof module !== "undefined") {
  216. module["exports"] = Module;
  217. }
  218. process["on"]("uncaughtException", function(ex) {
  219. if (!(ex instanceof ExitStatus)) {
  220. throw ex;
  221. }
  222. });
  223. process["on"]("unhandledRejection", abort);
  224. Module["quit"] = function(status) {
  225. process["exit"](status);
  226. };
  227. Module["inspect"] = function() {
  228. return "[Emscripten Module object]";
  229. };
  230. } else if (ENVIRONMENT_IS_SHELL) {
  231. if (typeof read != "undefined") {
  232. Module["read"] = function shell_read(f) {
  233. var data = tryParseAsDataURI(f);
  234. if (data) {
  235. return intArrayToString(data);
  236. }
  237. return read(f);
  238. };
  239. }
  240. Module["readBinary"] = function readBinary(f) {
  241. var data;
  242. data = tryParseAsDataURI(f);
  243. if (data) {
  244. return data;
  245. }
  246. if (typeof readbuffer === "function") {
  247. return new Uint8Array(readbuffer(f));
  248. }
  249. data = read(f, "binary");
  250. assert(typeof data === "object");
  251. return data;
  252. };
  253. if (typeof scriptArgs != "undefined") {
  254. Module["arguments"] = scriptArgs;
  255. } else if (typeof arguments != "undefined") {
  256. Module["arguments"] = arguments;
  257. }
  258. if (typeof quit === "function") {
  259. Module["quit"] = function(status) {
  260. quit(status);
  261. };
  262. }
  263. } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
  264. if (ENVIRONMENT_IS_WORKER) {
  265. scriptDirectory = self.location.href;
  266. } else if (document.currentScript) {
  267. scriptDirectory = document.currentScript.src;
  268. }
  269. if (scriptDirectory.indexOf("blob:") !== 0) {
  270. scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1);
  271. } else {
  272. scriptDirectory = "";
  273. }
  274. Module["read"] = function shell_read(url) {
  275. try {
  276. var xhr = new XMLHttpRequest();
  277. xhr.open("GET", url, false);
  278. xhr.send(null);
  279. return xhr.responseText;
  280. } catch (err) {
  281. var data = tryParseAsDataURI(url);
  282. if (data) {
  283. return intArrayToString(data);
  284. }
  285. throw err;
  286. }
  287. };
  288. if (ENVIRONMENT_IS_WORKER) {
  289. Module["readBinary"] = function readBinary(url) {
  290. try {
  291. var xhr = new XMLHttpRequest();
  292. xhr.open("GET", url, false);
  293. xhr.responseType = "arraybuffer";
  294. xhr.send(null);
  295. return new Uint8Array(xhr.response);
  296. } catch (err) {
  297. var data = tryParseAsDataURI(url);
  298. if (data) {
  299. return data;
  300. }
  301. throw err;
  302. }
  303. };
  304. }
  305. Module["readAsync"] = function readAsync(url, onload, onerror) {
  306. var xhr = new XMLHttpRequest();
  307. xhr.open("GET", url, true);
  308. xhr.responseType = "arraybuffer";
  309. xhr.onload = function xhr_onload() {
  310. if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
  311. onload(xhr.response);
  312. return;
  313. }
  314. var data = tryParseAsDataURI(url);
  315. if (data) {
  316. onload(data.buffer);
  317. return;
  318. }
  319. onerror();
  320. };
  321. xhr.onerror = onerror;
  322. xhr.send(null);
  323. };
  324. Module["setWindowTitle"] = function(title) {
  325. document.title = title;
  326. };
  327. } else {}
  328. var out = Module["print"] || (typeof console !== "undefined" ? console.log.bind(console) : typeof print !== "undefined" ? print : null);
  329. var err = Module["printErr"] || (typeof printErr !== "undefined" ? printErr : typeof console !== "undefined" && console.warn.bind(console) || out);
  330. for (key in moduleOverrides) {
  331. if (moduleOverrides.hasOwnProperty(key)) {
  332. Module[key] = moduleOverrides[key];
  333. }
  334. }
  335. moduleOverrides = undefined;
  336. var STACK_ALIGN = 16;
  337. function dynamicAlloc(size) {
  338. var ret = HEAP32[DYNAMICTOP_PTR >> 2];
  339. var end = ret + size + 15 & -16;
  340. if (end <= _emscripten_get_heap_size()) {
  341. HEAP32[DYNAMICTOP_PTR >> 2] = end;
  342. } else {
  343. return 0;
  344. }
  345. return ret;
  346. }
  347. function getNativeTypeSize(type) {
  348. switch (type) {
  349. case "i1":
  350. case "i8":
  351. return 1;
  352. case "i16":
  353. return 2;
  354. case "i32":
  355. return 4;
  356. case "i64":
  357. return 8;
  358. case "float":
  359. return 4;
  360. case "double":
  361. return 8;
  362. default:
  363. {
  364. if (type[type.length - 1] === "*") {
  365. return 4;
  366. } else if (type[0] === "i") {
  367. var bits = parseInt(type.substr(1));
  368. assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type);
  369. return bits / 8;
  370. } else {
  371. return 0;
  372. }
  373. }
  374. }
  375. }
  376. function warnOnce(text) {
  377. if (!warnOnce.shown) warnOnce.shown = {};
  378. if (!warnOnce.shown[text]) {
  379. warnOnce.shown[text] = 1;
  380. err(text);
  381. }
  382. }
  383. var jsCallStartIndex = 1;
  384. var functionPointers = new Array(0);
  385. var funcWrappers = {};
  386. function dynCall(sig, ptr, args) {
  387. if (args && args.length) {
  388. return Module["dynCall_" + sig].apply(null, [ ptr ].concat(args));
  389. } else {
  390. return Module["dynCall_" + sig].call(null, ptr);
  391. }
  392. }
  393. var tempRet0 = 0;
  394. var setTempRet0 = function(value) {
  395. tempRet0 = value;
  396. };
  397. var getTempRet0 = function() {
  398. return tempRet0;
  399. };
  400. var GLOBAL_BASE = 8;
  401. function getValue(ptr, type, noSafe) {
  402. type = type || "i8";
  403. if (type.charAt(type.length - 1) === "*") type = "i32";
  404. switch (type) {
  405. case "i1":
  406. return HEAP8[ptr >> 0];
  407. case "i8":
  408. return HEAP8[ptr >> 0];
  409. case "i16":
  410. return HEAP16[ptr >> 1];
  411. case "i32":
  412. return HEAP32[ptr >> 2];
  413. case "i64":
  414. return HEAP32[ptr >> 2];
  415. case "float":
  416. return HEAPF32[ptr >> 2];
  417. case "double":
  418. return HEAPF64[ptr >> 3];
  419. default:
  420. abort("invalid type for getValue: " + type);
  421. }
  422. return null;
  423. }
  424. var ABORT = false;
  425. var EXITSTATUS = 0;
  426. function assert(condition, text) {
  427. if (!condition) {
  428. abort("Assertion failed: " + text);
  429. }
  430. }
  431. function getCFunc(ident) {
  432. var func = Module["_" + ident];
  433. assert(func, "Cannot call unknown function " + ident + ", make sure it is exported");
  434. return func;
  435. }
  436. function ccall(ident, returnType, argTypes, args, opts) {
  437. var toC = {
  438. "string": function(str) {
  439. var ret = 0;
  440. if (str !== null && str !== undefined && str !== 0) {
  441. var len = (str.length << 2) + 1;
  442. ret = stackAlloc(len);
  443. stringToUTF8(str, ret, len);
  444. }
  445. return ret;
  446. },
  447. "array": function(arr) {
  448. var ret = stackAlloc(arr.length);
  449. writeArrayToMemory(arr, ret);
  450. return ret;
  451. }
  452. };
  453. function convertReturnValue(ret) {
  454. if (returnType === "string") return UTF8ToString(ret);
  455. if (returnType === "boolean") return Boolean(ret);
  456. return ret;
  457. }
  458. var func = getCFunc(ident);
  459. var cArgs = [];
  460. var stack = 0;
  461. if (args) {
  462. for (var i = 0; i < args.length; i++) {
  463. var converter = toC[argTypes[i]];
  464. if (converter) {
  465. if (stack === 0) stack = stackSave();
  466. cArgs[i] = converter(args[i]);
  467. } else {
  468. cArgs[i] = args[i];
  469. }
  470. }
  471. }
  472. var ret = func.apply(null, cArgs);
  473. ret = convertReturnValue(ret);
  474. if (stack !== 0) stackRestore(stack);
  475. return ret;
  476. }
  477. function setValue(ptr, value, type, noSafe) {
  478. type = type || "i8";
  479. if (type.charAt(type.length - 1) === "*") type = "i32";
  480. switch (type) {
  481. case "i1":
  482. HEAP8[ptr >> 0] = value;
  483. break;
  484. case "i8":
  485. HEAP8[ptr >> 0] = value;
  486. break;
  487. case "i16":
  488. HEAP16[ptr >> 1] = value;
  489. break;
  490. case "i32":
  491. HEAP32[ptr >> 2] = value;
  492. break;
  493. case "i64":
  494. tempI64 = [ value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0) ],
  495. HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];
  496. break;
  497. case "float":
  498. HEAPF32[ptr >> 2] = value;
  499. break;
  500. case "double":
  501. HEAPF64[ptr >> 3] = value;
  502. break;
  503. default:
  504. abort("invalid type for setValue: " + type);
  505. }
  506. }
  507. var ALLOC_NORMAL = 0;
  508. var ALLOC_NONE = 3;
  509. function allocate(slab, types, allocator, ptr) {
  510. var zeroinit, size;
  511. if (typeof slab === "number") {
  512. zeroinit = true;
  513. size = slab;
  514. } else {
  515. zeroinit = false;
  516. size = slab.length;
  517. }
  518. var singleType = typeof types === "string" ? types : null;
  519. var ret;
  520. if (allocator == ALLOC_NONE) {
  521. ret = ptr;
  522. } else {
  523. ret = [ _malloc, stackAlloc, dynamicAlloc ][allocator](Math.max(size, singleType ? 1 : types.length));
  524. }
  525. if (zeroinit) {
  526. var stop;
  527. ptr = ret;
  528. assert((ret & 3) == 0);
  529. stop = ret + (size & ~3);
  530. for (;ptr < stop; ptr += 4) {
  531. HEAP32[ptr >> 2] = 0;
  532. }
  533. stop = ret + size;
  534. while (ptr < stop) {
  535. HEAP8[ptr++ >> 0] = 0;
  536. }
  537. return ret;
  538. }
  539. if (singleType === "i8") {
  540. if (slab.subarray || slab.slice) {
  541. HEAPU8.set(slab, ret);
  542. } else {
  543. HEAPU8.set(new Uint8Array(slab), ret);
  544. }
  545. return ret;
  546. }
  547. var i = 0, type, typeSize, previousType;
  548. while (i < size) {
  549. var curr = slab[i];
  550. type = singleType || types[i];
  551. if (type === 0) {
  552. i++;
  553. continue;
  554. }
  555. if (type == "i64") type = "i32";
  556. setValue(ret + i, curr, type);
  557. if (previousType !== type) {
  558. typeSize = getNativeTypeSize(type);
  559. previousType = type;
  560. }
  561. i += typeSize;
  562. }
  563. return ret;
  564. }
  565. function getMemory(size) {
  566. if (!runtimeInitialized) return dynamicAlloc(size);
  567. return _malloc(size);
  568. }
  569. var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined;
  570. function UTF8ArrayToString(u8Array, idx, maxBytesToRead) {
  571. var endIdx = idx + maxBytesToRead;
  572. var endPtr = idx;
  573. while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr;
  574. if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
  575. return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
  576. } else {
  577. var str = "";
  578. while (idx < endPtr) {
  579. var u0 = u8Array[idx++];
  580. if (!(u0 & 128)) {
  581. str += String.fromCharCode(u0);
  582. continue;
  583. }
  584. var u1 = u8Array[idx++] & 63;
  585. if ((u0 & 224) == 192) {
  586. str += String.fromCharCode((u0 & 31) << 6 | u1);
  587. continue;
  588. }
  589. var u2 = u8Array[idx++] & 63;
  590. if ((u0 & 240) == 224) {
  591. u0 = (u0 & 15) << 12 | u1 << 6 | u2;
  592. } else {
  593. u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63;
  594. }
  595. if (u0 < 65536) {
  596. str += String.fromCharCode(u0);
  597. } else {
  598. var ch = u0 - 65536;
  599. str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
  600. }
  601. }
  602. }
  603. return str;
  604. }
  605. function UTF8ToString(ptr, maxBytesToRead) {
  606. return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
  607. }
  608. function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
  609. if (!(maxBytesToWrite > 0)) return 0;
  610. var startIdx = outIdx;
  611. var endIdx = outIdx + maxBytesToWrite - 1;
  612. for (var i = 0; i < str.length; ++i) {
  613. var u = str.charCodeAt(i);
  614. if (u >= 55296 && u <= 57343) {
  615. var u1 = str.charCodeAt(++i);
  616. u = 65536 + ((u & 1023) << 10) | u1 & 1023;
  617. }
  618. if (u <= 127) {
  619. if (outIdx >= endIdx) break;
  620. outU8Array[outIdx++] = u;
  621. } else if (u <= 2047) {
  622. if (outIdx + 1 >= endIdx) break;
  623. outU8Array[outIdx++] = 192 | u >> 6;
  624. outU8Array[outIdx++] = 128 | u & 63;
  625. } else if (u <= 65535) {
  626. if (outIdx + 2 >= endIdx) break;
  627. outU8Array[outIdx++] = 224 | u >> 12;
  628. outU8Array[outIdx++] = 128 | u >> 6 & 63;
  629. outU8Array[outIdx++] = 128 | u & 63;
  630. } else {
  631. if (outIdx + 3 >= endIdx) break;
  632. outU8Array[outIdx++] = 240 | u >> 18;
  633. outU8Array[outIdx++] = 128 | u >> 12 & 63;
  634. outU8Array[outIdx++] = 128 | u >> 6 & 63;
  635. outU8Array[outIdx++] = 128 | u & 63;
  636. }
  637. }
  638. outU8Array[outIdx] = 0;
  639. return outIdx - startIdx;
  640. }
  641. function stringToUTF8(str, outPtr, maxBytesToWrite) {
  642. return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
  643. }
  644. function lengthBytesUTF8(str) {
  645. var len = 0;
  646. for (var i = 0; i < str.length; ++i) {
  647. var u = str.charCodeAt(i);
  648. if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;
  649. if (u <= 127) ++len; else if (u <= 2047) len += 2; else if (u <= 65535) len += 3; else len += 4;
  650. }
  651. return len;
  652. }
  653. var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined;
  654. function allocateUTF8OnStack(str) {
  655. var size = lengthBytesUTF8(str) + 1;
  656. var ret = stackAlloc(size);
  657. stringToUTF8Array(str, HEAP8, ret, size);
  658. return ret;
  659. }
  660. function writeArrayToMemory(array, buffer) {
  661. HEAP8.set(array, buffer);
  662. }
  663. function writeAsciiToMemory(str, buffer, dontAddNull) {
  664. for (var i = 0; i < str.length; ++i) {
  665. HEAP8[buffer++ >> 0] = str.charCodeAt(i);
  666. }
  667. if (!dontAddNull) HEAP8[buffer >> 0] = 0;
  668. }
  669. function demangle(func) {
  670. return func;
  671. }
  672. function demangleAll(text) {
  673. var regex = /__Z[\w\d_]+/g;
  674. return text.replace(regex, function(x) {
  675. var y = demangle(x);
  676. return x === y ? x : y + " [" + x + "]";
  677. });
  678. }
  679. function jsStackTrace() {
  680. var err = new Error();
  681. if (!err.stack) {
  682. try {
  683. throw new Error(0);
  684. } catch (e) {
  685. err = e;
  686. }
  687. if (!err.stack) {
  688. return "(no stack trace available)";
  689. }
  690. }
  691. return err.stack.toString();
  692. }
  693. function stackTrace() {
  694. var js = jsStackTrace();
  695. if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"]();
  696. return demangleAll(js);
  697. }
  698. var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
  699. function updateGlobalBufferViews() {
  700. Module["HEAP8"] = HEAP8 = new Int8Array(buffer);
  701. Module["HEAP16"] = HEAP16 = new Int16Array(buffer);
  702. Module["HEAP32"] = HEAP32 = new Int32Array(buffer);
  703. Module["HEAPU8"] = HEAPU8 = new Uint8Array(buffer);
  704. Module["HEAPU16"] = HEAPU16 = new Uint16Array(buffer);
  705. Module["HEAPU32"] = HEAPU32 = new Uint32Array(buffer);
  706. Module["HEAPF32"] = HEAPF32 = new Float32Array(buffer);
  707. Module["HEAPF64"] = HEAPF64 = new Float64Array(buffer);
  708. }
  709. var STACK_BASE = 3042736, DYNAMIC_BASE = 8285616, DYNAMICTOP_PTR = 3042480;
  710. var TOTAL_STACK = 5242880;
  711. var TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 134217728;
  712. if (TOTAL_MEMORY < TOTAL_STACK) err("TOTAL_MEMORY should be larger than TOTAL_STACK, was " + TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")");
  713. if (Module["buffer"]) {
  714. buffer = Module["buffer"];
  715. } else {
  716. {
  717. buffer = new ArrayBuffer(TOTAL_MEMORY);
  718. }
  719. Module["buffer"] = buffer;
  720. }
  721. updateGlobalBufferViews();
  722. HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
  723. function callRuntimeCallbacks(callbacks) {
  724. while (callbacks.length > 0) {
  725. var callback = callbacks.shift();
  726. if (typeof callback == "function") {
  727. callback();
  728. continue;
  729. }
  730. var func = callback.func;
  731. if (typeof func === "number") {
  732. if (callback.arg === undefined) {
  733. Module["dynCall_v"](func);
  734. } else {
  735. Module["dynCall_vi"](func, callback.arg);
  736. }
  737. } else {
  738. func(callback.arg === undefined ? null : callback.arg);
  739. }
  740. }
  741. }
  742. var __ATPRERUN__ = [];
  743. var __ATINIT__ = [];
  744. var __ATMAIN__ = [];
  745. var __ATEXIT__ = [];
  746. var __ATPOSTRUN__ = [];
  747. var runtimeInitialized = false;
  748. var runtimeExited = false;
  749. function preRun() {
  750. if (Module["preRun"]) {
  751. if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ];
  752. while (Module["preRun"].length) {
  753. addOnPreRun(Module["preRun"].shift());
  754. }
  755. }
  756. callRuntimeCallbacks(__ATPRERUN__);
  757. }
  758. function ensureInitRuntime() {
  759. if (runtimeInitialized) return;
  760. runtimeInitialized = true;
  761. callRuntimeCallbacks(__ATINIT__);
  762. }
  763. function preMain() {
  764. callRuntimeCallbacks(__ATMAIN__);
  765. }
  766. function exitRuntime() {
  767. callRuntimeCallbacks(__ATEXIT__);
  768. runtimeExited = true;
  769. }
  770. function postRun() {
  771. if (Module["postRun"]) {
  772. if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ];
  773. while (Module["postRun"].length) {
  774. addOnPostRun(Module["postRun"].shift());
  775. }
  776. }
  777. callRuntimeCallbacks(__ATPOSTRUN__);
  778. }
  779. function addOnPreRun(cb) {
  780. __ATPRERUN__.unshift(cb);
  781. }
  782. function addOnPostRun(cb) {
  783. __ATPOSTRUN__.unshift(cb);
  784. }
  785. var Math_abs = Math.abs;
  786. var Math_ceil = Math.ceil;
  787. var Math_floor = Math.floor;
  788. var Math_min = Math.min;
  789. var runDependencies = 0;
  790. var runDependencyWatcher = null;
  791. var dependenciesFulfilled = null;
  792. function getUniqueRunDependency(id) {
  793. return id;
  794. }
  795. function addRunDependency(id) {
  796. runDependencies++;
  797. if (Module["monitorRunDependencies"]) {
  798. Module["monitorRunDependencies"](runDependencies);
  799. }
  800. }
  801. function removeRunDependency(id) {
  802. runDependencies--;
  803. if (Module["monitorRunDependencies"]) {
  804. Module["monitorRunDependencies"](runDependencies);
  805. }
  806. if (runDependencies == 0) {
  807. if (runDependencyWatcher !== null) {
  808. clearInterval(runDependencyWatcher);
  809. runDependencyWatcher = null;
  810. }
  811. if (dependenciesFulfilled) {
  812. var callback = dependenciesFulfilled;
  813. dependenciesFulfilled = null;
  814. callback();
  815. }
  816. }
  817. }
  818. Module["preloadedImages"] = {};
  819. Module["preloadedAudios"] = {};
  820. var memoryInitializer = null;
  821. var dataURIPrefix = "data:application/octet-stream;base64,";
  822. function isDataURI(filename) {
  823. return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0;
  824. }
  825. var ASM_CONSTS = [ function() {
  826. if (typeof _cartdat !== "undefined") return 1;
  827. return 0;
  828. }, function() {
  829. return _cartdat.length / 32768;
  830. }, function() {
  831. _cdpos = _cdpos + 1;
  832. return _cartdat[_cdpos - 1];
  833. }, function($0) {
  834. ciii = $0;
  835. iii = 0;
  836. }, function() {
  837. iii = iii + 1;
  838. return _cartname[ciii].charCodeAt(iii - 1);
  839. }, function() {
  840. Module.pico8Reset = function() {
  841. codo_command = 1;
  842. };
  843. Module.pico8ToggleSound = function() {
  844. codo_command = 3;
  845. };
  846. Module.pico8TogglePaused = function() {
  847. codo_command = 4;
  848. };
  849. Module.pico8SetPaused = function(p) {
  850. codo_command = 5;
  851. codo_command_p = 0;
  852. if (p) codo_command_p = 1;
  853. };
  854. Module.pico8ToggleControlMenu = function() {
  855. codo_command = 7;
  856. };
  857. Module.pico8DragOver = function() {
  858. codo_command = 10;
  859. };
  860. Module.pico8DragStop = function() {
  861. codo_command = 11;
  862. };
  863. }, function() {
  864. function mkdir_0(d) {
  865. try {
  866. stat = FS.stat(d);
  867. console.log("found directory: " + d);
  868. } catch (e) {
  869. FS.mkdir(d);
  870. console.log("created directory: " + d);
  871. }
  872. }
  873. console.log("mounting /user_data");
  874. mkdir_0("/user_data");
  875. FS.mount(IDBFS, {}, "/user_data");
  876. FS.syncfs(true, function(err) {
  877. if (!err) {
  878. console.log("codo: mounted filesystem.\n");
  879. codo_mounted_filesystem = 1;
  880. mkdir_0("/user_data/cdata");
  881. mkdir_0("/user_data/cstore");
  882. mkdir_0("/user_data/carts");
  883. mkdir_0("/user_data/backup");
  884. mkdir_0("/user_data/plates");
  885. mkdir_0("/user_data/bbs");
  886. mkdir_0("/user_data/bbs/carts");
  887. mkdir_0("/user_data/bbs/labels");
  888. } else {
  889. console.log("** could not mount filesystem\n");
  890. console.log(err);
  891. }
  892. });
  893. }, function() {
  894. var val = 0;
  895. if (window.location.pathname.indexOf("widget.php") >= 0) val = 1;
  896. return val;
  897. }, function() {
  898. var val = 0;
  899. if (window.location.pathname.indexOf("pico-8.php") >= 0) val = 1;
  900. return val;
  901. }, function($0, $1, $2, $3, $4, $5) {
  902. if (typeof pico8_state !== "undefined") {
  903. pico8_state.is_paused = $0;
  904. pico8_state.sound_volume = $1;
  905. pico8_state.frame_number = $2;
  906. pico8_state.has_focus = $3;
  907. pico8_state.show_dpad = $4;
  908. pico8_state.request_pointer_lock = $5;
  909. }
  910. }, function() {
  911. var val = 0;
  912. if (typeof codo_command !== "undefined") {
  913. val = codo_command;
  914. codo_command = 0;
  915. }
  916. return val;
  917. }, function() {
  918. var val = 0;
  919. if (typeof codo_command_p !== "undefined") {
  920. val = codo_command_p;
  921. codo_command_p = 0;
  922. }
  923. return val;
  924. }, function() {
  925. button_i = 0;
  926. }, function() {
  927. var val = -1;
  928. if (typeof pico8_buttons !== "undefined") {
  929. val = pico8_buttons[button_i];
  930. button_i++;
  931. }
  932. return val;
  933. }, function() {
  934. var val = 0;
  935. if (typeof pico8_gamepads !== "undefined") {
  936. val = pico8_gamepads.count;
  937. }
  938. return val;
  939. }, function() {
  940. if (typeof on_module_load !== "undefined") {
  941. if (on_module_load) on_module_load();
  942. }
  943. }, function($0, $1, $2, $3, $4, $5) {
  944. if (typeof p8img !== "undefined") {
  945. p8img.src = "";
  946. }
  947. p8img = document.createElement("img");
  948. p8img.src = UTF8ToString($0, $1);
  949. p8img.style = "width:128px; height:128px; image-rendering: pixelated; -ms-interpolation-mode: nearest-neighbor;";
  950. if (typeof p8imgholder === "undefined" || !p8imgholder) {
  951. p8imgholder = document.createElement("div");
  952. p8imgholder.style.cssText = "min-width:160px; display:table; position:fixed; top:20px; left:20px; padding:12px; background-color:#000; box-shadow: 2px 2px 8px rgba(16, 0, 48, 0.4);";
  953. document.body.appendChild(p8imgholder);
  954. }
  955. if (p8imgholder) {
  956. while (p8imgholder.childElementCount > 0) p8imgholder.removeChild(p8imgholder.firstChild);
  957. var dismiss = document.createElement("div");
  958. dismiss.style.cssText = "display:table; font-size:10pt; color:#fff; padding:4px; cursor:pointer; margin-left:10px; float:right";
  959. dismiss.addEventListener("click", function() {
  960. p8img.src = "";
  961. while (p8imgholder.childElementCount > 0) p8imgholder.removeChild(p8imgholder.firstChild);
  962. p8imgholder.style.display = "none";
  963. }, false);
  964. dismiss.innerHTML = "X";
  965. p8imgholder.appendChild(dismiss);
  966. p8imgholder.appendChild(p8img);
  967. var info = document.createElement("div");
  968. info.innerHTML = '<br> <font style="color:#bbb; font-size:8pt"><center> (right-click to save) </center></font>';
  969. p8imgholder.appendChild(info);
  970. if (p8imgholder.style.display == "none") p8imgholder.style.display = "";
  971. }
  972. }, function() {
  973. jsString = p8_dropped_cart;
  974. if (!jsString) return 0;
  975. var lengthBytes = lengthBytesUTF8(jsString) + 1;
  976. var stringOnWasmHeap = _malloc(lengthBytes);
  977. stringToUTF8(jsString, stringOnWasmHeap, lengthBytes);
  978. return stringOnWasmHeap;
  979. }, function() {
  980. jsString = p8_dropped_cart_name;
  981. if (!jsString) return 0;
  982. var lengthBytes = lengthBytesUTF8(jsString) + 1;
  983. var stringOnWasmHeap2 = _malloc(lengthBytes);
  984. stringToUTF8(jsString, stringOnWasmHeap2, lengthBytes);
  985. return stringOnWasmHeap2;
  986. }, function($0, $1) {
  987. if (typeof pico8_state !== "undefined") {
  988. if (typeof pico8_state.system_messages === "undefined") pico8_state.system_messages = new Array();
  989. pico8_state.system_messages.push(UTF8ToString($0, $1));
  990. }
  991. }, function($0) {
  992. var str = window.location.hostname;
  993. return allocate(intArrayFromString(str), "i8", ALLOC_NORMAL);
  994. }, function($0, $1) {
  995. if (typeof pico8_gpio !== "undefined") pico8_gpio[$0] = $1;
  996. }, function($0) {
  997. var val = 0;
  998. if (typeof pico8_gpio !== "undefined") val = pico8_gpio[$0];
  999. return val;
  1000. }, function() {
  1001. FS.syncfs(false, function(err) {});
  1002. }, function() {
  1003. var val = 0;
  1004. if (typeof codo_mounted_filesystem !== "undefined") val = 1;
  1005. return val;
  1006. }, function() {
  1007. return typeof p8_touch_detected === "undefined" || !p8_touch_detected ? 0 : 1;
  1008. }, function() {
  1009. return document.hidden ? 1 : 0;
  1010. }, function() {
  1011. if (typeof codo_key_buffer === "undefined") codo_key_buffer = [];
  1012. document.addEventListener("keydown", function(e) {
  1013. var val = -1;
  1014. if (e.key.length == 1) {
  1015. val = e.key.charCodeAt(0);
  1016. } else {
  1017. if (e.key == "Tab") val = 9;
  1018. if (e.key == "Enter") val = 13;
  1019. if (e.key == "Backspace") val = 8;
  1020. if (e.key == "Escape") val = 27;
  1021. if (val == -1) {}
  1022. }
  1023. var el = document.getElementById("codo_textarea");
  1024. codo_key_buffer.push(val);
  1025. });
  1026. }, function() {
  1027. }, function() {
  1028. document.addEventListener("wheel", function(e) {
  1029. dx = e.deltaX;
  1030. if (dx < 0) dx = -1;
  1031. if (dx > 0) dx = 1;
  1032. if (e.deltaMode == 2) dx *= 4;
  1033. if (typeof codo_wheel_dx !== "undefined") codo_wheel_dx -= dx;
  1034. dy = e.deltaY;
  1035. if (dy < 0) dy = -1;
  1036. if (dy > 0) dy = 1;
  1037. if (e.deltaMode == 2) dy *= 4;
  1038. if (typeof codo_wheel_dy !== "undefined") codo_wheel_dy -= dy;
  1039. });
  1040. }, function($0) {
  1041. function audio_log(msg) {
  1042. if (window.console && window.console.log) {
  1043. window.console.log("[codo] audio_init_webaudio " + msg);
  1044. }
  1045. }
  1046. audio_log("audio_init");
  1047. var codo_audio_context;
  1048. if (typeof Module === "undefined") audio_log(" *** Module undefined"); else if (typeof Module.ccall === "undefined") audio_log(" **** Module.ccall undefined"); else {
  1049. var webAudioAPI = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.oAudioContext || window.msAudioContext;
  1050. if (webAudioAPI) {
  1051. if (typeof pico8_audio_context !== "undefined") {
  1052. codo_audio_context = pico8_audio_context;
  1053. audio_log("found pico8_audio_context");
  1054. } else if (typeof voxatron_audio_context !== "undefined") {
  1055. codo_audio_context = voxatron_audio_context;
  1056. audio_log("found voxatron_audio_context");
  1057. } else {
  1058. codo_audio_context = new webAudioAPI();
  1059. audio_log("creating own audio context");
  1060. }
  1061. if (codo_audio_context) {
  1062. audio_log("Sample Rate: " + codo_audio_context.sampleRate);
  1063. audio_log("Buffer Size: " + $0);
  1064. node = codo_audio_context.createScriptProcessor($0, 1, 1);
  1065. node.onaudioprocess = function(e) {
  1066. var data = e.outputBuffer.getChannelData(0);
  1067. var r = 22050 / codo_audio_context.sampleRate;
  1068. var len0 = Math.floor(data.length * r);
  1069. var len1 = data.length;
  1070. var ptr = Module.ccall("mix_0", "number", [ "number", "number" ], [ len0, len1 ]);
  1071. for (var j = 0; j < data.length; j++) data[j] = Module.getValue(ptr + j * 2, "i16") / 32768;
  1072. };
  1073. node.connect(codo_audio_context.destination);
  1074. } else {
  1075. audio_log("** failed to create codo_audio_context");
  1076. }
  1077. } else {
  1078. audio_log("** webAudioAPI not found");
  1079. }
  1080. }
  1081. }, function() {
  1082. return document.pointerLockElement ? 1 : 0;
  1083. }, function() {
  1084. var ret = 0;
  1085. if (typeof pico8_mouse !== "undefined" && pico8_mouse.length > 0) ret = 1;
  1086. return ret;
  1087. }, function() {
  1088. return pico8_mouse[0];
  1089. }, function() {
  1090. return pico8_mouse[1];
  1091. }, function() {
  1092. if (typeof codo_key_buffer === "undefined") codo_key_buffer = [];
  1093. return codo_key_buffer.length > 0 ? 1 : 0;
  1094. }, function() {
  1095. if (typeof codo_key_buffer === "undefined") codo_key_buffer = [];
  1096. let val = codo_key_buffer.shift() | 0;
  1097. return val;
  1098. }, function() {
  1099. temp = typeof codo_wheel_dx !== "undefined" ? codo_wheel_dx : 0;
  1100. codo_wheel_dx = 0;
  1101. return temp;
  1102. }, function() {
  1103. temp = typeof codo_wheel_dy !== "undefined" ? codo_wheel_dy : 0;
  1104. codo_wheel_dy = 0;
  1105. return temp;
  1106. }, function() {
  1107. if (document.hidden) return 0;
  1108. el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
  1109. if (el) {
  1110. if (el == document.activeElement) return 1;
  1111. }
  1112. el = document.activeElement;
  1113. return !el || el.tagName.toLowerCase() != "input" && el.tagName.toLowerCase() != "textarea";
  1114. }, function() {
  1115. el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
  1116. if (el && el.style.display != "none") {
  1117. el.focus();
  1118. el.select();
  1119. }
  1120. }, function() {
  1121. el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
  1122. if (el && el.style.display != "none") {
  1123. el.select();
  1124. }
  1125. }, function() {
  1126. return pico8_mouse[2];
  1127. }, function() {
  1128. _dir_name = "";
  1129. }, function($0) {
  1130. _dir_name = _dir_name + String.fromCharCode($0);
  1131. }, function() {
  1132. console.log("@@ mkdir directory (nocheck): " + _dir_name);
  1133. FS.createPath("", _dir_name, true, true);
  1134. }, function() {
  1135. Module["canvas"].exitPointerLock();
  1136. }, function() {
  1137. el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
  1138. if (el) {}
  1139. }, function() {
  1140. _codo_str_out = "";
  1141. }, function($0) {
  1142. _codo_str_out = _codo_str_out + String.fromCharCode($0);
  1143. }, function() {
  1144. el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
  1145. if (el) {
  1146. el.value = _codo_str_out;
  1147. return 0;
  1148. } else return 1;
  1149. }, function() {
  1150. el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
  1151. if (el && el.style.display == "none" && (typeof p8_touch_detected === "undefined" || !p8_touch_detected)) {
  1152. console.log("@@ enabling codo_textfield");
  1153. el.style.display = "";
  1154. el.focus();
  1155. el.select();
  1156. }
  1157. }, function() {
  1158. el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
  1159. if (el && el.style.display != "none" && el.value != "") {
  1160. _codo_text_value = el.value;
  1161. return 1;
  1162. }
  1163. return 0;
  1164. }, function() {
  1165. return typeof _codo_text_value === "undefined" ? 1 : 0;
  1166. }, function() {
  1167. iii = 0;
  1168. }, function() {
  1169. iii = iii + 1;
  1170. return _codo_text_value.charCodeAt(iii - 1);
  1171. } ];
  1172. function _emscripten_asm_const_i(code) {
  1173. return ASM_CONSTS[code]();
  1174. }
  1175. function _emscripten_asm_const_ii(code, a0) {
  1176. return ASM_CONSTS[code](a0);
  1177. }
  1178. function _emscripten_asm_const_iiiiiii(code, a0, a1, a2, a3, a4, a5) {
  1179. return ASM_CONSTS[code](a0, a1, a2, a3, a4, a5);
  1180. }
  1181. function _emscripten_asm_const_iii(code, a0, a1) {
  1182. return ASM_CONSTS[code](a0, a1);
  1183. }
  1184. __ATINIT__.push({
  1185. func: function() {
  1186. ___emscripten_environ_constructor();
  1187. }
  1188. });
  1189. memoryInitializer = "data:application/octet-stream;base64,AAAAAAAAAACFsQAAxd0AAI6xAACWsQAAn7EAAKaxAACtsQAAZ90AAJaxAACzsQAAurEAAMCxAAAAAAAAAAAAAAAACAgICAgAAAAAAAAAAAAAAAAAAAAAAAAMBAQEBAQEBAQEBAQEBAQEFhYWFhYWFhYWFgQEBAQEBAQVFRUVFRUFBQUFBQUFBQUFBQUFBQUFBQUFBQQEBAQFBBUVFRUVFQUFBQUFBQUFBQUFBQUFBQUFBQUFBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBxQVRQUFxsPBA8VGx8fHx8fHx8fHx8fHx8fGB8YGBgYGBgaCK8vLyE5FRUEGJiBGIUUVAXAAAAAAAAAAAAAAAAAQICAwMDAwQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlt0AAL/dAACd3QAAgN0AAIXdAABw3QAAs94AAHTdAABn3QAAut0AAHjdAADJ3QAAoN0AAMXdAACS3QAAmt0AAK3dAACm3QAAe90AAK7eAAC03QAAjN0AAHr6AAAjtAAA67UAAO61AADxtQAA9LUAAPe1AACHvgAA+rUAAAO2AAAKtgAAAAAAAAAAAAAAAAAAEBAQEBERERERERQTCAgGBgcHCQkJCQkJCQkJCQUFEREoKCgoKCgPDgMDAwMDAwMDAwMDAwICAQEAAAAAAAAAALa6AAC+ugAAyboAAM66AADVugAA27oAAOC6AADmugAA7LoAAPK6AAD4ugAA/roAAAS7AAAKuwAAD7sAABW7AAAbuwAAIbsAACi7AAAvuwAANrsAADy7AABDuwAASrsAAFK7AABauwAAYLsAAGW7AABquwAAc7sAAAAAAAAAAAAAqt8AAJPfAADA5gAAxOYAAK/fAAC83wAAl98AAMvmAACN3wAAit8AAKDfAACl3wAA1uYAAOTmAADK3wAAz98AAPLmAAD85gAA1t8AAJrfAABf6AAADr0AAM/mAAC23wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBPv///z80NTY3ODk6Ozw9/////v///wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZ////////GhscHR4fICEiIyQlJicoKSorLC0uLzAxMjO53gAAvt4AAMPeAADI3gAAzd4AANLeAADX3gAA3N4AAOHeAAAAAAAAAAAAAAAAAAAQAQIDBAUGBwgJCgsMDQ4PAAECAwQFBgcICQoLDA0ODwAAgIAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEhISEhISEhAAAAAAAAAAAAAAAAAAAAAAAA/wAAARITJBXWZ0hJmjvcXY7vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAABAAAABQAAAAEAAAAFAAAABQAAAAUAAAABAAAAAQAAAAEAAAAFAAAAAAAAAAEAAAADAAAABQAAAAQAAAACAAAACwAAAA8AAAAHAAAADAAAAA0AAAAJAAAACAAAAAYAAAAKAAAADgAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBCAgICAgICAgICAgICAgICAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoQ7wAAHO8AACjvAAA07wAAQO8AAEvvAABW7wAAYu8AAG7vAAB67wAAhu8AAJHvAACc7wAAAAAAAAAAAAAAAAAA0e4AANbuAADc7gAA3+4AAOTuAADu7gAA+O4AAPruAAD87gAA/u4AAADvAAAE7wAABu8AAAAAAAAAAAAAAAAAABfzAAAg8wAAJ/MAADPzAAA98wAARfMAAFDzAABa8wAAZPMAAG3zAAB18wAAf/MAAAAAAAAAAAAAAAAAAAAAAACYbC4AiPMAAI7zAACU8wAAmvMAAKDzAACm8wAArPMAAAAAAAAAAAAAAAAAAAAAAACYbC4AsvMAAMHzAADS8wAA4/MAAPLzAAAE9AAAGvQAAJhsLgAp9AAAMfQAADv0AABF9AAAVvQAAGH0AABw9AAAY29kbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAQKCgAAAAofCh8KHxQfBR8RAgQIEQgUHRINBAQAAAAECAgIBAQCAgIEFQ4fDhUEBB8EBAAAAAgQAAAfAAAAAAAABAECBAgQHxERER8EDAQEHx8BHxAfHwEHAR8RER8BAR8QHwEfEBAfER8fAQEBAR8RHxEfHxEfAQEABAAEAAAEAAQIAwwQDAMADgAOABgGAQYYHwEHAAQfER0VHR8RHxERHhEeER8PEBAQDx4REREfHxAcEB8fEB4QEA4QEBEPEREfEREOBAQEDgICAhIMEhQYFBIQEBAQHxEbFRERERkVExEOERERDh4RHhAQHxEREx8eER4REQ8QDgEeHwQEBAQRERERDhEREQoEEREVGxERCgQKERERDgQEHwIECB8MCAgIDBAIBAIBBgICAgYECgAAAAAAAAAfBAIAAAAfER8RER4RHhEfDxAQEA8eERERHx8QHBAfHxAeEBAOEBARDxERHxERDgQEBA4CAgISDBIUGBQSEBAQEB8RGxUREREZFRMRDhEREQ4eER4QEB8RERMfHhEeEREPEA4BHh8EBAQEEREREQ4REREKBBERFRsREQoEChEREQ4EBB8CBAgfBAQIBAQEBAQEBAQEAgQEBQoAAAAAAAAAHwAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP7/AAD+/wAA/v8AAP7/AAD+/wAA/f8AAP3/AAD9/wAA/f8AAPz/AAD8/wAA/P8AAPz/AAD7/wAA+/8AAPv/AAD6/wAA+v8AAPr/AAD5/wAA+f8AAPn/AAD4/wAA+P8AAPf/AAD3/wAA9/8AAPb/AAD2/wAA9f8AAPX/AAD0/wAA9P8AAPP/AADz/wAA8v8AAPL/AADx/wAA8f8AAPD/AADw/wAA7/8AAO//AADu/wAA7f8AAO3/AADs/wAA7P8AAOv/AADq/wAA6v8AAOn/AADo/wAA6P8AAOf/AADm/wAA5v8AAOX/AADk/wAA4/8AAOP/AADi/wAA4f8AAOD/AADg/wAA3/8AAN7/AADd/wAA3P8AANz/AADb/wAA2v8AANn/AADY/wAA1/8AANb/AADV/wAA1f8AANT/AADT/wAA0v8AANH/AADQ/wAAz/8AAM7/AADN/wAAzP8AAMv/AADK/wAAyf8AAMj/AADH/wAAxv8AAMX/AADE/wAAwv8AAMH/AADA/wAAv/8AAL7/AAC9/wAAvP8AALv/AAC5/wAAuP8AALf/AAC2/wAAtf8AALT/AACy/wAAsf8AALD/AACv/wAArf8AAKz/AACr/wAAqf8AAKj/AACn/wAApv8AAKT/AACj/wAAov8AAKD/AACf/wAAnf8AAJz/AACb/wAAmf8AAJj/AACW/wAAlf8AAJT/AACS/wAAkf8AAI//AACO/wAAjP8AAIv/AACJ/wAAiP8AAIb/AACF/wAAg/8AAIL/AACA/wAAfv8AAH3/AAB7/wAAev8AAHj/AAB2/wAAdf8AAHP/AABx/wAAcP8AAG7/AABs/wAAa/8AAGn/AABn/wAAZv8AAGT/AABi/wAAYP8AAF//AABd/wAAW/8AAFn/AABY/wAAVv8AAFT/AABS/wAAUP8AAE7/AABN/wAAS/8AAEn/AABH/wAARf8AAEP/AABB/wAAP/8AAD3/AAA7/wAAOv8AADj/AAA2/wAANP8AADL/AAAw/wAALv8AACz/AAAq/wAAKP8AACX/AAAj/wAAIf8AAB//AAAd/wAAG/8AABn/AAAX/wAAFf8AABP/AAAQ/wAADv8AAAz/AAAK/wAACP8AAAb/AAAD/wAAAf8AAP/+AAD9/gAA+/4AAPj+AAD2/gAA9P4AAPH+AADv/gAA7f4AAOv+AADo/gAA5v4AAOT+AADh/gAA3/4AAN3+AADa/gAA2P4AANX+AADT/gAA0f4AAM7+AADM/gAAyf4AAMf+AADE/gAAwv4AAL/+AAC9/gAAuv4AALj+AAC1/gAAs/4AALD+AACu/gAAq/4AAKn+AACm/gAApP4AAKH+AACe/gAAnP4AAJn+AACX/gAAlP4AAJH+AACP/gAAjP4AAIn+AACH/gAAhP4AAIH+AAB+/gAAfP4AAHn+AAB2/gAAc/4AAHH+AABu/gAAa/4AAGj+AABm/gAAY/4AAGD+AABd/gAAWv4AAFf+AABV/gAAUv4AAE/+AABM/gAASf4AAEb+AABD/gAAQP4AAD3+AAA6/gAAN/4AADT+AAAx/gAALv4AACv+AAAo/gAAJf4AACL+AAAf/gAAHP4AABn+AAAW/gAAE/4AABD+AAAN/gAACv4AAAf+AAAE/gAAAf4AAP39AAD6/QAA9/0AAPT9AADx/QAA7v0AAOr9AADn/QAA5P0AAOH9AADd/QAA2v0AANf9AADU/QAA0P0AAM39AADK/QAAx/0AAMP9AADA/QAAvf0AALn9AAC2/QAAs/0AAK/9AACs/QAAqP0AAKX9AACi/QAAnv0AAJv9AACX/QAAlP0AAJD9AACN/QAAif0AAIb9AACD/QAAf/0AAHz9AAB4/QAAdP0AAHH9AABt/QAAav0AAGb9AABj/QAAX/0AAFv9AABY/QAAVP0AAFH9AABN/QAASf0AAEb9AABC/QAAPv0AADv9AAA3/QAAM/0AADD9AAAs/QAAKP0AACT9AAAh/QAAHf0AABn9AAAV/QAAEv0AAA79AAAK/QAABv0AAAL9AAD+/AAA+/wAAPf8AADz/AAA7/wAAOv8AADn/AAA4/wAAN/8AADc/AAA2PwAANT8AADQ/AAAzPwAAMj8AADE/AAAwPwAALz8AAC4/AAAtPwAALD8AACs/AAAqPwAAKT8AACg/AAAm/wAAJf8AACT/AAAj/wAAIv8AACH/AAAg/wAAH/8AAB7/AAAdvwAAHL8AABu/AAAavwAAGb8AABh/AAAXfwAAFn8AABV/AAAUfwAAEz8AABI/AAARPwAAD/8AAA7/AAAN/wAADP8AAAu/AAAKvwAACb8AAAh/AAAHfwAABj8AAAU/AAAEPwAAAv8AAAH/AAAAvwAAP77AAD6+wAA9fsAAPH7AADs+wAA6PsAAOP7AADf+wAA2vsAANb7AADR+wAAzfsAAMj7AADE+wAAv/sAALv7AAC2+wAAsfsAAK37AACo+wAApPsAAJ/7AACa+wAAlvsAAJH7AACM+wAAiPsAAIP7AAB++wAAevsAAHX7AABw+wAAa/sAAGf7AABi+wAAXfsAAFj7AABU+wAAT/sAAEr7AABF+wAAQPsAADz7AAA3+wAAMvsAAC37AAAo+wAAI/sAAB/7AAAa+wAAFfsAABD7AAAL+wAABvsAAAH7AAD8+gAA9/oAAPL6AADt+gAA6PoAAOP6AADe+gAA2foAANT6AADP+gAAyvoAAMX6AADA+gAAu/oAALb6AACx+gAArPoAAKf6AACh+gAAnPoAAJf6AACS+gAAjfoAAIj6AACD+gAAffoAAHj6AABz+gAAbvoAAGn6AABj+gAAXvoAAFn6AABU+gAATvoAAEn6AABE+gAAPvoAADn6AAA0+gAAL/oAACn6AAAk+gAAH/oAABn6AAAU+gAADvoAAAn6AAAE+gAA/vkAAPn5AADz+QAA7vkAAOj5AADj+QAA3vkAANj5AADT+QAAzfkAAMj5AADC+QAAvfkAALf5AACy+QAArPkAAKb5AACh+QAAm/kAAJb5AACQ+QAAivkAAIX5AAB/+QAAevkAAHT5AABu+QAAafkAAGP5AABd+QAAWPkAAFL5AABM+QAARvkAAEH5AAA7+QAANfkAADD5AAAq+QAAJPkAAB75AAAY+QAAE/kAAA35AAAH+QAAAfkAAPv4AAD1+AAA8PgAAOr4AADk+AAA3vgAANj4AADS+AAAzPgAAMb4AADA+AAAuvgAALT4AACv+AAAqfgAAKP4AACd+AAAl/gAAJH4AACL+AAAhfgAAH74AAB4+AAAcvgAAGz4AABm+AAAYPgAAFr4AABU+AAATvgAAEj4AABC+AAAO/gAADX4AAAv+AAAKfgAACP4AAAd+AAAFvgAABD4AAAK+AAABPgAAP73AAD39wAA8fcAAOv3AADl9wAA3vcAANj3AADS9wAAy/cAAMX3AAC/9wAAuPcAALL3AACs9wAApfcAAJ/3AACZ9wAAkvcAAIz3AACF9wAAf/cAAHn3AABy9wAAbPcAAGX3AABf9wAAWPcAAFL3AABL9wAARfcAAD73AAA49wAAMfcAACv3AAAk9wAAHvcAABf3AAAQ9wAACvcAAAP3AAD99gAA9vYAAO/2AADp9gAA4vYAANv2AADV9gAAzvYAAMf2AADB9gAAuvYAALP2AACt9gAApvYAAJ/2AACY9gAAkvYAAIv2AACE9gAAffYAAHf2AABw9gAAafYAAGL2AABb9gAAVPYAAE72AABH9gAAQPYAADn2AAAy9gAAK/YAACT2AAAd9gAAFvYAABD2AAAJ9gAAAvYAAPv1AAD09QAA7fUAAOb1AADf9QAA2PUAANH1AADK9QAAw/UAALz1AAC19QAArvUAAKb1AACf9QAAmPUAAJH1AACK9QAAg/UAAHz1AAB19QAAbvUAAGb1AABf9QAAWPUAAFH1AABK9QAAQ/UAADv1AAA09QAALfUAACb1AAAe9QAAF/UAABD1AAAJ9QAAAfUAAPr0AADz9AAA6/QAAOT0AADd9AAA1fQAAM70AADH9AAAv/QAALj0AACx9AAAqfQAAKL0AACa9AAAk/QAAIz0AACE9AAAffQAAHX0AABu9AAAZvQAAF/0AABX9AAAUPQAAEj0AABB9AAAOfQAADL0AAAq9AAAI/QAABv0AAAT9AAADPQAAAT0AAD98wAA9fMAAO3zAADm8wAA3vMAANfzAADP8wAAx/MAAMDzAAC48wAAsPMAAKjzAACh8wAAmfMAAJHzAACK8wAAgvMAAHrzAABy8wAAavMAAGPzAABb8wAAU/MAAEvzAABD8wAAPPMAADTzAAAs8wAAJPMAABzzAAAU8wAADPMAAATzAAD98gAA9fIAAO3yAADl8gAA3fIAANXyAADN8gAAxfIAAL3yAAC18gAArfIAAKXyAACd8gAAlfIAAI3yAACF8gAAffIAAHXyAABt8gAAZfIAAF3yAABU8gAATPIAAETyAAA88gAANPIAACzyAAAk8gAAG/IAABPyAAAL8gAAA/IAAPvxAADz8QAA6vEAAOLxAADa8QAA0vEAAMnxAADB8QAAufEAALHxAACo8QAAoPEAAJjxAACP8QAAh/EAAH/xAAB28QAAbvEAAGbxAABd8QAAVfEAAEzxAABE8QAAPPEAADPxAAAr8QAAIvEAABrxAAAR8QAACfEAAAHxAAD48AAA8PAAAOfwAADf8AAA1vAAAM7wAADF8AAAvPAAALTwAACr8AAAo/AAAJrwAACS8AAAifAAAIDwAAB48AAAb/AAAGfwAABe8AAAVfAAAE3wAABE8AAAO/AAADPwAAAq8AAAIfAAABjwAAAQ8AAAB/AAAP7vAAD17wAA7e8AAOTvAADb7wAA0u8AAMrvAADB7wAAuO8AAK/vAACm7wAAne8AAJXvAACM7wAAg+8AAHrvAABx7wAAaO8AAF/vAABW7wAATe8AAEXvAAA87wAAM+8AACrvAAAh7wAAGO8AAA/vAAAG7wAA/e4AAPTuAADr7gAA4u4AANnuAADQ7gAAx+4AAL3uAAC07gAAq+4AAKLuAACZ7gAAkO4AAIfuAAB+7gAAde4AAGvuAABi7gAAWe4AAFDuAABH7gAAPu4AADTuAAAr7gAAIu4AABnuAAAP7gAABu4AAP3tAAD07QAA6u0AAOHtAADY7QAAz+0AAMXtAAC87QAAs+0AAKntAACg7QAAl+0AAI3tAACE7QAAeu0AAHHtAABo7QAAXu0AAFXtAABL7QAAQu0AADjtAAAv7QAAJu0AABztAAAT7QAACe0AAADtAAD27AAA7ewAAOPsAADa7AAA0OwAAMbsAAC97AAAs+wAAKrsAACg7AAAl+wAAI3sAACD7AAAeuwAAHDsAABm7AAAXewAAFPsAABK7AAAQOwAADbsAAAs7AAAI+wAABnsAAAP7AAABuwAAPzrAADy6wAA6OsAAN/rAADV6wAAy+sAAMHrAAC36wAArusAAKTrAACa6wAAkOsAAIbrAAB86wAAc+sAAGnrAABf6wAAVesAAEvrAABB6wAAN+sAAC3rAAAj6wAAGesAAA/rAAAG6wAA/OoAAPLqAADo6gAA3uoAANTqAADK6gAAwOoAALbqAACr6gAAoeoAAJfqAACN6gAAg+oAAHnqAABv6gAAZeoAAFvqAABR6gAAR+oAADzqAAAy6gAAKOoAAB7qAAAU6gAACuoAAP/pAAD16QAA6+kAAOHpAADX6QAAzOkAAMLpAAC46QAArukAAKPpAACZ6QAAj+kAAIXpAAB66QAAcOkAAGbpAABb6QAAUekAAEfpAAA86QAAMukAACfpAAAd6QAAE+kAAAjpAAD+6AAA8+gAAOnoAADf6AAA1OgAAMroAAC/6AAAtegAAKroAACg6AAAlegAAIvoAACA6AAAdugAAGvoAABh6AAAVugAAEzoAABB6AAANugAACzoAAAh6AAAF+gAAAzoAAAB6AAA9+cAAOznAADi5wAA1+cAAMznAADC5wAAt+cAAKznAACh5wAAl+cAAIznAACB5wAAd+cAAGznAABh5wAAVucAAEznAABB5wAANucAACvnAAAg5wAAFucAAAvnAAAA5wAA9eYAAOrmAADf5gAA1eYAAMrmAAC/5gAAtOYAAKnmAACe5gAAk+YAAIjmAAB95gAAcuYAAGfmAABc5gAAUuYAAEfmAAA85gAAMeYAACbmAAAb5gAAEOYAAAXmAAD55QAA7uUAAOPlAADY5QAAzeUAAMLlAAC35QAArOUAAKHlAACW5QAAi+UAAH/lAAB05QAAaeUAAF7lAABT5QAASOUAAD3lAAAx5QAAJuUAABvlAAAQ5QAABOUAAPnkAADu5AAA4+QAANfkAADM5AAAweQAALbkAACq5AAAn+QAAJTkAACI5AAAfeQAAHLkAABm5AAAW+QAAFDkAABE5AAAOeQAAC7kAAAi5AAAF+QAAAvkAAAA5AAA9OMAAOnjAADe4wAA0uMAAMfjAAC74wAAsOMAAKTjAACZ4wAAjeMAAILjAAB24wAAa+MAAF/jAABT4wAASOMAADzjAAAx4wAAJeMAABrjAAAO4wAAAuMAAPfiAADr4gAA3+IAANTiAADI4gAAveIAALHiAACl4gAAmeIAAI7iAACC4gAAduIAAGviAABf4gAAU+IAAEfiAAA84gAAMOIAACTiAAAY4gAADeIAAAHiAAD14QAA6eEAAN3hAADR4QAAxuEAALrhAACu4QAAouEAAJbhAACK4QAAfuEAAHLhAABn4QAAW+EAAE/hAABD4QAAN+EAACvhAAAf4QAAE+EAAAfhAAD74AAA7+AAAOPgAADX4AAAy+AAAL/gAACz4AAAp+AAAJvgAACP4AAAg+AAAHfgAABq4AAAXuAAAFLgAABG4AAAOuAAAC7gAAAi4AAAFuAAAAngAAD93wAA8d8AAOXfAADZ3wAAzd8AAMDfAAC03wAAqN8AAJzfAACP3wAAg98AAHffAABr3wAAXt8AAFLfAABG3wAAOd8AAC3fAAAh3wAAFd8AAAjfAAD83gAA8N4AAOPeAADX3gAAyt4AAL7eAACy3gAApd4AAJneAACM3gAAgN4AAHTeAABn3gAAW94AAE7eAABC3gAANd4AACneAAAc3gAAEN4AAAPeAAD33QAA6t0AAN7dAADR3QAAxd0AALjdAACr3QAAn90AAJLdAACG3QAAed0AAGzdAABg3QAAU90AAEfdAAA63QAALd0AACHdAAAU3QAAB90AAPvcAADu3AAA4dwAANXcAADI3AAAu9wAAK7cAACi3AAAldwAAIjcAAB73AAAb9wAAGLcAABV3AAASNwAADvcAAAv3AAAItwAABXcAAAI3AAA+9sAAO7bAADh2wAA1dsAAMjbAAC72wAArtsAAKHbAACU2wAAh9sAAHrbAABt2wAAYNsAAFPbAABG2wAAOdsAACzbAAAf2wAAEtsAAAXbAAD42gAA69oAAN7aAADR2gAAxNoAALfaAACq2gAAndoAAJDaAACD2gAAdtoAAGnaAABc2gAAT9oAAEHaAAA02gAAJ9oAABraAAAN2gAAANoAAPLZAADl2QAA2NkAAMvZAAC+2QAAsNkAAKPZAACW2QAAidkAAHvZAABu2QAAYdkAAFTZAABG2QAAOdkAACzZAAAe2QAAEdkAAATZAAD22AAA6dgAANzYAADO2AAAwdgAALTYAACm2AAAmdgAAIvYAAB+2AAAcdgAAGPYAABW2AAASNgAADvYAAAt2AAAINgAABLYAAAF2AAA+NcAAOrXAADc1wAAz9cAAMHXAAC01wAAptcAAJnXAACL1wAAftcAAHDXAABj1wAAVdcAAEfXAAA61wAALNcAAB/XAAAR1wAAA9cAAPbWAADo1gAA2tYAAM3WAAC/1gAAsdYAAKTWAACW1gAAiNYAAHrWAABt1gAAX9YAAFHWAABE1gAANtYAACjWAAAa1gAADNYAAP/VAADx1QAA49UAANXVAADH1QAAutUAAKzVAACe1QAAkNUAAILVAAB01QAAZtUAAFnVAABL1QAAPdUAAC/VAAAh1QAAE9UAAAXVAAD31AAA6dQAANvUAADN1AAAv9QAALHUAACj1AAAldQAAIfUAAB51AAAa9QAAF3UAABP1AAAQdQAADPUAAAl1AAAF9QAAAnUAAD70wAA7dMAAN/TAADQ0wAAwtMAALTTAACm0wAAmNMAAIrTAAB80wAAbdMAAF/TAABR0wAAQ9MAADXTAAAm0wAAGNMAAArTAAD80gAA7tIAAN/SAADR0gAAw9IAALXSAACm0gAAmNIAAIrSAAB70gAAbdIAAF/SAABQ0gAAQtIAADTSAAAl0gAAF9IAAAnSAAD60QAA7NEAAN7RAADP0QAAwdEAALLRAACk0QAAldEAAIfRAAB50QAAatEAAFzRAABN0QAAP9EAADDRAAAi0QAAE9EAAAXRAAD20AAA6NAAANnQAADL0AAAvNAAAK7QAACf0AAAkNAAAILQAABz0AAAZdAAAFbQAABH0AAAOdAAACrQAAAc0AAADdAAAP7PAADwzwAA4c8AANLPAADEzwAAtc8AAKbPAACYzwAAic8AAHrPAABrzwAAXc8AAE7PAAA/zwAAMM8AACLPAAATzwAABM8AAPXOAADnzgAA2M4AAMnOAAC6zgAAq84AAJzOAACOzgAAf84AAHDOAABhzgAAUs4AAEPOAAA0zgAAJc4AABfOAAAIzgAA+c0AAOrNAADbzQAAzM0AAL3NAACuzQAAn80AAJDNAACBzQAAcs0AAGPNAABUzQAARc0AADbNAAAnzQAAGM0AAAnNAAD6zAAA68wAANzMAADNzAAAvswAAK7MAACfzAAAkMwAAIHMAAByzAAAY8wAAFTMAABFzAAANcwAACbMAAAXzAAACMwAAPnLAADqywAA2ssAAMvLAAC8ywAArcsAAJ7LAACOywAAf8sAAHDLAABhywAAUcsAAELLAAAzywAAI8sAABTLAAAFywAA9coAAObKAADXygAAx8oAALjKAACpygAAmcoAAIrKAAB7ygAAa8oAAFzKAABNygAAPcoAAC7KAAAeygAAD8oAAP/JAADwyQAA4ckAANHJAADCyQAAsskAAKPJAACTyQAAhMkAAHTJAABlyQAAVckAAEbJAAA2yQAAJ8kAABfJAAAHyQAA+MgAAOjIAADZyAAAycgAALrIAACqyAAAmsgAAIvIAAB7yAAAa8gAAFzIAABMyAAAPMgAAC3IAAAdyAAADcgAAP7HAADuxwAA3scAAM/HAAC/xwAAr8cAAKDHAACQxwAAgMcAAHDHAABhxwAAUccAAEHHAAAxxwAAIccAABLHAAACxwAA8sYAAOLGAADSxgAAwsYAALPGAACjxgAAk8YAAIPGAABzxgAAY8YAAFPGAABExgAANMYAACTGAAAUxgAABMYAAPTFAADkxQAA1MUAAMTFAAC0xQAApMUAAJTFAACExQAAdMUAAGTFAABUxQAARMUAADTFAAAkxQAAFMUAAATFAAD0xAAA5MQAANTEAADExAAAtMQAAKTEAACUxAAAg8QAAHPEAABjxAAAU8QAAEPEAAAzxAAAI8QAABPEAAACxAAA8sMAAOLDAADSwwAAwsMAALHDAAChwwAAkcMAAIHDAABxwwAAYMMAAFDDAABAwwAAMMMAAB/DAAAPwwAA/8IAAO7CAADewgAAzsIAAL7CAACtwgAAncIAAI3CAAB8wgAAbMIAAFzCAABLwgAAO8IAACrCAAAawgAACsIAAPnBAADpwQAA2MEAAMjBAAC4wQAAp8EAAJfBAACGwQAAdsEAAGXBAABVwQAARMEAADTBAAAjwQAAE8EAAALBAADywAAA4cAAANHAAADAwAAAsMAAAJ/AAACPwAAAfsAAAG7AAABdwAAATMAAADzAAAArwAAAG8AAAArAAAD5vwAA6b8AANi/AADHvwAAt78AAKa/AACVvwAAhb8AAHS/AABjvwAAU78AAEK/AAAxvwAAIb8AABC/AAD/vgAA7r4AAN6+AADNvgAAvL4AAKu+AACbvgAAir4AAHm+AABovgAAV74AAEe+AAA2vgAAJb4AABS+AAADvgAA8r0AAOK9AADRvQAAwL0AAK+9AACevQAAjb0AAHy9AABrvQAAWr0AAEq9AAA5vQAAKL0AABe9AAAGvQAA9bwAAOS8AADTvAAAwrwAALG8AACgvAAAj7wAAH68AABtvAAAXLwAAEu8AAA6vAAAKbwAABi8AAAHvAAA9rsAAOW7AADUuwAAw7sAALG7AACguwAAj7sAAH67AABtuwAAXLsAAEu7AAA6uwAAKLsAABe7AAAGuwAA9boAAOS6AADTugAAwboAALC6AACfugAAjroAAH26AABrugAAWroAAEm6AAA4ugAAJroAABW6AAAEugAA87kAAOG5AADQuQAAv7kAAK65AACcuQAAi7kAAHq5AABouQAAV7kAAEa5AAA0uQAAI7kAABK5AAAAuQAA77gAAN24AADMuAAAu7gAAKm4AACYuAAAhrgAAHW4AABkuAAAUrgAAEG4AAAvuAAAHrgAAAy4AAD7twAA6bcAANi3AADGtwAAtbcAAKO3AACStwAAgLcAAG+3AABdtwAATLcAADq3AAAptwAAF7cAAAW3AAD0tgAA4rYAANG2AAC/tgAArbYAAJy2AACKtgAAebYAAGe2AABVtgAARLYAADK2AAAgtgAAD7YAAP21AADrtQAA2rUAAMi1AAC2tQAApbUAAJO1AACBtQAAb7UAAF61AABMtQAAOrUAACi1AAAXtQAABbUAAPO0AADhtAAA0LQAAL60AACstAAAmrQAAIi0AAB3tAAAZbQAAFO0AABBtAAAL7QAAB20AAALtAAA+rMAAOizAADWswAAxLMAALKzAACgswAAjrMAAHyzAABqswAAWLMAAEezAAA1swAAI7MAABGzAAD/sgAA7bIAANuyAADJsgAAt7IAAKWyAACTsgAAgbIAAG+yAABdsgAAS7IAADmyAAAnsgAAFbIAAAOyAADwsQAA3rEAAMyxAAC6sQAAqLEAAJaxAACEsQAAcrEAAGCxAABOsQAAO7EAACmxAAAXsQAABbEAAPOwAADhsAAAzrAAALywAACqsAAAmLAAAIawAAB0sAAAYbAAAE+wAAA9sAAAK7AAABiwAAAGsAAA9K8AAOKvAADPrwAAva8AAKuvAACZrwAAhq8AAHSvAABirwAAT68AAD2vAAArrwAAGK8AAAavAAD0rgAA4a4AAM+uAAC9rgAAqq4AAJiuAACFrgAAc64AAGGuAABOrgAAPK4AACmuAAAXrgAABa4AAPKtAADgrQAAza0AALutAACorQAAlq0AAIOtAABxrQAAXq0AAEytAAA5rQAAJ60AABStAAACrQAA76wAAN2sAADKrAAAuKwAAKWsAACTrAAAgKwAAG2sAABbrAAASKwAADasAAAjrAAAEawAAP6rAADrqwAA2asAAMarAACzqwAAoasAAI6rAAB7qwAAaasAAFarAABDqwAAMasAAB6rAAALqwAA+aoAAOaqAADTqgAAwaoAAK6qAACbqgAAiKoAAHaqAABjqgAAUKoAAD2qAAAqqgAAGKoAAAWqAADyqQAA36kAAM2pAAC6qQAAp6kAAJSpAACBqQAAbqkAAFypAABJqQAANqkAACOpAAAQqQAA/agAAOqoAADXqAAAxagAALKoAACfqAAAjKgAAHmoAABmqAAAU6gAAECoAAAtqAAAGqgAAAeoAAD0pwAA4acAAM6nAAC7pwAAqKcAAJWnAACCpwAAb6cAAFynAABJpwAANqcAACOnAAAQpwAA/aYAAOqmAADXpgAAxKYAALGmAACepgAAi6YAAHimAABlpgAAUqYAAD6mAAArpgAAGKYAAAWmAADypQAA36UAAMylAAC4pQAApaUAAJKlAAB/pQAAbKUAAFmlAABFpQAAMqUAAB+lAAAMpQAA+aQAAOWkAADSpAAAv6QAAKykAACYpAAAhaQAAHKkAABfpAAAS6QAADikAAAlpAAAEqQAAP6jAADrowAA2KMAAMSjAACxowAAnqMAAIqjAAB3owAAZKMAAFCjAAA9owAAKqMAABajAAADowAA76IAANyiAADJogAAtaIAAKKiAACOogAAe6IAAGiiAABUogAAQaIAAC2iAAAaogAABqIAAPOhAADfoQAAzKEAALmhAACloQAAkqEAAH6hAABroQAAV6EAAEOhAAAwoQAAHKEAAAmhAAD1oAAA4qAAAM6gAAC7oAAAp6AAAJSgAACAoAAAbKAAAFmgAABFoAAAMqAAAB6gAAAKoAAA958AAOOfAADQnwAAvJ8AAKifAACVnwAAgZ8AAG2fAABanwAARp8AADKfAAAfnwAAC58AAPeeAADjngAA0J4AALyeAACongAAlZ4AAIGeAABtngAAWZ4AAEaeAAAyngAAHp4AAAqeAAD3nQAA450AAM+dAAC7nQAAp50AAJSdAACAnQAAbJ0AAFidAABEnQAAMZ0AAB2dAAAJnQAA9ZwAAOGcAADNnAAAuZwAAKacAACSnAAAfpwAAGqcAABWnAAAQpwAAC6cAAAanAAABpwAAPKbAADemwAAypsAALebAACjmwAAj5sAAHubAABnmwAAU5sAAD+bAAArmwAAF5sAAAObAADvmgAA25oAAMeaAACzmgAAn5oAAIuaAAB3mgAAY5oAAE+aAAA6mgAAJpoAABKaAAD+mQAA6pkAANaZAADCmQAArpkAAJqZAACGmQAAcpkAAF2ZAABJmQAANZkAACGZAAANmQAA+ZgAAOWYAADQmAAAvJgAAKiYAACUmAAAgJgAAGyYAABXmAAAQ5gAAC+YAAAbmAAAB5gAAPKXAADelwAAypcAALaXAAChlwAAjZcAAHmXAABllwAAUJcAADyXAAAolwAAE5cAAP+WAADrlgAA15YAAMKWAACulgAAmpYAAIWWAABxlgAAXZYAAEiWAAA0lgAAIJYAAAuWAAD3lQAA4pUAAM6VAAC6lQAApZUAAJGVAAB9lQAAaJUAAFSVAAA/lQAAK5UAABaVAAAClQAA7pQAANmUAADFlAAAsJQAAJyUAACHlAAAc5QAAF6UAABKlAAANZQAACGUAAAMlAAA+JMAAOOTAADPkwAAupMAAKaTAACRkwAAfZMAAGiTAABUkwAAP5MAACqTAAAWkwAAAZMAAO2SAADYkgAAxJIAAK+SAACakgAAhpIAAHGSAABdkgAASJIAADOSAAAfkgAACpIAAPWRAADhkQAAzJEAALeRAACjkQAAjpEAAHmRAABlkQAAUJEAADuRAAAnkQAAEpEAAP2QAADpkAAA1JAAAL+QAACqkAAAlpAAAIGQAABskAAAV5AAAEOQAAAukAAAGZAAAASQAADwjwAA248AAMaPAACxjwAAnI8AAIiPAABzjwAAXo8AAEmPAAA0jwAAH48AAAuPAAD2jgAA4Y4AAMyOAAC3jgAAoo4AAI2OAAB5jgAAZI4AAE+OAAA6jgAAJY4AABCOAAD7jQAA5o0AANGNAAC8jQAAp40AAJONAAB+jQAAaY0AAFSNAAA/jQAAKo0AABWNAAAAjQAA64wAANaMAADBjAAArIwAAJeMAACCjAAAbYwAAFiMAABDjAAALowAABmMAAAEjAAA74sAANqLAADFiwAAr4sAAJqLAACFiwAAcIsAAFuLAABGiwAAMYsAAByLAAAHiwAA8ooAAN2KAADHigAAsooAAJ2KAACIigAAc4oAAF6KAABJigAANIoAAB6KAAAJigAA9IkAAN+JAADKiQAAtIkAAJ+JAACKiQAAdYkAAGCJAABKiQAANYkAACCJAAALiQAA9ogAAOCIAADLiAAAtogAAKGIAACLiAAAdogAAGGIAABMiAAANogAACGIAAAMiAAA9ocAAOGHAADMhwAAt4cAAKGHAACMhwAAd4cAAGGHAABMhwAAN4cAACGHAAAMhwAA94YAAOGGAADMhgAAtoYAAKGGAACMhgAAdoYAAGGGAABMhgAANoYAACGGAAALhgAA9oUAAOCFAADLhQAAtoUAAKCFAACLhQAAdYUAAGCFAABKhQAANYUAAB+FAAAKhQAA9YQAAN+EAADKhAAAtIQAAJ+EAACJhAAAdIQAAF6EAABJhAAAM4QAAB2EAAAIhAAA8oMAAN2DAADHgwAAsoMAAJyDAACHgwAAcYMAAFyDAABGgwAAMIMAABuDAAAFgwAA8IIAANqCAADEggAAr4IAAJmCAACEggAAboIAAFiCAABDggAALYIAABeCAAACggAA7IEAANaBAADBgQAAq4EAAJWBAACAgQAAaoEAAFSBAAA/gQAAKYEAABOBAAD+gAAA6IAAANKAAAC8gAAAp4AAAJGAAAB7gAAAZoAAAFCAAAA6gAAAJIAAAA+AAAD5fwAA438AAM1/AAC3fwAAon8AAIx/AAB2fwAAYH8AAEp/AAA1fwAAH38AAAl/AADzfgAA3X4AAMh+AACyfgAAnH4AAIZ+AABwfgAAWn4AAER+AAAvfgAAGX4AAAN+AADtfQAA130AAMF9AACrfQAAlX0AAH99AABqfQAAVH0AAD59AAAofQAAEn0AAPx8AADmfAAA0HwAALp8AACkfAAAjnwAAHh8AABifAAATHwAADZ8AAAgfAAACnwAAPR7AADeewAAyHsAALJ7AACcewAAhnsAAHB7AABaewAARHsAAC57AAAYewAAAnsAAOx6AADWegAAwHoAAKp6AACUegAAfnoAAGh6AABSegAAPHoAACZ6AAAQegAA+XkAAON5AADNeQAAt3kAAKF5AACLeQAAdXkAAF95AABJeQAAMnkAABx5AAAGeQAA8HgAANp4AADEeAAArXgAAJd4AACBeAAAa3gAAFV4AAA/eAAAKHgAABJ4AAD8dwAA5ncAANB3AAC5dwAAo3cAAI13AAB3dwAAYHcAAEp3AAA0dwAAHncAAAh3AADxdgAA23YAAMV2AACudgAAmHYAAIJ2AABsdgAAVXYAAD92AAApdgAAEnYAAPx1AADmdQAA0HUAALl1AACjdQAAjXUAAHZ1AABgdQAASnUAADN1AAAddQAAB3UAAPB0AADadAAAw3QAAK10AACXdAAAgHQAAGp0AABUdAAAPXQAACd0AAAQdAAA+nMAAORzAADNcwAAt3MAAKBzAACKcwAAc3MAAF1zAABHcwAAMHMAABpzAAADcwAA7XIAANZyAADAcgAAqXIAAJNyAAB8cgAAZnIAAFByAAA5cgAAI3IAAAxyAAD2cQAA33EAAMlxAACycQAAm3EAAIVxAABucQAAWHEAAEFxAAArcQAAFHEAAP5wAADncAAA0XAAALpwAACjcAAAjXAAAHZwAABgcAAASXAAADNwAAAccAAABXAAAO9vAADYbwAAwm8AAKtvAACUbwAAfm8AAGdvAABQbwAAOm8AACNvAAANbwAA9m4AAN9uAADJbgAAsm4AAJtuAACFbgAAbm4AAFduAABBbgAAKm4AABNuAAD8bQAA5m0AAM9tAAC4bQAAom0AAIttAAB0bQAAXm0AAEdtAAAwbQAAGW0AAANtAADsbAAA1WwAAL5sAACobAAAkWwAAHpsAABjbAAATWwAADZsAAAfbAAACGwAAPFrAADbawAAxGsAAK1rAACWawAAf2sAAGlrAABSawAAO2sAACRrAAANawAA9moAAOBqAADJagAAsmoAAJtqAACEagAAbWoAAFdqAABAagAAKWoAABJqAAD7aQAA5GkAAM1pAAC2aQAAoGkAAIlpAAByaQAAW2kAAERpAAAtaQAAFmkAAP9oAADoaAAA0WgAALpoAACjaAAAjWgAAHZoAABfaAAASGgAADFoAAAaaAAAA2gAAOxnAADVZwAAvmcAAKdnAACQZwAAeWcAAGJnAABLZwAANGcAAB1nAAAGZwAA72YAANhmAADBZgAAqmYAAJNmAAB8ZgAAZWYAAE5mAAA3ZgAAIGYAAAlmAADyZQAA22UAAMNlAACsZQAAlWUAAH5lAABnZQAAUGUAADllAAAiZQAAC2UAAPRkAADdZAAAxmQAAK5kAACXZAAAgGQAAGlkAABSZAAAO2QAACRkAAANZAAA9WMAAN5jAADHYwAAsGMAAJljAACCYwAAa2MAAFNjAAA8YwAAJWMAAA5jAAD3YgAA4GIAAMhiAACxYgAAmmIAAINiAABsYgAAVGIAAD1iAAAmYgAAD2IAAPhhAADgYQAAyWEAALJhAACbYQAAg2EAAGxhAABVYQAAPmEAACZhAAAPYQAA+GAAAOFgAADJYAAAsmAAAJtgAACEYAAAbGAAAFVgAAA+YAAAJmAAAA9gAAD4XwAA4V8AAMlfAACyXwAAm18AAINfAABsXwAAVV8AAD1fAAAmXwAAD18AAPdeAADgXgAAyV4AALFeAACaXgAAg14AAGteAABUXgAAPF4AACVeAAAOXgAA9l0AAN9dAADIXQAAsF0AAJldAACBXQAAal0AAFNdAAA7XQAAJF0AAAxdAAD1XAAA3lwAAMZcAACvXAAAl1wAAIBcAABoXAAAUVwAADpcAAAiXAAAC1wAAPNbAADcWwAAxFsAAK1bAACVWwAAflsAAGZbAABPWwAAN1sAACBbAAAIWwAA8VoAANlaAADCWgAAqloAAJNaAAB7WgAAZFoAAExaAAA1WgAAHVoAAAZaAADuWQAA11kAAL9ZAACoWQAAkFkAAHlZAABhWQAASlkAADJZAAAaWQAAA1kAAOtYAADUWAAAvFgAAKVYAACNWAAAdVgAAF5YAABGWAAAL1gAABdYAAD/VwAA6FcAANBXAAC5VwAAoVcAAIlXAAByVwAAWlcAAENXAAArVwAAE1cAAPxWAADkVgAAzFYAALVWAACdVgAAhVYAAG5WAABWVgAAPlYAACdWAAAPVgAA91UAAOBVAADIVQAAsFUAAJlVAACBVQAAaVUAAFJVAAA6VQAAIlUAAAtVAADzVAAA21QAAMNUAACsVAAAlFQAAHxUAABkVAAATVQAADVUAAAdVAAABlQAAO5TAADWUwAAvlMAAKdTAACPUwAAd1MAAF9TAABIUwAAMFMAABhTAAAAUwAA6FIAANFSAAC5UgAAoVIAAIlSAAByUgAAWlIAAEJSAAAqUgAAElIAAPtRAADjUQAAy1EAALNRAACbUQAAg1EAAGxRAABUUQAAPFEAACRRAAAMUQAA9FAAAN1QAADFUAAArVAAAJVQAAB9UAAAZVAAAE1QAAA2UAAAHlAAAAZQAADuTwAA1k8AAL5PAACmTwAAjk8AAHdPAABfTwAAR08AAC9PAAAXTwAA/04AAOdOAADPTgAAt04AAJ9OAACHTgAAcE4AAFhOAABATgAAKE4AABBOAAD4TQAA4E0AAMhNAACwTQAAmE0AAIBNAABoTQAAUE0AADhNAAAgTQAACE0AAPBMAADYTAAAwEwAAKhMAACQTAAAeUwAAGFMAABJTAAAMUwAABlMAAABTAAA6UsAANFLAAC5SwAAoUsAAIlLAABxSwAAWEsAAEBLAAAoSwAAEEsAAPhKAADgSgAAyEoAALBKAACYSgAAgEoAAGhKAABQSgAAOEoAACBKAAAISgAA8EkAANhJAADASQAAqEkAAJBJAAB4SQAAX0kAAEdJAAAvSQAAF0kAAP9IAADnSAAAz0gAALdIAACfSAAAh0gAAG9IAABWSAAAPkgAACZIAAAOSAAA9kcAAN5HAADGRwAArkcAAJVHAAB9RwAAZUcAAE1HAAA1RwAAHUcAAAVHAADsRgAA1EYAALxGAACkRgAAjEYAAHRGAABcRgAAQ0YAACtGAAATRgAA+0UAAONFAADLRQAAskUAAJpFAACCRQAAakUAAFJFAAA5RQAAIUUAAAlFAADxRAAA2UQAAMBEAACoRAAAkEQAAHhEAABgRAAAR0QAAC9EAAAXRAAA/0MAAOZDAADOQwAAtkMAAJ5DAACFQwAAbUMAAFVDAAA9QwAAJEMAAAxDAAD0QgAA3EIAAMNCAACrQgAAk0IAAHtCAABiQgAASkIAADJCAAAaQgAAAUIAAOlBAADRQQAAuEEAAKBBAACIQQAAb0EAAFdBAAA/QQAAJ0EAAA5BAAD2QAAA3kAAAMVAAACtQAAAlUAAAHxAAABkQAAATEAAADNAAAAbQAAAA0AAAOo/AADSPwAAuj8AAKE/AACJPwAAcT8AAFg/AABAPwAAKD8AAA8/AAD3PgAA3z4AAMY+AACuPgAAlT4AAH0+AABlPgAATD4AADQ+AAAcPgAAAz4AAOs9AADSPQAAuj0AAKI9AACJPQAAcT0AAFg9AABAPQAAKD0AAA89AAD3PAAA3jwAAMY8AACuPAAAlTwAAH08AABkPAAATDwAADM8AAAbPAAAAzwAAOo7AADSOwAAuTsAAKE7AACIOwAAcDsAAFg7AAA/OwAAJzsAAA47AAD2OgAA3ToAAMU6AACsOgAAlDoAAHs6AABjOgAASjoAADI6AAAaOgAAAToAAOk5AADQOQAAuDkAAJ85AACHOQAAbjkAAFY5AAA9OQAAJTkAAAw5AAD0OAAA2zgAAMM4AACqOAAAkjgAAHk4AABhOAAASDgAADA4AAAXOAAA/jcAAOY3AADNNwAAtTcAAJw3AACENwAAazcAAFM3AAA6NwAAIjcAAAk3AADxNgAA2DYAAMA2AACnNgAAjjYAAHY2AABdNgAARTYAACw2AAAUNgAA+zUAAOI1AADKNQAAsTUAAJk1AACANQAAaDUAAE81AAA2NQAAHjUAAAU1AADtNAAA1DQAALs0AACjNAAAijQAAHI0AABZNAAAQDQAACg0AAAPNAAA9zMAAN4zAADFMwAArTMAAJQzAAB8MwAAYzMAAEozAAAyMwAAGTMAAAAzAADoMgAAzzIAALcyAACeMgAAhTIAAG0yAABUMgAAOzIAACMyAAAKMgAA8TEAANkxAADAMQAApzEAAI8xAAB2MQAAXjEAAEUxAAAsMQAAFDEAAPswAADiMAAAyjAAALEwAACYMAAAfzAAAGcwAABOMAAANTAAAB0wAAAEMAAA6y8AANMvAAC6LwAAoS8AAIkvAABwLwAAVy8AAD8vAAAmLwAADS8AAPQuAADcLgAAwy4AAKouAACSLgAAeS4AAGAuAABHLgAALy4AABYuAAD9LQAA5S0AAMwtAACzLQAAmi0AAIItAABpLQAAUC0AADctAAAfLQAABi0AAO0sAADULAAAvCwAAKMsAACKLAAAcSwAAFksAABALAAAJywAAA4sAAD2KwAA3SsAAMQrAACrKwAAkysAAHorAABhKwAASCsAADArAAAXKwAA/ioAAOUqAADMKgAAtCoAAJsqAACCKgAAaSoAAFEqAAA4KgAAHyoAAAYqAADtKQAA1SkAALwpAACjKQAAiikAAHEpAABZKQAAQCkAACcpAAAOKQAA9SgAAN0oAADEKAAAqygAAJIoAAB5KAAAYCgAAEgoAAAvKAAAFigAAP0nAADkJwAAzCcAALMnAACaJwAAgScAAGgnAABPJwAANycAAB4nAAAFJwAA7CYAANMmAAC6JgAAoiYAAIkmAABwJgAAVyYAAD4mAAAlJgAADCYAAPQlAADbJQAAwiUAAKklAACQJQAAdyUAAF4lAABGJQAALSUAABQlAAD7JAAA4iQAAMkkAACwJAAAlyQAAH8kAABmJAAATSQAADQkAAAbJAAAAiQAAOkjAADQIwAAuCMAAJ8jAACGIwAAbSMAAFQjAAA7IwAAIiMAAAkjAADwIgAA1yIAAL8iAACmIgAAjSIAAHQiAABbIgAAQiIAACkiAAAQIgAA9yEAAN4hAADGIQAArSEAAJQhAAB7IQAAYiEAAEkhAAAwIQAAFyEAAP4gAADlIAAAzCAAALMgAACaIAAAgiAAAGkgAABQIAAANyAAAB4gAAAFIAAA7B8AANMfAAC6HwAAoR8AAIgfAABvHwAAVh8AAD0fAAAkHwAACx8AAPMeAADaHgAAwR4AAKgeAACPHgAAdh4AAF0eAABEHgAAKx4AABIeAAD5HQAA4B0AAMcdAACuHQAAlR0AAHwdAABjHQAASh0AADEdAAAYHQAA/xwAAOYcAADNHAAAtBwAAJscAACCHAAAaRwAAFEcAAA4HAAAHxwAAAYcAADtGwAA1BsAALsbAACiGwAAiRsAAHAbAABXGwAAPhsAACUbAAAMGwAA8xoAANoaAADBGgAAqBoAAI8aAAB2GgAAXRoAAEQaAAArGgAAEhoAAPkZAADgGQAAxxkAAK4ZAACVGQAAfBkAAGMZAABKGQAAMRkAABgZAAD/GAAA5hgAAM0YAAC0GAAAmxgAAIIYAABpGAAAUBgAADcYAAAdGAAABBgAAOsXAADSFwAAuRcAAKAXAACHFwAAbhcAAFUXAAA8FwAAIxcAAAoXAADxFgAA2BYAAL8WAACmFgAAjRYAAHQWAABbFgAAQhYAACkWAAAQFgAA9xUAAN4VAADFFQAArBUAAJMVAAB6FQAAYRUAAEgVAAAuFQAAFRUAAPwUAADjFAAAyhQAALEUAACYFAAAfxQAAGYUAABNFAAANBQAABsUAAACFAAA6RMAANATAAC3EwAAnhMAAIUTAABsEwAAUhMAADkTAAAgEwAABxMAAO4SAADVEgAAvBIAAKMSAACKEgAAcRIAAFgSAAA/EgAAJhIAAA0SAAD0EQAA2hEAAMERAACoEQAAjxEAAHYRAABdEQAARBEAACsRAAASEQAA+RAAAOAQAADHEAAArhAAAJQQAAB7EAAAYhAAAEkQAAAwEAAAFxAAAP4PAADlDwAAzA8AALMPAACaDwAAgQ8AAGcPAABODwAANQ8AABwPAAADDwAA6g4AANEOAAC4DgAAnw4AAIYOAABtDgAAUw4AADoOAAAhDgAACA4AAO8NAADWDQAAvQ0AAKQNAACLDQAAcg0AAFkNAAA/DQAAJg0AAA0NAAD0DAAA2wwAAMIMAACpDAAAkAwAAHcMAABdDAAARAwAACsMAAASDAAA+QsAAOALAADHCwAArgsAAJULAAB8CwAAYgsAAEkLAAAwCwAAFwsAAP4KAADlCgAAzAoAALMKAACaCgAAgAoAAGcKAABOCgAANQoAABwKAAADCgAA6gkAANEJAAC4CQAAngkAAIUJAABsCQAAUwkAADoJAAAhCQAACAkAAO8IAADVCAAAvAgAAKMIAACKCAAAcQgAAFgIAAA/CAAAJggAAA0IAADzBwAA2gcAAMEHAACoBwAAjwcAAHYHAABdBwAARAcAACoHAAARBwAA+AYAAN8GAADGBgAArQYAAJQGAAB7BgAAYQYAAEgGAAAvBgAAFgYAAP0FAADkBQAAywUAALIFAACYBQAAfwUAAGYFAABNBQAANAUAABsFAAACBQAA6QQAAM8EAAC2BAAAnQQAAIQEAABrBAAAUgQAADkEAAAgBAAABgQAAO0DAADUAwAAuwMAAKIDAACJAwAAcAMAAFYDAAA9AwAAJAMAAAsDAADyAgAA2QIAAMACAACnAgAAjQIAAHQCAABbAgAAQgIAACkCAAAQAgAA9wEAAN4BAADEAQAAqwEAAJIBAAB5AQAAYAEAAEcBAAAuAQAAFAEAAPsAAADiAAAAyQAAALAAAACXAAAAfgAAAGUAAABLAAAAMgAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAKAAAADwAAABQAAAAZAAAAHwAAACQAAAApAAAALgAAADMAAAA4AAAAPQAAAEIAAABHAAAATAAAAFEAAABXAAAAXAAAAGEAAABmAAAAawAAAHAAAAB1AAAAegAAAH8AAACEAAAAigAAAI8AAACUAAAAmQAAAJ4AAACjAAAAqAAAAK0AAACyAAAAtwAAALwAAADCAAAAxwAAAMwAAADRAAAA1gAAANsAAADgAAAA5QAAAOoAAADvAAAA9AAAAPoAAAD/AAAABAEAAAkBAAAOAQAAEwEAABgBAAAdAQAAIgEAACcBAAAsAQAAMQEAADcBAAA8AQAAQQEAAEYBAABLAQAAUAEAAFUBAABaAQAAXwEAAGQBAABpAQAAbwEAAHQBAAB5AQAAfgEAAIMBAACIAQAAjQEAAJIBAACXAQAAnAEAAKEBAACmAQAArAEAALEBAAC2AQAAuwEAAMABAADFAQAAygEAAM8BAADUAQAA2QEAAN4BAADjAQAA6QEAAO4BAADzAQAA+AEAAP0BAAACAgAABwIAAAwCAAARAgAAFgIAABsCAAAgAgAAJgIAACsCAAAwAgAANQIAADoCAAA/AgAARAIAAEkCAABOAgAAUwIAAFgCAABdAgAAYgIAAGgCAABtAgAAcgIAAHcCAAB8AgAAgQIAAIYCAACLAgAAkAIAAJUCAACaAgAAnwIAAKQCAACpAgAArwIAALQCAAC5AgAAvgIAAMMCAADIAgAAzQIAANICAADXAgAA3AIAAOECAADmAgAA6wIAAPACAAD2AgAA+wIAAAADAAAFAwAACgMAAA8DAAAUAwAAGQMAAB4DAAAjAwAAKAMAAC0DAAAyAwAANwMAADwDAABBAwAARwMAAEwDAABRAwAAVgMAAFsDAABgAwAAZQMAAGoDAABvAwAAdAMAAHkDAAB+AwAAgwMAAIgDAACNAwAAkgMAAJcDAACcAwAAogMAAKcDAACsAwAAsQMAALYDAAC7AwAAwAMAAMUDAADKAwAAzwMAANQDAADZAwAA3gMAAOMDAADoAwAA7QMAAPIDAAD3AwAA/AMAAAEEAAAHBAAADAQAABEEAAAWBAAAGwQAACAEAAAlBAAAKgQAAC8EAAA0BAAAOQQAAD4EAABDBAAASAQAAE0EAABSBAAAVwQAAFwEAABhBAAAZgQAAGsEAABwBAAAdQQAAHoEAAB/BAAAhAQAAIkEAACOBAAAlAQAAJkEAACeBAAAowQAAKgEAACtBAAAsgQAALcEAAC8BAAAwQQAAMYEAADLBAAA0AQAANUEAADaBAAA3wQAAOQEAADpBAAA7gQAAPMEAAD4BAAA/QQAAAIFAAAHBQAADAUAABEFAAAWBQAAGwUAACAFAAAlBQAAKgUAAC8FAAA0BQAAOQUAAD4FAABDBQAASAUAAE0FAABSBQAAVwUAAFwFAABhBQAAZgUAAGsFAABwBQAAdQUAAHoFAAB/BQAAhAUAAIkFAACOBQAAkwUAAJgFAACdBQAAogUAAKcFAACsBQAAsQUAALYFAAC7BQAAwAUAAMUFAADKBQAAzwUAANQFAADZBQAA3gUAAOMFAADoBQAA7QUAAPIFAAD3BQAA/AUAAAEGAAAGBgAACwYAABAGAAAVBgAAGgYAAB8GAAAkBgAAKQYAAC4GAAAzBgAAOAYAAD0GAABCBgAARwYAAEwGAABRBgAAVgYAAFsGAABgBgAAZQYAAGoGAABuBgAAcwYAAHgGAAB9BgAAggYAAIcGAACMBgAAkQYAAJYGAACbBgAAoAYAAKUGAACqBgAArwYAALQGAAC5BgAAvgYAAMMGAADIBgAAzQYAANIGAADXBgAA3AYAAOEGAADlBgAA6gYAAO8GAAD0BgAA+QYAAP4GAAADBwAACAcAAA0HAAASBwAAFwcAABwHAAAhBwAAJgcAACsHAAAwBwAANQcAADkHAAA+BwAAQwcAAEgHAABNBwAAUgcAAFcHAABcBwAAYQcAAGYHAABrBwAAcAcAAHUHAAB6BwAAfgcAAIMHAACIBwAAjQcAAJIHAACXBwAAnAcAAKEHAACmBwAAqwcAALAHAAC1BwAAuQcAAL4HAADDBwAAyAcAAM0HAADSBwAA1wcAANwHAADhBwAA5gcAAOsHAADvBwAA9AcAAPkHAAD+BwAAAwgAAAgIAAANCAAAEggAABcIAAAcCAAAIAgAACUIAAAqCAAALwgAADQIAAA5CAAAPggAAEMIAABICAAATAgAAFEIAABWCAAAWwgAAGAIAABlCAAAaggAAG8IAABzCAAAeAgAAH0IAACCCAAAhwgAAIwIAACRCAAAlggAAJoIAACfCAAApAgAAKkIAACuCAAAswgAALgIAAC9CAAAwQgAAMYIAADLCAAA0AgAANUIAADaCAAA3wgAAOMIAADoCAAA7QgAAPIIAAD3CAAA/AgAAAEJAAAFCQAACgkAAA8JAAAUCQAAGQkAAB4JAAAiCQAAJwkAACwJAAAxCQAANgkAADsJAAA/CQAARAkAAEkJAABOCQAAUwkAAFgJAABcCQAAYQkAAGYJAABrCQAAcAkAAHUJAAB5CQAAfgkAAIMJAACICQAAjQkAAJIJAACWCQAAmwkAAKAJAAClCQAAqgkAAK4JAACzCQAAuAkAAL0JAADCCQAAxgkAAMsJAADQCQAA1QkAANoJAADeCQAA4wkAAOgJAADtCQAA8gkAAPYJAAD7CQAAAAoAAAUKAAAKCgAADgoAABMKAAAYCgAAHQoAACIKAAAmCgAAKwoAADAKAAA1CgAAOQoAAD4KAABDCgAASAoAAE0KAABRCgAAVgoAAFsKAABgCgAAZAoAAGkKAABuCgAAcwoAAHcKAAB8CgAAgQoAAIYKAACLCgAAjwoAAJQKAACZCgAAngoAAKIKAACnCgAArAoAALEKAAC1CgAAugoAAL8KAADECgAAyAoAAM0KAADSCgAA1woAANsKAADgCgAA5QoAAOkKAADuCgAA8woAAPgKAAD8CgAAAQsAAAYLAAALCwAADwsAABQLAAAZCwAAHgsAACILAAAnCwAALAsAADALAAA1CwAAOgsAAD8LAABDCwAASAsAAE0LAABRCwAAVgsAAFsLAABgCwAAZAsAAGkLAABuCwAAcgsAAHcLAAB8CwAAgAsAAIULAACKCwAAjwsAAJMLAACYCwAAnQsAAKELAACmCwAAqwsAAK8LAAC0CwAAuQsAAL0LAADCCwAAxwsAAMsLAADQCwAA1QsAANkLAADeCwAA4wsAAOcLAADsCwAA8QsAAPULAAD6CwAA/wsAAAMMAAAIDAAADQwAABEMAAAWDAAAGwwAAB8MAAAkDAAAKQwAAC0MAAAyDAAANwwAADsMAABADAAARQwAAEkMAABODAAAUwwAAFcMAABcDAAAYAwAAGUMAABqDAAAbgwAAHMMAAB4DAAAfAwAAIEMAACGDAAAigwAAI8MAACTDAAAmAwAAJ0MAAChDAAApgwAAKsMAACvDAAAtAwAALgMAAC9DAAAwgwAAMYMAADLDAAAzwwAANQMAADZDAAA3QwAAOIMAADmDAAA6wwAAPAMAAD0DAAA+QwAAP0MAAACDQAABw0AAAsNAAAQDQAAFA0AABkNAAAeDQAAIg0AACcNAAArDQAAMA0AADQNAAA5DQAAPg0AAEINAABHDQAASw0AAFANAABUDQAAWQ0AAF4NAABiDQAAZw0AAGsNAABwDQAAdA0AAHkNAAB9DQAAgg0AAIcNAACLDQAAkA0AAJQNAACZDQAAnQ0AAKINAACmDQAAqw0AAK8NAAC0DQAAuQ0AAL0NAADCDQAAxg0AAMsNAADPDQAA1A0AANgNAADdDQAA4Q0AAOYNAADqDQAA7w0AAPMNAAD4DQAA/A0AAAEOAAAFDgAACg4AAA8OAAATDgAAGA4AABwOAAAhDgAAJQ4AACoOAAAuDgAAMw4AADcOAAA8DgAAQA4AAEUOAABJDgAATg4AAFIOAABWDgAAWw4AAF8OAABkDgAAaA4AAG0OAABxDgAAdg4AAHoOAAB/DgAAgw4AAIgOAACMDgAAkQ4AAJUOAACaDgAAng4AAKMOAACnDgAArA4AALAOAAC0DgAAuQ4AAL0OAADCDgAAxg4AAMsOAADPDgAA1A4AANgOAADcDgAA4Q4AAOUOAADqDgAA7g4AAPMOAAD3DgAA/A4AAAAPAAAEDwAACQ8AAA0PAAASDwAAFg8AABsPAAAfDwAAIw8AACgPAAAsDwAAMQ8AADUPAAA6DwAAPg8AAEIPAABHDwAASw8AAFAPAABUDwAAWA8AAF0PAABhDwAAZg8AAGoPAABuDwAAcw8AAHcPAAB8DwAAgA8AAIQPAACJDwAAjQ8AAJEPAACWDwAAmg8AAJ8PAACjDwAApw8AAKwPAACwDwAAtQ8AALkPAAC9DwAAwg8AAMYPAADKDwAAzw8AANMPAADXDwAA3A8AAOAPAADlDwAA6Q8AAO0PAADyDwAA9g8AAPoPAAD/DwAAAxAAAAcQAAAMEAAAEBAAABQQAAAZEAAAHRAAACEQAAAmEAAAKhAAAC4QAAAzEAAANxAAADsQAABAEAAARBAAAEgQAABNEAAAURAAAFUQAABaEAAAXhAAAGIQAABnEAAAaxAAAG8QAABzEAAAeBAAAHwQAACAEAAAhRAAAIkQAACNEAAAkhAAAJYQAACaEAAAnhAAAKMQAACnEAAAqxAAALAQAAC0EAAAuBAAALwQAADBEAAAxRAAAMkQAADOEAAA0hAAANYQAADaEAAA3xAAAOMQAADnEAAA6xAAAPAQAAD0EAAA+BAAAP0QAAABEQAABREAAAkRAAAOEQAAEhEAABYRAAAaEQAAHxEAACMRAAAnEQAAKxEAADARAAA0EQAAOBEAADwRAABAEQAARREAAEkRAABNEQAAUREAAFYRAABaEQAAXhEAAGIRAABmEQAAaxEAAG8RAABzEQAAdxEAAHwRAACAEQAAhBEAAIgRAACMEQAAkREAAJURAACZEQAAnREAAKERAACmEQAAqhEAAK4RAACyEQAAthEAALsRAAC/EQAAwxEAAMcRAADLEQAAzxEAANQRAADYEQAA3BEAAOARAADkEQAA6REAAO0RAADxEQAA9REAAPkRAAD9EQAAAhIAAAYSAAAKEgAADhIAABISAAAWEgAAGhIAAB8SAAAjEgAAJxIAACsSAAAvEgAAMxIAADcSAAA8EgAAQBIAAEQSAABIEgAATBIAAFASAABUEgAAWRIAAF0SAABhEgAAZRIAAGkSAABtEgAAcRIAAHUSAAB6EgAAfhIAAIISAACGEgAAihIAAI4SAACSEgAAlhIAAJoSAACfEgAAoxIAAKcSAACrEgAArxIAALMSAAC3EgAAuxIAAL8SAADDEgAAxxIAAMwSAADQEgAA1BIAANgSAADcEgAA4BIAAOQSAADoEgAA7BIAAPASAAD0EgAA+BIAAPwSAAABEwAABRMAAAkTAAANEwAAERMAABUTAAAZEwAAHRMAACETAAAlEwAAKRMAAC0TAAAxEwAANRMAADkTAAA9EwAAQRMAAEUTAABJEwAATRMAAFETAABVEwAAWhMAAF4TAABiEwAAZhMAAGoTAABuEwAAchMAAHYTAAB6EwAAfhMAAIITAACGEwAAihMAAI4TAACSEwAAlhMAAJoTAACeEwAAohMAAKYTAACqEwAArhMAALITAAC2EwAAuhMAAL4TAADCEwAAxhMAAMoTAADOEwAA0hMAANYTAADaEwAA3hMAAOITAADmEwAA6RMAAO0TAADxEwAA9RMAAPkTAAD9EwAAARQAAAUUAAAJFAAADRQAABEUAAAVFAAAGRQAAB0UAAAhFAAAJRQAACkUAAAtFAAAMRQAADUUAAA5FAAAPRQAAEAUAABEFAAASBQAAEwUAABQFAAAVBQAAFgUAABcFAAAYBQAAGQUAABoFAAAbBQAAHAUAABzFAAAdxQAAHsUAAB/FAAAgxQAAIcUAACLFAAAjxQAAJMUAACXFAAAmxQAAJ4UAACiFAAAphQAAKoUAACuFAAAshQAALYUAAC6FAAAvhQAAMEUAADFFAAAyRQAAM0UAADRFAAA1RQAANkUAADdFAAA4BQAAOQUAADoFAAA7BQAAPAUAAD0FAAA+BQAAPsUAAD/FAAAAxUAAAcVAAALFQAADxUAABMVAAAWFQAAGhUAAB4VAAAiFQAAJhUAACoVAAAtFQAAMRUAADUVAAA5FQAAPRUAAEEVAABEFQAASBUAAEwVAABQFQAAVBUAAFgVAABbFQAAXxUAAGMVAABnFQAAaxUAAG4VAAByFQAAdhUAAHoVAAB+FQAAgRUAAIUVAACJFQAAjRUAAJEVAACUFQAAmBUAAJwVAACgFQAApBUAAKcVAACrFQAArxUAALMVAAC3FQAAuhUAAL4VAADCFQAAxhUAAMkVAADNFQAA0RUAANUVAADYFQAA3BUAAOAVAADkFQAA6BUAAOsVAADvFQAA8xUAAPcVAAD6FQAA/hUAAAIWAAAGFgAACRYAAA0WAAARFgAAFBYAABgWAAAcFgAAIBYAACMWAAAnFgAAKxYAAC8WAAAyFgAANhYAADoWAAA+FgAAQRYAAEUWAABJFgAATBYAAFAWAABUFgAAWBYAAFsWAABfFgAAYxYAAGYWAABqFgAAbhYAAHEWAAB1FgAAeRYAAH0WAACAFgAAhBYAAIgWAACLFgAAjxYAAJMWAACWFgAAmhYAAJ4WAAChFgAApRYAAKkWAACsFgAAsBYAALQWAAC3FgAAuxYAAL8WAADCFgAAxhYAAMoWAADNFgAA0RYAANUWAADYFgAA3BYAAOAWAADjFgAA5xYAAOsWAADuFgAA8hYAAPYWAAD5FgAA/RYAAAAXAAAEFwAACBcAAAsXAAAPFwAAExcAABYXAAAaFwAAHRcAACEXAAAlFwAAKBcAACwXAAAwFwAAMxcAADcXAAA6FwAAPhcAAEIXAABFFwAASRcAAEwXAABQFwAAVBcAAFcXAABbFwAAXhcAAGIXAABmFwAAaRcAAG0XAABwFwAAdBcAAHgXAAB7FwAAfxcAAIIXAACGFwAAiRcAAI0XAACRFwAAlBcAAJgXAACbFwAAnxcAAKIXAACmFwAAqhcAAK0XAACxFwAAtBcAALgXAAC7FwAAvxcAAMIXAADGFwAAyRcAAM0XAADRFwAA1BcAANgXAADbFwAA3xcAAOIXAADmFwAA6RcAAO0XAADwFwAA9BcAAPcXAAD7FwAA/hcAAAIYAAAGGAAACRgAAA0YAAAQGAAAFBgAABcYAAAbGAAAHhgAACIYAAAlGAAAKRgAACwYAAAwGAAAMxgAADcYAAA6GAAAPhgAAEEYAABFGAAASBgAAEwYAABPGAAAUxgAAFYYAABaGAAAXRgAAGAYAABkGAAAZxgAAGsYAABuGAAAchgAAHUYAAB5GAAAfBgAAIAYAACDGAAAhxgAAIoYAACOGAAAkRgAAJQYAACYGAAAmxgAAJ8YAACiGAAAphgAAKkYAACtGAAAsBgAALMYAAC3GAAAuhgAAL4YAADBGAAAxRgAAMgYAADMGAAAzxgAANIYAADWGAAA2RgAAN0YAADgGAAA4xgAAOcYAADqGAAA7hgAAPEYAAD1GAAA+BgAAPsYAAD/GAAAAhkAAAYZAAAJGQAADBkAABAZAAATGQAAFxkAABoZAAAdGQAAIRkAACQZAAAoGQAAKxkAAC4ZAAAyGQAANRkAADgZAAA8GQAAPxkAAEMZAABGGQAASRkAAE0ZAABQGQAAUxkAAFcZAABaGQAAXRkAAGEZAABkGQAAaBkAAGsZAABuGQAAchkAAHUZAAB4GQAAfBkAAH8ZAACCGQAAhhkAAIkZAACMGQAAkBkAAJMZAACWGQAAmhkAAJ0ZAACgGQAApBkAAKcZAACqGQAArhkAALEZAAC0GQAAuBkAALsZAAC+GQAAwhkAAMUZAADIGQAAzBkAAM8ZAADSGQAA1RkAANkZAADcGQAA3xkAAOMZAADmGQAA6RkAAO0ZAADwGQAA8xkAAPYZAAD6GQAA/RkAAAAaAAAEGgAABxoAAAoaAAANGgAAERoAABQaAAAXGgAAGxoAAB4aAAAhGgAAJBoAACgaAAArGgAALhoAADEaAAA1GgAAOBoAADsaAAA+GgAAQhoAAEUaAABIGgAASxoAAE8aAABSGgAAVRoAAFgaAABcGgAAXxoAAGIaAABlGgAAaRoAAGwaAABvGgAAchoAAHYaAAB5GgAAfBoAAH8aAACDGgAAhhoAAIkaAACMGgAAjxoAAJMaAACWGgAAmRoAAJwaAACfGgAAoxoAAKYaAACpGgAArBoAALAaAACzGgAAthoAALkaAAC8GgAAwBoAAMMaAADGGgAAyRoAAMwaAADPGgAA0xoAANYaAADZGgAA3BoAAN8aAADjGgAA5hoAAOkaAADsGgAA7xoAAPIaAAD2GgAA+RoAAPwaAAD/GgAAAhsAAAUbAAAJGwAADBsAAA8bAAASGwAAFRsAABgbAAAcGwAAHxsAACIbAAAlGwAAKBsAACsbAAAuGwAAMhsAADUbAAA4GwAAOxsAAD4bAABBGwAARBsAAEgbAABLGwAAThsAAFEbAABUGwAAVxsAAFobAABdGwAAYRsAAGQbAABnGwAAahsAAG0bAABwGwAAcxsAAHYbAAB5GwAAfRsAAIAbAACDGwAAhhsAAIkbAACMGwAAjxsAAJIbAACVGwAAmBsAAJwbAACfGwAAohsAAKUbAACoGwAAqxsAAK4bAACxGwAAtBsAALcbAAC6GwAAvRsAAMEbAADEGwAAxxsAAMobAADNGwAA0BsAANMbAADWGwAA2RsAANwbAADfGwAA4hsAAOUbAADoGwAA6xsAAO4bAADyGwAA9RsAAPgbAAD7GwAA/hsAAAEcAAAEHAAABxwAAAocAAANHAAAEBwAABMcAAAWHAAAGRwAABwcAAAfHAAAIhwAACUcAAAoHAAAKxwAAC4cAAAxHAAANBwAADccAAA6HAAAPRwAAEAcAABDHAAARhwAAEkcAABMHAAATxwAAFIcAABVHAAAWBwAAFscAABeHAAAYRwAAGQcAABnHAAAahwAAG0cAABwHAAAcxwAAHYcAAB5HAAAfBwAAH8cAACCHAAAhRwAAIgcAACLHAAAjhwAAJEcAACUHAAAlxwAAJocAACdHAAAoBwAAKMcAACmHAAAqRwAAKwcAACvHAAAshwAALUcAAC4HAAAuxwAAL4cAADBHAAAwxwAAMYcAADJHAAAzBwAAM8cAADSHAAA1RwAANgcAADbHAAA3hwAAOEcAADkHAAA5xwAAOocAADtHAAA8BwAAPMcAAD1HAAA+BwAAPscAAD+HAAAAR0AAAQdAAAHHQAACh0AAA0dAAAQHQAAEx0AABYdAAAYHQAAGx0AAB4dAAAhHQAAJB0AACcdAAAqHQAALR0AADAdAAAzHQAANR0AADgdAAA7HQAAPh0AAEEdAABEHQAARx0AAEodAABNHQAATx0AAFIdAABVHQAAWB0AAFsdAABeHQAAYR0AAGQdAABmHQAAaR0AAGwdAABvHQAAch0AAHUdAAB4HQAAex0AAH0dAACAHQAAgx0AAIYdAACJHQAAjB0AAI4dAACRHQAAlB0AAJcdAACaHQAAnR0AAKAdAACiHQAApR0AAKgdAACrHQAArh0AALEdAACzHQAAth0AALkdAAC8HQAAvx0AAMIdAADEHQAAxx0AAModAADNHQAA0B0AANMdAADVHQAA2B0AANsdAADeHQAA4R0AAOMdAADmHQAA6R0AAOwdAADvHQAA8R0AAPQdAAD3HQAA+h0AAP0dAAD/HQAAAh4AAAUeAAAIHgAACx4AAA0eAAAQHgAAEx4AABYeAAAZHgAAGx4AAB4eAAAhHgAAJB4AACYeAAApHgAALB4AAC8eAAAyHgAANB4AADceAAA6HgAAPR4AAD8eAABCHgAARR4AAEgeAABKHgAATR4AAFAeAABTHgAAVR4AAFgeAABbHgAAXh4AAGAeAABjHgAAZh4AAGkeAABrHgAAbh4AAHEeAAB0HgAAdh4AAHkeAAB8HgAAfx4AAIEeAACEHgAAhx4AAIoeAACMHgAAjx4AAJIeAACUHgAAlx4AAJoeAACdHgAAnx4AAKIeAAClHgAAqB4AAKoeAACtHgAAsB4AALIeAAC1HgAAuB4AALoeAAC9HgAAwB4AAMMeAADFHgAAyB4AAMseAADNHgAA0B4AANMeAADVHgAA2B4AANseAADeHgAA4B4AAOMeAADmHgAA6B4AAOseAADuHgAA8B4AAPMeAAD2HgAA+B4AAPseAAD+HgAAAB8AAAMfAAAGHwAACB8AAAsfAAAOHwAAEB8AABMfAAAWHwAAGB8AABsfAAAeHwAAIB8AACMfAAAmHwAAKB8AACsfAAAuHwAAMB8AADMfAAA2HwAAOB8AADsfAAA9HwAAQB8AAEMfAABFHwAASB8AAEsfAABNHwAAUB8AAFMfAABVHwAAWB8AAFofAABdHwAAYB8AAGIfAABlHwAAaB8AAGofAABtHwAAbx8AAHIfAAB1HwAAdx8AAHofAAB8HwAAfx8AAIIfAACEHwAAhx8AAIofAACMHwAAjx8AAJEfAACUHwAAlx8AAJkfAACcHwAAnh8AAKEfAACkHwAAph8AAKkfAACrHwAArh8AALAfAACzHwAAth8AALgfAAC7HwAAvR8AAMAfAADDHwAAxR8AAMgfAADKHwAAzR8AAM8fAADSHwAA1R8AANcfAADaHwAA3B8AAN8fAADhHwAA5B8AAOYfAADpHwAA7B8AAO4fAADxHwAA8x8AAPYfAAD4HwAA+x8AAP0fAAAAIAAAAAAAAAAAAAAAAAAAEAAAABEAAAASAAAAAAAAAAgAAAAHAAAACQAAAAYAAAAKAAAABQAAAAsAAAAEAAAADAAAAAMAAAANAAAAAgAAAA4AAAABAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAFAAAABQAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAA0AAAAPAAAAEQAAABMAAAAXAAAAGwAAAB8AAAAjAAAAKwAAADMAAAA7AAAAQwAAAFMAAABjAAAAcwAAAIMAAACjAAAAwwAAAOMAAAACAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAcAAAAJAAAADQAAABEAAAAZAAAAIQAAADEAAABBAAAAYQAAAIEAAADBAAAAAQEAAIEBAAABAgAAAQMAAAEEAAABBgAAAQgAAAEMAAABEAAAARgAAAEgAAABMAAAAUAAAAFgAAAAAAAAAAAAAAgAAAAIAAAABAAAAAQAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAQAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAAAAAAIAAAACAAAAAgAAAAEAAAABAAAAAIAAAACAAAAAAAAAAAAAAAAAAAABAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAMAAAACAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAALAgAAKgIAAEsCAABuAgAAkwIAALoCAADkAgAAEAMAAD8DAABwAwAApAMAANgDAAAWBAAAAAAAAAAAAAAAAAAAmGwuAJhsLgCYbC4AmGwuAGj8AABq/AAAbPwAAG78AABw/AAAcvwAAHT8AAB2/AAAePwAAHr8AAB8/AAAfvwAAID8AACC/AAAhPwAAIb8AACI/AAAivwAAIz8AACO/AAAkPwAAJL8AACU/AAAlvwAAJj8AACa/AAAnPwAAJ78AACg/AAAovwAAKT8AACm/AAAqPwAAKr8AACs/AAArvwAALD8AAC3/AAAvvwAAMj8AADM/AAA0vwAANT8AADW/AAA2PwAANr8AADg/AAA4vwAAOT8AADm/AAA6PwAAFYZAQDq/AAA7PwAAPX8AAD4/AAA+/wAAP78AAAB/QAABP0AAAf9AAAK/QAADf0AABD9AAAU/QAAGP0AABz9AAAo/QAAM/0AADn9AABA/QAARf0AAEz9AABT/QAAV/0AAGD9AABm/QAAa/0AAHD9AABz/QAAe/0AAIT9AACN/QAAlv0AAJ/9AACs/QAAtf0AAL79AADH/QAA0P0AANn9AADi/QAA6/0AAPT9AAD9/QAABv4AAJhsLgAP/gAAG/4AACH+AAAq/gAALv4AADL+AAA2/gAAOv4AAD7+AABC/gAARv4AAEr+AABO/gAAUv4AAFb+AABa/gAAYv4AAGf+AABs/gAAc/4AAHj+AAB+/gAAg/4AAIf+AACM/gAAkv4AAJf+AACc/gAApf4AAJhsLgCYbC4AmGwuALD+AAC5/gAAmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4Ayv4AANP+AADa/gAA4f4AAOf+AACw/AAA7f4AAPf+AAD7/gAAAP8AAA7/AAAU/wAAmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgAa/wAAJP8AAC//AABC/wAAU/8AAGD/AABw/wAAef8AAIL/AACL/wAAlP8AAJ//AACw/wAAuf8AAML/AADL/wAA1P8AAN3/AADm/wAA8f8AAPr/AAADAAEADAABABUAAQAeAAEAKAABADEAAQA7AAEARAABAE0AAQBaAAEAYwABAGwAAQB8AAEAjQABAJ0AAQCrAAEAvgABANEAAQDiAAEA7QABAPoAAQAMAQEAGgEBACcBAQA2AQEAmGwuAJhsLgBJAQEAUwEBAF4BAQBnAQEAcAEBAHsBAQCHAQEAkQEBAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCbAQEApgEBALABAQC6AQEAxAEBAM4BAQDYAQEA5AEBAOgBAQDtAQEA+AEBAAECAQALAgEAEwIBABsCAQAmAgEALgIBADkCAQBGAgEAVQIBAGICAQBwAgEAfwIBAIwCAQCXAgEAnQIBAKMCAQCoAgEArQIBALkCAQCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgDilogAAAAA4paSAAAAAPCfkLEAAADirIfvuI8A4paRAAAAAOKcvQAAAADil48AAAAA4pmlAAAAAOKYiQAAAADsm4MAAAAA4oyCAAAAAOKshe+4jwDwn5iQAAAA4pmqAAAAAPCfhb7vuI/il4YAAAAA4oCmAAAAAOKeoe+4jwDimIUAAAAA4qeXAAAAAOKshu+4jwDLhwAAAAAA4oinAAAAAOKdjgAAAADilqQAAAAA4palAAAAAOKWrgAAAADilqAAAAAA4pahAAAAAOKBmQAAAADigZgAAAAA4oCWAAAAAOKXgAAAAADilrYAAAAA44CMAAAAAOOAjQAAAADCpQAAAAAA4oCiAAAAAOOAgQAAAADjgIIAAAAA44KbAAAAAOOCnAAAAADil5wAAAAA4pedAAAAAPCdmKIAAADwnZijAAAA8J2YpAAAAPCdmKUAAADwnZimAAAA8J2YpwAAAPCdmKgAAADwnZipAAAA8J2YqgAAAPCdmKsAAADwnZisAAAA8J2YrQAAAPCdmK4AAADwnZivAAAA8J2YsAAAAPCdmLEAAADwnZiyAAAA8J2YswAAAPCdmLQAAADwnZi1AAAA8J2YtgAAAPCdmLcAAADwnZi4AAAA8J2YuQAAAPCdmLoAAADwnZi7AAAAAAAAAAAAsIHiALnCAACywgAAs8IAALSB4gC1geIAtoHiALeB4gC4geIAuYHiAIO14QCHteEAnLbhAIi14QCJteEAoLbhAIKBAACEgQAAhoEAAIiBAACKgQAAi4EAAI2BAACPgQAAkYEAAJOBAACVgQAAl4EAAJmBAACbgQAAnYEAAJ+BAAChgQAApIEAAKaBAACogQAAqoEAAKuBAACsgQAArYEAAK6BAACvgQAAsoEAALWBAAC4gQAAu4EAAL6BAAC/gQAAgIIAAIGCAACCggAAhIIAAIaCAACIggAAiYIAAIqCAACLggAAjIIAAI2CAACPggAAkoIAAJOCAACjgQAAg4IAAIWCAACHggAAAAAAAAAAAACiggAApIIAAKaCAACoggAAqoIAAKuCAACtggAAr4IAALGCAACzggAAtYIAALeCAAC5ggAAu4IAAL2CAAC/ggAAgYMAAISDAACGgwAAiIMAAIqDAACLgwAAjIMAAI2DAACOgwAAj4MAAJKDAACVgwAAmIMAAJuDAACegwAAn4MAAKCDAAChgwAAooMAAKSDAACmgwAAqIMAAKmDAACqgwAAq4MAAKyDAACtgwAAr4MAALKDAACzgwAAg4MAAKODAAClgwAAp4MAAAAAAAAAAAAAiwMAAIQDAAB+AwAAdwMAAHEDAABrAwAAZAMAAF4DAABYAwAAUgMAAEwDAABGAwAAQAMAADoDAAA0AwAALgMAACgDAAAiAwAAHAMAABcDAAARAwAACwMAAAYDAAAAAwAA+gIAAPUCAADwAgAA6gIAAOUCAADgAgAA2gIAANUCAADQAgAAywIAAMUCAADAAgAAuwIAALYCAACxAgAArAIAAKYCAACjAgAAngIAAJkCAACUAgAAjwIAAIsCAACGAgAAgAIAAHwCAAB4AgAAdAIAAG8CAABrAgAAZgIAAGICAABcAgAAWQIAAFUCAABQAgAATAIAAEgCAABEAgAAPwIAADoCAAA3AgAAMwIAAC8CAAArAgAAJwIAACMCAAAfAgAAGgIAABcCAAAUAgAAEAIAAAwCAAAIAgAABAIAAAECAAD8AQAA+QEAAPYBAADyAQAA7gEAAOsBAADnAQAA5AEAAOABAADdAQAA2gEAANYBAADTAQAAzwEAAMwBAADJAQAAAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTAAAAABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRlQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fAAAAAAAAAAAAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1Bf////////////////////8iIgIA9gEAABmTDQoaCgAAfQYAAO++rd5nRSMBAQAAAP////8JAAAA776t3mdFIwET+wAA/////wEAAAAAADwAAQAAAGiJAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAOhUGQAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAK/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaIkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFxsLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX3CJAP8JLw9WGQEAmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4Af39/f39/f39/f39/f38AAHJvb3RfcGF0aABjZGF0YV9wYXRoAGpveXN0aWNrX2luZGV4ACAlZABidXR0b25fa2V5cwAgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQAbGl2ZV9ub3RlcwBjdXJzb3Jfc25hcABndWlfdGhlbWUAc2hpZnRfZ2x5cGhzAHNob3dfYmFja3VwX21lc3NhZ2VzAGhvc3RfZnJhbWVyYXRlX2NvbnRyb2wAY29udGVudF9maWx0ZXIAZHJhd190YWJzAHJlY29yZF9hY3Rpdml0eV9sb2cAYWxsb3dfZnVuY3Rpb25fa2V5cwBjaGVja19mb3JfY2FydF91cGRhdGVzAGVuYWJsZV9ncGlvAGZsaXBfYW1wZXJzYW5kAHZlcnNpb24gJXMKCgAwLjIuMmMALy8gYXVkaW8gdm9sdW1lOiAwLi4yNTYgCgB2b2x1bWUgJWQKCgAKLy8gTG9jYXRpb24gb2YgcGljby04J3Mgcm9vdCBmb2xkZXIKAHJvb3RfcGF0aCAlcwoKAAovLyBMb2NhdGlvbiBvZiBjYXJ0cmlkZ2Ugc2F2ZSBkYXRhCgBjZGF0YV9wYXRoICVzCgoACi8vIFNwZWNpZnkgd2hpY2ggcGxheWVyIGluZGV4IGpveXN0aWNrIGNvbnRyb2wgYmVnaW5zIGF0ICgwLi43KQoAam95c3RpY2tfaW5kZXggJWQKCgAKLy8gQ3VzdG9tIGtleWJvYXJkIHNjYW5jb2RlcyBmb3IgYnV0dG9ucy4gcGxheWVyMCAwLi42LCBwbGF5ZXIxIDAuLjUKAGJ1dHRvbl9rZXlzIAAlZCAACgoALy8gUGxheSBub3RlcyBhcyB0aGV5IGFyZSBwbG90dGVkIGluIGZyZXF1ZW5jeSBtb2RlCgBsaXZlX25vdGVzICVkCgoALy8gaWZmIDE6IHdoZW4gdXNpbmcga2V5Ym9hcmQgY3Vyc29yLCBzbmFwIHRvIGNsb3Nlc3QgcGl4ZWwgLyBtYXAgY2VsCgBjdXJzb3Jfc25hcCAlZAoKAC8vIDAgZGVmYXVsdCAgMSBkYXJrIGJsdWUgYmFja2dyb3VuZCBpbiBjb2RlIGVkaXRvciAgMiBibGFjayBiYWNrZ3JvdW5kIGluIGNvZGUgZWRpdG9yICAgMyBncmF5IGJhY2tncm91bmQgaW4gY29kZSBlZGl0b3IgICAKAGd1aV90aGVtZSAlZAoKAC8vIHNjYWxlIG9mIHNjcmVlbnNob3RzIGFuZCBnaWZzIC8vIDIgbWVhbnMgMjU2eDI1NgoAc2NyZWVuc2hvdF9zY2FsZSAlZAoAZ2lmX3NjYWxlICVkCgoALy8gbWF4aW11bSBnaWYgbGVuZ3RoIGluIHNlY29uZHMgKDAuLjEyMDsgMCBtZWFucyBubyBnaWYgcmVjb3JkaW5nKQoAZ2lmX2xlbiAlZAoKAC8vIHdoZW4gMSwgcmVzZXQgdGhlIHJlY29yZGluZyB3aGVuIHByZXNzaW5nIGN0cmwtOSAodXNlZnVsIGZvciBjcmVhdGluZyBhIG5vbi1vdmVybGFwcGluZyBzZXF1ZW5jZSkKAGdpZl9yZXNldF9tb2RlICVkCgoALy8gMCBmb3Igb2ZmLiAxIHRvIGFsbG93IGNvbnRyb2wgb2YgYSBjYXJ0J3MgZnJhbWVyYXRlIGR1ZSB0byBob3N0IG1hY2hpbmUncyBjcHUgY2FwYWNpdHkgKHJlY29tbWVuZGVkKQoAaG9zdF9mcmFtZXJhdGVfY29udHJvbCAlZAoKAC8vIGZpbHRlciBzcGxvcmUgY2FydHJpZGdlcwoALy8gMCBvZmYgICAxIG9uIChleGNsdWRlIGNhcnRyaWRnZSB0YWdnZWQgYXMgJ21hdHVyZScgYnkgY29tbXVuaXR5KQoAc3Bsb3JlX2ZpbHRlciAlZAoKAC8vIHRhYiBkaXNwbGF5IHdpZHRoICgxIH4gNCBzcGFjZXMpCgB0YWJfd2lkdGggJWQKCgAvLyAwIG9mZiAxIG9uOiBkcmF3IHRhYiBjaGFyYWN0ZXJzIGFzIHNtYWxsIHZlcnRpY2FsIGxpbmVzCgBkcmF3X3RhYnMgJWQKCgAvLyAwIG9mZiAxIG9uOiByZWNvcmQgdGhlIGN1cnJlbnQgY2FydHJpZGdlIGFuZCBlZGl0b3IgdmlldyBldmVyeSAzIHNlY29uZHMgKHNlZSBbYXBwZGF0YV0vYWN0aXZpdHkubG9nLnR4dCkKAHJlY29yZF9hY3Rpdml0eV9sb2cgJWQKCgAvLyAwIG9mZiAxIG9uOiBhbGxvdyBGNi4uRjkgKGFsdGVybmF0aXZlOiBjdHJsIDYuLjkpCgBhbGxvd19mdW5jdGlvbl9rZXlzICVkCgoALy8gMCBvZmYgMSBvbjogYXV0b21hdGljYWxseSBjaGVjayBmb3IgYSBuZXdlciB2ZXJzaW9uIG9mIGEgQkJTIGNhcnQgZWFjaCB0aW1lIGl0IGlzIHJ1bi4KAGNoZWNrX2Zvcl9jYXJ0X3VwZGF0ZXMgJWQKCgBmbGlwX2FtcGVyc2FuZCAxCgoAe2NpaWkgPSAkMDsgaWlpID0gMDt9ACJ7aWlpID0gaWlpKzE7IHJldHVybiBfY2FydG5hbWVbY2lpaV0uY2hhckNvZGVBdChpaWktMSk7IH0iAFtjb2RvXSBiYnNfd2dldF9vbmxvYWQgOjogcmVjZWl2ZWQuIHByZXBhcmluZyB0byBydW4uIHBzdGF0ZS5jdXJyZW50X2ZpbGVuYW1lICVzIGFwcC5hcmd2X2ZpbGVuYW1lICVzCgB3cm90ZSBsZW46ICVkCgAvYmJzL2dldF9jYXJ0LnBocABsaWQ9AGZpbGVuYW1lX25vdF9mb3VuZC5wOC5wbmcAYmJzX3dnZXRfb25sb2FkOiBzZXQgY3VycmVudF9maWxlbmFtZSB0byAlcyAoZGVyaXZlZCBmcm9tICVzKQoAZmV0Y2hpbmcgY2FydHJpZGdlLi4gb2sAY291bGQgbm90IGZldGNoIGNhcnQAInsgaWYgKHR5cGVvZiBfY2FydGRhdCAhPT0ndW5kZWZpbmVkJykgcmV0dXJuIDE7IHJldHVybiAwO30iACJ7cmV0dXJuIF9jYXJ0ZGF0Lmxlbmd0aCAvIDMyNzY4fSIAInsgX2NkcG9zPV9jZHBvcysxOyByZXR1cm4gX2NhcnRkYXRbX2NkcG9zLTFdOyB9IgBzdGFydGluZyBkb3dubG9hZAoAbG9hZGluZyBlbWJlZGRlZCBjYXJ0cmlkZ2UKAGpveXN0aWNrAGdsb2JhbF9hcGkAa2lvc2sAZ3Bpb19iYXNlAGdsaXRjaF90ZXN0AHgAZXhlYwBwYXJhbQBwAGFjY2VwdF9mdXR1cmUAdHZfZnJhbWUAZGlzcGxheXNfeABkaXNwbGF5c195AGkAbwBmdW5jdGlvbiBta2Rpcl8wKGQpIHsgdHJ5IHsgc3RhdCA9IEZTLnN0YXQoZCk7IGNvbnNvbGUubG9nKCJmb3VuZCBkaXJlY3Rvcnk6ICIrZCk7IH0gY2F0Y2ggKGUpIHsgRlMubWtkaXIoZCk7IGNvbnNvbGUubG9nKCJjcmVhdGVkIGRpcmVjdG9yeTogIitkKTsgfSB9IGNvbnNvbGUubG9nKCJtb3VudGluZyAvdXNlcl9kYXRhIik7IG1rZGlyXzAoJy91c2VyX2RhdGEnKTsgRlMubW91bnQoSURCRlMsIHt9LCAnL3VzZXJfZGF0YScpOyBGUy5zeW5jZnModHJ1ZSwgZnVuY3Rpb24gKGVycikgeyBpZiAoIWVycikgeyBjb25zb2xlLmxvZygiY29kbzogbW91bnRlZCBmaWxlc3lzdGVtLlxuIik7IGNvZG9fbW91bnRlZF9maWxlc3lzdGVtID0gMTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9jZGF0YScpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2NzdG9yZScpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2NhcnRzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmFja3VwJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvcGxhdGVzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmJzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmJzL2NhcnRzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmJzL2xhYmVscycpOyB9IGVsc2UgeyBjb25zb2xlLmxvZygiKiogY291bGQgbm90IG1vdW50IGZpbGVzeXN0ZW1cbiIpOyBjb25zb2xlLmxvZyhlcnIpOyB9IH0gKTsAdW50aXRsZWQucDgAdW50aXRsZWRfJWQucDgAInsgTW9kdWxlLnBpY284UmVzZXQgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gMTt9IDsgTW9kdWxlLnBpY284VG9nZ2xlU291bmQgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gMzt9IDsgTW9kdWxlLnBpY284VG9nZ2xlUGF1c2VkID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDQ7fSA7IE1vZHVsZS5waWNvOFNldFBhdXNlZCA9IGZ1bmN0aW9uKHApIHsgY29kb19jb21tYW5kID0gNTsgY29kb19jb21tYW5kX3AgPSAwOyBpZiAocCkgY29kb19jb21tYW5kX3A9MTt9IDsgTW9kdWxlLnBpY284VG9nZ2xlQ29udHJvbE1lbnUgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gNzt9IDsgTW9kdWxlLnBpY284RHJhZ092ZXIgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gMTA7fSA7IE1vZHVsZS5waWNvOERyYWdTdG9wID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDExO30gOyB9IgBwaWNvLTgAY2FydHMvAGNkYXRhLwBwaWNvOC5kYXQAZGF0YS5wb2QAUlVOTklORzogJXMKAGNvdWxkbid0IGxvYWQgJXMKAGNvdWxkIG5vdCBsb2FkICVzCgAuLwB7dmFyIHZhbD0wOyBpZiAod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLmluZGV4T2YoIndpZGdldC5waHAiKSA+PSAwKSB2YWw9MTsgcmV0dXJuIHZhbDt9AHt2YXIgdmFsPTA7IGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuaW5kZXhPZigicGljby04LnBocCIpID49IDApIHZhbD0xOyByZXR1cm4gdmFsO30AYSBuZXcgdmVyc2lvbiBvZiB0aGlzAGNhcnRyaWRnZSBpcyBhdmFpbGFibGUAJTAyZAAtLW1vcmUtLQBjb250aW51ZQByZXNldCBjYXJ0AHNvdW5kOm9uAHNvdW5kOm9mZgB1cGRhdGUgY2FydABza2lwAHNvdW5kIG9mZiAoY3RybC1tKQBzb3VuZCBvbiAoY3RybC1tKQBkb3dubG9hZCB0aW1lZCBvdXQAZG93bmxvYWRpbmcuLiBjYW5jZWxsZWQALm5mbwAvdGVtcC0AY291bGQgbm90IGZpbmQgY2FydABkb3dubG9hZGluZy4uIG9rAGxvYWRlZCAjJXMgKCVkIGNoYXJzKQBjb3VsZCBub3QgY29ubmVjdCB0byBiYnMAZnV0dXJlIHZlcnNpb24uIHBsZWFzZSB1cGRhdGUhAHsgaWYgKHR5cGVvZiBwaWNvOF9zdGF0ZSAhPT0gJ3VuZGVmaW5lZCcpeyBwaWNvOF9zdGF0ZS5pc19wYXVzZWQgPSAkMDsgcGljbzhfc3RhdGUuc291bmRfdm9sdW1lID0gJDE7IHBpY284X3N0YXRlLmZyYW1lX251bWJlciA9ICQyOyBwaWNvOF9zdGF0ZS5oYXNfZm9jdXMgPSAkMzsgcGljbzhfc3RhdGUuc2hvd19kcGFkID0gJDQ7IHBpY284X3N0YXRlLnJlcXVlc3RfcG9pbnRlcl9sb2NrID0gJDU7IH0gfQAie3ZhciB2YWw9MDsgaWYgKHR5cGVvZiBjb2RvX2NvbW1hbmQgIT09ICd1bmRlZmluZWQnKSB7dmFsPWNvZG9fY29tbWFuZDsgY29kb19jb21tYW5kPTA7fSByZXR1cm4gdmFsfSIAInt2YXIgdmFsPTA7IGlmICh0eXBlb2YgY29kb19jb21tYW5kX3AgIT09ICd1bmRlZmluZWQnKSB7dmFsPWNvZG9fY29tbWFuZF9wOyBjb2RvX2NvbW1hbmRfcD0wO30gcmV0dXJuIHZhbH0iACJ7YnV0dG9uX2kgPSAwfSIAInt2YXIgdmFsPS0xOyBpZiAodHlwZW9mIHBpY284X2J1dHRvbnMgIT09ICd1bmRlZmluZWQnKSB7dmFsID0gcGljbzhfYnV0dG9uc1tidXR0b25faV07IGJ1dHRvbl9pICsrO30gcmV0dXJuIHZhbDt9IgAie3ZhciB2YWwgPSAwOyBpZiAodHlwZW9mIHBpY284X2dhbWVwYWRzICE9PSAndW5kZWZpbmVkJykge3ZhbCA9IHBpY284X2dhbWVwYWRzLmNvdW50O30gcmV0dXJuIHZhbDt9IgAqKiBmYWlsZWQgdG8gc2F2ZSBzY3JlZW5zaG90AHNldCB2aWRlbyBzdGFydGluZyBwb2ludABubyB2aWRlbyByZWNvcmRlZCAocmVjOiBjdHJsLTgpACoqIGZhaWxlZCB0byBzYXZlIHZpZGVvAGpveXN0aWNrICVkIGNvbm5lY3RlZABqb3lzdGljayAlZCBkaXNjb25uZWN0ZWQAaWYgKHR5cGVvZiBvbl9tb2R1bGVfbG9hZCAhPT0gJ3VuZGVmaW5lZCcpIHsgaWYgKG9uX21vZHVsZV9sb2FkKSBvbl9tb2R1bGVfbG9hZCgpOyB9AFtjb2RvXSAqKiogYmJzX3dnZXRfb25sb2FkOiBpbiBtaWRkbGUgb2YgcnVubmluZyBzbGljZQBAQCBkb25lAGRhdGE6aW1hZ2UvJXM7YmFzZTY0LAB7IGlmICh0eXBlb2YgcDhpbWcgIT09ICd1bmRlZmluZWQnKSB7IHA4aW1nLnNyYz0iIjsgfSBwOGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOyBwOGltZy5zcmMgPSBVVEY4VG9TdHJpbmcoJDAsICQxKTsgcDhpbWcuc3R5bGUgPSAnd2lkdGg6MTI4cHg7IGhlaWdodDoxMjhweDsgaW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7IC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7JzsgaWYgKHR5cGVvZiBwOGltZ2hvbGRlciA9PT0gJ3VuZGVmaW5lZCcgfHwgIXA4aW1naG9sZGVyKXsgcDhpbWdob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgcDhpbWdob2xkZXIuc3R5bGUuY3NzVGV4dCA9ICdtaW4td2lkdGg6MTYwcHg7IGRpc3BsYXk6dGFibGU7IHBvc2l0aW9uOmZpeGVkOyB0b3A6MjBweDsgbGVmdDoyMHB4OyBwYWRkaW5nOjEycHg7IGJhY2tncm91bmQtY29sb3I6IzAwMDsgYm94LXNoYWRvdzogMnB4IDJweCA4cHggcmdiYSgxNiwgMCwgNDgsIDAuNCk7JzsgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwOGltZ2hvbGRlcik7IH0gaWYgKHA4aW1naG9sZGVyKSB7IHdoaWxlIChwOGltZ2hvbGRlci5jaGlsZEVsZW1lbnRDb3VudCA+IDApIHA4aW1naG9sZGVyLnJlbW92ZUNoaWxkKHA4aW1naG9sZGVyLmZpcnN0Q2hpbGQpOyB2YXIgZGlzbWlzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBkaXNtaXNzLnN0eWxlLmNzc1RleHQgPSAnZGlzcGxheTp0YWJsZTsgZm9udC1zaXplOjEwcHQ7IGNvbG9yOiNmZmY7IHBhZGRpbmc6NHB4OyBjdXJzb3I6cG9pbnRlcjsgbWFyZ2luLWxlZnQ6MTBweDsgZmxvYXQ6cmlnaHQnOyBkaXNtaXNzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgcDhpbWcuc3JjPSIiOyB3aGlsZSAocDhpbWdob2xkZXIuY2hpbGRFbGVtZW50Q291bnQgPiAwKSBwOGltZ2hvbGRlci5yZW1vdmVDaGlsZChwOGltZ2hvbGRlci5maXJzdENoaWxkKTsgcDhpbWdob2xkZXIuc3R5bGUuZGlzcGxheT0ibm9uZSI7IH0sIGZhbHNlKTsgZGlzbWlzcy5pbm5lckhUTUwgPSAnWCc7IHA4aW1naG9sZGVyLmFwcGVuZENoaWxkKGRpc21pc3MpOyBwOGltZ2hvbGRlci5hcHBlbmRDaGlsZChwOGltZyk7IHZhciBpbmZvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGluZm8uaW5uZXJIVE1MID0gJzxicj4gPGZvbnQgc3R5bGU9ImNvbG9yOiNiYmI7IGZvbnQtc2l6ZTo4cHQiPjxjZW50ZXI+IChyaWdodC1jbGljayB0byBzYXZlKSA8L2NlbnRlcj48L2ZvbnQ+JzsgcDhpbWdob2xkZXIuYXBwZW5kQ2hpbGQoaW5mbyk7IGlmIChwOGltZ2hvbGRlci5zdHlsZS5kaXNwbGF5ID09ICJub25lIikgcDhpbWdob2xkZXIuc3R5bGUuZGlzcGxheSA9ICIiOyB9IH0AJTJ4AHBuZwBsb2FkaW5nIGZ1dHVyZSBjYXJ0IHZlcnNpb24AZnV0dXJlIHZlcnNpb246ICVkAGNhcnRyaWRnZSBkYXRhIGlzIGNvcnJ1cHRlZAAlcyVzLnA4JXMAJXMlcyVzLnA4AHVudGl0bGVkAGJhY2t1cC8AJTRkJTAyZCUwMmRfJTAyZCUwMmQlMDJkXwBwcm9ncmFtIG92ZXIgc2l6ZSBsaW1pdAoAY29tcHJlc3NlZCBjb2RlIHNpemUgdG9vIGxhcmdlCgAlZCAvICVkIGJ5dGVzAHdhcm5pbmc6IGNvbXByZXNzZWQgY29kZSB0b28gYmlnAHRvIGJlIGV4cG9ydGVkIG9yIHNhdmVkIGFzIHBuZwAoc2F2aW5nIC5wOCBhbnl3YXkpAGZsYXR0ZW5lZCAjaW5jbHVkZXMAKiogZmFpbGVkIHRvIHNhdmUgKioAL3VzZXJfZGF0YS9jc3RvcmUvJXMlcwBfXwBwcmVwYXJlX2xvYWRlZF9jYXJ0OiBsb29raW5nIGZvciBzYW5kYm94ZWQgY2FydCBwYXRjaDogJXMKACAgZm91bmQKACAgbm90IGZvdW5kCgB3YXJuaW5nOiBwb3NzaWJsZSBkZXByZWNhdGVkIEBAAGxlZ2FjeTogcGF0ICVkIHN3YXAgY2hhbjogJWQgJWQAcHJpbnQoImFyY2hlb3MiLDk4LDM0LDcpAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tIGxlZ2FjeSAwLjEuMSBhcGkgaW5qZWN0ZWQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIF92YWxpZGF0ZShjKSBpZiAoYy5fbnVtPT1uaWwpIHRoZW4gbG9jYWwgaT0wIHdoaWxlKGNbaSsxXX49bmlsKSBkbyBpPWkrMSBlbmQgYy5fbnVtPWkgYy5fbWF4PWkgCWMuX21pbj1pKzEgYy5fbnVtID0gaSBjLl9jaSA9IGkgZW5kIGVuZCAJZnVuY3Rpb24gZm9yZWFjaChjLCBmKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBfdmFsaWRhdGUoYykgaWYgKGMuX21heCA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBmb3IgaT0xLGMuX21heCBkbyBpZiAoY1tpXSB+PSBuaWwpIHRoZW4gYy5fY2kgPSBpIGYoY1tpXSkgZW5kIGVuZCBlbmQgZnVuY3Rpb24gYWxsKGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIF92YWxpZGF0ZShjKSBsb2NhbCBpPTAgcmV0dXJuIGZ1bmN0aW9uKCkgaT1pKzEgd2hpbGUgKGNbaV09PW5pbCBhbmQgaTxjLl9tYXgpIGRvIGk9aSsxIGVuZCBpZiAoY1tpXSB+PSBuaWwpIHRoZW4gYy5fY2k9aSByZXR1cm4gY1tpXSBlbmQgZW5kIGVuZCBmdW5jdGlvbiBhZGQoYywgaSkgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBlbmQgX3ZhbGlkYXRlKGMpIGZvciBqPWMuX21pbixjLl9tYXgrMSBkbyBpZiAoY1tqXSA9PSBuaWwpIHRoZW4gYy5fbWF4ID0gbWF4KGMuX21heCxqKSBjLl9taW4gPSBqKzEgYy5fbnVtID0gYy5fbnVtKzEgY1tqXT1pIHJldHVybiBpIGVuZCBlbmQgZW5kIGZ1bmN0aW9uIGNvdW50KGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gMCBlbmQgX3ZhbGlkYXRlKGMpIHJldHVybiBjLl9udW0gZW5kIGZ1bmN0aW9uIGRlbChjLGkpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZW5kIF92YWxpZGF0ZShjKSBpZiAoaT09bmlsKSB0aGVuIHJldHVybiBlbmQgaWYgKGMuX2NpPT1pKSB0aGVuIGNbYy5fY2ldPW5pbCBjLl9taW49bWluKGMuX21pbiwgYy5fY2kpIGMuX251bT1jLl9udW0tMSByZXR1cm4gZWxzZSBmb3Igaj0xLGMuX21heCBkbyBpZiAoY1tqXT09aSkgdGhlbiBjW2pdPW5pbCBjLl9taW49bWluKGMuX21pbixqKSBjLl9udW09Yy5fbnVtLTEgcmV0dXJuIGVuZCBlbmQgZW5kIHdoaWxlIChjLl9tYXg+MSBhbmQgY1tjLl9tYXhdPT1uaWwpIGRvIGMuX21heD1jLl9tYXgtMSBlbmQgZW5kICBuZD0wCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoAbGVnYWN5OiAwLjEuMSBhcGkgaW5qZWN0ZWQALmx1YQAuYmluAHBsZWFzZSBzcGVmaWN5IGEgZmlsZW5hbWUAKioqIG5vIGZpbGVuYW1lLiBub3Qgc2F2ZWQhICoqKgBjYW4gbm90IG92ZXJ3cml0ZSBiYnMgY2FydAAqIGNhbiBub3Qgb3ZlcndyaXRlIGJicyBjYXJ0ISAqAHNhdmUgZmFpbGVkACoqIHNhdmUgZmFpbGVkICoqAHNhdmVkICVzJXMlcwBsb2FkZWQgZXh0ZXJuYWwgY2hhbmdlcwAlc18lJWQucG5nACVzLnBuZwBmaWxlIG91dHB1dCBwYXRoOiAlcwoAc2F2aW5nIHNjcmVlbnNob3QgdG86ICVzCgBtb3VudF9lbWJlZGRlZF9jYXJ0OiAlcyAoJWQgY2hhcnMpICVzCgAqKiBtb3VudF9lbWJlZGRlZF9jYXJ0OiBmYWlsZWQgdG8gbW91bnQAY2FuIG5vdCBsb2FkAHA4bS5wbmcAcDhtLnBuZyBub3Qgc3VwcG9ydGVkAGltYWdlIGlzIHRvbyBsYXJnZSAoMTI4IG1heCkAZmlsZSBpcyB0b28gbGFyZ2UgKDI1NmsgbWF4KQB7IGpzU3RyaW5nID0gcDhfZHJvcHBlZF9jYXJ0OyBpZiAoIWpzU3RyaW5nKSByZXR1cm4gMDsgdmFyIGxlbmd0aEJ5dGVzID0gbGVuZ3RoQnl0ZXNVVEY4KGpzU3RyaW5nKSsxOyB2YXIgc3RyaW5nT25XYXNtSGVhcCA9IF9tYWxsb2MobGVuZ3RoQnl0ZXMpOyBzdHJpbmdUb1VURjgoanNTdHJpbmcsIHN0cmluZ09uV2FzbUhlYXAsIGxlbmd0aEJ5dGVzKTsgcmV0dXJuIHN0cmluZ09uV2FzbUhlYXA7IH0AeyBqc1N0cmluZyA9IHA4X2Ryb3BwZWRfY2FydF9uYW1lOyBpZiAoIWpzU3RyaW5nKSByZXR1cm4gMDsgdmFyIGxlbmd0aEJ5dGVzID0gbGVuZ3RoQnl0ZXNVVEY4KGpzU3RyaW5nKSsxOyB2YXIgc3RyaW5nT25XYXNtSGVhcDIgPSBfbWFsbG9jKGxlbmd0aEJ5dGVzKTsgc3RyaW5nVG9VVEY4KGpzU3RyaW5nLCBzdHJpbmdPbldhc21IZWFwMiwgbGVuZ3RoQnl0ZXMpOyByZXR1cm4gc3RyaW5nT25XYXNtSGVhcDI7IH0AbG9hZGluZyB1cmxfc3RyOiAlcwoAYmFzZTY0LABAQCB0cnlpbmcgdG8gbG9hZCBhcyBpbWFnZSAlZAoAQEAgc2V0dGluZyBhcyBkcm9wcGVkIGltYWdlOiAlZCAlZAoAQEAgdHJ5aW5nIGFzIGRhdGEgZmlsZS4gZGF0X2YtPmxlbjogJWQKAGNvdWxkIG5vdCBmaW5kIGRyb3BwZWQgZmlsZQBubyB2YWx1ZQBib29sZWFuAHVzZXJkYXRhAG51bWJlcgBzdHJpbmcAdGFibGUAdGhyZWFkAHByb3RvAHVwdmFsAHN0YWNrIG92ZXJmbG93AEMgc3RhY2sgb3ZlcmZsb3cAdGFibGUgb3ZlcmZsb3cAJ2ZvcicgaW5pdGlhbCB2YWx1ZSBtdXN0IGJlIGEgbnVtYmVyACdmb3InIGxpbWl0IG11c3QgYmUgYSBudW1iZXIAJ2Zvcicgc3RlcCBtdXN0IGJlIGEgbnVtYmVyAG5OAHhYAGJCAGF0dGVtcHQgdG8gY29tcGFyZSB0d28gJXMgdmFsdWVzAGF0dGVtcHQgdG8gY29tcGFyZSAlcyB3aXRoICVzAHN0cmluZyBsZW5ndGggb3ZlcmZsb3cAY29uY2F0ZW5hdGUAPwB1cHZhbHVlAGF0dGVtcHQgdG8gJXMgJXMgJyVzJyAoYSAlcyB2YWx1ZSkAYXR0ZW1wdCB0byAlcyBhICVzIHZhbHVlAF9FTlYAZ2xvYmFsAGZpZWxkAG1ldGhvZABjb25zdGFudAAlMC41ZgAuOTk5OQAuMDAwMAAlMC4zZgAlMC40ZgBnZXQgbGVuZ3RoIG9mAHBlcmZvcm0gYXJpdGhtZXRpYyBvbgB0YWJsZSBpbmRleCBpcyBuaWwAbWVtb3J5IGFsbG9jYXRpb24gZXJyb3I6IGJsb2NrIHRvbyBiaWcAaW5kZXgAbG9vcCBpbiBzZXR0YWJsZQBsb29wIGluIGdldHRhYmxlAGF0dGVtcHQgdG8geWllbGQgYWNyb3NzIGEgQy1jYWxsIGJvdW5kYXJ5AGF0dGVtcHQgdG8geWllbGQgZnJvbSBvdXRzaWRlIGEgY29yb3V0aW5lAGNhbGwALi4uAFtzdHJpbmcgIgAiXQAlcwAweCV4ACUAaW52YWxpZCBvcHRpb24gJyUlJWMnIHRvICdsdWFfcHVzaGZzdHJpbmcnAGVycm9yIGluIGVycm9yIGhhbmRsaW5nAGF0dGVtcHQgdG8gbG9hZCBhICVzIGNodW5rIChtb2RlIGlzICclcycpAGJpbmFyeQB0ZXh0AGNvbnRyb2wgc3RydWN0dXJlIHRvbyBsb25nAGxhYmVscy9nb3RvcwBubyB2aXNpYmxlIGxhYmVsICclcycgZm9yIDxnb3RvPiBhdCBsaW5lICVkICh0YWIgJWQpADwlcz4gYXQgbGluZSAlZCBub3QgaW5zaWRlIGEgbG9vcAA8Z290byAlcz4gYXQgbGluZSAlZCAodGFiICVkKSBqdW1wcyBpbnRvIHRoZSBzY29wZSBvZiBsb2NhbCAnJXMnAHRvbyBtYW55ICVzIChsaW1pdCBpcyAlZCkAJXM6JWQ6ICVzAGxleGljYWwgZWxlbWVudCB0b28gbG9uZwAnJXMnACVzIG5lYXIgJXMAJgB8AF5eADw8AD4+AD4+PgA8PD4APj48AFwAQABAQAAkACclYycAPT0APj0APD0Afj0AOjoAPG51bWJlcj4APG5hbWU+ADxzdHJpbmc+AG9wY29kZXMAJXMgZXhwZWN0ZWQAQyBsZXZlbHMAKGZvciBpbmRleCkAKGZvciBsaW1pdCkAKGZvciBzdGVwKQBmdW5jdGlvbiBvciBleHByZXNzaW9uIHRvbyBjb21wbGV4AChmb3IgZ2VuZXJhdG9yKQAoZm9yIHN0YXRlKQAoZm9yIGNvbnRyb2wpACc9JyBvciAnaW4nIGV4cGVjdGVkAGxhYmVsICclcycgYWxyZWFkeSBkZWZpbmVkIG9uIGxpbmUgJWQgKHRhYiAlZCkAdW5leHBlY3RlZCBzeW1ib2wAZnVuY3Rpb24gYXJndW1lbnRzIGV4cGVjdGVkAGl0ZW1zIGluIGEgY29uc3RydWN0b3IAZnVuY3Rpb25zAHNlbGYAPG5hbWU+IG9yICcuLi4nIGV4cGVjdGVkAGNvbnN0YW50cwBsb2NhbCB2YXJpYWJsZXMAY2Fubm90IHVzZSAnLi4uJyBvdXRzaWRlIGEgdmFyYXJnIGZ1bmN0aW9uACVzIGV4cGVjdGVkICh0byBjbG9zZSAlcyBhdCBsaW5lICVkICh0YWIgJWQpKQBmdW5jdGlvbiBhdCBsaW5lICVkICh0YWIgJWQpAG1haW4gZnVuY3Rpb24AdG9vIG1hbnkgJXMgKGxpbWl0IGlzICVkKSBpbiAlcwBpbnZhbGlkIGxvbmcgc3RyaW5nIGRlbGltaXRlcgB1bmZpbmlzaGVkIHN0cmluZwBoZXhhZGVjaW1hbCBkaWdpdCBleHBlY3RlZABpbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZQBkZWNpbWFsIGVzY2FwZSB0b28gbGFyZ2UAWHgARWUAUHAAKy0AbWFsZm9ybWVkIG51bWJlcgB1bmZpbmlzaGVkIGxvbmcgY29tbWVudAB1bmZpbmlzaGVkIGxvbmcgc3RyaW5nAGNodW5rIGhhcyB0b28gbWFueSBsaW5lcwB1cHZhbHVlcwBiaW5hcnkgc3RyaW5nAHRydW5jYXRlZABub3QgYQB2ZXJzaW9uIG1pc21hdGNoIGluAGluY29tcGF0aWJsZQBjb3JydXB0ZWQAJXM6ICVzIHByZWNvbXBpbGVkIGNodW5rAGludmFsaWQga2V5IHRvICduZXh0JwBzdGFjayB0cmFjZWJhY2s6AAoJLi4uAFNsbnQACgklczoAJWQ6ACBpbiAAZnVuY3Rpb24gJyVzJwBtYWluIGNodW5rAGZ1bmN0aW9uIDwlczolZD4ACgkoLi4udGFpbCBjYWxscy4uLikAPVtDXQA9PwBtYWluAEx1YQBmb3IgaXRlcmF0b3IAbWV0YW1ldGhvZABiYWQgYXJndW1lbnQgIyVkICglcykAbgBjYWxsaW5nICclcycgb24gYmFkIHNlbGYgKCVzKQBiYWQgYXJndW1lbnQgIyVkIHRvICclcycgKCVzKQBTbAAlczolZDogACVzIGV4cGVjdGVkLCBnb3QgJXMAdmFsdWUgZXhwZWN0ZWQAb2JqZWN0IGxlbmd0aCBpcyBub3QgYSBudW1iZXIAX190b3N0cmluZwAlczogJXAAX19pbmRleABfX25ld2luZGV4AF9fZ2MAX19tb2RlAF9fbGVuAF9fZXEAX19hZGQAX19zdWIAX19tdWwAX19kaXYAX19tb2QAX19wb3cAX19hbmQAX19vcgBfX3hvcgBfX3NobABfX3NocgBfX2xzaHIAX19yb3RsAF9fcm90cgBfX25vdABfX2lkaXYAX19wZWVrAF9fcGVlazIAX19wZWVrNABfX3VubQBfX2x0AF9fbGUAX19jb25jYXQAX19jYWxsAF9fbWV0YXRhYmxlAG5pbCBvciB0YWJsZSBleHBlY3RlZABjYW5ub3QgY2hhbmdlIGEgcHJvdGVjdGVkIG1ldGF0YWJsZQB0YWJsZSBvciBzdHJpbmcgZXhwZWN0ZWQAX19wYWlycwBfX2lwYWlycwBhc3NlcnRpb24gZmFpbGVkIQBpbmRleCBvdXQgb2YgcmFuZ2UAY29yb3V0aW5lIGV4cGVjdGVkAGNvcm9saWI6IHRvbyBtYW55IGFyZ3VtZW50cyB0byByZXN1bWUAY29yb2xpYjogY2Fubm90IHJlc3VtZSBkZWFkIGNvcm91dGluZQBjb3JvbGliOiB0b28gbWFueSByZXN1bHRzIHRvIHJlc3VtZQBjYW5ub3QgcmVzdW1lIG5vbi1zdXNwZW5kZWQgY29yb3V0aW5lAGNhbm5vdCByZXN1bWUgZGVhZCBjb3JvdXRpbmUAcnVubmluZwBzdXNwZW5kZWQAbm9ybWFsAGRlYWQAdG9vIG1hbnkgcmVzdWx0cyB0byB1bnBhY2sAdXBsb2FkAHsgaWYgKHR5cGVvZiBwaWNvOF9zdGF0ZSAhPT0gJ3VuZGVmaW5lZCcpeyBpZiAodHlwZW9mIHBpY284X3N0YXRlLnN5c3RlbV9tZXNzYWdlcyA9PT0gJ3VuZGVmaW5lZCcpIHBpY284X3N0YXRlLnN5c3RlbV9tZXNzYWdlcyA9IG5ldyBBcnJheSgpOyBwaWNvOF9zdGF0ZS5zeXN0ZW1fbWVzc2FnZXMucHVzaChVVEY4VG9TdHJpbmcoJDAsICQxKSk7IH0gfQBfZW5kX29mX3Byb2dyYW0AdG8gY2xvc2UgJwBhdCBsaW5lIAAlZCAodGFiICVkKQB1bmNsb3NlZCAlcyBhdCBsaW5lICVkICh0YWIgJWQpCgB1bmNsb3NlZCAlcwAtLSBwaWNvLTggaGVhZGVyAGFzc2VydGlvbiBmYWlsZWQAcG9zaXRpb24gb3V0IG9mIGJvdW5kcwBub3QgZW5vdWdoIG1lbW9yeQA8ZW9mPgB0aGVtZSAAdGhlbWUAYmx1ZQBzZXQgdGhlbWUgdG8gYmx1ZQBhdXRvAHNldCB0aGVtZSB0byBhdXRvAGNsYXNzaWMAc2V0IHRoZW1lIHRvIGNsYXNzaWMAY29uZmlnIHRoZW1lIFt2YWx1ZV0AYXZhaWxhYmxlIHRoZW1lczoAc3Bsb3JlX2ZpbHRlciAAc3Bsb3JlX2ZpbHRlcgBvbgBmaWx0ZXIgb24Ab2ZmAGZpbHRlciBvZmYAY29uZmlnIGZpbHRlciBbb24gfCBvZmZdAHdoZW4gb24sIGNhcnRyaWRnZXMgdGFnZ2VkIGFzAG1hdHVyZSB3aWxsIG5vdCBiZSBkb3dubG9hZGVkLgBmaWx0ZXIgaXMgY3VycmVudGx5OiBvbgBmaWx0ZXIgaXMgY3VycmVudGx5OiBvZmYAdm9sdW1lIABzZXQgdm9sdW1lOiAlZABjb25maWcgdm9sdW1lIFt2YWxdAHZhbDogOCBxdWlldCAuLiAyNTYgbG91ZABjdXJyZW50IHZvbHVtZTogJWQAZ2lmX2xlbiAAc2V0IGdpZl9sZW46ICVkAGdpZl9sZW4AY29uZmlnIGdpZl9sZW4gW3NlY29uZHNdAGN1cnJlbnQgZ2lmX2xlbjogJWQAZ2lmX3Jlc2V0X21vZGUgAHNldCBnaWZfcmVzZXRfbW9kZTogJWQAZ2lmX3Jlc2V0X21vZGUAY29uZmlnIGdpZl9yZXNldF9tb2RlIFttb2RlXQAgMDogZG9uJ3QgcmVzZXQgYWZ0ZXIgcmVjb3JkaW5nACAxOiByZXNldCBhZnRlciBlYWNoIHJlY29yZGluZwBjdXJyZW50IGdpZl9yZXNldF9tb2RlOiAlZABzZnhfZmlsdGVycyAAc2V0IHNmeF9maWx0ZXJzOiAlZABnaWZfc2NhbGUgAHNldCBnaWZfc2NhbGU6ICVkAGdpZl9zY2FsZQBjb25maWcgZ2lmX3NjYWxlIFtzaXplXQBjdXJyZW50IGdpZl9zY2FsZTogJWQAc2NyZWVuc2hvdF9zY2FsZSAAc2V0IHNjcmVlbnNob3Rfc2NhbGU6ICVkAHNjcmVlbnNob3Rfc2NhbGUAY29uZmlnIHNjcmVlbnNob3Rfc2NhbGUgW3NpemVdAGN1cnJlbnQgc2NyZWVuc2hvdF9zY2FsZTogJWQAdGFiX3dpZHRoIABzZXQgdGFiX3dpZHRoOiAlZAB0YWJfd2lkdGgAY29uZmlnIHRhYl93aWR0aCBbd2lkdGhdAGN1cnJlbnQgdGFiX3dpZHRoOiAlZABjb25maWcgW3NldHRpbmddAGF2YWlsYWJsZSBzZXR0aW5nczoAJWQvJWQgJTMuMWYgZnBzACVkLyVkICUxLjJmICUxLjJmAHJlc3VtZQByZXN1bWUoKQBub3RoaW5nIHRvIHJlc3VtZQBzdGF0KDQpACBfZHJhdwBwcm9ncmFtIGV4Y2VlZHMgY2hhciBsaW1pdAAlZCAvICVkIGNoYXJzCgBwcm9ncmFtIHRvbyBsYXJnZQAlZCAvICVkIHRva2VucwoALS0gcGljby04IGhlYWRlcgoJZG8gCWxvY2FsIF9yZWZ1bmRfY3B1XyA9IF9fcmVmdW5kX2NwdV9fIAlsb2NhbCBfcGFpcnMgPSBfX3BhaXJzX18gCWxvY2FsIF9pcGFpcnMgPSBfX2lwYWlyc19fIAlsb2NhbCBfdHlwZSA9IF9fdHlwZSAJbG9jYWwgX3Rvc3RyID0gX190b3N0ciAJbG9jYWwgX3N0b3AgPSBfX3N0b3AgCWxvY2FsIF9wcmludCA9IF9fcHJpbnQgCWxvY2FsIF9wcmludGggPSBfX3ByaW50aCAJbG9jYWwgX3Rvc3RyaW5nID0gX190b3N0cmluZ19fIAlsb2NhbCBfbG9hZCA9IF9fbG9hZCAJbG9jYWwgX3N0YXQgPSBzdGF0IAlsb2NhbCBfZXh0Y21kID0gX19leHRjbWQgCWxvY2FsIF9fbWVudWl0ZW0gPSBfbWVudWl0ZW0gCWxvY2FsIF95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSA9IF9feWllbGRlZF90b19lc2NhcGVfc2xpY2UgCWxvY2FsIF9jb3Jlc3VtZSA9IF9fY29yZXN1bWUgCWxvY2FsIF9zZWxlY3QgPSBfX3NlbGVjdCAJbG9jYWwgX3N1cGVyeWllbGQgPSBfX3N1cGVyeWllbGQgCWxvY2FsIF9sYXN0X21lbnVpdGVtX2luZGV4ID0gMCAJbG9jYWwgX2xhc3RfbWVudWl0ZW1fY2FsbGJhY2sgPSBmdW5jdGlvbigpIGVuZCAJX3BhdXNlbWVudT17fQlmdW5jdGlvbiBtZW51aXRlbShpbmRleCwgbGFiZWwsIGNhbGxiYWNrKSAJCWluZGV4ID0gaW5kZXggb3IgX2xhc3RfbWVudWl0ZW1faW5kZXggCQljYWxsYmFjayA9IGNhbGxiYWNrIG9yIF9sYXN0X21lbnVpdGVtX2NhbGxiYWNrIAkJaWYgKHR5cGUoaW5kZXgpfj0ibnVtYmVyIikgdGhlbiBzdG9wKCJiYWQgbWVudWl0ZW0gaW5kZXgiKSBlbmQgCQlpZiAoaW5kZXggPCAxIG9yIGluZGV4ID4gNSkgdGhlbiByZXR1cm4gZW5kCQlfcGF1c2VtZW51W2luZGV4XSA9IHt9IAkJX3BhdXNlbWVudVtpbmRleF0ubGFiZWwgPSBsYWJlbCAJCV9wYXVzZW1lbnVbaW5kZXhdLmNhbGxiYWNrID0gY2FsbGJhY2sgCQlfX21lbnVpdGVtKGluZGV4LCBsYWJlbCkgCWVuZCAJZnVuY3Rpb24gcGFpcnMoYykgIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIHJldHVybiBfcGFpcnMgKGMpIGVuZCAJZnVuY3Rpb24gaXBhaXJzKGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIHJldHVybiBfaXBhaXJzKGMpIGVuZCAJZnVuY3Rpb24gYWxsKGMpIGlmIChjID09IG5pbCBvciAjYyA9PSAwKSB0aGVuIHJldHVybiBmdW5jdGlvbigpIGVuZCBlbmQgCSAJbG9jYWwgaT0xIAkgCWxvY2FsIGxpPW5pbCAJCV9yZWZ1bmRfY3B1XygoI2MgPj0gMTYpIGFuZCAtMTYgb3IgLSNjKSAJIAlyZXR1cm4gZnVuY3Rpb24oKSAJIAkJaWYgKGNbaV0gPT0gbGkpIHRoZW4gaT1pKzEgZW5kIAkgCQl3aGlsZShjW2ldPT1uaWwgYW5kIGkgPD0gI2MpIGRvIGk9aSsxIGVuZCAJIAkJbGk9Y1tpXSAJCQlfcmVmdW5kX2NwdV8oLTE3KSAJIAkJcmV0dXJuIGxpIAkgCWVuZCAJZW5kIAlmdW5jdGlvbiBmb3JlYWNoKGMsX2YpIGZvciBpIGluIGFsbChjKSBkbyBfZihpKSBlbmQgZW5kIGZ1bmN0aW9uIHRvc3RyKC4uLikgCS0tW1sgbmVlZCB0byB1c2UgdG9zdHJpbmcgd2hlbiBtZXRhdGFibGUgc28gdGhhdCBtdC5fX3Rvc3RyaW5nIHdvcmtzLiBzZWUgdGVzdHMvbWV0YSoucDggXV0gCWxvY2FsIHA9ey4uLn0gCWxvY2FsIGEsYixtYXhfZGVwdGggPSBwWzFdLHBbMl0scFszXSAJaWYgKG1heF9kZXB0aCkgdGhlbiByZXR1cm4gX3Rvc3RyKC4uLikgZW5kIAlpZiAoKF90eXBlKGEpPT0idGFibGUiIGFuZCAoZ2V0bWV0YXRhYmxlKGEpIG9yIGIpKSkgb3IgKChfdHlwZShhKT09ImZ1bmN0aW9uIiBhbmQgYikpIHRoZW4gCSByZXR1cm4gX3Rvc3RyaW5nKGEpICAgICBlbHNlIAkgcmV0dXJuIF90b3N0ciguLi4pIAllbmQgZW5kIAktLVtbIHByaW50KCkgc2hvdWxkIHByaW50IG5vdGhpbmc7IHByaW50KG5pbCkgc2hvdWxkIHByaW50IFtuaWxdOyBzdG9wKCkgcGFzc2VzIGFyZ3MgdG8gcHJpbnQgc28gdGhhdCBjYW4gcHJpbnQgaW4gYSBjb2xvdXJdXQlmdW5jdGlvbiBzdG9wKC4uLikgICAgaWYgX3NlbGVjdCgnIycsLi4uKT09MCB0aGVuIF9zdG9wKCkgICBlbHNlIGxvY2FsIGE9ey4uLn0gcmV0dXJuIF9zdG9wICAodG9zdHIoYVsxXSksIF9zZWxlY3QoMiwuLi4pKSBlbmQgZW5kIAlmdW5jdGlvbiBwcmludCguLi4pICAgaWYgX3NlbGVjdCgnIycsLi4uKT09MCB0aGVuIF9wcmludCgpICBlbHNlIGxvY2FsIGE9ey4uLn0gcmV0dXJuIF9wcmludCAodG9zdHIoYVsxXSksIF9zZWxlY3QoMiwuLi4pKSBlbmQgZW5kIAlmdW5jdGlvbiBwcmludGgoLi4uKSAgaWYgX3NlbGVjdCgnIycsLi4uKT09MCB0aGVuIF9wcmludGgoKSBlbHNlIGxvY2FsIGE9ey4uLn0gcmV0dXJuIF9wcmludGgodG9zdHIoYVsxXSksIF9zZWxlY3QoMiwuLi4pKSBlbmQgZW5kIGZ1bmN0aW9uIGxvYWQoLi4uKSAJbG9jYWwgcmVzPV9sb2FkKC4uLikgCWZsaXAoKSAtLVtbdG8gc3VwZXJ5aWVsZC4gcmVmOnBpY293YXJlXV0JaWYgKF9zdGF0KDEwNykgPiAwKSB0aGVuIHJldHVybiB0cnVlIGVuZCAJaWYgKF9zdGF0KDEwNykgPT0gLTEpIHRoZW4gcmV0dXJuIGZhbHNlLCAiY291bGQgbm90IGZpbmQgY2FydCIgZW5kIAlpZiAoX3N0YXQoMTA3KSA9PSAtMikgdGhlbiByZXR1cm4gZmFsc2UsICJjb3VsZCBub3QgZmV0Y2ggY2FydCIgZW5kIAlpZiAoX3N0YXQoMTA3KSA9PSAtMykgdGhlbiByZXR1cm4gZmFsc2UsICJjb3VsZCBub3QgY29ubmVjdCB0byBiYnMiIGVuZCAJaWYgKF9zdGF0KDEwNykgPCAwIG9yIHJlcyA9PSBuaWwpIHRoZW4gcmV0dXJuIGZhbHNlLCAiYWNjZXNzIGRlbmllZCIgZW5kIAlyZXR1cm4gcmVzIGVuZCBmdW5jdGlvbiBleHRjbWQoY21kLCAuLi4pIAlsb2NhbCByZXM9X2V4dGNtZChjbWQsIC4uLikgCWlmIChjbWQ9PSJnb19iYWNrIiBvciBjbWQ9PSJicmVhZGNydW1iIikgdGhlbiAJCWZsaXAoKSAtLVtbdG8gc3VwZXJ5aWVsZF1dCWVuZCAJcmV0dXJuIHJlcyBlbmQgZnVuY3Rpb24gY29yZXN1bWUoYywuLi4pIAlfeWllbGRlZF90b19lc2NhcGVfc2xpY2UoMCkgCWxvY2FsIHIwLHIxID1fY29yZXN1bWUoYywuLi4pCXdoaWxlIChfeWllbGRlZF90b19lc2NhcGVfc2xpY2UoKSBhbmQgY29zdGF0dXMoYykgPT0gInN1c3BlbmRlZCIpIGRvIAkJX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlKDApIAkJcjAscjEgPSBfY29yZXN1bWUoYywuLi4pIAllbmQgCV95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSgwKSAJcmV0dXJuIHIwLHIxIGVuZCBmdW5jdGlvbiBmbGlwKCkgCXJlcGVhdCAJCWxvY2FsIGNvbnRpbnVlX21lbnUgPSBmYWxzZSAJCWZvciBpPTEsNSBkbyAJCSBsb2NhbCB2YWwgPSBfZ2V0X21lbnVfaXRlbV9zZWxlY3RlZChpKSAJCSBpZiAodmFsKSB0aGVuIAkJICBfbGFzdF9tZW51aXRlbV9pbmRleCA9IGkgCQkgIF9sYXN0X21lbnVpdGVtX2NhbGxiYWNrID0gX3BhdXNlbWVudVtpXS5jYWxsYmFjayAJCSAgY29udGludWVfbWVudSA9IF9wYXVzZW1lbnVbaV0uY2FsbGJhY2sodmFsKSAJCSAgaWYgKHZhbCAmIDMgPiAwKSB0aGVuIGNvbnRpbnVlX21lbnUgPSB0cnVlIGVuZCAJCSBlbmQgCQllbmQgCQlpZiAoY29udGludWVfbWVudSkgdGhlbiBleHRjbWQoInBhdXNlIiwgMSkgX3N1cGVyeWllbGQoKSBlbmQgIAl1bnRpbCBub3QgY29udGludWVfbWVudSAJX19mbGlwKCkgZW5kIGVuZCAtLVtbIHNjb3BlIF1dX19yZWZ1bmRfY3B1X18gPSBuaWwgX19pcGFpcnNfXyA9IG5pbCBfX3BhaXJzX18gPSBuaWwgX190b3N0ciAgICA9IG5pbCBfX3N0b3AgICAgID0gbmlsIF9fcHJpbnQgICAgPSBuaWwgX19wcmludGggICA9IG5pbCBfX2xvYWQgICAgID0gbmlsIF9fZXh0Y21kICAgPSBuaWwgX190b3N0cmluZ19fID0gbmlsIF9feWllbGRlZF90b19lc2NhcGVfc2xpY2UgPSBuaWwgX19jb3Jlc3VtZSA9IG5pbCBfX3NlbGVjdCA9IG5pbCBfX3N1cGVyeWllbGQgPSBuaWwgAIA9gCBvciAwLjUggT2BIG9yIDIzMTMwLjUggj2CIG9yIDIwNzY3LjUggz2DIG9yIDMghD2EIG9yIDMyMTI1LjUghT2FIG9yIC0xODQwMi41IIY9hiBvciAtMTYzMi41IIc9hyBvciAyMDkyNy41IIg9iCBvciAtMTkwMDguNSCJPYkgb3IgLTI2MjA4LjUgij2KIG9yIC0yMDE5Mi41IIs9iyBvciAwIIw9jCBvciAtMjQzNTEuNSCNPY0gb3IgLTI1NzkyLjUgjj2OIG9yIDQgjz2PIG9yIC0yMDAzMi41IJA9kCBvciAtMjU2MC41IJE9kSBvciAxIJI9kiBvciAtMjAxMjguNSCTPZMgb3IgNjk0My41IJQ9lCBvciAyIJU9lSBvciAtMjYyNC41IJY9liBvciAzMTQ1NS41IJc9lyBvciA1IJg9mCBvciAzODU1LjUgmT2ZIG9yIDIxODQ1LjUgOwBsb2NhbCB0aW1lLHN1YixjaHIsb3JkLHRvc3RyLHRvbnVtLGFkZCxkZWwsZGVsaSxjbGlwLGNvbG9yLHBhbCxwYWx0LGZpbGxwLHBnZXQscHNldCxzZ2V0LHNzZXQsZmdldCxmc2V0LGNpcmMsY2lyY2ZpbGwscmVjdCxyZWN0ZmlsbCxvdmFsLG92YWxmaWxsLGxpbmUsc3ByLHNzcHI9ICAgICAgdGltZSxzdWIsY2hyLG9yZCx0b3N0cix0b251bSxhZGQsZGVsLGRlbGksY2xpcCxjb2xvcixwYWwscGFsdCxmaWxscCxwZ2V0LHBzZXQsc2dldCxzc2V0LGZnZXQsZnNldCxjaXJjLGNpcmNmaWxsLHJlY3QscmVjdGZpbGwsb3ZhbCxvdmFsZmlsbCxsaW5lLHNwcixzc3ByIGxvY2FsIG1nZXQsbXNldCx0bGluZSxwZWVrLHBva2UscGVlazIscG9rZTIscGVlazQscG9rZTQsbWVtY3B5LG1lbXNldCxtYXgsbWluLG1pZCxmbHIsY2VpbCxjb3Msc2luLGF0YW4yLHJhbmQsc3JhbmQsYmFuZCxib3IsYnhvcixibm90LHNobCxzaHIsbHNocixyb3RsLHJvdHI9ICAgICAgIG1nZXQsbXNldCx0bGluZSxwZWVrLHBva2UscGVlazIscG9rZTIscGVlazQscG9rZTQsbWVtY3B5LG1lbXNldCxtYXgsbWluLG1pZCxmbHIsY2VpbCxjb3Msc2luLGF0YW4yLHJhbmQsc3JhbmQsYmFuZCxib3IsYnhvcixibm90LHNobCxzaHIsbHNocixyb3RsLHJvdHI7IAA7CgAxMDM4OAAgbmQ9MCAAJXMgJXMoKQAlcyAlcygiJXMiKQBzcGxvcmUoKQBjb25maWcACiBfZW5kX29mX3Byb2dyYW0gPSAxIAoACgkgICAgX2VuZF9vZl9wcm9ncmFtID0gMSAKCSAgICBpZiAoX2luaXQgfj0gbmlsKSB0aGVuIF9pbml0KCkgZW5kCiAgICAgICAgICAgIF9zZXRfbWFpbmxvb3BfZXhpc3RzKDApCgkgICAgaWYgKF9tYWlubG9vcCB+PSBuaWwpIHRoZW4gX3NldF9tYWlubG9vcF9leGlzdHMoMSkgZW5kCgkgICAgaWYgKF91cGRhdGU2MCB+PSBuaWwpIHRoZW4gX3NldF9mcHMoNjApIF91cGRhdGU9bmlsIGVsc2UgX3NldF9mcHMoMzApIGVuZAoJICAgIGlmIChfbWFpbmxvb3AgPT0gbmlsIGFuZCAoX2RyYXcgfj0gbmlsIG9yIF91cGRhdGUgfj0gbmlsIG9yIF91cGRhdGU2MCB+PSBuaWwpKSB0aGVuCgkgICAgCV9zZXRfbWFpbmxvb3BfZXhpc3RzKDIpCgkJICAgIF9tYWlubG9vcCA9IGZ1bmN0aW9uKCkgCgkgICAgICAgIAl3aGlsZSAodHJ1ZSkgZG8KCQkJCQlfdXBkYXRlX2J1dHRvbnMoX3VwZGF0ZTYwIGFuZCAxIG9yIDIpCgkJCQkgICAgX3N0YXJ0ZnJhbWUoKSAKCQkJCSAgICBpZiAoc3RhdCg3KSA9PSA2MCkgdGhlbgoJCQkJICAgIAlfbWFya19jcHUoMCkgX3VwZGF0ZTYwKCkgCgkJCQkgICAgZWxzZWlmIChzdGF0KDcpID09IDMwIGFuZCBfdXBkYXRlNjApIHRoZW4KCQkJCSAgICAJX3VwZGF0ZTYwKCkgX3VwZGF0ZV9idXR0b25zKDEpIF9tYXJrX2NwdSgwKSBfdXBkYXRlNjAoKQoJCQkJICAgIGVsc2VpZiAoc3RhdCg3KSA9PSAzMCBhbmQgX3VwZGF0ZSkgdGhlbgoJCQkJICAgIAlfbWFya19jcHUoMCkgX3VwZGF0ZSgpIAoJCQkJICAgIGVsc2VpZiAoc3RhdCg3KSA9PSAxNSBhbmQgX3VwZGF0ZSkgdGhlbgoJCQkJICAgIAlfdXBkYXRlKCkgIF91cGRhdGVfYnV0dG9ucygyKSBfbWFya19jcHUoMCkgX3VwZGF0ZSgpCgkJCQkgICAgZW5kCgkJCQkgICAgX21hcmtfY3B1KDEpCgkJCQkgICAgaWYgKF9kcmF3IH49IG5pbCkgdGhlbgoJCQkJCQlsb2NhbCBkaSxyZXM9MCx0cnVlIAoJCQkJCQl3aGlsZSAoZGkgPCBzdGF0KDExKSBhbmQgcmVzKSBkbyByZXMgPSBfbWFwX2Rpc3BsYXkoZGkpIGlmIChyZXMpIHRoZW4gcmVzPV9kcmF3KCkgZW5kIGRpPWRpKzEgZW5kIAoJCQkJCQlfbWFwX2Rpc3BsYXkoMCkgCgkJCQkJZW5kCgkJCQkgICAgX21hcmtfY3B1KDIpCgkJCQkJX3VwZGF0ZV9mcmFtZXJhdGUoKQoJCQkJICAgIGZsaXAoKQoJCQkgICAgZW5kCgkJICAgIGVuZAoJICAgIGVuZAoJCWlmIChfbWFpbmxvb3Agfj0gbmlsKSB0aGVuIF9tYWlubG9vcCgpIGVuZAogICAgICAgIAoAc3ludGF4IGVycm9yAHN5bnRheCBlcnJvciBsaW5lICVkICh0YWIgJWQpAHVuZXhwZWN0ZWQgc3ltYm9sIG5lYXIgJ2VuZCcAdW5leHBlY3RlZCBlbmQgb2YgbGluZQAlcyBsaW5lICVkCgAKLS0+OAoAYmJzLwBydW5fY2FydCBjdXJyZW50X2ZpbGVuYW1lOiAlcyBydW5uaW5nX2ZpbGVuYW1lOiAlcyBydW5uaW5nX2NhcnRfbGlkOiAlcwoAc3RhY2sgdHJhY2ViYWNrACdfbWFpbmxvb3AAaW4gZnVuY3Rpb24gJwBpbiAlcyBsaW5lICVkICh0YWIgJWQpAGluIG1haW4gY2h1bmsAYXQgbGluZSAlZCAodGFiICVkKQBnYyBub3QgcnVubmluZzsgY291bGQgbm90IHBlcmZvcm0gZW1lcmdlbmN5IGNvbGxlY3Rpb24KAGdjIGhhcmQgY29sbGVjdDogJWQgLT4gJWQgKG92ZXJoZWFkOiVkKQoAb3V0IG9mIG1lbW9yeQBydW50aW1lIGVycm9yIGxpbmUgJWQgdGFiICVkAHJ1bnRpbWUgZXJyb3IAW1sAXV0Aa2V5d29yZCBoYXNoIGNvbGxpc2lvbjogJXMgJXMKAGZ1bmN0aW9uAGVuZABmb3IAaWYAdGhlbgBlbHNlAGVsc2VpZgB3aGlsZQBub3QAYW5kAG9yAGRvAGxvY2FsAHJldHVybgByZXBlYXQAdW50aWwAZ290bwBicmVhawBuaWwAaW4AZm9yZWFjaABhbGwAbWVudWl0ZW0AcGFpcnMAaXBhaXJzACVzXyUlZC5naWYAJXMuZ2lmACoqIEVHaWZPcGVuRmlsZU5hbWUgZXJyb3IgJWQ6ICVzCgBzYXZpbmcgZ2lmIHRvOiAlcwoATkVUU0NBUEUyLjAAZ2lmACoqIEVHaWZTcGV3KCkgR0lGX0VSUk9SCgBbY2FydF0AWy9jYXJ0XQBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvAHRydWUAZmFsc2UALnA4bAAudHh0AC5vYmoALm10bAAuc3ZnAC5wb3YALnNmZAAuY3N2AC5wcG0AWyVzXQBfX3JlZnVuZF9jcHVfXwBfX3BhaXJzX18AX19pcGFpcnNfXwBfX3N0b3AAX19wcmludABfX3ByaW50aABfX3Rvc3RyAF9fbG9hZABfX2V4dGNtZABfX3Rvc3RyaW5nX18AdG9zdHJpbmcAX190eXBlAF9fc2VsZWN0AF9fY29yZXN1bWUAX195aWVsZGVkX3RvX2VzY2FwZV9zbGljZQBjZABta2RpcgBydW4AbHMAbG9naW4AbG9hZABzYXZlAGhlbHAAcmVib290AHJlc2V0AHNodXRkb3duAGV4aXQAaW5mbwBleHBvcnQAaW1wb3J0AGZpbGU6ICVzJXMAdG9rZW5zOiAgICAgJTVkIC8gICVkAGNoYXJzOiAgICAgICU1ZCAvICVkAGNvbXByZXNzZWQ6ICU1ZCAvICVkAHVuc2F2ZWQgY2hhbmdlcwBleHRlcm5hbCBjaGFuZ2VzAGNvbnRpbnVlIHdpdGggc2h1dGRvd24/IFt5L25dAGNvbnRpbnVlIHdpdGggcmVib290PyBbeS9uXQBjb21tYW5kcwBsb2FkIDxmaWxlbmFtZT4gIHNhdmUgPGZpbGVuYW1lPgBydW4gKG9yIGN0cmwtcikgIHJlc3VtZQBzaHV0ZG93biAgICAgICAgIHJlYm9vdABpbnN0YWxsX2RlbW9zICAgIGxzAGNkIDxkaXJuYW1lPiAgICAgbWtkaXIgPGRpcm5hbWU+AGNkIC4uICAgICAgdG8gZ28gdXAgYSBkaXJlY3RvcnkAa2V5Y29uZmlnICB0byBjaG9vc2UgYnV0dG9ucwBzcGxvcmUgICAgIHRvIGV4cGxvcmUgY2FydHJpZGdlcwBwcmVzcyBlc2MgdG8gdG9nZ2xlIGVkaXRvciB2aWV3AGFsdCtlbnRlciB0byB0b2dnbGUgZnVsbHNjcmVlbgBhbHQrZjQgb3IgY3RybC1xIHRvIGZhc3RxdWl0AHNlZSBwaWNvOC50eHQgZm9yIG1vcmUgaW5mbwBvciB2aXNpdDogd3d3LnBpY28tOC5jb20AY2FuIG5vdCBzYXZlIHdoaWxlIHJ1bm5pbmcAZmlsZW5hbWUgdG9vIGxvbmcAQGNsaXAAQGNsaXAucDgAQGNsaXAucG5nAEBjbGlwLnA4LnBuZwB3YXJuaW5nOiBsYWJlbCBpcyBibGFuawBydW4gY2FydCBhbmQgY3RybC03IHRvIGNhcHR1cmUAX2NsaXAucDgucG5nAF9jbGlwLnA4LnBuZy5oZXgAY29waWVkIHRvIHRleHRmaWVsZCAtLSBwcmVzcwBjdHJsLWMgdG8gY29weSB0byBjbGlwYm9hcmQhAGZhaWxlZCB0byBzYXZlIHRvIGNsaXBib2FyZAAlcyVzJXMAZmlsZSBhbHJlYWR5IGV4aXN0cwBvdmVyd3JpdGU/IFt5L25dAHNhdmVkICVzJXMAbG9naW4gdW5hdmFpbGFibGUuAHBsZWFzZSB1cGRhdGUgcGljby04IQBta2RpciBbbmFtZV0AJXMlcyVzLwBkaXJlY3Rvcnk6IC8lcwAlcyVzLwBjZDogZmFpbGVkAGRpcmVjdG9yeSBub3QgZm91bmQALyVzAGxhYmVsAHNhdmVkIGxhYmVsAHNjcmVlbgAqKiBjb3VsZCBub3Qgc2F2ZSBzY3JlZW5zaG90AHNhdmVkIGltYWdlAGdlbmVyYXRlZCBzY3JlZW5zaG90AHJlYwByZWNfZnJhbWVzAHZpZGVvAEBAIHNhdmUgZ2lmIHJlc3VsdDogJWQgdmlkZW9fY2xpcF9pbmRleDogJWQKAG5vIHZpZGVvIHJlY29yZGVkICgwIGZyYW1lcykAKiogY291bGQgbm90IHNhdmUgZ2lmAHNhdmVkICVkIHNlY29uZCBnaWYAZ2VuZXJhdGVkICVkIHNlY29uZCBnaWYAcGF1c2UAY29udHJvbHMAYnJlYWRjcnVtYgBnb19iYWNrAHNldF90aXRsZQBzZXRfZmlsZW5hbWUAdW5rbm93biBleHRjbWQ6JXMAZG93bmxvYWRpbmcuLiAAL2Jicy9jcG9zdF9saXN0ZXIzLnBocD9uZm89MSZ2ZXJzaW9uPSVzJWMmbGlkPSVzAEBkcm9wcGVkAGRyb3BwZWQucDgAbG9hZGVkIGNhcnRyaWRnZSAoJWQgY2hhcnMpAHNvcnJ5LCBAY2xpcCBpcyBub3QgYXZhaWxhYmxlAGxvYWRlZCAlcyVzICglZCBjaGFycykAY291bGQgbm90IGxvYWQ6IGZ1dHVyZSB2ZXJzaW9uAGNvdWxkIG5vdCBsb2FkOiBjb2RlIHNpemUgPiA2NGsAY291bGQgbm90IGxvYWQAMHglMDR4LiUwNHgAcHJlc3MgY3RybC1jIHRvIGNvbXBsZXRlIGNvcHkAcHJpbnRoOiBiYWQgbG9nIGZpbGUgbmFtZQBwcmludGg6IHRvbyBtdWNoIGxvZyBkYXRhICgxMG1iIG1heCkAfCVzAHRvbyBtYW55IHByaW50aCBmaWxlcwBhACVzCgBwcmludGg6IGNvdWxkIG5vdCB3cml0ZSBmaWxlAGRlbGkAYWRkAGRlbABjb3VudABmbGlwAF9fZmxpcABfX3N1cGVyeWllbGQAY2FtZXJhAGNsaXAAY2xzAGZvbGRlcgBkaXIAYmFja3VwAGluc3RhbGxfZGVtb3MAaW5zdGFsbF9nYW1lcwBrZXljb25maWcAc3Bsb3JlAHBzZXQAcGdldABjb2xvcgBwcmludABwcmludGgAdG9zdHIAY3Vyc29yAHRvbnVtAHNwcgBzc3ByAHJlY3QAcmVjdGZpbGwAY2lyYwBjaXJjZmlsbABvdmFsAG92YWxmaWxsAGxpbmUAdGxpbmUAcGFsAHBhbHQAZmlsbHAAbWFwZHJhdwBtYXAAbWdldABtc2V0AGZnZXQAZnNldABzZ2V0AHNzZXQAc2Z4AHNlcmlhbABtZW1jcHkAbWVtc2V0AHJlbG9hZABjc3RvcmUAcm5kAHNyYW5kAGNlaWwAc2duAGFicwBjb3MAc2luAHNxcnQAYXRhbjIAYm5vdABmbHIAYmFuZABib3IAYnhvcgBzaGwAc2hyAGxzaHIAcm90bAByb3RyAG1pbgBtYXgAcGVlawBwZWVrMgBwZWVrNABwb2tlAHBva2UyAHBva2U0AHN0b3AAdGltZQB0AGxvZ291dABiYnNyZXEAc2NvcmVzdWIAZXh0Y21kAHJhZGlvAHNldF9kcmF3X3NsaWNlAGJ0bgBidG5wAF9tZW51aXRlbQBjYXJ0ZGF0YQBkZ2V0AGRzZXQAc3RhdABzdWIAY2hyAG9yZABzcGxpdABuZXh0AHNldG1ldGF0YWJsZQBnZXRtZXRhdGFibGUAcmF3ZXF1YWwAcmF3bGVuAHJhd2dldAByYXdzZXQAYXNzZXJ0AGNvY3JlYXRlAGNvcmVzdW1lAHlpZWxkAGNvc3RhdHVzAHVucGFjawBwYWNrAHNlbGVjdABfX3RyYWNlAHRyYWNlAGhvbGRmcmFtZQBfc3RhcnRmcmFtZQBfZ2V0X21lbnVfaXRlbV9zZWxlY3RlZABfdXBkYXRlX2J1dHRvbnMAX3VwZGF0ZV9mcmFtZXJhdGUAX3NldF9tYWlubG9vcF9leGlzdHMAX3NldF9mcHMAX21hcmtfY3B1AF9tYXBfZGlzcGxheQBkZXZraXQga2V5Ym9hcmQgZW5hYmxlZABkZXZraXQgbW91c2UgZW5hYmxlZAB7IHZhciBzdHIgPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7IHJldHVybiBhbGxvY2F0ZShpbnRBcnJheUZyb21TdHJpbmcoc3RyKSwgJ2k4JywgQUxMT0NfTk9STUFMKTsgfQBkc2V0IGNhbGxlZCBiZWZvcmUgY2FydGRhdGEoKQBkZ2V0IGNhbGxlZCBiZWZvcmUgY2FydGRhdGEoKQBjYW4gbm90IGNvbm5lY3QgdG8gc2NvcmVzIGhvc3QAY2FuIG5vdCBjb25uZWN0IHRvIGJic3JlcSBob3N0AHRvbyBtYW55IHBlZWsgcmVzdWx0cwBjc3RvcmUvAHA4X2NzdG9yZTogc3RvcmluZyAlZCBieXRlcyBhczogJXMKAHNhbmRib3hlZF9jc3RvcmUgZmlsZSBub3QgZm91bmQ6ICVzCgAgIC0tPiB1c2luZyBpbnRlcm5hbCBmaWxlOiAlcwoAICByZWxvYWQoKWluZyAlZCBieXRlcyBmcm9tOiAlcwoAc29ycnksIHNwbG9yZSBpcyBub3QgYXZhaWxhYmxlAGluc3RhbGxpbmcgZ2FtZXMgdG8gL2dhbWVzLwBzb3JyeSwgZGVtb3MgYXJlIG5vdCBhdmFpbGFibGUuAGJhY2tlZCB1cCAlcyVzACoqKiAleCAleCAleCAleCAgKHgzMjoleCB5MzI6JXgpICBzdGVwICVkIGZyb20gJWQKAGhvc3QgYWxsb2NhdGlvbiBlcnJvcgAlZG1iICsgJWRrCgBiYWQgcG9rZSBhdCAweCV4CgBiYWQgbWVtY3B5IGF0IDB4JXgKAGJhZCBtZW1jcHkgYXQgMHg4MDAwAGJhZCBtZW1zZXQgYXQgMHgleAoAcHJpbnQoJXMpACE9ACs9AC09ACo9AC89ACU9AFw9ACY9AHw9AF5ePQA8PD49AD4+PD0APDw9AD4+Pj0APj49AF49AC4uPQAlcyA9ICVzICVzICglcykgJXMAaWYoAGlmIAB3aGlsZSgAd2hpbGUgACVzIHRoZW4gJXMgZW5kIAAlcyBkbyAlcyBlbmQgAF4KIDAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiEjJSgpe31bXTw+Kz0vKjo7Lix+XwBpZihfdXBkYXRlNjApX3VwZGF0ZT1mdW5jdGlvbigpX3VwZGF0ZTYwKClfdXBkYXRlNjAoKWVuZABpZihfdXBkYXRlNjApX3VwZGF0ZT1mdW5jdGlvbigpX3VwZGF0ZTYwKClfdXBkYXRlX2J1dHRvbnMoKV91cGRhdGU2MCgpZW5kAEdJRjg3YQBHSUY4OWEAAAEDBw8fP3//JXMlcy5wOGQudHh0ACUwOHgAY2FydGRhdGEoKSBjYW4gb25seSBiZSBjYWxsZWQgb25jZQBjYXJ0IGRhdGEgaWQgdG9vIGxvbmcAY2FydCBkYXRhIGlkOiBiYWQgY2hhcgBwbGF5ZXIga2V5IGNvbmZpZwBzYXZlZCBjb25maWcuAHByZXNzIGVzY2FwZQB0byBjb250aW51ZQBwcmVzcyBrZXkgZm9yOgBkZWwgZm9yIGRlZmF1bHQAZXNjIHRvIGNhbmNlbAAlcyA6ICVzAGxlZnQAcmlnaHQAdXAAZG93bgB6IC8gYyAvIG4AeCAvIHYgLyBtAHMAZgBlAGQAdGFiAHEAcCAvIGVudGVyAHAxIGxlZnQgICAgAHAxIHJpZ2h0ICAgAHAxIHVwICAgICAgAHAxIGRvd24gICAgAHAxII4gICAgICAAcDEglyAgICAgIABwMiBsZWZ0ICAgIABwMiByaWdodCAgIABwMiB1cCAgICAgIABwMiBkb3duICAgIABwMiCOICAgICAgAHAyIJcgICAgICAAcGF1c2UgICAgICAAbHJ1ZG94cCVkIGpveXN0aWNrcyBkZXRlY3RlZAAucG5nAHwlLTIwcyB8JS0yMHMgfCUtNmQgfCUtMTZzIHwlLTIwcyB8JXMKAGNvdWxkIG5vdCBsb2FkIGZhdm91cml0ZXMgZmlsZTogJXMKAGJicwBiYnMvJWQvACVzdGVtcC0lZC5uZm8AJXMlZC5wOC5wbmcAYmJzL2NhcnRzACVzL3RlbXAtJXMubmZvACVzLyVzLnA4LnBuZwAlcy9iYnMvZ2V0X2NhcnQucGhwP2NhdD03JnBsYXlfc3JjPSVkJmxpZD0lcwBiYnMvbGFiZWxzLwAlcyVzLnBuZwBydW4gY2FydABvcHRpb25zAHJlbW92ZSBmcm9tIGZhdm91cml0ZXMAZmF2b3VyaXRlAGNhcnRzIGJ5IEAlcwBzaW1pbGFyIGNhcnRzAHNlYXJjaCBiYnMgdGhyZWFkAG9wZW4gdGhyZWFkIGluIGJyb3dzZXIAW2JhY2tdAGVkaXQgY2FydAByZS1kb3dubG9hZABvcGVuIGluIGJyb3dzZXIAYmFjawB2b2x1bWUAZnVsbHNjcmVlbgBzaHV0ZG93biBwaWNvLTgAY2F0PTcmc2VhcmNoPSVzJm1heD0zMgBiYnMvdGVtcF8lc19fLnBpcC5wbmcAYmJzL3RlbXBfJXMucGlwLnBuZwBiYnMvJXMucGlwLnBuZwAvYmJzL2Nwb3N0X2xpc3RlcjMucGhwP21heD0zMiZzdGFydF9pbmRleD0lZCYlcyZ2ZXJzaW9uPSVzJWMmY2ZpbD0lZAAwMDAyMDJjAGRvd25sb2FkIGZhaWxlZAAqAC5wOABsaWQAdGl0bGUAYXV0aG9yAG1pZABjYXRzdWIAIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OQBjYW5jZWxsZWQAZG93bmxvYWQgY2FuY2VsbGVkAFBJQ08tOAB7IGlmICh0eXBlb2YgcGljbzhfZ3BpbyAhPT0gJ3VuZGVmaW5lZCcpIHBpY284X2dwaW9bJDBdPSQxfQB7dmFyIHZhbD0wOyBpZiAodHlwZW9mIHBpY284X2dwaW8gIT09ICd1bmRlZmluZWQnKSB2YWwgPSBwaWNvOF9ncGlvWyQwXTsgcmV0dXJuIHZhbH0AaGVsbG8ucDgAYXBpLnA4AGF1dG9tYXRhLnA4AGJvdW5jZS5wOABjYXN0LnA4AGNvbGxpZGUucDgAZG90czNkLnA4AGRyaXBweS5wOABqZWxwaS5wOABzb3J0LnA4AHdhbmRlci5wOAB3YXZlcy5wOAAxNTEzMwAxOTYzOQAxMDAyMgAxOTQ4OAAxODk3MwA0MTQyMgA1NzIwMQBjZWxlc3RlLnA4LnBuZwBmcm9nX2hvbWUucDgucG5nAGh1Z19hcmVuYS5wOC5wbmcAYXJjaGVvcy5wOC5wbmcAZHVza19jaGlsZC5wOC5wbmcAOF9sZWdzX3RvX2xvdmUucDgucG5nAGVtYnJhY2UucDgucG5nAGNlbGVzdGUAZnJvZyBob21lAGh1ZyBhcmVuYQB0b3dlciBvZiBhcmNoZW9zAGR1c2sgY2hpbGQAOCBsZWdzIHRvIGxvdmUAZW1icmFjZQBpbnN0YWxsaW5nIGRlbW8gY2FydHMgdG8gL2RlbW9zLwBkZW1vcy8AdwBjb3VsZCBub3Qgd3JpdGUgdG8gZGlzawBmYXZvdXJpdGVzLnR4dABnYW1lcy8AI2luY2x1ZGUgAGNhbiBub3QgI2luY2x1ZGUAc2VyaWFsIGJ1ZmZlciBvdmVyZmxvdwAlMTAyM3MAZnJlcQBkbWEAdHlwZQBicmlnaHRuZXNzAGludmVydABsZWRzAHBpY28tOCAwLjIuMmMAKGMpIDIwMTQtMjEgbGV4YWxvZmZsZSBnYW1lcyBsbHAAdXNpbmcgdGVtcG9yYXJ5IGJyb3dzZXIgc3RvcmFnZQBmZXRjaGluZyBjYXJ0cmlkZ2UuLgBib290aW5nIGNhcnRyaWRnZS4uAFtjb2RvXSAlcwA+Y29kb19pbml0CgBwbGF0Zm9ybTogJXMKAEVtc2NyaXB0ZW4AY29kb19zeXN0ZW1faW5pdAoAY29kb19yZXNldF90aW1lcgoAY29kb19ndWlfaW5pdAoAY29kb19rZXlzX2luaXQKAGNvZG9fdGV4dF9pbml0CgBjb2RvX3ZpZGVvX2luaXQKAGNvZG9fbW91c2VfaW5pdAoAY29kb19qb3lzdGlja19pbml0CgA8b2sKAHdpZHRoAGhlaWdodABzaG93X2ZwcwB3aW5kb3dlZAB3aW5kb3dfeAB3aW5kb3dfeQBmcmFtZWxlc3MAZnVsbHNjcmVlbl9tZXRob2QAZm9yZWdyb3VuZF9zbGVlcF9tcwBzb3VuZF92b2x1bWUAbXVzaWNfdm9sdW1lAHNvdW5kAG11c2ljAG1peF9idWZmZXJfc2l6ZQBzb2Z0d2FyZV9ibGl0AHNvZnR3YXJlX2JsaXR0ZXIAaG9tZQBkZXNrdG9wAHBpeGVsX3BlcmZlY3QAZHJhd19yZWN0AHRpbWVvdXQAaGVhZGxlc3MAcGVyZl90aW1pbmcAZnJhbWVidWZmZXIAYmFja2dyb3VuZF9zbGVlcF9tcwBlbXVsYXRlX3RleHRpbnB1dABkZWZlcnJlZF9kZWFsbG9jAGV4dF9kaXNwbGF5AHByZWJsaXRfc2NhbGUAZGlzcGxheQBsb2dfc3lzdGVtX2luZm8AJWQAJWQsJWQsJWQsJWQAPmNvZG9fZXhpdAoAY211c2ljX3N0b3AKAGNvZG9fbWFpbl9leGl0CgBjb2RvX2NvbmZpZ19zYXZlCgBjb2RvX3NvdW5kX2V4aXQKAGNvZG9fdmlkZW9fZXhpdAoAY29kb19qb3lzdGlja19leGl0CgBjb2RvX3N5c3RlbV9leGl0CgBjb2RvX2l0ZW1zX2NyZWF0ZWQ6ICVkCgBAQCBzeW5jaW5nAEZTLnN5bmNmcyggZmFsc2UsIGZ1bmN0aW9uIChlcnIpIHsgfSApOwBjb2RvX2Rlc3Ryb3lfcG9kOiBjcG9kLT5pdGVtcyAhPSAwCgBCYWQgY3BvZF9hZGRfaXRlbSB0eXBlAEJhZCBjcG9kX2FkZF9pdGVtAGNvZG9fbG9hZF9wb2RfZmlsZTogVW5rbm93biBDaHVuayEKAHJiAGZhaWxlZABvawBjb2RvX2xvYWRfcG9kOiAlcyAlcyAKACoqIHdlYiBmaWxlIHN5c3RlbSBub3QgbW91bnRlZC4gcmV0dXJuaW5nIHZkaXNrIGZpbGU6ICVzICglcykKAGNvZG9fZm9wZW4gJXMgKCVzKSAlcwoAb3BlbmVkACAtPiByZXR1cm5pbmcgdmRpc2sgZmlsZTogJXMgKCVzKQoAIntyZXR1cm4gKCh0eXBlb2YgcDhfdG91Y2hfZGV0ZWN0ZWQgPT09ICd1bmRlZmluZWQnKSB8fCAhcDhfdG91Y2hfZGV0ZWN0ZWQpID8gMCA6IDE7fSIAQEAgZGVmYXVsdCBtaXhfYnVmZmVyX3NpemUgYWRqdXN0ZWQgdG8gMjA0OCAoTW9iaWxlKQBjb2RvX3NwbGl0X2ZpbGVuYW1lX2V4OiBmaWxlX25hbWUgdG9vIGxvbmcKAC4uAH4AY29kb19zYXZlX3BuZyByZXN1bHQ6ICVkICBmaWxlOiAlcwoACkFzc2VydGlvbiBmYWlsZWQ6ICVzCgBDb3VsZCBub3QgYWxsb2NhdGUgdmVydGV4AENvdWxkIG5vdCBhbGxvY2F0ZSBib25lX3ZlcnRleABDb3VsZCBub3QgYWxsb2NhdGUgcG9seQBhY3RvciVkACAASUhEUgBQTFRFAGJLR0QAcEhZcwBJREFUAHRJTUUAelRYdABMb2RlUE5HADIwMTEwMjIxAGlUWHQAdEVYdAB0Uk5TAGNvZG9fZnJlZSBmYWlsICV4ICV4CgAlMDh4JTA4eCUwOHglMDh4JTA4eAAie3JldHVybiBkb2N1bWVudC5oaWRkZW4gPyAxIDogMDt9IgBjb2RvX3NvdW5kX2luaXQgbWl4X2J1ZmZlcl9zaXplOiAlZAoAY29kb19zZXRfc2NyZWVuICVkICVkICVkICV4CgByZXRyaWV2aW5nIGRlc2t0b3AgcmVzb2x1dGlvbjogJWQgJWQKACB3aW5kb3cgc2l6ZTogJWQgJWQKACBkZXNrdG9wIHNpemU6ICVkICVkCgBvawoAJVktJW0tJWQgJUg6JU06JVMAJXMvJXMAJWQtJWQtJWQgJWQ6JWQ6JWQAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaADEAMgAzADQANQA2ADcAOAA5ADAAUmV0dXJuAEVzY2FwZQBCYWNrc3BhY2UAVGFiAFNwYWNlAC0APQBbAF0AU2xhc2gAIwA7ACcAYAAsAC8AQ2Fwc0xvY2sARjEARjIARjMARjQARjUARjYARjcARjgARjkARjEwAEYxMQBGMTIAUHJpbnRTY3JlZW4AU2Nyb2xsTG9jawBQYXVzZQBJbnNlcnQASG9tZQBQYWdlVXAARGVsZXRlAEVuZABQYWdlRG93bgBSaWdodABMZWZ0AERvd24AVXAATnVtbG9jawBLZXlwYWQgLwBLZXlwYWQgKgBLZXlwYWQgLQBLZXlwYWQgKwBLZXlwYWQgRW50ZXIAS2V5cGFkIDEAS2V5cGFkIDIAS2V5cGFkIDMAS2V5cGFkIDQAS2V5cGFkIDUAS2V5cGFkIDYAS2V5cGFkIDcAS2V5cGFkIDgAS2V5cGFkIDkAS2V5cGFkIDAAS2V5cGFkIC4AQXBwbGljYXRpb24AUG93ZXIAS2V5cGFkID0ARjEzAEYxNABGMTUARjE2AEYxNwBGMTgARjE5AEYyMABGMjEARjIyAEYyMwBGMjQARXhlY3V0ZQBIZWxwAE1lbnUAU2VsZWN0AFN0b3AAQWdhaW4AVW5kbwBDdXQAQ29weQBQYXN0ZQBGaW5kAE11dGUAVm9sdW1lVXAAVm9sdW1lRG93bgBLZXlwYWQgLABLZXlwYWQgPSAoQVM0MDApAEFsdEVyYXNlAFN5c1JlcQBDYW5jZWwAQ2xlYXIAUHJpb3IAU2VwYXJhdG9yAE91dABPcGVyAENsZWFyIC8gQWdhaW4AQ3JTZWwARXhTZWwAS2V5cGFkIDAwAEtleXBhZCAwMDAAVGhvdXNhbmRzU2VwYXJhdG9yAERlY2ltYWxTZXBhcmF0b3IAQ3VycmVuY3lVbml0AEN1cnJlbmN5U3ViVW5pdABLZXlwYWQgKABLZXlwYWQgKQBLZXlwYWQgewBLZXlwYWQgfQBLZXlwYWQgVGFiAEtleXBhZCBCYWNrc3BhY2UAS2V5cGFkIEEAS2V5cGFkIEIAS2V5cGFkIEMAS2V5cGFkIEQAS2V5cGFkIEUAS2V5cGFkIEYAS2V5cGFkIFhPUgBLZXlwYWQgXgBLZXlwYWQgJQBLZXlwYWQgPABLZXlwYWQgPgBLZXlwYWQgJgBLZXlwYWQgJiYAS2V5cGFkIHwAS2V5cGFkIHx8AEtleXBhZCA6AEtleXBhZCAjAEtleXBhZCBTcGFjZQBLZXlwYWQgQABLZXlwYWQgIQBLZXlwYWQgTWVtU3RvcmUAS2V5cGFkIE1lbVJlY2FsbABLZXlwYWQgTWVtQ2xlYXIAS2V5cGFkIE1lbUFkZABLZXlwYWQgTWVtU3VidHJhY3QAS2V5cGFkIE1lbU11bHRpcGx5AEtleXBhZCBNZW1EaXZpZGUAS2V5cGFkICsvLQBLZXlwYWQgQ2xlYXIAS2V5cGFkIENsZWFyRW50cnkAS2V5cGFkIEJpbmFyeQBLZXlwYWQgT2N0YWwAS2V5cGFkIERlY2ltYWwAS2V5cGFkIEhleGFkZWNpbWFsAExlZnQgQ3RybABMZWZ0IFNoaWZ0AExlZnQgQWx0AExlZnQgR1VJAFJpZ2h0IEN0cmwAUmlnaHQgU2hpZnQAUmlnaHQgQWx0AFJpZ2h0IEdVSQBNb2RlU3dpdGNoAEF1ZGlvTmV4dABBdWRpb1ByZXYAQXVkaW9TdG9wAEF1ZGlvUGxheQBBdWRpb011dGUATWVkaWFTZWxlY3QAV1dXAE1haWwAQ2FsY3VsYXRvcgBDb21wdXRlcgBBQyBTZWFyY2gAQUMgSG9tZQBBQyBCYWNrAEFDIEZvcndhcmQAQUMgU3RvcABBQyBSZWZyZXNoAEFDIEJvb2ttYXJrcwBCcmlnaHRuZXNzRG93bgBCcmlnaHRuZXNzVXAARGlzcGxheVN3aXRjaABLQkRJbGx1bVRvZ2dsZQBLQkRJbGx1bURvd24AS0JESWxsdW1VcABFamVjdABTbGVlcABBcHAxAEFwcDIAQXVkaW9SZXdpbmQAQXVkaW9GYXN0Rm9yd2FyZABVbmFibGUgdG8gaW5pdGlhbGl6ZSBTREwAaWYgKHR5cGVvZiBjb2RvX2tleV9idWZmZXIgPT09ICd1bmRlZmluZWQnKSBjb2RvX2tleV9idWZmZXIgPSBbXTsgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uKGUpeyB2YXIgdmFsID0gLTE7IGlmIChlLmtleS5sZW5ndGggPT0gMSkgeyB2YWwgPSBlLmtleS5jaGFyQ29kZUF0KDApOyB9IGVsc2UgeyBpZiAoZS5rZXkgPT0gIlRhYiIpIHZhbCA9IDk7IGlmIChlLmtleSA9PSAiRW50ZXIiKSB2YWwgPSAxMzsgaWYgKGUua2V5ID09ICJCYWNrc3BhY2UiKSB2YWwgPSA4OyBpZiAoZS5rZXkgPT0gIkVzY2FwZSIpIHZhbCA9IDI3OyBpZiAodmFsID09IC0xKXsgfSB9IHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIik7IGNvZG9fa2V5X2J1ZmZlci5wdXNoKHZhbCk7IH0pOwB2YXIgX2NvZG9fdGV4dF92YWx1ZSA9ICIiOyB2YXIgX2NvZG9fc3RyX291dCA9ICIiOyB2YXIgY29kb193aGVlbF9keCA9IDA7IHZhciBjb2RvX3doZWVsX2R5ID0gMDsAZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBmdW5jdGlvbihlKXsgZHggPSBlLmRlbHRhWDsgaWYgKGR4IDwgMCkgZHggPSAtMTsgaWYgKGR4ID4gMCkgZHggPSAxOyBpZiAoZS5kZWx0YU1vZGUgPT0gMikgZHggKj0gNDsgaWYgKHR5cGVvZiBjb2RvX3doZWVsX2R4ICE9PSAndW5kZWZpbmVkJykgY29kb193aGVlbF9keCAtPSBkeDsgZHkgPSBlLmRlbHRhWTsgaWYgKGR5IDwgMCkgZHkgPSAtMTsgaWYgKGR5ID4gMCkgZHkgPSAxOyBpZiAoZS5kZWx0YU1vZGUgPT0gMikgZHkgKj0gNDsgaWYgKHR5cGVvZiBjb2RvX3doZWVsX2R5ICE9PSAndW5kZWZpbmVkJykgY29kb193aGVlbF9keSAtPSBkeTsgfSk7AAoKKiogRkFUQUwgRVJST1I6ICVzCgoAU0RMIEVycm9yOiAlcwoAInt2YXIgcmV0ID0gMDsgaWYgKHR5cGVvZiBwaWNvOF9tb3VzZSAhPT0gJ3VuZGVmaW5lZCcgJiYgcGljbzhfbW91c2UubGVuZ3RoID4gMCkgcmV0PTE7IHJldHVybiByZXQ7fSIAIntyZXR1cm4gcGljbzhfbW91c2VbMF19IgAie3JldHVybiBwaWNvOF9tb3VzZVsxXX0iAGZ1bmN0aW9uIGF1ZGlvX2xvZyhtc2cpIHsgaWYgKHdpbmRvdy5jb25zb2xlICYmIHdpbmRvdy5jb25zb2xlLmxvZykgeyB3aW5kb3cuY29uc29sZS5sb2coIltjb2RvXSBhdWRpb19pbml0X3dlYmF1ZGlvICIrbXNnKTsgfSB9IGF1ZGlvX2xvZygiYXVkaW9faW5pdCIpOyB2YXIgY29kb19hdWRpb19jb250ZXh0OyBpZiAodHlwZW9mIE1vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIGF1ZGlvX2xvZygiICoqKiBNb2R1bGUgdW5kZWZpbmVkIik7IGVsc2UgaWYgKHR5cGVvZiBNb2R1bGUuY2NhbGwgPT09ICd1bmRlZmluZWQnKSBhdWRpb19sb2coIiAqKioqIE1vZHVsZS5jY2FsbCB1bmRlZmluZWQiKTsgZWxzZSB7IHZhciB3ZWJBdWRpb0FQSSA9IHdpbmRvdy5BdWRpb0NvbnRleHQgfHwgd2luZG93LndlYmtpdEF1ZGlvQ29udGV4dCB8fCB3aW5kb3cubW96QXVkaW9Db250ZXh0IHx8IHdpbmRvdy5vQXVkaW9Db250ZXh0IHx8IHdpbmRvdy5tc0F1ZGlvQ29udGV4dDsgaWYgKHdlYkF1ZGlvQVBJKSB7IGlmICh0eXBlb2YgcGljbzhfYXVkaW9fY29udGV4dCAhPT0gJ3VuZGVmaW5lZCcpIHsgY29kb19hdWRpb19jb250ZXh0ID0gcGljbzhfYXVkaW9fY29udGV4dDsgYXVkaW9fbG9nKCJmb3VuZCBwaWNvOF9hdWRpb19jb250ZXh0Iik7IH0gZWxzZSBpZiAodHlwZW9mIHZveGF0cm9uX2F1ZGlvX2NvbnRleHQgIT09ICd1bmRlZmluZWQnKSB7IGNvZG9fYXVkaW9fY29udGV4dCA9IHZveGF0cm9uX2F1ZGlvX2NvbnRleHQ7IGF1ZGlvX2xvZygiZm91bmQgdm94YXRyb25fYXVkaW9fY29udGV4dCIpOyB9IGVsc2UgeyBjb2RvX2F1ZGlvX2NvbnRleHQgPSBuZXcgd2ViQXVkaW9BUEk7IGF1ZGlvX2xvZygiY3JlYXRpbmcgb3duIGF1ZGlvIGNvbnRleHQiKTsgfSBpZiAoY29kb19hdWRpb19jb250ZXh0KSB7IGF1ZGlvX2xvZygiU2FtcGxlIFJhdGU6ICIrY29kb19hdWRpb19jb250ZXh0LnNhbXBsZVJhdGUpOyBhdWRpb19sb2coIkJ1ZmZlciBTaXplOiAiKyQwKTsgbm9kZSA9IGNvZG9fYXVkaW9fY29udGV4dC5jcmVhdGVTY3JpcHRQcm9jZXNzb3IoJDAsIDEsIDEpOyBub2RlLm9uYXVkaW9wcm9jZXNzID0gZnVuY3Rpb24oZSkgeyB2YXIgZGF0YSA9IGUub3V0cHV0QnVmZmVyLmdldENoYW5uZWxEYXRhKDApOyB2YXIgciA9IDIyMDUwLjAgLyBjb2RvX2F1ZGlvX2NvbnRleHQuc2FtcGxlUmF0ZTsgdmFyIGxlbjAgPSBNYXRoLmZsb29yKGRhdGEubGVuZ3RoICogcik7IHZhciBsZW4xID0gZGF0YS5sZW5ndGg7IHZhciBwdHIgPSBNb2R1bGUuY2NhbGwoJ21peF8wJywgJ251bWJlcicsIFsnbnVtYmVyJywnbnVtYmVyJ10sIFtsZW4wLCBsZW4xXSk7IGZvciAodmFyIGogPSAwOyBqIDwgZGF0YS5sZW5ndGg7IGorKykgZGF0YVtqXSA9IE1vZHVsZS5nZXRWYWx1ZShwdHIgKyBqKjIsICdpMTYnKSAvIDB4ODAwMDsgfTsgbm9kZS5jb25uZWN0KGNvZG9fYXVkaW9fY29udGV4dC5kZXN0aW5hdGlvbik7IH0gZWxzZSB7IGF1ZGlvX2xvZygiKiogZmFpbGVkIHRvIGNyZWF0ZSBjb2RvX2F1ZGlvX2NvbnRleHQiKTsgfSB9IGVsc2UgeyBhdWRpb19sb2coIioqIHdlYkF1ZGlvQVBJIG5vdCBmb3VuZCIpOyB9IH0AIntyZXR1cm4gZG9jdW1lbnQucG9pbnRlckxvY2tFbGVtZW50ID8gMSA6IDA7fSIAImlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IHJldHVybiBjb2RvX2tleV9idWZmZXIubGVuZ3RoID4gMCA/IDEgOiAwOyIAImlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IGxldCB2YWwgPSBjb2RvX2tleV9idWZmZXIuc2hpZnQoKSB8IDA7IHJldHVybiB2YWw7IgByZWFkIGN1cnNvciBrZXkgJWQKACJ7dGVtcCA9ICh0eXBlb2YgY29kb193aGVlbF9keCAhPT0gJ3VuZGVmaW5lZCcpID8gY29kb193aGVlbF9keDowOyBjb2RvX3doZWVsX2R4ID0gMDsgcmV0dXJuIHRlbXA7fSIAInt0ZW1wID0gKHR5cGVvZiBjb2RvX3doZWVsX2R5ICE9PSAndW5kZWZpbmVkJykgPyBjb2RvX3doZWVsX2R5OjA7IGNvZG9fd2hlZWxfZHkgPSAwOyByZXR1cm4gdGVtcDt9IgAieyBpZiAoZG9jdW1lbnQuaGlkZGVuKSByZXR1cm4gMDsgZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY29kb190ZXh0YXJlYVwiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCkgeyBpZiAoZWwgPT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkgcmV0dXJuIDE7IH0gZWwgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50OyByZXR1cm4gKCFlbCB8fCAoZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpICE9IFwiaW5wdXRcIiAmJiBlbC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT0gXCJ0ZXh0YXJlYVwiKSk7IH0iAGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgIT0gIm5vbmUiKSB7IGVsLmZvY3VzKCk7IGVsLnNlbGVjdCgpOyB9AGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgIT0gIm5vbmUiKSB7IGVsLnNlbGVjdCgpOyB9ACJ7cmV0dXJuIHBpY284X21vdXNlWzJdfSIAL3VzZXJfZGF0YS8lcwAie3ZhciB2YWw9MDsgaWYgKHR5cGVvZiBjb2RvX21vdW50ZWRfZmlsZXN5c3RlbSAhPT0gJ3VuZGVmaW5lZCcpIHZhbD0xOyByZXR1cm4gdmFsO30iAEBAIGNvZG9fbWtkaXIgZmFpbGVkOyBmaWxlc3lzdGVtIG5vdCBmb3VuZGVkAF9kaXJfbmFtZT0iIjsAe19kaXJfbmFtZT1fZGlyX25hbWUrU3RyaW5nLmZyb21DaGFyQ29kZSgkMCk7fQBjb25zb2xlLmxvZygiQEAgbWtkaXIgZGlyZWN0b3J5IChub2NoZWNrKTogIitfZGlyX25hbWUpOyBGUy5jcmVhdGVQYXRoKCIiLCBfZGlyX25hbWUsIHRydWUsIHRydWUpOwBbY29kb10gZXhpdGluZyBwb2ludGVyIGxvY2sAe01vZHVsZVsnY2FudmFzJ10uZXhpdFBvaW50ZXJMb2NrKCk7fQBAQCBjb2RvX3dnZXRfb25sb2FkOiBzYXZpbmcgJWQgYnl0ZXMgdG8gJXMKAEBAIGNvZG9fd2dldF9vbmVycm9yOiAlcwoAQEAgY29kb193Z2V0X3dpdGhfY2FsbGJhY2tzOiBkb3dubG9hZGluZyAlcyAtPiAlcwoAZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwpIHsgfQBfY29kb19zdHJfb3V0PSIiOwB7X2NvZG9fc3RyX291dD1fY29kb19zdHJfb3V0K1N0cmluZy5mcm9tQ2hhckNvZGUoJDApO30AInsgZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY29kb190ZXh0YXJlYVwiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCkgeyBlbC52YWx1ZSA9IF9jb2RvX3N0cl9vdXQ7IHJldHVybiAwOyB9IGVsc2UgcmV0dXJuIDE7IH0iAGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgPT0gIm5vbmUiICYmICgodHlwZW9mIHA4X3RvdWNoX2RldGVjdGVkID09PSAndW5kZWZpbmVkJykgfHwgIXA4X3RvdWNoX2RldGVjdGVkKSkgeyBjb25zb2xlLmxvZygiQEAgZW5hYmxpbmcgY29kb190ZXh0ZmllbGQiKTsgZWwuc3R5bGUuZGlzcGxheSA9ICIiOyBlbC5mb2N1cygpOyBlbC5zZWxlY3QoKTsgfQAie3JldHVybiAodHlwZW9mIF9jb2RvX3RleHRfdmFsdWUgPT09ICd1bmRlZmluZWQnKSA/IDEgOiAwO30iAGlpaSA9IDA7ACJ7aWlpID0gaWlpKzE7IHJldHVybiBfY29kb190ZXh0X3ZhbHVlLmNoYXJDb2RlQXQoaWlpLTEpOyB9IgAiZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY29kb190ZXh0YXJlYVwiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCAmJiBlbC5zdHlsZS5kaXNwbGF5ICE9IFwibm9uZVwiICYmIGVsLnZhbHVlICE9IFwiXCIpIHsgX2NvZG9fdGV4dF92YWx1ZSA9IGVsLnZhbHVlOyByZXR1cm4gMTsgfSByZXR1cm4gMDsiACVzJXMAcGljby04IGNhcnRyaWRnZQB2ZXJzaW9uICVkAF9fbHVhX18AX19nZnhfXwBfX2dmZl9fAF9fbWFwX18AX19zZnhfXwBfX211c2ljX18AX19sYWJlbF9fAF9fY2hhbmdlX21hc2tfXwAlMDJ4JTAyeCUwMnglMDJ4ACUwMnglMXglMXglMXgAJTAyeCAAcgBwaWNvLTggY2FydHJpZGdlIC8vIGh0dHA6Ly93d3cucGljby04LmNvbQoAdmVyc2lvbiAlZAoAX19sdWFfXwoACgBfX2dmeF9fCgAleABfX2xhYmVsX18KAF9fZ2ZmX18KACUwMngAX19tYXBfXwoAX19zZnhfXwoAJTAyeCV4JXgleABfX211c2ljX18KACUwMnglMDJ4JTAyeCUwMngKAF9fY2hhbmdlX21hc2tfXwoAd2IALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AAAECBAcDBgUAaW5maW5pdHkAbmFuAHJ3YQAu";
  1190. var tempDoublePtr = 3042720;
  1191. function ___setErrNo(value) {
  1192. if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value;
  1193. return value;
  1194. }
  1195. var PATH = {
  1196. splitPath: function(filename) {
  1197. var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
  1198. return splitPathRe.exec(filename).slice(1);
  1199. },
  1200. normalizeArray: function(parts, allowAboveRoot) {
  1201. var up = 0;
  1202. for (var i = parts.length - 1; i >= 0; i--) {
  1203. var last = parts[i];
  1204. if (last === ".") {
  1205. parts.splice(i, 1);
  1206. } else if (last === "..") {
  1207. parts.splice(i, 1);
  1208. up++;
  1209. } else if (up) {
  1210. parts.splice(i, 1);
  1211. up--;
  1212. }
  1213. }
  1214. if (allowAboveRoot) {
  1215. for (;up; up--) {
  1216. parts.unshift("..");
  1217. }
  1218. }
  1219. return parts;
  1220. },
  1221. normalize: function(path) {
  1222. var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/";
  1223. path = PATH.normalizeArray(path.split("/").filter(function(p) {
  1224. return !!p;
  1225. }), !isAbsolute).join("/");
  1226. if (!path && !isAbsolute) {
  1227. path = ".";
  1228. }
  1229. if (path && trailingSlash) {
  1230. path += "/";
  1231. }
  1232. return (isAbsolute ? "/" : "") + path;
  1233. },
  1234. dirname: function(path) {
  1235. var result = PATH.splitPath(path), root = result[0], dir = result[1];
  1236. if (!root && !dir) {
  1237. return ".";
  1238. }
  1239. if (dir) {
  1240. dir = dir.substr(0, dir.length - 1);
  1241. }
  1242. return root + dir;
  1243. },
  1244. basename: function(path) {
  1245. if (path === "/") return "/";
  1246. var lastSlash = path.lastIndexOf("/");
  1247. if (lastSlash === -1) return path;
  1248. return path.substr(lastSlash + 1);
  1249. },
  1250. extname: function(path) {
  1251. return PATH.splitPath(path)[3];
  1252. },
  1253. join: function() {
  1254. var paths = Array.prototype.slice.call(arguments, 0);
  1255. return PATH.normalize(paths.join("/"));
  1256. },
  1257. join2: function(l, r) {
  1258. return PATH.normalize(l + "/" + r);
  1259. },
  1260. resolve: function() {
  1261. var resolvedPath = "", resolvedAbsolute = false;
  1262. for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
  1263. var path = i >= 0 ? arguments[i] : FS.cwd();
  1264. if (typeof path !== "string") {
  1265. throw new TypeError("Arguments to path.resolve must be strings");
  1266. } else if (!path) {
  1267. return "";
  1268. }
  1269. resolvedPath = path + "/" + resolvedPath;
  1270. resolvedAbsolute = path.charAt(0) === "/";
  1271. }
  1272. resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) {
  1273. return !!p;
  1274. }), !resolvedAbsolute).join("/");
  1275. return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
  1276. },
  1277. relative: function(from, to) {
  1278. from = PATH.resolve(from).substr(1);
  1279. to = PATH.resolve(to).substr(1);
  1280. function trim(arr) {
  1281. var start = 0;
  1282. for (;start < arr.length; start++) {
  1283. if (arr[start] !== "") break;
  1284. }
  1285. var end = arr.length - 1;
  1286. for (;end >= 0; end--) {
  1287. if (arr[end] !== "") break;
  1288. }
  1289. if (start > end) return [];
  1290. return arr.slice(start, end - start + 1);
  1291. }
  1292. var fromParts = trim(from.split("/"));
  1293. var toParts = trim(to.split("/"));
  1294. var length = Math.min(fromParts.length, toParts.length);
  1295. var samePartsLength = length;
  1296. for (var i = 0; i < length; i++) {
  1297. if (fromParts[i] !== toParts[i]) {
  1298. samePartsLength = i;
  1299. break;
  1300. }
  1301. }
  1302. var outputParts = [];
  1303. for (var i = samePartsLength; i < fromParts.length; i++) {
  1304. outputParts.push("..");
  1305. }
  1306. outputParts = outputParts.concat(toParts.slice(samePartsLength));
  1307. return outputParts.join("/");
  1308. }
  1309. };
  1310. var TTY = {
  1311. ttys: [],
  1312. init: function() {},
  1313. shutdown: function() {},
  1314. register: function(dev, ops) {
  1315. TTY.ttys[dev] = {
  1316. input: [],
  1317. output: [],
  1318. ops: ops
  1319. };
  1320. FS.registerDevice(dev, TTY.stream_ops);
  1321. },
  1322. stream_ops: {
  1323. open: function(stream) {
  1324. var tty = TTY.ttys[stream.node.rdev];
  1325. if (!tty) {
  1326. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  1327. }
  1328. stream.tty = tty;
  1329. stream.seekable = false;
  1330. },
  1331. close: function(stream) {
  1332. stream.tty.ops.flush(stream.tty);
  1333. },
  1334. flush: function(stream) {
  1335. stream.tty.ops.flush(stream.tty);
  1336. },
  1337. read: function(stream, buffer, offset, length, pos) {
  1338. if (!stream.tty || !stream.tty.ops.get_char) {
  1339. throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
  1340. }
  1341. var bytesRead = 0;
  1342. for (var i = 0; i < length; i++) {
  1343. var result;
  1344. try {
  1345. result = stream.tty.ops.get_char(stream.tty);
  1346. } catch (e) {
  1347. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  1348. }
  1349. if (result === undefined && bytesRead === 0) {
  1350. throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
  1351. }
  1352. if (result === null || result === undefined) break;
  1353. bytesRead++;
  1354. buffer[offset + i] = result;
  1355. }
  1356. if (bytesRead) {
  1357. stream.node.timestamp = Date.now();
  1358. }
  1359. return bytesRead;
  1360. },
  1361. write: function(stream, buffer, offset, length, pos) {
  1362. if (!stream.tty || !stream.tty.ops.put_char) {
  1363. throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
  1364. }
  1365. try {
  1366. for (var i = 0; i < length; i++) {
  1367. stream.tty.ops.put_char(stream.tty, buffer[offset + i]);
  1368. }
  1369. } catch (e) {
  1370. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  1371. }
  1372. if (length) {
  1373. stream.node.timestamp = Date.now();
  1374. }
  1375. return i;
  1376. }
  1377. },
  1378. default_tty_ops: {
  1379. get_char: function(tty) {
  1380. if (!tty.input.length) {
  1381. var result = null;
  1382. if (ENVIRONMENT_IS_NODE) {
  1383. var BUFSIZE = 256;
  1384. var buf = new Buffer(BUFSIZE);
  1385. var bytesRead = 0;
  1386. var isPosixPlatform = process.platform != "win32";
  1387. var fd = process.stdin.fd;
  1388. if (isPosixPlatform) {
  1389. var usingDevice = false;
  1390. try {
  1391. fd = fs.openSync("/dev/stdin", "r");
  1392. usingDevice = true;
  1393. } catch (e) {}
  1394. }
  1395. try {
  1396. bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
  1397. } catch (e) {
  1398. if (e.toString().indexOf("EOF") != -1) bytesRead = 0; else throw e;
  1399. }
  1400. if (usingDevice) {
  1401. fs.closeSync(fd);
  1402. }
  1403. if (bytesRead > 0) {
  1404. result = buf.slice(0, bytesRead).toString("utf-8");
  1405. } else {
  1406. result = null;
  1407. }
  1408. } else if (typeof window != "undefined" && typeof window.prompt == "function") {
  1409. result = window.prompt("Input: ");
  1410. if (result !== null) {
  1411. result += "\n";
  1412. }
  1413. } else if (typeof readline == "function") {
  1414. result = readline();
  1415. if (result !== null) {
  1416. result += "\n";
  1417. }
  1418. }
  1419. if (!result) {
  1420. return null;
  1421. }
  1422. tty.input = intArrayFromString(result, true);
  1423. }
  1424. return tty.input.shift();
  1425. },
  1426. put_char: function(tty, val) {
  1427. if (val === null || val === 10) {
  1428. out(UTF8ArrayToString(tty.output, 0));
  1429. tty.output = [];
  1430. } else {
  1431. if (val != 0) tty.output.push(val);
  1432. }
  1433. },
  1434. flush: function(tty) {
  1435. if (tty.output && tty.output.length > 0) {
  1436. out(UTF8ArrayToString(tty.output, 0));
  1437. tty.output = [];
  1438. }
  1439. }
  1440. },
  1441. default_tty1_ops: {
  1442. put_char: function(tty, val) {
  1443. if (val === null || val === 10) {
  1444. err(UTF8ArrayToString(tty.output, 0));
  1445. tty.output = [];
  1446. } else {
  1447. if (val != 0) tty.output.push(val);
  1448. }
  1449. },
  1450. flush: function(tty) {
  1451. if (tty.output && tty.output.length > 0) {
  1452. err(UTF8ArrayToString(tty.output, 0));
  1453. tty.output = [];
  1454. }
  1455. }
  1456. }
  1457. };
  1458. var MEMFS = {
  1459. ops_table: null,
  1460. mount: function(mount) {
  1461. return MEMFS.createNode(null, "/", 16384 | 511, 0);
  1462. },
  1463. createNode: function(parent, name, mode, dev) {
  1464. if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
  1465. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  1466. }
  1467. if (!MEMFS.ops_table) {
  1468. MEMFS.ops_table = {
  1469. dir: {
  1470. node: {
  1471. getattr: MEMFS.node_ops.getattr,
  1472. setattr: MEMFS.node_ops.setattr,
  1473. lookup: MEMFS.node_ops.lookup,
  1474. mknod: MEMFS.node_ops.mknod,
  1475. rename: MEMFS.node_ops.rename,
  1476. unlink: MEMFS.node_ops.unlink,
  1477. rmdir: MEMFS.node_ops.rmdir,
  1478. readdir: MEMFS.node_ops.readdir,
  1479. symlink: MEMFS.node_ops.symlink
  1480. },
  1481. stream: {
  1482. llseek: MEMFS.stream_ops.llseek
  1483. }
  1484. },
  1485. file: {
  1486. node: {
  1487. getattr: MEMFS.node_ops.getattr,
  1488. setattr: MEMFS.node_ops.setattr
  1489. },
  1490. stream: {
  1491. llseek: MEMFS.stream_ops.llseek,
  1492. read: MEMFS.stream_ops.read,
  1493. write: MEMFS.stream_ops.write,
  1494. allocate: MEMFS.stream_ops.allocate,
  1495. mmap: MEMFS.stream_ops.mmap,
  1496. msync: MEMFS.stream_ops.msync
  1497. }
  1498. },
  1499. link: {
  1500. node: {
  1501. getattr: MEMFS.node_ops.getattr,
  1502. setattr: MEMFS.node_ops.setattr,
  1503. readlink: MEMFS.node_ops.readlink
  1504. },
  1505. stream: {}
  1506. },
  1507. chrdev: {
  1508. node: {
  1509. getattr: MEMFS.node_ops.getattr,
  1510. setattr: MEMFS.node_ops.setattr
  1511. },
  1512. stream: FS.chrdev_stream_ops
  1513. }
  1514. };
  1515. }
  1516. var node = FS.createNode(parent, name, mode, dev);
  1517. if (FS.isDir(node.mode)) {
  1518. node.node_ops = MEMFS.ops_table.dir.node;
  1519. node.stream_ops = MEMFS.ops_table.dir.stream;
  1520. node.contents = {};
  1521. } else if (FS.isFile(node.mode)) {
  1522. node.node_ops = MEMFS.ops_table.file.node;
  1523. node.stream_ops = MEMFS.ops_table.file.stream;
  1524. node.usedBytes = 0;
  1525. node.contents = null;
  1526. } else if (FS.isLink(node.mode)) {
  1527. node.node_ops = MEMFS.ops_table.link.node;
  1528. node.stream_ops = MEMFS.ops_table.link.stream;
  1529. } else if (FS.isChrdev(node.mode)) {
  1530. node.node_ops = MEMFS.ops_table.chrdev.node;
  1531. node.stream_ops = MEMFS.ops_table.chrdev.stream;
  1532. }
  1533. node.timestamp = Date.now();
  1534. if (parent) {
  1535. parent.contents[name] = node;
  1536. }
  1537. return node;
  1538. },
  1539. getFileDataAsRegularArray: function(node) {
  1540. if (node.contents && node.contents.subarray) {
  1541. var arr = [];
  1542. for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
  1543. return arr;
  1544. }
  1545. return node.contents;
  1546. },
  1547. getFileDataAsTypedArray: function(node) {
  1548. if (!node.contents) return new Uint8Array();
  1549. if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);
  1550. return new Uint8Array(node.contents);
  1551. },
  1552. expandFileStorage: function(node, newCapacity) {
  1553. var prevCapacity = node.contents ? node.contents.length : 0;
  1554. if (prevCapacity >= newCapacity) return;
  1555. var CAPACITY_DOUBLING_MAX = 1024 * 1024;
  1556. newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0);
  1557. if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);
  1558. var oldContents = node.contents;
  1559. node.contents = new Uint8Array(newCapacity);
  1560. if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);
  1561. return;
  1562. },
  1563. resizeFileStorage: function(node, newSize) {
  1564. if (node.usedBytes == newSize) return;
  1565. if (newSize == 0) {
  1566. node.contents = null;
  1567. node.usedBytes = 0;
  1568. return;
  1569. }
  1570. if (!node.contents || node.contents.subarray) {
  1571. var oldContents = node.contents;
  1572. node.contents = new Uint8Array(new ArrayBuffer(newSize));
  1573. if (oldContents) {
  1574. node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));
  1575. }
  1576. node.usedBytes = newSize;
  1577. return;
  1578. }
  1579. if (!node.contents) node.contents = [];
  1580. if (node.contents.length > newSize) node.contents.length = newSize; else while (node.contents.length < newSize) node.contents.push(0);
  1581. node.usedBytes = newSize;
  1582. },
  1583. node_ops: {
  1584. getattr: function(node) {
  1585. var attr = {};
  1586. attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
  1587. attr.ino = node.id;
  1588. attr.mode = node.mode;
  1589. attr.nlink = 1;
  1590. attr.uid = 0;
  1591. attr.gid = 0;
  1592. attr.rdev = node.rdev;
  1593. if (FS.isDir(node.mode)) {
  1594. attr.size = 4096;
  1595. } else if (FS.isFile(node.mode)) {
  1596. attr.size = node.usedBytes;
  1597. } else if (FS.isLink(node.mode)) {
  1598. attr.size = node.link.length;
  1599. } else {
  1600. attr.size = 0;
  1601. }
  1602. attr.atime = new Date(node.timestamp);
  1603. attr.mtime = new Date(node.timestamp);
  1604. attr.ctime = new Date(node.timestamp);
  1605. attr.blksize = 4096;
  1606. attr.blocks = Math.ceil(attr.size / attr.blksize);
  1607. return attr;
  1608. },
  1609. setattr: function(node, attr) {
  1610. if (attr.mode !== undefined) {
  1611. node.mode = attr.mode;
  1612. }
  1613. if (attr.timestamp !== undefined) {
  1614. node.timestamp = attr.timestamp;
  1615. }
  1616. if (attr.size !== undefined) {
  1617. MEMFS.resizeFileStorage(node, attr.size);
  1618. }
  1619. },
  1620. lookup: function(parent, name) {
  1621. throw FS.genericErrors[ERRNO_CODES.ENOENT];
  1622. },
  1623. mknod: function(parent, name, mode, dev) {
  1624. return MEMFS.createNode(parent, name, mode, dev);
  1625. },
  1626. rename: function(old_node, new_dir, new_name) {
  1627. if (FS.isDir(old_node.mode)) {
  1628. var new_node;
  1629. try {
  1630. new_node = FS.lookupNode(new_dir, new_name);
  1631. } catch (e) {}
  1632. if (new_node) {
  1633. for (var i in new_node.contents) {
  1634. throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
  1635. }
  1636. }
  1637. }
  1638. delete old_node.parent.contents[old_node.name];
  1639. old_node.name = new_name;
  1640. new_dir.contents[new_name] = old_node;
  1641. old_node.parent = new_dir;
  1642. },
  1643. unlink: function(parent, name) {
  1644. delete parent.contents[name];
  1645. },
  1646. rmdir: function(parent, name) {
  1647. var node = FS.lookupNode(parent, name);
  1648. for (var i in node.contents) {
  1649. throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
  1650. }
  1651. delete parent.contents[name];
  1652. },
  1653. readdir: function(node) {
  1654. var entries = [ ".", ".." ];
  1655. for (var key in node.contents) {
  1656. if (!node.contents.hasOwnProperty(key)) {
  1657. continue;
  1658. }
  1659. entries.push(key);
  1660. }
  1661. return entries;
  1662. },
  1663. symlink: function(parent, newname, oldpath) {
  1664. var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);
  1665. node.link = oldpath;
  1666. return node;
  1667. },
  1668. readlink: function(node) {
  1669. if (!FS.isLink(node.mode)) {
  1670. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  1671. }
  1672. return node.link;
  1673. }
  1674. },
  1675. stream_ops: {
  1676. read: function(stream, buffer, offset, length, position) {
  1677. var contents = stream.node.contents;
  1678. if (position >= stream.node.usedBytes) return 0;
  1679. var size = Math.min(stream.node.usedBytes - position, length);
  1680. assert(size >= 0);
  1681. if (size > 8 && contents.subarray) {
  1682. buffer.set(contents.subarray(position, position + size), offset);
  1683. } else {
  1684. for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
  1685. }
  1686. return size;
  1687. },
  1688. write: function(stream, buffer, offset, length, position, canOwn) {
  1689. if (!length) return 0;
  1690. var node = stream.node;
  1691. node.timestamp = Date.now();
  1692. if (buffer.subarray && (!node.contents || node.contents.subarray)) {
  1693. if (canOwn) {
  1694. node.contents = buffer.subarray(offset, offset + length);
  1695. node.usedBytes = length;
  1696. return length;
  1697. } else if (node.usedBytes === 0 && position === 0) {
  1698. node.contents = new Uint8Array(buffer.subarray(offset, offset + length));
  1699. node.usedBytes = length;
  1700. return length;
  1701. } else if (position + length <= node.usedBytes) {
  1702. node.contents.set(buffer.subarray(offset, offset + length), position);
  1703. return length;
  1704. }
  1705. }
  1706. MEMFS.expandFileStorage(node, position + length);
  1707. if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); else {
  1708. for (var i = 0; i < length; i++) {
  1709. node.contents[position + i] = buffer[offset + i];
  1710. }
  1711. }
  1712. node.usedBytes = Math.max(node.usedBytes, position + length);
  1713. return length;
  1714. },
  1715. llseek: function(stream, offset, whence) {
  1716. var position = offset;
  1717. if (whence === 1) {
  1718. position += stream.position;
  1719. } else if (whence === 2) {
  1720. if (FS.isFile(stream.node.mode)) {
  1721. position += stream.node.usedBytes;
  1722. }
  1723. }
  1724. if (position < 0) {
  1725. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  1726. }
  1727. return position;
  1728. },
  1729. allocate: function(stream, offset, length) {
  1730. MEMFS.expandFileStorage(stream.node, offset + length);
  1731. stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
  1732. },
  1733. mmap: function(stream, buffer, offset, length, position, prot, flags) {
  1734. if (!FS.isFile(stream.node.mode)) {
  1735. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  1736. }
  1737. var ptr;
  1738. var allocated;
  1739. var contents = stream.node.contents;
  1740. if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) {
  1741. allocated = false;
  1742. ptr = contents.byteOffset;
  1743. } else {
  1744. if (position > 0 || position + length < stream.node.usedBytes) {
  1745. if (contents.subarray) {
  1746. contents = contents.subarray(position, position + length);
  1747. } else {
  1748. contents = Array.prototype.slice.call(contents, position, position + length);
  1749. }
  1750. }
  1751. allocated = true;
  1752. ptr = _malloc(length);
  1753. if (!ptr) {
  1754. throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
  1755. }
  1756. buffer.set(contents, ptr);
  1757. }
  1758. return {
  1759. ptr: ptr,
  1760. allocated: allocated
  1761. };
  1762. },
  1763. msync: function(stream, buffer, offset, length, mmapFlags) {
  1764. if (!FS.isFile(stream.node.mode)) {
  1765. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  1766. }
  1767. if (mmapFlags & 2) {
  1768. return 0;
  1769. }
  1770. var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
  1771. return 0;
  1772. }
  1773. }
  1774. };
  1775. var IDBFS = {
  1776. dbs: {},
  1777. indexedDB: function() {
  1778. if (typeof indexedDB !== "undefined") return indexedDB;
  1779. var ret = null;
  1780. if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
  1781. assert(ret, "IDBFS used, but indexedDB not supported");
  1782. return ret;
  1783. },
  1784. DB_VERSION: 21,
  1785. DB_STORE_NAME: "FILE_DATA",
  1786. mount: function(mount) {
  1787. return MEMFS.mount.apply(null, arguments);
  1788. },
  1789. syncfs: function(mount, populate, callback) {
  1790. IDBFS.getLocalSet(mount, function(err, local) {
  1791. if (err) return callback(err);
  1792. IDBFS.getRemoteSet(mount, function(err, remote) {
  1793. if (err) return callback(err);
  1794. var src = populate ? remote : local;
  1795. var dst = populate ? local : remote;
  1796. IDBFS.reconcile(src, dst, callback);
  1797. });
  1798. });
  1799. },
  1800. getDB: function(name, callback) {
  1801. var db = IDBFS.dbs[name];
  1802. if (db) {
  1803. return callback(null, db);
  1804. }
  1805. var req;
  1806. try {
  1807. req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
  1808. } catch (e) {
  1809. return callback(e);
  1810. }
  1811. if (!req) {
  1812. return callback("Unable to connect to IndexedDB");
  1813. }
  1814. req.onupgradeneeded = function(e) {
  1815. var db = e.target.result;
  1816. var transaction = e.target.transaction;
  1817. var fileStore;
  1818. if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
  1819. fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
  1820. } else {
  1821. fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
  1822. }
  1823. if (!fileStore.indexNames.contains("timestamp")) {
  1824. fileStore.createIndex("timestamp", "timestamp", {
  1825. unique: false
  1826. });
  1827. }
  1828. };
  1829. req.onsuccess = function() {
  1830. db = req.result;
  1831. IDBFS.dbs[name] = db;
  1832. callback(null, db);
  1833. };
  1834. req.onerror = function(e) {
  1835. callback(this.error);
  1836. e.preventDefault();
  1837. };
  1838. },
  1839. getLocalSet: function(mount, callback) {
  1840. var entries = {};
  1841. function isRealDir(p) {
  1842. return p !== "." && p !== "..";
  1843. }
  1844. function toAbsolute(root) {
  1845. return function(p) {
  1846. return PATH.join2(root, p);
  1847. };
  1848. }
  1849. var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
  1850. while (check.length) {
  1851. var path = check.pop();
  1852. var stat;
  1853. try {
  1854. stat = FS.stat(path);
  1855. } catch (e) {
  1856. return callback(e);
  1857. }
  1858. if (FS.isDir(stat.mode)) {
  1859. check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));
  1860. }
  1861. entries[path] = {
  1862. timestamp: stat.mtime
  1863. };
  1864. }
  1865. return callback(null, {
  1866. type: "local",
  1867. entries: entries
  1868. });
  1869. },
  1870. getRemoteSet: function(mount, callback) {
  1871. var entries = {};
  1872. IDBFS.getDB(mount.mountpoint, function(err, db) {
  1873. if (err) return callback(err);
  1874. try {
  1875. var transaction = db.transaction([ IDBFS.DB_STORE_NAME ], "readonly");
  1876. transaction.onerror = function(e) {
  1877. callback(this.error);
  1878. e.preventDefault();
  1879. };
  1880. var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
  1881. var index = store.index("timestamp");
  1882. index.openKeyCursor().onsuccess = function(event) {
  1883. var cursor = event.target.result;
  1884. if (!cursor) {
  1885. return callback(null, {
  1886. type: "remote",
  1887. db: db,
  1888. entries: entries
  1889. });
  1890. }
  1891. entries[cursor.primaryKey] = {
  1892. timestamp: cursor.key
  1893. };
  1894. cursor.continue();
  1895. };
  1896. } catch (e) {
  1897. return callback(e);
  1898. }
  1899. });
  1900. },
  1901. loadLocalEntry: function(path, callback) {
  1902. var stat, node;
  1903. try {
  1904. var lookup = FS.lookupPath(path);
  1905. node = lookup.node;
  1906. stat = FS.stat(path);
  1907. } catch (e) {
  1908. return callback(e);
  1909. }
  1910. if (FS.isDir(stat.mode)) {
  1911. return callback(null, {
  1912. timestamp: stat.mtime,
  1913. mode: stat.mode
  1914. });
  1915. } else if (FS.isFile(stat.mode)) {
  1916. node.contents = MEMFS.getFileDataAsTypedArray(node);
  1917. return callback(null, {
  1918. timestamp: stat.mtime,
  1919. mode: stat.mode,
  1920. contents: node.contents
  1921. });
  1922. } else {
  1923. return callback(new Error("node type not supported"));
  1924. }
  1925. },
  1926. storeLocalEntry: function(path, entry, callback) {
  1927. try {
  1928. if (FS.isDir(entry.mode)) {
  1929. FS.mkdir(path, entry.mode);
  1930. } else if (FS.isFile(entry.mode)) {
  1931. FS.writeFile(path, entry.contents, {
  1932. canOwn: true
  1933. });
  1934. } else {
  1935. return callback(new Error("node type not supported"));
  1936. }
  1937. FS.chmod(path, entry.mode);
  1938. FS.utime(path, entry.timestamp, entry.timestamp);
  1939. } catch (e) {
  1940. return callback(e);
  1941. }
  1942. callback(null);
  1943. },
  1944. removeLocalEntry: function(path, callback) {
  1945. try {
  1946. var lookup = FS.lookupPath(path);
  1947. var stat = FS.stat(path);
  1948. if (FS.isDir(stat.mode)) {
  1949. FS.rmdir(path);
  1950. } else if (FS.isFile(stat.mode)) {
  1951. FS.unlink(path);
  1952. }
  1953. } catch (e) {
  1954. return callback(e);
  1955. }
  1956. callback(null);
  1957. },
  1958. loadRemoteEntry: function(store, path, callback) {
  1959. var req = store.get(path);
  1960. req.onsuccess = function(event) {
  1961. callback(null, event.target.result);
  1962. };
  1963. req.onerror = function(e) {
  1964. callback(this.error);
  1965. e.preventDefault();
  1966. };
  1967. },
  1968. storeRemoteEntry: function(store, path, entry, callback) {
  1969. var req = store.put(entry, path);
  1970. req.onsuccess = function() {
  1971. callback(null);
  1972. };
  1973. req.onerror = function(e) {
  1974. callback(this.error);
  1975. e.preventDefault();
  1976. };
  1977. },
  1978. removeRemoteEntry: function(store, path, callback) {
  1979. var req = store.delete(path);
  1980. req.onsuccess = function() {
  1981. callback(null);
  1982. };
  1983. req.onerror = function(e) {
  1984. callback(this.error);
  1985. e.preventDefault();
  1986. };
  1987. },
  1988. reconcile: function(src, dst, callback) {
  1989. var total = 0;
  1990. var create = [];
  1991. Object.keys(src.entries).forEach(function(key) {
  1992. var e = src.entries[key];
  1993. var e2 = dst.entries[key];
  1994. if (!e2 || e.timestamp > e2.timestamp) {
  1995. create.push(key);
  1996. total++;
  1997. }
  1998. });
  1999. var remove = [];
  2000. Object.keys(dst.entries).forEach(function(key) {
  2001. var e = dst.entries[key];
  2002. var e2 = src.entries[key];
  2003. if (!e2) {
  2004. remove.push(key);
  2005. total++;
  2006. }
  2007. });
  2008. if (!total) {
  2009. return callback(null);
  2010. }
  2011. var errored = false;
  2012. var completed = 0;
  2013. var db = src.type === "remote" ? src.db : dst.db;
  2014. var transaction = db.transaction([ IDBFS.DB_STORE_NAME ], "readwrite");
  2015. var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
  2016. function done(err) {
  2017. if (err) {
  2018. if (!done.errored) {
  2019. done.errored = true;
  2020. return callback(err);
  2021. }
  2022. return;
  2023. }
  2024. if (++completed >= total) {
  2025. return callback(null);
  2026. }
  2027. }
  2028. transaction.onerror = function(e) {
  2029. done(this.error);
  2030. e.preventDefault();
  2031. };
  2032. create.sort().forEach(function(path) {
  2033. if (dst.type === "local") {
  2034. IDBFS.loadRemoteEntry(store, path, function(err, entry) {
  2035. if (err) return done(err);
  2036. IDBFS.storeLocalEntry(path, entry, done);
  2037. });
  2038. } else {
  2039. IDBFS.loadLocalEntry(path, function(err, entry) {
  2040. if (err) return done(err);
  2041. IDBFS.storeRemoteEntry(store, path, entry, done);
  2042. });
  2043. }
  2044. });
  2045. remove.sort().reverse().forEach(function(path) {
  2046. if (dst.type === "local") {
  2047. IDBFS.removeLocalEntry(path, done);
  2048. } else {
  2049. IDBFS.removeRemoteEntry(store, path, done);
  2050. }
  2051. });
  2052. }
  2053. };
  2054. var NODEFS = {
  2055. isWindows: false,
  2056. staticInit: function() {
  2057. NODEFS.isWindows = !!process.platform.match(/^win/);
  2058. var flags = process["binding"]("constants");
  2059. if (flags["fs"]) {
  2060. flags = flags["fs"];
  2061. }
  2062. NODEFS.flagsForNodeMap = {
  2063. 1024: flags["O_APPEND"],
  2064. 64: flags["O_CREAT"],
  2065. 128: flags["O_EXCL"],
  2066. 0: flags["O_RDONLY"],
  2067. 2: flags["O_RDWR"],
  2068. 4096: flags["O_SYNC"],
  2069. 512: flags["O_TRUNC"],
  2070. 1: flags["O_WRONLY"]
  2071. };
  2072. },
  2073. bufferFrom: function(arrayBuffer) {
  2074. return Buffer.alloc ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer);
  2075. },
  2076. mount: function(mount) {
  2077. assert(ENVIRONMENT_IS_NODE);
  2078. return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0);
  2079. },
  2080. createNode: function(parent, name, mode, dev) {
  2081. if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
  2082. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  2083. }
  2084. var node = FS.createNode(parent, name, mode);
  2085. node.node_ops = NODEFS.node_ops;
  2086. node.stream_ops = NODEFS.stream_ops;
  2087. return node;
  2088. },
  2089. getMode: function(path) {
  2090. var stat;
  2091. try {
  2092. stat = fs.lstatSync(path);
  2093. if (NODEFS.isWindows) {
  2094. stat.mode = stat.mode | (stat.mode & 292) >> 2;
  2095. }
  2096. } catch (e) {
  2097. if (!e.code) throw e;
  2098. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2099. }
  2100. return stat.mode;
  2101. },
  2102. realPath: function(node) {
  2103. var parts = [];
  2104. while (node.parent !== node) {
  2105. parts.push(node.name);
  2106. node = node.parent;
  2107. }
  2108. parts.push(node.mount.opts.root);
  2109. parts.reverse();
  2110. return PATH.join.apply(null, parts);
  2111. },
  2112. flagsForNode: function(flags) {
  2113. flags &= ~2097152;
  2114. flags &= ~2048;
  2115. flags &= ~32768;
  2116. flags &= ~524288;
  2117. var newFlags = 0;
  2118. for (var k in NODEFS.flagsForNodeMap) {
  2119. if (flags & k) {
  2120. newFlags |= NODEFS.flagsForNodeMap[k];
  2121. flags ^= k;
  2122. }
  2123. }
  2124. if (!flags) {
  2125. return newFlags;
  2126. } else {
  2127. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  2128. }
  2129. },
  2130. node_ops: {
  2131. getattr: function(node) {
  2132. var path = NODEFS.realPath(node);
  2133. var stat;
  2134. try {
  2135. stat = fs.lstatSync(path);
  2136. } catch (e) {
  2137. if (!e.code) throw e;
  2138. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2139. }
  2140. if (NODEFS.isWindows && !stat.blksize) {
  2141. stat.blksize = 4096;
  2142. }
  2143. if (NODEFS.isWindows && !stat.blocks) {
  2144. stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0;
  2145. }
  2146. return {
  2147. dev: stat.dev,
  2148. ino: stat.ino,
  2149. mode: stat.mode,
  2150. nlink: stat.nlink,
  2151. uid: stat.uid,
  2152. gid: stat.gid,
  2153. rdev: stat.rdev,
  2154. size: stat.size,
  2155. atime: stat.atime,
  2156. mtime: stat.mtime,
  2157. ctime: stat.ctime,
  2158. blksize: stat.blksize,
  2159. blocks: stat.blocks
  2160. };
  2161. },
  2162. setattr: function(node, attr) {
  2163. var path = NODEFS.realPath(node);
  2164. try {
  2165. if (attr.mode !== undefined) {
  2166. fs.chmodSync(path, attr.mode);
  2167. node.mode = attr.mode;
  2168. }
  2169. if (attr.timestamp !== undefined) {
  2170. var date = new Date(attr.timestamp);
  2171. fs.utimesSync(path, date, date);
  2172. }
  2173. if (attr.size !== undefined) {
  2174. fs.truncateSync(path, attr.size);
  2175. }
  2176. } catch (e) {
  2177. if (!e.code) throw e;
  2178. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2179. }
  2180. },
  2181. lookup: function(parent, name) {
  2182. var path = PATH.join2(NODEFS.realPath(parent), name);
  2183. var mode = NODEFS.getMode(path);
  2184. return NODEFS.createNode(parent, name, mode);
  2185. },
  2186. mknod: function(parent, name, mode, dev) {
  2187. var node = NODEFS.createNode(parent, name, mode, dev);
  2188. var path = NODEFS.realPath(node);
  2189. try {
  2190. if (FS.isDir(node.mode)) {
  2191. fs.mkdirSync(path, node.mode);
  2192. } else {
  2193. fs.writeFileSync(path, "", {
  2194. mode: node.mode
  2195. });
  2196. }
  2197. } catch (e) {
  2198. if (!e.code) throw e;
  2199. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2200. }
  2201. return node;
  2202. },
  2203. rename: function(oldNode, newDir, newName) {
  2204. var oldPath = NODEFS.realPath(oldNode);
  2205. var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
  2206. try {
  2207. fs.renameSync(oldPath, newPath);
  2208. } catch (e) {
  2209. if (!e.code) throw e;
  2210. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2211. }
  2212. },
  2213. unlink: function(parent, name) {
  2214. var path = PATH.join2(NODEFS.realPath(parent), name);
  2215. try {
  2216. fs.unlinkSync(path);
  2217. } catch (e) {
  2218. if (!e.code) throw e;
  2219. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2220. }
  2221. },
  2222. rmdir: function(parent, name) {
  2223. var path = PATH.join2(NODEFS.realPath(parent), name);
  2224. try {
  2225. fs.rmdirSync(path);
  2226. } catch (e) {
  2227. if (!e.code) throw e;
  2228. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2229. }
  2230. },
  2231. readdir: function(node) {
  2232. var path = NODEFS.realPath(node);
  2233. try {
  2234. return fs.readdirSync(path);
  2235. } catch (e) {
  2236. if (!e.code) throw e;
  2237. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2238. }
  2239. },
  2240. symlink: function(parent, newName, oldPath) {
  2241. var newPath = PATH.join2(NODEFS.realPath(parent), newName);
  2242. try {
  2243. fs.symlinkSync(oldPath, newPath);
  2244. } catch (e) {
  2245. if (!e.code) throw e;
  2246. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2247. }
  2248. },
  2249. readlink: function(node) {
  2250. var path = NODEFS.realPath(node);
  2251. try {
  2252. path = fs.readlinkSync(path);
  2253. path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path);
  2254. return path;
  2255. } catch (e) {
  2256. if (!e.code) throw e;
  2257. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2258. }
  2259. }
  2260. },
  2261. stream_ops: {
  2262. open: function(stream) {
  2263. var path = NODEFS.realPath(stream.node);
  2264. try {
  2265. if (FS.isFile(stream.node.mode)) {
  2266. stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags));
  2267. }
  2268. } catch (e) {
  2269. if (!e.code) throw e;
  2270. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2271. }
  2272. },
  2273. close: function(stream) {
  2274. try {
  2275. if (FS.isFile(stream.node.mode) && stream.nfd) {
  2276. fs.closeSync(stream.nfd);
  2277. }
  2278. } catch (e) {
  2279. if (!e.code) throw e;
  2280. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2281. }
  2282. },
  2283. read: function(stream, buffer, offset, length, position) {
  2284. if (length === 0) return 0;
  2285. try {
  2286. return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position);
  2287. } catch (e) {
  2288. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2289. }
  2290. },
  2291. write: function(stream, buffer, offset, length, position) {
  2292. try {
  2293. return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position);
  2294. } catch (e) {
  2295. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2296. }
  2297. },
  2298. llseek: function(stream, offset, whence) {
  2299. var position = offset;
  2300. if (whence === 1) {
  2301. position += stream.position;
  2302. } else if (whence === 2) {
  2303. if (FS.isFile(stream.node.mode)) {
  2304. try {
  2305. var stat = fs.fstatSync(stream.nfd);
  2306. position += stat.size;
  2307. } catch (e) {
  2308. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2309. }
  2310. }
  2311. }
  2312. if (position < 0) {
  2313. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  2314. }
  2315. return position;
  2316. }
  2317. }
  2318. };
  2319. var WORKERFS = {
  2320. DIR_MODE: 16895,
  2321. FILE_MODE: 33279,
  2322. reader: null,
  2323. mount: function(mount) {
  2324. assert(ENVIRONMENT_IS_WORKER);
  2325. if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
  2326. var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0);
  2327. var createdParents = {};
  2328. function ensureParent(path) {
  2329. var parts = path.split("/");
  2330. var parent = root;
  2331. for (var i = 0; i < parts.length - 1; i++) {
  2332. var curr = parts.slice(0, i + 1).join("/");
  2333. if (!createdParents[curr]) {
  2334. createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0);
  2335. }
  2336. parent = createdParents[curr];
  2337. }
  2338. return parent;
  2339. }
  2340. function base(path) {
  2341. var parts = path.split("/");
  2342. return parts[parts.length - 1];
  2343. }
  2344. Array.prototype.forEach.call(mount.opts["files"] || [], function(file) {
  2345. WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate);
  2346. });
  2347. (mount.opts["blobs"] || []).forEach(function(obj) {
  2348. WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]);
  2349. });
  2350. (mount.opts["packages"] || []).forEach(function(pack) {
  2351. pack["metadata"].files.forEach(function(file) {
  2352. var name = file.filename.substr(1);
  2353. WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end));
  2354. });
  2355. });
  2356. return root;
  2357. },
  2358. createNode: function(parent, name, mode, dev, contents, mtime) {
  2359. var node = FS.createNode(parent, name, mode);
  2360. node.mode = mode;
  2361. node.node_ops = WORKERFS.node_ops;
  2362. node.stream_ops = WORKERFS.stream_ops;
  2363. node.timestamp = (mtime || new Date()).getTime();
  2364. assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
  2365. if (mode === WORKERFS.FILE_MODE) {
  2366. node.size = contents.size;
  2367. node.contents = contents;
  2368. } else {
  2369. node.size = 4096;
  2370. node.contents = {};
  2371. }
  2372. if (parent) {
  2373. parent.contents[name] = node;
  2374. }
  2375. return node;
  2376. },
  2377. node_ops: {
  2378. getattr: function(node) {
  2379. return {
  2380. dev: 1,
  2381. ino: undefined,
  2382. mode: node.mode,
  2383. nlink: 1,
  2384. uid: 0,
  2385. gid: 0,
  2386. rdev: undefined,
  2387. size: node.size,
  2388. atime: new Date(node.timestamp),
  2389. mtime: new Date(node.timestamp),
  2390. ctime: new Date(node.timestamp),
  2391. blksize: 4096,
  2392. blocks: Math.ceil(node.size / 4096)
  2393. };
  2394. },
  2395. setattr: function(node, attr) {
  2396. if (attr.mode !== undefined) {
  2397. node.mode = attr.mode;
  2398. }
  2399. if (attr.timestamp !== undefined) {
  2400. node.timestamp = attr.timestamp;
  2401. }
  2402. },
  2403. lookup: function(parent, name) {
  2404. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  2405. },
  2406. mknod: function(parent, name, mode, dev) {
  2407. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  2408. },
  2409. rename: function(oldNode, newDir, newName) {
  2410. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  2411. },
  2412. unlink: function(parent, name) {
  2413. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  2414. },
  2415. rmdir: function(parent, name) {
  2416. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  2417. },
  2418. readdir: function(node) {
  2419. var entries = [ ".", ".." ];
  2420. for (var key in node.contents) {
  2421. if (!node.contents.hasOwnProperty(key)) {
  2422. continue;
  2423. }
  2424. entries.push(key);
  2425. }
  2426. return entries;
  2427. },
  2428. symlink: function(parent, newName, oldPath) {
  2429. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  2430. },
  2431. readlink: function(node) {
  2432. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  2433. }
  2434. },
  2435. stream_ops: {
  2436. read: function(stream, buffer, offset, length, position) {
  2437. if (position >= stream.node.size) return 0;
  2438. var chunk = stream.node.contents.slice(position, position + length);
  2439. var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
  2440. buffer.set(new Uint8Array(ab), offset);
  2441. return chunk.size;
  2442. },
  2443. write: function(stream, buffer, offset, length, position) {
  2444. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  2445. },
  2446. llseek: function(stream, offset, whence) {
  2447. var position = offset;
  2448. if (whence === 1) {
  2449. position += stream.position;
  2450. } else if (whence === 2) {
  2451. if (FS.isFile(stream.node.mode)) {
  2452. position += stream.node.size;
  2453. }
  2454. }
  2455. if (position < 0) {
  2456. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  2457. }
  2458. return position;
  2459. }
  2460. }
  2461. };
  2462. var FS = {
  2463. root: null,
  2464. mounts: [],
  2465. devices: {},
  2466. streams: [],
  2467. nextInode: 1,
  2468. nameTable: null,
  2469. currentPath: "/",
  2470. initialized: false,
  2471. ignorePermissions: true,
  2472. trackingDelegate: {},
  2473. tracking: {
  2474. openFlags: {
  2475. READ: 1,
  2476. WRITE: 2
  2477. }
  2478. },
  2479. ErrnoError: null,
  2480. genericErrors: {},
  2481. filesystems: null,
  2482. syncFSRequests: 0,
  2483. handleFSError: function(e) {
  2484. if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace();
  2485. return ___setErrNo(e.errno);
  2486. },
  2487. lookupPath: function(path, opts) {
  2488. path = PATH.resolve(FS.cwd(), path);
  2489. opts = opts || {};
  2490. if (!path) return {
  2491. path: "",
  2492. node: null
  2493. };
  2494. var defaults = {
  2495. follow_mount: true,
  2496. recurse_count: 0
  2497. };
  2498. for (var key in defaults) {
  2499. if (opts[key] === undefined) {
  2500. opts[key] = defaults[key];
  2501. }
  2502. }
  2503. if (opts.recurse_count > 8) {
  2504. throw new FS.ErrnoError(40);
  2505. }
  2506. var parts = PATH.normalizeArray(path.split("/").filter(function(p) {
  2507. return !!p;
  2508. }), false);
  2509. var current = FS.root;
  2510. var current_path = "/";
  2511. for (var i = 0; i < parts.length; i++) {
  2512. var islast = i === parts.length - 1;
  2513. if (islast && opts.parent) {
  2514. break;
  2515. }
  2516. current = FS.lookupNode(current, parts[i]);
  2517. current_path = PATH.join2(current_path, parts[i]);
  2518. if (FS.isMountpoint(current)) {
  2519. if (!islast || islast && opts.follow_mount) {
  2520. current = current.mounted.root;
  2521. }
  2522. }
  2523. if (!islast || opts.follow) {
  2524. var count = 0;
  2525. while (FS.isLink(current.mode)) {
  2526. var link = FS.readlink(current_path);
  2527. current_path = PATH.resolve(PATH.dirname(current_path), link);
  2528. var lookup = FS.lookupPath(current_path, {
  2529. recurse_count: opts.recurse_count
  2530. });
  2531. current = lookup.node;
  2532. if (count++ > 40) {
  2533. throw new FS.ErrnoError(40);
  2534. }
  2535. }
  2536. }
  2537. }
  2538. return {
  2539. path: current_path,
  2540. node: current
  2541. };
  2542. },
  2543. getPath: function(node) {
  2544. var path;
  2545. while (true) {
  2546. if (FS.isRoot(node)) {
  2547. var mount = node.mount.mountpoint;
  2548. if (!path) return mount;
  2549. return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path;
  2550. }
  2551. path = path ? node.name + "/" + path : node.name;
  2552. node = node.parent;
  2553. }
  2554. },
  2555. hashName: function(parentid, name) {
  2556. var hash = 0;
  2557. for (var i = 0; i < name.length; i++) {
  2558. hash = (hash << 5) - hash + name.charCodeAt(i) | 0;
  2559. }
  2560. return (parentid + hash >>> 0) % FS.nameTable.length;
  2561. },
  2562. hashAddNode: function(node) {
  2563. var hash = FS.hashName(node.parent.id, node.name);
  2564. node.name_next = FS.nameTable[hash];
  2565. FS.nameTable[hash] = node;
  2566. },
  2567. hashRemoveNode: function(node) {
  2568. var hash = FS.hashName(node.parent.id, node.name);
  2569. if (FS.nameTable[hash] === node) {
  2570. FS.nameTable[hash] = node.name_next;
  2571. } else {
  2572. var current = FS.nameTable[hash];
  2573. while (current) {
  2574. if (current.name_next === node) {
  2575. current.name_next = node.name_next;
  2576. break;
  2577. }
  2578. current = current.name_next;
  2579. }
  2580. }
  2581. },
  2582. lookupNode: function(parent, name) {
  2583. var err = FS.mayLookup(parent);
  2584. if (err) {
  2585. throw new FS.ErrnoError(err, parent);
  2586. }
  2587. var hash = FS.hashName(parent.id, name);
  2588. for (var node = FS.nameTable[hash]; node; node = node.name_next) {
  2589. var nodeName = node.name;
  2590. if (node.parent.id === parent.id && nodeName === name) {
  2591. return node;
  2592. }
  2593. }
  2594. return FS.lookup(parent, name);
  2595. },
  2596. createNode: function(parent, name, mode, rdev) {
  2597. if (!FS.FSNode) {
  2598. FS.FSNode = function(parent, name, mode, rdev) {
  2599. if (!parent) {
  2600. parent = this;
  2601. }
  2602. this.parent = parent;
  2603. this.mount = parent.mount;
  2604. this.mounted = null;
  2605. this.id = FS.nextInode++;
  2606. this.name = name;
  2607. this.mode = mode;
  2608. this.node_ops = {};
  2609. this.stream_ops = {};
  2610. this.rdev = rdev;
  2611. };
  2612. FS.FSNode.prototype = {};
  2613. var readMode = 292 | 73;
  2614. var writeMode = 146;
  2615. Object.defineProperties(FS.FSNode.prototype, {
  2616. read: {
  2617. get: function() {
  2618. return (this.mode & readMode) === readMode;
  2619. },
  2620. set: function(val) {
  2621. val ? this.mode |= readMode : this.mode &= ~readMode;
  2622. }
  2623. },
  2624. write: {
  2625. get: function() {
  2626. return (this.mode & writeMode) === writeMode;
  2627. },
  2628. set: function(val) {
  2629. val ? this.mode |= writeMode : this.mode &= ~writeMode;
  2630. }
  2631. },
  2632. isFolder: {
  2633. get: function() {
  2634. return FS.isDir(this.mode);
  2635. }
  2636. },
  2637. isDevice: {
  2638. get: function() {
  2639. return FS.isChrdev(this.mode);
  2640. }
  2641. }
  2642. });
  2643. }
  2644. var node = new FS.FSNode(parent, name, mode, rdev);
  2645. FS.hashAddNode(node);
  2646. return node;
  2647. },
  2648. destroyNode: function(node) {
  2649. FS.hashRemoveNode(node);
  2650. },
  2651. isRoot: function(node) {
  2652. return node === node.parent;
  2653. },
  2654. isMountpoint: function(node) {
  2655. return !!node.mounted;
  2656. },
  2657. isFile: function(mode) {
  2658. return (mode & 61440) === 32768;
  2659. },
  2660. isDir: function(mode) {
  2661. return (mode & 61440) === 16384;
  2662. },
  2663. isLink: function(mode) {
  2664. return (mode & 61440) === 40960;
  2665. },
  2666. isChrdev: function(mode) {
  2667. return (mode & 61440) === 8192;
  2668. },
  2669. isBlkdev: function(mode) {
  2670. return (mode & 61440) === 24576;
  2671. },
  2672. isFIFO: function(mode) {
  2673. return (mode & 61440) === 4096;
  2674. },
  2675. isSocket: function(mode) {
  2676. return (mode & 49152) === 49152;
  2677. },
  2678. flagModes: {
  2679. "r": 0,
  2680. "rs": 1052672,
  2681. "r+": 2,
  2682. "w": 577,
  2683. "wx": 705,
  2684. "xw": 705,
  2685. "w+": 578,
  2686. "wx+": 706,
  2687. "xw+": 706,
  2688. "a": 1089,
  2689. "ax": 1217,
  2690. "xa": 1217,
  2691. "a+": 1090,
  2692. "ax+": 1218,
  2693. "xa+": 1218
  2694. },
  2695. modeStringToFlags: function(str) {
  2696. var flags = FS.flagModes[str];
  2697. if (typeof flags === "undefined") {
  2698. throw new Error("Unknown file open mode: " + str);
  2699. }
  2700. return flags;
  2701. },
  2702. flagsToPermissionString: function(flag) {
  2703. var perms = [ "r", "w", "rw" ][flag & 3];
  2704. if (flag & 512) {
  2705. perms += "w";
  2706. }
  2707. return perms;
  2708. },
  2709. nodePermissions: function(node, perms) {
  2710. if (FS.ignorePermissions) {
  2711. return 0;
  2712. }
  2713. if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
  2714. return 13;
  2715. } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
  2716. return 13;
  2717. } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
  2718. return 13;
  2719. }
  2720. return 0;
  2721. },
  2722. mayLookup: function(dir) {
  2723. var err = FS.nodePermissions(dir, "x");
  2724. if (err) return err;
  2725. if (!dir.node_ops.lookup) return 13;
  2726. return 0;
  2727. },
  2728. mayCreate: function(dir, name) {
  2729. try {
  2730. var node = FS.lookupNode(dir, name);
  2731. return 17;
  2732. } catch (e) {}
  2733. return FS.nodePermissions(dir, "wx");
  2734. },
  2735. mayDelete: function(dir, name, isdir) {
  2736. var node;
  2737. try {
  2738. node = FS.lookupNode(dir, name);
  2739. } catch (e) {
  2740. return e.errno;
  2741. }
  2742. var err = FS.nodePermissions(dir, "wx");
  2743. if (err) {
  2744. return err;
  2745. }
  2746. if (isdir) {
  2747. if (!FS.isDir(node.mode)) {
  2748. return 20;
  2749. }
  2750. if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
  2751. return 16;
  2752. }
  2753. } else {
  2754. if (FS.isDir(node.mode)) {
  2755. return 21;
  2756. }
  2757. }
  2758. return 0;
  2759. },
  2760. mayOpen: function(node, flags) {
  2761. if (!node) {
  2762. return 2;
  2763. }
  2764. if (FS.isLink(node.mode)) {
  2765. return 40;
  2766. } else if (FS.isDir(node.mode)) {
  2767. if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) {
  2768. return 21;
  2769. }
  2770. }
  2771. return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
  2772. },
  2773. MAX_OPEN_FDS: 4096,
  2774. nextfd: function(fd_start, fd_end) {
  2775. fd_start = fd_start || 0;
  2776. fd_end = fd_end || FS.MAX_OPEN_FDS;
  2777. for (var fd = fd_start; fd <= fd_end; fd++) {
  2778. if (!FS.streams[fd]) {
  2779. return fd;
  2780. }
  2781. }
  2782. throw new FS.ErrnoError(24);
  2783. },
  2784. getStream: function(fd) {
  2785. return FS.streams[fd];
  2786. },
  2787. createStream: function(stream, fd_start, fd_end) {
  2788. if (!FS.FSStream) {
  2789. FS.FSStream = function() {};
  2790. FS.FSStream.prototype = {};
  2791. Object.defineProperties(FS.FSStream.prototype, {
  2792. object: {
  2793. get: function() {
  2794. return this.node;
  2795. },
  2796. set: function(val) {
  2797. this.node = val;
  2798. }
  2799. },
  2800. isRead: {
  2801. get: function() {
  2802. return (this.flags & 2097155) !== 1;
  2803. }
  2804. },
  2805. isWrite: {
  2806. get: function() {
  2807. return (this.flags & 2097155) !== 0;
  2808. }
  2809. },
  2810. isAppend: {
  2811. get: function() {
  2812. return this.flags & 1024;
  2813. }
  2814. }
  2815. });
  2816. }
  2817. var newStream = new FS.FSStream();
  2818. for (var p in stream) {
  2819. newStream[p] = stream[p];
  2820. }
  2821. stream = newStream;
  2822. var fd = FS.nextfd(fd_start, fd_end);
  2823. stream.fd = fd;
  2824. FS.streams[fd] = stream;
  2825. return stream;
  2826. },
  2827. closeStream: function(fd) {
  2828. FS.streams[fd] = null;
  2829. },
  2830. chrdev_stream_ops: {
  2831. open: function(stream) {
  2832. var device = FS.getDevice(stream.node.rdev);
  2833. stream.stream_ops = device.stream_ops;
  2834. if (stream.stream_ops.open) {
  2835. stream.stream_ops.open(stream);
  2836. }
  2837. },
  2838. llseek: function() {
  2839. throw new FS.ErrnoError(29);
  2840. }
  2841. },
  2842. major: function(dev) {
  2843. return dev >> 8;
  2844. },
  2845. minor: function(dev) {
  2846. return dev & 255;
  2847. },
  2848. makedev: function(ma, mi) {
  2849. return ma << 8 | mi;
  2850. },
  2851. registerDevice: function(dev, ops) {
  2852. FS.devices[dev] = {
  2853. stream_ops: ops
  2854. };
  2855. },
  2856. getDevice: function(dev) {
  2857. return FS.devices[dev];
  2858. },
  2859. getMounts: function(mount) {
  2860. var mounts = [];
  2861. var check = [ mount ];
  2862. while (check.length) {
  2863. var m = check.pop();
  2864. mounts.push(m);
  2865. check.push.apply(check, m.mounts);
  2866. }
  2867. return mounts;
  2868. },
  2869. syncfs: function(populate, callback) {
  2870. if (typeof populate === "function") {
  2871. callback = populate;
  2872. populate = false;
  2873. }
  2874. FS.syncFSRequests++;
  2875. if (FS.syncFSRequests > 1) {
  2876. console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work");
  2877. }
  2878. var mounts = FS.getMounts(FS.root.mount);
  2879. var completed = 0;
  2880. function doCallback(err) {
  2881. assert(FS.syncFSRequests > 0);
  2882. FS.syncFSRequests--;
  2883. return callback(err);
  2884. }
  2885. function done(err) {
  2886. if (err) {
  2887. if (!done.errored) {
  2888. done.errored = true;
  2889. return doCallback(err);
  2890. }
  2891. return;
  2892. }
  2893. if (++completed >= mounts.length) {
  2894. doCallback(null);
  2895. }
  2896. }
  2897. mounts.forEach(function(mount) {
  2898. if (!mount.type.syncfs) {
  2899. return done(null);
  2900. }
  2901. mount.type.syncfs(mount, populate, done);
  2902. });
  2903. },
  2904. mount: function(type, opts, mountpoint) {
  2905. var root = mountpoint === "/";
  2906. var pseudo = !mountpoint;
  2907. var node;
  2908. if (root && FS.root) {
  2909. throw new FS.ErrnoError(16);
  2910. } else if (!root && !pseudo) {
  2911. var lookup = FS.lookupPath(mountpoint, {
  2912. follow_mount: false
  2913. });
  2914. mountpoint = lookup.path;
  2915. node = lookup.node;
  2916. if (FS.isMountpoint(node)) {
  2917. throw new FS.ErrnoError(16);
  2918. }
  2919. if (!FS.isDir(node.mode)) {
  2920. throw new FS.ErrnoError(20);
  2921. }
  2922. }
  2923. var mount = {
  2924. type: type,
  2925. opts: opts,
  2926. mountpoint: mountpoint,
  2927. mounts: []
  2928. };
  2929. var mountRoot = type.mount(mount);
  2930. mountRoot.mount = mount;
  2931. mount.root = mountRoot;
  2932. if (root) {
  2933. FS.root = mountRoot;
  2934. } else if (node) {
  2935. node.mounted = mount;
  2936. if (node.mount) {
  2937. node.mount.mounts.push(mount);
  2938. }
  2939. }
  2940. return mountRoot;
  2941. },
  2942. unmount: function(mountpoint) {
  2943. var lookup = FS.lookupPath(mountpoint, {
  2944. follow_mount: false
  2945. });
  2946. if (!FS.isMountpoint(lookup.node)) {
  2947. throw new FS.ErrnoError(22);
  2948. }
  2949. var node = lookup.node;
  2950. var mount = node.mounted;
  2951. var mounts = FS.getMounts(mount);
  2952. Object.keys(FS.nameTable).forEach(function(hash) {
  2953. var current = FS.nameTable[hash];
  2954. while (current) {
  2955. var next = current.name_next;
  2956. if (mounts.indexOf(current.mount) !== -1) {
  2957. FS.destroyNode(current);
  2958. }
  2959. current = next;
  2960. }
  2961. });
  2962. node.mounted = null;
  2963. var idx = node.mount.mounts.indexOf(mount);
  2964. assert(idx !== -1);
  2965. node.mount.mounts.splice(idx, 1);
  2966. },
  2967. lookup: function(parent, name) {
  2968. return parent.node_ops.lookup(parent, name);
  2969. },
  2970. mknod: function(path, mode, dev) {
  2971. var lookup = FS.lookupPath(path, {
  2972. parent: true
  2973. });
  2974. var parent = lookup.node;
  2975. var name = PATH.basename(path);
  2976. if (!name || name === "." || name === "..") {
  2977. throw new FS.ErrnoError(22);
  2978. }
  2979. var err = FS.mayCreate(parent, name);
  2980. if (err) {
  2981. throw new FS.ErrnoError(err);
  2982. }
  2983. if (!parent.node_ops.mknod) {
  2984. throw new FS.ErrnoError(1);
  2985. }
  2986. return parent.node_ops.mknod(parent, name, mode, dev);
  2987. },
  2988. create: function(path, mode) {
  2989. mode = mode !== undefined ? mode : 438;
  2990. mode &= 4095;
  2991. mode |= 32768;
  2992. return FS.mknod(path, mode, 0);
  2993. },
  2994. mkdir: function(path, mode) {
  2995. mode = mode !== undefined ? mode : 511;
  2996. mode &= 511 | 512;
  2997. mode |= 16384;
  2998. return FS.mknod(path, mode, 0);
  2999. },
  3000. mkdirTree: function(path, mode) {
  3001. var dirs = path.split("/");
  3002. var d = "";
  3003. for (var i = 0; i < dirs.length; ++i) {
  3004. if (!dirs[i]) continue;
  3005. d += "/" + dirs[i];
  3006. try {
  3007. FS.mkdir(d, mode);
  3008. } catch (e) {
  3009. if (e.errno != 17) throw e;
  3010. }
  3011. }
  3012. },
  3013. mkdev: function(path, mode, dev) {
  3014. if (typeof dev === "undefined") {
  3015. dev = mode;
  3016. mode = 438;
  3017. }
  3018. mode |= 8192;
  3019. return FS.mknod(path, mode, dev);
  3020. },
  3021. symlink: function(oldpath, newpath) {
  3022. if (!PATH.resolve(oldpath)) {
  3023. throw new FS.ErrnoError(2);
  3024. }
  3025. var lookup = FS.lookupPath(newpath, {
  3026. parent: true
  3027. });
  3028. var parent = lookup.node;
  3029. if (!parent) {
  3030. throw new FS.ErrnoError(2);
  3031. }
  3032. var newname = PATH.basename(newpath);
  3033. var err = FS.mayCreate(parent, newname);
  3034. if (err) {
  3035. throw new FS.ErrnoError(err);
  3036. }
  3037. if (!parent.node_ops.symlink) {
  3038. throw new FS.ErrnoError(1);
  3039. }
  3040. return parent.node_ops.symlink(parent, newname, oldpath);
  3041. },
  3042. rename: function(old_path, new_path) {
  3043. var old_dirname = PATH.dirname(old_path);
  3044. var new_dirname = PATH.dirname(new_path);
  3045. var old_name = PATH.basename(old_path);
  3046. var new_name = PATH.basename(new_path);
  3047. var lookup, old_dir, new_dir;
  3048. try {
  3049. lookup = FS.lookupPath(old_path, {
  3050. parent: true
  3051. });
  3052. old_dir = lookup.node;
  3053. lookup = FS.lookupPath(new_path, {
  3054. parent: true
  3055. });
  3056. new_dir = lookup.node;
  3057. } catch (e) {
  3058. throw new FS.ErrnoError(16);
  3059. }
  3060. if (!old_dir || !new_dir) throw new FS.ErrnoError(2);
  3061. if (old_dir.mount !== new_dir.mount) {
  3062. throw new FS.ErrnoError(18);
  3063. }
  3064. var old_node = FS.lookupNode(old_dir, old_name);
  3065. var relative = PATH.relative(old_path, new_dirname);
  3066. if (relative.charAt(0) !== ".") {
  3067. throw new FS.ErrnoError(22);
  3068. }
  3069. relative = PATH.relative(new_path, old_dirname);
  3070. if (relative.charAt(0) !== ".") {
  3071. throw new FS.ErrnoError(39);
  3072. }
  3073. var new_node;
  3074. try {
  3075. new_node = FS.lookupNode(new_dir, new_name);
  3076. } catch (e) {}
  3077. if (old_node === new_node) {
  3078. return;
  3079. }
  3080. var isdir = FS.isDir(old_node.mode);
  3081. var err = FS.mayDelete(old_dir, old_name, isdir);
  3082. if (err) {
  3083. throw new FS.ErrnoError(err);
  3084. }
  3085. err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);
  3086. if (err) {
  3087. throw new FS.ErrnoError(err);
  3088. }
  3089. if (!old_dir.node_ops.rename) {
  3090. throw new FS.ErrnoError(1);
  3091. }
  3092. if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {
  3093. throw new FS.ErrnoError(16);
  3094. }
  3095. if (new_dir !== old_dir) {
  3096. err = FS.nodePermissions(old_dir, "w");
  3097. if (err) {
  3098. throw new FS.ErrnoError(err);
  3099. }
  3100. }
  3101. try {
  3102. if (FS.trackingDelegate["willMovePath"]) {
  3103. FS.trackingDelegate["willMovePath"](old_path, new_path);
  3104. }
  3105. } catch (e) {
  3106. console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
  3107. }
  3108. FS.hashRemoveNode(old_node);
  3109. try {
  3110. old_dir.node_ops.rename(old_node, new_dir, new_name);
  3111. } catch (e) {
  3112. throw e;
  3113. } finally {
  3114. FS.hashAddNode(old_node);
  3115. }
  3116. try {
  3117. if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path);
  3118. } catch (e) {
  3119. console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
  3120. }
  3121. },
  3122. rmdir: function(path) {
  3123. var lookup = FS.lookupPath(path, {
  3124. parent: true
  3125. });
  3126. var parent = lookup.node;
  3127. var name = PATH.basename(path);
  3128. var node = FS.lookupNode(parent, name);
  3129. var err = FS.mayDelete(parent, name, true);
  3130. if (err) {
  3131. throw new FS.ErrnoError(err);
  3132. }
  3133. if (!parent.node_ops.rmdir) {
  3134. throw new FS.ErrnoError(1);
  3135. }
  3136. if (FS.isMountpoint(node)) {
  3137. throw new FS.ErrnoError(16);
  3138. }
  3139. try {
  3140. if (FS.trackingDelegate["willDeletePath"]) {
  3141. FS.trackingDelegate["willDeletePath"](path);
  3142. }
  3143. } catch (e) {
  3144. console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
  3145. }
  3146. parent.node_ops.rmdir(parent, name);
  3147. FS.destroyNode(node);
  3148. try {
  3149. if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path);
  3150. } catch (e) {
  3151. console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message);
  3152. }
  3153. },
  3154. readdir: function(path) {
  3155. var lookup = FS.lookupPath(path, {
  3156. follow: true
  3157. });
  3158. var node = lookup.node;
  3159. if (!node.node_ops.readdir) {
  3160. throw new FS.ErrnoError(20);
  3161. }
  3162. return node.node_ops.readdir(node);
  3163. },
  3164. unlink: function(path) {
  3165. var lookup = FS.lookupPath(path, {
  3166. parent: true
  3167. });
  3168. var parent = lookup.node;
  3169. var name = PATH.basename(path);
  3170. var node = FS.lookupNode(parent, name);
  3171. var err = FS.mayDelete(parent, name, false);
  3172. if (err) {
  3173. throw new FS.ErrnoError(err);
  3174. }
  3175. if (!parent.node_ops.unlink) {
  3176. throw new FS.ErrnoError(1);
  3177. }
  3178. if (FS.isMountpoint(node)) {
  3179. throw new FS.ErrnoError(16);
  3180. }
  3181. try {
  3182. if (FS.trackingDelegate["willDeletePath"]) {
  3183. FS.trackingDelegate["willDeletePath"](path);
  3184. }
  3185. } catch (e) {
  3186. console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
  3187. }
  3188. parent.node_ops.unlink(parent, name);
  3189. FS.destroyNode(node);
  3190. try {
  3191. if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path);
  3192. } catch (e) {
  3193. console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message);
  3194. }
  3195. },
  3196. readlink: function(path) {
  3197. var lookup = FS.lookupPath(path);
  3198. var link = lookup.node;
  3199. if (!link) {
  3200. throw new FS.ErrnoError(2);
  3201. }
  3202. if (!link.node_ops.readlink) {
  3203. throw new FS.ErrnoError(22);
  3204. }
  3205. return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
  3206. },
  3207. stat: function(path, dontFollow) {
  3208. var lookup = FS.lookupPath(path, {
  3209. follow: !dontFollow
  3210. });
  3211. var node = lookup.node;
  3212. if (!node) {
  3213. throw new FS.ErrnoError(2);
  3214. }
  3215. if (!node.node_ops.getattr) {
  3216. throw new FS.ErrnoError(1);
  3217. }
  3218. return node.node_ops.getattr(node);
  3219. },
  3220. lstat: function(path) {
  3221. return FS.stat(path, true);
  3222. },
  3223. chmod: function(path, mode, dontFollow) {
  3224. var node;
  3225. if (typeof path === "string") {
  3226. var lookup = FS.lookupPath(path, {
  3227. follow: !dontFollow
  3228. });
  3229. node = lookup.node;
  3230. } else {
  3231. node = path;
  3232. }
  3233. if (!node.node_ops.setattr) {
  3234. throw new FS.ErrnoError(1);
  3235. }
  3236. node.node_ops.setattr(node, {
  3237. mode: mode & 4095 | node.mode & ~4095,
  3238. timestamp: Date.now()
  3239. });
  3240. },
  3241. lchmod: function(path, mode) {
  3242. FS.chmod(path, mode, true);
  3243. },
  3244. fchmod: function(fd, mode) {
  3245. var stream = FS.getStream(fd);
  3246. if (!stream) {
  3247. throw new FS.ErrnoError(9);
  3248. }
  3249. FS.chmod(stream.node, mode);
  3250. },
  3251. chown: function(path, uid, gid, dontFollow) {
  3252. var node;
  3253. if (typeof path === "string") {
  3254. var lookup = FS.lookupPath(path, {
  3255. follow: !dontFollow
  3256. });
  3257. node = lookup.node;
  3258. } else {
  3259. node = path;
  3260. }
  3261. if (!node.node_ops.setattr) {
  3262. throw new FS.ErrnoError(1);
  3263. }
  3264. node.node_ops.setattr(node, {
  3265. timestamp: Date.now()
  3266. });
  3267. },
  3268. lchown: function(path, uid, gid) {
  3269. FS.chown(path, uid, gid, true);
  3270. },
  3271. fchown: function(fd, uid, gid) {
  3272. var stream = FS.getStream(fd);
  3273. if (!stream) {
  3274. throw new FS.ErrnoError(9);
  3275. }
  3276. FS.chown(stream.node, uid, gid);
  3277. },
  3278. truncate: function(path, len) {
  3279. if (len < 0) {
  3280. throw new FS.ErrnoError(22);
  3281. }
  3282. var node;
  3283. if (typeof path === "string") {
  3284. var lookup = FS.lookupPath(path, {
  3285. follow: true
  3286. });
  3287. node = lookup.node;
  3288. } else {
  3289. node = path;
  3290. }
  3291. if (!node.node_ops.setattr) {
  3292. throw new FS.ErrnoError(1);
  3293. }
  3294. if (FS.isDir(node.mode)) {
  3295. throw new FS.ErrnoError(21);
  3296. }
  3297. if (!FS.isFile(node.mode)) {
  3298. throw new FS.ErrnoError(22);
  3299. }
  3300. var err = FS.nodePermissions(node, "w");
  3301. if (err) {
  3302. throw new FS.ErrnoError(err);
  3303. }
  3304. node.node_ops.setattr(node, {
  3305. size: len,
  3306. timestamp: Date.now()
  3307. });
  3308. },
  3309. ftruncate: function(fd, len) {
  3310. var stream = FS.getStream(fd);
  3311. if (!stream) {
  3312. throw new FS.ErrnoError(9);
  3313. }
  3314. if ((stream.flags & 2097155) === 0) {
  3315. throw new FS.ErrnoError(22);
  3316. }
  3317. FS.truncate(stream.node, len);
  3318. },
  3319. utime: function(path, atime, mtime) {
  3320. var lookup = FS.lookupPath(path, {
  3321. follow: true
  3322. });
  3323. var node = lookup.node;
  3324. node.node_ops.setattr(node, {
  3325. timestamp: Math.max(atime, mtime)
  3326. });
  3327. },
  3328. open: function(path, flags, mode, fd_start, fd_end) {
  3329. if (path === "") {
  3330. throw new FS.ErrnoError(2);
  3331. }
  3332. flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags;
  3333. mode = typeof mode === "undefined" ? 438 : mode;
  3334. if (flags & 64) {
  3335. mode = mode & 4095 | 32768;
  3336. } else {
  3337. mode = 0;
  3338. }
  3339. var node;
  3340. if (typeof path === "object") {
  3341. node = path;
  3342. } else {
  3343. path = PATH.normalize(path);
  3344. try {
  3345. var lookup = FS.lookupPath(path, {
  3346. follow: !(flags & 131072)
  3347. });
  3348. node = lookup.node;
  3349. } catch (e) {}
  3350. }
  3351. var created = false;
  3352. if (flags & 64) {
  3353. if (node) {
  3354. if (flags & 128) {
  3355. throw new FS.ErrnoError(17);
  3356. }
  3357. } else {
  3358. node = FS.mknod(path, mode, 0);
  3359. created = true;
  3360. }
  3361. }
  3362. if (!node) {
  3363. throw new FS.ErrnoError(2);
  3364. }
  3365. if (FS.isChrdev(node.mode)) {
  3366. flags &= ~512;
  3367. }
  3368. if (flags & 65536 && !FS.isDir(node.mode)) {
  3369. throw new FS.ErrnoError(20);
  3370. }
  3371. if (!created) {
  3372. var err = FS.mayOpen(node, flags);
  3373. if (err) {
  3374. throw new FS.ErrnoError(err);
  3375. }
  3376. }
  3377. if (flags & 512) {
  3378. FS.truncate(node, 0);
  3379. }
  3380. flags &= ~(128 | 512);
  3381. var stream = FS.createStream({
  3382. node: node,
  3383. path: FS.getPath(node),
  3384. flags: flags,
  3385. seekable: true,
  3386. position: 0,
  3387. stream_ops: node.stream_ops,
  3388. ungotten: [],
  3389. error: false
  3390. }, fd_start, fd_end);
  3391. if (stream.stream_ops.open) {
  3392. stream.stream_ops.open(stream);
  3393. }
  3394. if (Module["logReadFiles"] && !(flags & 1)) {
  3395. if (!FS.readFiles) FS.readFiles = {};
  3396. if (!(path in FS.readFiles)) {
  3397. FS.readFiles[path] = 1;
  3398. console.log("FS.trackingDelegate error on read file: " + path);
  3399. }
  3400. }
  3401. try {
  3402. if (FS.trackingDelegate["onOpenFile"]) {
  3403. var trackingFlags = 0;
  3404. if ((flags & 2097155) !== 1) {
  3405. trackingFlags |= FS.tracking.openFlags.READ;
  3406. }
  3407. if ((flags & 2097155) !== 0) {
  3408. trackingFlags |= FS.tracking.openFlags.WRITE;
  3409. }
  3410. FS.trackingDelegate["onOpenFile"](path, trackingFlags);
  3411. }
  3412. } catch (e) {
  3413. console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message);
  3414. }
  3415. return stream;
  3416. },
  3417. close: function(stream) {
  3418. if (FS.isClosed(stream)) {
  3419. throw new FS.ErrnoError(9);
  3420. }
  3421. if (stream.getdents) stream.getdents = null;
  3422. try {
  3423. if (stream.stream_ops.close) {
  3424. stream.stream_ops.close(stream);
  3425. }
  3426. } catch (e) {
  3427. throw e;
  3428. } finally {
  3429. FS.closeStream(stream.fd);
  3430. }
  3431. stream.fd = null;
  3432. },
  3433. isClosed: function(stream) {
  3434. return stream.fd === null;
  3435. },
  3436. llseek: function(stream, offset, whence) {
  3437. if (FS.isClosed(stream)) {
  3438. throw new FS.ErrnoError(9);
  3439. }
  3440. if (!stream.seekable || !stream.stream_ops.llseek) {
  3441. throw new FS.ErrnoError(29);
  3442. }
  3443. if (whence != 0 && whence != 1 && whence != 2) {
  3444. throw new FS.ErrnoError(22);
  3445. }
  3446. stream.position = stream.stream_ops.llseek(stream, offset, whence);
  3447. stream.ungotten = [];
  3448. return stream.position;
  3449. },
  3450. read: function(stream, buffer, offset, length, position) {
  3451. if (length < 0 || position < 0) {
  3452. throw new FS.ErrnoError(22);
  3453. }
  3454. if (FS.isClosed(stream)) {
  3455. throw new FS.ErrnoError(9);
  3456. }
  3457. if ((stream.flags & 2097155) === 1) {
  3458. throw new FS.ErrnoError(9);
  3459. }
  3460. if (FS.isDir(stream.node.mode)) {
  3461. throw new FS.ErrnoError(21);
  3462. }
  3463. if (!stream.stream_ops.read) {
  3464. throw new FS.ErrnoError(22);
  3465. }
  3466. var seeking = typeof position !== "undefined";
  3467. if (!seeking) {
  3468. position = stream.position;
  3469. } else if (!stream.seekable) {
  3470. throw new FS.ErrnoError(29);
  3471. }
  3472. var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
  3473. if (!seeking) stream.position += bytesRead;
  3474. return bytesRead;
  3475. },
  3476. write: function(stream, buffer, offset, length, position, canOwn) {
  3477. if (length < 0 || position < 0) {
  3478. throw new FS.ErrnoError(22);
  3479. }
  3480. if (FS.isClosed(stream)) {
  3481. throw new FS.ErrnoError(9);
  3482. }
  3483. if ((stream.flags & 2097155) === 0) {
  3484. throw new FS.ErrnoError(9);
  3485. }
  3486. if (FS.isDir(stream.node.mode)) {
  3487. throw new FS.ErrnoError(21);
  3488. }
  3489. if (!stream.stream_ops.write) {
  3490. throw new FS.ErrnoError(22);
  3491. }
  3492. if (stream.flags & 1024) {
  3493. FS.llseek(stream, 0, 2);
  3494. }
  3495. var seeking = typeof position !== "undefined";
  3496. if (!seeking) {
  3497. position = stream.position;
  3498. } else if (!stream.seekable) {
  3499. throw new FS.ErrnoError(29);
  3500. }
  3501. var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
  3502. if (!seeking) stream.position += bytesWritten;
  3503. try {
  3504. if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path);
  3505. } catch (e) {
  3506. console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message);
  3507. }
  3508. return bytesWritten;
  3509. },
  3510. allocate: function(stream, offset, length) {
  3511. if (FS.isClosed(stream)) {
  3512. throw new FS.ErrnoError(9);
  3513. }
  3514. if (offset < 0 || length <= 0) {
  3515. throw new FS.ErrnoError(22);
  3516. }
  3517. if ((stream.flags & 2097155) === 0) {
  3518. throw new FS.ErrnoError(9);
  3519. }
  3520. if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
  3521. throw new FS.ErrnoError(19);
  3522. }
  3523. if (!stream.stream_ops.allocate) {
  3524. throw new FS.ErrnoError(95);
  3525. }
  3526. stream.stream_ops.allocate(stream, offset, length);
  3527. },
  3528. mmap: function(stream, buffer, offset, length, position, prot, flags) {
  3529. if ((stream.flags & 2097155) === 1) {
  3530. throw new FS.ErrnoError(13);
  3531. }
  3532. if (!stream.stream_ops.mmap) {
  3533. throw new FS.ErrnoError(19);
  3534. }
  3535. return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags);
  3536. },
  3537. msync: function(stream, buffer, offset, length, mmapFlags) {
  3538. if (!stream || !stream.stream_ops.msync) {
  3539. return 0;
  3540. }
  3541. return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
  3542. },
  3543. munmap: function(stream) {
  3544. return 0;
  3545. },
  3546. ioctl: function(stream, cmd, arg) {
  3547. if (!stream.stream_ops.ioctl) {
  3548. throw new FS.ErrnoError(25);
  3549. }
  3550. return stream.stream_ops.ioctl(stream, cmd, arg);
  3551. },
  3552. readFile: function(path, opts) {
  3553. opts = opts || {};
  3554. opts.flags = opts.flags || "r";
  3555. opts.encoding = opts.encoding || "binary";
  3556. if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
  3557. throw new Error('Invalid encoding type "' + opts.encoding + '"');
  3558. }
  3559. var ret;
  3560. var stream = FS.open(path, opts.flags);
  3561. var stat = FS.stat(path);
  3562. var length = stat.size;
  3563. var buf = new Uint8Array(length);
  3564. FS.read(stream, buf, 0, length, 0);
  3565. if (opts.encoding === "utf8") {
  3566. ret = UTF8ArrayToString(buf, 0);
  3567. } else if (opts.encoding === "binary") {
  3568. ret = buf;
  3569. }
  3570. FS.close(stream);
  3571. return ret;
  3572. },
  3573. writeFile: function(path, data, opts) {
  3574. opts = opts || {};
  3575. opts.flags = opts.flags || "w";
  3576. var stream = FS.open(path, opts.flags, opts.mode);
  3577. if (typeof data === "string") {
  3578. var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
  3579. var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
  3580. FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);
  3581. } else if (ArrayBuffer.isView(data)) {
  3582. FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);
  3583. } else {
  3584. throw new Error("Unsupported data type");
  3585. }
  3586. FS.close(stream);
  3587. },
  3588. cwd: function() {
  3589. return FS.currentPath;
  3590. },
  3591. chdir: function(path) {
  3592. var lookup = FS.lookupPath(path, {
  3593. follow: true
  3594. });
  3595. if (lookup.node === null) {
  3596. throw new FS.ErrnoError(2);
  3597. }
  3598. if (!FS.isDir(lookup.node.mode)) {
  3599. throw new FS.ErrnoError(20);
  3600. }
  3601. var err = FS.nodePermissions(lookup.node, "x");
  3602. if (err) {
  3603. throw new FS.ErrnoError(err);
  3604. }
  3605. FS.currentPath = lookup.path;
  3606. },
  3607. createDefaultDirectories: function() {
  3608. FS.mkdir("/tmp");
  3609. FS.mkdir("/home");
  3610. FS.mkdir("/home/web_user");
  3611. },
  3612. createDefaultDevices: function() {
  3613. FS.mkdir("/dev");
  3614. FS.registerDevice(FS.makedev(1, 3), {
  3615. read: function() {
  3616. return 0;
  3617. },
  3618. write: function(stream, buffer, offset, length, pos) {
  3619. return length;
  3620. }
  3621. });
  3622. FS.mkdev("/dev/null", FS.makedev(1, 3));
  3623. TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
  3624. TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
  3625. FS.mkdev("/dev/tty", FS.makedev(5, 0));
  3626. FS.mkdev("/dev/tty1", FS.makedev(6, 0));
  3627. var random_device;
  3628. if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") {
  3629. var randomBuffer = new Uint8Array(1);
  3630. random_device = function() {
  3631. crypto.getRandomValues(randomBuffer);
  3632. return randomBuffer[0];
  3633. };
  3634. } else if (ENVIRONMENT_IS_NODE) {
  3635. try {
  3636. var crypto_module = require("crypto");
  3637. random_device = function() {
  3638. return crypto_module["randomBytes"](1)[0];
  3639. };
  3640. } catch (e) {
  3641. random_device = function() {
  3642. return Math.random() * 256 | 0;
  3643. };
  3644. }
  3645. } else {
  3646. random_device = function() {
  3647. abort("random_device");
  3648. };
  3649. }
  3650. FS.createDevice("/dev", "random", random_device);
  3651. FS.createDevice("/dev", "urandom", random_device);
  3652. FS.mkdir("/dev/shm");
  3653. FS.mkdir("/dev/shm/tmp");
  3654. },
  3655. createSpecialDirectories: function() {
  3656. FS.mkdir("/proc");
  3657. FS.mkdir("/proc/self");
  3658. FS.mkdir("/proc/self/fd");
  3659. FS.mount({
  3660. mount: function() {
  3661. var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73);
  3662. node.node_ops = {
  3663. lookup: function(parent, name) {
  3664. var fd = +name;
  3665. var stream = FS.getStream(fd);
  3666. if (!stream) throw new FS.ErrnoError(9);
  3667. var ret = {
  3668. parent: null,
  3669. mount: {
  3670. mountpoint: "fake"
  3671. },
  3672. node_ops: {
  3673. readlink: function() {
  3674. return stream.path;
  3675. }
  3676. }
  3677. };
  3678. ret.parent = ret;
  3679. return ret;
  3680. }
  3681. };
  3682. return node;
  3683. }
  3684. }, {}, "/proc/self/fd");
  3685. },
  3686. createStandardStreams: function() {
  3687. if (Module["stdin"]) {
  3688. FS.createDevice("/dev", "stdin", Module["stdin"]);
  3689. } else {
  3690. FS.symlink("/dev/tty", "/dev/stdin");
  3691. }
  3692. if (Module["stdout"]) {
  3693. FS.createDevice("/dev", "stdout", null, Module["stdout"]);
  3694. } else {
  3695. FS.symlink("/dev/tty", "/dev/stdout");
  3696. }
  3697. if (Module["stderr"]) {
  3698. FS.createDevice("/dev", "stderr", null, Module["stderr"]);
  3699. } else {
  3700. FS.symlink("/dev/tty1", "/dev/stderr");
  3701. }
  3702. var stdin = FS.open("/dev/stdin", "r");
  3703. assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")");
  3704. var stdout = FS.open("/dev/stdout", "w");
  3705. assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")");
  3706. var stderr = FS.open("/dev/stderr", "w");
  3707. assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")");
  3708. },
  3709. ensureErrnoError: function() {
  3710. if (FS.ErrnoError) return;
  3711. FS.ErrnoError = function ErrnoError(errno, node) {
  3712. this.node = node;
  3713. this.setErrno = function(errno) {
  3714. this.errno = errno;
  3715. };
  3716. this.setErrno(errno);
  3717. this.message = "FS error";
  3718. if (this.stack) Object.defineProperty(this, "stack", {
  3719. value: new Error().stack,
  3720. writable: true
  3721. });
  3722. };
  3723. FS.ErrnoError.prototype = new Error();
  3724. FS.ErrnoError.prototype.constructor = FS.ErrnoError;
  3725. [ 2 ].forEach(function(code) {
  3726. FS.genericErrors[code] = new FS.ErrnoError(code);
  3727. FS.genericErrors[code].stack = "<generic error, no stack>";
  3728. });
  3729. },
  3730. staticInit: function() {
  3731. FS.ensureErrnoError();
  3732. FS.nameTable = new Array(4096);
  3733. FS.mount(MEMFS, {}, "/");
  3734. FS.createDefaultDirectories();
  3735. FS.createDefaultDevices();
  3736. FS.createSpecialDirectories();
  3737. FS.filesystems = {
  3738. "MEMFS": MEMFS,
  3739. "IDBFS": IDBFS,
  3740. "NODEFS": NODEFS,
  3741. "WORKERFS": WORKERFS
  3742. };
  3743. },
  3744. init: function(input, output, error) {
  3745. assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");
  3746. FS.init.initialized = true;
  3747. FS.ensureErrnoError();
  3748. Module["stdin"] = input || Module["stdin"];
  3749. Module["stdout"] = output || Module["stdout"];
  3750. Module["stderr"] = error || Module["stderr"];
  3751. FS.createStandardStreams();
  3752. },
  3753. quit: function() {
  3754. FS.init.initialized = false;
  3755. var fflush = Module["_fflush"];
  3756. if (fflush) fflush(0);
  3757. for (var i = 0; i < FS.streams.length; i++) {
  3758. var stream = FS.streams[i];
  3759. if (!stream) {
  3760. continue;
  3761. }
  3762. FS.close(stream);
  3763. }
  3764. },
  3765. getMode: function(canRead, canWrite) {
  3766. var mode = 0;
  3767. if (canRead) mode |= 292 | 73;
  3768. if (canWrite) mode |= 146;
  3769. return mode;
  3770. },
  3771. joinPath: function(parts, forceRelative) {
  3772. var path = PATH.join.apply(null, parts);
  3773. if (forceRelative && path[0] == "/") path = path.substr(1);
  3774. return path;
  3775. },
  3776. absolutePath: function(relative, base) {
  3777. return PATH.resolve(base, relative);
  3778. },
  3779. standardizePath: function(path) {
  3780. return PATH.normalize(path);
  3781. },
  3782. findObject: function(path, dontResolveLastLink) {
  3783. var ret = FS.analyzePath(path, dontResolveLastLink);
  3784. if (ret.exists) {
  3785. return ret.object;
  3786. } else {
  3787. ___setErrNo(ret.error);
  3788. return null;
  3789. }
  3790. },
  3791. analyzePath: function(path, dontResolveLastLink) {
  3792. try {
  3793. var lookup = FS.lookupPath(path, {
  3794. follow: !dontResolveLastLink
  3795. });
  3796. path = lookup.path;
  3797. } catch (e) {}
  3798. var ret = {
  3799. isRoot: false,
  3800. exists: false,
  3801. error: 0,
  3802. name: null,
  3803. path: null,
  3804. object: null,
  3805. parentExists: false,
  3806. parentPath: null,
  3807. parentObject: null
  3808. };
  3809. try {
  3810. var lookup = FS.lookupPath(path, {
  3811. parent: true
  3812. });
  3813. ret.parentExists = true;
  3814. ret.parentPath = lookup.path;
  3815. ret.parentObject = lookup.node;
  3816. ret.name = PATH.basename(path);
  3817. lookup = FS.lookupPath(path, {
  3818. follow: !dontResolveLastLink
  3819. });
  3820. ret.exists = true;
  3821. ret.path = lookup.path;
  3822. ret.object = lookup.node;
  3823. ret.name = lookup.node.name;
  3824. ret.isRoot = lookup.path === "/";
  3825. } catch (e) {
  3826. ret.error = e.errno;
  3827. }
  3828. return ret;
  3829. },
  3830. createFolder: function(parent, name, canRead, canWrite) {
  3831. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
  3832. var mode = FS.getMode(canRead, canWrite);
  3833. return FS.mkdir(path, mode);
  3834. },
  3835. createPath: function(parent, path, canRead, canWrite) {
  3836. parent = typeof parent === "string" ? parent : FS.getPath(parent);
  3837. var parts = path.split("/").reverse();
  3838. while (parts.length) {
  3839. var part = parts.pop();
  3840. if (!part) continue;
  3841. var current = PATH.join2(parent, part);
  3842. try {
  3843. FS.mkdir(current);
  3844. } catch (e) {}
  3845. parent = current;
  3846. }
  3847. return current;
  3848. },
  3849. createFile: function(parent, name, properties, canRead, canWrite) {
  3850. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
  3851. var mode = FS.getMode(canRead, canWrite);
  3852. return FS.create(path, mode);
  3853. },
  3854. createDataFile: function(parent, name, data, canRead, canWrite, canOwn) {
  3855. var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent;
  3856. var mode = FS.getMode(canRead, canWrite);
  3857. var node = FS.create(path, mode);
  3858. if (data) {
  3859. if (typeof data === "string") {
  3860. var arr = new Array(data.length);
  3861. for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
  3862. data = arr;
  3863. }
  3864. FS.chmod(node, mode | 146);
  3865. var stream = FS.open(node, "w");
  3866. FS.write(stream, data, 0, data.length, 0, canOwn);
  3867. FS.close(stream);
  3868. FS.chmod(node, mode);
  3869. }
  3870. return node;
  3871. },
  3872. createDevice: function(parent, name, input, output) {
  3873. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
  3874. var mode = FS.getMode(!!input, !!output);
  3875. if (!FS.createDevice.major) FS.createDevice.major = 64;
  3876. var dev = FS.makedev(FS.createDevice.major++, 0);
  3877. FS.registerDevice(dev, {
  3878. open: function(stream) {
  3879. stream.seekable = false;
  3880. },
  3881. close: function(stream) {
  3882. if (output && output.buffer && output.buffer.length) {
  3883. output(10);
  3884. }
  3885. },
  3886. read: function(stream, buffer, offset, length, pos) {
  3887. var bytesRead = 0;
  3888. for (var i = 0; i < length; i++) {
  3889. var result;
  3890. try {
  3891. result = input();
  3892. } catch (e) {
  3893. throw new FS.ErrnoError(5);
  3894. }
  3895. if (result === undefined && bytesRead === 0) {
  3896. throw new FS.ErrnoError(11);
  3897. }
  3898. if (result === null || result === undefined) break;
  3899. bytesRead++;
  3900. buffer[offset + i] = result;
  3901. }
  3902. if (bytesRead) {
  3903. stream.node.timestamp = Date.now();
  3904. }
  3905. return bytesRead;
  3906. },
  3907. write: function(stream, buffer, offset, length, pos) {
  3908. for (var i = 0; i < length; i++) {
  3909. try {
  3910. output(buffer[offset + i]);
  3911. } catch (e) {
  3912. throw new FS.ErrnoError(5);
  3913. }
  3914. }
  3915. if (length) {
  3916. stream.node.timestamp = Date.now();
  3917. }
  3918. return i;
  3919. }
  3920. });
  3921. return FS.mkdev(path, mode, dev);
  3922. },
  3923. createLink: function(parent, name, target, canRead, canWrite) {
  3924. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
  3925. return FS.symlink(target, path);
  3926. },
  3927. forceLoadFile: function(obj) {
  3928. if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
  3929. var success = true;
  3930. if (typeof XMLHttpRequest !== "undefined") {
  3931. throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
  3932. } else if (Module["read"]) {
  3933. try {
  3934. obj.contents = intArrayFromString(Module["read"](obj.url), true);
  3935. obj.usedBytes = obj.contents.length;
  3936. } catch (e) {
  3937. success = false;
  3938. }
  3939. } else {
  3940. throw new Error("Cannot load without read() or XMLHttpRequest.");
  3941. }
  3942. if (!success) ___setErrNo(5);
  3943. return success;
  3944. },
  3945. createLazyFile: function(parent, name, url, canRead, canWrite) {
  3946. function LazyUint8Array() {
  3947. this.lengthKnown = false;
  3948. this.chunks = [];
  3949. }
  3950. LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
  3951. if (idx > this.length - 1 || idx < 0) {
  3952. return undefined;
  3953. }
  3954. var chunkOffset = idx % this.chunkSize;
  3955. var chunkNum = idx / this.chunkSize | 0;
  3956. return this.getter(chunkNum)[chunkOffset];
  3957. };
  3958. LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
  3959. this.getter = getter;
  3960. };
  3961. LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
  3962. var xhr = new XMLHttpRequest();
  3963. xhr.open("HEAD", url, false);
  3964. xhr.send(null);
  3965. if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
  3966. var datalength = Number(xhr.getResponseHeader("Content-length"));
  3967. var header;
  3968. var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
  3969. var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
  3970. var chunkSize = 1024 * 1024;
  3971. if (!hasByteServing) chunkSize = datalength;
  3972. var doXHR = function(from, to) {
  3973. if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
  3974. if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!");
  3975. var xhr = new XMLHttpRequest();
  3976. xhr.open("GET", url, false);
  3977. if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
  3978. if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer";
  3979. if (xhr.overrideMimeType) {
  3980. xhr.overrideMimeType("text/plain; charset=x-user-defined");
  3981. }
  3982. xhr.send(null);
  3983. if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
  3984. if (xhr.response !== undefined) {
  3985. return new Uint8Array(xhr.response || []);
  3986. } else {
  3987. return intArrayFromString(xhr.responseText || "", true);
  3988. }
  3989. };
  3990. var lazyArray = this;
  3991. lazyArray.setDataGetter(function(chunkNum) {
  3992. var start = chunkNum * chunkSize;
  3993. var end = (chunkNum + 1) * chunkSize - 1;
  3994. end = Math.min(end, datalength - 1);
  3995. if (typeof lazyArray.chunks[chunkNum] === "undefined") {
  3996. lazyArray.chunks[chunkNum] = doXHR(start, end);
  3997. }
  3998. if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!");
  3999. return lazyArray.chunks[chunkNum];
  4000. });
  4001. if (usesGzip || !datalength) {
  4002. chunkSize = datalength = 1;
  4003. datalength = this.getter(0).length;
  4004. chunkSize = datalength;
  4005. console.log("LazyFiles on gzip forces download of the whole file when length is accessed");
  4006. }
  4007. this._length = datalength;
  4008. this._chunkSize = chunkSize;
  4009. this.lengthKnown = true;
  4010. };
  4011. if (typeof XMLHttpRequest !== "undefined") {
  4012. if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
  4013. var lazyArray = new LazyUint8Array();
  4014. Object.defineProperties(lazyArray, {
  4015. length: {
  4016. get: function() {
  4017. if (!this.lengthKnown) {
  4018. this.cacheLength();
  4019. }
  4020. return this._length;
  4021. }
  4022. },
  4023. chunkSize: {
  4024. get: function() {
  4025. if (!this.lengthKnown) {
  4026. this.cacheLength();
  4027. }
  4028. return this._chunkSize;
  4029. }
  4030. }
  4031. });
  4032. var properties = {
  4033. isDevice: false,
  4034. contents: lazyArray
  4035. };
  4036. } else {
  4037. var properties = {
  4038. isDevice: false,
  4039. url: url
  4040. };
  4041. }
  4042. var node = FS.createFile(parent, name, properties, canRead, canWrite);
  4043. if (properties.contents) {
  4044. node.contents = properties.contents;
  4045. } else if (properties.url) {
  4046. node.contents = null;
  4047. node.url = properties.url;
  4048. }
  4049. Object.defineProperties(node, {
  4050. usedBytes: {
  4051. get: function() {
  4052. return this.contents.length;
  4053. }
  4054. }
  4055. });
  4056. var stream_ops = {};
  4057. var keys = Object.keys(node.stream_ops);
  4058. keys.forEach(function(key) {
  4059. var fn = node.stream_ops[key];
  4060. stream_ops[key] = function forceLoadLazyFile() {
  4061. if (!FS.forceLoadFile(node)) {
  4062. throw new FS.ErrnoError(5);
  4063. }
  4064. return fn.apply(null, arguments);
  4065. };
  4066. });
  4067. stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
  4068. if (!FS.forceLoadFile(node)) {
  4069. throw new FS.ErrnoError(5);
  4070. }
  4071. var contents = stream.node.contents;
  4072. if (position >= contents.length) return 0;
  4073. var size = Math.min(contents.length - position, length);
  4074. assert(size >= 0);
  4075. if (contents.slice) {
  4076. for (var i = 0; i < size; i++) {
  4077. buffer[offset + i] = contents[position + i];
  4078. }
  4079. } else {
  4080. for (var i = 0; i < size; i++) {
  4081. buffer[offset + i] = contents.get(position + i);
  4082. }
  4083. }
  4084. return size;
  4085. };
  4086. node.stream_ops = stream_ops;
  4087. return node;
  4088. },
  4089. createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
  4090. Browser.init();
  4091. var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;
  4092. var dep = getUniqueRunDependency("cp " + fullname);
  4093. function processData(byteArray) {
  4094. function finish(byteArray) {
  4095. if (preFinish) preFinish();
  4096. if (!dontCreateFile) {
  4097. FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
  4098. }
  4099. if (onload) onload();
  4100. removeRunDependency(dep);
  4101. }
  4102. var handled = false;
  4103. Module["preloadPlugins"].forEach(function(plugin) {
  4104. if (handled) return;
  4105. if (plugin["canHandle"](fullname)) {
  4106. plugin["handle"](byteArray, fullname, finish, function() {
  4107. if (onerror) onerror();
  4108. removeRunDependency(dep);
  4109. });
  4110. handled = true;
  4111. }
  4112. });
  4113. if (!handled) finish(byteArray);
  4114. }
  4115. addRunDependency(dep);
  4116. if (typeof url == "string") {
  4117. Browser.asyncLoad(url, function(byteArray) {
  4118. processData(byteArray);
  4119. }, onerror);
  4120. } else {
  4121. processData(url);
  4122. }
  4123. },
  4124. indexedDB: function() {
  4125. return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
  4126. },
  4127. DB_NAME: function() {
  4128. return "EM_FS_" + window.location.pathname;
  4129. },
  4130. DB_VERSION: 20,
  4131. DB_STORE_NAME: "FILE_DATA",
  4132. saveFilesToDB: function(paths, onload, onerror) {
  4133. onload = onload || function() {};
  4134. onerror = onerror || function() {};
  4135. var indexedDB = FS.indexedDB();
  4136. try {
  4137. var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
  4138. } catch (e) {
  4139. return onerror(e);
  4140. }
  4141. openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
  4142. console.log("creating db");
  4143. var db = openRequest.result;
  4144. db.createObjectStore(FS.DB_STORE_NAME);
  4145. };
  4146. openRequest.onsuccess = function openRequest_onsuccess() {
  4147. var db = openRequest.result;
  4148. var transaction = db.transaction([ FS.DB_STORE_NAME ], "readwrite");
  4149. var files = transaction.objectStore(FS.DB_STORE_NAME);
  4150. var ok = 0, fail = 0, total = paths.length;
  4151. function finish() {
  4152. if (fail == 0) onload(); else onerror();
  4153. }
  4154. paths.forEach(function(path) {
  4155. var putRequest = files.put(FS.analyzePath(path).object.contents, path);
  4156. putRequest.onsuccess = function putRequest_onsuccess() {
  4157. ok++;
  4158. if (ok + fail == total) finish();
  4159. };
  4160. putRequest.onerror = function putRequest_onerror() {
  4161. fail++;
  4162. if (ok + fail == total) finish();
  4163. };
  4164. });
  4165. transaction.onerror = onerror;
  4166. };
  4167. openRequest.onerror = onerror;
  4168. },
  4169. loadFilesFromDB: function(paths, onload, onerror) {
  4170. onload = onload || function() {};
  4171. onerror = onerror || function() {};
  4172. var indexedDB = FS.indexedDB();
  4173. try {
  4174. var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
  4175. } catch (e) {
  4176. return onerror(e);
  4177. }
  4178. openRequest.onupgradeneeded = onerror;
  4179. openRequest.onsuccess = function openRequest_onsuccess() {
  4180. var db = openRequest.result;
  4181. try {
  4182. var transaction = db.transaction([ FS.DB_STORE_NAME ], "readonly");
  4183. } catch (e) {
  4184. onerror(e);
  4185. return;
  4186. }
  4187. var files = transaction.objectStore(FS.DB_STORE_NAME);
  4188. var ok = 0, fail = 0, total = paths.length;
  4189. function finish() {
  4190. if (fail == 0) onload(); else onerror();
  4191. }
  4192. paths.forEach(function(path) {
  4193. var getRequest = files.get(path);
  4194. getRequest.onsuccess = function getRequest_onsuccess() {
  4195. if (FS.analyzePath(path).exists) {
  4196. FS.unlink(path);
  4197. }
  4198. FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
  4199. ok++;
  4200. if (ok + fail == total) finish();
  4201. };
  4202. getRequest.onerror = function getRequest_onerror() {
  4203. fail++;
  4204. if (ok + fail == total) finish();
  4205. };
  4206. });
  4207. transaction.onerror = onerror;
  4208. };
  4209. openRequest.onerror = onerror;
  4210. }
  4211. };
  4212. function _emscripten_set_main_loop_timing(mode, value) {
  4213. Browser.mainLoop.timingMode = mode;
  4214. Browser.mainLoop.timingValue = value;
  4215. if (!Browser.mainLoop.func) {
  4216. return 1;
  4217. }
  4218. if (mode == 0) {
  4219. Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() {
  4220. var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now()) | 0;
  4221. setTimeout(Browser.mainLoop.runner, timeUntilNextTick);
  4222. };
  4223. Browser.mainLoop.method = "timeout";
  4224. } else if (mode == 1) {
  4225. Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() {
  4226. Browser.requestAnimationFrame(Browser.mainLoop.runner);
  4227. };
  4228. Browser.mainLoop.method = "rAF";
  4229. } else if (mode == 2) {
  4230. if (typeof setImmediate === "undefined") {
  4231. var setImmediates = [];
  4232. var emscriptenMainLoopMessageId = "setimmediate";
  4233. var Browser_setImmediate_messageHandler = function(event) {
  4234. if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) {
  4235. event.stopPropagation();
  4236. setImmediates.shift()();
  4237. }
  4238. };
  4239. addEventListener("message", Browser_setImmediate_messageHandler, true);
  4240. setImmediate = function Browser_emulated_setImmediate(func) {
  4241. setImmediates.push(func);
  4242. if (ENVIRONMENT_IS_WORKER) {
  4243. if (Module["setImmediates"] === undefined) Module["setImmediates"] = [];
  4244. Module["setImmediates"].push(func);
  4245. postMessage({
  4246. target: emscriptenMainLoopMessageId
  4247. });
  4248. } else postMessage(emscriptenMainLoopMessageId, "*");
  4249. };
  4250. }
  4251. Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() {
  4252. setImmediate(Browser.mainLoop.runner);
  4253. };
  4254. Browser.mainLoop.method = "immediate";
  4255. }
  4256. return 0;
  4257. }
  4258. function _emscripten_get_now() {
  4259. abort();
  4260. }
  4261. function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) {
  4262. Module["noExitRuntime"] = true;
  4263. assert(!Browser.mainLoop.func, "emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");
  4264. Browser.mainLoop.func = func;
  4265. Browser.mainLoop.arg = arg;
  4266. var browserIterationFunc;
  4267. if (typeof arg !== "undefined") {
  4268. browserIterationFunc = function() {
  4269. Module["dynCall_vi"](func, arg);
  4270. };
  4271. } else {
  4272. browserIterationFunc = function() {
  4273. Module["dynCall_v"](func);
  4274. };
  4275. }
  4276. var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
  4277. Browser.mainLoop.runner = function Browser_mainLoop_runner() {
  4278. if (ABORT) return;
  4279. if (Browser.mainLoop.queue.length > 0) {
  4280. var start = Date.now();
  4281. var blocker = Browser.mainLoop.queue.shift();
  4282. blocker.func(blocker.arg);
  4283. if (Browser.mainLoop.remainingBlockers) {
  4284. var remaining = Browser.mainLoop.remainingBlockers;
  4285. var next = remaining % 1 == 0 ? remaining - 1 : Math.floor(remaining);
  4286. if (blocker.counted) {
  4287. Browser.mainLoop.remainingBlockers = next;
  4288. } else {
  4289. next = next + .5;
  4290. Browser.mainLoop.remainingBlockers = (8 * remaining + next) / 9;
  4291. }
  4292. }
  4293. console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + " ms");
  4294. Browser.mainLoop.updateStatus();
  4295. if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
  4296. setTimeout(Browser.mainLoop.runner, 0);
  4297. return;
  4298. }
  4299. if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
  4300. Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
  4301. if (Browser.mainLoop.timingMode == 1 && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
  4302. Browser.mainLoop.scheduler();
  4303. return;
  4304. } else if (Browser.mainLoop.timingMode == 0) {
  4305. Browser.mainLoop.tickStartTime = _emscripten_get_now();
  4306. }
  4307. if (Browser.mainLoop.method === "timeout" && Module.ctx) {
  4308. err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");
  4309. Browser.mainLoop.method = "";
  4310. }
  4311. Browser.mainLoop.runIter(browserIterationFunc);
  4312. if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
  4313. if (typeof SDL === "object" && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();
  4314. Browser.mainLoop.scheduler();
  4315. };
  4316. if (!noSetTiming) {
  4317. if (fps && fps > 0) _emscripten_set_main_loop_timing(0, 1e3 / fps); else _emscripten_set_main_loop_timing(1, 1);
  4318. Browser.mainLoop.scheduler();
  4319. }
  4320. if (simulateInfiniteLoop) {
  4321. throw "SimulateInfiniteLoop";
  4322. }
  4323. }
  4324. var Browser = {
  4325. mainLoop: {
  4326. scheduler: null,
  4327. method: "",
  4328. currentlyRunningMainloop: 0,
  4329. func: null,
  4330. arg: 0,
  4331. timingMode: 0,
  4332. timingValue: 0,
  4333. currentFrameNumber: 0,
  4334. queue: [],
  4335. pause: function() {
  4336. Browser.mainLoop.scheduler = null;
  4337. Browser.mainLoop.currentlyRunningMainloop++;
  4338. },
  4339. resume: function() {
  4340. Browser.mainLoop.currentlyRunningMainloop++;
  4341. var timingMode = Browser.mainLoop.timingMode;
  4342. var timingValue = Browser.mainLoop.timingValue;
  4343. var func = Browser.mainLoop.func;
  4344. Browser.mainLoop.func = null;
  4345. _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true);
  4346. _emscripten_set_main_loop_timing(timingMode, timingValue);
  4347. Browser.mainLoop.scheduler();
  4348. },
  4349. updateStatus: function() {
  4350. if (Module["setStatus"]) {
  4351. var message = Module["statusMessage"] || "Please wait...";
  4352. var remaining = Browser.mainLoop.remainingBlockers;
  4353. var expected = Browser.mainLoop.expectedBlockers;
  4354. if (remaining) {
  4355. if (remaining < expected) {
  4356. Module["setStatus"](message + " (" + (expected - remaining) + "/" + expected + ")");
  4357. } else {
  4358. Module["setStatus"](message);
  4359. }
  4360. } else {
  4361. Module["setStatus"]("");
  4362. }
  4363. }
  4364. },
  4365. runIter: function(func) {
  4366. if (ABORT) return;
  4367. if (Module["preMainLoop"]) {
  4368. var preRet = Module["preMainLoop"]();
  4369. if (preRet === false) {
  4370. return;
  4371. }
  4372. }
  4373. try {
  4374. func();
  4375. } catch (e) {
  4376. if (e instanceof ExitStatus) {
  4377. return;
  4378. } else {
  4379. if (e && typeof e === "object" && e.stack) err("exception thrown: " + [ e, e.stack ]);
  4380. throw e;
  4381. }
  4382. }
  4383. if (Module["postMainLoop"]) Module["postMainLoop"]();
  4384. }
  4385. },
  4386. isFullscreen: false,
  4387. pointerLock: false,
  4388. moduleContextCreatedCallbacks: [],
  4389. workers: [],
  4390. init: function() {
  4391. if (!Module["preloadPlugins"]) Module["preloadPlugins"] = [];
  4392. if (Browser.initted) return;
  4393. Browser.initted = true;
  4394. try {
  4395. new Blob();
  4396. Browser.hasBlobConstructor = true;
  4397. } catch (e) {
  4398. Browser.hasBlobConstructor = false;
  4399. console.log("warning: no blob constructor, cannot create blobs with mimetypes");
  4400. }
  4401. Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : !Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null;
  4402. Browser.URLObject = typeof window != "undefined" ? window.URL ? window.URL : window.webkitURL : undefined;
  4403. if (!Module.noImageDecoding && typeof Browser.URLObject === "undefined") {
  4404. console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");
  4405. Module.noImageDecoding = true;
  4406. }
  4407. var imagePlugin = {};
  4408. imagePlugin["canHandle"] = function imagePlugin_canHandle(name) {
  4409. return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name);
  4410. };
  4411. imagePlugin["handle"] = function imagePlugin_handle(byteArray, name, onload, onerror) {
  4412. var b = null;
  4413. if (Browser.hasBlobConstructor) {
  4414. try {
  4415. b = new Blob([ byteArray ], {
  4416. type: Browser.getMimetype(name)
  4417. });
  4418. if (b.size !== byteArray.length) {
  4419. b = new Blob([ new Uint8Array(byteArray).buffer ], {
  4420. type: Browser.getMimetype(name)
  4421. });
  4422. }
  4423. } catch (e) {
  4424. warnOnce("Blob constructor present but fails: " + e + "; falling back to blob builder");
  4425. }
  4426. }
  4427. if (!b) {
  4428. var bb = new Browser.BlobBuilder();
  4429. bb.append(new Uint8Array(byteArray).buffer);
  4430. b = bb.getBlob();
  4431. }
  4432. var url = Browser.URLObject.createObjectURL(b);
  4433. var img = new Image();
  4434. img.onload = function img_onload() {
  4435. assert(img.complete, "Image " + name + " could not be decoded");
  4436. var canvas = document.createElement("canvas");
  4437. canvas.width = img.width;
  4438. canvas.height = img.height;
  4439. var ctx = canvas.getContext("2d");
  4440. ctx.drawImage(img, 0, 0);
  4441. Module["preloadedImages"][name] = canvas;
  4442. Browser.URLObject.revokeObjectURL(url);
  4443. if (onload) onload(byteArray);
  4444. };
  4445. img.onerror = function img_onerror(event) {
  4446. console.log("Image " + url + " could not be decoded");
  4447. if (onerror) onerror();
  4448. };
  4449. img.src = url;
  4450. };
  4451. Module["preloadPlugins"].push(imagePlugin);
  4452. var audioPlugin = {};
  4453. audioPlugin["canHandle"] = function audioPlugin_canHandle(name) {
  4454. return !Module.noAudioDecoding && name.substr(-4) in {
  4455. ".ogg": 1,
  4456. ".wav": 1,
  4457. ".mp3": 1
  4458. };
  4459. };
  4460. audioPlugin["handle"] = function audioPlugin_handle(byteArray, name, onload, onerror) {
  4461. var done = false;
  4462. function finish(audio) {
  4463. if (done) return;
  4464. done = true;
  4465. Module["preloadedAudios"][name] = audio;
  4466. if (onload) onload(byteArray);
  4467. }
  4468. function fail() {
  4469. if (done) return;
  4470. done = true;
  4471. Module["preloadedAudios"][name] = new Audio();
  4472. if (onerror) onerror();
  4473. }
  4474. if (Browser.hasBlobConstructor) {
  4475. try {
  4476. var b = new Blob([ byteArray ], {
  4477. type: Browser.getMimetype(name)
  4478. });
  4479. } catch (e) {
  4480. return fail();
  4481. }
  4482. var url = Browser.URLObject.createObjectURL(b);
  4483. var audio = new Audio();
  4484. audio.addEventListener("canplaythrough", function() {
  4485. finish(audio);
  4486. }, false);
  4487. audio.onerror = function audio_onerror(event) {
  4488. if (done) return;
  4489. console.log("warning: browser could not fully decode audio " + name + ", trying slower base64 approach");
  4490. function encode64(data) {
  4491. var BASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  4492. var PAD = "=";
  4493. var ret = "";
  4494. var leftchar = 0;
  4495. var leftbits = 0;
  4496. for (var i = 0; i < data.length; i++) {
  4497. leftchar = leftchar << 8 | data[i];
  4498. leftbits += 8;
  4499. while (leftbits >= 6) {
  4500. var curr = leftchar >> leftbits - 6 & 63;
  4501. leftbits -= 6;
  4502. ret += BASE[curr];
  4503. }
  4504. }
  4505. if (leftbits == 2) {
  4506. ret += BASE[(leftchar & 3) << 4];
  4507. ret += PAD + PAD;
  4508. } else if (leftbits == 4) {
  4509. ret += BASE[(leftchar & 15) << 2];
  4510. ret += PAD;
  4511. }
  4512. return ret;
  4513. }
  4514. audio.src = "data:audio/x-" + name.substr(-3) + ";base64," + encode64(byteArray);
  4515. finish(audio);
  4516. };
  4517. audio.src = url;
  4518. Browser.safeSetTimeout(function() {
  4519. finish(audio);
  4520. }, 1e4);
  4521. } else {
  4522. return fail();
  4523. }
  4524. };
  4525. Module["preloadPlugins"].push(audioPlugin);
  4526. function pointerLockChange() {
  4527. Browser.pointerLock = document["pointerLockElement"] === Module["canvas"] || document["mozPointerLockElement"] === Module["canvas"] || document["webkitPointerLockElement"] === Module["canvas"] || document["msPointerLockElement"] === Module["canvas"];
  4528. }
  4529. var canvas = Module["canvas"];
  4530. if (canvas) {
  4531. canvas.requestPointerLock = canvas["requestPointerLock"] || canvas["mozRequestPointerLock"] || canvas["webkitRequestPointerLock"] || canvas["msRequestPointerLock"] || function() {};
  4532. canvas.exitPointerLock = document["exitPointerLock"] || document["mozExitPointerLock"] || document["webkitExitPointerLock"] || document["msExitPointerLock"] || function() {};
  4533. canvas.exitPointerLock = canvas.exitPointerLock.bind(document);
  4534. document.addEventListener("pointerlockchange", pointerLockChange, false);
  4535. document.addEventListener("mozpointerlockchange", pointerLockChange, false);
  4536. document.addEventListener("webkitpointerlockchange", pointerLockChange, false);
  4537. document.addEventListener("mspointerlockchange", pointerLockChange, false);
  4538. if (Module["elementPointerLock"]) {
  4539. canvas.addEventListener("click", function(ev) {
  4540. if (!Browser.pointerLock && Module["canvas"].requestPointerLock) {
  4541. Module["canvas"].requestPointerLock();
  4542. ev.preventDefault();
  4543. }
  4544. }, false);
  4545. }
  4546. }
  4547. },
  4548. createContext: function(canvas, useWebGL, setInModule, webGLContextAttributes) {
  4549. if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx;
  4550. var ctx;
  4551. var contextHandle;
  4552. if (useWebGL) {
  4553. var contextAttributes = {
  4554. antialias: false,
  4555. alpha: false,
  4556. majorVersion: 1
  4557. };
  4558. if (webGLContextAttributes) {
  4559. for (var attribute in webGLContextAttributes) {
  4560. contextAttributes[attribute] = webGLContextAttributes[attribute];
  4561. }
  4562. }
  4563. if (typeof GL !== "undefined") {
  4564. contextHandle = GL.createContext(canvas, contextAttributes);
  4565. if (contextHandle) {
  4566. ctx = GL.getContext(contextHandle).GLctx;
  4567. }
  4568. }
  4569. } else {
  4570. ctx = canvas.getContext("2d");
  4571. }
  4572. if (!ctx) return null;
  4573. if (setInModule) {
  4574. if (!useWebGL) assert(typeof GLctx === "undefined", "cannot set in module if GLctx is used, but we are a non-GL context that would replace it");
  4575. Module.ctx = ctx;
  4576. if (useWebGL) GL.makeContextCurrent(contextHandle);
  4577. Module.useWebGL = useWebGL;
  4578. Browser.moduleContextCreatedCallbacks.forEach(function(callback) {
  4579. callback();
  4580. });
  4581. Browser.init();
  4582. }
  4583. return ctx;
  4584. },
  4585. destroyContext: function(canvas, useWebGL, setInModule) {},
  4586. fullscreenHandlersInstalled: false,
  4587. lockPointer: undefined,
  4588. resizeCanvas: undefined,
  4589. requestFullscreen: function(lockPointer, resizeCanvas, vrDevice) {
  4590. lockPointer = false;
  4591. console.log("forcing lockPointer to false");
  4592. Browser.lockPointer = lockPointer;
  4593. Browser.resizeCanvas = resizeCanvas;
  4594. Browser.vrDevice = vrDevice;
  4595. if (typeof Browser.lockPointer === "undefined") Browser.lockPointer = false;
  4596. if (typeof Browser.resizeCanvas === "undefined") Browser.resizeCanvas = false;
  4597. if (typeof Browser.vrDevice === "undefined") Browser.vrDevice = null;
  4598. var canvas = Module["canvas"];
  4599. function fullscreenChange() {
  4600. Browser.isFullscreen = false;
  4601. var canvasContainer = canvas.parentNode;
  4602. if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvasContainer) {
  4603. canvas.exitFullscreen = document["exitFullscreen"] || document["cancelFullScreen"] || document["mozCancelFullScreen"] || document["msExitFullscreen"] || document["webkitCancelFullScreen"] || function() {};
  4604. canvas.exitFullscreen = canvas.exitFullscreen.bind(document);
  4605. Browser.isFullscreen = true;
  4606. if (Browser.resizeCanvas) {
  4607. Browser.setFullscreenCanvasSize();
  4608. } else {
  4609. Browser.updateCanvasDimensions(canvas);
  4610. }
  4611. } else {
  4612. canvasContainer.parentNode.insertBefore(canvas, canvasContainer);
  4613. canvasContainer.parentNode.removeChild(canvasContainer);
  4614. if (Browser.resizeCanvas) {
  4615. Browser.setWindowedCanvasSize();
  4616. } else {
  4617. Browser.updateCanvasDimensions(canvas);
  4618. }
  4619. }
  4620. if (Module["onFullScreen"]) Module["onFullScreen"](Browser.isFullscreen);
  4621. if (Module["onFullscreen"]) Module["onFullscreen"](Browser.isFullscreen);
  4622. }
  4623. if (!Browser.fullscreenHandlersInstalled) {
  4624. Browser.fullscreenHandlersInstalled = true;
  4625. document.addEventListener("fullscreenchange", fullscreenChange, false);
  4626. document.addEventListener("mozfullscreenchange", fullscreenChange, false);
  4627. document.addEventListener("webkitfullscreenchange", fullscreenChange, false);
  4628. document.addEventListener("MSFullscreenChange", fullscreenChange, false);
  4629. }
  4630. var canvasContainer = document.createElement("div");
  4631. canvas.parentNode.insertBefore(canvasContainer, canvas);
  4632. canvasContainer.appendChild(canvas);
  4633. canvasContainer.requestFullscreen = canvasContainer["requestFullscreen"] || canvasContainer["mozRequestFullScreen"] || canvasContainer["msRequestFullscreen"] || (canvasContainer["webkitRequestFullscreen"] ? function() {
  4634. canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]);
  4635. } : null) || (canvasContainer["webkitRequestFullScreen"] ? function() {
  4636. canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]);
  4637. } : null);
  4638. if (vrDevice) {
  4639. canvasContainer.requestFullscreen({
  4640. vrDisplay: vrDevice
  4641. });
  4642. } else {
  4643. canvasContainer.requestFullscreen();
  4644. }
  4645. },
  4646. requestFullScreen: function(lockPointer, resizeCanvas, vrDevice) {
  4647. err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");
  4648. Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) {
  4649. return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
  4650. };
  4651. return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
  4652. },
  4653. nextRAF: 0,
  4654. fakeRequestAnimationFrame: function(func) {
  4655. var now = Date.now();
  4656. if (Browser.nextRAF === 0) {
  4657. Browser.nextRAF = now + 1e3 / 60;
  4658. } else {
  4659. while (now + 2 >= Browser.nextRAF) {
  4660. Browser.nextRAF += 1e3 / 60;
  4661. }
  4662. }
  4663. var delay = Math.max(Browser.nextRAF - now, 0);
  4664. setTimeout(func, delay);
  4665. },
  4666. requestAnimationFrame: function requestAnimationFrame(func) {
  4667. if (typeof window === "undefined") {
  4668. Browser.fakeRequestAnimationFrame(func);
  4669. } else {
  4670. if (!window.requestAnimationFrame) {
  4671. window.requestAnimationFrame = window["requestAnimationFrame"] || window["mozRequestAnimationFrame"] || window["webkitRequestAnimationFrame"] || window["msRequestAnimationFrame"] || window["oRequestAnimationFrame"] || Browser.fakeRequestAnimationFrame;
  4672. }
  4673. window.requestAnimationFrame(func);
  4674. }
  4675. },
  4676. safeCallback: function(func) {
  4677. return function() {
  4678. if (!ABORT) return func.apply(null, arguments);
  4679. };
  4680. },
  4681. allowAsyncCallbacks: true,
  4682. queuedAsyncCallbacks: [],
  4683. pauseAsyncCallbacks: function() {
  4684. Browser.allowAsyncCallbacks = false;
  4685. },
  4686. resumeAsyncCallbacks: function() {
  4687. Browser.allowAsyncCallbacks = true;
  4688. if (Browser.queuedAsyncCallbacks.length > 0) {
  4689. var callbacks = Browser.queuedAsyncCallbacks;
  4690. Browser.queuedAsyncCallbacks = [];
  4691. callbacks.forEach(function(func) {
  4692. func();
  4693. });
  4694. }
  4695. },
  4696. safeRequestAnimationFrame: function(func) {
  4697. return Browser.requestAnimationFrame(function() {
  4698. if (ABORT) return;
  4699. if (Browser.allowAsyncCallbacks) {
  4700. func();
  4701. } else {
  4702. Browser.queuedAsyncCallbacks.push(func);
  4703. }
  4704. });
  4705. },
  4706. safeSetTimeout: function(func, timeout) {
  4707. Module["noExitRuntime"] = true;
  4708. return setTimeout(function() {
  4709. if (ABORT) return;
  4710. if (Browser.allowAsyncCallbacks) {
  4711. func();
  4712. } else {
  4713. Browser.queuedAsyncCallbacks.push(func);
  4714. }
  4715. }, timeout);
  4716. },
  4717. safeSetInterval: function(func, timeout) {
  4718. Module["noExitRuntime"] = true;
  4719. return setInterval(function() {
  4720. if (ABORT) return;
  4721. if (Browser.allowAsyncCallbacks) {
  4722. func();
  4723. }
  4724. }, timeout);
  4725. },
  4726. getMimetype: function(name) {
  4727. return {
  4728. "jpg": "image/jpeg",
  4729. "jpeg": "image/jpeg",
  4730. "png": "image/png",
  4731. "bmp": "image/bmp",
  4732. "ogg": "audio/ogg",
  4733. "wav": "audio/wav",
  4734. "mp3": "audio/mpeg"
  4735. }[name.substr(name.lastIndexOf(".") + 1)];
  4736. },
  4737. getUserMedia: function(func) {
  4738. if (!window.getUserMedia) {
  4739. window.getUserMedia = navigator["getUserMedia"] || navigator["mozGetUserMedia"];
  4740. }
  4741. window.getUserMedia(func);
  4742. },
  4743. getMovementX: function(event) {
  4744. return event["movementX"] || event["mozMovementX"] || event["webkitMovementX"] || 0;
  4745. },
  4746. getMovementY: function(event) {
  4747. return event["movementY"] || event["mozMovementY"] || event["webkitMovementY"] || 0;
  4748. },
  4749. getMouseWheelDelta: function(event) {
  4750. var delta = 0;
  4751. switch (event.type) {
  4752. case "DOMMouseScroll":
  4753. delta = event.detail;
  4754. break;
  4755. case "mousewheel":
  4756. delta = event.wheelDelta;
  4757. break;
  4758. case "wheel":
  4759. delta = event["deltaY"];
  4760. break;
  4761. default:
  4762. throw "unrecognized mouse wheel event: " + event.type;
  4763. }
  4764. return delta;
  4765. },
  4766. mouseX: 0,
  4767. mouseY: 0,
  4768. mouseMovementX: 0,
  4769. mouseMovementY: 0,
  4770. touches: {},
  4771. lastTouches: {},
  4772. calculateMouseEvent: function(event) {
  4773. if (Browser.pointerLock) {
  4774. if (event.type != "mousemove" && "mozMovementX" in event) {
  4775. Browser.mouseMovementX = Browser.mouseMovementY = 0;
  4776. } else {
  4777. Browser.mouseMovementX = Browser.getMovementX(event);
  4778. Browser.mouseMovementY = Browser.getMovementY(event);
  4779. }
  4780. if (typeof SDL != "undefined") {
  4781. Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;
  4782. Browser.mouseY = SDL.mouseY + Browser.mouseMovementY;
  4783. } else {
  4784. Browser.mouseX += Browser.mouseMovementX;
  4785. Browser.mouseY += Browser.mouseMovementY;
  4786. }
  4787. } else {
  4788. var rect = Module["canvas"].getBoundingClientRect();
  4789. var cw = Module["canvas"].width;
  4790. var ch = Module["canvas"].height;
  4791. var scrollX = typeof window.scrollX !== "undefined" ? window.scrollX : window.pageXOffset;
  4792. var scrollY = typeof window.scrollY !== "undefined" ? window.scrollY : window.pageYOffset;
  4793. if (event.type === "touchstart" || event.type === "touchend" || event.type === "touchmove") {
  4794. var touch = event.touch;
  4795. if (touch === undefined) {
  4796. return;
  4797. }
  4798. var adjustedX = touch.pageX - (scrollX + rect.left);
  4799. var adjustedY = touch.pageY - (scrollY + rect.top);
  4800. adjustedX = adjustedX * (cw / rect.width);
  4801. adjustedY = adjustedY * (ch / rect.height);
  4802. var coords = {
  4803. x: adjustedX,
  4804. y: adjustedY
  4805. };
  4806. if (event.type === "touchstart") {
  4807. Browser.lastTouches[touch.identifier] = coords;
  4808. Browser.touches[touch.identifier] = coords;
  4809. } else if (event.type === "touchend" || event.type === "touchmove") {
  4810. var last = Browser.touches[touch.identifier];
  4811. if (!last) last = coords;
  4812. Browser.lastTouches[touch.identifier] = last;
  4813. Browser.touches[touch.identifier] = coords;
  4814. }
  4815. return;
  4816. }
  4817. var x = event.pageX - (scrollX + rect.left);
  4818. var y = event.pageY - (scrollY + rect.top);
  4819. x = x * (cw / rect.width);
  4820. y = y * (ch / rect.height);
  4821. Browser.mouseMovementX = x - Browser.mouseX;
  4822. Browser.mouseMovementY = y - Browser.mouseY;
  4823. Browser.mouseX = x;
  4824. Browser.mouseY = y;
  4825. }
  4826. },
  4827. asyncLoad: function(url, onload, onerror, noRunDep) {
  4828. var dep = !noRunDep ? getUniqueRunDependency("al " + url) : "";
  4829. Module["readAsync"](url, function(arrayBuffer) {
  4830. assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).');
  4831. onload(new Uint8Array(arrayBuffer));
  4832. if (dep) removeRunDependency(dep);
  4833. }, function(event) {
  4834. if (onerror) {
  4835. onerror();
  4836. } else {
  4837. throw 'Loading data file "' + url + '" failed.';
  4838. }
  4839. });
  4840. if (dep) addRunDependency(dep);
  4841. },
  4842. resizeListeners: [],
  4843. updateResizeListeners: function() {
  4844. var canvas = Module["canvas"];
  4845. Browser.resizeListeners.forEach(function(listener) {
  4846. listener(canvas.width, canvas.height);
  4847. });
  4848. },
  4849. setCanvasSize: function(width, height, noUpdates) {
  4850. var canvas = Module["canvas"];
  4851. Browser.updateCanvasDimensions(canvas, width, height);
  4852. if (!noUpdates) Browser.updateResizeListeners();
  4853. },
  4854. windowedWidth: 0,
  4855. windowedHeight: 0,
  4856. setFullscreenCanvasSize: function() {
  4857. if (typeof SDL != "undefined") {
  4858. var flags = HEAPU32[SDL.screen >> 2];
  4859. flags = flags | 8388608;
  4860. HEAP32[SDL.screen >> 2] = flags;
  4861. }
  4862. Browser.updateCanvasDimensions(Module["canvas"]);
  4863. Browser.updateResizeListeners();
  4864. },
  4865. setWindowedCanvasSize: function() {
  4866. if (typeof SDL != "undefined") {
  4867. var flags = HEAPU32[SDL.screen >> 2];
  4868. flags = flags & ~8388608;
  4869. HEAP32[SDL.screen >> 2] = flags;
  4870. }
  4871. Browser.updateCanvasDimensions(Module["canvas"]);
  4872. Browser.updateResizeListeners();
  4873. },
  4874. updateCanvasDimensions: function(canvas, wNative, hNative) {
  4875. if (wNative && hNative) {
  4876. canvas.widthNative = wNative;
  4877. canvas.heightNative = hNative;
  4878. } else {
  4879. wNative = canvas.widthNative;
  4880. hNative = canvas.heightNative;
  4881. }
  4882. var w = wNative;
  4883. var h = hNative;
  4884. if (Module["forcedAspectRatio"] && Module["forcedAspectRatio"] > 0) {
  4885. if (w / h < Module["forcedAspectRatio"]) {
  4886. w = Math.round(h * Module["forcedAspectRatio"]);
  4887. } else {
  4888. h = Math.round(w / Module["forcedAspectRatio"]);
  4889. }
  4890. }
  4891. if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvas.parentNode && typeof screen != "undefined") {
  4892. var factor = Math.min(screen.width / w, screen.height / h);
  4893. w = Math.round(w * factor);
  4894. h = Math.round(h * factor);
  4895. }
  4896. if (Browser.resizeCanvas) {
  4897. if (canvas.width != w) canvas.width = w;
  4898. if (canvas.height != h) canvas.height = h;
  4899. if (typeof canvas.style != "undefined") {
  4900. canvas.style.removeProperty("width");
  4901. canvas.style.removeProperty("height");
  4902. }
  4903. } else {
  4904. if (canvas.width != wNative) canvas.width = wNative;
  4905. if (canvas.height != hNative) canvas.height = hNative;
  4906. if (typeof canvas.style != "undefined") {
  4907. if (w != wNative || h != hNative) {
  4908. canvas.style.setProperty("width", w + "px", "important");
  4909. canvas.style.setProperty("height", h + "px", "important");
  4910. } else {
  4911. canvas.style.removeProperty("width");
  4912. canvas.style.removeProperty("height");
  4913. }
  4914. }
  4915. }
  4916. },
  4917. wgetRequests: {},
  4918. nextWgetRequestHandle: 0,
  4919. getNextWgetRequestHandle: function() {
  4920. var handle = Browser.nextWgetRequestHandle;
  4921. Browser.nextWgetRequestHandle++;
  4922. return handle;
  4923. }
  4924. };
  4925. function _SDL_GetTicks() {
  4926. return Date.now() - SDL.startTime | 0;
  4927. }
  4928. function _SDL_LockSurface(surf) {
  4929. var surfData = SDL.surfaces[surf];
  4930. surfData.locked++;
  4931. if (surfData.locked > 1) return 0;
  4932. if (!surfData.buffer) {
  4933. surfData.buffer = _malloc(surfData.width * surfData.height * 4);
  4934. HEAP32[surf + 20 >> 2] = surfData.buffer;
  4935. }
  4936. HEAP32[surf + 20 >> 2] = surfData.buffer;
  4937. if (surf == SDL.screen && Module.screenIsReadOnly && surfData.image) return 0;
  4938. if (SDL.defaults.discardOnLock) {
  4939. if (!surfData.image) {
  4940. surfData.image = surfData.ctx.createImageData(surfData.width, surfData.height);
  4941. }
  4942. if (!SDL.defaults.opaqueFrontBuffer) return;
  4943. } else {
  4944. surfData.image = surfData.ctx.getImageData(0, 0, surfData.width, surfData.height);
  4945. }
  4946. if (surf == SDL.screen && SDL.defaults.opaqueFrontBuffer) {
  4947. var data = surfData.image.data;
  4948. var num = data.length;
  4949. for (var i = 0; i < num / 4; i++) {
  4950. data[i * 4 + 3] = 255;
  4951. }
  4952. }
  4953. if (SDL.defaults.copyOnLock && !SDL.defaults.discardOnLock) {
  4954. if (surfData.isFlagSet(2097152)) {
  4955. throw "CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set" + new Error().stack;
  4956. } else {
  4957. HEAPU8.set(surfData.image.data, surfData.buffer);
  4958. }
  4959. }
  4960. return 0;
  4961. }
  4962. var SDL = {
  4963. defaults: {
  4964. width: 320,
  4965. height: 200,
  4966. copyOnLock: false,
  4967. discardOnLock: true,
  4968. opaqueFrontBuffer: false
  4969. },
  4970. version: null,
  4971. surfaces: {},
  4972. canvasPool: [],
  4973. events: [],
  4974. fonts: [ null ],
  4975. audios: [ null ],
  4976. rwops: [ null ],
  4977. music: {
  4978. audio: null,
  4979. volume: 1
  4980. },
  4981. mixerFrequency: 22050,
  4982. mixerFormat: 32784,
  4983. mixerNumChannels: 2,
  4984. mixerChunkSize: 1024,
  4985. channelMinimumNumber: 0,
  4986. GL: false,
  4987. glAttributes: {
  4988. 0: 3,
  4989. 1: 3,
  4990. 2: 2,
  4991. 3: 0,
  4992. 4: 0,
  4993. 5: 1,
  4994. 6: 16,
  4995. 7: 0,
  4996. 8: 0,
  4997. 9: 0,
  4998. 10: 0,
  4999. 11: 0,
  5000. 12: 0,
  5001. 13: 0,
  5002. 14: 0,
  5003. 15: 1,
  5004. 16: 0,
  5005. 17: 0,
  5006. 18: 0
  5007. },
  5008. keyboardState: null,
  5009. keyboardMap: {},
  5010. canRequestFullscreen: false,
  5011. isRequestingFullscreen: false,
  5012. textInput: false,
  5013. startTime: null,
  5014. initFlags: 0,
  5015. buttonState: 0,
  5016. modState: 0,
  5017. DOMButtons: [ 0, 0, 0 ],
  5018. DOMEventToSDLEvent: {},
  5019. TOUCH_DEFAULT_ID: 0,
  5020. eventHandler: null,
  5021. eventHandlerContext: null,
  5022. eventHandlerTemp: 0,
  5023. keyCodes: {
  5024. 16: 1249,
  5025. 17: 1248,
  5026. 18: 1250,
  5027. 20: 1081,
  5028. 33: 1099,
  5029. 34: 1102,
  5030. 35: 1101,
  5031. 36: 1098,
  5032. 37: 1104,
  5033. 38: 1106,
  5034. 39: 1103,
  5035. 40: 1105,
  5036. 44: 316,
  5037. 45: 1097,
  5038. 46: 127,
  5039. 91: 1251,
  5040. 93: 1125,
  5041. 96: 1122,
  5042. 97: 1113,
  5043. 98: 1114,
  5044. 99: 1115,
  5045. 100: 1116,
  5046. 101: 1117,
  5047. 102: 1118,
  5048. 103: 1119,
  5049. 104: 1120,
  5050. 105: 1121,
  5051. 106: 1109,
  5052. 107: 1111,
  5053. 109: 1110,
  5054. 110: 1123,
  5055. 111: 1108,
  5056. 112: 1082,
  5057. 113: 1083,
  5058. 114: 1084,
  5059. 115: 1085,
  5060. 116: 1086,
  5061. 117: 1087,
  5062. 118: 1088,
  5063. 119: 1089,
  5064. 120: 1090,
  5065. 121: 1091,
  5066. 122: 1092,
  5067. 123: 1093,
  5068. 124: 1128,
  5069. 125: 1129,
  5070. 126: 1130,
  5071. 127: 1131,
  5072. 128: 1132,
  5073. 129: 1133,
  5074. 130: 1134,
  5075. 131: 1135,
  5076. 132: 1136,
  5077. 133: 1137,
  5078. 134: 1138,
  5079. 135: 1139,
  5080. 144: 1107,
  5081. 160: 94,
  5082. 161: 33,
  5083. 162: 34,
  5084. 163: 35,
  5085. 164: 36,
  5086. 165: 37,
  5087. 166: 38,
  5088. 167: 95,
  5089. 168: 40,
  5090. 169: 41,
  5091. 170: 42,
  5092. 171: 43,
  5093. 172: 124,
  5094. 173: 45,
  5095. 174: 123,
  5096. 175: 125,
  5097. 176: 126,
  5098. 181: 127,
  5099. 182: 129,
  5100. 183: 128,
  5101. 188: 44,
  5102. 190: 46,
  5103. 191: 47,
  5104. 192: 96,
  5105. 219: 91,
  5106. 220: 92,
  5107. 221: 93,
  5108. 222: 39,
  5109. 224: 1251
  5110. },
  5111. scanCodes: {
  5112. 8: 42,
  5113. 9: 43,
  5114. 13: 40,
  5115. 27: 41,
  5116. 32: 44,
  5117. 35: 204,
  5118. 39: 53,
  5119. 44: 54,
  5120. 46: 55,
  5121. 47: 56,
  5122. 48: 39,
  5123. 49: 30,
  5124. 50: 31,
  5125. 51: 32,
  5126. 52: 33,
  5127. 53: 34,
  5128. 54: 35,
  5129. 55: 36,
  5130. 56: 37,
  5131. 57: 38,
  5132. 58: 203,
  5133. 59: 51,
  5134. 61: 46,
  5135. 91: 47,
  5136. 92: 49,
  5137. 93: 48,
  5138. 96: 52,
  5139. 97: 4,
  5140. 98: 5,
  5141. 99: 6,
  5142. 100: 7,
  5143. 101: 8,
  5144. 102: 9,
  5145. 103: 10,
  5146. 104: 11,
  5147. 105: 12,
  5148. 106: 13,
  5149. 107: 14,
  5150. 108: 15,
  5151. 109: 16,
  5152. 110: 17,
  5153. 111: 18,
  5154. 112: 19,
  5155. 113: 20,
  5156. 114: 21,
  5157. 115: 22,
  5158. 116: 23,
  5159. 117: 24,
  5160. 118: 25,
  5161. 119: 26,
  5162. 120: 27,
  5163. 121: 28,
  5164. 122: 29,
  5165. 127: 76,
  5166. 305: 224,
  5167. 308: 226,
  5168. 316: 70
  5169. },
  5170. loadRect: function(rect) {
  5171. return {
  5172. x: HEAP32[rect + 0 >> 2],
  5173. y: HEAP32[rect + 4 >> 2],
  5174. w: HEAP32[rect + 8 >> 2],
  5175. h: HEAP32[rect + 12 >> 2]
  5176. };
  5177. },
  5178. updateRect: function(rect, r) {
  5179. HEAP32[rect >> 2] = r.x;
  5180. HEAP32[rect + 4 >> 2] = r.y;
  5181. HEAP32[rect + 8 >> 2] = r.w;
  5182. HEAP32[rect + 12 >> 2] = r.h;
  5183. },
  5184. intersectionOfRects: function(first, second) {
  5185. var leftX = Math.max(first.x, second.x);
  5186. var leftY = Math.max(first.y, second.y);
  5187. var rightX = Math.min(first.x + first.w, second.x + second.w);
  5188. var rightY = Math.min(first.y + first.h, second.y + second.h);
  5189. return {
  5190. x: leftX,
  5191. y: leftY,
  5192. w: Math.max(leftX, rightX) - leftX,
  5193. h: Math.max(leftY, rightY) - leftY
  5194. };
  5195. },
  5196. checkPixelFormat: function(fmt) {},
  5197. loadColorToCSSRGB: function(color) {
  5198. var rgba = HEAP32[color >> 2];
  5199. return "rgb(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + ")";
  5200. },
  5201. loadColorToCSSRGBA: function(color) {
  5202. var rgba = HEAP32[color >> 2];
  5203. return "rgba(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + "," + (rgba >> 24 & 255) / 255 + ")";
  5204. },
  5205. translateColorToCSSRGBA: function(rgba) {
  5206. return "rgba(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + "," + (rgba >>> 24) / 255 + ")";
  5207. },
  5208. translateRGBAToCSSRGBA: function(r, g, b, a) {
  5209. return "rgba(" + (r & 255) + "," + (g & 255) + "," + (b & 255) + "," + (a & 255) / 255 + ")";
  5210. },
  5211. translateRGBAToColor: function(r, g, b, a) {
  5212. return r | g << 8 | b << 16 | a << 24;
  5213. },
  5214. makeSurface: function(width, height, flags, usePageCanvas, source, rmask, gmask, bmask, amask) {
  5215. flags = flags || 0;
  5216. var is_SDL_HWSURFACE = flags & 1;
  5217. var is_SDL_HWPALETTE = flags & 2097152;
  5218. var is_SDL_OPENGL = flags & 67108864;
  5219. var surf = _malloc(60);
  5220. var pixelFormat = _malloc(44);
  5221. var bpp = is_SDL_HWPALETTE ? 1 : 4;
  5222. var buffer = 0;
  5223. if (!is_SDL_HWSURFACE && !is_SDL_OPENGL) {
  5224. buffer = _malloc(width * height * 4);
  5225. }
  5226. HEAP32[surf >> 2] = flags;
  5227. HEAP32[surf + 4 >> 2] = pixelFormat;
  5228. HEAP32[surf + 8 >> 2] = width;
  5229. HEAP32[surf + 12 >> 2] = height;
  5230. HEAP32[surf + 16 >> 2] = width * bpp;
  5231. HEAP32[surf + 20 >> 2] = buffer;
  5232. HEAP32[surf + 36 >> 2] = 0;
  5233. HEAP32[surf + 40 >> 2] = 0;
  5234. HEAP32[surf + 44 >> 2] = Module["canvas"].width;
  5235. HEAP32[surf + 48 >> 2] = Module["canvas"].height;
  5236. HEAP32[surf + 56 >> 2] = 1;
  5237. HEAP32[pixelFormat >> 2] = -2042224636;
  5238. HEAP32[pixelFormat + 4 >> 2] = 0;
  5239. HEAP8[pixelFormat + 8 >> 0] = bpp * 8;
  5240. HEAP8[pixelFormat + 9 >> 0] = bpp;
  5241. HEAP32[pixelFormat + 12 >> 2] = rmask || 255;
  5242. HEAP32[pixelFormat + 16 >> 2] = gmask || 65280;
  5243. HEAP32[pixelFormat + 20 >> 2] = bmask || 16711680;
  5244. HEAP32[pixelFormat + 24 >> 2] = amask || 4278190080;
  5245. SDL.GL = SDL.GL || is_SDL_OPENGL;
  5246. var canvas;
  5247. if (!usePageCanvas) {
  5248. if (SDL.canvasPool.length > 0) {
  5249. canvas = SDL.canvasPool.pop();
  5250. } else {
  5251. canvas = document.createElement("canvas");
  5252. }
  5253. canvas.width = width;
  5254. canvas.height = height;
  5255. } else {
  5256. canvas = Module["canvas"];
  5257. }
  5258. var webGLContextAttributes = {
  5259. antialias: SDL.glAttributes[13] != 0 && SDL.glAttributes[14] > 1,
  5260. depth: SDL.glAttributes[6] > 0,
  5261. stencil: SDL.glAttributes[7] > 0,
  5262. alpha: SDL.glAttributes[3] > 0
  5263. };
  5264. var ctx = Browser.createContext(canvas, is_SDL_OPENGL, usePageCanvas, webGLContextAttributes);
  5265. SDL.surfaces[surf] = {
  5266. width: width,
  5267. height: height,
  5268. canvas: canvas,
  5269. ctx: ctx,
  5270. surf: surf,
  5271. buffer: buffer,
  5272. pixelFormat: pixelFormat,
  5273. alpha: 255,
  5274. flags: flags,
  5275. locked: 0,
  5276. usePageCanvas: usePageCanvas,
  5277. source: source,
  5278. isFlagSet: function(flag) {
  5279. return flags & flag;
  5280. }
  5281. };
  5282. return surf;
  5283. },
  5284. copyIndexedColorData: function(surfData, rX, rY, rW, rH) {
  5285. if (!surfData.colors) {
  5286. return;
  5287. }
  5288. var fullWidth = Module["canvas"].width;
  5289. var fullHeight = Module["canvas"].height;
  5290. var startX = rX || 0;
  5291. var startY = rY || 0;
  5292. var endX = (rW || fullWidth - startX) + startX;
  5293. var endY = (rH || fullHeight - startY) + startY;
  5294. var buffer = surfData.buffer;
  5295. if (!surfData.image.data32) {
  5296. surfData.image.data32 = new Uint32Array(surfData.image.data.buffer);
  5297. }
  5298. var data32 = surfData.image.data32;
  5299. var colors32 = surfData.colors32;
  5300. for (var y = startY; y < endY; ++y) {
  5301. var base = y * fullWidth;
  5302. for (var x = startX; x < endX; ++x) {
  5303. data32[base + x] = colors32[HEAPU8[buffer + base + x >> 0]];
  5304. }
  5305. }
  5306. },
  5307. freeSurface: function(surf) {
  5308. var refcountPointer = surf + 56;
  5309. var refcount = HEAP32[refcountPointer >> 2];
  5310. if (refcount > 1) {
  5311. HEAP32[refcountPointer >> 2] = refcount - 1;
  5312. return;
  5313. }
  5314. var info = SDL.surfaces[surf];
  5315. if (!info.usePageCanvas && info.canvas) SDL.canvasPool.push(info.canvas);
  5316. if (info.buffer) _free(info.buffer);
  5317. _free(info.pixelFormat);
  5318. _free(surf);
  5319. SDL.surfaces[surf] = null;
  5320. if (surf === SDL.screen) {
  5321. SDL.screen = null;
  5322. }
  5323. },
  5324. blitSurface: function(src, srcrect, dst, dstrect, scale) {
  5325. var srcData = SDL.surfaces[src];
  5326. var dstData = SDL.surfaces[dst];
  5327. var sr, dr;
  5328. if (srcrect) {
  5329. sr = SDL.loadRect(srcrect);
  5330. } else {
  5331. sr = {
  5332. x: 0,
  5333. y: 0,
  5334. w: srcData.width,
  5335. h: srcData.height
  5336. };
  5337. }
  5338. if (dstrect) {
  5339. dr = SDL.loadRect(dstrect);
  5340. } else {
  5341. dr = {
  5342. x: 0,
  5343. y: 0,
  5344. w: srcData.width,
  5345. h: srcData.height
  5346. };
  5347. }
  5348. if (dstData.clipRect) {
  5349. var widthScale = !scale || sr.w === 0 ? 1 : sr.w / dr.w;
  5350. var heightScale = !scale || sr.h === 0 ? 1 : sr.h / dr.h;
  5351. dr = SDL.intersectionOfRects(dstData.clipRect, dr);
  5352. sr.w = dr.w * widthScale;
  5353. sr.h = dr.h * heightScale;
  5354. if (dstrect) {
  5355. SDL.updateRect(dstrect, dr);
  5356. }
  5357. }
  5358. var blitw, blith;
  5359. if (scale) {
  5360. blitw = dr.w;
  5361. blith = dr.h;
  5362. } else {
  5363. blitw = sr.w;
  5364. blith = sr.h;
  5365. }
  5366. if (sr.w === 0 || sr.h === 0 || blitw === 0 || blith === 0) {
  5367. return 0;
  5368. }
  5369. var oldAlpha = dstData.ctx.globalAlpha;
  5370. dstData.ctx.globalAlpha = srcData.alpha / 255;
  5371. dstData.ctx.drawImage(srcData.canvas, sr.x, sr.y, sr.w, sr.h, dr.x, dr.y, blitw, blith);
  5372. dstData.ctx.globalAlpha = oldAlpha;
  5373. if (dst != SDL.screen) {
  5374. warnOnce("WARNING: copying canvas data to memory for compatibility");
  5375. _SDL_LockSurface(dst);
  5376. dstData.locked--;
  5377. }
  5378. return 0;
  5379. },
  5380. downFingers: {},
  5381. savedKeydown: null,
  5382. receiveEvent: function(event) {
  5383. function unpressAllPressedKeys() {
  5384. for (var code in SDL.keyboardMap) {
  5385. SDL.events.push({
  5386. type: "keyup",
  5387. keyCode: SDL.keyboardMap[code]
  5388. });
  5389. }
  5390. }
  5391. switch (event.type) {
  5392. case "touchstart":
  5393. case "touchmove":
  5394. {
  5395. event.preventDefault();
  5396. var touches = [];
  5397. if (event.type === "touchstart") {
  5398. for (var i = 0; i < event.touches.length; i++) {
  5399. var touch = event.touches[i];
  5400. if (SDL.downFingers[touch.identifier] != true) {
  5401. SDL.downFingers[touch.identifier] = true;
  5402. touches.push(touch);
  5403. }
  5404. }
  5405. } else {
  5406. touches = event.touches;
  5407. }
  5408. var firstTouch = touches[0];
  5409. if (firstTouch) {
  5410. if (event.type == "touchstart") {
  5411. SDL.DOMButtons[0] = 1;
  5412. }
  5413. var mouseEventType;
  5414. switch (event.type) {
  5415. case "touchstart":
  5416. mouseEventType = "mousedown";
  5417. break;
  5418. case "touchmove":
  5419. mouseEventType = "mousemove";
  5420. break;
  5421. }
  5422. var mouseEvent = {
  5423. type: mouseEventType,
  5424. button: 0,
  5425. pageX: firstTouch.clientX,
  5426. pageY: firstTouch.clientY
  5427. };
  5428. SDL.events.push(mouseEvent);
  5429. }
  5430. for (var i = 0; i < touches.length; i++) {
  5431. var touch = touches[i];
  5432. SDL.events.push({
  5433. type: event.type,
  5434. touch: touch
  5435. });
  5436. }
  5437. break;
  5438. }
  5439. case "touchend":
  5440. {
  5441. event.preventDefault();
  5442. for (var i = 0; i < event.changedTouches.length; i++) {
  5443. var touch = event.changedTouches[i];
  5444. if (SDL.downFingers[touch.identifier] === true) {
  5445. delete SDL.downFingers[touch.identifier];
  5446. }
  5447. }
  5448. var mouseEvent = {
  5449. type: "mouseup",
  5450. button: 0,
  5451. pageX: event.changedTouches[0].clientX,
  5452. pageY: event.changedTouches[0].clientY
  5453. };
  5454. SDL.DOMButtons[0] = 0;
  5455. SDL.events.push(mouseEvent);
  5456. for (var i = 0; i < event.changedTouches.length; i++) {
  5457. var touch = event.changedTouches[i];
  5458. SDL.events.push({
  5459. type: "touchend",
  5460. touch: touch
  5461. });
  5462. }
  5463. break;
  5464. }
  5465. case "DOMMouseScroll":
  5466. case "mousewheel":
  5467. case "wheel":
  5468. var delta = -Browser.getMouseWheelDelta(event);
  5469. delta = delta == 0 ? 0 : delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1);
  5470. var button = delta > 0 ? 3 : 4;
  5471. SDL.events.push({
  5472. type: "mousedown",
  5473. button: button,
  5474. pageX: event.pageX,
  5475. pageY: event.pageY
  5476. });
  5477. SDL.events.push({
  5478. type: "mouseup",
  5479. button: button,
  5480. pageX: event.pageX,
  5481. pageY: event.pageY
  5482. });
  5483. SDL.events.push({
  5484. type: "wheel",
  5485. deltaX: 0,
  5486. deltaY: delta
  5487. });
  5488. event.preventDefault();
  5489. break;
  5490. case "mousemove":
  5491. if (SDL.DOMButtons[0] === 1) {
  5492. SDL.events.push({
  5493. type: "touchmove",
  5494. touch: {
  5495. identifier: 0,
  5496. deviceID: -1,
  5497. pageX: event.pageX,
  5498. pageY: event.pageY
  5499. }
  5500. });
  5501. }
  5502. if (Browser.pointerLock) {
  5503. if ("mozMovementX" in event) {
  5504. event["movementX"] = event["mozMovementX"];
  5505. event["movementY"] = event["mozMovementY"];
  5506. }
  5507. if (event["movementX"] == 0 && event["movementY"] == 0) {
  5508. event.preventDefault();
  5509. return;
  5510. }
  5511. }
  5512. case "keydown":
  5513. case "keyup":
  5514. case "keypress":
  5515. case "mousedown":
  5516. case "mouseup":
  5517. if (event.type !== "keydown" || !SDL.unicode && !SDL.textInput || (event.keyCode === 8 || event.keyCode === 9)) {}
  5518. if (event.type == "mousedown") {
  5519. SDL.DOMButtons[event.button] = 1;
  5520. SDL.events.push({
  5521. type: "touchstart",
  5522. touch: {
  5523. identifier: 0,
  5524. deviceID: -1,
  5525. pageX: event.pageX,
  5526. pageY: event.pageY
  5527. }
  5528. });
  5529. } else if (event.type == "mouseup") {
  5530. if (!SDL.DOMButtons[event.button]) {
  5531. return;
  5532. }
  5533. SDL.events.push({
  5534. type: "touchend",
  5535. touch: {
  5536. identifier: 0,
  5537. deviceID: -1,
  5538. pageX: event.pageX,
  5539. pageY: event.pageY
  5540. }
  5541. });
  5542. SDL.DOMButtons[event.button] = 0;
  5543. }
  5544. if (event.type === "keydown" || event.type === "mousedown") {
  5545. SDL.canRequestFullscreen = true;
  5546. } else if (event.type === "keyup" || event.type === "mouseup") {
  5547. if (SDL.isRequestingFullscreen) {
  5548. Module["requestFullscreen"](false, true);
  5549. SDL.isRequestingFullscreen = false;
  5550. }
  5551. SDL.canRequestFullscreen = false;
  5552. }
  5553. if (event.type === "keypress" && SDL.savedKeydown) {
  5554. SDL.savedKeydown.keypressCharCode = event.charCode;
  5555. SDL.savedKeydown = null;
  5556. } else if (event.type === "keydown") {
  5557. SDL.savedKeydown = event;
  5558. }
  5559. if (event.type !== "keypress" || SDL.textInput) {
  5560. SDL.events.push(event);
  5561. }
  5562. break;
  5563. case "mouseout":
  5564. for (var i = 0; i < 3; i++) {
  5565. if (SDL.DOMButtons[i]) {
  5566. SDL.events.push({
  5567. type: "mouseup",
  5568. button: i,
  5569. pageX: event.pageX,
  5570. pageY: event.pageY
  5571. });
  5572. SDL.DOMButtons[i] = 0;
  5573. }
  5574. }
  5575. event.preventDefault();
  5576. break;
  5577. case "focus":
  5578. SDL.events.push(event);
  5579. event.preventDefault();
  5580. break;
  5581. case "blur":
  5582. SDL.events.push(event);
  5583. unpressAllPressedKeys();
  5584. event.preventDefault();
  5585. break;
  5586. case "visibilitychange":
  5587. SDL.events.push({
  5588. type: "visibilitychange",
  5589. visible: !document.hidden
  5590. });
  5591. unpressAllPressedKeys();
  5592. event.preventDefault();
  5593. break;
  5594. case "unload":
  5595. if (Browser.mainLoop.runner) {
  5596. SDL.events.push(event);
  5597. Browser.mainLoop.runner();
  5598. }
  5599. return;
  5600. case "resize":
  5601. SDL.events.push(event);
  5602. if (event.preventDefault) {
  5603. event.preventDefault();
  5604. }
  5605. break;
  5606. }
  5607. if (SDL.events.length >= 1e4) {
  5608. err("SDL event queue full, dropping events");
  5609. SDL.events = SDL.events.slice(0, 1e4);
  5610. }
  5611. SDL.flushEventsToHandler();
  5612. return;
  5613. },
  5614. lookupKeyCodeForEvent: function(event) {
  5615. var code = event.keyCode;
  5616. if (code >= 65 && code <= 90) {
  5617. code += 32;
  5618. } else {
  5619. code = SDL.keyCodes[event.keyCode] || event.keyCode;
  5620. if (event.location === KeyboardEvent.DOM_KEY_LOCATION_RIGHT && code >= (224 | 1 << 10) && code <= (227 | 1 << 10)) {
  5621. code += 4;
  5622. }
  5623. }
  5624. return code;
  5625. },
  5626. handleEvent: function(event) {
  5627. if (event.handled) return;
  5628. event.handled = true;
  5629. switch (event.type) {
  5630. case "touchstart":
  5631. case "touchend":
  5632. case "touchmove":
  5633. {
  5634. Browser.calculateMouseEvent(event);
  5635. break;
  5636. }
  5637. case "keydown":
  5638. case "keyup":
  5639. {
  5640. var down = event.type === "keydown";
  5641. var code = SDL.lookupKeyCodeForEvent(event);
  5642. HEAP8[SDL.keyboardState + code >> 0] = down;
  5643. SDL.modState = (HEAP8[SDL.keyboardState + 1248 >> 0] ? 64 : 0) | (HEAP8[SDL.keyboardState + 1249 >> 0] ? 1 : 0) | (HEAP8[SDL.keyboardState + 1250 >> 0] ? 256 : 0) | (HEAP8[SDL.keyboardState + 1252 >> 0] ? 128 : 0) | (HEAP8[SDL.keyboardState + 1253 >> 0] ? 2 : 0) | (HEAP8[SDL.keyboardState + 1254 >> 0] ? 512 : 0);
  5644. if (down) {
  5645. SDL.keyboardMap[code] = event.keyCode;
  5646. } else {
  5647. delete SDL.keyboardMap[code];
  5648. }
  5649. break;
  5650. }
  5651. case "mousedown":
  5652. case "mouseup":
  5653. if (event.type == "mousedown") {
  5654. SDL.buttonState |= 1 << event.button;
  5655. } else if (event.type == "mouseup") {
  5656. SDL.buttonState &= ~(1 << event.button);
  5657. }
  5658. case "mousemove":
  5659. {
  5660. Browser.calculateMouseEvent(event);
  5661. break;
  5662. }
  5663. }
  5664. },
  5665. flushEventsToHandler: function() {
  5666. if (!SDL.eventHandler) return;
  5667. while (SDL.pollEvent(SDL.eventHandlerTemp)) {
  5668. Module["dynCall_iii"](SDL.eventHandler, SDL.eventHandlerContext, SDL.eventHandlerTemp);
  5669. }
  5670. },
  5671. pollEvent: function(ptr) {
  5672. if (SDL.initFlags & 512 && SDL.joystickEventState) {
  5673. SDL.queryJoysticks();
  5674. }
  5675. if (ptr) {
  5676. while (SDL.events.length > 0) {
  5677. if (SDL.makeCEvent(SDL.events.shift(), ptr) !== false) return 1;
  5678. }
  5679. return 0;
  5680. } else {
  5681. return SDL.events.length > 0;
  5682. }
  5683. },
  5684. makeCEvent: function(event, ptr) {
  5685. if (typeof event === "number") {
  5686. _memcpy(ptr, event, 28);
  5687. _free(event);
  5688. return;
  5689. }
  5690. SDL.handleEvent(event);
  5691. switch (event.type) {
  5692. case "keydown":
  5693. case "keyup":
  5694. {
  5695. var down = event.type === "keydown";
  5696. var key = SDL.lookupKeyCodeForEvent(event);
  5697. var scan;
  5698. if (key >= 1024) {
  5699. scan = key - 1024;
  5700. } else {
  5701. scan = SDL.scanCodes[key] || key;
  5702. }
  5703. HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
  5704. HEAP8[ptr + 8 >> 0] = down ? 1 : 0;
  5705. HEAP8[ptr + 9 >> 0] = 0;
  5706. HEAP32[ptr + 12 >> 2] = scan;
  5707. HEAP32[ptr + 16 >> 2] = key;
  5708. HEAP16[ptr + 20 >> 1] = SDL.modState;
  5709. HEAP32[ptr + 24 >> 2] = event.keypressCharCode || key;
  5710. break;
  5711. }
  5712. case "keypress":
  5713. {
  5714. HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
  5715. var cStr = intArrayFromString(String.fromCharCode(event.charCode));
  5716. for (var i = 0; i < cStr.length; ++i) {
  5717. HEAP8[ptr + (8 + i) >> 0] = cStr[i];
  5718. }
  5719. break;
  5720. }
  5721. case "mousedown":
  5722. case "mouseup":
  5723. case "mousemove":
  5724. {
  5725. if (event.type != "mousemove") {
  5726. var down = event.type === "mousedown";
  5727. HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
  5728. HEAP32[ptr + 4 >> 2] = 0;
  5729. HEAP32[ptr + 8 >> 2] = 0;
  5730. HEAP32[ptr + 12 >> 2] = 0;
  5731. HEAP8[ptr + 16 >> 0] = event.button + 1;
  5732. HEAP8[ptr + 17 >> 0] = down ? 1 : 0;
  5733. HEAP32[ptr + 20 >> 2] = Browser.mouseX;
  5734. HEAP32[ptr + 24 >> 2] = Browser.mouseY;
  5735. } else {
  5736. HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
  5737. HEAP32[ptr + 4 >> 2] = 0;
  5738. HEAP32[ptr + 8 >> 2] = 0;
  5739. HEAP32[ptr + 12 >> 2] = 0;
  5740. HEAP32[ptr + 16 >> 2] = SDL.buttonState;
  5741. HEAP32[ptr + 20 >> 2] = Browser.mouseX;
  5742. HEAP32[ptr + 24 >> 2] = Browser.mouseY;
  5743. HEAP32[ptr + 28 >> 2] = Browser.mouseMovementX;
  5744. HEAP32[ptr + 32 >> 2] = Browser.mouseMovementY;
  5745. }
  5746. break;
  5747. }
  5748. case "wheel":
  5749. {
  5750. HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
  5751. HEAP32[ptr + 16 >> 2] = event.deltaX;
  5752. HEAP32[ptr + 20 >> 2] = event.deltaY;
  5753. break;
  5754. }
  5755. case "touchstart":
  5756. case "touchend":
  5757. case "touchmove":
  5758. {
  5759. var touch = event.touch;
  5760. if (!Browser.touches[touch.identifier]) break;
  5761. var w = Module["canvas"].width;
  5762. var h = Module["canvas"].height;
  5763. var x = Browser.touches[touch.identifier].x / w;
  5764. var y = Browser.touches[touch.identifier].y / h;
  5765. var lx = Browser.lastTouches[touch.identifier].x / w;
  5766. var ly = Browser.lastTouches[touch.identifier].y / h;
  5767. var dx = x - lx;
  5768. var dy = y - ly;
  5769. if (touch["deviceID"] === undefined) touch.deviceID = SDL.TOUCH_DEFAULT_ID;
  5770. if (dx === 0 && dy === 0 && event.type === "touchmove") return false;
  5771. HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
  5772. HEAP32[ptr + 4 >> 2] = _SDL_GetTicks();
  5773. tempI64 = [ touch.deviceID >>> 0, (tempDouble = touch.deviceID, +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0) ],
  5774. HEAP32[ptr + 8 >> 2] = tempI64[0], HEAP32[ptr + 12 >> 2] = tempI64[1];
  5775. tempI64 = [ touch.identifier >>> 0, (tempDouble = touch.identifier, +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0) ],
  5776. HEAP32[ptr + 16 >> 2] = tempI64[0], HEAP32[ptr + 20 >> 2] = tempI64[1];
  5777. HEAPF32[ptr + 24 >> 2] = x;
  5778. HEAPF32[ptr + 28 >> 2] = y;
  5779. HEAPF32[ptr + 32 >> 2] = dx;
  5780. HEAPF32[ptr + 36 >> 2] = dy;
  5781. if (touch.force !== undefined) {
  5782. HEAPF32[ptr + 40 >> 2] = touch.force;
  5783. } else {
  5784. HEAPF32[ptr + 40 >> 2] = event.type == "touchend" ? 0 : 1;
  5785. }
  5786. break;
  5787. }
  5788. case "unload":
  5789. {
  5790. HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
  5791. break;
  5792. }
  5793. case "resize":
  5794. {
  5795. HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
  5796. HEAP32[ptr + 4 >> 2] = event.w;
  5797. HEAP32[ptr + 8 >> 2] = event.h;
  5798. break;
  5799. }
  5800. case "joystick_button_up":
  5801. case "joystick_button_down":
  5802. {
  5803. var state = event.type === "joystick_button_up" ? 0 : 1;
  5804. HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
  5805. HEAP8[ptr + 4 >> 0] = event.index;
  5806. HEAP8[ptr + 5 >> 0] = event.button;
  5807. HEAP8[ptr + 6 >> 0] = state;
  5808. break;
  5809. }
  5810. case "joystick_axis_motion":
  5811. {
  5812. HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
  5813. HEAP8[ptr + 4 >> 0] = event.index;
  5814. HEAP8[ptr + 5 >> 0] = event.axis;
  5815. HEAP32[ptr + 8 >> 2] = SDL.joystickAxisValueConversion(event.value);
  5816. break;
  5817. }
  5818. case "focus":
  5819. {
  5820. var SDL_WINDOWEVENT_FOCUS_GAINED = 12;
  5821. HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
  5822. HEAP32[ptr + 4 >> 2] = 0;
  5823. HEAP8[ptr + 8 >> 0] = SDL_WINDOWEVENT_FOCUS_GAINED;
  5824. break;
  5825. }
  5826. case "blur":
  5827. {
  5828. var SDL_WINDOWEVENT_FOCUS_LOST = 13;
  5829. HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
  5830. HEAP32[ptr + 4 >> 2] = 0;
  5831. HEAP8[ptr + 8 >> 0] = SDL_WINDOWEVENT_FOCUS_LOST;
  5832. break;
  5833. }
  5834. case "visibilitychange":
  5835. {
  5836. var SDL_WINDOWEVENT_SHOWN = 1;
  5837. var SDL_WINDOWEVENT_HIDDEN = 2;
  5838. var visibilityEventID = event.visible ? SDL_WINDOWEVENT_SHOWN : SDL_WINDOWEVENT_HIDDEN;
  5839. HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
  5840. HEAP32[ptr + 4 >> 2] = 0;
  5841. HEAP8[ptr + 8 >> 0] = visibilityEventID;
  5842. break;
  5843. }
  5844. default:
  5845. throw "Unhandled SDL event: " + event.type;
  5846. }
  5847. },
  5848. makeFontString: function(height, fontName) {
  5849. if (fontName.charAt(0) != "'" && fontName.charAt(0) != '"') {
  5850. fontName = '"' + fontName + '"';
  5851. }
  5852. return height + "px " + fontName + ", serif";
  5853. },
  5854. estimateTextWidth: function(fontData, text) {
  5855. var h = fontData.size;
  5856. var fontString = SDL.makeFontString(h, fontData.name);
  5857. var tempCtx = SDL.ttfContext;
  5858. tempCtx.save();
  5859. tempCtx.font = fontString;
  5860. var ret = tempCtx.measureText(text).width | 0;
  5861. tempCtx.restore();
  5862. return ret;
  5863. },
  5864. allocateChannels: function(num) {
  5865. if (SDL.numChannels && SDL.numChannels >= num && num != 0) return;
  5866. SDL.numChannels = num;
  5867. SDL.channels = [];
  5868. for (var i = 0; i < num; i++) {
  5869. SDL.channels[i] = {
  5870. audio: null,
  5871. volume: 1
  5872. };
  5873. }
  5874. },
  5875. setGetVolume: function(info, volume) {
  5876. if (!info) return 0;
  5877. var ret = info.volume * 128;
  5878. if (volume != -1) {
  5879. info.volume = Math.min(Math.max(volume, 0), 128) / 128;
  5880. if (info.audio) {
  5881. try {
  5882. info.audio.volume = info.volume;
  5883. if (info.audio.webAudioGainNode) info.audio.webAudioGainNode["gain"]["value"] = info.volume;
  5884. } catch (e) {
  5885. err("setGetVolume failed to set audio volume: " + e);
  5886. }
  5887. }
  5888. }
  5889. return ret;
  5890. },
  5891. setPannerPosition: function(info, x, y, z) {
  5892. if (!info) return;
  5893. if (info.audio) {
  5894. if (info.audio.webAudioPannerNode) {
  5895. info.audio.webAudioPannerNode["setPosition"](x, y, z);
  5896. }
  5897. }
  5898. },
  5899. playWebAudio: function(audio) {
  5900. if (!audio) return;
  5901. if (audio.webAudioNode) return;
  5902. if (!SDL.webAudioAvailable()) return;
  5903. try {
  5904. var webAudio = audio.resource.webAudio;
  5905. audio.paused = false;
  5906. if (!webAudio.decodedBuffer) {
  5907. if (webAudio.onDecodeComplete === undefined) abort("Cannot play back audio object that was not loaded");
  5908. webAudio.onDecodeComplete.push(function() {
  5909. if (!audio.paused) SDL.playWebAudio(audio);
  5910. });
  5911. return;
  5912. }
  5913. audio.webAudioNode = SDL.audioContext["createBufferSource"]();
  5914. audio.webAudioNode["buffer"] = webAudio.decodedBuffer;
  5915. audio.webAudioNode["loop"] = audio.loop;
  5916. audio.webAudioNode["onended"] = function() {
  5917. audio["onended"]();
  5918. };
  5919. audio.webAudioPannerNode = SDL.audioContext["createPanner"]();
  5920. audio.webAudioPannerNode["setPosition"](0, 0, -.5);
  5921. audio.webAudioPannerNode["panningModel"] = "equalpower";
  5922. audio.webAudioGainNode = SDL.audioContext["createGain"]();
  5923. audio.webAudioGainNode["gain"]["value"] = audio.volume;
  5924. audio.webAudioNode["connect"](audio.webAudioPannerNode);
  5925. audio.webAudioPannerNode["connect"](audio.webAudioGainNode);
  5926. audio.webAudioGainNode["connect"](SDL.audioContext["destination"]);
  5927. audio.webAudioNode["start"](0, audio.currentPosition);
  5928. audio.startTime = SDL.audioContext["currentTime"] - audio.currentPosition;
  5929. } catch (e) {
  5930. err("playWebAudio failed: " + e);
  5931. }
  5932. },
  5933. pauseWebAudio: function(audio) {
  5934. if (!audio) return;
  5935. if (audio.webAudioNode) {
  5936. try {
  5937. audio.currentPosition = (SDL.audioContext["currentTime"] - audio.startTime) % audio.resource.webAudio.decodedBuffer.duration;
  5938. audio.webAudioNode["onended"] = undefined;
  5939. audio.webAudioNode.stop(0);
  5940. audio.webAudioNode = undefined;
  5941. } catch (e) {
  5942. err("pauseWebAudio failed: " + e);
  5943. }
  5944. }
  5945. audio.paused = true;
  5946. },
  5947. openAudioContext: function() {
  5948. if (!SDL.audioContext) {
  5949. if (typeof AudioContext !== "undefined") SDL.audioContext = new AudioContext(); else if (typeof webkitAudioContext !== "undefined") SDL.audioContext = new webkitAudioContext();
  5950. }
  5951. },
  5952. webAudioAvailable: function() {
  5953. return !!SDL.audioContext;
  5954. },
  5955. fillWebAudioBufferFromHeap: function(heapPtr, sizeSamplesPerChannel, dstAudioBuffer) {
  5956. var numChannels = SDL.audio.channels;
  5957. for (var c = 0; c < numChannels; ++c) {
  5958. var channelData = dstAudioBuffer["getChannelData"](c);
  5959. if (channelData.length != sizeSamplesPerChannel) {
  5960. throw "Web Audio output buffer length mismatch! Destination size: " + channelData.length + " samples vs expected " + sizeSamplesPerChannel + " samples!";
  5961. }
  5962. if (SDL.audio.format == 32784) {
  5963. for (var j = 0; j < sizeSamplesPerChannel; ++j) {
  5964. channelData[j] = HEAP16[heapPtr + (j * numChannels + c) * 2 >> 1] / 32768;
  5965. }
  5966. } else if (SDL.audio.format == 8) {
  5967. for (var j = 0; j < sizeSamplesPerChannel; ++j) {
  5968. var v = HEAP8[heapPtr + (j * numChannels + c) >> 0];
  5969. channelData[j] = (v >= 0 ? v - 128 : v + 128) / 128;
  5970. }
  5971. } else if (SDL.audio.format == 33056) {
  5972. for (var j = 0; j < sizeSamplesPerChannel; ++j) {
  5973. channelData[j] = HEAPF32[heapPtr + (j * numChannels + c) * 4 >> 2];
  5974. }
  5975. } else {
  5976. throw "Invalid SDL audio format " + SDL.audio.format + "!";
  5977. }
  5978. }
  5979. },
  5980. debugSurface: function(surfData) {
  5981. console.log("dumping surface " + [ surfData.surf, surfData.source, surfData.width, surfData.height ]);
  5982. var image = surfData.ctx.getImageData(0, 0, surfData.width, surfData.height);
  5983. var data = image.data;
  5984. var num = Math.min(surfData.width, surfData.height);
  5985. for (var i = 0; i < num; i++) {
  5986. console.log(" diagonal " + i + ":" + [ data[i * surfData.width * 4 + i * 4 + 0], data[i * surfData.width * 4 + i * 4 + 1], data[i * surfData.width * 4 + i * 4 + 2], data[i * surfData.width * 4 + i * 4 + 3] ]);
  5987. }
  5988. },
  5989. joystickEventState: 1,
  5990. lastJoystickState: {},
  5991. joystickNamePool: {},
  5992. recordJoystickState: function(joystick, state) {
  5993. var buttons = new Array(state.buttons.length);
  5994. for (var i = 0; i < state.buttons.length; i++) {
  5995. buttons[i] = SDL.getJoystickButtonState(state.buttons[i]);
  5996. }
  5997. SDL.lastJoystickState[joystick] = {
  5998. buttons: buttons,
  5999. axes: state.axes.slice(0),
  6000. timestamp: state.timestamp,
  6001. index: state.index,
  6002. id: state.id
  6003. };
  6004. },
  6005. getJoystickButtonState: function(button) {
  6006. if (typeof button === "object") {
  6007. return button["pressed"];
  6008. } else {
  6009. return button > 0;
  6010. }
  6011. },
  6012. queryJoysticks: function() {
  6013. for (var joystick in SDL.lastJoystickState) {
  6014. var state = SDL.getGamepad(joystick - 1);
  6015. var prevState = SDL.lastJoystickState[joystick];
  6016. if (typeof state === "undefined") return;
  6017. if (state === null) return;
  6018. if (typeof state.timestamp !== "number" || state.timestamp !== prevState.timestamp || !state.timestamp) {
  6019. var i;
  6020. for (i = 0; i < state.buttons.length; i++) {
  6021. var buttonState = SDL.getJoystickButtonState(state.buttons[i]);
  6022. if (buttonState !== prevState.buttons[i]) {
  6023. SDL.events.push({
  6024. type: buttonState ? "joystick_button_down" : "joystick_button_up",
  6025. joystick: joystick,
  6026. index: joystick - 1,
  6027. button: i
  6028. });
  6029. }
  6030. }
  6031. for (i = 0; i < state.axes.length; i++) {
  6032. if (state.axes[i] !== prevState.axes[i]) {
  6033. SDL.events.push({
  6034. type: "joystick_axis_motion",
  6035. joystick: joystick,
  6036. index: joystick - 1,
  6037. axis: i,
  6038. value: state.axes[i]
  6039. });
  6040. }
  6041. }
  6042. SDL.recordJoystickState(joystick, state);
  6043. }
  6044. }
  6045. },
  6046. joystickAxisValueConversion: function(value) {
  6047. value = Math.min(1, Math.max(value, -1));
  6048. return Math.ceil((value + 1) * 32767.5 - 32768);
  6049. },
  6050. getGamepads: function() {
  6051. var fcn = navigator.getGamepads || navigator.webkitGamepads || navigator.mozGamepads || navigator.gamepads || navigator.webkitGetGamepads;
  6052. if (fcn !== undefined) {
  6053. return fcn.apply(navigator);
  6054. } else {
  6055. return [];
  6056. }
  6057. },
  6058. getGamepad: function(deviceIndex) {
  6059. var gamepads = SDL.getGamepads();
  6060. if (gamepads.length > deviceIndex && deviceIndex >= 0) {
  6061. return gamepads[deviceIndex];
  6062. }
  6063. return null;
  6064. }
  6065. };
  6066. function _SDL_ClearError() {}
  6067. function _SDL_GetError() {
  6068. if (!SDL.errorMessage) {
  6069. SDL.errorMessage = allocate(intArrayFromString("unknown SDL-emscripten error"), "i8", ALLOC_NORMAL);
  6070. }
  6071. return SDL.errorMessage;
  6072. }
  6073. function _SDL_GetModState() {
  6074. return SDL.modState;
  6075. }
  6076. function _SDL_GetMouseState(x, y) {
  6077. if (x) HEAP32[x >> 2] = Browser.mouseX;
  6078. if (y) HEAP32[y >> 2] = Browser.mouseY;
  6079. return SDL.buttonState;
  6080. }
  6081. function _SDL_GetWindowSize(window, width, height) {
  6082. var w = Module["canvas"].width;
  6083. var h = Module["canvas"].height;
  6084. if (width) HEAP32[width >> 2] = w;
  6085. if (height) HEAP32[height >> 2] = h;
  6086. }
  6087. function _SDL_Init(initFlags) {
  6088. SDL.startTime = Date.now();
  6089. SDL.initFlags = initFlags;
  6090. if (!Module["doNotCaptureKeyboard"]) {
  6091. var keyboardListeningElement = Module["keyboardListeningElement"] || document;
  6092. keyboardListeningElement.addEventListener("keydown", SDL.receiveEvent);
  6093. keyboardListeningElement.addEventListener("keyup", SDL.receiveEvent);
  6094. keyboardListeningElement.addEventListener("keypress", SDL.receiveEvent);
  6095. window.addEventListener("focus", SDL.receiveEvent);
  6096. window.addEventListener("blur", SDL.receiveEvent);
  6097. document.addEventListener("visibilitychange", SDL.receiveEvent);
  6098. }
  6099. window.addEventListener("unload", SDL.receiveEvent);
  6100. SDL.keyboardState = _malloc(65536);
  6101. _memset(SDL.keyboardState, 0, 65536);
  6102. SDL.DOMEventToSDLEvent["keydown"] = 768;
  6103. SDL.DOMEventToSDLEvent["keyup"] = 769;
  6104. SDL.DOMEventToSDLEvent["keypress"] = 771;
  6105. SDL.DOMEventToSDLEvent["mousedown"] = 1025;
  6106. SDL.DOMEventToSDLEvent["mouseup"] = 1026;
  6107. SDL.DOMEventToSDLEvent["mousemove"] = 1024;
  6108. SDL.DOMEventToSDLEvent["wheel"] = 1027;
  6109. SDL.DOMEventToSDLEvent["touchstart"] = 1792;
  6110. SDL.DOMEventToSDLEvent["touchend"] = 1793;
  6111. SDL.DOMEventToSDLEvent["touchmove"] = 1794;
  6112. SDL.DOMEventToSDLEvent["unload"] = 256;
  6113. SDL.DOMEventToSDLEvent["resize"] = 28673;
  6114. SDL.DOMEventToSDLEvent["visibilitychange"] = 512;
  6115. SDL.DOMEventToSDLEvent["focus"] = 512;
  6116. SDL.DOMEventToSDLEvent["blur"] = 512;
  6117. SDL.DOMEventToSDLEvent["joystick_axis_motion"] = 1536;
  6118. SDL.DOMEventToSDLEvent["joystick_button_down"] = 1539;
  6119. SDL.DOMEventToSDLEvent["joystick_button_up"] = 1540;
  6120. return 0;
  6121. }
  6122. function _SDL_LockAudio() {}
  6123. function _SDL_PollEvent(ptr) {
  6124. return SDL.pollEvent(ptr);
  6125. }
  6126. var GL = {
  6127. counter: 1,
  6128. lastError: 0,
  6129. buffers: [],
  6130. mappedBuffers: {},
  6131. programs: [],
  6132. framebuffers: [],
  6133. renderbuffers: [],
  6134. textures: [],
  6135. uniforms: [],
  6136. shaders: [],
  6137. vaos: [],
  6138. contexts: {},
  6139. currentContext: null,
  6140. offscreenCanvases: {},
  6141. timerQueriesEXT: [],
  6142. programInfos: {},
  6143. stringCache: {},
  6144. unpackAlignment: 4,
  6145. init: function() {
  6146. GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);
  6147. for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) {
  6148. GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i + 1);
  6149. }
  6150. },
  6151. recordError: function recordError(errorCode) {
  6152. if (!GL.lastError) {
  6153. GL.lastError = errorCode;
  6154. }
  6155. },
  6156. getNewId: function(table) {
  6157. var ret = GL.counter++;
  6158. for (var i = table.length; i < ret; i++) {
  6159. table[i] = null;
  6160. }
  6161. return ret;
  6162. },
  6163. MINI_TEMP_BUFFER_SIZE: 256,
  6164. miniTempBuffer: null,
  6165. miniTempBufferViews: [ 0 ],
  6166. getSource: function(shader, count, string, length) {
  6167. var source = "";
  6168. for (var i = 0; i < count; ++i) {
  6169. var len = length ? HEAP32[length + i * 4 >> 2] : -1;
  6170. source += UTF8ToString(HEAP32[string + i * 4 >> 2], len < 0 ? undefined : len);
  6171. }
  6172. return source;
  6173. },
  6174. createContext: function(canvas, webGLContextAttributes) {
  6175. var ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes);
  6176. return ctx && GL.registerContext(ctx, webGLContextAttributes);
  6177. },
  6178. registerContext: function(ctx, webGLContextAttributes) {
  6179. var handle = _malloc(8);
  6180. var context = {
  6181. handle: handle,
  6182. attributes: webGLContextAttributes,
  6183. version: webGLContextAttributes.majorVersion,
  6184. GLctx: ctx
  6185. };
  6186. if (ctx.canvas) ctx.canvas.GLctxObject = context;
  6187. GL.contexts[handle] = context;
  6188. if (typeof webGLContextAttributes.enableExtensionsByDefault === "undefined" || webGLContextAttributes.enableExtensionsByDefault) {
  6189. GL.initExtensions(context);
  6190. }
  6191. return handle;
  6192. },
  6193. makeContextCurrent: function(contextHandle) {
  6194. GL.currentContext = GL.contexts[contextHandle];
  6195. Module.ctx = GLctx = GL.currentContext && GL.currentContext.GLctx;
  6196. return !(contextHandle && !GLctx);
  6197. },
  6198. getContext: function(contextHandle) {
  6199. return GL.contexts[contextHandle];
  6200. },
  6201. deleteContext: function(contextHandle) {
  6202. if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null;
  6203. if (typeof JSEvents === "object") JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);
  6204. if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined;
  6205. _free(GL.contexts[contextHandle]);
  6206. GL.contexts[contextHandle] = null;
  6207. },
  6208. initExtensions: function(context) {
  6209. if (!context) context = GL.currentContext;
  6210. if (context.initExtensionsDone) return;
  6211. context.initExtensionsDone = true;
  6212. var GLctx = context.GLctx;
  6213. if (context.version < 2) {
  6214. var instancedArraysExt = GLctx.getExtension("ANGLE_instanced_arrays");
  6215. if (instancedArraysExt) {
  6216. GLctx["vertexAttribDivisor"] = function(index, divisor) {
  6217. instancedArraysExt["vertexAttribDivisorANGLE"](index, divisor);
  6218. };
  6219. GLctx["drawArraysInstanced"] = function(mode, first, count, primcount) {
  6220. instancedArraysExt["drawArraysInstancedANGLE"](mode, first, count, primcount);
  6221. };
  6222. GLctx["drawElementsInstanced"] = function(mode, count, type, indices, primcount) {
  6223. instancedArraysExt["drawElementsInstancedANGLE"](mode, count, type, indices, primcount);
  6224. };
  6225. }
  6226. var vaoExt = GLctx.getExtension("OES_vertex_array_object");
  6227. if (vaoExt) {
  6228. GLctx["createVertexArray"] = function() {
  6229. return vaoExt["createVertexArrayOES"]();
  6230. };
  6231. GLctx["deleteVertexArray"] = function(vao) {
  6232. vaoExt["deleteVertexArrayOES"](vao);
  6233. };
  6234. GLctx["bindVertexArray"] = function(vao) {
  6235. vaoExt["bindVertexArrayOES"](vao);
  6236. };
  6237. GLctx["isVertexArray"] = function(vao) {
  6238. return vaoExt["isVertexArrayOES"](vao);
  6239. };
  6240. }
  6241. var drawBuffersExt = GLctx.getExtension("WEBGL_draw_buffers");
  6242. if (drawBuffersExt) {
  6243. GLctx["drawBuffers"] = function(n, bufs) {
  6244. drawBuffersExt["drawBuffersWEBGL"](n, bufs);
  6245. };
  6246. }
  6247. }
  6248. GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query");
  6249. var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", "OES_element_index_uint", "EXT_texture_filter_anisotropic", "EXT_frag_depth", "WEBGL_draw_buffers", "ANGLE_instanced_arrays", "OES_texture_float_linear", "OES_texture_half_float_linear", "EXT_blend_minmax", "EXT_shader_texture_lod", "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", "EXT_sRGB", "WEBGL_compressed_texture_etc1", "EXT_disjoint_timer_query", "WEBGL_compressed_texture_etc", "WEBGL_compressed_texture_astc", "EXT_color_buffer_float", "WEBGL_compressed_texture_s3tc_srgb", "EXT_disjoint_timer_query_webgl2" ];
  6250. var exts = GLctx.getSupportedExtensions();
  6251. if (exts && exts.length > 0) {
  6252. GLctx.getSupportedExtensions().forEach(function(ext) {
  6253. if (automaticallyEnabledExtensions.indexOf(ext) != -1) {
  6254. GLctx.getExtension(ext);
  6255. }
  6256. });
  6257. }
  6258. },
  6259. populateUniformTable: function(program) {
  6260. var p = GL.programs[program];
  6261. var ptable = GL.programInfos[program] = {
  6262. uniforms: {},
  6263. maxUniformLength: 0,
  6264. maxAttributeLength: -1,
  6265. maxUniformBlockNameLength: -1
  6266. };
  6267. var utable = ptable.uniforms;
  6268. var numUniforms = GLctx.getProgramParameter(p, 35718);
  6269. for (var i = 0; i < numUniforms; ++i) {
  6270. var u = GLctx.getActiveUniform(p, i);
  6271. var name = u.name;
  6272. ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length + 1);
  6273. var ls = name.lastIndexOf("[");
  6274. if (ls > 0) {
  6275. name = name.slice(0, ls);
  6276. }
  6277. var loc = GLctx.getUniformLocation(p, name);
  6278. if (loc) {
  6279. var id = GL.getNewId(GL.uniforms);
  6280. utable[name] = [ u.size, id ];
  6281. GL.uniforms[id] = loc;
  6282. for (var j = 1; j < u.size; ++j) {
  6283. var n = name + "[" + j + "]";
  6284. loc = GLctx.getUniformLocation(p, n);
  6285. id = GL.getNewId(GL.uniforms);
  6286. GL.uniforms[id] = loc;
  6287. }
  6288. }
  6289. }
  6290. }
  6291. };
  6292. function _SDL_SetVideoMode(width, height, depth, flags) {
  6293. [ "touchstart", "touchend", "touchmove", "mousedown", "mouseup", "mousemove", "DOMMouseScroll", "mousewheel", "wheel", "mouseout" ].forEach(function(event) {
  6294. Module["canvas"].addEventListener(event, SDL.receiveEvent, true);
  6295. });
  6296. var canvas = Module["canvas"];
  6297. if (width == 0 && height == 0) {
  6298. width = canvas.width;
  6299. height = canvas.height;
  6300. }
  6301. if (!SDL.addedResizeListener) {
  6302. SDL.addedResizeListener = true;
  6303. Browser.resizeListeners.push(function(w, h) {
  6304. if (!SDL.settingVideoMode) {
  6305. SDL.receiveEvent({
  6306. type: "resize",
  6307. w: w,
  6308. h: h
  6309. });
  6310. }
  6311. });
  6312. }
  6313. SDL.settingVideoMode = true;
  6314. Browser.setCanvasSize(width, height);
  6315. SDL.settingVideoMode = false;
  6316. if (SDL.screen) {
  6317. SDL.freeSurface(SDL.screen);
  6318. assert(!SDL.screen);
  6319. }
  6320. if (SDL.GL) flags = flags | 67108864;
  6321. SDL.screen = SDL.makeSurface(width, height, flags, true, "screen");
  6322. return SDL.screen;
  6323. }
  6324. function _SDL_UnlockAudio() {}
  6325. function _SDL_UnlockSurface(surf) {
  6326. assert(!SDL.GL);
  6327. var surfData = SDL.surfaces[surf];
  6328. if (!surfData.locked || --surfData.locked > 0) {
  6329. return;
  6330. }
  6331. if (surfData.isFlagSet(2097152)) {
  6332. SDL.copyIndexedColorData(surfData);
  6333. } else if (!surfData.colors) {
  6334. var data = surfData.image.data;
  6335. var buffer = surfData.buffer;
  6336. assert(buffer % 4 == 0, "Invalid buffer offset: " + buffer);
  6337. var src = buffer >> 2;
  6338. var dst = 0;
  6339. var isScreen = surf == SDL.screen;
  6340. var num;
  6341. if (typeof CanvasPixelArray !== "undefined" && data instanceof CanvasPixelArray) {
  6342. num = data.length;
  6343. while (dst < num) {
  6344. var val = HEAP32[src];
  6345. data[dst] = val & 255;
  6346. data[dst + 1] = val >> 8 & 255;
  6347. data[dst + 2] = val >> 16 & 255;
  6348. data[dst + 3] = isScreen ? 255 : val >> 24 & 255;
  6349. src++;
  6350. dst += 4;
  6351. }
  6352. } else {
  6353. var data32 = new Uint32Array(data.buffer);
  6354. if (isScreen && SDL.defaults.opaqueFrontBuffer) {
  6355. num = data32.length;
  6356. data32.set(HEAP32.subarray(src, src + num));
  6357. var data8 = new Uint8Array(data.buffer);
  6358. var i = 3;
  6359. var j = i + 4 * num;
  6360. if (num % 8 == 0) {
  6361. while (i < j) {
  6362. data8[i] = 255;
  6363. i = i + 4 | 0;
  6364. data8[i] = 255;
  6365. i = i + 4 | 0;
  6366. data8[i] = 255;
  6367. i = i + 4 | 0;
  6368. data8[i] = 255;
  6369. i = i + 4 | 0;
  6370. data8[i] = 255;
  6371. i = i + 4 | 0;
  6372. data8[i] = 255;
  6373. i = i + 4 | 0;
  6374. data8[i] = 255;
  6375. i = i + 4 | 0;
  6376. data8[i] = 255;
  6377. i = i + 4 | 0;
  6378. }
  6379. } else {
  6380. while (i < j) {
  6381. data8[i] = 255;
  6382. i = i + 4 | 0;
  6383. }
  6384. }
  6385. } else {
  6386. data32.set(HEAP32.subarray(src, src + data32.length));
  6387. }
  6388. }
  6389. } else {
  6390. var width = Module["canvas"].width;
  6391. var height = Module["canvas"].height;
  6392. var s = surfData.buffer;
  6393. var data = surfData.image.data;
  6394. var colors = surfData.colors;
  6395. for (var y = 0; y < height; y++) {
  6396. var base = y * width * 4;
  6397. for (var x = 0; x < width; x++) {
  6398. var val = HEAPU8[s++ >> 0] * 4;
  6399. var start = base + x * 4;
  6400. data[start] = colors[val];
  6401. data[start + 1] = colors[val + 1];
  6402. data[start + 2] = colors[val + 2];
  6403. }
  6404. s += width * 3;
  6405. }
  6406. }
  6407. surfData.ctx.putImageData(surfData.image, 0, 0);
  6408. }
  6409. var ENV = {};
  6410. function ___buildEnvironment(environ) {
  6411. var MAX_ENV_VALUES = 64;
  6412. var TOTAL_ENV_SIZE = 1024;
  6413. var poolPtr;
  6414. var envPtr;
  6415. if (!___buildEnvironment.called) {
  6416. ___buildEnvironment.called = true;
  6417. ENV["USER"] = ENV["LOGNAME"] = "web_user";
  6418. ENV["PATH"] = "/";
  6419. ENV["PWD"] = "/";
  6420. ENV["HOME"] = "/home/web_user";
  6421. ENV["LANG"] = "C.UTF-8";
  6422. ENV["_"] = Module["thisProgram"];
  6423. poolPtr = getMemory(TOTAL_ENV_SIZE);
  6424. envPtr = getMemory(MAX_ENV_VALUES * 4);
  6425. HEAP32[envPtr >> 2] = poolPtr;
  6426. HEAP32[environ >> 2] = envPtr;
  6427. } else {
  6428. envPtr = HEAP32[environ >> 2];
  6429. poolPtr = HEAP32[envPtr >> 2];
  6430. }
  6431. var strings = [];
  6432. var totalSize = 0;
  6433. for (var key in ENV) {
  6434. if (typeof ENV[key] === "string") {
  6435. var line = key + "=" + ENV[key];
  6436. strings.push(line);
  6437. totalSize += line.length;
  6438. }
  6439. }
  6440. if (totalSize > TOTAL_ENV_SIZE) {
  6441. throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");
  6442. }
  6443. var ptrSize = 4;
  6444. for (var i = 0; i < strings.length; i++) {
  6445. var line = strings[i];
  6446. writeAsciiToMemory(line, poolPtr);
  6447. HEAP32[envPtr + i * ptrSize >> 2] = poolPtr;
  6448. poolPtr += line.length + 1;
  6449. }
  6450. HEAP32[envPtr + strings.length * ptrSize >> 2] = 0;
  6451. }
  6452. function ___lock() {}
  6453. var ERRNO_CODES = {
  6454. EPERM: 1,
  6455. ENOENT: 2,
  6456. ESRCH: 3,
  6457. EINTR: 4,
  6458. EIO: 5,
  6459. ENXIO: 6,
  6460. E2BIG: 7,
  6461. ENOEXEC: 8,
  6462. EBADF: 9,
  6463. ECHILD: 10,
  6464. EAGAIN: 11,
  6465. EWOULDBLOCK: 11,
  6466. ENOMEM: 12,
  6467. EACCES: 13,
  6468. EFAULT: 14,
  6469. ENOTBLK: 15,
  6470. EBUSY: 16,
  6471. EEXIST: 17,
  6472. EXDEV: 18,
  6473. ENODEV: 19,
  6474. ENOTDIR: 20,
  6475. EISDIR: 21,
  6476. EINVAL: 22,
  6477. ENFILE: 23,
  6478. EMFILE: 24,
  6479. ENOTTY: 25,
  6480. ETXTBSY: 26,
  6481. EFBIG: 27,
  6482. ENOSPC: 28,
  6483. ESPIPE: 29,
  6484. EROFS: 30,
  6485. EMLINK: 31,
  6486. EPIPE: 32,
  6487. EDOM: 33,
  6488. ERANGE: 34,
  6489. ENOMSG: 42,
  6490. EIDRM: 43,
  6491. ECHRNG: 44,
  6492. EL2NSYNC: 45,
  6493. EL3HLT: 46,
  6494. EL3RST: 47,
  6495. ELNRNG: 48,
  6496. EUNATCH: 49,
  6497. ENOCSI: 50,
  6498. EL2HLT: 51,
  6499. EDEADLK: 35,
  6500. ENOLCK: 37,
  6501. EBADE: 52,
  6502. EBADR: 53,
  6503. EXFULL: 54,
  6504. ENOANO: 55,
  6505. EBADRQC: 56,
  6506. EBADSLT: 57,
  6507. EDEADLOCK: 35,
  6508. EBFONT: 59,
  6509. ENOSTR: 60,
  6510. ENODATA: 61,
  6511. ETIME: 62,
  6512. ENOSR: 63,
  6513. ENONET: 64,
  6514. ENOPKG: 65,
  6515. EREMOTE: 66,
  6516. ENOLINK: 67,
  6517. EADV: 68,
  6518. ESRMNT: 69,
  6519. ECOMM: 70,
  6520. EPROTO: 71,
  6521. EMULTIHOP: 72,
  6522. EDOTDOT: 73,
  6523. EBADMSG: 74,
  6524. ENOTUNIQ: 76,
  6525. EBADFD: 77,
  6526. EREMCHG: 78,
  6527. ELIBACC: 79,
  6528. ELIBBAD: 80,
  6529. ELIBSCN: 81,
  6530. ELIBMAX: 82,
  6531. ELIBEXEC: 83,
  6532. ENOSYS: 38,
  6533. ENOTEMPTY: 39,
  6534. ENAMETOOLONG: 36,
  6535. ELOOP: 40,
  6536. EOPNOTSUPP: 95,
  6537. EPFNOSUPPORT: 96,
  6538. ECONNRESET: 104,
  6539. ENOBUFS: 105,
  6540. EAFNOSUPPORT: 97,
  6541. EPROTOTYPE: 91,
  6542. ENOTSOCK: 88,
  6543. ENOPROTOOPT: 92,
  6544. ESHUTDOWN: 108,
  6545. ECONNREFUSED: 111,
  6546. EADDRINUSE: 98,
  6547. ECONNABORTED: 103,
  6548. ENETUNREACH: 101,
  6549. ENETDOWN: 100,
  6550. ETIMEDOUT: 110,
  6551. EHOSTDOWN: 112,
  6552. EHOSTUNREACH: 113,
  6553. EINPROGRESS: 115,
  6554. EALREADY: 114,
  6555. EDESTADDRREQ: 89,
  6556. EMSGSIZE: 90,
  6557. EPROTONOSUPPORT: 93,
  6558. ESOCKTNOSUPPORT: 94,
  6559. EADDRNOTAVAIL: 99,
  6560. ENETRESET: 102,
  6561. EISCONN: 106,
  6562. ENOTCONN: 107,
  6563. ETOOMANYREFS: 109,
  6564. EUSERS: 87,
  6565. EDQUOT: 122,
  6566. ESTALE: 116,
  6567. ENOTSUP: 95,
  6568. ENOMEDIUM: 123,
  6569. EILSEQ: 84,
  6570. EOVERFLOW: 75,
  6571. ECANCELED: 125,
  6572. ENOTRECOVERABLE: 131,
  6573. EOWNERDEAD: 130,
  6574. ESTRPIPE: 86
  6575. };
  6576. var SYSCALLS = {
  6577. DEFAULT_POLLMASK: 5,
  6578. mappings: {},
  6579. umask: 511,
  6580. calculateAt: function(dirfd, path) {
  6581. if (path[0] !== "/") {
  6582. var dir;
  6583. if (dirfd === -100) {
  6584. dir = FS.cwd();
  6585. } else {
  6586. var dirstream = FS.getStream(dirfd);
  6587. if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6588. dir = dirstream.path;
  6589. }
  6590. path = PATH.join2(dir, path);
  6591. }
  6592. return path;
  6593. },
  6594. doStat: function(func, path, buf) {
  6595. try {
  6596. var stat = func(path);
  6597. } catch (e) {
  6598. if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
  6599. return -ERRNO_CODES.ENOTDIR;
  6600. }
  6601. throw e;
  6602. }
  6603. HEAP32[buf >> 2] = stat.dev;
  6604. HEAP32[buf + 4 >> 2] = 0;
  6605. HEAP32[buf + 8 >> 2] = stat.ino;
  6606. HEAP32[buf + 12 >> 2] = stat.mode;
  6607. HEAP32[buf + 16 >> 2] = stat.nlink;
  6608. HEAP32[buf + 20 >> 2] = stat.uid;
  6609. HEAP32[buf + 24 >> 2] = stat.gid;
  6610. HEAP32[buf + 28 >> 2] = stat.rdev;
  6611. HEAP32[buf + 32 >> 2] = 0;
  6612. HEAP32[buf + 36 >> 2] = stat.size;
  6613. HEAP32[buf + 40 >> 2] = 4096;
  6614. HEAP32[buf + 44 >> 2] = stat.blocks;
  6615. HEAP32[buf + 48 >> 2] = stat.atime.getTime() / 1e3 | 0;
  6616. HEAP32[buf + 52 >> 2] = 0;
  6617. HEAP32[buf + 56 >> 2] = stat.mtime.getTime() / 1e3 | 0;
  6618. HEAP32[buf + 60 >> 2] = 0;
  6619. HEAP32[buf + 64 >> 2] = stat.ctime.getTime() / 1e3 | 0;
  6620. HEAP32[buf + 68 >> 2] = 0;
  6621. HEAP32[buf + 72 >> 2] = stat.ino;
  6622. return 0;
  6623. },
  6624. doMsync: function(addr, stream, len, flags) {
  6625. var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len));
  6626. FS.msync(stream, buffer, 0, len, flags);
  6627. },
  6628. doMkdir: function(path, mode) {
  6629. path = PATH.normalize(path);
  6630. if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1);
  6631. FS.mkdir(path, mode, 0);
  6632. return 0;
  6633. },
  6634. doMknod: function(path, mode, dev) {
  6635. switch (mode & 61440) {
  6636. case 32768:
  6637. case 8192:
  6638. case 24576:
  6639. case 4096:
  6640. case 49152:
  6641. break;
  6642. default:
  6643. return -ERRNO_CODES.EINVAL;
  6644. }
  6645. FS.mknod(path, mode, dev);
  6646. return 0;
  6647. },
  6648. doReadlink: function(path, buf, bufsize) {
  6649. if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
  6650. var ret = FS.readlink(path);
  6651. var len = Math.min(bufsize, lengthBytesUTF8(ret));
  6652. var endChar = HEAP8[buf + len];
  6653. stringToUTF8(ret, buf, bufsize + 1);
  6654. HEAP8[buf + len] = endChar;
  6655. return len;
  6656. },
  6657. doAccess: function(path, amode) {
  6658. if (amode & ~7) {
  6659. return -ERRNO_CODES.EINVAL;
  6660. }
  6661. var node;
  6662. var lookup = FS.lookupPath(path, {
  6663. follow: true
  6664. });
  6665. node = lookup.node;
  6666. var perms = "";
  6667. if (amode & 4) perms += "r";
  6668. if (amode & 2) perms += "w";
  6669. if (amode & 1) perms += "x";
  6670. if (perms && FS.nodePermissions(node, perms)) {
  6671. return -ERRNO_CODES.EACCES;
  6672. }
  6673. return 0;
  6674. },
  6675. doDup: function(path, flags, suggestFD) {
  6676. var suggest = FS.getStream(suggestFD);
  6677. if (suggest) FS.close(suggest);
  6678. return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
  6679. },
  6680. doReadv: function(stream, iov, iovcnt, offset) {
  6681. var ret = 0;
  6682. for (var i = 0; i < iovcnt; i++) {
  6683. var ptr = HEAP32[iov + i * 8 >> 2];
  6684. var len = HEAP32[iov + (i * 8 + 4) >> 2];
  6685. var curr = FS.read(stream, HEAP8, ptr, len, offset);
  6686. if (curr < 0) return -1;
  6687. ret += curr;
  6688. if (curr < len) break;
  6689. }
  6690. return ret;
  6691. },
  6692. doWritev: function(stream, iov, iovcnt, offset) {
  6693. var ret = 0;
  6694. for (var i = 0; i < iovcnt; i++) {
  6695. var ptr = HEAP32[iov + i * 8 >> 2];
  6696. var len = HEAP32[iov + (i * 8 + 4) >> 2];
  6697. var curr = FS.write(stream, HEAP8, ptr, len, offset);
  6698. if (curr < 0) return -1;
  6699. ret += curr;
  6700. }
  6701. return ret;
  6702. },
  6703. varargs: 0,
  6704. get: function(varargs) {
  6705. SYSCALLS.varargs += 4;
  6706. var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];
  6707. return ret;
  6708. },
  6709. getStr: function() {
  6710. var ret = UTF8ToString(SYSCALLS.get());
  6711. return ret;
  6712. },
  6713. getStreamFromFD: function() {
  6714. var stream = FS.getStream(SYSCALLS.get());
  6715. if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6716. return stream;
  6717. },
  6718. getSocketFromFD: function() {
  6719. var socket = SOCKFS.getSocket(SYSCALLS.get());
  6720. if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6721. return socket;
  6722. },
  6723. getSocketAddress: function(allowNull) {
  6724. var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get();
  6725. if (allowNull && addrp === 0) return null;
  6726. var info = __read_sockaddr(addrp, addrlen);
  6727. if (info.errno) throw new FS.ErrnoError(info.errno);
  6728. info.addr = DNS.lookup_addr(info.addr) || info.addr;
  6729. return info;
  6730. },
  6731. get64: function() {
  6732. var low = SYSCALLS.get(), high = SYSCALLS.get();
  6733. return low;
  6734. },
  6735. getZero: function() {
  6736. SYSCALLS.get();
  6737. }
  6738. };
  6739. function ___syscall140(which, varargs) {
  6740. SYSCALLS.varargs = varargs;
  6741. try {
  6742. var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get();
  6743. var offset = offset_low;
  6744. FS.llseek(stream, offset, whence);
  6745. HEAP32[result >> 2] = stream.position;
  6746. if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;
  6747. return 0;
  6748. } catch (e) {
  6749. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  6750. return -e.errno;
  6751. }
  6752. }
  6753. function ___syscall145(which, varargs) {
  6754. SYSCALLS.varargs = varargs;
  6755. try {
  6756. var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
  6757. return SYSCALLS.doReadv(stream, iov, iovcnt);
  6758. } catch (e) {
  6759. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  6760. return -e.errno;
  6761. }
  6762. }
  6763. function ___syscall146(which, varargs) {
  6764. SYSCALLS.varargs = varargs;
  6765. try {
  6766. var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
  6767. return SYSCALLS.doWritev(stream, iov, iovcnt);
  6768. } catch (e) {
  6769. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  6770. return -e.errno;
  6771. }
  6772. }
  6773. function ___syscall195(which, varargs) {
  6774. SYSCALLS.varargs = varargs;
  6775. try {
  6776. var path = SYSCALLS.getStr(), buf = SYSCALLS.get();
  6777. return SYSCALLS.doStat(FS.stat, path, buf);
  6778. } catch (e) {
  6779. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  6780. return -e.errno;
  6781. }
  6782. }
  6783. function ___syscall220(which, varargs) {
  6784. SYSCALLS.varargs = varargs;
  6785. try {
  6786. var stream = SYSCALLS.getStreamFromFD(), dirp = SYSCALLS.get(), count = SYSCALLS.get();
  6787. if (!stream.getdents) {
  6788. stream.getdents = FS.readdir(stream.path);
  6789. }
  6790. var pos = 0;
  6791. while (stream.getdents.length > 0 && pos + 268 <= count) {
  6792. var id;
  6793. var type;
  6794. var name = stream.getdents.pop();
  6795. if (name[0] === ".") {
  6796. id = 1;
  6797. type = 4;
  6798. } else {
  6799. var child = FS.lookupNode(stream.node, name);
  6800. id = child.id;
  6801. type = FS.isChrdev(child.mode) ? 2 : FS.isDir(child.mode) ? 4 : FS.isLink(child.mode) ? 10 : 8;
  6802. }
  6803. HEAP32[dirp + pos >> 2] = id;
  6804. HEAP32[dirp + pos + 4 >> 2] = stream.position;
  6805. HEAP16[dirp + pos + 8 >> 1] = 268;
  6806. HEAP8[dirp + pos + 10 >> 0] = type;
  6807. stringToUTF8(name, dirp + pos + 11, 256);
  6808. pos += 268;
  6809. }
  6810. return pos;
  6811. } catch (e) {
  6812. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  6813. return -e.errno;
  6814. }
  6815. }
  6816. function ___syscall221(which, varargs) {
  6817. SYSCALLS.varargs = varargs;
  6818. try {
  6819. var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get();
  6820. switch (cmd) {
  6821. case 0:
  6822. {
  6823. var arg = SYSCALLS.get();
  6824. if (arg < 0) {
  6825. return -ERRNO_CODES.EINVAL;
  6826. }
  6827. var newStream;
  6828. newStream = FS.open(stream.path, stream.flags, 0, arg);
  6829. return newStream.fd;
  6830. }
  6831. case 1:
  6832. case 2:
  6833. return 0;
  6834. case 3:
  6835. return stream.flags;
  6836. case 4:
  6837. {
  6838. var arg = SYSCALLS.get();
  6839. stream.flags |= arg;
  6840. return 0;
  6841. }
  6842. case 12:
  6843. {
  6844. var arg = SYSCALLS.get();
  6845. var offset = 0;
  6846. HEAP16[arg + offset >> 1] = 2;
  6847. return 0;
  6848. }
  6849. case 13:
  6850. case 14:
  6851. return 0;
  6852. case 16:
  6853. case 8:
  6854. return -ERRNO_CODES.EINVAL;
  6855. case 9:
  6856. ___setErrNo(ERRNO_CODES.EINVAL);
  6857. return -1;
  6858. default:
  6859. {
  6860. return -ERRNO_CODES.EINVAL;
  6861. }
  6862. }
  6863. } catch (e) {
  6864. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  6865. return -e.errno;
  6866. }
  6867. }
  6868. function ___syscall5(which, varargs) {
  6869. SYSCALLS.varargs = varargs;
  6870. try {
  6871. var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get();
  6872. var stream = FS.open(pathname, flags, mode);
  6873. return stream.fd;
  6874. } catch (e) {
  6875. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  6876. return -e.errno;
  6877. }
  6878. }
  6879. function ___syscall54(which, varargs) {
  6880. SYSCALLS.varargs = varargs;
  6881. try {
  6882. var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get();
  6883. switch (op) {
  6884. case 21509:
  6885. case 21505:
  6886. {
  6887. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  6888. return 0;
  6889. }
  6890. case 21510:
  6891. case 21511:
  6892. case 21512:
  6893. case 21506:
  6894. case 21507:
  6895. case 21508:
  6896. {
  6897. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  6898. return 0;
  6899. }
  6900. case 21519:
  6901. {
  6902. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  6903. var argp = SYSCALLS.get();
  6904. HEAP32[argp >> 2] = 0;
  6905. return 0;
  6906. }
  6907. case 21520:
  6908. {
  6909. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  6910. return -ERRNO_CODES.EINVAL;
  6911. }
  6912. case 21531:
  6913. {
  6914. var argp = SYSCALLS.get();
  6915. return FS.ioctl(stream, op, argp);
  6916. }
  6917. case 21523:
  6918. {
  6919. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  6920. return 0;
  6921. }
  6922. case 21524:
  6923. {
  6924. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  6925. return 0;
  6926. }
  6927. default:
  6928. abort("bad ioctl syscall " + op);
  6929. }
  6930. } catch (e) {
  6931. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  6932. return -e.errno;
  6933. }
  6934. }
  6935. function ___syscall6(which, varargs) {
  6936. SYSCALLS.varargs = varargs;
  6937. try {
  6938. var stream = SYSCALLS.getStreamFromFD();
  6939. FS.close(stream);
  6940. return 0;
  6941. } catch (e) {
  6942. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  6943. return -e.errno;
  6944. }
  6945. }
  6946. function ___unlock() {}
  6947. function _abort() {
  6948. Module["abort"]();
  6949. }
  6950. function _emscripten_async_wget_data(url, arg, onload, onerror) {
  6951. Browser.asyncLoad(UTF8ToString(url), function(byteArray) {
  6952. var buffer = _malloc(byteArray.length);
  6953. HEAPU8.set(byteArray, buffer);
  6954. dynCall_viii(onload, arg, buffer, byteArray.length);
  6955. _free(buffer);
  6956. }, function() {
  6957. if (onerror) dynCall_vi(onerror, arg);
  6958. }, true);
  6959. }
  6960. function _emscripten_get_heap_size() {
  6961. return TOTAL_MEMORY;
  6962. }
  6963. function abortOnCannotGrowMemory(requestedSize) {
  6964. abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + TOTAL_MEMORY + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ");
  6965. }
  6966. function _emscripten_resize_heap(requestedSize) {
  6967. abortOnCannotGrowMemory(requestedSize);
  6968. }
  6969. function _exit(status) {
  6970. exit(status);
  6971. }
  6972. var ___tm_current = 3042576;
  6973. var ___tm_timezone = (stringToUTF8("GMT", 3042624, 4), 3042624);
  6974. function _gmtime_r(time, tmPtr) {
  6975. var date = new Date(HEAP32[time >> 2] * 1e3);
  6976. HEAP32[tmPtr >> 2] = date.getUTCSeconds();
  6977. HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes();
  6978. HEAP32[tmPtr + 8 >> 2] = date.getUTCHours();
  6979. HEAP32[tmPtr + 12 >> 2] = date.getUTCDate();
  6980. HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth();
  6981. HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900;
  6982. HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();
  6983. HEAP32[tmPtr + 36 >> 2] = 0;
  6984. HEAP32[tmPtr + 32 >> 2] = 0;
  6985. var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
  6986. var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;
  6987. HEAP32[tmPtr + 28 >> 2] = yday;
  6988. HEAP32[tmPtr + 40 >> 2] = ___tm_timezone;
  6989. return tmPtr;
  6990. }
  6991. function _gmtime(time) {
  6992. return _gmtime_r(time, ___tm_current);
  6993. }
  6994. function _tzset() {
  6995. if (_tzset.called) return;
  6996. _tzset.called = true;
  6997. HEAP32[__get_timezone() >> 2] = new Date().getTimezoneOffset() * 60;
  6998. var winter = new Date(2e3, 0, 1);
  6999. var summer = new Date(2e3, 6, 1);
  7000. HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset());
  7001. function extractZone(date) {
  7002. var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/);
  7003. return match ? match[1] : "GMT";
  7004. }
  7005. var winterName = extractZone(winter);
  7006. var summerName = extractZone(summer);
  7007. var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL);
  7008. var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL);
  7009. if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) {
  7010. HEAP32[__get_tzname() >> 2] = winterNamePtr;
  7011. HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr;
  7012. } else {
  7013. HEAP32[__get_tzname() >> 2] = summerNamePtr;
  7014. HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr;
  7015. }
  7016. }
  7017. function _localtime_r(time, tmPtr) {
  7018. _tzset();
  7019. var date = new Date(HEAP32[time >> 2] * 1e3);
  7020. HEAP32[tmPtr >> 2] = date.getSeconds();
  7021. HEAP32[tmPtr + 4 >> 2] = date.getMinutes();
  7022. HEAP32[tmPtr + 8 >> 2] = date.getHours();
  7023. HEAP32[tmPtr + 12 >> 2] = date.getDate();
  7024. HEAP32[tmPtr + 16 >> 2] = date.getMonth();
  7025. HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;
  7026. HEAP32[tmPtr + 24 >> 2] = date.getDay();
  7027. var start = new Date(date.getFullYear(), 0, 1);
  7028. var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0;
  7029. HEAP32[tmPtr + 28 >> 2] = yday;
  7030. HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);
  7031. var summerOffset = new Date(2e3, 6, 1).getTimezoneOffset();
  7032. var winterOffset = start.getTimezoneOffset();
  7033. var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;
  7034. HEAP32[tmPtr + 32 >> 2] = dst;
  7035. var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2];
  7036. HEAP32[tmPtr + 40 >> 2] = zonePtr;
  7037. return tmPtr;
  7038. }
  7039. function _localtime(time) {
  7040. return _localtime_r(time, ___tm_current);
  7041. }
  7042. function _longjmp(env, value) {
  7043. _setThrew(env, value || 1);
  7044. throw "longjmp";
  7045. }
  7046. function _emscripten_memcpy_big(dest, src, num) {
  7047. HEAPU8.set(HEAPU8.subarray(src, src + num), dest);
  7048. }
  7049. function __isLeapYear(year) {
  7050. return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
  7051. }
  7052. function __arraySum(array, index) {
  7053. var sum = 0;
  7054. for (var i = 0; i <= index; sum += array[i++]) ;
  7055. return sum;
  7056. }
  7057. var __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
  7058. var __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
  7059. function __addDays(date, days) {
  7060. var newDate = new Date(date.getTime());
  7061. while (days > 0) {
  7062. var leap = __isLeapYear(newDate.getFullYear());
  7063. var currentMonth = newDate.getMonth();
  7064. var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];
  7065. if (days > daysInCurrentMonth - newDate.getDate()) {
  7066. days -= daysInCurrentMonth - newDate.getDate() + 1;
  7067. newDate.setDate(1);
  7068. if (currentMonth < 11) {
  7069. newDate.setMonth(currentMonth + 1);
  7070. } else {
  7071. newDate.setMonth(0);
  7072. newDate.setFullYear(newDate.getFullYear() + 1);
  7073. }
  7074. } else {
  7075. newDate.setDate(newDate.getDate() + days);
  7076. return newDate;
  7077. }
  7078. }
  7079. return newDate;
  7080. }
  7081. function _strftime(s, maxsize, format, tm) {
  7082. var tm_zone = HEAP32[tm + 40 >> 2];
  7083. var date = {
  7084. tm_sec: HEAP32[tm >> 2],
  7085. tm_min: HEAP32[tm + 4 >> 2],
  7086. tm_hour: HEAP32[tm + 8 >> 2],
  7087. tm_mday: HEAP32[tm + 12 >> 2],
  7088. tm_mon: HEAP32[tm + 16 >> 2],
  7089. tm_year: HEAP32[tm + 20 >> 2],
  7090. tm_wday: HEAP32[tm + 24 >> 2],
  7091. tm_yday: HEAP32[tm + 28 >> 2],
  7092. tm_isdst: HEAP32[tm + 32 >> 2],
  7093. tm_gmtoff: HEAP32[tm + 36 >> 2],
  7094. tm_zone: tm_zone ? UTF8ToString(tm_zone) : ""
  7095. };
  7096. var pattern = UTF8ToString(format);
  7097. var EXPANSION_RULES_1 = {
  7098. "%c": "%a %b %d %H:%M:%S %Y",
  7099. "%D": "%m/%d/%y",
  7100. "%F": "%Y-%m-%d",
  7101. "%h": "%b",
  7102. "%r": "%I:%M:%S %p",
  7103. "%R": "%H:%M",
  7104. "%T": "%H:%M:%S",
  7105. "%x": "%m/%d/%y",
  7106. "%X": "%H:%M:%S"
  7107. };
  7108. for (var rule in EXPANSION_RULES_1) {
  7109. pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]);
  7110. }
  7111. var WEEKDAYS = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ];
  7112. var MONTHS = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];
  7113. function leadingSomething(value, digits, character) {
  7114. var str = typeof value === "number" ? value.toString() : value || "";
  7115. while (str.length < digits) {
  7116. str = character[0] + str;
  7117. }
  7118. return str;
  7119. }
  7120. function leadingNulls(value, digits) {
  7121. return leadingSomething(value, digits, "0");
  7122. }
  7123. function compareByDay(date1, date2) {
  7124. function sgn(value) {
  7125. return value < 0 ? -1 : value > 0 ? 1 : 0;
  7126. }
  7127. var compare;
  7128. if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {
  7129. if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {
  7130. compare = sgn(date1.getDate() - date2.getDate());
  7131. }
  7132. }
  7133. return compare;
  7134. }
  7135. function getFirstWeekStartDate(janFourth) {
  7136. switch (janFourth.getDay()) {
  7137. case 0:
  7138. return new Date(janFourth.getFullYear() - 1, 11, 29);
  7139. case 1:
  7140. return janFourth;
  7141. case 2:
  7142. return new Date(janFourth.getFullYear(), 0, 3);
  7143. case 3:
  7144. return new Date(janFourth.getFullYear(), 0, 2);
  7145. case 4:
  7146. return new Date(janFourth.getFullYear(), 0, 1);
  7147. case 5:
  7148. return new Date(janFourth.getFullYear() - 1, 11, 31);
  7149. case 6:
  7150. return new Date(janFourth.getFullYear() - 1, 11, 30);
  7151. }
  7152. }
  7153. function getWeekBasedYear(date) {
  7154. var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);
  7155. var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
  7156. var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);
  7157. var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
  7158. var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
  7159. if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
  7160. if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
  7161. return thisDate.getFullYear() + 1;
  7162. } else {
  7163. return thisDate.getFullYear();
  7164. }
  7165. } else {
  7166. return thisDate.getFullYear() - 1;
  7167. }
  7168. }
  7169. var EXPANSION_RULES_2 = {
  7170. "%a": function(date) {
  7171. return WEEKDAYS[date.tm_wday].substring(0, 3);
  7172. },
  7173. "%A": function(date) {
  7174. return WEEKDAYS[date.tm_wday];
  7175. },
  7176. "%b": function(date) {
  7177. return MONTHS[date.tm_mon].substring(0, 3);
  7178. },
  7179. "%B": function(date) {
  7180. return MONTHS[date.tm_mon];
  7181. },
  7182. "%C": function(date) {
  7183. var year = date.tm_year + 1900;
  7184. return leadingNulls(year / 100 | 0, 2);
  7185. },
  7186. "%d": function(date) {
  7187. return leadingNulls(date.tm_mday, 2);
  7188. },
  7189. "%e": function(date) {
  7190. return leadingSomething(date.tm_mday, 2, " ");
  7191. },
  7192. "%g": function(date) {
  7193. return getWeekBasedYear(date).toString().substring(2);
  7194. },
  7195. "%G": function(date) {
  7196. return getWeekBasedYear(date);
  7197. },
  7198. "%H": function(date) {
  7199. return leadingNulls(date.tm_hour, 2);
  7200. },
  7201. "%I": function(date) {
  7202. var twelveHour = date.tm_hour;
  7203. if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12;
  7204. return leadingNulls(twelveHour, 2);
  7205. },
  7206. "%j": function(date) {
  7207. return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);
  7208. },
  7209. "%m": function(date) {
  7210. return leadingNulls(date.tm_mon + 1, 2);
  7211. },
  7212. "%M": function(date) {
  7213. return leadingNulls(date.tm_min, 2);
  7214. },
  7215. "%n": function() {
  7216. return "\n";
  7217. },
  7218. "%p": function(date) {
  7219. if (date.tm_hour >= 0 && date.tm_hour < 12) {
  7220. return "AM";
  7221. } else {
  7222. return "PM";
  7223. }
  7224. },
  7225. "%S": function(date) {
  7226. return leadingNulls(date.tm_sec, 2);
  7227. },
  7228. "%t": function() {
  7229. return "\t";
  7230. },
  7231. "%u": function(date) {
  7232. var day = new Date(date.tm_year + 1900, date.tm_mon + 1, date.tm_mday, 0, 0, 0, 0);
  7233. return day.getDay() || 7;
  7234. },
  7235. "%U": function(date) {
  7236. var janFirst = new Date(date.tm_year + 1900, 0, 1);
  7237. var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay());
  7238. var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday);
  7239. if (compareByDay(firstSunday, endDate) < 0) {
  7240. var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31;
  7241. var firstSundayUntilEndJanuary = 31 - firstSunday.getDate();
  7242. var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate();
  7243. return leadingNulls(Math.ceil(days / 7), 2);
  7244. }
  7245. return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00";
  7246. },
  7247. "%V": function(date) {
  7248. var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4);
  7249. var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4);
  7250. var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
  7251. var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
  7252. var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);
  7253. if (compareByDay(endDate, firstWeekStartThisYear) < 0) {
  7254. return "53";
  7255. }
  7256. if (compareByDay(firstWeekStartNextYear, endDate) <= 0) {
  7257. return "01";
  7258. }
  7259. var daysDifference;
  7260. if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) {
  7261. daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate();
  7262. } else {
  7263. daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate();
  7264. }
  7265. return leadingNulls(Math.ceil(daysDifference / 7), 2);
  7266. },
  7267. "%w": function(date) {
  7268. var day = new Date(date.tm_year + 1900, date.tm_mon + 1, date.tm_mday, 0, 0, 0, 0);
  7269. return day.getDay();
  7270. },
  7271. "%W": function(date) {
  7272. var janFirst = new Date(date.tm_year, 0, 1);
  7273. var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1);
  7274. var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday);
  7275. if (compareByDay(firstMonday, endDate) < 0) {
  7276. var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31;
  7277. var firstMondayUntilEndJanuary = 31 - firstMonday.getDate();
  7278. var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate();
  7279. return leadingNulls(Math.ceil(days / 7), 2);
  7280. }
  7281. return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00";
  7282. },
  7283. "%y": function(date) {
  7284. return (date.tm_year + 1900).toString().substring(2);
  7285. },
  7286. "%Y": function(date) {
  7287. return date.tm_year + 1900;
  7288. },
  7289. "%z": function(date) {
  7290. var off = date.tm_gmtoff;
  7291. var ahead = off >= 0;
  7292. off = Math.abs(off) / 60;
  7293. off = off / 60 * 100 + off % 60;
  7294. return (ahead ? "+" : "-") + String("0000" + off).slice(-4);
  7295. },
  7296. "%Z": function(date) {
  7297. return date.tm_zone;
  7298. },
  7299. "%%": function() {
  7300. return "%";
  7301. }
  7302. };
  7303. for (var rule in EXPANSION_RULES_2) {
  7304. if (pattern.indexOf(rule) >= 0) {
  7305. pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date));
  7306. }
  7307. }
  7308. var bytes = intArrayFromString(pattern, false);
  7309. if (bytes.length > maxsize) {
  7310. return 0;
  7311. }
  7312. writeArrayToMemory(bytes, s);
  7313. return bytes.length - 1;
  7314. }
  7315. function _time(ptr) {
  7316. var ret = Date.now() / 1e3 | 0;
  7317. if (ptr) {
  7318. HEAP32[ptr >> 2] = ret;
  7319. }
  7320. return ret;
  7321. }
  7322. FS.staticInit();
  7323. __ATINIT__.unshift(function() {
  7324. if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
  7325. });
  7326. __ATMAIN__.push(function() {
  7327. FS.ignorePermissions = false;
  7328. });
  7329. __ATEXIT__.push(function() {
  7330. FS.quit();
  7331. });
  7332. Module["FS_createFolder"] = FS.createFolder;
  7333. Module["FS_createPath"] = FS.createPath;
  7334. Module["FS_createDataFile"] = FS.createDataFile;
  7335. Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
  7336. Module["FS_createLazyFile"] = FS.createLazyFile;
  7337. Module["FS_createLink"] = FS.createLink;
  7338. Module["FS_createDevice"] = FS.createDevice;
  7339. Module["FS_unlink"] = FS.unlink;
  7340. __ATINIT__.unshift(function() {
  7341. TTY.init();
  7342. });
  7343. __ATEXIT__.push(function() {
  7344. TTY.shutdown();
  7345. });
  7346. if (ENVIRONMENT_IS_NODE) {
  7347. var fs = require("fs");
  7348. var NODEJS_PATH = require("path");
  7349. NODEFS.staticInit();
  7350. }
  7351. Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) {
  7352. err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");
  7353. Module["requestFullScreen"] = Module["requestFullscreen"];
  7354. Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice);
  7355. };
  7356. Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) {
  7357. Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
  7358. };
  7359. Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) {
  7360. Browser.requestAnimationFrame(func);
  7361. };
  7362. Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) {
  7363. Browser.setCanvasSize(width, height, noUpdates);
  7364. };
  7365. Module["pauseMainLoop"] = function Module_pauseMainLoop() {
  7366. Browser.mainLoop.pause();
  7367. };
  7368. Module["resumeMainLoop"] = function Module_resumeMainLoop() {
  7369. Browser.mainLoop.resume();
  7370. };
  7371. Module["getUserMedia"] = function Module_getUserMedia() {
  7372. Browser.getUserMedia();
  7373. };
  7374. Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) {
  7375. return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes);
  7376. };
  7377. if (ENVIRONMENT_IS_NODE) {
  7378. _emscripten_get_now = function _emscripten_get_now_actual() {
  7379. var t = process["hrtime"]();
  7380. return t[0] * 1e3 + t[1] / 1e6;
  7381. };
  7382. } else if (typeof dateNow !== "undefined") {
  7383. _emscripten_get_now = dateNow;
  7384. } else if (typeof self === "object" && self["performance"] && typeof self["performance"]["now"] === "function") {
  7385. _emscripten_get_now = function() {
  7386. return self["performance"]["now"]();
  7387. };
  7388. } else if (typeof performance === "object" && typeof performance["now"] === "function") {
  7389. _emscripten_get_now = function() {
  7390. return performance["now"]();
  7391. };
  7392. } else {
  7393. _emscripten_get_now = Date.now;
  7394. }
  7395. var GLctx;
  7396. GL.init();
  7397. var ASSERTIONS = false;
  7398. function intArrayFromString(stringy, dontAddNull, length) {
  7399. var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
  7400. var u8array = new Array(len);
  7401. var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
  7402. if (dontAddNull) u8array.length = numBytesWritten;
  7403. return u8array;
  7404. }
  7405. function intArrayToString(array) {
  7406. var ret = [];
  7407. for (var i = 0; i < array.length; i++) {
  7408. var chr = array[i];
  7409. if (chr > 255) {
  7410. if (ASSERTIONS) {
  7411. assert(false, "Character code " + chr + " (" + String.fromCharCode(chr) + ") at offset " + i + " not in 0x00-0xFF.");
  7412. }
  7413. chr &= 255;
  7414. }
  7415. ret.push(String.fromCharCode(chr));
  7416. }
  7417. return ret.join("");
  7418. }
  7419. var decodeBase64 = typeof atob === "function" ? atob : function(input) {
  7420. var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
  7421. var output = "";
  7422. var chr1, chr2, chr3;
  7423. var enc1, enc2, enc3, enc4;
  7424. var i = 0;
  7425. input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
  7426. do {
  7427. enc1 = keyStr.indexOf(input.charAt(i++));
  7428. enc2 = keyStr.indexOf(input.charAt(i++));
  7429. enc3 = keyStr.indexOf(input.charAt(i++));
  7430. enc4 = keyStr.indexOf(input.charAt(i++));
  7431. chr1 = enc1 << 2 | enc2 >> 4;
  7432. chr2 = (enc2 & 15) << 4 | enc3 >> 2;
  7433. chr3 = (enc3 & 3) << 6 | enc4;
  7434. output = output + String.fromCharCode(chr1);
  7435. if (enc3 !== 64) {
  7436. output = output + String.fromCharCode(chr2);
  7437. }
  7438. if (enc4 !== 64) {
  7439. output = output + String.fromCharCode(chr3);
  7440. }
  7441. } while (i < input.length);
  7442. return output;
  7443. };
  7444. function intArrayFromBase64(s) {
  7445. if (typeof ENVIRONMENT_IS_NODE === "boolean" && ENVIRONMENT_IS_NODE) {
  7446. var buf;
  7447. try {
  7448. buf = Buffer.from(s, "base64");
  7449. } catch (_) {
  7450. buf = new Buffer(s, "base64");
  7451. }
  7452. return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
  7453. }
  7454. try {
  7455. var decoded = decodeBase64(s);
  7456. var bytes = new Uint8Array(decoded.length);
  7457. for (var i = 0; i < decoded.length; ++i) {
  7458. bytes[i] = decoded.charCodeAt(i);
  7459. }
  7460. return bytes;
  7461. } catch (_) {
  7462. throw new Error("Converting base64 string to bytes failed.");
  7463. }
  7464. }
  7465. function tryParseAsDataURI(filename) {
  7466. if (!isDataURI(filename)) {
  7467. return;
  7468. }
  7469. return intArrayFromBase64(filename.slice(dataURIPrefix.length));
  7470. }
  7471. function invoke_vii(index, a1, a2) {
  7472. var sp = stackSave();
  7473. try {
  7474. dynCall_vii(index, a1, a2);
  7475. } catch (e) {
  7476. stackRestore(sp);
  7477. if (e !== e + 0 && e !== "longjmp") throw e;
  7478. _setThrew(1, 0);
  7479. }
  7480. }
  7481. var asmGlobalArg = {
  7482. "Math": Math,
  7483. "Int8Array": Int8Array,
  7484. "Int16Array": Int16Array,
  7485. "Int32Array": Int32Array,
  7486. "Uint8Array": Uint8Array,
  7487. "Uint16Array": Uint16Array,
  7488. "Float32Array": Float32Array,
  7489. "Float64Array": Float64Array,
  7490. "NaN": NaN,
  7491. Infinity: Infinity
  7492. };
  7493. var asmLibraryArg = {
  7494. "a": abort,
  7495. "b": setTempRet0,
  7496. "c": getTempRet0,
  7497. "d": invoke_vii,
  7498. "e": _SDL_ClearError,
  7499. "f": _SDL_GetError,
  7500. "g": _SDL_GetModState,
  7501. "h": _SDL_GetMouseState,
  7502. "i": _SDL_GetTicks,
  7503. "j": _SDL_GetWindowSize,
  7504. "k": _SDL_Init,
  7505. "l": _SDL_LockAudio,
  7506. "m": _SDL_LockSurface,
  7507. "n": _SDL_PollEvent,
  7508. "o": _SDL_SetVideoMode,
  7509. "p": _SDL_UnlockAudio,
  7510. "q": _SDL_UnlockSurface,
  7511. "r": ___buildEnvironment,
  7512. "s": ___lock,
  7513. "t": ___setErrNo,
  7514. "u": ___syscall140,
  7515. "v": ___syscall145,
  7516. "w": ___syscall146,
  7517. "x": ___syscall195,
  7518. "y": ___syscall220,
  7519. "z": ___syscall221,
  7520. "A": ___syscall5,
  7521. "B": ___syscall54,
  7522. "C": ___syscall6,
  7523. "D": ___unlock,
  7524. "E": __addDays,
  7525. "F": __arraySum,
  7526. "G": __isLeapYear,
  7527. "H": _abort,
  7528. "I": _emscripten_asm_const_i,
  7529. "J": _emscripten_asm_const_ii,
  7530. "K": _emscripten_asm_const_iii,
  7531. "L": _emscripten_asm_const_iiiiiii,
  7532. "M": _emscripten_async_wget_data,
  7533. "N": _emscripten_get_heap_size,
  7534. "O": _emscripten_get_now,
  7535. "P": _emscripten_memcpy_big,
  7536. "Q": _emscripten_resize_heap,
  7537. "R": _emscripten_set_main_loop,
  7538. "S": _emscripten_set_main_loop_timing,
  7539. "T": _exit,
  7540. "U": _gmtime,
  7541. "V": _gmtime_r,
  7542. "W": _localtime,
  7543. "X": _localtime_r,
  7544. "Y": _longjmp,
  7545. "Z": _strftime,
  7546. "_": _time,
  7547. "$": _tzset,
  7548. "aa": abortOnCannotGrowMemory,
  7549. "ab": tempDoublePtr,
  7550. "ac": DYNAMICTOP_PTR
  7551. };
  7552. // EMSCRIPTEN_START_ASM
  7553. var asm = (/** @suppress {uselessCode} */ function(global,env,buffer) {
  7554. "use asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.ab|0,i=env.ac|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.NaN,s=global.Infinity,t=global.Math.floor,u=global.Math.abs,v=global.Math.sqrt,w=global.Math.cos,x=global.Math.sin,y=global.Math.atan,z=global.Math.atan2,A=global.Math.ceil,B=global.Math.imul,C=global.Math.min,D=global.Math.clz32,E=env.a,F=env.b,G=env.c,H=env.d,I=env.e,J=env.f,K=env.g,L=env.h,M=env.i,N=env.j,O=env.k,P=env.l,Q=env.m,R=env.n,S=env.o,T=env.p,U=env.q,V=env.r,W=env.s,X=env.t,Y=env.u,Z=env.v,_=env.w,$=env.x,aa=env.y,ba=env.z,ca=env.A,da=env.B,ea=env.C,fa=env.D,ga=env.E,ha=env.F,ia=env.G,ja=env.H,ka=env.I,la=env.J,ma=env.K,na=env.L,oa=env.M,pa=env.N,qa=env.O,ra=env.P,sa=env.Q,ta=env.R,ua=env.S,va=env.T,wa=env.U,xa=env.V,ya=env.W,za=env.X,Aa=env.Y,Ba=env.Z,Ca=env._,Da=env.$,Ea=env.aa,Fa=3042736,Ga=8285616,Ha=0.0;
  7555. // EMSCRIPTEN_START_FUNCS
  7556. function zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Fa;Fa=Fa+16|0;d=b+8|0;e=b;f=a+16|0;g=c[c[f>>2]>>2]|0;h=g+16|0;i=a+8|0;j=c[i>>2]|0;if(h>>>0>=j>>>0|(h|0)==2099900)k=-1;else k=c[g+20>>2]&15;h=g+8|0;if(!(h>>>0>=j>>>0|(h|0)==2099900)){h=c[g+12>>2]&15;if((h|0)!=5){l=h+1|0;m=6}}else{l=0;m=6}if((m|0)==6){m=c[16+(l<<2)>>2]|0;c[e>>2]=45485;c[e+4>>2]=m;jf(a,1,Dd(a,47715,e)|0)|0}switch(k|0){case 0:case 5:break;default:jf(a,2,48006)|0}if(rf(a,1,47994)|0)kf(a,48028,d)|0;d=c[c[f>>2]>>2]|0;f=c[i>>2]|0;k=d+24|0;if(f>>>0>=k>>>0){c[i>>2]=k;Ld(a,1)|0;Fa=b;return 1}e=(d+20+(3-f)|0)>>>3;d=f;do{c[d+4>>2]=0;d=d+8|0}while(d>>>0<k>>>0);c[i>>2]=f+(e+1<<3);c[i>>2]=k;Ld(a,1)|0;Fa=b;return 1}function Af(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>=g>>>0|(e|0)==2099900){jf(a,1,47735)|0;h=c[c[b>>2]>>2]|0;i=c[f>>2]|0}else{h=d;i=g}g=h+16|0;if(g>>>0>=i>>>0|(g|0)==2099900){jf(a,2,47735)|0;a=c[c[b>>2]>>2]|0;j=a+16|0;k=a;l=c[f>>2]|0}else{j=g;k=h;l=i}i=k+8|0;k=i>>>0<l>>>0?i:2099900;i=j>>>0<l>>>0?j:2099900;if((k|0)!=2099900&(i|0)!=2099900?(c[k+4>>2]|0)==(c[i+4>>2]|0):0){j=(Ec(0,k,i)|0)!=0&1;m=j;n=c[f>>2]|0}else{m=0;n=l}c[n>>2]=m;c[n+4>>2]=1;c[f>>2]=(c[f>>2]|0)+8;return 1}function Bf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(!(e>>>0>=g>>>0|(e|0)==2099900)?(c[d+12>>2]&14|1|0)==5:0){h=e;i=g}else{jf(a,1,48064)|0;h=(c[c[b>>2]>>2]|0)+8|0;i=c[f>>2]|0}b=h>>>0<i>>>0?h:2099900;switch(c[b+4>>2]&15){case 4:{j=c[(c[b>>2]|0)+12>>2]|0;break}case 7:{j=c[(c[b>>2]|0)+16>>2]|0;break}case 5:{j=cd(c[b>>2]|0)|0;break}default:j=0}c[i>>2]=j<<16;c[i+4>>2]=3;c[f>>2]=(c[f>>2]|0)+8;return 1}function Cf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=Fa;Fa=Fa+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;i=c[h>>2]|0;if(!(g>>>0>=i>>>0|(g|0)==2099900)){g=c[f+12>>2]&15;if((g|0)==5){j=f;k=i}else{l=g+1|0;m=4}}else{l=0;m=4}if((m|0)==4){m=c[16+(l<<2)>>2]|0;c[d>>2]=45485;c[d+4>>2]=m;jf(a,1,Dd(a,47715,d)|0)|0;j=c[c[e>>2]>>2]|0;k=c[h>>2]|0}d=j+16|0;if(d>>>0>=k>>>0|(d|0)==2099900){jf(a,2,47735)|0;n=c[c[e>>2]>>2]|0;o=c[h>>2]|0}else{n=j;o=k}k=n+8|0;j=n+24|0;if(o>>>0>=j>>>0){c[h>>2]=j;p=c[k>>2]|0;q=n+16|0;r=xc(p,q)|0;s=c[h>>2]|0;t=s+-8|0;u=c[r>>2]|0;c[t>>2]=u;v=r+4|0;w=c[v>>2]|0;x=s+-4|0;c[x>>2]=w;Fa=b;return 1}e=(n+20+(3-o)|0)>>>3;a=o;do{c[a+4>>2]=0;a=a+8|0}while(a>>>0<j>>>0);c[h>>2]=o+(e+1<<3);c[h>>2]=j;p=c[k>>2]|0;q=n+16|0;r=xc(p,q)|0;s=c[h>>2]|0;t=s+-8|0;u=c[r>>2]|0;c[t>>2]=u;v=r+4|0;w=c[v>>2]|0;x=s+-4|0;c[x>>2]=w;Fa=b;return 1}function Df(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=Fa;Fa=Fa+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;i=b+8|0;j=c[i>>2]|0;if(!(h>>>0>=j>>>0|(h|0)==2099900)){h=c[g+12>>2]&15;if((h|0)==5){k=g;l=j}else{m=h+1|0;n=4}}else{m=0;n=4}if((n|0)==4){n=c[16+(m<<2)>>2]|0;c[e>>2]=45485;c[e+4>>2]=n;jf(b,1,Dd(b,47715,e)|0)|0;k=c[c[f>>2]>>2]|0;l=c[i>>2]|0}e=k+16|0;if(e>>>0>=l>>>0|(e|0)==2099900){jf(b,2,47735)|0;o=c[c[f>>2]>>2]|0;p=c[i>>2]|0}else{o=k;p=l}l=o+24|0;if(l>>>0>=p>>>0|(l|0)==2099900){jf(b,3,47735)|0;q=c[c[f>>2]>>2]|0;r=c[i>>2]|0}else{q=o;r=p}p=q+8|0;o=q+32|0;if(r>>>0<o>>>0){f=(q+28+(3-r)|0)>>>3;l=r;do{c[l+4>>2]=0;l=l+8|0}while(l>>>0<o>>>0);c[i>>2]=r+(f+1<<3)}c[i>>2]=o;o=c[p>>2]|0;f=q+16|0;r=xc(o,f)|0;if((r|0)==2099900)s=yc(b,o,f)|0;else s=r;c[s>>2]=c[q+24>>2];c[s+4>>2]=c[q+28>>2];a[(c[p>>2]|0)+6>>0]=0;q=c[i>>2]|0;if(!(c[q+-4>>2]&64)){t=q;u=t+-16|0;c[i>>2]=u;Fa=d;return 1}if(!(a[(c[q+-8>>2]|0)+5>>0]&3)){t=q;u=t+-16|0;c[i>>2]=u;Fa=d;return 1}s=c[p>>2]|0;p=s+5|0;r=a[p>>0]|0;if(!(r&4)){t=q;u=t+-16|0;c[i>>2]=u;Fa=d;return 1}q=c[b+12>>2]|0;a[p>>0]=r&-5;r=q+76|0;c[s+24>>2]=c[r>>2];c[r>>2]=s;t=c[i>>2]|0;u=t+-16|0;c[i>>2]=u;Fa=d;return 1}function Ef(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>=g>>>0|(e|0)==2099900){jf(a,1,47735)|0;h=c[c[b>>2]>>2]|0;i=h+8|0;j=c[f>>2]|0;k=h}else{i=e;j=g;k=d}if(i>>>0>=j>>>0|(i|0)==2099900){l=0;m=16+(l<<2)|0;n=c[m>>2]|0;Ad(a,n)|0;return 1}l=(c[k+12>>2]&15)+1|0;m=16+(l<<2)|0;n=c[m>>2]|0;Ad(a,n)|0;return 1}function Ff(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Fa;Fa=Fa+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;i=c[h>>2]|0;if(!(g>>>0>=i>>>0|(g|0)==2099900)){g=c[f+12>>2]&15;if((g|0)==5){j=f;k=i}else{l=g+1|0;m=4}}else{l=0;m=4}if((m|0)==4){m=c[16+(l<<2)>>2]|0;c[d>>2]=45485;c[d+4>>2]=m;jf(a,1,Dd(a,47715,d)|0)|0;j=c[c[e>>2]>>2]|0;k=c[h>>2]|0}e=j+24|0;if(k>>>0<e>>>0){d=(j+20+(3-k)|0)>>>3;j=k;do{c[j+4>>2]=0;j=j+8|0}while(j>>>0<e>>>0);c[h>>2]=k+(d+1<<3)}c[h>>2]=e;if(bf(a,1)|0){n=2;Fa=b;return n|0}a=c[h>>2]|0;c[a+4>>2]=0;c[h>>2]=a+8;n=1;Fa=b;return n|0}function Gf(a){a=a|0;Hf(a,48089,0,4);return 3}function Hf(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=Fa;Fa=Fa+16|0;h=g+8|0;i=g;j=(rf(a,1,d)|0)==0;d=a+16|0;k=c[c[d>>2]>>2]|0;l=k+8|0;m=a+8|0;n=c[m>>2]|0;o=l>>>0<n>>>0;if(j){if(!((l|0)==2099900|o^1)){j=c[k+12>>2]&15;if((j|0)==5)p=n;else{q=j+1|0;r=5}}else{q=0;r=5}if((r|0)==5){r=c[16+(q<<2)>>2]|0;c[i>>2]=45485;c[i+4>>2]=r;jf(a,1,Dd(a,47715,i)|0)|0;p=c[m>>2]|0}c[p>>2]=f;c[p+4>>2]=22;p=c[m>>2]|0;f=p+8|0;c[m>>2]=f;i=c[c[d>>2]>>2]|0;d=i>>>0<p>>>0?i+8|0:2099900;c[f>>2]=c[d>>2];c[p+12>>2]=c[d+4>>2];d=c[m>>2]|0;p=d+8|0;c[m>>2]=p;if(!e){c[d+12>>2]=0;c[m>>2]=d+16;Fa=g;return}else{c[p>>2]=0;c[d+12>>2]=3;c[m>>2]=(c[m>>2]|0)+8;Fa=g;return}}else{d=o?l:2099900;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];d=c[m>>2]|0;c[m>>2]=d+8;m=d+-8|0;d=a+38|0;n=(b[d>>1]|0)+1<<16>>16;b[d>>1]=n;if((n&65535)>199){if(n<<16>>16==200)lc(a,45525,h);if((n&65535)>224)jc(a,6)}n=a+36|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;if(!(pc(a,m,3)|0))qc(a);b[n>>1]=(b[n>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Fa=g;return}}function If(a){a=a|0;Hf(a,48097,1,5);return 3}function Jf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=Fa;Fa=Fa+16|0;e=b;f=of(a,2)|0;g=a+16|0;h=c[c[g>>2]>>2]|0;i=h+8|0;j=a+8|0;k=c[j>>2]|0;if(!(i>>>0>=k>>>0|(i|0)==2099900)){i=c[h+12>>2]&15;if((i|0)==5)l=k;else{m=i+1|0;n=4}}else{m=0;n=4}if((n|0)==4){n=c[16+(m<<2)>>2]|0;c[e>>2]=45485;c[e+4>>2]=n;jf(a,1,Dd(a,47715,e)|0)|0;l=c[j>>2]|0}e=f<<16;a=e+65536|0;c[l>>2]=a;c[l+4>>2]=3;l=c[j>>2]|0;n=l+8|0;c[j>>2]=n;m=c[c[g>>2]>>2]|0;g=c[(m>>>0<l>>>0?m+8|0:2099900)>>2]|0;a:do if(f>>>0<(c[g+28>>2]|0)>>>0)o=(c[g+12>>2]|0)+(f<<3)|0;else{m=-65536-e|0;i=(c[g+16>>2]|0)+(((((a|0)<0?((a|0)==(m|0)?0:m):a)|0)%((1<<(d[g+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[i+12>>2]|0)==3?(c[i+8>>2]|0)==(a|0):0)break;m=c[i+16>>2]|0;if(!m){o=2099900;break a}else i=m}o=i}while(0);c[n>>2]=c[o>>2];c[l+12>>2]=c[o+4>>2];o=c[j>>2]|0;c[j>>2]=o+8;if((o|0)==2099900){Fa=b;return 2}else{Fa=b;return ((c[o+4>>2]&15|0)==0?1:2)|0}return 0}function Kf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Fa;Fa=Fa+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;i=b+8|0;j=c[i>>2]|0;k=h>>>0<j>>>0?h:2099900;l=j;switch(c[k+4>>2]|0){case 0:{m=l-h>>3;break}case 1:{n=l-h>>3;if(!(c[k>>2]|0))m=n;else{o=n;Fa=d;return o|0}break}default:{o=l-h>>3;Fa=d;return o|0}}if((m|0)<=1){Wg(3042456);p=nf(b,2,48106,0)|0;c[e>>2]=p;kf(b,46132,e)|0}m=g+16|0;g=m>>>0<j>>>0?m:2099900;if((c[g+4>>2]&15|0)!=4)if(!(ud(b,g)|0))q=0;else{m=c[b+12>>2]|0;j=m+12|0;o=c[j>>2]|0;do if((o|0)>0)if(!(a[m+51>>0]|0)){d=m+8|0;c[d>>2]=o+1600+(c[d>>2]|0);c[j>>2]=-1600;break}else{zc(b);break}while(0);j=(c[c[f>>2]>>2]|0)+16|0;r=j>>>0<(c[i>>2]|0)>>>0?j:2099900;s=13}else{r=g;s=13}if((s|0)==13)q=(c[r>>2]|0)+16|0;Wg(q);p=nf(b,2,48106,0)|0;c[e>>2]=p;kf(b,46132,e)|0;return 0}function Lf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=b+8|0;e=c[d>>2]|0;f=c[c[b+16>>2]>>2]|0;g=f+8|0;h=e-g|0;i=h>>3;j=e;if((!(g>>>0>=j>>>0|(g|0)==2099900)?(c[f+12>>2]&15|0)==4:0)?(a[(c[g>>2]|0)+16>>0]|0)==35:0){c[e>>2]=(h<<13)+-65536;c[j+4>>2]=3;c[d>>2]=(c[d>>2]|0)+8;k=1;return k|0}d=of(b,1)|0;j=(d|0)<0?d+i|0:(d|0)>(i|0)?i:d;if((j|0)<=0)jf(b,1,48124)|0;k=i-j|0;return k|0}function Mf(a){a=a|0;var b=0;b=(c[c[a+16>>2]>>2]|0)+8|0;if(!((b|0)==2099900?1:b>>>0>=(c[a+8>>2]|0)>>>0)){tf(a,1,0)|0;return 1}jf(a,1,47735)|0;tf(a,1,0)|0;return 1}function Nf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=a+16|0;e=(c[c[b>>2]>>2]|0)+8|0;f=a+8|0;g=c[f>>2]|0;h=e>>>0<g>>>0?e:2099900;if((c[h+4>>2]|0)==72?(i=c[h>>2]|0,(i|0)!=0):0){j=e;k=g;l=i}else{jf(a,1,48143)|0;j=(c[c[b>>2]>>2]|0)+8|0;k=c[f>>2]|0;l=0}i=Of(a,l,(k-j>>3)+-1|0)|0;j=c[f>>2]|0;if((i|0)<0){c[j>>2]=0;c[j+4>>2]=1;k=c[f>>2]|0;l=k+8|0;c[f>>2]=l;g=l;do{l=g;g=g+-8|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[l+-4>>2]}while(l>>>0>k>>>0);g=c[f>>2]|0;c[k+-8>>2]=c[g>>2];m=2;n=g;o=k+-4|0;p=n+4|0;q=c[p>>2]|0;c[o>>2]=q;return m|0}c[j>>2]=1;c[j+4>>2]=1;j=(c[f>>2]|0)+8|0;c[f>>2]=j;k=i+1|0;g=c[b>>2]|0;do if((i|0)>1000998){if((i|0)==1000999){r=(c[a+12>>2]|0)+36|0;break}b=c[g>>2]|0;if((c[b+4>>2]|32|0)==54)r=2099900;else{l=c[b>>2]|0;r=(i+-1000999|0)>(d[l+6>>0]|0|0)?2099900:l+16+(i+-1001e3<<3)|0}}else r=j+(~i<<3)|0;while(0);if(j>>>0>r>>>0){i=j;do{g=i;i=i+-8|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[g+-4>>2]}while(i>>>0>r>>>0);s=c[f>>2]|0}else s=j;c[r>>2]=c[s>>2];m=k;n=s;o=r+4|0;p=n+4|0;q=c[p>>2]|0;c[o>>2]=q;return m|0}function Of(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=Fa;Fa=Fa+16|0;g=f;c[g>>2]=e;h=d+16|0;i=c[h>>2]|0;j=d+8|0;k=c[j>>2]|0;do if(((c[d+24>>2]|0)-k>>3|0)>(e|0)){l=k;m=e;n=k}else{if(((k-(c[d+28>>2]|0)>>3)+5|0)<=(1e6-e|0)?(ic(d,2,g)|0)==0:0){o=c[j>>2]|0;l=o;m=c[g>>2]|0;n=o;break}o=c[b+12>>2]|0;p=o+12|0;q=c[p>>2]|0;do if((q|0)>0)if(!(a[o+51>>0]|0)){r=o+8|0;c[r>>2]=q+1600+(c[r>>2]|0);c[p>>2]=-1600;break}else{zc(b);break}while(0);p=Oc(b,48162,37)|0;q=b+8|0;o=c[q>>2]|0;c[o>>2]=p;c[o+4>>2]=(a[p+4>>0]|64)&255;c[q>>2]=(c[q>>2]|0)+8;s=-1;Fa=f;return s|0}while(0);k=i+4|0;i=l+(m<<3)|0;if((c[k>>2]|0)>>>0<i>>>0)c[k>>2]=i;if((a[d+6>>0]|0)==0?(n|0)==((c[c[h>>2]>>2]|0)+8|0):0){n=c[b+12>>2]|0;i=n+12|0;k=c[i>>2]|0;do if((k|0)>0)if(!(a[n+51>>0]|0)){m=n+8|0;c[m>>2]=k+1600+(c[m>>2]|0);c[i>>2]=-1600;break}else{zc(b);break}while(0);i=Oc(b,48200,37)|0;k=b+8|0;n=c[k>>2]|0;c[n>>2]=i;c[n+4>>2]=(a[i+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+8;s=-1;Fa=f;return s|0}k=(b|0)==(d|0);if((!k?(i=b+8|0,n=c[i>>2]|0,m=0-e|0,l=n+(m<<3)|0,c[i>>2]=l,(e|0)>0):0)?(q=c[j>>2]|0,c[j>>2]=q+8,c[q>>2]=c[l>>2],c[q+4>>2]=c[n+(m<<3)+4>>2],(e|0)!=1):0){m=1;do{n=c[i>>2]|0;q=c[j>>2]|0;c[j>>2]=q+8;c[q>>2]=c[n+(m<<3)>>2];c[q+4>>2]=c[n+(m<<3)+4>>2];m=m+1|0}while((m|0)!=(e|0))}if((Pf(d,b,e)|0)>>>0>=2){if(k){s=-1;Fa=f;return s|0}e=c[j>>2]|0;d=e+-8|0;c[j>>2]=d;m=b+8|0;i=c[m>>2]|0;c[m>>2]=i+8;c[i>>2]=c[d>>2];c[i+4>>2]=c[e+-4>>2];s=-1;Fa=f;return s|0}e=(c[j>>2]|0)-((c[c[h>>2]>>2]|0)+8)|0;i=e>>3;d=i+1|0;c[g>>2]=d;m=c[b+16>>2]|0;n=b+8|0;q=c[n>>2]|0;do if(((c[b+24>>2]|0)-q>>3|0)>(d|0)){t=q;u=d}else{if(((q-(c[b+28>>2]|0)>>3)+5|0)<=(999999-i|0)?(ic(b,2,g)|0)==0:0){t=c[n>>2]|0;u=c[g>>2]|0;break}l=~i;if((e|0)<0){p=c[c[h>>2]>>2]|0;o=c[j>>2]|0;r=p+8+(l<<3)|0;if(o>>>0<r>>>0){v=(p+(l<<3)+4+(3-o)|0)>>>3;l=o;do{c[l+4>>2]=0;l=l+8|0}while(l>>>0<r>>>0);c[j>>2]=o+(v+1<<3);w=r}else w=r}else w=(c[j>>2]|0)+(0-i<<3)|0;c[j>>2]=w;l=c[b+12>>2]|0;p=l+12|0;x=c[p>>2]|0;do if((x|0)>0)if(!(a[l+51>>0]|0)){y=l+8|0;c[y>>2]=x+1600+(c[y>>2]|0);c[p>>2]=-1600;break}else{zc(b);break}while(0);p=Oc(b,48238,35)|0;x=c[n>>2]|0;c[x>>2]=p;c[x+4>>2]=(a[p+4>>0]|64)&255;c[n>>2]=(c[n>>2]|0)+8;s=-1;Fa=f;return s|0}while(0);b=m+4|0;m=t+(u<<3)|0;if((c[b>>2]|0)>>>0<m>>>0)c[b>>2]=m;if(k){s=i;Fa=f;return s|0}k=c[j>>2]|0;m=0-i|0;b=k+(m<<3)|0;c[j>>2]=b;if((e|0)<=0){s=i;Fa=f;return s|0}u=c[n>>2]|0;c[n>>2]=u+8;c[u>>2]=c[b>>2];c[u+4>>2]=c[k+(m<<3)+4>>2];if((e|0)==8){s=1;Fa=f;return s|0}e=1;do{m=c[j>>2]|0;k=c[n>>2]|0;c[n>>2]=k+8;c[k>>2]=c[m+(e<<3)>>2];c[k+4>>2]=c[m+(e<<3)+4>>2];e=e+1|0}while((e|0)!=(i|0));s=i;Fa=f;return s|0}function Pf(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=d+36|0;i=b[h>>1]|0;if(!f)j=1;else j=(e[f+38>>1]|0)+1&65535;f=d+38|0;b[f>>1]=j;b[h>>1]=0;j=d+8|0;k=ic(d,6,(c[j>>2]|0)+(0-g<<3)|0)|0;if((k|0)==-1){l=2;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}if(k>>>0<=1){l=k;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}g=d+16|0;o=d+28|0;p=d+41|0;q=d+12|0;r=d+68|0;s=d+32|0;t=k;a:while(1){k=c[g>>2]|0;if(!k)break;u=k;while(1){if(a[u+18>>0]&16)break;k=c[u+8>>2]|0;if(!k)break a;else u=k}k=u+18|0;v=(c[o>>2]|0)+(c[u+20>>2]|0)|0;Dc(d,v);switch(t|0){case 4:{w=c[(c[q>>2]|0)+152>>2]|0;c[v>>2]=w;x=(a[w+4>>0]|64)&255;break}case 6:{w=Oc(d,46185,23)|0;c[v>>2]=w;x=(a[w+4>>0]|64)&255;break}default:{w=c[j>>2]|0;c[v>>2]=c[w+-8>>2];x=c[w+-4>>2]|0}}c[v+4>>2]=x;w=v+8|0;c[j>>2]=w;c[g>>2]=u;a[p>>0]=a[u+36>>0]|0;b[h>>1]=0;v=u;y=w;do{w=c[v+4>>2]|0;y=y>>>0<w>>>0?w:y;v=c[v+8>>2]|0}while((v|0)!=0);v=y-(c[o>>2]|0)|0;w=v>>3;z=w+11+((w+1|0)/8|0)|0;w=(z|0)<1e6?z:1e6;if((v|0)<=7999992?(w|0)<(c[s>>2]|0):0)kc(d,w);c[r>>2]=c[u+32>>2];a[k>>0]=a[k>>0]|32;a[u+37>>0]=t;w=ic(d,7,0)|0;if(w>>>0>1)t=w;else{l=w;A=25;break}}if((A|0)==25){b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}a[d+6>>0]=t;A=c[j>>2]|0;switch(t|0){case 4:{r=c[(c[q>>2]|0)+152>>2]|0;c[A>>2]=r;B=(a[r+4>>0]|64)&255;break}case 6:{r=Oc(d,46185,23)|0;c[A>>2]=r;B=(a[r+4>>0]|64)&255;break}default:{c[A>>2]=c[A+-8>>2];B=c[A+-4>>2]|0}}c[A+4>>2]=B;B=A+8|0;c[j>>2]=B;c[(c[g>>2]|0)+4>>2]=B;l=t;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}function Qf(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=d+16|0;h=c[g>>2]|0;if((e[d+38>>1]|0)>199)Tf(d,45525,f);i=d+6|0;switch(a[i>>0]|0){case 0:{if((h|0)!=(d+72|0))Tf(d,48274,f);if(pc(d,f+-8|0,-1)|0)return;qc(d);return}case 1:{a[i>>0]=0;c[h>>2]=(c[d+28>>2]|0)+(c[h+20>>2]|0);i=h+18|0;j=a[i>>0]|0;if(!(j&1)){k=c[h+28>>2]|0;if(!k){l=f;m=d+8|0;n=h}else{a[h+37>>0]=1;a[i>>0]=j|8;j=Ja[k&255](d)|0;k=d+8|0;l=(c[k>>2]|0)+(0-j<<3)|0;m=k;n=c[g>>2]|0}k=c[n>>2]|0;j=b[n+16>>1]|0;c[g>>2]=c[n+8>>2];a:do if(j<<16>>16){n=k;g=j<<16>>16;i=l;while(1){if(i>>>0>=(c[m>>2]|0)>>>0)break;h=n+8|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];o=g+-1|0;if(!o){p=h;break a}else{n=h;g=o;i=i+8|0}}if((g|0)>0){i=g;o=n;while(1){h=o+8|0;c[o+4>>2]=0;if((i|0)>1){i=i+-1|0;o=h}else{p=h;break}}}else p=n}else p=k;while(0);c[m>>2]=p}else qc(d);Rf(d,0);return}default:Tf(d,48312,f)}}function Rf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=d+16|0;f=c[e>>2]|0;g=d+72|0;if((f|0)==(g|0))return;h=d+68|0;i=d+8|0;j=f;do{f=j+18|0;k=a[f>>0]|0;if(!(k&1)){l=k&255;if(!(l&16))m=k;else{k=l&239;a[f>>0]=k;c[h>>2]=c[j+32>>2];m=k}if((b[j+16>>1]|0)==-1?(k=j+4|0,l=c[i>>2]|0,(c[k>>2]|0)>>>0<l>>>0):0)c[k>>2]=l;if(!(m&32))a[j+37>>0]=1;a[f>>0]=m&-57|8;f=Ja[c[j+28>>2]&255](d)|0;l=c[i>>2]|0;k=c[e>>2]|0;n=c[k>>2]|0;o=b[k+16>>1]|0;c[e>>2]=c[k+8>>2];a:do if(o<<16>>16){k=o<<16>>16;p=0-f|0;if((p|0)<0){q=n;r=k;s=l+(p<<3)|0;while(1){p=q+8|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];t=r+-1|0;if(!t){u=p;break a}s=s+8|0;if(s>>>0>=(c[i>>2]|0)>>>0){v=p;w=t;break}else{q=p;r=t}}}else{v=n;w=k}if((w|0)>0){r=w;q=v;while(1){s=q+8|0;c[q+4>>2]=0;if((r|0)>1){r=r+-1|0;q=s}else{u=s;break}}}else u=v}else u=n;while(0);c[i>>2]=u}else{Sf(d);qc(d)}j=c[e>>2]|0}while((j|0)!=(g|0));return}function Sf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=c[a+16>>2]|0;e=b+24|0;f=c[e>>2]|0;g=b+28|0;h=c[(c[g>>2]|0)+-4>>2]|0;i=h&63;switch(h&63){case 12:case 7:case 6:case 31:case 30:case 29:case 28:case 27:case 24:case 23:case 22:case 21:case 20:case 19:case 34:case 32:case 18:case 17:case 16:case 15:case 14:case 13:{j=a+8|0;k=c[j>>2]|0;l=k+-8|0;c[j>>2]=l;j=h>>>6&255;c[f+(j<<3)>>2]=c[l>>2];c[f+(j<<3)+4>>2]=c[k+-4>>2];return}case 37:case 38:case 39:{k=a+8|0;j=c[k>>2]|0;switch(c[j+-4>>2]|0){case 0:{m=1;break}case 1:{m=(c[j+-8>>2]|0)==0;break}default:m=0}l=(m^1)&1;c[k>>2]=j+-8;if((i|0)==39){i=h>>>23;j=f+(i<<3)|0;k=c[f+(i<<3)+4>>2]|0;switch(k&15){case 5:{n=(c[j>>2]|0)+8|0;break}case 7:{n=(c[j>>2]|0)+8|0;break}default:n=(c[a+12>>2]|0)+276+((k&15)<<2)|0}k=c[n>>2]|0;a:do if(!k)o=2099900;else{n=c[(c[a+12>>2]|0)+264>>2]|0;j=(c[k+16>>2]|0)+(((1<<(d[k+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[j+12>>2]|0)==68?(c[j+8>>2]|0)==(n|0):0)break;i=c[j+16>>2]|0;if(!i){o=2099900;break a}else j=i}o=j}while(0);p=(c[o+4>>2]|0)==0?m&1:l}else p=l;if((p|0)==(h>>>6&255|0))return;c[g>>2]=(c[g>>2]|0)+4;return}case 35:{g=a+8|0;p=c[g>>2]|0;l=p+-16|0;m=l-(f+(h>>>23<<3))|0;c[p+-24>>2]=c[p+-8>>2];c[p+-20>>2]=c[p+-4>>2];if((m|0)>8){c[g>>2]=l;Cc(a,m>>>3)}m=c[g>>2]|0;l=c[e>>2]|0;e=h>>>6&255;c[l+(e<<3)>>2]=c[m+-8>>2];c[l+(e<<3)+4>>2]=c[m+-4>>2];c[g>>2]=c[b+4>>2];return}case 47:{c[a+8>>2]=c[b+4>>2];return}case 42:{if(!(h&8372224))return;c[a+8>>2]=c[b+4>>2];return}default:return}}function Tf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+8|0;c[f>>2]=e;g=Bd(b,d)|0;c[e>>2]=g;c[e+4>>2]=(a[g+4>>0]|64)&255;c[f>>2]=(c[f>>2]|0)+8;jc(b,-1)}function Uf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Fa;Fa=Fa+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;if(!((g|0)==2099900?1:g>>>0>=(c[h>>2]|0)>>>0)){g=c[f+12>>2]&15;if((g|0)!=6){i=g+1|0;j=4}}else{i=0;j=4}if((j|0)==4){j=c[16+(i<<2)>>2]|0;c[d>>2]=56679;c[d+4>>2]=j;jf(a,1,Dd(a,47715,d)|0)|0}d=Vf(a)|0;j=(c[c[e>>2]>>2]|0)+8|0;e=c[h>>2]|0;i=j>>>0<e>>>0?j:2099900;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];i=c[h>>2]|0;c[h>>2]=i+8;if((d|0)==(a|0)){Fa=b;return 1}c[h>>2]=i;h=d+8|0;d=c[h>>2]|0;c[h>>2]=d+8;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];Fa=b;return 1}function Vf(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d+12|0;f=c[e>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;j=f;break}else{zc(d);j=c[e>>2]|0;break}else j=f;while(0);f=j+4|0;g=Ma[c[j>>2]&1](c[f>>2]|0,0,8,116)|0;if(!g){if(!(a[j+51>>0]|0))jc(d,4);vc(d,1);h=Ma[c[j>>2]&1](c[f>>2]|0,0,8,116)|0;if(!h)jc(d,4);else k=h}else k=g;g=j+12|0;c[g>>2]=(c[g>>2]|0)+116;g=j+56|0;a[k+5>>0]=a[j+48>>0]&3;a[k+4>>0]=8;c[k>>2]=c[g>>2];c[g>>2]=k;g=d+8|0;j=c[g>>2]|0;c[j>>2]=k;c[j+4>>2]=72;c[g>>2]=(c[g>>2]|0)+8;c[k+12>>2]=c[e>>2];g=k+28|0;c[g>>2]=0;j=k+16|0;c[j>>2]=0;h=k+32|0;c[h>>2]=0;c[k+64>>2]=0;b[k+38>>1]=0;f=k+52|0;c[f>>2]=0;i=k+40|0;a[i>>0]=0;l=k+44|0;c[l>>2]=0;a[k+41>>0]=1;c[k+56>>2]=0;b[k+36>>1]=1;a[k+6>>0]=0;c[k+68>>2]=0;a[i>>0]=a[d+40>>0]|0;i=c[d+44>>2]|0;c[l>>2]=i;c[f>>2]=c[d+52>>2];c[k+48>>2]=i;i=c[e>>2]|0;e=i+4|0;f=Ma[c[i>>2]&1](c[e>>2]|0,0,0,320)|0;if(!f){if(!(a[i+51>>0]|0))jc(d,4);vc(d,1);l=Ma[c[i>>2]&1](c[e>>2]|0,0,0,320)|0;if(!l)jc(d,4);else m=l}else m=f;f=i+12|0;c[f>>2]=(c[f>>2]|0)+320;c[g>>2]=m;c[h>>2]=40;h=m+4|0;c[h>>2]=0;c[m+12>>2]=0;c[m+20>>2]=0;c[m+28>>2]=0;c[m+36>>2]=0;c[m+44>>2]=0;c[m+52>>2]=0;c[m+60>>2]=0;c[m+68>>2]=0;c[m+76>>2]=0;c[m+84>>2]=0;c[m+92>>2]=0;c[m+100>>2]=0;c[m+108>>2]=0;c[m+116>>2]=0;c[m+124>>2]=0;c[m+132>>2]=0;c[m+140>>2]=0;c[m+148>>2]=0;c[m+156>>2]=0;c[m+164>>2]=0;c[m+172>>2]=0;c[m+180>>2]=0;c[m+188>>2]=0;c[m+196>>2]=0;c[m+204>>2]=0;c[m+212>>2]=0;c[m+220>>2]=0;c[m+228>>2]=0;c[m+236>>2]=0;c[m+244>>2]=0;c[m+252>>2]=0;c[m+260>>2]=0;c[m+268>>2]=0;c[m+276>>2]=0;c[m+284>>2]=0;c[m+292>>2]=0;c[m+300>>2]=0;c[m+308>>2]=0;c[m+316>>2]=0;c[k+24>>2]=m+280;g=k+72|0;c[k+80>>2]=0;c[k+84>>2]=0;a[k+90>>0]=0;c[g>>2]=m;c[k+8>>2]=m+8;c[h>>2]=0;c[k+76>>2]=m+168;c[j>>2]=g;return k|0}function Wf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=(c[c[b+16>>2]>>2]|0)+8|0;e=b+8|0;f=d>>>0<(c[e>>2]|0)>>>0?d:2099900;if((c[f+4>>2]|0)==72?(d=c[f>>2]|0,(d|0)!=0):0)g=d;else{jf(b,1,48143)|0;g=0}a:do if((g|0)==(b|0)){d=c[b+12>>2]|0;f=d+12|0;h=c[f>>2]|0;do if((h|0)>0)if(!(a[d+51>>0]|0)){i=d+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[f>>2]=-1600;break}else{zc(b);break}while(0);j=Oc(b,48341,7)|0}else switch(a[g+6>>0]|0){case 1:{f=c[b+12>>2]|0;h=f+12|0;d=c[h>>2]|0;do if((d|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=d+1600+(c[i>>2]|0);c[h>>2]=-1600;break}else{zc(b);break}while(0);j=Oc(b,48349,9)|0;break a;break}case 0:{h=c[g+16>>2]|0;if((h|0)!=(g+72|0)){d=c[b+12>>2]|0;f=d+12|0;i=c[f>>2]|0;do if((i|0)>0)if(!(a[d+51>>0]|0)){k=d+8|0;c[k>>2]=i+1600+(c[k>>2]|0);c[f>>2]=-1600;break}else{zc(b);break}while(0);j=Oc(b,48359,6)|0;break a}f=c[b+12>>2]|0;i=f+12|0;d=c[i>>2]|0;k=(d|0)>0;if((c[g+8>>2]|0)==((c[h>>2]|0)+8|0)){do if(k)if(!(a[f+51>>0]|0)){l=f+8|0;c[l>>2]=d+1600+(c[l>>2]|0);c[i>>2]=-1600;break}else{zc(b);break}while(0);j=Oc(b,48366,4)|0;break a}else{do if(k)if(!(a[f+51>>0]|0)){h=f+8|0;c[h>>2]=d+1600+(c[h>>2]|0);c[i>>2]=-1600;break}else{zc(b);break}while(0);j=Oc(b,48349,9)|0;break a}break}default:{i=c[b+12>>2]|0;d=i+12|0;f=c[d>>2]|0;do if((f|0)>0)if(!(a[i+51>>0]|0)){k=i+8|0;c[k>>2]=f+1600+(c[k>>2]|0);c[d>>2]=-1600;break}else{zc(b);break}while(0);j=Oc(b,48366,4)|0;break a}}while(0);b=c[e>>2]|0;c[b>>2]=j;c[b+4>>2]=(a[j+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return 1}function Xf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;if(!((e|0)==2099900?1:e>>>0>=(c[f>>2]|0)>>>0)?(g=c[d+12>>2]|0,(g&15|0)==8):0)if((g|0)==72){h=1;i=c[e>>2]|0}else{h=1;i=0}else{h=0;i=a}e=h+1|0;g=td(a,e,0)|0;d=c[c[b>>2]>>2]|0;if(!g){b=d+(e<<3)|0;j=c[f>>2]|0;if(!(b>>>0>=j>>>0|(b|0)==2099900)?(c[d+(e<<3)+4>>2]&15|0)!=0:0){c[j>>2]=c[b>>2];c[j+4>>2]=c[d+(e<<3)+4>>2];c[f>>2]=(c[f>>2]|0)+8;return 1}else k=j}else k=c[f>>2]|0;f=h|2;h=(i|0)==(a|0)&1;j=d+(f<<3)|0;if(!(j>>>0>=k>>>0|(j|0)==2099900)?(c[d+(f<<3)+4>>2]&15|0)!=0:0)l=of(a,f)|0;else l=h;ef(a,i,g,l);return 1}function Yf(a){a=a|0;wf(c[(c[a+12>>2]|0)+144>>2]|0);return}function Zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=Fa;Fa=Fa+16|0;e=d;f=b+16|0;g=(c[c[f>>2]>>2]|0)+8|0;h=b+8|0;i=g>>>0<(c[h>>2]|0)>>>0?g:2099900;do if((c[i+4>>2]&15|0)==4){j=i;k=8}else{if(!(ud(b,i)|0)){g=c[c[f>>2]>>2]|0;l=g+8|0;if((l|0)==2099900?1:l>>>0>=(c[h>>2]|0)>>>0)m=0;else m=(c[g+12>>2]&15)+1|0;g=c[16+(m<<2)>>2]|0;c[e>>2]=45478;c[e+4>>2]=g;jf(b,1,Dd(b,47715,e)|0)|0;n=0;o=0;break}g=c[b+12>>2]|0;l=g+12|0;p=c[l>>2]|0;do if((p|0)>0)if(!(a[g+51>>0]|0)){q=g+8|0;c[q>>2]=p+1600+(c[q>>2]|0);c[l>>2]=-1600;break}else{zc(b);break}while(0);l=(c[c[f>>2]>>2]|0)+8|0;j=l>>>0<(c[h>>2]|0)>>>0?l:2099900;k=8}while(0);if((k|0)==8){k=c[j>>2]|0;n=k+16|0;o=c[k+12>>2]|0}k=of(b,2)|0;j=o+1|0;e=(k|0)>-1?k:o>>>0<(0-k|0)>>>0?0:j+k|0;k=c[c[f>>2]>>2]|0;f=k+24|0;if(!((f|0)==2099900?1:f>>>0>=(c[h>>2]|0)>>>0)?(c[k+28>>2]&15|0)!=0:0){k=of(b,3)|0;r=(k|0)>-1?k:o>>>0<(0-k|0)>>>0?0:j+k|0}else r=o;k=(e|0)==0?1:e;e=r>>>0>o>>>0?o:r;if(e>>>0<k>>>0){r=c[b+12>>2]|0;o=r+12|0;j=c[o>>2]|0;do if((j|0)>0)if(!(a[r+51>>0]|0)){f=r+8|0;c[f>>2]=j+1600+(c[f>>2]|0);c[o>>2]=-1600;break}else{zc(b);break}while(0);s=Oc(b,3042456,0)|0;t=c[h>>2]|0;c[t>>2]=s;u=s+4|0;v=a[u>>0]|0;w=v|64;x=w&255;y=t+4|0;c[y>>2]=x;z=c[h>>2]|0;A=z+8|0;c[h>>2]=A;Fa=d;return 1}else{o=n+k+-1|0;n=1-k+e|0;e=c[b+12>>2]|0;k=e+12|0;j=c[k>>2]|0;do if((j|0)>0)if(!(a[e+51>>0]|0)){r=e+8|0;c[r>>2]=j+1600+(c[r>>2]|0);c[k>>2]=-1600;break}else{zc(b);break}while(0);s=id(b,o,n)|0;t=c[h>>2]|0;c[t>>2]=s;u=s+4|0;v=a[u>>0]|0;w=v|64;x=w&255;y=t+4|0;c[y>>2]=x;z=c[h>>2]|0;A=z+8|0;c[h>>2]=A;Fa=d;return 1}return 0}function _f(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=Fa;Fa=Fa+16|0;e=b;f=b+8|0;g=b+4|0;h=a+16|0;i=c[c[h>>2]>>2]|0;j=i+8|0;k=a+8|0;l=c[k>>2]|0;if(j>>>0>=l>>>0|(j|0)==2099900){m=0;Fa=b;return m|0}if((c[i+12>>2]&15|0)!=5){m=0;Fa=b;return m|0}Bc(a,l,j);j=c[k>>2]|0;l=j+8|0;c[k>>2]=l;i=c[j+4>>2]|0;do if((i|0)!=3){if((i&15|0)!=4)kf(a,47750,e)|0;n=c[j>>2]|0;if(!(Hc(n+16|0,c[n+12>>2]|0,f)|0))kf(a,47750,e)|0;else{o=c[f>>2]|0;p=c[k>>2]|0;break}}else{o=c[j>>2]|0;p=l}while(0);l=o>>16;o=p+-8|0;c[k>>2]=o;p=l+1|0;j=c[c[h>>2]>>2]|0;switch(o-(j+8)>>3|0){case 2:{q=p;r=o;break}case 1:case 0:{m=0;Fa=b;return m|0}default:s=10}if((s|0)==10){e=j+24|0;j=e>>>0<o>>>0?e:2099900;e=c[j+4>>2]|0;do if((e|0)==3){t=j;s=14}else{if((e&15|0)==4?(o=c[j>>2]|0,Hc(o+16|0,c[o+12>>2]|0,f)|0):0){c[g>>2]=c[f>>2];t=g;s=14;break}u=0}while(0);if((s|0)==14)u=c[t>>2]|0;t=u>>16;s=c[k>>2]|0;g=c[c[h>>2]>>2]|0;f=2-(s-(g+8)>>3)|0;j=f+-1|0;e=s;if((f|0)>0){o=g+(f<<3)|0;if(o>>>0>e>>>0){i=(g+(j<<3)+4+(3-s)|0)>>>3;s=e;do{c[s+4>>2]=0;s=s+8|0}while(s>>>0<o>>>0);c[k>>2]=e+(i+1<<3);v=o}else v=o}else v=e+(f<<3)|0;c[k>>2]=v;if((u|0)<65536|(p|0)<(t|0))jf(a,2,48734)|0;if((l|0)>=(t|0)){l=p;do{u=l;l=l+-1|0;v=(c[c[h>>2]>>2]|0)+8|0;f=c[k>>2]|0;e=c[(v>>>0<f>>>0?v:2099900)>>2]|0;v=u+-2|0;a:do if(v>>>0<(c[e+28>>2]|0)>>>0)w=(c[e+12>>2]|0)+(v<<3)|0;else{o=l<<16;i=0-o|0;s=(c[e+16>>2]|0)+(((((o|0)<0?((o|0)==(i|0)?0:i):o)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[s+12>>2]|0)==3?(c[s+8>>2]|0)==(o|0):0)break;i=c[s+16>>2]|0;if(!i){w=2099900;break a}else s=i}w=s}while(0);c[f>>2]=c[w>>2];c[f+4>>2]=c[w+4>>2];c[k>>2]=(c[k>>2]|0)+8;Kd(a,1,u)}while((l|0)>(t|0))}Vg(p-t|0);q=t;r=c[k>>2]|0}c[r>>2]=c[r+-8>>2];c[r+4>>2]=c[r+-4>>2];c[k>>2]=(c[k>>2]|0)+8;Kd(a,1,q);m=1;Fa=b;return m|0}function $f(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;b=Fa;Fa=Fa+16|0;e=b;f=b+8|0;g=b+4|0;h=a+16|0;i=c[c[h>>2]>>2]|0;j=i+8|0;k=a+8|0;l=c[k>>2]|0;if(j>>>0>=l>>>0|(j|0)==2099900){m=0;Fa=b;return m|0}if((c[i+12>>2]&15|0)!=5){m=0;Fa=b;return m|0}Bc(a,l,j);j=c[k>>2]|0;l=j+8|0;c[k>>2]=l;i=c[j+4>>2]|0;do if((i|0)!=3){if((i&15|0)!=4)kf(a,47750,e)|0;n=c[j>>2]|0;if(!(Hc(n+16|0,c[n+12>>2]|0,f)|0))kf(a,47750,e)|0;else{o=c[f>>2]|0;p=c[k>>2]|0;break}}else{o=c[j>>2]|0;p=l}while(0);l=o>>16;o=p+-8|0;c[k>>2]=o;p=c[c[h>>2]>>2]|0;j=o-(p+8)|0;if((j|0)==8){e=p+16|0;if(!(e>>>0>=o>>>0|(e|0)==2099900)?(c[p+20>>2]&15|0)!=0:0){e=of(a,2)|0;i=c[k>>2]|0;n=c[c[h>>2]>>2]|0;q=e;r=i-(n+8)|0;s=n;t=i;u=13}else v=l}else{q=-1;r=j;s=p;t=o;u=13}if((u|0)==13)if((r|0)>8){r=s+16|0;s=r>>>0<t>>>0?r:2099900;r=c[s+4>>2]|0;do if((r|0)==3){w=s;u=18}else{if((r&15|0)==4?(t=c[s>>2]|0,Hc(t+16|0,c[t+12>>2]|0,f)|0):0){c[g>>2]=c[f>>2];w=g;u=18;break}x=0}while(0);if((u|0)==18)x=c[w>>2]>>16;v=x}else v=q;if((v|0)<1|(l|0)<(v|0)){m=0;Fa=b;return m|0}q=(c[c[h>>2]>>2]|0)+8|0;x=c[k>>2]|0;w=c[(q>>>0<x>>>0?q:2099900)>>2]|0;q=v+-1|0;a:do if(q>>>0<(c[w+28>>2]|0)>>>0)y=(c[w+12>>2]|0)+(q<<3)|0;else{u=v<<16;g=0-u|0;f=(c[w+16>>2]|0)+(((((u|0)<0?((u|0)==(g|0)?0:g):u)|0)%((1<<(d[w+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[f+12>>2]|0)==3?(c[f+8>>2]|0)==(u|0):0)break;g=c[f+16>>2]|0;if(!g){y=2099900;break a}else f=g}y=f}while(0);c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[k>>2]=(c[k>>2]|0)+8;Vg(l-v|0);if((l|0)>(v|0)){y=v;while(1){x=y;y=y+1|0;w=(c[c[h>>2]>>2]|0)+8|0;q=c[k>>2]|0;u=c[(w>>>0<q>>>0?w:2099900)>>2]|0;b:do if(x>>>0<(c[u+28>>2]|0)>>>0)z=(c[u+12>>2]|0)+(x<<3)|0;else{w=y<<16;g=0-w|0;s=(c[u+16>>2]|0)+(((((w|0)<0?((w|0)==(g|0)?0:g):w)|0)%((1<<(d[u+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[s+12>>2]|0)==3?(c[s+8>>2]|0)==(w|0):0)break;g=c[s+16>>2]|0;if(!g){z=2099900;break b}else s=g}z=s}while(0);c[q>>2]=c[z>>2];c[q+4>>2]=c[z+4>>2];c[k>>2]=(c[k>>2]|0)+8;Kd(a,1,x);if((y|0)==(l|0)){A=l;break}}}else A=v;v=c[k>>2]|0;c[v+4>>2]=0;c[k>>2]=v+8;Kd(a,1,A);m=1;Fa=b;return m|0}function ag(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=Fa;Fa=Fa+16|0;e=b;f=b+4|0;g=a+8|0;h=c[g>>2]|0;i=a+16|0;j=c[c[i>>2]>>2]|0;k=j+8|0;l=h;if(h-k>>3>>>0<2){m=0;Fa=b;return m|0}if((k|0)==2099900|k>>>0>=l>>>0){m=0;Fa=b;return m|0}if((c[j+12>>2]&15|0)!=5){m=0;Fa=b;return m|0}Bc(a,l,k);k=c[g>>2]|0;l=k+8|0;c[g>>2]=l;j=c[k+4>>2]|0;do if((j|0)!=3){if((j&15|0)!=4)kf(a,47750,e)|0;h=c[k>>2]|0;if(!(Hc(h+16|0,c[h+12>>2]|0,f)|0))kf(a,47750,e)|0;else{n=c[f>>2]|0;o=c[g>>2]|0;break}}else{n=c[k>>2]|0;o=l}while(0);l=n>>16;k=o+-8|0;c[g>>2]=k;if((n|0)<65536){Vg(l);m=0;Fa=b;return m|0}n=1;o=k;while(1){k=(c[c[i>>2]>>2]|0)+8|0;f=c[(k>>>0<o>>>0?k:2099900)>>2]|0;k=n+-1|0;a:do if(k>>>0<(c[f+28>>2]|0)>>>0)p=(c[f+12>>2]|0)+(k<<3)|0;else{e=n<<16;j=(c[f+16>>2]|0)+(((e|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==(e|0):0)break;h=c[j+16>>2]|0;if(!h){p=2099900;break a}else j=h}p=j}while(0);c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];f=c[g>>2]|0;k=f+8|0;c[g>>2]=k;e=(c[c[i>>2]>>2]|0)+16|0;h=e>>>0<k>>>0?e:2099900;if((f|0)!=2099900&(h|0)!=2099900?(c[f+4>>2]|0)==(c[h+4>>2]|0):0){e=(Ec(a,f,h)|0)==0;h=(c[g>>2]|0)+-8|0;c[g>>2]=h;if(e)q=h;else{r=n;break}}else{c[g>>2]=f;q=f}if((n|0)<(l|0)){n=n+1|0;o=q}else{r=0;break}}Vg(l);if(!r){m=0;Fa=b;return m|0}q=(c[c[i>>2]>>2]|0)+8|0;o=c[g>>2]|0;n=c[(q>>>0<o>>>0?q:2099900)>>2]|0;q=r+-1|0;b:do if(q>>>0<(c[n+28>>2]|0)>>>0)s=(c[n+12>>2]|0)+(q<<3)|0;else{p=r<<16;f=0-p|0;h=(c[n+16>>2]|0)+(((((p|0)<0?((p|0)==(f|0)?0:f):p)|0)%((1<<(d[n+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==(p|0):0)break;f=c[h+16>>2]|0;if(!f){s=2099900;break b}else h=f}s=h}while(0);c[o>>2]=c[s>>2];c[o+4>>2]=c[s+4>>2];s=(c[g>>2]|0)+8|0;c[g>>2]=s;if((r|0)<(l|0)){o=r;n=s;while(1){q=o;o=o+1|0;p=(c[c[i>>2]>>2]|0)+8|0;f=c[(p>>>0<n>>>0?p:2099900)>>2]|0;c:do if(q>>>0<(c[f+28>>2]|0)>>>0)t=(c[f+12>>2]|0)+(q<<3)|0;else{p=o<<16;e=0-p|0;k=(c[f+16>>2]|0)+(((((p|0)<0?((p|0)==(e|0)?0:e):p)|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[k+12>>2]|0)==3?(c[k+8>>2]|0)==(p|0):0)break;e=c[k+16>>2]|0;if(!e){t=2099900;break c}else k=e}t=k}while(0);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[g>>2]=(c[g>>2]|0)+8;Kd(a,1,q);f=c[g>>2]|0;if((o|0)==(l|0)){u=l;v=f;break}else n=f}}else{u=r;v=s}c[v+4>>2]=0;c[g>>2]=v+8;Kd(a,1,u);m=1;Fa=b;return m|0}function bg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=Fa;Fa=Fa+16|0;e=b;f=b+4|0;g=a+16|0;h=c[c[g>>2]>>2]|0;i=h+8|0;j=a+8|0;k=c[j>>2]|0;if(i>>>0>=k>>>0|(i|0)==2099900){l=0;Fa=b;return l|0}if((c[h+12>>2]&15|0)!=5){l=0;Fa=b;return l|0}Bc(a,k,i);i=c[j>>2]|0;k=i+8|0;c[j>>2]=k;h=c[i+4>>2]|0;do if((h|0)!=3){if((h&15|0)!=4)kf(a,47750,e)|0;m=c[i>>2]|0;if(!(Hc(m+16|0,c[m+12>>2]|0,f)|0))kf(a,47750,e)|0;else{n=c[f>>2]|0;o=c[j>>2]|0;break}}else{n=c[i>>2]|0;o=k}while(0);k=n>>16;i=o+-8|0;c[j>>2]=i;o=c[c[g>>2]>>2]|0;a:do if((i-(o+8)|0)>8)if((n|0)<65536){p=0;q=0}else{f=0;e=1;h=0;m=o;r=i;while(1){s=m+8|0;t=c[(s>>>0<r>>>0?s:2099900)>>2]|0;s=e+-1|0;b:do if(s>>>0<(c[t+28>>2]|0)>>>0)u=(c[t+12>>2]|0)+(s<<3)|0;else{v=e<<16;w=(c[t+16>>2]|0)+(((v|0)%((1<<(d[t+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[w+12>>2]|0)==3?(c[w+8>>2]|0)==(v|0):0)break;x=c[w+16>>2]|0;if(!x){u=2099900;break b}else w=x}u=w}while(0);c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];t=c[j>>2]|0;s=t+8|0;c[j>>2]=s;v=(c[c[g>>2]>>2]|0)+16|0;x=v>>>0<s>>>0?v:2099900;if(((t|0)!=2099900&(x|0)!=2099900?(c[t+4>>2]|0)==(c[x+4>>2]|0):0)?(Ec(a,t,x)|0)!=0:0)y=f+1|0;else y=f;x=(c[j>>2]|0)+-8|0;c[j>>2]=x;t=h+1|0;if((e|0)>=(k|0)){p=t;q=y;break a}f=y;e=e+1|0;h=t;m=c[c[g>>2]>>2]|0;r=x}}else{p=0;q=k}while(0);Vg(p);p=c[j>>2]|0;c[p>>2]=q<<16;c[p+4>>2]=3;c[j>>2]=(c[j>>2]|0)+8;l=1;Fa=b;return l|0}function cg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b+8|0;e=b+16|0;f=(c[d>>2]|0)-((c[c[e>>2]>>2]|0)+8)|0;g=f>>3;Id(b,g,1);h=c[d>>2]|0;c[h>>2]=f<<13;c[h+4>>2]=3;h=c[d>>2]|0;c[d>>2]=h+16;i=id(b,47642,1)|0;c[h+8>>2]=i;c[h+12>>2]=(a[i+4>>0]|64)&255;i=c[d>>2]|0;tc(b,h+-8|0,i+-8|0,i+-16|0);i=c[d>>2]|0;h=i+-16|0;c[d>>2]=h;if((f|0)<=0){j=f>>2;Vg(j);return 1}k=(c[c[e>>2]>>2]|0)+8|0;l=k>>>0<h>>>0?k:2099900;c[h>>2]=c[l>>2];c[i+-12>>2]=c[l+4>>2];c[d>>2]=(c[d>>2]|0)+8;Kd(b,-2,1);l=c[d>>2]|0;i=(c[c[e>>2]>>2]|0)+8|0;e=i>>>0<l>>>0?i:2099900;c[e>>2]=c[l+-8>>2];c[e+4>>2]=c[l+-4>>2];c[d>>2]=(c[d>>2]|0)+-8;if((f|0)<=8){j=f>>2;Vg(j);return 1}d=g;while(1){Kd(b,1,d);if((d|0)>2)d=d+-1|0;else break}j=f>>2;Vg(j);return 1}function dg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=Fa;Fa=Fa+32|0;e=b+16|0;f=b+8|0;g=b;h=b+20|0;i=a+16|0;j=c[c[i>>2]>>2]|0;k=j+8|0;l=a+8|0;m=c[l>>2]|0;if(!(k>>>0>=m>>>0|(k|0)==2099900)){k=c[j+12>>2]&15;if((k|0)==5){n=j;o=m}else{p=k+1|0;q=4}}else{p=0;q=4}if((q|0)==4){q=c[16+(p<<2)>>2]|0;c[g>>2]=45485;c[g+4>>2]=q;jf(a,1,Dd(a,47715,g)|0)|0;n=c[c[i>>2]>>2]|0;o=c[l>>2]|0}g=n+16|0;if(!(g>>>0>=o>>>0|(g|0)==2099900)?(c[n+20>>2]&15|0)!=0:0){g=of(a,2)|0;r=c[c[i>>2]>>2]|0;s=c[l>>2]|0;t=g}else{r=n;s=o;t=1}o=r+24|0;if(!(o>>>0>=s>>>0|(o|0)==2099900)?(c[r+28>>2]&15|0)!=0:0)u=of(a,3)|0;else{o=r+8|0;Bc(a,s,o>>>0<s>>>0?o:2099900);o=c[l>>2]|0;s=o+8|0;c[l>>2]=s;r=c[o+4>>2]|0;do if((r|0)!=3){if((r&15|0)!=4)kf(a,47750,f)|0;n=c[o>>2]|0;if(!(Hc(n+16|0,c[n+12>>2]|0,h)|0))kf(a,47750,f)|0;else{v=c[h>>2]|0;w=c[l>>2]|0;break}}else{v=c[o>>2]|0;w=s}while(0);c[l>>2]=w+-8;u=v>>16}if((u|0)<(t|0)){x=0;Fa=b;return x|0}v=u-t|0;w=v+1|0;if((v|0)<0)kf(a,48371,e)|0;c[h>>2]=w;s=c[i>>2]|0;o=c[l>>2]|0;do if(((c[a+24>>2]|0)-o>>3|0)>(w|0)){y=o;z=w}else{if(((o-(c[a+28>>2]|0)>>3)+5|0)<=(999999-v|0)?(ic(a,2,h)|0)==0:0){y=c[l>>2]|0;z=c[h>>2]|0;break}kf(a,48371,e)|0}while(0);e=s+4|0;s=y+(z<<3)|0;if((c[e>>2]|0)>>>0<s>>>0)c[e>>2]=s;s=(c[c[i>>2]>>2]|0)+8|0;e=c[(s>>>0<y>>>0?s:2099900)>>2]|0;s=t+-1|0;a:do if(s>>>0<(c[e+28>>2]|0)>>>0)A=(c[e+12>>2]|0)+(s<<3)|0;else{z=t<<16;a=0-z|0;h=(c[e+16>>2]|0)+(((((z|0)<0?((z|0)==(a|0)?0:a):z)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==(z|0):0)break;a=c[h+16>>2]|0;if(!a){A=2099900;break a}else h=a}A=h}while(0);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];A=(c[l>>2]|0)+8|0;c[l>>2]=A;if((u|0)>(t|0)){y=t;t=A;do{A=y;y=y+1|0;e=(c[c[i>>2]>>2]|0)+8|0;s=c[(e>>>0<t>>>0?e:2099900)>>2]|0;b:do if(A>>>0<(c[s+28>>2]|0)>>>0)B=(c[s+12>>2]|0)+(A<<3)|0;else{e=y<<16;z=0-e|0;a=(c[s+16>>2]|0)+(((((e|0)<0?((e|0)==(z|0)?0:z):e)|0)%((1<<(d[s+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[a+12>>2]|0)==3?(c[a+8>>2]|0)==(e|0):0)break;z=c[a+16>>2]|0;if(!z){B=2099900;break b}else a=z}B=a}while(0);c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];t=(c[l>>2]|0)+8|0;c[l>>2]=t}while((y|0)!=(u|0))}Vg(w<<1);x=w;Fa=b;return x|0}function eg(){c[524979]=0;return}function fg(){c[524978]=0;return}function gg(){return c[524980]|0}function hg(a){a=a|0;c[524980]=a;return}function ig(){return (c[524978]|0)+0|0}function jg(a){a=a|0;c[524978]=(c[524978]|0)+a;return 0}function kg(a){a=a|0;c[8776]=a;return}function lg(){c[524978]=0;return}function mg(){c[524979]=1073741824;c[524980]=1;return}function ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[524989]|0;if((e|0)>510)return;Lm(161840+(e*1320|0)|0,a)|0;Lm(161840+((c[524989]|0)*1320|0)+256|0,b)|0;b=c[524989]|0;c[161840+(b*1320|0)+1316>>2]=d;Lm(161840+(b*1320|0)+288|0,2971644)|0;c[524989]=(c[524989]|0)+1;return}function og(){c[759907]=0;c[524989]=0;return}function pg(){var a=0;a=c[524989]|0;return ((a|0)<1?0:161840+((a+-1|0)*1320|0)+256|0)|0}function qg(){var a=0;a=c[524989]|0;return ((a|0)<1?0:161840+((a+-1|0)*1320|0)|0)|0}function rg(){var a=0,b=0;a=c[524989]|0;if((a|0)<1)return;b=a+-1|0;if(!(c[161840+(b*1320|0)+1316>>2]|0))return;c[524989]=b;return}function sg(){var a=0,b=0;a=c[524989]|0;if(!a)return;b=161840+((a+-1|0)*1320|0)+1316|0;if(!(c[b>>2]|0))return;c[b>>2]=0;return}function tg(){var a=0;a=c[524989]|0;if((a|0)<1)return;Tb(161840+((a+-1|0)*1320|0)|0)|0;c[742427]=1;a=c[524989]|0;Lm(2972669,(a|0)<1?0:161840+((a+-1|0)*1320|0)+288|0)|0;c[742430]=20;a=c[524989]|0;if((a|0)>=1)c[524989]=a+-1;c[416456]=0;return}function ug(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=(c[704867]|0)!=0;f=c[742422]|0;if(e&(f|0)==0){su(b)|0;return}if(!((a[2062532]|0)==0|e^1)){su(b)|0;return}if((f|0)!=2)ma(19,b|0,ft(b)|0)|0;f=ft(b)|0;if((f|0)>32){e=~f;g=((f+((e|0)>-65?e:-65)+32|0)>>>5)*6|0;e=f;while(1){Ya();if((e|0)>64)e=e+-32|0;else break}h=g+6|0}else h=0;g=(c[742551]|0)-h|0;c[742551]=g;e=c[704852]|0;$m(e,0,g,127,g+5+((((ft(b)|0)+-1|0)>>>5)*6|0)|0,0);Ln(c[704852]|0,b,c[704871]|0,c[742550]|0,c[742551]|0,17,d)|0;c[742551]=(c[742551]|0)+h;Ya();return}function vg(b,d){b=b|0;d=d|0;var e=0,f=0;ug(b,d);d=c[516414]|0;if(!d){e=Ip(16)|0;c[516414]=e;f=e}else f=d;d=ft(c[f+12>>2]|0)|0;Jp(f,d+16+(ft(b)|0)|0)|0;pt(c[(c[516414]|0)+12>>2]|0,b)|0;b=c[(c[516414]|0)+12>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=10;a[d+1>>0]=0;return}function wg(a){a=a|0;ug(a,6);return}function xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=b;c[f+4>>2]=d;vs(1509584,a,f)|0;ug(1509584,6);Fa=e;return}function yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Fa;Fa=Fa+16|0;g=f;c[g>>2]=b;c[g+4>>2]=d;vs(1509584,a,g)|0;ug(1509584,e);Fa=f;return}function zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Fa;Fa=Fa+48|0;f=e+24|0;g=e+8|0;h=e;i=e+32|0;j=e+28|0;if(eu(b,48607)|0){k=0;Fa=e;return k|0}l=eu(b,48623)|0;if(!l){if(!b){k=0;Fa=e;return k|0}m=Fp((ft(b)|0)+1|0)|0;Lm(m,b)|0;n=m+(ft(m)|0)|0;o=n+-1|0;a:do if(o>>>0>m>>>0){p=o;q=n;while(1){if((a[p>>0]|0)==58){r=p;s=q;break a}t=p+-1|0;if(t>>>0>m>>>0){u=p;p=t;q=u}else{r=t;s=p;break}}}else{r=o;s=n}while(0);nu(837680,(a[r>>0]|0)==58?s+1|0:r,1023)|0;a[838703]=0;Hp(m);k=837680;Fa=e;return k|0}c[i>>2]=0;c[j>>2]=0;m=eu(b,48634)|0;if(m|0){c[i>>2]=0;c[h>>2]=i;c[h+4>>2]=j;Vt(m+8|0,48643,h)|0}h=Fp((ft(b)|0)+1|0)|0;Lm(h,l+10|0)|0;l=h;b:while(1){v=l+1|0;switch(a[v>>0]|0){case 0:case 39:{break b;break}default:l=v}}a[v>>0]=0;if(!d){c[f>>2]=h;vs(1509584,48688,f)|0}else{f=c[i>>2]|0;d=c[j>>2]|0;c[g>>2]=h;c[g+4>>2]=f;c[g+8>>2]=d;vs(1509584,48655,g)|0}vg(1509584,6);g=c[i>>2]|0;if((g|0)>0?(i=c[740016]|0,d=g+-1|0,(Jr(c[i>>2]|0,c[i+336>>2]|0)|0)!=(d|0)):0){i=Kr(c[c[740016]>>2]|0,d)|0;d=c[740016]|0;c[d+336>>2]=i;Mr(d,52);c[416528]=g}Hp(h);k=0;Fa=e;return k|0}function Ag(b){b=b|0;var c=0,d=0;c=Dp(8192)|0;Lm(c,b)|0;if(!(eu(b,48700)|0)){if(!(Xs(b,48757)|0)){Hp(c);return}vg(c,6);Hp(c);return}if(eu(b,48717)|0?(vg(48717,6),a[3041272]|0):0)vg(3041272,7);d=eu(b,48734)|0;if(!d){Hp(c);return}ot(1509584,d)|0;a[1509584+((ft(1509584)|0)+-1)>>0]=0;vg(1509584,6);Hp(c);return}function Bg(a){a=a|0;var b=0;if(!a){b=ig()|0;return b|0}else{b=c[704848]|0;return b|0}return 0}function Cg(){var a=0;a=c[524987]|0;if(a|0)Yf(a);a=uf(1,0)|0;c[524987]=a;c[524986]=a;c[524988]=Vf(a)|0;ci(c[524986]|0);$e(c[524986]|0,6,100)|0;$e(c[524986]|0,7,200)|0;return}function Dg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!e){f=0;g=b}else{e=Dp(262144)|0;um(b,e)|0;f=e;g=e}Hp(c[524990]|0);if(!g){e=Fp(16)|0;c[524990]=e;a[e>>0]=0;Hp(f);h=c[524990]|0;return h|0}e=(ft(g)|0)+1|0;b=Fp(e>>>0>32?e:32)|0;c[524990]=b;Lm(b,g)|0;g=c[524990]|0;b=a[g>>0]|0;a:do if(b<<24>>24){e=g;i=1;j=b;while(1){if((i|0)==(d|0))break;k=j<<24>>24==0;l=e+1|0;if(k^j<<24>>24!=10){m=l;while(1){n=a[m>>0]|0;o=n<<24>>24==0;p=m+1|0;if(o^n<<24>>24!=10)m=p;else{q=m;r=p;s=o;break}}}else{q=e;r=l;s=k}m=s?q:r;o=a[m>>0]|0;if(!(o<<24>>24))break a;else{e=m;i=i+1|0;j=o}}i=e;o=j;b:while(1){switch(o<<24>>24){case 0:case 10:{break b;break}default:{}}m=i+1|0;i=m;o=a[m>>0]|0}a[i>>0]=0;Hp(f);h=e;return h|0}while(0);Lm(g,48775)|0;Hp(f);h=c[524990]|0;return h|0}function Eg(){var b=0,d=0,e=0,f=0,g=0;b=c[742550]|0;d=c[742551]|0;e=Sk(0)|0;f=Sk(1)|0;g=vk(2819376,c[743521]|0,24375)|0;yk(2819376,c[743521]|0,24320,0,128);c[742550]=b;c[742551]=d;Tk(0,e);Tk(1,f);uk(2819376,c[743521]|0,24375,g);c[742550]=0;c[742549]=6;c[742554]=4;c[742555]=6;c[742562]=15;c[742561]=15;c[742560]=255;c[742565]=0;c[742566]=0;c[742568]=0;c[742557]=0;c[742556]=0;c[742513]=0;c[742529]=0;c[742498]=1;c[742514]=1;c[742530]=1;c[742499]=2;c[742515]=2;c[742531]=18;c[742500]=3;c[742516]=3;c[742532]=19;c[742501]=4;c[742517]=4;c[742533]=36;c[742502]=5;c[742518]=5;c[742534]=21;c[742503]=6;c[742519]=6;c[742535]=214;c[742504]=7;c[742520]=7;c[742536]=103;c[742505]=8;c[742521]=8;c[742537]=72;c[742506]=9;c[742522]=9;c[742538]=73;c[742507]=10;c[742523]=10;c[742539]=154;c[742508]=11;c[742524]=11;c[742540]=59;c[742509]=12;c[742525]=12;c[742541]=220;c[742510]=13;c[742526]=13;c[742542]=93;c[742511]=14;c[742527]=14;c[742543]=142;c[742512]=15;c[742528]=15;c[742544]=239;c[742497]=16;c[742559]=0;hn(c[704852]|0);c[742546]=0;c[742545]=0;c[742548]=128;c[742547]=128;c[742564]=0;a[3041272]=0;c[742910]=0;c[515624]=0;c[759909]=0;c[759910]=0;c[759911]=0;c[704845]=0;c[760446]=0;Cm();if(c[760315]|0){c[704847]=0;c[742903]=0;Im();c[759984]=0;a[3041792]=0;ok();pk();return}c[415618]=0;c[415621]=0;c[704847]=0;c[742903]=0;Im();c[759984]=0;a[3041792]=0;ok();pk();return}function Fg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=Fa;Fa=Fa+176|0;e=d+152|0;f=d+144|0;g=d+136|0;h=d+128|0;i=d+120|0;j=d+112|0;k=d+104|0;l=d+96|0;m=d+88|0;n=d+80|0;o=d+72|0;p=d+64|0;q=d+56|0;r=d+48|0;s=d+40|0;t=d+32|0;u=d+24|0;v=d+16|0;w=d+8|0;x=d;y=d+160|0;c[y>>2]=0;c[742549]=6;if(ts(b,48781,6)|0)if(!(ts(b,48788,5)|0))z=b+5|0;else{if(ts(b,48908,14)|0)if(ts(b,48923,13)|0){if(!(ts(b,49100,7)|0)){c[x>>2]=y;Vt(b+7|0,63440,x)|0;x=c[y>>2]|0;A=(x|0)<256?x:256;x=(A|0)>8?A:8;c[y>>2]=x;c[515631]=x;if(c[525853]|0)c[525853]=x;c[w>>2]=x;vs(1509584,49108,w)|0;ug(1509584,14);Fa=d;return}if(!(ts(b,61771,6)|0)){ug(49123,14);ug(49143,12);c[v>>2]=c[515631];c[v+4>>2]=0;vs(1509584,49168,v)|0;ug(1509584,6);Fa=d;return}if(!(ts(b,49187,8)|0)){c[u>>2]=y;Vt(b+8|0,63440,u)|0;u=c[y>>2]|0;v=(u|0)<120?u:120;u=(v|0)>1?v:1;c[y>>2]=u;c[415604]=u;c[t>>2]=u;vs(1509584,49196,t)|0;ug(1509584,14);th();Fa=d;return}if(!(ts(b,49212,7)|0)){ug(49220,14);c[s>>2]=c[415604];c[s+4>>2]=0;vs(1509584,49245,s)|0;ug(1509584,6);Fa=d;return}if(!(ts(b,49265,15)|0)){c[r>>2]=y;Vt(b+15|0,63440,r)|0;r=c[y>>2]|0;s=(r|0)<1?r:1;r=(s|0)>0?s:0;c[y>>2]=r;c[415605]=r;c[q>>2]=r;vs(1509584,49281,q)|0;ug(1509584,14);Fa=d;return}if(!(ts(b,49304,14)|0)){ug(49319,14);ug(49348,12);ug(49380,12);ug(3042456,6);c[p>>2]=c[415605];c[p+4>>2]=0;vs(1509584,49411,p)|0;ug(1509584,6);Fa=d;return}if(!(ts(b,49438,12)|0)){c[o>>2]=y;Vt(b+12|0,63440,o)|0;o=c[y>>2]|0;p=(o|0)<1?o:1;o=(p|0)>0?p:0;c[y>>2]=o;c[415616]=o;c[n>>2]=o;vs(1509584,49451,n)|0;ug(1509584,14);Fa=d;return}n=b+10|0;if(!(ts(b,49471,10)|0)){c[m>>2]=y;Vt(n,63440,m)|0;m=c[y>>2]|0;o=(m|0)<8?m:8;m=(o|0)>1?o:1;c[y>>2]=m;c[415601]=m;c[l>>2]=m;vs(1509584,49482,l)|0;ug(1509584,14);Fa=d;return}if(!(ts(b,49500,9)|0)){ug(49510,14);c[k>>2]=c[415601];c[k+4>>2]=0;vs(1509584,49534,k)|0;ug(1509584,6);Fa=d;return}if(!(ts(b,49556,17)|0)){c[j>>2]=y;Vt(b+17|0,63440,j)|0;j=c[y>>2]|0;k=(j|0)<8?j:8;j=(k|0)>1?k:1;c[y>>2]=j;c[415600]=j;c[i>>2]=j;vs(1509584,49574,i)|0;ug(1509584,14);Fa=d;return}if(!(ts(b,49599,16)|0)){ug(49616,14);c[h>>2]=c[415600];c[h+4>>2]=0;vs(1509584,49647,h)|0;ug(1509584,6);Fa=d;return}if(!(ts(b,49676,10)|0)){c[g>>2]=y;Vt(n,63440,g)|0;g=c[y>>2]|0;n=(g|0)<8?g:8;g=(n|0)>1?n:1;c[y>>2]=g;c[415597]=g;y=((g|0)<4?g:4)<<2;c[(c[74e4]|0)+316>>2]=y;c[(c[740001]|0)+316>>2]=y;c[(c[740002]|0)+316>>2]=y;c[(c[740003]|0)+316>>2]=y;c[(c[740004]|0)+316>>2]=y;c[(c[740005]|0)+316>>2]=y;c[(c[740006]|0)+316>>2]=y;c[(c[740007]|0)+316>>2]=y;c[(c[740008]|0)+316>>2]=y;c[(c[740009]|0)+316>>2]=y;c[(c[740010]|0)+316>>2]=y;c[(c[740011]|0)+316>>2]=y;c[(c[740012]|0)+316>>2]=y;c[(c[740013]|0)+316>>2]=y;c[(c[740014]|0)+316>>2]=y;c[(c[740015]|0)+316>>2]=y;c[f>>2]=g;vs(1509584,49687,f)|0;ug(1509584,14);Fa=d;return}if(!(ts(b,49705,9)|0)){ug(49715,14);c[e>>2]=c[415597];c[e+4>>2]=0;vs(1509584,49740,e)|0;ug(1509584,6);Fa=d;return}else{ug(49762,14);ug(3042456,6);ug(49779,12);c[742549]=14;ug(61771,6);ug(48788,6);ug(49212,6);ug(49304,6);ug(49500,6);ug(49599,6);ug(48923,6);ug(49705,6);ug(3042456,6);Fa=d;return}}else B=b+13|0;else B=b+14|0;if(!(ts(B,48937,2)|0)){c[415613]=1;ug(48940,14);Fa=d;return}if(!(ts(B,48950,3)|0)){c[415613]=0;ug(48954,14);Fa=d;return}switch(a[B>>0]|0){case 49:{c[415613]=1;ug(48940,14);Fa=d;return}case 48:{c[415613]=0;ug(48954,14);Fa=d;return}default:{ug(48965,14);ug(3042456,6);ug(48990,6);ug(49020,6);ug(3042456,6);if(!((c[415613]|0)!=0?(ug(49051,12),(c[415613]|0)!=0):0))ug(49075,12);ug(3042456,6);Fa=d;return}}}else z=b+6|0;if(!(ts(z,48794,4)|0)){c[415607]=1;ug(48799,14);Fa=d;return}if(!(ts(z,48817,4)|0)){c[415607]=0;ug(48822,14);Fa=d;return}if(!(ts(z,48840,7)|0)){c[415607]=3;ug(48848,14);Fa=d;return}else{ug(48869,14);ug(3042456,6);ug(48890,12);ug(48817,6);ug(48794,6);ug(48840,6);ug(3042456,6);Fa=d;return}}function Gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=(_q()|0)/120|0;if((c[516411]|0)==0|(c[704845]|0)<240)return;d=ig()|0;e=Su(d|0,((d|0)<0)<<31>>31|0,16)|0;d=G()|0;f=c[759973]|0;g=8388608/(((f|0)==0?30:f)|0)|0;f=Nu(e|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;G()|0;if((c[742422]|0)!=1|(f|0)<7864320|(c[742428]|0)==0)return;f=4;do{g=B(f+1001|0,b)|0;d=B(f,b)|0;e=f+-1|0;h=f|1;if(((((g*41|0)+103|0)%4701|0|0)%97|0)&4|0){$m(a,3,e,5,h,0);en(a,4,f,((Bo(2)|0)<<1)+12|0)}if(((((d<<2)+103|0)%4701|0|0)%101|0)&8|0){$m(a,3,e,5,h,0);en(a,4,f,7)}if(((((g*43|0)+103|0)%4701|0|0)%97|0)&4|0){$m(a,5,e,7,h,0);en(a,6,f,((Bo(2)|0)<<1)+12|0)}if(((((d*6|0)+103|0)%4701|0|0)%101|0)&8|0){$m(a,5,e,7,h,0);en(a,6,f,7)}if(((((g*45|0)+103|0)%4701|0|0)%97|0)&4|0){$m(a,7,e,9,h,0);en(a,8,f,((Bo(2)|0)<<1)+12|0)}if(((((d<<3)+103|0)%4701|0|0)%101|0)&8|0){$m(a,7,e,9,h,0);en(a,8,f,7)}f=f+2|0}while(f>>>0<10);return}function Hg(a){a=a|0;var b=0,d=0,e=0;b=Su(a|0,((a|0)<0)<<31>>31|0,16)|0;a=G()|0;d=c[759973]|0;e=8388608/(((d|0)==0?30:d)|0)|0;d=Nu(b|0,a|0,e|0,((e|0)<0)<<31>>31|0)|0;G()|0;return d|0}function Ig(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;b=Fa;Fa=Fa+48|0;d=b+16|0;e=b;if(!((c[742422]|0)==1&(c[742428]|0)!=0)){Fa=b;return}ek(a,60,4,123,26,0);an(a,60,4,124,27);f=0;do{h=((c[516408]|0)+f|0)%64|0;if(!f)i=60;else{j=f+60|0;k=c[2063584+(h<<5)+20>>2]|0;en(a,j,((k|0)/32768|0)+2|0,(k|0)>131071?8:2);i=j}en(a,i,19-(c[2063584+(h<<5)+16>>2]|0)|0,2);l=2063584+(h<<5)+4|0;j=c[l>>2]|0;k=(j|0)<98303?j:98303;j=c[2063584+(h<<5)+12>>2]|0;en(a,i,19-((((k|0)>0?k:0)>>>0)/6144|0)|0,(j|0)==0?1:j);f=f+1|0}while((f|0)!=64);if(!(An(225)|0)){f=c[759973]|0;m=+(c[l>>2]|0)*.0000152587890625;n=+((c[516401]|0)+((c[516393]|0)+((c[516385]|0)+((c[516377]|0)+((c[516369]|0)+((c[516361]|0)+((c[516353]|0)+((c[516345]|0)+((c[516337]|0)+((c[516329]|0)+((c[516321]|0)+((c[516313]|0)+((c[516305]|0)+((c[516297]|0)+((c[516289]|0)+((c[516281]|0)+((c[516273]|0)+((c[516265]|0)+((c[516257]|0)+((c[516249]|0)+((c[516241]|0)+((c[516233]|0)+((c[516225]|0)+((c[516217]|0)+((c[516209]|0)+((c[516201]|0)+((c[516193]|0)+((c[516185]|0)+((c[516177]|0)+((c[516169]|0)+((c[516161]|0)+((c[516153]|0)+((c[516145]|0)+((c[516137]|0)+((c[516129]|0)+((c[516121]|0)+((c[516113]|0)+((c[516105]|0)+((c[516097]|0)+((c[516089]|0)+((c[516081]|0)+((c[516073]|0)+((c[516065]|0)+((c[516057]|0)+((c[516049]|0)+((c[516041]|0)+((c[516033]|0)+((c[516025]|0)+((c[516017]|0)+((c[516009]|0)+((c[516001]|0)+((c[515993]|0)+((c[515985]|0)+((c[515977]|0)+((c[515969]|0)+((c[515961]|0)+((c[515953]|0)+((c[515945]|0)+((c[515937]|0)+((c[515929]|0)+((c[515921]|0)+((c[515913]|0)+((c[515905]|0)+(c[515897]|0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))|0)*2.384185791015625e-07;c[d>>2]=c[759972];c[d+4>>2]=f;g[d+8>>3]=m;g[d+16>>3]=n;vs(1509584,49815,d)|0;Ln(a,1509584,c[704871]|0,63,20,1,(c[759972]|0)<(c[759973]|0)?8:13)|0}else{d=c[759973]|0;n=+(c[2063584+(h<<5)+24>>2]|0);c[e>>2]=c[759972];c[e+4>>2]=d;g[e+8>>3]=n;vs(1509584,49799,e)|0;Ln(a,1509584,c[704871]|0,63,20,1,(c[759972]|0)<(c[759973]|0)?8:13)|0}hn(a);gn(a,59,3,124,27,0);Fa=b;return}function Jg(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=c[516408]|0;b=(c[759908]|0)+(c[742570]|0)|0;d=(b|0)>2097152?134217728:b<<6;c[2063584+(a<<5)>>2]=(d|0)>0?d:0;d=ig()|0;b=Su(d|0,((d|0)<0)<<31>>31|0,16)|0;d=G()|0;e=c[759973]|0;f=8388608/(((e|0)==0?30:e)|0)|0;g=((f|0)<0)<<31>>31;h=Nu(b|0,d|0,f|0,g|0)|0;G()|0;c[2063584+(a<<5)+4>>2]=h;h=c[704848]|0;d=Su(h|0,((h|0)<0)<<31>>31|0,16)|0;h=Nu(d|0,G()|0,f|0,g|0)|0;G()|0;c[2063584+(a<<5)+8>>2]=h;c[2063584+(a<<5)+12>>2]=(c[515628]|0)==0?((c[759972]|0)<(e|0)?14:6):7;c[2063584+(a<<5)+20>>2]=c[515627];c[2063584+(a<<5)+24>>2]=Gq()|0;a=((c[516408]|0)+1|0)%64|0;c[516408]=a;e=2063584+(a<<5)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;return}function Kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=Fa;Fa=Fa+128|0;f=e+104|0;g=e+88|0;h=e+80|0;i=e+72|0;j=e+64|0;k=e+112|0;l=e;c[516411]=0;Kp(c[516414]|0);c[516414]=0;if((Xs(b,49833)|0?Xs(b,49840)|0:0)?Xs(b,71765)|0:0){if(Xs(b,72022)|0?!((a[b>>0]|0)==0&(c[416527]|0)!=0):0){c[416527]=0;Ih(c[524986]|0);c[704865]=0;if(!(c[742428]|0)){a[1733196]=0;a[1995340]=0;c[515219]=0}c[704849]=1;c[704849]=(eu(b,57067)|0)==0&1;if(!((eu(b,49867)|0)==0?!(eu(b,57902)|0):0))tr();c[516411]=(eu(b,49875)|0)!=0&1;c[704848]=0;c[704850]=0;lg();kg(279620);c[k>>2]=0;m=(d|0)!=0;d=(m^1)&1;n=Fp(262144)|0;a:do if(!(um(b,n)|0)){do if(!m){if((ft(n)|0)>>>0>65536){ug(49882,6);c[j>>2]=ft(n)|0;c[j+4>>2]=65536;vs(1509584,49909,j)|0;ug(1509584,6);Hp(n);break a}o=gh(n)|0;if((o|0)>8192){ug(49924,6);c[i>>2]=o;c[i+4>>2]=8192;vs(1509584,49942,i)|0;ug(1509584,6);Hp(n);break a}else{p=c[524987]|0;c[524986]=p;q=o*12|0;r=p;break}}else{p=c[524988]|0;c[524986]=p;q=0;r=p}while(0);_e(r);Yu(903216,0,262144)|0;Lm(903216,49958)|0;Xu(903216+(ft(903216)|0)|0,53895,358)|0;if(!(c[415563]|0))Xu(903216+(ft(903216)|0)|0,54253,639)|0;p=903216+(ft(903216)|0)|0;a[p>>0]=a[54892]|0;a[p+1>>0]=a[54893]|0;a[p+2>>0]=a[54894]|0;if(!((Xs(2966616,62362)|0)!=0?(Xs(2966616,54895)|0)!=0:0)){p=903216+(ft(903216)|0)|0;a[p>>0]=a[54901]|0;a[p+1>>0]=a[54902]|0;a[p+2>>0]=a[54903]|0;a[p+3>>0]=a[54904]|0;a[p+4>>0]=a[54905]|0;a[p+5>>0]=a[54906]|0;a[p+6>>0]=a[54907]|0}p=Fp(262144)|0;Lk(n,p);pt(903216,p)|0;Hp(n);Hp(p);if(57258){p=992;o=57258;do{ot(l,o)|0;s=c[p>>2]|0;if(!(Xs(b,s)|0)){c[h>>2]=49958;c[h+4>>2]=l;vs(903216,54908,h)|0;t=c[p>>2]|0}else t=s;s=ft(b)|0;u=ft(t)|0;b:do if(s>>>0>=(u+2|0)>>>0){if(ts(b,t,u)|0)break;v=b+u|0;switch(a[v>>0]|0){case 32:case 0:break;default:break b}if((a[b+(u+1)>>0]|0)==34)break;c[g>>2]=49958;c[g+4>>2]=l;c[g+8>>2]=v+1;vs(903216,54916,g)|0}while(0);p=p+4|0;o=c[p>>2]|0}while((o|0)!=0)}if(!(Xs(b,61176)|0)){o=903216;p=54928;u=o+9|0;do{a[o>>0]=a[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(u|0))}if((ts(b,54937,6)|0)==0?(a[b+6>>0]|0)<33:0){Fg(b+7|0);Lm(903216,3042456)|0}pt(903216,m?54944:54968)|0;c[759906]=1;p=qf(c[524986]|0,903216)|0;c[759906]=0;c[759908]=q;if(!p){Hk();c[759980]=0;if((c[742427]|0)==1)Eg();c[742422]=1;c[742428]=d;break}c[742549]=6;c:do if(m){vg(56198,14);w=d;x=0}else{p=Lg(c[8775]|0,k)|0;do if((p|0)>0){o=c[740016]|0;u=p+-1|0;if((Jr(c[o>>2]|0,c[o+336>>2]|0)|0)==(u|0))break;o=Kr(c[c[740016]>>2]|0,u)|0;u=c[740016]|0;c[u+336>>2]=o;Mr(u,52);c[416528]=p}else{if(p|0)break;vg(56198,14);w=d;x=0;break c}while(0);u=c[k>>2]|0;c[f>>2]=p;c[f+4>>2]=u;vs(1509584,56211,f)|0;vg(1509584,14);u=Dg(b,(c[8775]|0)+-2|0,1)|0;if(!u){w=0;x=0;break}vg(u,7);w=0;x=u}while(0);u=zg(td(c[524986]|0,-1,0)|0,w)|0;do if(u|0){if(Xs(u,56241)|0){vg(u,6);break}if(!(eu(x,56688)|0)){vg(56270,6);break}else{vg(u,6);break}}while(0);c[416455]=1}else Hp(n);while(0);Fa=e;return}n=c[524987]|0;if((n|0)!=0&(c[516412]|0)!=0){c[524986]=n;c[525571]=0;c[742428]=1;c[742422]=1;Hk();c[416527]=1;Fa=e;return}else{ug(49849,6);Fa=e;return}}n=c[524987]|0;if((n|0)!=0&(c[516412]|0)!=0){c[524986]=n;c[525571]=0;c[742428]=1;c[742422]=1;Hk();c[416527]=0;Fa=e;return}else{ug(49849,6);Fa=e;return}}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=Fa;Fa=Fa+16|0;e=d;f=a+-2|0;a=Dp(262144)|0;um(c[c[74e4]>>2]|0,a)|0;g=Jr(a,1048576)|0;Hp(a);a=g+2|0;if((f|0)>(a|0)){g=f-a|0;a=Dp(262144)|0;um(c[c[740001]>>2]|0,a)|0;h=Jr(a,1048576)|0;Hp(a);a=h+2|0;if((g|0)>(a|0)){h=g-a|0;a=Dp(262144)|0;um(c[c[740002]>>2]|0,a)|0;i=Jr(a,1048576)|0;Hp(a);a=i+2|0;if((h|0)>(a|0)){i=h-a|0;a=Dp(262144)|0;um(c[c[740003]>>2]|0,a)|0;j=Jr(a,1048576)|0;Hp(a);a=j+2|0;if((i|0)>(a|0)){j=i-a|0;a=Dp(262144)|0;um(c[c[740004]>>2]|0,a)|0;k=Jr(a,1048576)|0;Hp(a);a=k+2|0;if((j|0)>(a|0)){k=j-a|0;a=Dp(262144)|0;um(c[c[740005]>>2]|0,a)|0;l=Jr(a,1048576)|0;Hp(a);a=l+2|0;if((k|0)>(a|0)){l=k-a|0;a=Dp(262144)|0;um(c[c[740006]>>2]|0,a)|0;m=Jr(a,1048576)|0;Hp(a);a=m+2|0;if((l|0)>(a|0)){m=l-a|0;a=Dp(262144)|0;um(c[c[740007]>>2]|0,a)|0;n=Jr(a,1048576)|0;Hp(a);a=n+2|0;if((m|0)>(a|0)){n=m-a|0;a=Dp(262144)|0;um(c[c[740008]>>2]|0,a)|0;o=Jr(a,1048576)|0;Hp(a);a=o+2|0;if((n|0)>(a|0)){o=n-a|0;a=Dp(262144)|0;um(c[c[740009]>>2]|0,a)|0;p=Jr(a,1048576)|0;Hp(a);a=p+2|0;if((o|0)>(a|0)){p=o-a|0;a=Dp(262144)|0;um(c[c[740010]>>2]|0,a)|0;q=Jr(a,1048576)|0;Hp(a);a=q+2|0;if((p|0)>(a|0)){q=p-a|0;a=Dp(262144)|0;um(c[c[740011]>>2]|0,a)|0;r=Jr(a,1048576)|0;Hp(a);a=r+2|0;if((q|0)>(a|0)){r=q-a|0;a=Dp(262144)|0;um(c[c[740012]>>2]|0,a)|0;s=Jr(a,1048576)|0;Hp(a);a=s+2|0;if((r|0)>(a|0)){s=r-a|0;a=Dp(262144)|0;um(c[c[740013]>>2]|0,a)|0;t=Jr(a,1048576)|0;Hp(a);a=t+2|0;if((s|0)>(a|0)){t=s-a|0;a=Dp(262144)|0;um(c[c[740014]>>2]|0,a)|0;u=Jr(a,1048576)|0;Hp(a);a=u+2|0;if((t|0)>(a|0)){u=t-a|0;a=Dp(262144)|0;um(c[c[740015]>>2]|0,a)|0;v=Jr(a,1048576)|0;Hp(a);if((u|0)>(v+2|0)){if(!b){w=0;Fa=d;return w|0}c[b>>2]=0;w=0;Fa=d;return w|0}else{x=15;y=u}}else{x=14;y=t}}else{x=13;y=s}}else{x=12;y=r}}else{x=11;y=q}}else{x=10;y=p}}else{x=9;y=o}}else{x=8;y=n}}else{x=7;y=m}}else{x=6;y=l}}else{x=5;y=k}}else{x=4;y=j}}else{x=3;y=i}}else{x=2;y=h}}else{x=1;y=g}}else{x=0;y=f}if(b|0)c[b>>2]=x;if((vm()|0)<=0){w=y;Fa=d;return w|0}x=0;b=y;while(1){if((y|0)>(wm(x)|0)?(y|0)<=(xm(x)|0):0)break;if((y|0)>(xm(x)|0)){f=xm(x)|0;z=b+1-f+(wm(x)|0)|0}else z=b;f=x+1|0;if((f|0)<(vm()|0)){x=f;b=z}else{w=z;A=14;break}}if((A|0)==14){Fa=d;return w|0}A=ym(x)|0;z=y-(wm(x)|0)|0;c[e>>2]=A;c[e+4>>2]=z;vs(1509584,56293,e)|0;ug(1509584,9);w=1-y+b+(wm(x)|0)|0;Fa=d;return w|0}function Mg(){var a=0,b=0,d=0;if((c[704866]|0)>0)return;a=(c[742428]|0)!=0;if(a){c[524987]=c[524986];c[525571]=1;c[704865]=0;ul()|0;if(!((vk(2819376,c[743521]|0,24366)|0)&1)){c[742513]=0;c[742514]=1;c[742515]=2;c[742516]=3;c[742517]=4;c[742518]=5;c[742519]=6;c[742520]=7;c[742521]=8;c[742522]=9;c[742523]=10;c[742524]=11;c[742525]=12;c[742526]=13;c[742527]=14;c[742528]=15}if(!((vk(2819376,c[743521]|0,24366)|0)&2))uk(2819376,c[743521]|0,24415,0);if(!((vk(2819376,c[743521]|0,24366)|0)&4)){c[742906]=0;c[742907]=0;c[742908]=0;c[742909]=0}if(!((vk(2819376,c[743521]|0,24366)|0)&8)){c[742562]=15;c[742561]=15;c[742560]=255}if(!((vk(2819376,c[743521]|0,24366)|0)&16)){uk(2819376,c[743521]|0,24408,0);uk(2819376,c[743521]|0,24409,0);uk(2819376,c[743521]|0,24410,0);uk(2819376,c[743521]|0,24411,0)}if(!((vk(2819376,c[743521]|0,24366)|0)&32))c[742564]=0;hm();if(!(c[416455]|0))c[416455]=1}c[742422]=0;c[704863]=0;c[742557]=0;c[742556]=0;hn(c[704852]|0);ik(0);c[742550]=0;b=c[742551]|0;d=(b|0)<122?b:122;c[742551]=(d|0)>0?d:0;if(a?xn()|0:0)do yn()|0;while((xn()|0)!=0);c[415618]=0;return}function Ng(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[740018]|0;d=(a[c[c[74e4]>>2]>>0]|0)==0;e=(b|0)==1?1:(a[c[c[740001]>>2]>>0]|0)!=0;f=(b|0)==2?1:(a[c[c[740002]>>2]>>0]|0)!=0;g=(b|0)==3?1:(a[c[c[740003]>>2]>>0]|0)!=0;h=(b|0)==4?1:(a[c[c[740004]>>2]>>0]|0)!=0;i=(b|0)==5?1:(a[c[c[740005]>>2]>>0]|0)!=0;j=(b|0)==6?1:(a[c[c[740006]>>2]>>0]|0)!=0;k=(b|0)==7?1:(a[c[c[740007]>>2]>>0]|0)!=0;l=(b|0)==8?1:(a[c[c[740008]>>2]>>0]|0)!=0;m=(b|0)==9?1:(a[c[c[740009]>>2]>>0]|0)!=0;n=(b|0)==10?1:(a[c[c[740010]>>2]>>0]|0)!=0;o=(b|0)==11?1:(a[c[c[740011]>>2]>>0]|0)!=0;p=(b|0)==12?1:(a[c[c[740012]>>2]>>0]|0)!=0;q=(b|0)==13?1:(a[c[c[740013]>>2]>>0]|0)!=0;r=(b|0)==14?1:(a[c[c[740014]>>2]>>0]|0)!=0;s=(b|0)==15?1:(a[c[c[740015]>>2]>>0]|0)!=0;a[c[c[18328]>>2]>>0]=0;t=s?15:r?14:q?13:p?12:o?11:n?10:m?9:l?8:k?7:j?6:i?5:h?4:g?3:f?2:e?1:((b|0)!=0&d)<<31>>31;pt(c[c[18328]>>2]|0,c[c[74e4]>>2]|0)|0;if((t|0)>0){d=c[c[18328]>>2]|0;b=d+(ft(d)|0)|0;a[b>>0]=a[56305]|0;a[b+1>>0]=a[56306]|0;a[b+2>>0]=a[56307]|0;a[b+3>>0]=a[56308]|0;a[b+4>>0]=a[56309]|0;a[b+5>>0]=a[56310]|0;a[b+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740001]>>2]|0)|0;if((t|0)>1){b=c[c[18328]>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740002]>>2]|0)|0;if((t|0)>2){d=c[c[18328]>>2]|0;b=d+(ft(d)|0)|0;a[b>>0]=a[56305]|0;a[b+1>>0]=a[56306]|0;a[b+2>>0]=a[56307]|0;a[b+3>>0]=a[56308]|0;a[b+4>>0]=a[56309]|0;a[b+5>>0]=a[56310]|0;a[b+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740003]>>2]|0)|0;if((t|0)>3){b=c[c[18328]>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740004]>>2]|0)|0;if((t|0)>4){d=c[c[18328]>>2]|0;b=d+(ft(d)|0)|0;a[b>>0]=a[56305]|0;a[b+1>>0]=a[56306]|0;a[b+2>>0]=a[56307]|0;a[b+3>>0]=a[56308]|0;a[b+4>>0]=a[56309]|0;a[b+5>>0]=a[56310]|0;a[b+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740005]>>2]|0)|0;if((t|0)>5){b=c[c[18328]>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740006]>>2]|0)|0;if((t|0)>6){d=c[c[18328]>>2]|0;b=d+(ft(d)|0)|0;a[b>>0]=a[56305]|0;a[b+1>>0]=a[56306]|0;a[b+2>>0]=a[56307]|0;a[b+3>>0]=a[56308]|0;a[b+4>>0]=a[56309]|0;a[b+5>>0]=a[56310]|0;a[b+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740007]>>2]|0)|0;if((t|0)>7){b=c[c[18328]>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740008]>>2]|0)|0;if((t|0)>8){d=c[c[18328]>>2]|0;b=d+(ft(d)|0)|0;a[b>>0]=a[56305]|0;a[b+1>>0]=a[56306]|0;a[b+2>>0]=a[56307]|0;a[b+3>>0]=a[56308]|0;a[b+4>>0]=a[56309]|0;a[b+5>>0]=a[56310]|0;a[b+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740009]>>2]|0)|0;if((t|0)>9){b=c[c[18328]>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740010]>>2]|0)|0;if((t|0)>10){d=c[c[18328]>>2]|0;b=d+(ft(d)|0)|0;a[b>>0]=a[56305]|0;a[b+1>>0]=a[56306]|0;a[b+2>>0]=a[56307]|0;a[b+3>>0]=a[56308]|0;a[b+4>>0]=a[56309]|0;a[b+5>>0]=a[56310]|0;a[b+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740011]>>2]|0)|0;if((t|0)>11){b=c[c[18328]>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740012]>>2]|0)|0;if((t|0)>12){d=c[c[18328]>>2]|0;b=d+(ft(d)|0)|0;a[b>>0]=a[56305]|0;a[b+1>>0]=a[56306]|0;a[b+2>>0]=a[56307]|0;a[b+3>>0]=a[56308]|0;a[b+4>>0]=a[56309]|0;a[b+5>>0]=a[56310]|0;a[b+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740013]>>2]|0)|0;if((t|0)>13){b=c[c[18328]>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740014]>>2]|0)|0;if((t|0)<=14){u=c[18328]|0;v=c[u>>2]|0;w=c[740015]|0;x=c[w>>2]|0;pt(v,x)|0;return}t=c[c[18328]>>2]|0;d=t+(ft(t)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0;u=c[18328]|0;v=c[u>>2]|0;w=c[740015]|0;x=c[w>>2]|0;pt(v,x)|0;return}function Og(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=c[(c[74e4]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740001]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740002]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740003]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740004]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740005]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740006]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740007]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740008]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740009]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740010]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740011]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740012]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740013]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740014]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740015]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=0;b=c[c[18328]>>2]|0;while(1){if((a|0)!=15){d=eu(b,56305)|0;e=c[c[296e4+(a<<2)>>2]>>2]|0;if(!d){f=e;g=6}else{Xu(e|0,b|0,d-b|0)|0;h=a+1|0;i=d+6|0}}else{f=c[c[740015]>>2]|0;g=6}if((g|0)==6){g=0;Lm(f,b)|0;h=16;i=b}if((h|0)<16){a=h;b=i}else break}return}function Pg(b){b=b|0;var c=0,d=0,e=0,f=0;c=Fa;Fa=Fa+1024|0;d=c;Yu(1165360,0,1024)|0;Lm(d,b)|0;a[1165360]=0;b=eu(d,61980)|0;if(!((b|0)!=0&b>>>0>d>>>0)){Fa=c;return 1165360}a[b>>0]=0;e=b;a:while(1){f=e+-1|0;b=a[f>>0]|0;if(!((b+-97&255)<26|(b+-48&255)<10))switch(b<<24>>24){case 45:case 95:break;default:break a}if(f>>>0>d>>>0)e=f;else break}Lm(1165360,f>>>0>d>>>0?e:f)|0;Fa=c;return 1165360}function Qg(a){a=a|0;return 1}function Rg(){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Fa;Fa=Fa+2064|0;e=d+2048|0;f=d+1024|0;g=d;Ng();Lm(2971644,2972669)|0;a[2972669]=0;a[2966616]=0;a[2967640]=0;Lm(g,2963156)|0;c[416455]=0;do if(!(eu(g,2960076)|0)){gr(56312,f);if(!(eu(g,f)|0)){Lm(2967640,g)|0;break}Yu(1165360,0,1024)|0;Lm(f,g)|0;a[1165360]=0;h=eu(f,61980)|0;if((h|0)!=0&h>>>0>f>>>0){a[h>>0]=0;i=h;a:while(1){j=i+-1|0;h=a[j>>0]|0;if(!((h+-97&255)<26|(h+-48&255)<10))switch(h<<24>>24){case 45:case 95:break;default:break a}if(j>>>0>f>>>0)i=j;else break}Lm(1165360,j>>>0>f>>>0?i:j)|0}Lm(2966616,1165360)|0;c[515893]=0}else Lm(2967640,g+(ft(2960076)|0)|0)|0;while(0);c[e>>2]=2963156;c[e+4>>2]=2967640;c[e+8>>2]=2966616;vs(1504976,56317,e)|0;Pm(1504976);a[2968664]=0;Cg();zk(2819376,c[743521]|0,0,0,17152);a[2964308]=0;a[2973694]=0;a[2973758]=0;a[2973822]=0;a[2973886]=0;a[2973950]=0;a[2974014]=0;b[1487039]=0;b[1487040]=0;b[1487041]=0;e=Ca(0)|0;Uk((_q()|0)+e|0);Kg(c[c[18328]>>2]|0,0);wq();tq(0,0);c[742906]=0;c[742907]=0;c[742908]=0;c[742909]=0;c[759972]=30;c[759973]=30;Hk();Eb(c[18328]|0,2964221);c[742431]=0;c[416527]=0;c[516412]=1;ik(0);Fa=d;return}function Sg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=Fa;Fa=Fa+560|0;e=d+536|0;f=d+520|0;g=d+512|0;h=d;i=d+548|0;j=d+544|0;c[j>>2]=0;Gd(b,59719);Nd(c[524986]|0,0,1,0,0,0)|0;k=td(b,-1,0)|0;if(!k){Fa=d;return}kd(b,-2);b=a[k>>0]|0;if(!(b<<24>>24)){Fa=d;return}l=k;k=0;m=b;while(1){if(k>>>0>=10){n=23;break}k=k+1|0;b=l;o=m;a:while(1){switch(o<<24>>24){case 10:case 0:{break a;break}default:{}}p=b+1|0;b=p;o=a[p>>0]|0}Yu(h|0,0,512)|0;nu(h,l,b-l|0)|0;l=(a[b>>0]|0)==10?b+1|0:b;b:do if((eu(h,56390)|0)==0?(eu(h,56406)|0)==0:0){o=h;c:while(1){switch(a[o>>0]|0){case 0:{break b;break}case 58:{break c;break}default:{}}o=o+1|0}c[i>>2]=0;c[g>>2]=i;Vt(o+1|0,63440,g)|0;p=c[i>>2]|0;if((p|0)>0){q=eu(h,56417)|0;if(!q){if(!(eu(h,56454)|0))break;r=Lg(p,j)|0;if((r|0)<=-1)break;p=c[j>>2]|0;c[e>>2]=r;c[e+4>>2]=p;vs(1509584,56468,e)|0;vg(1509584,13);break}p=q+13|0;q=p;d:while(1){switch(a[q>>0]|0){case 0:{break b;break}case 39:{break d;break}default:{}}q=q+1|0}a[q>>0]=0;o=Lg(c[i>>2]|0,j)|0;r=c[j>>2]|0;c[f>>2]=p;c[f+4>>2]=o;c[f+8>>2]=r;vs(1509584,56431,f)|0;ug(1509584,13)}}while(0);m=a[l>>0]|0;if(!(m<<24>>24)){n=23;break}}if((n|0)==23){Fa=d;return}}function Tg(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Fa;Fa=Fa+32|0;d=b+16|0;e=b;f=b+24|0;c[f>>2]=0;$e(c[524986]|0,1,0)|0;if($e(c[524986]|0,9,0)|0){g=c[524986]|0;if((c[759984]|0)>64)$e(g,2,0)|0;else $e(g,5,200)|0}if($e(c[524986]|0,9,0)|0?((c[759908]|0)+(c[742570]|0)|0)>2113536:0){g=c[704845]|0;if((c[524991]|0)!=(g|0)){c[759984]=(c[759984]|0)+1;c[524991]=g}$e(c[524986]|0,2,0)|0;g=c[742570]|0;if(((c[759908]|0)+g|0)>2113536){if(!($e(c[524986]|0,9,0)|0))Pm(56488);else vc(c[524986]|0,1);h=c[759908]|0;i=(c[742570]|0)+h|0;c[e>>2]=h+g;c[e+4>>2]=i;c[e+8>>2]=h;vs(1504976,56544,e)|0;Pm(1504976);if(((c[759908]|0)+(c[742570]|0)|0)>2113536){Cg();Mg();ug(56585,6);Fa=b;return}}}$e(c[524986]|0,0,0)|0;if((c[742422]|0)!=1|(c[742423]|0)!=0){Fa=b;return}eg();a:do switch(Pf(c[524986]|0,0,0)|0){case 0:{Mg();if((c[524986]|0)==(c[524987]|0))c[516412]=0;break}case 1:{c[742422]=1;break}default:if((c[704866]|0)<=0){Mg();if(c[742428]|0){e=c[524977]|0;if((e|0)>2){h=Dg(c[c[18328]>>2]|0,e+-2|0,1)|0;i=Lg(e,f)|0;e=c[f>>2]|0;c[d>>2]=i;c[d+4>>2]=e;vs(1509584,56599,d)|0;vg(1509584,14);if(h|0)vg(h,7);if((i|0)>0?(h=c[740016]|0,e=i+-1|0,(Jr(c[h>>2]|0,c[h+336>>2]|0)|0)!=(e|0)):0){h=Kr(c[c[740016]>>2]|0,e)|0;e=c[740016]|0;c[e+336>>2]=h;Mr(e,52);c[416528]=i}}}else vg(56628,14);Ag(td(c[524986]|0,-1,0)|0);if(a[3041272]|0)vg(3041272,6);if(c[759985]|0){c[759985]=0;break a}if(c[742428]|0)Sg(c[524986]|0)}}while(0);if(!(c[759981]|0)){Fa=b;return}d=_q()|0;if((d|0)<=((c[759982]|0)+1e3|0)){Fa=b;return}ul()|0;c[759982]=_q()|0;Fa=b;return}function Ug(){var a=0,b=0;_q()|0;kg(8388608/(c[759972]|0)|0);fg();c[416459]=0;if(qk()|0)return;a=1;while(1){c[742910]=(c[742910]|0)+1;c[759983]=0;Tg();if(!(c[759983]|0)){b=5;break}if(a>>>0<8192)a=a+1|0;else{b=5;break}}if((b|0)==5)return}function Vg(a){a=a|0;var b=0;b=(a|0)==0?2:a<<1;if((a|0)<0)return;c[704848]=(c[704848]|0)+b;jg(b)|0;return}function Wg(b){b=b|0;a[3041272]=0;if(!b)return;nu(3041272,b,254)|0;a[3041527]=0;return}function Xg(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0;a=c[516408]|0;c[759942]=c[759943];c[759943]=c[759944];c[759944]=c[759945];c[759945]=c[759946];c[759946]=c[759947];c[759947]=c[759948];c[759948]=c[759949];c[759949]=c[759950];c[759950]=c[759951];c[759951]=c[759952];c[759952]=c[759953];c[759953]=c[759954];c[759954]=c[759955];c[759955]=c[759956];c[759956]=c[759957];c[759957]=c[759958];c[759958]=c[759959];c[759959]=c[759960];c[759960]=c[759961];c[759961]=c[759962];c[759962]=c[759963];c[759963]=c[759964];c[759964]=c[759965];c[759965]=c[759966];c[759966]=c[759967];c[759967]=c[759968];c[759968]=c[759969];c[759969]=c[759970];c[759970]=c[759971];c[759971]=Gq()|0;b=c[759942]|0;d=c[759943]|0;e=c[759944]|0;f=c[759945]|0;g=c[759946]|0;h=c[759947]|0;i=c[759948]|0;j=c[759949]|0;k=c[759950]|0;l=c[759951]|0;m=c[759952]|0;n=c[759953]|0;o=c[759954]|0;p=c[759955]|0;q=c[759956]|0;r=c[759957]|0;s=c[759958]|0;t=c[759959]|0;u=c[759960]|0;v=c[759961]|0;w=c[759962]|0;x=c[759963]|0;y=c[759964]|0;z=c[759965]|0;A=c[759966]|0;B=c[759967]|0;C=c[759968]|0;D=c[759969]|0;E=c[759970]|0;F=c[759971]|0;H=((b|0)!=0&1)+((d|0)!=0&1)+((e|0)!=0&1)+((f|0)!=0&1)+((g|0)!=0&1)+((h|0)!=0&1)+((i|0)!=0&1)+((j|0)!=0&1)+((k|0)!=0&1)+((l|0)!=0&1)+((m|0)!=0&1)+((n|0)!=0&1)+((o|0)!=0&1)+((p|0)!=0&1)+((q|0)!=0&1)+((r|0)!=0&1)+((s|0)!=0&1)+((t|0)!=0&1)+((u|0)!=0&1)+((v|0)!=0&1)+((w|0)!=0&1)+((x|0)!=0&1)+((y|0)!=0&1)+((z|0)!=0&1)+((A|0)!=0&1)+((B|0)!=0&1)+((C|0)!=0&1)+((D|0)!=0&1)+((E|0)!=0&1)+((F|0)!=0&1)|0;I=c[759976]|0;J=c[759974]|0;if((I|0)>(J|0)){K=I-J|0;J=Su(K|0,((K|0)<0)<<31>>31|0,16)|0;K=G()|0;I=c[759973]|0;L=8388608/(((I|0)==0?30:I)|0)|0;I=Nu(J|0,K|0,L|0,((L|0)<0)<<31>>31|0)|0;G()|0;L=c[759913]|0;c[759912]=L;c[759913]=I;K=(L|0)==0|(L|0)<(I|0)?I:L;M=(I|0)==0|(K|0)>(I|0)?K:I}else M=1048576;I=c[759979]|0;K=c[759977]|0;if((I|0)<(K|0))return;L=c[515626]|0;J=I-K+(c[759910]|0)+((L|0)>0?L:0)|0;L=(c[515492]|0)==0;K=L?1e4:(F+(E+(D+(C+(B+(A+(z+(y+(x+(w+(v+(u+(t+(s+(r+(q+(p+(o+(n+(m+(l+(k+(j+(i+(h+(g+(f+(e+(d+b))))))))))))))))))))))))))))|0)/(((H|0)==0?1:H)|0)|0;H=c[759972]|0;b=c[759973]|0;if((c[515628]|0)!=0&(H|0)==(b|0)){c[2063584+(a<<5)+28>>2]=9;c[759972]=(H|0)/2|0;c[515628]=0;return}c[515628]=0;if((H|0)==60?(K|0)<60&(b|0)==60:0){d=2063584+(a<<5)+28|0;c[d>>2]=8;c[759972]=30;if(qr()|0?(e=_q()|0,(e-(c[759911]|0)|0)<2e3):0){c[d>>2]=10;d=(c[759910]|0)+1|0;c[759910]=(d|0)<5?d:5}c[759911]=_q()|0;return}if((H|0)>=(b|0))return;if((K|0)>=(b|0)?(M|0)<64512&(L|(J|0)<17|(b|0)==30):0){c[2063584+(a<<5)+28>>2]=11;c[759972]=b;return}if((M|0)>=63488)return;c[2063584+(a<<5)+28>>2]=2;return}function Yg(a){a=a|0;var b=0;if((a|0)>255){b=0;return b|0}b=d[1104+(a&255)>>0]|0;return b|0}function Zg(a){a=a|0;return d[1360+(a&255)>>0]|0|0}function _g(){c[291596]=0;c[524992]=0;return}function $g(a){a=a|0;Lm(1166384+(c[524992]<<6)|0,a)|0;c[524992]=(c[524992]|0)+1;return}function ah(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;d=c[524994]|0;if((d|4|0)!=-995)c[524995]=d;a[1182768]=0;c[524994]=0;e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:{g=6;break a;break}case 45:{g=7;break a;break}case 126:{g=16;break a;break}case 13:case 9:case 8:case 32:break;default:{h=0;i=f;break a}}e=e+1|0}if((g|0)==6){c[524994]=-1e3;j=e;return j|0}else if((g|0)==7){b=a[e+1>>0]|0;if(b<<24>>24==45){c[524994]=-995;b:do if((a[e+2>>0]|0)==91?(a[e+3>>0]|0)==91:0){k=e+4|0;l=1;while(1){m=eu(k,56642)|0;n=eu(k,56645)|0;if(!n)break b;o=(m|0)!=0&m>>>0<n>>>0;l=(o?1:-1)+l|0;p=(o?m:n)+2|0;if((l|0)<=0){j=p;break}else k=p}return j|0}while(0);k=e;l=45;c:while(1){switch(l<<24>>24){case 0:case 10:{j=k;break c;break}default:{}}p=k+1|0;k=p;l=a[p>>0]|0}return j|0}else{q=b;r=45;g=17}}else if((g|0)==16){q=a[e+1>>0]|0;r=126;g=17}do if((g|0)==17){if((q+-48&255)>9){if(q<<24>>24!=46){h=0;i=r;break}if(((a[e+2>>0]|0)+-48&255)>9){h=0;i=r;break}}b=c[524995]|0;h=((b|0)==-982|((b|0)==-980|((b+987|0)>>>0<2|((b|0)==-990|((b|0)==-972|((b|1|0)==-973|((b|0)==-963|((b|0)==61|((b|0)==-964|((b|1|0)==-965|((b|1|0)==-967|((b|1|0)==-969|((b|2|0)==62|((b|0)==37|((b|0)==94|((b|0)==45|((b|4|0)==47|((b|0)==42|((b|0)==126|((b|0)==63|((b|4|0)==44|(b|32|0)==123)))))))))))))))))))))&1;i=r}while(0);if(a[1104+(i&255)>>0]|0){c[524994]=0;r=c[8780]|0;q=f<<24>>24;if(!(a[1360+(q&255)>>0]|0)){s=r;t=0;u=e}else{b=r;r=0;l=e;k=q;q=f;while(1){p=(B(k,b)|0)&8191^7266;n=r+1|0;a[1182768+r>>0]=q;m=l+1|0;q=a[m>>0]|0;k=q<<24>>24;if(!(a[1360+(k&255)>>0]|0)){s=p;t=n;u=m;break}else{b=p;r=n;l=m}}}a[1182768+t>>0]=0;switch(d|0){case 46:case 58:break;default:{d=c[1248304+(s*20|0)+16>>2]|0;if(d|0?(Xs(1248304+(s*20|0)|0,1182768)|0)==0:0){c[524994]=d;j=u;return j|0}}}c[524994]=-998;j=u;return j|0}if((i+-48&255)>9)if(i<<24>>24==46)v=((a[e+1>>0]|0)+-48&255)<10&1;else v=0;else v=1;if(v|h|0){switch(i<<24>>24){case 126:case 45:{a[1182768]=i;h=e+1|0;w=h;x=a[h>>0]|0;break}default:{w=e;x=f}}c[524994]=0;d:do if(x<<24>>24!=48)if(x<<24>>24==46|(x+-48&255)<10)g=46;else{y=0;z=w}else{h=a[w+1>>0]|0;switch((h|32)<<24>>24){case 120:break;case 98:{a[1182768]=48;a[1182769]=h;v=0;u=w+2|0;while(1){d=a[u>>0]|0;switch(d<<24>>24){case 46:case 48:case 49:break;default:{y=v;z=u;break d}}a[1182768+v>>0]=d;v=v+1|0;u=u+1|0}break}default:{g=46;break d}}a[1182768]=48;a[1182769]=h;u=0;v=w+2|0;while(1){d=a[v>>0]|0;if(!((d+-48&255)<10|(d+-97&255)<6))switch(d<<24>>24){case 46:case 65:case 66:case 67:case 68:case 69:case 70:break;default:{y=u;z=v;break d}}a[1182768+u>>0]=d;u=u+1|0;v=v+1|0}}while(0);if((g|0)==46){v=0;u=w;w=x;while(1){x=v+1|0;a[1182768+v>>0]=w;h=u+1|0;w=a[h>>0]|0;if(!(w<<24>>24==46|(w+-48&255)<10)){y=x;z=h;break}else{v=x;u=h}}}a[1182768+y>>0]=0;c[524994]=-997;j=z;return j|0}switch(i<<24>>24){case 91:{z=e+1|0;y=a[z>>0]|0;if(y<<24>>24==91){c[524994]=-996;a[1182768]=0;u=e+2|0;v=1;while(1){w=eu(u,56642)|0;h=eu(u,56645)|0;if(!h)break;x=(w|0)!=0&w>>>0<h>>>0;v=(x?1:-1)+v|0;d=(x?w:h)+2|0;if((v|0)<=0){j=d;g=123;break}else u=d}if((g|0)==123)return j|0;j=e+(ft(e)|0)|0;return j|0}else{A=z;C=y;D=0}break}case 34:{a[1182768]=34;y=e;z=1;e:while(1){u=y+1|0;v=a[u>>0]|0;switch(v<<24>>24){case 34:{g=60;break e;break}case 10:case 0:{E=u;F=z;break e;break}case 92:{d=y+2|0;a[1182768+z>>0]=92;G=z+1|0;H=d;I=a[d>>0]|0;break}default:{G=z;H=u;I=v}}a[1182768+G>>0]=I;y=H;z=G+1|0}if((g|0)==60){a[1182768+z>>0]=34;E=y+2|0;F=z+1|0}a[1182768+F>>0]=0;c[524994]=-996;j=E;return j|0}case 39:{a[1182768]=39;E=e;F=1;f:while(1){z=E+1|0;y=a[z>>0]|0;switch(y<<24>>24){case 39:{g=66;break f;break}case 10:case 0:{J=F;K=z;break f;break}case 92:{G=E+2|0;a[1182768+F>>0]=92;L=G;M=F+1|0;N=a[G>>0]|0;break}default:{L=z;M=F;N=y}}a[1182768+M>>0]=N;E=L;F=M+1|0}if((g|0)==66){a[1182768+F>>0]=39;J=F+1|0;K=E+2|0}a[1182768+J>>0]=0;c[524994]=-996;j=K;return j|0}case 10:{c[524996]=(c[524996]|0)+1;c[524994]=-999;j=e+1|0;return j|0}case 58:{K=e+1|0;J=a[K>>0]|0;if(J<<24>>24==58){c[524994]=-958;j=e+2|0;return j|0}else{A=K;C=J;D=0}break}case 46:{J=e+1|0;K=a[J>>0]|0;if(K<<24>>24==46)if((a[e+2>>0]|0)==46){c[524994]=-959;j=e+3|0;return j|0}else{c[524994]=-962;j=e+2|0;return j|0}else{A=J;C=K;D=1}break}default:{K=e+1|0;A=K;C=a[K>>0]|0;D=0}}g:do if(C<<24>>24!=61){h:do if(!(i<<24>>24==0|C<<24>>24==0)?(a[e+2>>0]|0)==61:0){if(D&C<<24>>24==46){c[524994]=-963;j=e+3|0;return j|0}switch(i<<24>>24){case 47:{break h;break}case 60:{if(C<<24>>24!=60)break g;c[524994]=-963;j=e+3|0;return j|0}case 62:{if(C<<24>>24!=62)break g;c[524994]=-963;j=e+3|0;return j|0}case 94:{if(C<<24>>24!=94)break g;c[524994]=-963;j=e+3|0;return j|0}default:break g}}else g=100;while(0);i:do if((g|0)==100)switch(i<<24>>24){case 47:{break i;break}case 62:{if(C<<24>>24!=62)break g;K=e+2|0;switch(a[K>>0]|0){case 62:{if((a[e+3>>0]|0)==61){c[524994]=-963;j=e+4|0;return j|0}else{c[524994]=-954;j=e+3|0;return j|0}break}case 60:{c[524994]=-952;j=e+3|0;return j|0}default:{c[524994]=-955;j=K;return j|0}}break}case 60:{if(C<<24>>24!=60)break g;K=e+2|0;if((a[K>>0]|0)==62){c[524994]=-953;j=e+3|0;return j|0}else{c[524994]=-956;j=K;return j|0}break}case 94:{if(C<<24>>24!=94)break g;c[524994]=-951;j=e+2|0;return j|0}default:break g}while(0);if(C<<24>>24==47){c[524994]=-995;K=e;J=f;j:while(1){switch(J<<24>>24){case 0:case 10:{j=K;break j;break}default:{}}E=K+1|0;K=E;J=a[E>>0]|0}return j|0}}else do switch(i<<24>>24){case 60:{c[524994]=-968;j=e+2|0;return j|0}case 62:{c[524994]=-967;j=e+2|0;return j|0}case 126:{c[524994]=-965;j=e+2|0;return j|0}case 33:{c[524994]=-965;j=e+2|0;return j|0}case 61:{c[524994]=-964;j=e+2|0;return j|0}case 43:{c[524994]=-963;j=e+2|0;return j|0}case 45:{c[524994]=-963;j=e+2|0;return j|0}case 42:{c[524994]=-963;j=e+2|0;return j|0}case 47:{c[524994]=-963;j=e+2|0;return j|0}case 37:{c[524994]=-963;j=e+2|0;return j|0}case 38:{c[524994]=-963;j=e+2|0;return j|0}case 124:{c[524994]=-963;j=e+2|0;return j|0}default:break g}while(0);while(0);if(ts(e,62672,9)|0){c[524994]=i<<24>>24;j=A;return j|0}c[524994]=-960;A=e;e=f;k:while(1){switch(e<<24>>24){case 0:case 10:{j=A;break k;break}default:{}}f=A+1|0;A=f;e=a[f>>0]|0}return j|0}function bh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Fa;Fa=Fa+16|0;f=e+8|0;g=e;if((ft(b)|0)>>>0>15){Fa=e;return}h=c[8780]|0;i=a[b>>0]|0;if(!(i<<24>>24))j=h;else{k=b;l=h;h=i;while(1){i=(B(l,h<<24>>24)|0)&8191^7266;k=k+1|0;h=a[k>>0]|0;if(!(h<<24>>24)){j=i;break}else l=i}}l=1248304+(j*20|0)+16|0;h=1248304+(j*20|0)|0;if((c[l>>2]|0)==0?(a[h>>0]|0)==0:0){c[l>>2]=d;Lm(h,b)|0;Fa=e;return}c[g>>2]=h;c[g+4>>2]=b;xu(56648,g)|0;c[f>>2]=h;c[f+4>>2]=b;vs(1504976,56648,f)|0;Pm(1504976);va(0)}function ch(a){a=a|0;if(c[524993]|0)return;c[524993]=1;c[8780]=a;Yu(1248304,0,163840)|0;bh(56679,-993);bh(56688,-992);bh(56692,-991);bh(56696,-990);bh(56699,-989);bh(56704,-988);bh(56709,-987);bh(56716,-986);bh(56722,-974);bh(56726,-973);bh(56730,-972);bh(56733,-985);bh(56736,-983);bh(56742,-982);bh(56749,-981);bh(56756,-980);bh(56762,-979);bh(56767,-978);bh(57006,-961);bh(57011,-961);bh(56773,-961);bh(56777,-984);bh(56780,-977);bh(56788,-977);bh(56792,-977);bh(56801,-977);bh(56807,-977);if((c[524992]|0)<=0)return;a=0;do{bh(1166384+(a<<6)|0,-977);a=a+1|0}while((a|0)<(c[524992]|0));return}function dh(b){b=b|0;var c=0;c=ah(b)|0;if(!c)return 0;else return ((c|0)==(b|0)&(a[c>>0]|0)!=0?c+1|0:c)|0;return 0}function eh(b){b=b|0;var d=0,e=0;ch(c[8780]|0);c[524994]=0;c[524995]=0;c[524997]=b;d=ah(b)|0;if(!d){e=0;return e|0}e=(d|0)==(b|0)&(a[d>>0]|0)!=0?d+1|0:d;return e|0}function fh(){return c[524994]|0}function gh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=-1;e=0;while(1){if((d|0)==-1){ch(c[8780]|0);c[524994]=0;c[524995]=0;c[524997]=b;f=ah(b)|0;if(!f){g=0;h=0}else{g=0;h=(f|0)==(b|0)&(a[f>>0]|0)!=0?f+1|0:f}}else{if(!(a[e>>0]|0))break;f=ah(e)|0;if(!f){g=d;h=0}else{g=d;h=(f|0)==(e|0)&(a[f>>0]|0)!=0?f+1|0:f}}switch(c[524994]|0){case -958:case -960:case 58:case 44:case 46:case -992:case 93:case 125:case 41:case 59:case -1e3:case -983:case -995:case -999:{i=g;break}default:i=g+1|0}d=i;e=h}return d|0}function hh(){var a=0,b=0,d=0,e=0,f=0;a=tm(c[(c[18328]|0)+4>>2]|0,0)|0;b=c[18328]|0;d=c[b+44584>>2]|0;if(!(c[(c[d>>2]|0)+16>>2]|0))e=-4;else{f=c[b+4>>2]|0;e=(B(c[f>>2]<<1,c[f+4>>2]|0)|0)+260|0}Qr(a,d,e)|0;Oo(c[(c[18328]|0)+4>>2]|0,c[(c[728248]|0)+8>>2]|0,0,0,0,0,128,128);return}function ih(a){a=a|0;return}function jh(){return}function kh(){return}function lh(){return}function mh(a){a=a|0;return}function nh(){return}function oh(){return}function ph(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+4|0;f=b+8|0;b=32;do{g=b<<1;h=0;do{i=c[(c[(c[e>>2]|0)+16>>2]|0)+((h>>>6)+g<<2)>>2]|0;j=h<<1&126;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]=((d[i+(j|1)>>0]|0)<<4)+(d[i+j>>0]|0);h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function qh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+8|0;f=b+4|0;b=32;do{g=b<<1;h=0;do{i=(h>>>6)+g|0;j=h<<1&126;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+j>>0]=a[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]&15;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+(j|1)>>0]=(d[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]|0)>>>4;h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function rh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=Fa;Fa=Fa+2928|0;g=f+2920|0;h=f+2912|0;i=f+2904|0;j=f+2896|0;k=f+2888|0;l=f+2880|0;m=f+1856|0;n=f+832|0;o=f+64|0;p=f+2924|0;q=f;c[p>>2]=0;if(!(c[524999]|0)){c[524999]=1;Yu(1412144,0,1920)|0}if(!(c[524998]|0)){r=9;Fa=f;return r|0}c[l>>2]=mm()|0;vs(q,56814,l)|0;if(a[3041792]|0){c[k>>2]=3041792;vs(q,56825,k)|0}k=(e|0)==0;do if(!(rt(q,37)|0))if(k){ir(q,n);break}else{Zb(q,n);break}else if(k){e=0;while(1){c[j>>2]=e;vs(m,q,j)|0;ir(m,n);if(!(Kq(n)|0))break;else e=e+1|0}}else{e=0;while(1){c[i>>2]=e;vs(m,q,i)|0;Zb(m,n);if(!(Kq(n)|0))break;else e=e+1|0}}while(0);m=kl(n,0,p)|0;if(!m){c[h>>2]=c[p>>2];c[h+4>>2]=n;vs(1504976,56832,h)|0;Pm(1504976);s=1}else{c[g>>2]=n;vs(1504976,56866,g)|0;Pm(1504976);g=(b|0)>0?b:c[415601]|0;b=(g|0)<8?g:8;g=(b|0)<0?0:b<<7;b=cn(g,g,8)|0;if((c[524998]|0)>0){g=0;h=18;while(1){p=1412144+(g<<2)|0;i=c[p>>2]|0;if(!i){q=cn(128,128,8)|0;c[p>>2]=q;t=q}else t=i;i=c[t+12>>2]|0;q=0;u=h;do{u=(d[i+q>>0]|0)>15?256:u;q=q+1|0}while((q|0)!=16384);g=g+1|0;if((g|0)>=(c[524998]|0))break;else h=u}if((u|0)>0){v=u;w=25}else x=u}else{v=18;w=25}if((w|0)==25){w=c[704831]|0;u=0;do{a[o+(u*3|0)>>0]=a[w+(u*3|0)>>0]|0;a[o+(u*3|0)+1>>0]=a[w+(u*3|0)+1>>0]|0;a[o+(u*3|0)+2>>0]=a[w+(u*3|0)+2>>0]|0;u=u+1|0}while((u|0)!=(v|0));x=v}v=jl(1<<(sl(x)|0),o)|0;o=c[b>>2]|0;c[m>>2]=o;u=b+4|0;w=c[u>>2]|0;c[m+4>>2]=w;c[m+8>>2]=x;c[m+12>>2]=0;c[m+20>>2]=v;a:do if((c[524998]|0)>0){h=b+16|0;g=0;t=o;q=w;while(1){i=1412144+(g<<2)|0;jn(c[i>>2]|0,b,0,0,t,q,0);p=tl(m,0)|0;c[p>>2]=0;c[p+4>>2]=0;j=c[b>>2]|0;c[p+8>>2]=j;k=c[u>>2]|0;c[p+12>>2]=k;a[p+16>>0]=0;e=(g|0)!=0;c[p+20>>2]=e?0:v;l=hl(B(k,j)|0)|0;j=p+24|0;c[j>>2]=l;Yu(l|0,0,B(c[u>>2]|0,c[b>>2]|0)|0)|0;l=c[u>>2]|0;if((l|0)>0){k=0;y=l;z=c[b>>2]|0;while(1){if((z|0)>0){A=0;C=z;do{a[(c[j>>2]|0)+((B(C,k)|0)+A)>>0]=(d[(c[(c[h>>2]|0)+(k<<2)>>2]|0)+A>>0]|0)%(x|0)|0;A=A+1|0;C=c[b>>2]|0}while((A|0)<(C|0));D=c[u>>2]|0;E=C}else{D=y;E=z}k=k+1|0;if((k|0)>=(D|0)){F=D;break}else{y=D;z=E}}}else F=l;if(e&(F|0)>0){z=1412144+(g+-1<<2)|0;y=0;k=c[b>>2]|0;while(1){if((k|0)>0){A=0;G=k;while(1){H=c[415601]|0;I=(y|0)/(H|0)|0;J=(A|0)/(H|0)|0;if((a[(c[(c[(c[z>>2]|0)+16>>2]|0)+(I<<2)>>2]|0)+J>>0]|0)==(a[(c[(c[(c[i>>2]|0)+16>>2]|0)+(I<<2)>>2]|0)+J>>0]|0)){J=(B(G,y)|0)+A|0;a[(c[j>>2]|0)+J>>0]=17;K=c[b>>2]|0}else K=G;A=A+1|0;if((A|0)>=(K|0)){L=K;break}else G=K}}else L=k;y=y+1|0;if((y|0)>=(c[u>>2]|0))break;else k=L}}k=(g|0)==0;y=k?3:1;j=p+28|0;c[j>>2]=y;i=hl(y*12|0)|0;y=p+32|0;c[y>>2]=i;Yu(i|0,0,(c[j>>2]|0)*12|0)|0;if(k){k=c[y>>2]|0;c[k+8>>2]=255;c[k>>2]=11;j=hl(12)|0;c[k+4>>2]=j;k=j;j=56885;i=k+12|0;do{a[k>>0]=a[j>>0]|0;k=k+1|0;j=j+1|0}while((k|0)<(i|0));j=c[y>>2]|0;c[j+20>>2]=0;c[j+12>>2]=3;k=hl(3)|0;i=j+16|0;c[i>>2]=k;a[k>>0]=1;a[(c[i>>2]|0)+1>>0]=0;a[(c[i>>2]|0)+2>>0]=0;M=2}else M=0;i=c[y>>2]|0;c[i+(M*12|0)+8>>2]=249;c[i+(M*12|0)>>2]=4;k=hl(4)|0;j=i+(M*12|0)+4|0;c[j>>2]=k;a[k>>0]=1;a[(c[j>>2]|0)+1>>0]=3;a[(c[j>>2]|0)+2>>0]=0;a[(c[j>>2]|0)+3>>0]=17;j=g+1|0;if((j|0)>=(c[524998]|0))break a;g=j;t=c[b>>2]|0;q=c[u>>2]|0}}while(0);u=rl(m)|0;dn(b)|0;Gb(n,56897,128,128);il();n=(u|0)==0;if(n)Pm(56901);s=n&1}r=s;Fa=f;return r|0}function sh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Fa;Fa=Fa+16|0;d=b;if(!(c[524999]|0)){c[524999]=1;Yu(1412144,0,1920)|0}if(!(c[415615]|c[415604])){Fa=b;return}fr(b+8|0,b+4|0,d);_q()|0;d=c[415615]|0;e=c[415604]|0;if((e|0)>0|(d|0)!=0){f=0;g=e;e=d;while(1){d=1412144+(f<<2)|0;if(!(c[d>>2]|0)){c[d>>2]=cn(128,128,8)|0;h=c[415615]|0;i=c[415604]|0}else{h=e;i=g}f=f+1|0;d=(h|0)==0?i*30|0:480;j=(d|0)<480?d:480;if(f>>>0>=((j|0)>0?j:0)>>>0)break;else{g=i;e=h}}}Oo(a,c[1412144+(c[524998]<<2)>>2]|0,0,0,0,0,128,128);a=_q()|0;if((a|0)<(c[515893]|0))nb(c[1412144+(c[524998]<<2)>>2]|0);a=c[524998]|0;h=(c[415615]|0)==0?(c[415604]|0)*30|0:480;e=(h|0)<480;if((a|0)<(((h|0)<0?-1:e?h+-1|0:479)|0)){c[524998]=a+1;Fa=b;return}a=c[353036]|0;i=e?h:480;h=(i|0)<0?-1:i+-1|0;if((h|0)>0){e=0;do{g=e;e=e+1|0;c[1412144+(g<<2)>>2]=c[1412144+(((e|0)%(i|0)|0)<<2)>>2]}while((e|0)<(h|0));k=h}else k=0;c[1412144+(k<<2)>>2]=a;Fa=b;return}function th(){c[524998]=0;c[415606]=0;return}function uh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=Fa;Fa=Fa+16|0;f=e;g=Jt(a,63774)|0;if(!g){h=1;Fa=e;return h|0}a=Fp(1048576)|0;i=vu(a,1,1048576,g)|0;Pt(g)|0;g=Jt(b,62624)|0;if(!g){h=2;Fa=e;return h|0}ku(56926,6,1,g)|0;if((i|0)>0){b=0;do{c[f>>2]=d[a+b>>0];bu(g,71865,f)|0;b=b+1|0}while((b|0)!=(i|0))}ku(56933,7,1,g)|0;Pt(g)|0;h=0;Fa=e;return h|0}function vh(a){a=a|0;dn(c[(c[18328]|0)+44572>>2]|0)|0;a=cn(128,128,8)|0;c[(c[18328]|0)+44572>>2]=a;Oo(c[704861]|0,a,0,0,0,0,128,128);return 0}function wh(){return}function xh(){return ((c[524998]|0)+15|0)/30|0|0}function yh(b){b=b|0;c[b>>2]=0;a[b+4>>0]=0;c[b+8>>2]=0;return}function zh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;g=b+d|0;d=f+4|0;h=a[d>>0]|0;switch(c[f>>2]|0){case 0:{i=h;j=e;k=b;l=2;break}case 1:{m=h;n=e;o=b;l=6;break}case 2:{p=h;q=e;r=b;l=10;break}default:{s=0;return s|0}}while(1)if((l|0)==2){l=0;if((k|0)==(g|0)){t=i;u=j;v=0;break}b=a[k>>0]|0;h=b>>>2&63;if((h&255)<<24>>24>63)w=61;else w=a[56941+h>>0]|0;a[j>>0]=w;m=b<<4&48;n=j+1|0;o=k+1|0;l=6;continue}else if((l|0)==6){l=0;if((o|0)==(g|0)){t=m;u=n;v=1;break}b=a[o>>0]|0;h=b>>>4&15|m&255;if((h&255)<<24>>24>63)x=61;else x=a[56941+(h<<24>>24)>>0]|0;a[n>>0]=x;p=b<<2&60;q=n+1|0;r=o+1|0;l=10;continue}else if((l|0)==10){l=0;if((r|0)==(g|0)){t=p;u=q;v=2;break}b=a[r>>0]|0;h=b>>>6&3|p&255;if((h&255)<<24>>24>63)y=61;else y=a[56941+(h<<24>>24)>>0]|0;a[q>>0]=y;h=b&63;b=h&255;if(b<<24>>24>63)z=61;else z=a[56941+h>>0]|0;a[q+1>>0]=z;h=f+8|0;A=(c[h>>2]|0)+1|0;c[h>>2]=(A|0)==18?0:A;i=b;j=q+2|0;k=r+1|0;l=2;continue}a[d>>0]=t;c[f>>2]=v;s=u-e|0;return s|0}function Ah(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;switch(c[d>>2]|0){case 1:{e=a[d+4>>0]|0;if(e<<24>>24>63)f=61;else f=a[56941+(e<<24>>24)>>0]|0;a[b>>0]=f;a[b+1>>0]=61;g=b+2|0;h=3;break}case 2:{f=a[d+4>>0]|0;if(f<<24>>24>63)i=61;else i=a[56941+(f<<24>>24)>>0]|0;a[b>>0]=i;g=b+1|0;h=2;break}default:{j=b;k=j;l=b;m=k-l|0;return m|0}}a[g>>0]=61;j=b+h|0;k=j;l=b;m=k-l|0;return m|0}function Bh(b){b=b|0;c[b>>2]=0;a[b+4>>0]=0;return}function Ch(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;h=g+4|0;i=a[h>>0]|0;a[f>>0]=i;switch(c[g>>2]|0){case 0:{j=f;k=b;l=b+e|0;m=6;break}case 1:{n=f;o=b;p=b+e|0;q=i;m=12;break}case 2:{r=f;s=b;t=b+e|0;u=i;m=18;break}case 3:{v=f;w=b;x=b+e|0;y=i;m=24;break}default:{z=0;return z|0}}a:while(1)if((m|0)==6){m=0;i=k;do{if((i|0)==(l|0)){A=j;B=0;break a}e=i;i=i+1|0;b=(d[e>>0]<<24)+-721420288|0;if(b>>>0>1342177280)C=-1;else C=a[1616+(b>>>24)>>0]|0}while((C&128|0)!=0);b=C<<2&255;a[j>>0]=b;n=j;o=i;p=l;q=b;m=12;continue}else if((m|0)==12){m=0;b=o;do{if((b|0)==(p|0)){A=n;B=1;break a}e=b;b=b+1|0;D=(d[e>>0]<<24)+-721420288|0;if(D>>>0>1342177280)E=-1;else E=a[1616+(D>>>24)>>0]|0}while((E&128|0)!=0);i=n+1|0;a[n>>0]=E>>>4&3|q&255;D=E<<4&255;a[i>>0]=D;r=i;s=b;t=p;u=D;m=18;continue}else if((m|0)==18){m=0;D=s;do{if((D|0)==(t|0)){A=r;B=2;break a}i=D;D=D+1|0;e=(d[i>>0]<<24)+-721420288|0;if(e>>>0>1342177280)F=-1;else F=a[1616+(e>>>24)>>0]|0}while((F&128|0)!=0);b=r+1|0;a[r>>0]=F>>>2&15|u&255;e=F<<6&255;a[b>>0]=e;v=b;w=D;x=t;y=e;m=24;continue}else if((m|0)==24){m=0;e=w;do{if((e|0)==(x|0)){A=v;B=3;break a}b=e;e=e+1|0;i=(d[b>>0]<<24)+-721420288|0;if(i>>>0>1342177280)G=-1;else G=a[1616+(i>>>24)>>0]|0}while((G&128|0)!=0);a[v>>0]=G&63|y&255;j=v+1|0;k=e;l=x;m=6;continue}c[g>>2]=B;a[h>>0]=a[A>>0]|0;z=A-f|0;return z|0}function Dh(){return}function Eh(){return}function Fh(){return 0}function Gh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=Fa;Fa=Fa+16|0;d=b;e=b+4|0;f=c[2969988+((c[742549]&15)<<2)>>2]&15;c[e>>2]=0;g=jd(a)|0;if(!g){h=0;Fa=b;return h|0}i=nd(a,1)|0;do if((i+-3|0)>>>0>=2)if((i|0)==1){j=(sd(a,1)|0)==0;k=j?57011:57006;c[e>>2]=ft(k)|0;l=k;break}else{c[d>>2]=od(a,i)|0;vs(1509584,57062,d)|0;c[e>>2]=ft(1509584)|0;l=1509584;break}else l=td(a,1,e)|0;while(0);if((g|0)==2){d=c[742549]&255;if((jd(a)|0)>=2){i=pd(a,2,0)|0;k=i>>>16&255;c[742549]=k;if(!((i&268435456|0)==0|(c[742569]|0)!=1)?(j=i>>>8&65536|i&65535,c[742564]=j,(i&33554432|0)!=0):0){c[742564]=j|131072;m=k}else m=k}else m=d;d=c[2969988+((m&15)<<2)>>2]&15;if(!(c[742564]&262144)){n=c[2969988+(m>>>4<<2)>>2]<<4&240|d;o=0}else{n=c[2970116+(d<<2)>>2]|0;o=0}}else if((g|0)>2){d=(pd(a,2,0)|0)>>16;m=(pd(a,3,0)|0)>>16;c[742550]=d;c[742551]=m;if((g|0)!=3){m=c[742549]&255;if((jd(a)|0)>=4){d=pd(a,4,0)|0;k=d>>>16&255;c[742549]=k;if(!((d&268435456|0)==0|(c[742569]|0)!=1)?(j=d>>>8&65536|d&65535,c[742564]=j,(d&33554432|0)!=0):0){c[742564]=j|131072;p=k}else p=k}else p=m;m=c[2969988+((p&15)<<2)>>2]&15;if(!(c[742564]&262144)){n=c[2969988+(p>>>4<<2)>>2]<<4&240|m;o=1}else{n=c[2970116+(m<<2)>>2]|0;o=1}}else{n=f;o=1}}else{n=f;o=0}f=(g|0)<3?32:0;g=o|(c[742428]|0)!=0?f:f|16;c[525e3]=0;if(!(rk(c[704852]|0,l,c[e>>2]|0,g,n)|0)){yd(a,c[525e3]<<16);h=1;Fa=b;return h|0}Jg();a=c[759972]|0;if((a|0)==30){Jg();q=c[759972]|0}else q=a;if((q|0)==15){Jg();Jg()}sb();Ik();c[704863]=0;Dm();lg();c[704848]=0;if(c[416527]|0){c[742427]=2;c[742551]=0;c[742550]=0}if(c[415606]|0){ab(0);sh(c[704861]|0)}mg();h=0;Fa=b;return h|0}function Hh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Fa;Fa=Fa+2048|0;h=g+1024|0;i=g;if((b|0)==0|(d|0)==0){j=1;Fa=g;return j|0}k=ft(b)|0;l=ft(2960076)|0;if((e|0)>1023|(k+4+l+(ft(2961100)|0)|0)>>>0>=e>>>0){j=1;Fa=g;return j|0}Lm(h,b)|0;if(eu(h,64122)|0){j=1;Fa=g;return j|0}b=a[h>>0]|0;a:do if(b<<24>>24){e=h;l=b;b:while(1){if(!((l+-97&255)<26|(l+-48&255)<10))switch(l<<24>>24){case 32:case 46:case 47:case 95:break;default:{j=1;break b}}e=e+1|0;l=a[e>>0]|0;if(!(l<<24>>24))break a}Fa=g;return j|0}while(0);eo(h,0,0,i);if(57017){b=1696;l=0;e=57017;do{k=(Xs(i,e)|0)==0;l=k?1:l;b=b+4|0;e=c[b>>2]|0}while((e|0)!=0);if(!l)m=13}else m=13;if((m|0)==13){m=h+(ft(h)|0)|0;a[m>>0]=a[57017]|0;a[m+1>>0]=a[57018]|0;a[m+2>>0]=a[57019]|0;a[m+3>>0]=a[57020]|0;a[m+4>>0]=a[57021]|0}if(!f){Zb(h,d);j=0;Fa=g;return j|0}else{ir(h,d);j=0;Fa=g;return j|0}return 0}function Ih(a){a=a|0;Ed(a,6,0);Jd(a,57067);Ed(a,7,0);Jd(a,57082);Ed(a,8,0);Jd(a,57092);Ed(a,9,0);Jd(a,57103);Ed(a,10,0);Jd(a,57110);Ed(a,11,0);Jd(a,57118);Ed(a,12,0);Jd(a,57127);Ed(a,13,0);Jd(a,57135);Ed(a,14,0);Jd(a,57142);Ed(a,15,0);Jd(a,57151);Ed(a,15,0);Jd(a,57164);Ed(a,16,0);Jd(a,57173);Ed(a,17,0);Jd(a,57180);Ed(a,18,0);Jd(a,57189);Ed(a,19,0);Jd(a,57200);Ed(a,20,0);Jd(a,57226);Ed(a,21,0);Jd(a,57229);Ed(a,22,0);Jd(a,57235);Ed(a,23,0);Jd(a,57239);Ed(a,24,0);Jd(a,57242);Ed(a,13,0);Jd(a,57248);Ed(a,25,0);Jd(a,57253);Ed(a,26,0);Jd(a,57258);Ed(a,27,0);Jd(a,57263);Ed(a,28,0);Jd(a,57270);Ed(a,29,0);Jd(a,57276);Ed(a,29,0);Jd(a,57285);Ed(a,30,0);Jd(a,57290);Ed(a,31,0);Jd(a,57295);Ed(a,32,0);Jd(a,57302);return}function Jh(a){a=a|0;var b=0;if(!(c[704849]|0))return 0;b=(pd(a,1,0)|0)>>16<<1;c[524978]=b+(c[524978]|0);return 0}function Kh(a){a=a|0;if((c[704866]|0)>0)return 0;c[742427]=2;c[742557]=0;c[742556]=0;Gh(a)|0;mg();return 0}function Lh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Fa;Fa=Fa+2096|0;e=d+2080|0;f=d+2072|0;g=d+2064|0;h=d+1040|0;i=d;j=d+2084|0;c[j>>2]=0;if(!(jd(b)|0)){Fa=d;return 0}k=nd(b,1)|0;do if((k+-3|0)>>>0>=2)if((k|0)==1){l=(sd(b,1)|0)==0;m=l?57011:57006;c[j>>2]=ft(m)|0;n=m;break}else{c[g>>2]=od(b,k)|0;vs(1509584,57062,g)|0;c[j>>2]=ft(1509584)|0;n=1509584;break}else n=td(b,1,j)|0;while(0);if((jd(b)|0)<=1){g=Ir(n,0,1)|0;su(g)|0;Rt(c[8793]|0)|0;Hp(g);Fa=d;return 0}g=td(b,2,0)|0;if(!g){Fa=d;return 0}if((jd(b)|0)>2)o=sd(b,3)|0;else o=0;if(!(Xs(g,57902)|0)){k=Ir(n,0,1)|0;rr(k)|0;if((sr(k)|0)==0?(An(-5)|0)==0:0)cb(58862,1500);m=c[416461]|0;if(m|0)Hp(m);c[416461]=k;Fa=d;return 0}if((jd(b)|0)>3)p=sd(b,4)|0;else p=0;if(Hh(g,h,1023,p)|0){yb(58892)|0;Fa=d;return 0}p=c[515219]|0;g=(ft(n)|0)+p|0;if(g>>>0>10485759){yb(58918)|0;Fa=d;return 0}c[515219]=g;c[f>>2]=h;vs(i,58955,f)|0;do if(!(eu(1995340,i)|0)){f=0;g=0;a:while(1){switch(a[1995340+f>>0]|0){case 0:{break a;break}case 124:{q=g+1|0;break}default:q=g}f=f+1|0;g=q}if((g|0)<=63){pt(1995340,i)|0;break}yb(58959)|0;Fa=d;return 0}while(0);i=Jt(h,(o|0)==0?58981:62624)|0;if(!i){cb(58987,1500);Fa=d;return 0}o=Ir(n,0,1)|0;h=ft(n)|0;if(h>>>0<(c[j>>2]|0)>>>0)ju(o,i)|0;else{c[e>>2]=o;bu(i,58983,e)|0}Pt(i)|0;Hp(o);Fa=d;return 0}function Mh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Fa;Fa=Fa+16|0;d=b+8|0;e=b;f=nd(a,1)|0;Vg(2);if(!(jd(a)|0)){Ad(a,3042456)|0;Fa=b;return 1}switch(f|0){case 4:{kd(a,1);Fa=b;return 1}case 3:{if((jd(a)|0)>1?sd(a,2)|0:0){g=pd(a,1,0)|0;c[e>>2]=g>>>16;c[e+4>>2]=g&65535;vs(1509584,58850,e)|0;Ad(a,1509584)|0;Fa=b;return 1}Ad(a,td(a,1,0)|0)|0;Fa=b;return 1}case 1:{e=(sd(a,1)|0)==0;Ad(a,e?57011:57006)|0;Fa=b;return 1}default:{c[d>>2]=od(a,f)|0;vs(1509584,57062,d)|0;Ad(a,1509584)|0;Fa=b;return 1}}return 0}function Nh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=Fa;Fa=Fa+7200|0;e=d+7184|0;f=d+7168|0;g=d+6144|0;h=d+5120|0;i=d+4096|0;j=d+3072|0;k=d+2048|0;l=d+1024|0;m=d;n=d+7196|0;c[n>>2]=255;if((c[704866]|0)>0){o=0;Fa=d;return o|0}ul()|0;if((nd(b,1)|0)!=4){o=0;Fa=d;return o|0}if((jd(b)|0)<=1)if(!(c[742428]|0)){og();p=0}else p=0;else p=td(b,2,0)|0;if((jd(b)|0)>2?(td(b,3,0)|0)!=0:0)nu(2972669,td(b,3,0)|0,1024)|0;else a[2972669]=0;if((jd(b)|0)<=0){o=0;Fa=d;return o|0}q=td(b,1,n)|0;if(!q){o=0;Fa=d;return o|0}c[415621]=0;Lm(k,2963156)|0;Lm(m,2961100)|0;if((a[q>>0]|0)==47){Lm(m,3042456)|0;r=q+1|0}else r=q;Lm(g,r)|0;switch(a[r>>0]|0){case 95:{if((a[r+1>>0]|0)==95)s=37;else s=22;break}case 35:{c[415618]=0;c[415621]=0;if(!(c[742428]|0))xg(58607,0,0);q=r+1|0;m=cm()|0;c[f>>2]=61954;c[f+4>>2]=m;c[f+8>>2]=q;vs(l,58622,f)|0;am(l,Nl(q)|0,0);c[742430]=30;if((p|0)!=0?(ft(p)|0)>>>0>1:0){ng(k,p,1);t=100}else t=100;break}default:s=22}a:do if((s|0)==22){do if(!(Xs(r,58671)|0)){q=c[516415]|0;if(!q){s=37;break a}Pb(q,58680);c[516415]=0;Lm(2963156,3042456)|0;xg(58691,ft(c[c[18328]>>2]|0)|0,0)}else{if(((Xs(r,57902)|0?Xs(r,57908)|0:0)?Xs(r,57917)|0:0)?Xs(r,57927)|0:0){if(Tb(g)|0){s=37;break a}eo(2963156,h,i,j);q=ft(c[c[18328]>>2]|0)|0;c[e>>2]=i;c[e+4>>2]=j;c[e+8>>2]=q;vs(1509584,58749,e)|0;if(c[742428]|0)break;wg(1509584);break}wg(58719);t=1;break a}while(0);if(p|0?(ft(p)|0)>>>0>1:0)ng(k,p,0);Eg();q=c[740016]|0;l=q+336|0;c[q+324>>2]=0;c[q+320>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;zk(2819376,c[743521]|0,0,0,17152);Vg(8388608);if((c[704867]|0)==0&(c[742428]|0)!=0?(c[742427]=1,(Xs(2963156,k)|0)!=0):0){c[742430]=30;t=0}else t=0}while(0);if((s|0)==37)if(!(c[742428]|0)){switch(c[741076]|0){case 1:{wg(58772);break}case 2:{wg(58803);break}default:wg(58835)}c[741076]=0;t=1}else t=1;switch(t&127){case 100:{mg();Fd(b,0);o=1;Fa=d;return o|0}case 0:{Fd(b,1);o=1;Fa=d;return o|0}default:{Fd(b,0);o=1;Fa=d;return o|0}}return 0}function Oh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Fa;Fa=Fa+16|0;e=d+8|0;f=d;g=td(b,1,0)|0;h=td(b,2,0)|0;i=(pd(b,2,0)|0)>>16;j=(pd(b,3,0)|0)>>16;if(!g){Fa=d;return 0}if(!(Xs(g,58284)|0)){ab(0);vh(c[704861]|0)|0;cb(58290,1500);Fa=d;return 0}if(!(Xs(g,58302)|0)){ab(0);if(Yb(c[704861]|0,i,j)|0){cb(58309,1500);Fa=d;return 0}if(!j){cb(58350,1500);Fa=d;return 0}else{cb(58338,1500);Fa=d;return 0}}if(!(Xs(g,58371)|0)){th();Fa=d;return 0}if(!(Xs(g,58375)|0)){th();c[415606]=1;Fa=d;return 0}if(!(Xs(g,58386)|0)){c[415606]=0;ab(0);b=rh(i,j)|0;k=c[524998]|0;c[f>>2]=b;c[f+4>>2]=k;xu(58392,f)|0;if((b|0)==9){cb(58437,1500);Fa=d;return 0}if((b|0)>0){cb(58466,1500);Fa=d;return 0}b=xh()|0;if(!j){wb(58508,1500,b,0);Fa=d;return 0}else{wb(58488,1500,b,0);Fa=d;return 0}}if(!(Xs(g,58532)|0)){c[416456]=1;rb();if(i|0){Fa=d;return 0}c[416458]=0;Fa=d;return 0}if(!(Xs(g,58538)|0)){c[416456]=3;rb();c[416458]=0;Fa=d;return 0}if(!(Xs(g,57270)|0)){if(c[704866]|0){Fa=d;return 0}i=_q()|0;if((i|0)<=((c[515629]|0)+500|0)){Fa=d;return 0}c[704866]=1;c[515629]=_q()|0;Fa=d;return 0}if(!((Xs(g,58547)|0)!=0?(Xs(g,58558)|0)!=0:0))l=33;if((l|0)==33?qg()|0:0){tg();mg();Fa=d;return 0}if(!(Xs(g,57276)|0)){c[742427]=2;mg();Fa=d;return 0}if(!((a[2966616]|0)!=0&(c[742428]|0)!=0|(c[415553]|0)!=0)?(h|0)!=0&(Xs(g,58566)|0)==0:0){Mm(h);Fa=d;return 0}if(Xs(g,58576)|0){c[e>>2]=g;vs(1509584,58589,e)|0;cb(1509584,2e3);Fa=d;return 0}if(!h)a[3041792]=0;else nu(3041792,h,63)|0;h=3041792;a:while(1){switch(a[h>>0]|0){case 0:{break a;break}case 46:{a[h>>0]=0;break}default:{}}h=h+1|0}Fa=d;return 0}function Ph(a){a=a|0;return Nf(a)|0}function Qh(a){a=a|0;var b=0;if((jd(a)|0)==1?(nd(a,1)|0)==3:0){hg((pd(a,1,0)|0)/65536|0);b=0;return b|0}Fd(a,gg()|0);b=1;return b|0}function Rh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Fa;Fa=Fa+3936|0;e=d+3104|0;f=d+3088|0;g=d+3080|0;h=d+3072|0;i=d+2048|0;j=d+1024|0;k=d;l=d+3112|0;fo(2960076,k);if((c[704867]|0)==0&(c[742428]|0)!=0){Fa=d;return 0}if((jd(b)|0)>0?(m=td(b,1,0)|0,m|0):0){if((ft(m)|0)>>>0>511){Fa=d;return 0}if((a[m>>0]|0)==47){c[g>>2]=k;c[g+4>>2]=m+1;vs(i,58243,g)|0}else{c[f>>2]=k;c[f+4>>2]=2961100;c[f+8>>2]=m;vs(i,58220,f)|0}fo(i,j);if((a[k>>0]|0)!=46?(eu(j,k)|0)==0:0){ug(58249,7);Fa=d;return 0}i=Hq(j,61978,l,-1)|0;Jq(l)|0;if(i|0){ug(58260,7);Fa=d;return 0}if((a[k>>0]|0)==46)Lm(2961100,j)|0;else Lm(2961100,j+(ft(k)|0)|0)|0;if(!(Xs(2961100,64746)|0))a[2961100]=0;c[e>>2]=2961100;vs(1509584,58280,e)|0;ug(1509584,12);Fa=d;return 0}c[h>>2]=2961100;vs(1509584,58228,h)|0;ug(1509584,12);Fa=d;return 0}function Sh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Fa;Fa=Fa+1040|0;d=b+1024|0;e=b;if((c[704867]|0)==0&(c[742428]|0)!=0){f=0;Fa=b;return f|0}if((jd(a)|0)<1){wg(58207);f=0;Fa=b;return f|0}g=td(a,1,0)|0;if(!g){f=0;Fa=b;return f|0}if((ft(g)|0)>>>0>511){yd(a,0);f=1;Fa=b;return f|0}else{c[d>>2]=2960076;c[d+4>>2]=2961100;c[d+8>>2]=g;vs(e,58220,d)|0;kr(e)|0;f=0;Fa=b;return f|0}return 0}function Th(b){b=b|0;if((c[704866]|0)>0)return 0;if((jd(b)|0)>0)nu(2972669,td(b,1,0)|0,1024)|0;else a[2972669]=0;c[704866]=3;mg();return 0}function Uh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Fa;Fa=Fa+1856|0;e=d+1024|0;f=d+1032|0;g=d;c[760314]=17;a[2060884]=0;h=(c[742428]|0)==0;i=(jd(b)|0)>0;if(h){if(i)nu(2060884,td(b,1,0)|0,1023)|0;qb();j=0;Fa=d;return j|0}if(i|(c[415552]|0)==0){j=0;Fa=d;return j|0}c[e>>2]=2960076;c[e+4>>2]=2961100;vs(g,71619,e)|0;Hq(g,61978,f,-1)|0;Id(b,0,100);g=f+256|0;e=1;while(1){if((eu(g,61980)|0)!=0?(rt(g,126)|0)==0:0){Ad(b,g)|0;Kd(b,-2,e);Vg(32);k=e+1|0}else k=e;if(!(Iq(f)|0))e=k;else{j=1;break}}Fa=d;return j|0}function Vh(a){a=a|0;wg(58166);wg(58185);xd(a);return 1}function Wh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Fa;Fa=Fa+4128|0;e=d+4112|0;f=d+4096|0;g=d+4120|0;h=d+3072|0;i=d+2048|0;j=d+1024|0;k=d;c[g>>2]=255;l=(c[704867]|0)==0;if(l&(c[742428]|0)!=0){wg(57857);Fa=d;return 0}if(!l){l=0;do{m=c[18328]|0;uk(0,m,l,vk(2819376,c[743521]|0,l)|0);l=l+1|0}while((l|0)!=17152)}if((jd(b)|0)>0?(nd(b,1)|0)==4:0){l=td(b,1,g)|0;if((ft(l)|0)>>>0>511){wg(57884);Fa=d;return 0}if(l|0?a[l>>0]|0:0){if(((Xs(l,57902)|0?Xs(l,57908)|0:0)?Xs(l,57917)|0:0)?Xs(l,57927)|0:0){c[f>>2]=2960076;c[f+4>>2]=2961100;c[f+8>>2]=l;vs(h,58111,f)|0;Mb(h,h);do if(Kq(h)|0){if(c[760316]|0){c[760316]=0;break}wg(58118);ug(58138,14);c[760316]=1;Fa=d;return 0}while(0);if(Ob(h)|0){Fa=d;return 0}Lm(2963156,h)|0;eo(h,i,j,k);c[e>>2]=j;c[e+4>>2]=k;vs(1509584,58155,e)|0;wg(1509584);Fa=d;return 0}if(!(c[(c[18328]|0)+44572>>2]|0)){ug(57940,9);ug(57964,10)}gr(57995,i);if(((Hb(c[18328]|0,i)|0)==0?(gr(58008,h),(uh(i,h)|0)==0):0)?(vr(h)|0)==0:0){tr();i=lo(h)|0;if(i|0){Sn(0,i);sr(c[i+12>>2]|0)|0;Kp(i)}wg(58025);wg(58054);Fa=d;return 0}wg(58083);Fa=d;return 0}}Wb(1);Fa=d;return 0}function Xh(a){a=a|0;if((c[704867]|0)==0&(c[742428]|0)!=0)return 0;wg(3042456);ug(57475,12);wg(3042456);wg(57484);wg(57517);wg(57541);wg(57565);wg(57585);wg(57618);wg(57650);ug(57679,14);wg(3042456);wg(57712);wg(57744);wg(57775);wg(3042456);ug(57804,12);ug(57832,12);wg(3042456);return 0}function Yh(a){a=a|0;if((c[704867]|0)==0&(c[742428]|0)!=0)return 0;if(dc(57447)|0)return 0;if(bc()|0)Nb(2963156,0)|0;c[742427]=3;c[415550]=0;mg();return 0}function Zh(a){a=a|0;var b=0,e=0;a=c[742550]|0;b=c[742551]|0;e=0;do{uk(2819376,c[743521]|0,e+24320|0,d[1744+e>>0]|0);e=e+1|0}while((e|0)!=128);e=Ca(0)|0;Uk((_q()|0)+e|0);c[742550]=a;c[742551]=b;Vg(16);return 0}function _h(a){a=a|0;if((c[704867]|0)==0&(c[742428]|0)!=0)return 0;if(dc(57417)|0)return 0;if(bc()|0)Nb(2963156,0)|0;mg();return 0}function $h(b){b=b|0;var d=0,e=0,f=0;b=Fa;Fa=Fa+3088|0;d=b+3072|0;e=b+1024|0;f=b;if((c[704867]|0)==0&(c[742428]|0)!=0){Fa=b;return 0}eo(2963156,b+2048|0,e,f);if(a[2963156]|0){if(!(a[f>>0]|0))Lm(f,61980)|0;c[d>>2]=e;c[d+4>>2]=f;vs(1509584,57309,d)|0;ug(1509584,14)}Ng();d=Fp(131072)|0;if(um(c[c[18328]>>2]|0,d)|0){Hp(d);Fa=b;return 0}f=Fp(131072)|0;e=fl(d,f,ft(d)|0)|0;Hp(f);f=gh(d)|0;yg(57320,f,8192,(f|0)<8193?6:9);f=ft(d)|0;yg(57342,f,65535,f>>>0<65536?6:9);yg(57363,e,15616,(e|0)<15617?6:9);if(bc()|0)xg(57384,0,0);if(cc()|0)xg(57400,0,0);Hp(d);Fa=b;return 0}function ai(a){a=a|0;return 0}function bi(a){a=a|0;return 0}function ci(a){a=a|0;_g();Ed(a,33,0);Jd(a,59016);$g(59016);Ed(a,34,0);Jd(a,59021);$g(59021);Ed(a,35,0);Jd(a,59025);$g(59025);Ed(a,36,0);Jd(a,59029);$g(59029);Ed(a,37,0);Jd(a,59035);$g(59035);Ed(a,37,0);Jd(a,59040);Ed(a,1,0);Jd(a,59047);Ed(a,28,0);Jd(a,57270);$g(57270);Ed(a,38,0);Jd(a,59060);$g(59060);Ed(a,39,0);Jd(a,59067);$g(59067);Ed(a,40,0);Jd(a,59072);$g(59072);Ed(a,41,0);Jd(a,59076);Ed(a,23,0);Jd(a,57239);$g(57239);Ed(a,23,0);Jd(a,59083);Ed(a,20,0);Jd(a,57226);Ed(a,21,0);Jd(a,57229);Ed(a,42,0);Jd(a,59087);Ed(a,43,0);Jd(a,59094);Ed(a,44,0);Jd(a,59108);Ed(a,45,0);Jd(a,59122);Ed(a,46,0);Jd(a,59132);Ed(a,47,-3333);Jd(a,59139);$g(59139);Ed(a,48,-3333);Jd(a,59144);$g(59144);Ed(a,49,0);Jd(a,59149);$g(59149);Ed(a,10,0);Jd(a,59155);$g(59155);Ed(a,11,0);Jd(a,59161);$g(59161);Ed(a,12,0);Jd(a,59168);$g(59168);Ed(a,12,0);Jd(a,57127);Ed(a,10,0);Jd(a,57110);Ed(a,11,0);Jd(a,57118);Ed(a,50,0);Jd(a,59174);$g(59174);Ed(a,51,0);Jd(a,59181);$g(59181);Ed(a,52,0);Jd(a,59187);$g(59187);Ed(a,53,0);Jd(a,59191);$g(59191);Ed(a,54,-3333);Jd(a,59196);$g(59196);Ed(a,55,-3333);Jd(a,59201);$g(59201);Ed(a,56,0);Jd(a,59210);$g(59210);Ed(a,57,0);Jd(a,59215);$g(59215);Ed(a,58,0);Jd(a,59224);$g(59224);Ed(a,59,0);Jd(a,59229);$g(59229);Ed(a,60,0);Jd(a,59238);$g(59238);Ed(a,61,0);Jd(a,59243);$g(59243);Ed(a,62,0);Jd(a,59249);$g(59249);Ed(a,63,0);Jd(a,59253);$g(59253);Ed(a,64,0);Jd(a,59258);$g(59258);Ed(a,65,0);Jd(a,59264);$g(59264);Ed(a,65,0);Jd(a,59272);$g(59272);Ed(a,66,0);Jd(a,59276);$g(59276);Ed(a,67,0);Jd(a,59281);$g(59281);Ed(a,68,0);Jd(a,59286);$g(59286);Ed(a,69,0);Jd(a,59291);$g(59291);Ed(a,70,0);Jd(a,59296);$g(59296);Ed(a,71,0);Jd(a,59301);$g(59301);Ed(a,72,0);Jd(a,63204);$g(63204);Ed(a,73,0);Jd(a,59306);$g(59306);Ed(a,74,0);Jd(a,59310);$g(59310);Ed(a,75,0);Jd(a,59317);$g(59317);Ed(a,76,0);Jd(a,59324);$g(59324);Ed(a,77,0);Jd(a,59331);$g(59331);Ed(a,78,0);Jd(a,59338);$g(59338);Ed(a,79,0);Jd(a,59345);$g(59345);Ed(a,80,-3333);Jd(a,59349);$g(59349);Ed(a,81,-3333);Jd(a,59355);$g(59355);Ed(a,82,-3333);Jd(a,59360);$g(59360);Ed(a,83,-3333);Jd(a,59364);$g(59364);Ed(a,84,-3333);Jd(a,62001);$g(62001);Ed(a,85,-3333);Jd(a,59368);$g(59368);Ed(a,86,-3333);Jd(a,59372);$g(59372);Ed(a,87,-3333);Jd(a,59376);$g(59376);Ed(a,88,-3333);Jd(a,59381);$g(59381);Ed(a,89,-3333);Jd(a,59387);$g(59387);Ed(a,90,-3333);Jd(a,59392);$g(59392);Ed(a,91,-3333);Jd(a,59396);$g(59396);Ed(a,92,-3333);Jd(a,59401);$g(59401);Ed(a,93,-3333);Jd(a,59405);$g(59405);Ed(a,94,-3333);Jd(a,59410);$g(59410);Ed(a,95,-3333);Jd(a,59414);$g(59414);Ed(a,96,-3333);Jd(a,59418);$g(59418);Ed(a,97,-3333);Jd(a,59423);$g(59423);Ed(a,98,-3333);Jd(a,59428);$g(59428);Ed(a,99,-3333);Jd(a,59433);$g(59433);Ed(a,100,-3333);Jd(a,59437);$g(59437);Ed(a,101,0);Jd(a,59441);$g(59441);Ed(a,102,0);Jd(a,59446);$g(59446);Ed(a,103,0);Jd(a,59452);$g(59452);Ed(a,104,-3333);Jd(a,59458);$g(59458);Ed(a,105,-3333);Jd(a,59463);$g(59463);Ed(a,106,-3333);Jd(a,59469);$g(59469);Ed(a,13,0);Jd(a,57135);Ed(a,13,0);Jd(a,57248);$g(57248);Ed(a,25,0);Jd(a,57253);Ed(a,22,0);Jd(a,57235);$g(57235);Ed(a,9,0);Jd(a,59475);$g(59475);Ed(a,27,0);Jd(a,57263);Ed(a,29,0);Jd(a,57276);Ed(a,29,0);Jd(a,57285);Ed(a,30,0);Jd(a,57290);Ed(a,31,0);Jd(a,57295);Ed(a,32,0);Jd(a,57302);Ed(a,26,0);Jd(a,57258);Ed(a,107,0);Jd(a,59480);$g(59480);Ed(a,107,0);Jd(a,59485);Ed(a,24,0);Jd(a,57242);$g(57242);Ed(a,108,0);Jd(a,59487);$g(59487);Ed(a,109,0);Jd(a,59494);$g(59494);Ed(a,110,0);Jd(a,59501);$g(59501);Ed(a,14,0);Jd(a,59510);$g(59510);Ed(a,14,0);Jd(a,57142);Ed(a,111,0);Jd(a,59517);Ed(a,112,0);Jd(a,59523);$g(59523);Ed(a,113,0);Jd(a,59538);$g(59538);Ed(a,114,0);Jd(a,59542);$g(59542);Ed(a,115,0);Jd(a,59547);Ed(a,116,0);Jd(a,59557);$g(59557);Ed(a,117,0);Jd(a,59566);$g(59566);Ed(a,118,0);Jd(a,59571);$g(59571);Ed(a,119,0);Jd(a,59576);$g(59576);Ed(a,120,0);Jd(a,59581);$g(59581);Ed(a,121,0);Jd(a,59585);$g(59585);Ed(a,122,0);Jd(a,59589);$g(59589);Ed(a,123,0);Jd(a,59593);$g(59593);Ed(a,7,0);Jd(a,57082);Ed(a,8,0);Jd(a,57092);Ed(a,124,0);Jd(a,62738);$g(62738);Ed(a,4,0);Jd(a,59599);$g(59599);Ed(a,125,0);Jd(a,59604);$g(59604);Ed(a,126,0);Jd(a,59617);$g(59617);Ed(a,127,0);Jd(a,59630);$g(59630);Ed(a,128,0);Jd(a,59639);$g(59639);Ed(a,129,0);Jd(a,59646);$g(59646);Ed(a,130,0);Jd(a,59653);$g(59653);Ed(a,131,0);Jd(a,59660);$g(59660);Ed(a,132,0);Jd(a,59667);$g(59667);Ed(a,18,0);Jd(a,59676);$g(59676);Ed(a,133,0);Jd(a,59685);$g(59685);Ed(a,134,0);Jd(a,59691);$g(59691);Ed(a,135,0);Jd(a,59700);$g(59700);Ed(a,136,0);Jd(a,59707);$g(59707);Ed(a,17,0);Jd(a,59712);$g(59712);Ed(a,137,0);Jd(a,59719);Ed(a,137,0);Jd(a,59727);Ed(a,138,0);Jd(a,59733);Ed(a,138,0);Jd(a,59743);Ed(a,139,0);Jd(a,59755);Ed(a,140,0);Jd(a,59779);Ed(a,141,0);Jd(a,59795);Ed(a,142,0);Jd(a,59813);Ed(a,143,0);Jd(a,59834);Ed(a,144,0);Jd(a,59843);Ed(a,145,0);Jd(a,59853);Ed(a,6,0);Jd(a,57067);return}function di(a){a=a|0;var b=0;Jg();a=c[759972]|0;if((a|0)==30){Jg();b=c[759972]|0}else b=a;if((b|0)==15){Jg();Jg()}sb();Ik();c[704863]=0;Dm();lg();c[704848]=0;if(c[416527]|0){c[742427]=2;c[742551]=0;c[742550]=0}if(!(c[415606]|0)){mg();return 0}ab(0);sh(c[704861]|0);mg();return 0}function ei(){mg();return 0}function fi(a){a=a|0;var b=0,d=0,e=0,f=0;b=vk(2819376,c[743521]|0,24360)|0;d=((vk(2819376,c[743521]|0,24361)|0)<<8)+b|0;b=vk(2819376,c[743521]|0,24362)|0;e=((vk(2819376,c[743521]|0,24363)|0)<<8)+b|0;b=pd(a,1,0)|0;f=pd(a,2,0)|0;uk(2819376,c[743521]|0,24360,b>>>16&255);uk(2819376,c[743521]|0,24361,b>>24);uk(2819376,c[743521]|0,24362,f>>>16&255);uk(2819376,c[743521]|0,24363,f>>24);yd(a,d<<16);yd(a,e<<16);return 2}function gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[742545]|0;d=c[742546]|0;e=c[742547]|0;f=e-b|0;g=c[742548]|0;h=g-d|0;if((jd(a)|0)>3){i=(pd(a,1,0)|0)>>16;j=(pd(a,2,0)|0)>>16;k=(pd(a,3,0)|0)>>16;l=i;m=j;n=k;o=(pd(a,4,0)|0)>>16}else{l=0;m=0;n=128;o=128}if((jd(a)|0)>4){k=(sd(a,5)|0)==0;c[742545]=l;c[742546]=m;j=l+n|0;c[742547]=j;i=m+o|0;c[742548]=i;if(k){p=l;q=m;r=j;s=i}else{k=(l|0)<(e|0)?l:e;t=(b|0)>(k|0)?b:k;c[742545]=t;k=(m|0)<(g|0)?m:g;u=(d|0)>(k|0)?d:k;c[742546]=u;k=(j|0)<(e|0)?j:e;e=(b|0)>(k|0)?b:k;c[742547]=e;k=(i|0)<(g|0)?i:g;v=e;w=u;x=t;y=(d|0)>(k|0)?d:k;z=7}}else{c[742545]=l;c[742546]=m;k=l+n|0;c[742547]=k;v=k;w=m;x=l;y=m+o|0;z=7}if((z|0)==7){c[742548]=y;p=x;q=w;r=v;s=y}y=(p|0)<128?p:128;p=(y|0)>0?y:0;c[742545]=p;y=(q|0)<128?q:128;q=(y|0)>0?y:0;c[742546]=q;y=(r|0)<128?r:128;r=(y|0)>0?y:0;c[742547]=r;y=(s|0)<128?s:128;s=(y|0)>0?y:0;c[742548]=s;an(c[704852]|0,p,q,r,s);yd(a,b<<16);yd(a,d<<16);yd(a,f<<16);yd(a,h<<16);return 4}function hi(a){a=a|0;var b=0;if((jd(a)|0)>0)b=(pd(a,1,0)|0)>>16;else b=0;c[742551]=0;c[742550]=0;c[742546]=0;c[742545]=0;c[742548]=128;c[742547]=128;hn(c[704852]|0);$m(c[704852]|0,0,0,127,127,b);Vg(1024);return 0}function ii(a){a=a|0;var b=0;a=Fa;Fa=Fa+1040|0;b=a+1024|0;if((c[704867]|0)==0&(c[742428]|0)!=0){Fa=a;return 0}c[b>>2]=2960076;c[b+4>>2]=2961100;vs(a,71619,b)|0;Fa=a;return 0}function ji(a){a=a|0;var b=0,d=0,e=0;a=Fa;Fa=Fa+2064|0;b=a+2048|0;d=a+1024|0;e=a;if((c[704867]|0)==0&(c[742428]|0)!=0){Fa=a;return 0}Nb(2963156,0)|0;eo(2963156,0,d,e);c[b>>2]=d;c[b+4>>2]=e;vs(1509584,60393,b)|0;wg(1509584);Fa=a;return 0}function ki(a){a=a|0;if((c[704867]|0)==0&(c[742428]|0)!=0)return 0;if(!(c[415552]|0)){rm();return 0}else{wg(60361);return 0}return 0}function li(a){a=a|0;if((c[704867]|0)==0&(c[742428]|0)!=0)return 0;ug(60333,14);Fl();sm();Gl();return 0}function mi(a){a=a|0;if((c[704867]|0)==0&(c[742428]|0)!=0)return 0;xl();c[760315]=1;Hk();return 0}function ni(a){a=a|0;if((c[704867]|0)==0&(c[742428]|0)!=0)return 0;wg(60302);return 0}function oi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<2)return 0;e=a+8|0;a=c[e>>2]|0;f=0-d|0;g=a+(f<<3)|0;if((c[a+(f<<3)+4>>2]|0)!=3){f=qd(g)|0;a=c[b>>2]|0;h=f>>16;if((a|0)>1){i=a;j=h;k=6}else{l=c[742549]&255;m=h;n=0}}else{i=d;j=c[g>>2]>>16;k=6}if((k|0)==6){k=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[k+4>>2]|0)==3){o=c[k>>2]|0;p=i}else{i=qd(k)|0;o=i;p=c[b>>2]|0}b=o>>16;if((p|0)>=3){o=(c[e>>2]|0)+(0-p<<3)+24+-8|0;if((c[o+4>>2]|0)==3){p=c[o>>2]|0;o=p>>>16&255;c[742549]=o;if(!((p&268435456|0)==0|(c[742569]|0)!=1)?(e=p>>>8&65536|p&65535,c[742564]=e,(p&33554432|0)!=0):0){c[742564]=e|131072;l=o;m=j;n=b}else{l=o;m=j;n=b}}else{l=0;m=j;n=b}}else{l=c[742549]&255;m=j;n=b}}b=c[2969988+((l&15)<<2)>>2]&15;j=c[742564]|0;if(!(j&262144))q=c[2969988+(l>>>4<<2)>>2]<<4&240|b;else q=c[2970116+(b<<2)>>2]|0;Zj(c[704852]|0,m-(c[742556]|0)|0,n-(c[742557]|0)|0,q,j);return 0}function pi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<2){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)!=3){g=qd(h)|0;a=c[b>>2]|0;b=g>>16;if((a|0)>1){i=a;j=b;k=5}else{l=0;m=b}}else{i=d;j=c[h>>2]>>16;k=5}do if((k|0)==5){h=(c[f>>2]|0)+(0-i<<3)+8|0;if((c[h+4>>2]|0)==3){l=c[h>>2]|0;m=j;break}else{l=qd(h)|0;m=j;break}}while(0);e=(ln(c[704852]|0,m-(c[742556]|0)|0,(l>>16)-(c[742557]|0)|0)|0)<<16&983040;return e|0}function qi(a){a=a|0;var b=0,d=0,e=0;b=c[742549]|0;if(!(jd(a)|0))c[742549]=6;if(((jd(a)|0)>=1?(d=pd(a,1,0)|0,c[742549]=d>>>16&255,!((d&268435456|0)==0|(c[742569]|0)!=1)):0)?(e=d>>>8&65536|d&65535,c[742564]=e,d&33554432|0):0)c[742564]=e|131072;yd(a,b<<16);return 1}function ri(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[742550]|0;d=c[742551]|0;e=c[742549]|0;f=(pd(a,1,0)|0)>>16;g=(pd(a,2,0)|0)>>16;c[742550]=f;c[742551]=g;if(((jd(a)|0)>=3?(g=pd(a,3,0)|0,c[742549]=g>>>16&255,!((g&268435456|0)==0|(c[742569]|0)!=1)):0)?(f=g>>>8&65536|g&65535,c[742564]=f,g&33554432|0):0)c[742564]=f|131072;yd(a,b<<16);yd(a,d<<16);yd(a,e<<16);return 3}function si(a){a=a|0;var b=0,d=0,e=0,f=0;b=Fa;Fa=Fa+16|0;d=b;e=nd(a,1)|0;Vg(2);switch(e|0){case 3:{yd(a,pd(a,1,0)|0);f=1;break}case 4:{c[d>>2]=0;e=pd(a,1,d)|0;if(!(c[d>>2]|0))f=0;else{yd(a,e);f=1}break}default:f=0}Fa=b;return f|0}function ti(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=Fa;Fa=Fa+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=jd(a)|0;l=(pd(a,1,0)|0)>>16;m=(pd(a,2,0)|0)>>16;n=(pd(a,3,0)|0)>>16;if(l>>>0>255){Fa=b;return 0}if((k|0)>3){o=pd(a,4,0)|0;p=pd(a,5,0)|0;if((k|0)>5){k=sd(a,6)|0;q=sd(a,7)|0;r=k;s=p;t=o}else{q=0;r=0;s=p;t=o}}else{q=0;r=0;s=65536;t=65536}o=t>>13;p=s>>13;if((t|0)<8192|(s|0)<8192){Fa=b;return 0}s=(o|0)<128?o:128;o=(p|0)<128?p:128;p=m-(c[742556]|0)|0;m=n-(c[742557]|0)|0;n=c[525004]|0;do if(!n)u=10;else{if((c[n>>2]|0)==(s|0)?(c[n+4>>2]|0)==(o|0):0){v=n;w=s;x=o;break}dn(n)|0;u=10}while(0);if((u|0)==10){u=cn(s,o,8)|0;c[525004]=u;v=u;w=c[u>>2]|0;x=c[u+4>>2]|0}Ep(c[v+12>>2]|0,16,B(x,w)|0);Vj(c[(c[743521]|0)+4>>2]|0,c[525004]|0,l<<3&120,l>>>4<<3,0,0,s,o,r,q,2969988);Xj(c[525004]|0,c[704852]|0,0,0,p,m,s,o);c[d>>2]=s;c[e>>2]=o;c[g>>2]=0;c[h>>2]=0;c[i>>2]=p;c[j>>2]=m;m=0-s|0;if((s|0)<0){c[g>>2]=s;c[d>>2]=m;y=m}else y=s;s=0-o|0;if((o|0)<0){c[h>>2]=o;c[e>>2]=s;z=s}else z=o;c[f>>2]=y;c[f+4>>2]=z;fn(f,c[704852]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=B(d,j)|0;Vg((d|j|0)<0?0:e);Fa=b;return 0}function ui(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;b=Fa;Fa=Fa+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=jd(a)|0;l=(pd(a,1,0)|0)>>16;m=(pd(a,2,0)|0)>>16;n=pd(a,3,0)|0;o=n>>16;p=pd(a,4,0)|0;q=p>>16;r=(pd(a,5,0)|0)>>16;s=(pd(a,6,0)|0)>>16;if((k|0)>6){t=(pd(a,7,0)|0)>>16;u=(pd(a,8,0)|0)>>16;if((k|0)>8){v=sd(a,9)|0;if((k|0)==9){w=0;x=v;y=u;z=t}else{w=sd(a,10)|0;x=v;y=u;z=t}}else{w=0;x=0;y=u;z=t}}else{w=0;x=0;y=q;z=o}if((p+-65536|n+-65536)>>>0>8388607){Fa=b;return 0}if((z|0)==0|(y|0)==0){Fa=b;return 0}n=(z|0)<0;p=r-(c[742556]|0)+(n?z:0)|0;r=n?0-z|0:z;z=n?(x|0)==0&1:x;x=(y|0)<0;n=s-(c[742557]|0)+(x?y:0)|0;s=x?0-y|0:y;y=x?(w|0)==0&1:w;w=c[525003]|0;do if(!w)A=11;else{if((c[w>>2]|0)==(o|0)?(c[w+4>>2]|0)==(q|0):0){C=w;D=o;E=q;break}dn(w)|0;A=11}while(0);if((A|0)==11){A=cn(o,q,8)|0;c[525003]=A;C=A;D=c[A>>2]|0;E=c[A+4>>2]|0}Ep(c[C+12>>2]|0,16,B(E,D)|0);Vj(c[(c[743521]|0)+4>>2]|0,c[525003]|0,l,m,0,0,o,q,z,y,2969988);Wj(c[525003]|0,c[704852]|0,p,n,r,s);c[d>>2]=r;c[e>>2]=s;c[g>>2]=0;c[h>>2]=0;c[i>>2]=p;c[j>>2]=n;n=0-r|0;if((r|0)<0){c[g>>2]=r;c[d>>2]=n;F=n}else F=r;r=0-s|0;if((s|0)<0){c[h>>2]=s;c[e>>2]=r;G=r}else G=s;c[f>>2]=F;c[f+4>>2]=G;fn(f,c[704852]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=B(d,j)|0;Vg((d|j|0)<0?0:e);Fa=b;return 0}function vi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=a+112|0;d=c[b>>2]|0;if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{d=qd(h)|0;i=d;j=c[b>>2]|0}d=i>>16;if((j|0)>1){i=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[i+4>>2]|0)==3){k=c[i>>2]|0;l=j}else{j=qd(i)|0;k=j;l=c[b>>2]|0}j=k>>16;if((l|0)>2){k=(c[e>>2]|0)+(0-l<<3)+16|0;if((c[k+4>>2]|0)==3){m=c[k>>2]|0;n=l}else{l=qd(k)|0;m=l;n=c[b>>2]|0}l=m>>16;if((n|0)>3){m=(c[e>>2]|0)+(0-n<<3)+24|0;if((c[m+4>>2]|0)==3){o=c[m>>2]|0;p=n}else{n=qd(m)|0;o=n;p=c[b>>2]|0}b=o>>16;if((p|0)>=5){o=(c[a+8>>2]|0)+(0-p<<3)+40+-8|0;if((c[o+4>>2]|0)==3){p=c[o>>2]|0;o=p>>>16&255;c[742549]=o;if(!((p&268435456|0)==0|(c[742569]|0)!=1)?(a=p>>>8&65536|p&65535,c[742564]=a,(p&33554432|0)!=0):0){c[742564]=a|131072;q=o;r=b;s=d;t=j;u=l}else{q=o;r=b;s=d;t=j;u=l}}else{q=0;r=b;s=d;t=j;u=l}}else{q=c[742549]&255;r=b;s=d;t=j;u=l}}else{v=l;w=d;x=j;y=17}}else{v=0;w=d;x=j;y=17}}else{v=0;w=d;x=0;y=17}}else{v=0;w=0;x=0;y=17}if((y|0)==17){q=c[742549]&255;r=0;s=w;t=x;u=v}v=c[2969988+((q&15)<<2)>>2]&15;if(!(c[742564]&262144))z=c[2969988+(q>>>4<<2)>>2]<<4&240|v;else z=c[2970116+(v<<2)>>2]|0;v=c[742556]|0;q=s-v|0;s=c[742557]|0;x=t-s|0;t=u-v|0;v=r-s|0;s=_j(c[704852]|0,q,t,x,z)|0;if((v|0)==(x|0))A=s;else A=(_j(c[704852]|0,q,t,v,z)|0)+s|0;s=(v|0)<(x|0);r=s?v:x;u=s?x:v;if((u|0)<=(r|0)){B=A;C=(B|0)/16|0;Vg(C);return 0}v=r+1|0;r=u+-1|0;u=(hk(c[704852]|0,q,v,r,z)|0)+A|0;B=u+(hk(c[704852]|0,t,v,r,z)|0)|0;C=(B|0)/16|0;Vg(C);return 0}function wi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;b=a+112|0;d=c[b>>2]|0;if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{d=qd(h)|0;i=d;j=c[b>>2]|0}d=i>>16;if((j|0)>1){i=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[i+4>>2]|0)==3){k=c[i>>2]|0;l=j}else{j=qd(i)|0;k=j;l=c[b>>2]|0}j=k>>16;if((l|0)>2){k=(c[e>>2]|0)+(0-l<<3)+16|0;if((c[k+4>>2]|0)==3){m=c[k>>2]|0;n=l}else{l=qd(k)|0;m=l;n=c[b>>2]|0}l=m>>16;if((n|0)>3){m=(c[e>>2]|0)+(0-n<<3)+24|0;if((c[m+4>>2]|0)==3){o=c[m>>2]|0;p=n}else{n=qd(m)|0;o=n;p=c[b>>2]|0}b=o>>16;if((p|0)>=5){o=(c[a+8>>2]|0)+(0-p<<3)+40+-8|0;if((c[o+4>>2]|0)==3){p=c[o>>2]|0;o=p>>>16&255;c[742549]=o;if(!((p&268435456|0)==0|(c[742569]|0)!=1)?(a=p>>>8&65536|p&65535,c[742564]=a,(p&33554432|0)!=0):0){c[742564]=a|131072;q=o;r=b;s=d;t=j;u=l}else{q=o;r=b;s=d;t=j;u=l}}else{q=0;r=b;s=d;t=j;u=l}}else{q=c[742549]&255;r=b;s=d;t=j;u=l}}else{v=l;w=d;x=j;y=17}}else{v=0;w=d;x=j;y=17}}else{v=0;w=d;x=0;y=17}}else{v=0;w=0;x=0;y=17}if((y|0)==17){q=c[742549]&255;r=0;s=w;t=x;u=v}v=c[2969988+((q&15)<<2)>>2]&15;if(!(c[742564]&262144))z=c[2969988+(q>>>4<<2)>>2]<<4&240|v;else z=c[2970116+(v<<2)>>2]|0;v=c[742556]|0;q=s-v|0;s=c[742557]|0;x=t-s|0;t=u-v|0;v=r-s|0;s=(t|0)<(q|0);r=s?t:q;u=s?q:t;t=(v|0)<(x|0);q=t?v:x;s=t?x:v;v=c[704852]|0;x=c[v+28>>2]|0;t=(r|0)>(x|0)?r:x;x=(c[v+32>>2]|0)+-1|0;r=(u|0)<(x|0)?u:x;x=c[v+36>>2]|0;u=(q|0)>(x|0)?q:x;x=(c[v+40>>2]|0)+-1|0;q=(s|0)<(x|0)?s:x;if((r|0)<(t|0)|(q|0)<(u|0))return 0;if((r-t|0)<8&(q-u|0)>4){x=hk(v,t,u,q,z)|0;if((r|0)>(t|0)){s=t;w=x;while(1){s=s+1|0;y=(hk(c[704852]|0,s,u,q,z)|0)+w|0;if((s|0)>=(r|0)){A=y;break}else w=y}}else A=x}else{x=_j(v,t,r,u,z)|0;if((q|0)>(u|0)){v=u;u=x;while(1){v=v+1|0;w=(_j(c[704852]|0,t,r,v,z)|0)+u|0;if((v|0)>=(q|0)){A=w;break}else u=w}}else A=x}Vg((A|0)/16|0);return 0}function xi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=jd(b)|0;if((d|0)<2)return 0;e=(pd(b,1,0)|0)>>16;f=(pd(b,2,0)|0)>>16;if((d|0)!=2){d=pd(b,3,0)|0;if((d|0)<0)return 0;else{g=d>>16;h=(a[2998462]&2)==0?0:d>>>15&1}}else{g=4;h=0}d=c[742549]&255;if((jd(b)|0)>=4){i=pd(b,4,0)|0;b=i>>>16&255;c[742549]=b;if(!((i&268435456|0)==0|(c[742569]|0)!=1)?(j=i>>>8&65536|i&65535,c[742564]=j,(i&33554432|0)!=0):0){c[742564]=j|131072;k=b}else k=b}else k=d;d=c[2969988+((k&15)<<2)>>2]&15;if(!(c[742564]&262144))l=c[2969988+(k>>>4<<2)>>2]<<4&240|d;else l=c[2970116+(d<<2)>>2]|0;d=e-(c[742556]|0)|0;e=f-(c[742557]|0)|0;f=g+h|0;Vg((ak(c[704852]|0,d-g|0,e-g|0,f+d|0,f+e|0,l)|0)/2|0);return 0}function yi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=jd(b)|0;if((d|0)<2)return 0;e=(pd(b,1,0)|0)>>16;f=(pd(b,2,0)|0)>>16;do if((d|0)!=2){g=pd(b,3,0)|0;if((g|0)<0)return 0;else{h=g>>>16;i=(a[2998462]&2)==0?0:g>>>15&1;break}}else{h=4;i=0}while(0);d=c[742549]&255;if((jd(b)|0)>=4){g=pd(b,4,0)|0;b=g>>>16&255;c[742549]=b;if(!((g&268435456|0)==0|(c[742569]|0)!=1)?(j=g>>>8&65536|g&65535,c[742564]=j,(g&33554432|0)!=0):0){c[742564]=j|131072;k=b}else k=b}else k=d;d=c[2969988+((k&15)<<2)>>2]&15;if(!(c[742564]&262144))l=c[2969988+(k>>>4<<2)>>2]<<4&240|d;else l=c[2970116+(d<<2)>>2]|0;d=e-(c[742556]|0)|0;e=f-(c[742557]|0)|0;f=i+h|0;Vg((dk(c[704852]|0,d-h|0,e-h|0,f+d|0,f+e|0,l)|0)/16|0);return 0}function zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=(pd(a,1,0)|0)>>16;d=(pd(a,2,0)|0)>>16;e=(pd(a,3,0)|0)>>16;f=(pd(a,4,0)|0)>>16;g=c[742549]&255;if((jd(a)|0)>=5){h=pd(a,5,0)|0;a=h>>>16&255;c[742549]=a;if(!((h&268435456|0)==0|(c[742569]|0)!=1)?(i=h>>>8&65536|h&65535,c[742564]=i,(h&33554432|0)!=0):0){c[742564]=i|131072;j=a}else j=a}else j=g;g=c[2969988+((j&15)<<2)>>2]&15;if(!(c[742564]&262144))k=c[2969988+(j>>>4<<2)>>2]<<4&240|g;else k=c[2970116+(g<<2)>>2]|0;g=c[742556]|0;j=b-g|0;b=c[742557]|0;a=d-b|0;d=e-g|0;g=f-b|0;b=(d|0)<(j|0);f=(g|0)<(a|0);Vg((ak(c[704852]|0,b?d:j,f?g:a,b?j:d,f?a:g,k)|0)/2|0);return 0}function Ai(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=(pd(a,1,0)|0)>>16;d=(pd(a,2,0)|0)>>16;e=(pd(a,3,0)|0)>>16;f=(pd(a,4,0)|0)>>16;g=c[742549]&255;if((jd(a)|0)>=5){h=pd(a,5,0)|0;a=h>>>16&255;c[742549]=a;if(!((h&268435456|0)==0|(c[742569]|0)!=1)?(i=h>>>8&65536|h&65535,c[742564]=i,(h&33554432|0)!=0):0){c[742564]=i|131072;j=a}else j=a}else j=g;g=c[2969988+((j&15)<<2)>>2]&15;if(!(c[742564]&262144))k=c[2969988+(j>>>4<<2)>>2]<<4&240|g;else k=c[2970116+(g<<2)>>2]|0;g=c[742556]|0;j=b-g|0;b=c[742557]|0;a=d-b|0;d=e-g|0;g=f-b|0;b=(d|0)<(j|0);f=(g|0)<(a|0);Vg((dk(c[704852]|0,b?d:j,f?g:a,b?j:d,f?a:g,k)|0)/16|0);return 0}function Bi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=(pd(a,1,0)|0)>>16;d=(pd(a,2,0)|0)>>16;if(!(jd(a)|0)){c[742567]=1;return 0}if((jd(a)|0)==1){c[742567]=1;if((jd(a)|0)<1)return 0;e=pd(a,1,0)|0;c[742549]=e>>>16&255;if((e&268435456|0)==0|(c[742569]|0)!=1)return 0;f=e>>>8&65536|e&65535;c[742564]=f;if(!(e&33554432))return 0;c[742564]=f|131072;return 0}do if((jd(a)|0)<4){if((((jd(a)|0)==3?(jd(a)|0)>=3:0)?(f=pd(a,3,0)|0,c[742549]=f>>>16&255,!((f&268435456|0)==0|(c[742569]|0)!=1)):0)?(e=f>>>8&65536|f&65535,c[742564]=e,f&33554432|0):0)c[742564]=e|131072;if(!(c[742567]&1)){e=c[742565]|0;f=c[742566]|0;c[742565]=b;c[742566]=d;g=f;h=e;break}c[742565]=b;c[742566]=d;c[742567]=0;return 0}else{e=(pd(a,3,0)|0)>>16;f=(pd(a,4,0)|0)>>16;c[742565]=e;c[742566]=f;c[742567]=0;g=f;h=e}while(0);e=c[742549]&255;if((jd(a)|0)>=5){f=pd(a,5,0)|0;a=f>>>16&255;c[742549]=a;if(!((f&268435456|0)==0|(c[742569]|0)!=1)?(i=f>>>8&65536|f&65535,c[742564]=i,(f&33554432|0)!=0):0){c[742564]=i|131072;j=a}else j=a}else j=e;e=c[2969988+((j&15)<<2)>>2]&15;if(!(c[742564]&262144))k=c[2969988+(j>>>4<<2)>>2]<<4&240|e;else k=c[2970116+(e<<2)>>2]|0;e=c[742556]|0;j=b-e|0;b=c[742557]|0;a=d-b|0;d=h-e|0;e=g-b|0;if((j|0)==(d|0)){Vg((hk(c[704852]|0,j,a,e,k)|0)/16|0);return 0}b=c[704852]|0;if((a|0)==(e|0)){Vg((_j(b,j,d,a,k)|0)/16|0);return 0}else{Vg((fk(b,j,a,d,e,k)|0)/2|0);return 0}return 0}function Ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=pd(a,1,0)|0;d=pd(a,2,0)|0;e=pd(a,3,0)|0;f=pd(a,4,0)|0;if((jd(a)|0)>4)g=pd(a,5,0)|0;else g=0;if((jd(a)|0)>5)h=pd(a,6,0)|0;else h=0;if((jd(a)|0)>6)i=pd(a,7,0)|0;else i=8192;if((jd(a)|0)>7)j=pd(a,8,0)|0;else j=0;if((jd(a)|0)>8)k=(pd(a,9,0)|0)>>16;else k=0;a=c[742556]<<16;l=c[742557]<<16;Vg((gk(c[704852]|0,b-a|0,d-l|0,e-a|0,f-l|0,g,h,i,j,k)|0)<<1);return 0}function Di(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=jd(a)|0;d=(b|0)>1;if((nd(a,1)|0)!=5){a:do if(d){e=(pd(a,1,0)|0)>>16;f=pd(a,2,0)|0;g=f>>16;b:do if((b|0)==2)h=e&15;else{i=e&15;switch((pd(a,3,0)|0)>>16|0){case 0:{h=i;break b;break}case 1:break;case 2:{j=2970116+(i<<2)|0;k=c[j>>2]|0;c[j>>2]=g;l=k;break a;break}default:{l=0;break a}}k=2970052+(i<<2)|0;i=c[k>>2]|0;c[k>>2]=g;if(!(f&8388608)){l=i;break a}kb();l=i;break a}while(0);f=2969988+(h<<2)|0;e=c[f>>2]|0;c[f>>2]=e&16|g&15;l=e&-17}else{c[742513]=0;c[742498]=1;c[742514]=1;c[742499]=2;c[742515]=2;c[742500]=3;c[742516]=3;c[742501]=4;c[742517]=4;c[742502]=5;c[742518]=5;c[742503]=6;c[742519]=6;c[742504]=7;c[742520]=7;c[742505]=8;c[742521]=8;c[742506]=9;c[742522]=9;c[742507]=10;c[742523]=10;c[742508]=11;c[742524]=11;c[742509]=12;c[742525]=12;c[742510]=13;c[742526]=13;c[742511]=14;c[742527]=14;c[742512]=15;c[742528]=15;c[742497]=16;l=0}while(0);yd(a,l<<16);m=1;return m|0}if(d)n=(pd(a,2,0)|0)>>16;else n=0;xd(a);if(!(bf(a,1)|0)){m=0;return m|0}switch(n|0){case 0:{do{if((nd(a,-2)|0)==3){d=rd(a,-2,0)|0;l=rd(a,-1,0)|0;h=2969988+((d&15)<<2)|0;c[h>>2]=c[h>>2]&16|l&15}kd(a,-2);Vg(2)}while((bf(a,1)|0)!=0);m=0;return m|0}case 1:{do{if((nd(a,-2)|0)==3?(l=rd(a,-2,0)|0,h=rd(a,-1,0)|0,c[2970052+((l&15)<<2)>>2]=h,h&128|0):0)kb();kd(a,-2);Vg(2)}while((bf(a,1)|0)!=0);m=0;return m|0}default:{h=(n|0)==2;do{if((nd(a,-2)|0)==3?(n=rd(a,-2,0)|0,l=rd(a,-1,0)|0,h):0)c[2970116+((n&15)<<2)>>2]=l;kd(a,-2);Vg(2)}while((bf(a,1)|0)!=0);m=0;return m|0}}return 0}function Ei(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=jd(a)|0;d=c[742497]|0;e=c[742498]|0;f=c[742499]|0;g=c[742500]|0;h=c[742501]|0;i=c[742502]|0;j=c[742503]|0;k=c[742504]|0;l=c[742505]|0;m=c[742506]|0;n=c[742507]|0;o=c[742508]|0;p=c[742509]|0;q=c[742510]|0;r=c[742511]|0;s=c[742512]|0;t=s>>>4&1|(r>>>3&2|(q>>>2&4|(p>>>1&8|(o&16|(n<<1&32|(m<<2&64|(l<<3&128|(k<<4&256|(j<<5&512|(i<<6&1024|(h<<7&2048|(g<<8&4096|(f<<9&8192|(e<<10&16384|d<<11&32768))))))))))))));if(!b){c[742498]=e&15;c[742499]=f&15;c[742500]=g&15;c[742501]=h&15;c[742502]=i&15;c[742503]=j&15;c[742504]=k&15;c[742505]=l&15;c[742506]=m&15;c[742507]=n&15;c[742508]=o&15;c[742509]=p&15;c[742510]=q&15;c[742511]=r&15;c[742512]=s&15;c[742497]=d&15|16;yd(a,t<<16);return 1}d=pd(a,1,0)|0;if((b|0)==1){b=c[742497]&15;c[742497]=(d|0)>-1?b:b|16;c[742498]=d>>>26&16|c[742498]&15;c[742499]=d>>>25&16|c[742499]&15;c[742500]=d>>>24&16|c[742500]&15;c[742501]=d>>>23&16|c[742501]&15;c[742502]=d>>>22&16|c[742502]&15;c[742503]=d>>>21&16|c[742503]&15;c[742504]=d>>>20&16|c[742504]&15;c[742505]=d>>>19&16|c[742505]&15;c[742506]=d>>>18&16|c[742506]&15;c[742507]=d>>>17&16|c[742507]&15;c[742508]=d>>>16&16|c[742508]&15;c[742509]=d>>>15&16|c[742509]&15;c[742510]=d>>>14&16|c[742510]&15;c[742511]=d>>>13&16|c[742511]&15;c[742512]=d>>>12&16|c[742512]&15;Vg(2);yd(a,t<<16);return 1}else{t=sd(a,2)|0;b=2969988+((d>>>16&15)<<2)|0;d=c[b>>2]|0;s=d&15;c[b>>2]=(t|0)==0?s:s|16;Fd(a,d>>>4&1);return 1}return 0}function Fi(a){a=a|0;var b=0,d=0,e=0;b=c[742564]|0;d=b>>>1&32768|b<<16|b>>>3&16384;if(!(jd(a)|0)){e=0;c[742564]=e;yd(a,d);return 1}b=pd(a,1,0)|0;e=b<<1&65536|b>>>16|b<<3&131072|b<<5&262144;c[742564]=e;yd(a,d);return 1}function Gi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;d=Fa;Fa=Fa+80|0;e=d+72|0;f=d+68|0;g=d+16|0;h=d+12|0;i=d+8|0;j=d+4|0;k=d;l=(a[2998462]<<4&255)<<24>>24>>7<<24>>24;m=(pd(b,1,0)|0)>>16;n=(pd(b,2,0)|0)>>16;o=(pd(b,3,0)|0)>>16;p=(pd(b,4,0)|0)>>16;if((jd(b)|0)>4){q=(pd(b,5,0)|0)>>16;r=(pd(b,6,0)|0)>>16;s=q;t=r;u=(pd(b,7,0)|0)>>16}else{s=128;t=32;u=0}if((t|0)<1|(s|0)<1){Fa=d;return 0}b=o-(c[742556]|0)|0;o=p-(c[742557]|0)|0;p=c[743521]|0;r=c[p+8>>2]|0;q=c[p+4>>2]|0;p=c[742545]|0;v=c[742546]|0;if((b|0)<(p+-7|0)){w=(p-b|0)/8|0;x=w+m|0;y=(w<<3)+b|0;z=s-w|0}else{x=m;y=b;z=s}if((o|0)<(v+-7|0)){s=(v-o|0)/8|0;A=s+n|0;C=(s<<3)+o|0;D=t-s|0}else{A=n;C=o;D=t}t=((7-p+(c[742547]|0)|0)/8|0)+1|0;p=(t|0)<(z|0)?t:z;z=((7-v+(c[742548]|0)|0)/8|0)+1|0;v=(z|0)<(D|0)?z:D;if((v|0)>0){D=(p|0)>0;z=(u|0)==0;t=g+4|0;o=0;n=0;while(1){a:do if(D){s=n+A|0;b=(n<<3)+C|0;if(z){m=0;w=o;while(1){E=ln(r,m+x|0,s)|0;if((E|0)==(l|0))F=w;else{G=(m<<3)+y|0;Yj(q,c[704852]|0,E<<3&120,((E|0)/16|0)<<3,G,b,8,8,2969988);c[e>>2]=8;c[f>>2]=8;c[h>>2]=0;c[i>>2]=0;c[j>>2]=G;c[k>>2]=b;c[g>>2]=8;c[t>>2]=8;fn(g,c[704852]|0,h,i,j,k,e,f);G=c[e>>2]|0;E=c[f>>2]|0;H=B(E,G)|0;F=((E|G|0)<0?0:H)+w|0}m=m+1|0;if((m|0)>=(p|0)){I=F;break a}else w=F}}w=0;m=o;while(1){H=ln(r,w+x|0,s)|0;if((H|0)!=(l|0)?(c[(c[743521]|0)+43548+(H<<2)>>2]&u|0)!=0:0){G=(w<<3)+y|0;Yj(q,c[704852]|0,H<<3&120,((H|0)/16|0)<<3,G,b,8,8,2969988);c[e>>2]=8;c[f>>2]=8;c[h>>2]=0;c[i>>2]=0;c[j>>2]=G;c[k>>2]=b;c[g>>2]=8;c[t>>2]=8;fn(g,c[704852]|0,h,i,j,k,e,f);G=c[e>>2]|0;H=c[f>>2]|0;E=B(H,G)|0;J=((H|G|0)<0?0:E)+m|0}else J=m;w=w+1|0;if((w|0)>=(p|0)){I=J;break}else m=J}}else I=o;while(0);n=n+1|0;if((n|0)>=(v|0)){K=I;break}else o=I}}else K=0;Vg(K);Fa=d;return 0}function Hi(a){a=a|0;var b=0,d=0;b=(pd(a,1,0)|0)>>16;d=(pd(a,2,0)|0)>>16;yd(a,(ln(c[(c[743521]|0)+8>>2]|0,b,d)|0)<<16);return 1}function Ii(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=pd(b,1,0)|0;e=d>>16;f=pd(b,2,0)|0;g=f>>16;h=pd(b,3,0)|0;b=h>>>16;en(c[(c[743521]|0)+8>>2]|0,e,g,b&255);if(!(d>>>0<8388608&(f&-2097152|0)==2097152))return 0;f=(g<<7)+e|0;e=f>>6;g=f<<1&126;a[(c[(c[(c[(c[743521]|0)+4>>2]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=b&15;a[(c[(c[(c[(c[743521]|0)+4>>2]|0)+16>>2]|0)+(e<<2)>>2]|0)+(g|1)>>0]=h>>>20&15;return 0}function Ji(a){a=a|0;var b=0,d=0,e=0,f=0;if(!(jd(a)|0)){b=0;return b|0}d=pd(a,1,0)|0;e=d>>16;if((jd(a)|0)==1){yd(a,c[(c[743521]|0)+43548+(e<<2)>>2]<<16&16711680);b=1;return b|0}f=pd(a,2,0)|0;if(d>>>0>16777215){Fd(a,0);b=1;return b|0}if(f>>>0>524287){Fd(a,0);b=1;return b|0}else{Fd(a,(c[(c[743521]|0)+43548+(e<<2)>>2]&1<<(f>>16)|0)!=0&1);b=1;return b|0}return 0}function Ki(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=jd(a)|0;if((b|0)<2)return 0;d=pd(a,1,0)|0;e=d>>16;f=pd(a,2,0)|0;g=f>>16;if(d>>>0>16777215)return 0;if((b|0)==2){c[(c[743521]|0)+43548+(e<<2)>>2]=g&255;return 0}b=sd(a,3)|0;if(f>>>0>524287)return 0;f=1<<g;g=(c[743521]|0)+43548+(e<<2)|0;e=(f&255^255)&c[g>>2];c[g>>2]=e;if(!b)return 0;c[g>>2]=e|f;return 0}function Li(a){a=a|0;var b=0,d=0;b=(pd(a,1,0)|0)>>16;d=(pd(a,2,0)|0)>>16;yd(a,(ln(c[(c[743521]|0)+4>>2]|0,b,d)|0)<<16&983040);return 1}function Mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[742549]|0;d=pd(a,1,0)|0;e=pd(a,2,0)|0;if((jd(a)|0)>2)f=(pd(a,3,0)|0)>>16;else f=b;b=f&15;if((e|0)>8388607|((d|0)>8388607|(e|d|0)<0))return 0;f=(e>>16<<6)+((d>>16|0)/2|0)|0;e=vk(2819376,c[743521]|0,f)|0;if(!(d&65536))g=e&240|b;else g=e&15|b<<4;uk(2819376,c[743521]|0,f,g);return 0}function Ni(a){a=a|0;var b=0,d=0,e=0,f=0;if((c[742428]|0)==0&(c[525571]|0)!=0){tq(0,0);wq();c[525571]=0}b=c[743521]|0;d=(pd(a,1,0)|0)>>16;if((jd(a)|0)>1)e=(pd(a,2,0)|0)>>16;else e=0;if((jd(a)|0)>2)f=(pd(a,3,0)|0)>>16;else f=0;if((d|0)==-1){tq(0,e);Vg(16);return 0}else{a=(d|0)<63?d:63;nq(b,(a|0)>0?a:0,e);c[742905]=f;Vg(16);return 0}return 0}function Oi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[742428]|0)==0&(c[525571]|0)!=0){tq(0,0);wq();c[525571]=0}if((jd(a)|0)<1)return 0;b=pd(a,1,0)|0;d=b>>16;if((jd(a)|0)>1){e=pd(a,2,0)|0;if((e+131072|0)>>>0>393215)return 0;else f=e>>16}else f=-1;if((jd(a)|0)>2)g=(pd(a,3,0)|0)>>16;else g=0;if((jd(a)|0)>3)h=(pd(a,4,0)|0)>>16;else h=0;switch(d|0){case -1:{fq(0,0,0,c[743521]|0,f)|0;return 0}case -2:{lq(f);return 0}default:{if((f|0)!=-2){a=(d|0)<63?d:63;e=(a|0)>0?a:0;a=(g|0)<31?g:31;hq((c[743521]|0)+12+(e*660|0)|0);g=c[743521]|0;fq(g+12+(e*660|0)|0,(a|0)>0?a:0,h,g,f)|0;Vg(16);return 0}if(b>>>0>=4194304)return 0;hq((c[743521]|0)+12+(d*660|0)|0);return 0}}return 0}function Pi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=(pd(a,1,0)|0)>>16;if((jd(a)|0)==2?(nd(a,2)|0)==4:0){c=td(a,2,0)|0;if(!c){d=0;return d|0}Bm(b,c);d=0;return d|0}c=(pd(a,2,0)|0)>>16;e=(pd(a,3,0)|0)>>13;if((jd(a)|0)>3){f=pd(a,4,0)|0;if((f|0)>65535){g=f>>16;h=7}else i=0}else{g=1;h=7}if((h|0)==7){h=0;f=0;while(1){j=(Am(b,c,e)|0)+f|0;h=h+1|0;if((h|0)==(g|0)){i=j;break}else f=j}}Vg((i|0)/64|0);yd(a,i<<13);d=1;return d|0}function Qi(a){a=a|0;var b=0,d=0,e=0;b=(pd(a,1,0)|0)>>16;d=(pd(a,2,0)|0)>>16;e=pd(a,3,0)|0;a=e>>16;if((e|0)<65536|(b|0)==(d|0))return 0;xk(2819376,c[743521]|0,b,d,a);Vg((a+1|0)/2|0);return 0}function Ri(a){a=a|0;var b=0,d=0,e=0;b=pd(a,1,0)|0;d=pd(a,2,0)|0;e=pd(a,3,0)|0;a=e>>16;if((e|0)<65536)return 0;yk(2819376,c[743521]|0,b>>16,d>>16,a);Vg((a+1|0)/4|0);return 0}function Si(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=Fa;Fa=Fa+1056|0;e=d+1040|0;f=d+1032|0;g=d+1024|0;h=d+1048|0;i=d;if((jd(b)|0)>2){j=(pd(b,1,0)|0)>>16;k=(pd(b,2,0)|0)>>16;l=(pd(b,3,0)|0)>>16;m=j;n=l;o=k;p=((l|0)<4096?l:4096)<<3}else{m=0;n=17152;o=0;p=32768}Vg(p);if((jd(b)|0)==4?(nd(b,4)|0)==4:0){p=td(b,4,h)|0;if((a[p>>0]|0)==95?(a[p+1>>0]|0)==95:0){yd(b,0);Fa=d;return 1}a[i>>0]=0;if(!(ac(p,1)|0)){gr(60157,i);pt(i,(a[p>>0]|0)==47?p+1|0:p)|0}else{Lm(i,Rb(ac(p,1)|0)|0)|0;h=Yn(i,71765)|0;if(!h){c[g>>2]=i;vs(1504976,60201,g)|0;Pm(1504976);c[f>>2]=p;vs(1504976,60238,f)|0;Pm(1504976);Lm(i,p)|0}Zn(h)}c[e>>2]=n;c[e+4>>2]=i;vs(1504976,60269,e)|0;Pm(1504976);if(!(Ub(i,m,o,n)|0)){yd(b,n<<16);Fa=d;return 1}else{yd(b,0);Fa=d;return 1}}zk(2819376,c[743521]|0,m,o,n);yd(b,n<<16);Fa=d;return 1}function Ti(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Fa;Fa=Fa+1040|0;e=d+1024|0;f=d;g=d+1032|0;if((jd(b)|0)>2){h=(pd(b,1,0)|0)>>16;i=(pd(b,2,0)|0)>>16;j=(pd(b,3,0)|0)>>16;k=h;l=i;m=j;n=((j|0)<4096?j:4096)<<6}else{k=0;l=0;m=17152;n=262144}Vg(n);do if((jd(b)|0)>3?(nd(b,4)|0)==4:0){n=td(b,4,g)|0;if((ft(n)|0)>>>0>511){yd(b,0);Fa=d;return 1}if((a[n>>0]|0)==95?(a[n+1>>0]|0)==95:0){yd(b,0);Fa=d;return 1}if(!(ac(n,1)|0)){gr(60157,f);pt(f,(a[n>>0]|0)==47?n+1|0:n)|0;o=0;p=0;break}else{Lm(f,Rb(ac(n,1)|0)|0)|0;o=0;p=1;break}}else q=13;while(0);if((q|0)==13){Lm(f,Rb(2964180)|0)|0;o=1;p=1}c[e>>2]=m;c[e+4>>2]=f;vs(1504976,60165,e)|0;Pm(1504976);if(!(Vb(f,k,l,m,o,p)|0)){yd(b,m<<16);Fa=d;return 1}else{yd(b,0);Fa=d;return 1}return 0}function Ui(a){a=a|0;var b=0,c=0;if((nd(a,1)|0)==5){yd(a,((Vk((vd(a,1)|0)<<8)|0)>>>8<<16)+65536|0);Hd(a,-2);Vg(4);return 1}if((jd(a)|0)>0)b=pd(a,1,0)|0;else b=65536;c=Vk(b)|0;Vg(4);yd(a,c);return 1}function Vi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=qd(f)|0;break}}else g=0;while(0);Uk(g&2147483647);return 0}function Wi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;c[524978]=(c[524978]|0)-b;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=qd(f)|0;break}}else g=0;while(0);return g+65535&-65536|0}function Xi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=qd(f)|0;break}}else g=0;while(0);return g>>31&-131072|65536|0}function Yi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;if((b|0)<=0){d=0;return d|0}e=c[a+8>>2]|0;f=0-b|0;b=e+(f<<3)|0;if((c[e+(f<<3)+4>>2]|0)==3)g=c[b>>2]|0;else g=qd(b)|0;if((g|0)!=-2147483648)return ((g|0)<0?0-g|0:g)|0;yd(a,2147483647);d=1;return d|0}function Zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{d=qd(h)|0;i=d;j=c[b>>2]|0}do if((j|0)>1){d=(c[f>>2]|0)+(0-j<<3)+8|0;if((c[d+4>>2]|0)==3){k=c[d>>2]|0;l=j}else{h=qd(d)|0;k=h;l=c[b>>2]|0}if((l|0)>2){h=(c[f>>2]|0)+(0-l<<3)+16|0;if((c[h+4>>2]|0)==3){m=k;n=c[h>>2]|0;break}else{m=k;n=qd(h)|0;break}}else{m=k;n=0}}else{m=0;n=0}while(0);k=(i|0)<(m|0);l=(i|0)<(n|0);if(k&l){e=(m|0)<(n|0)?m:n;return e|0}if(!((m|0)<(i|0)&(m|0)<(n|0)))return (k?i:m)|0;e=l?i:n;return e|0}function _i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=qd(f)|0;break}}else g=0;while(0);return Co(g)|0}function $i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=qd(f)|0;break}}else g=0;while(0);return Do(g)|0}function aj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;Vg(6);b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=qd(f)|0;break}}else g=0;while(0);return Qk(g)|0}function bj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=qd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=qd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return Rk(l,k)|0}function cj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+112>>2]|0;c[524978]=(c[524978]|0)-b;if((b|0)<=0){d=0;e=~d;return e|0}f=c[a+8>>2]|0;a=0-b|0;b=f+(a<<3)|0;if((c[f+(a<<3)+4>>2]|0)==3){d=c[b>>2]|0;e=~d;return e|0}else{d=qd(b)|0;e=~d;return e|0}return 0}function dj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+112>>2]|0;c[524978]=(c[524978]|0)-b;if((b|0)<=0){d=0;e=d&-65536;return e|0}f=c[a+8>>2]|0;a=0-b|0;b=f+(a<<3)|0;if((c[f+(a<<3)+4>>2]|0)==3){d=c[b>>2]|0;e=d&-65536;return e|0}else{d=qd(b)|0;e=d&-65536;return e|0}return 0}function ej(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;if((d|0)<=0){e=0;f=0;g=e&f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=c[j>>2]|0;l=d}else{d=qd(j)|0;k=d;l=c[b>>2]|0}if((l|0)<=1){e=0;f=k;g=e&f;return g|0}b=(c[h>>2]|0)+(0-l<<3)+8|0;if((c[b+4>>2]|0)==3){e=c[b>>2]|0;f=k;g=e&f;return g|0}else{e=qd(b)|0;f=k;g=e&f;return g|0}return 0}function fj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;if((d|0)<=0){e=0;f=0;g=e|f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=c[j>>2]|0;l=d}else{d=qd(j)|0;k=d;l=c[b>>2]|0}if((l|0)<=1){e=0;f=k;g=e|f;return g|0}b=(c[h>>2]|0)+(0-l<<3)+8|0;if((c[b+4>>2]|0)==3){e=c[b>>2]|0;f=k;g=e|f;return g|0}else{e=qd(b)|0;f=k;g=e|f;return g|0}return 0}function gj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;if((d|0)<=0){e=0;f=0;g=e^f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=c[j>>2]|0;l=d}else{d=qd(j)|0;k=d;l=c[b>>2]|0}if((l|0)<=1){e=0;f=k;g=e^f;return g|0}b=(c[h>>2]|0)+(0-l<<3)+8|0;if((c[b+4>>2]|0)==3){e=c[b>>2]|0;f=k;g=e^f;return g|0}else{e=qd(b)|0;f=k;g=e^f;return g|0}return 0}function hj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=qd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=qd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return Zk(l,k)|0}function ij(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=qd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=qd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return _k(l,k)|0}function jj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=qd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=qd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return Yk(l,k)|0}function kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=qd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=qd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return Wk(l,k)|0}function lj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=qd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=qd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return Xk(l,k)|0}function mj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{d=qd(h)|0;i=d;j=c[b>>2]|0}do if((j|0)>1){d=(c[f>>2]|0)+(0-j<<3)+8|0;if((c[d+4>>2]|0)==3){k=c[d>>2]|0;l=j;break}else{h=qd(d)|0;k=h;l=c[b>>2]|0;break}}else{k=0;l=j}while(0);if((i|0)<(k|0)){if((l|0)<=0){e=0;return e|0}k=c[f>>2]|0;i=0-l|0;j=k+(i<<3)|0;if((c[k+(i<<3)+4>>2]|0)==3){e=c[j>>2]|0;return e|0}else{e=qd(j)|0;return e|0}}else{if((l|0)<=1){e=0;return e|0}j=(c[f>>2]|0)+(0-l<<3)+8|0;if((c[j+4>>2]|0)==3){e=c[j>>2]|0;return e|0}else{e=qd(j)|0;return e|0}}return 0}function nj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{d=qd(h)|0;i=d;j=c[b>>2]|0}do if((j|0)>1){d=(c[f>>2]|0)+(0-j<<3)+8|0;if((c[d+4>>2]|0)==3){k=c[d>>2]|0;l=j;break}else{h=qd(d)|0;k=h;l=c[b>>2]|0;break}}else{k=0;l=j}while(0);if((i|0)>(k|0)){if((l|0)<=0){e=0;return e|0}k=c[f>>2]|0;i=0-l|0;j=k+(i<<3)|0;if((c[k+(i<<3)+4>>2]|0)==3){e=c[j>>2]|0;return e|0}else{e=qd(j)|0;return e|0}}else{if((l|0)<=1){e=0;return e|0}j=(c[f>>2]|0)+(0-l<<3)+8|0;if((c[j+4>>2]|0)==3){e=c[j>>2]|0;return e|0}else{e=qd(j)|0;return e|0}}return 0}function oj(a){a=a|0;var b=0,d=0,e=0,f=0;if((jd(a)|0)>0)c[524978]=(c[524978]|0)+-2;if((jd(a)|0)>1){b=pd(a,2,0)|0;d=b>>16;if((b|0)<536870912)if((b|0)<0|(d|0)==0){e=0;return e|0}else f=d;else f=8192}else f=1;d=(pd(a,1,0)|0)>>16;if(!(gc(a,f)|0)){yb(60135)|0;e=0;return e|0}if((f|0)<=0){e=f;return e|0}b=0;do{yd(a,(vk(2819376,c[743521]|0,b+d|0)|0)<<16);b=b+1|0}while((b|0)!=(f|0));e=f;return e|0}function pj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((jd(a)|0)>0)c[524978]=(c[524978]|0)+-2;if((jd(a)|0)>1){b=pd(a,2,0)|0;d=b>>16;if((b|0)<536870912)if((b|0)<0|(d|0)==0){e=0;return e|0}else f=d;else f=8192}else f=1;d=(pd(a,1,0)|0)>>16;if(!(gc(a,f)|0)){yb(60135)|0;e=0;return e|0}if((f|0)<=0){e=f;return e|0}b=0;do{g=(b<<1)+d|0;h=(vk(2819376,c[743521]|0,g)|0)<<16;yd(a,((vk(2819376,c[743521]|0,g+1|0)|0)<<24)+h|0);b=b+1|0}while((b|0)!=(f|0));e=f;return e|0}function qj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if((jd(a)|0)>0)c[524978]=(c[524978]|0)+-2;if((jd(a)|0)>1){b=pd(a,2,0)|0;d=b>>16;if((b|0)<536870912)if((b|0)<0|(d|0)==0){e=0;return e|0}else f=d;else f=8192}else f=1;d=(pd(a,1,0)|0)>>16;if(!(gc(a,f)|0)){yb(60135)|0;e=0;return e|0}if((f|0)<=0){e=f;return e|0}b=0;do{g=(b<<2)+d|0;h=vk(2819376,c[743521]|0,g)|0;i=((vk(2819376,c[743521]|0,g+1|0)|0)<<8)+h|0;h=i+((vk(2819376,c[743521]|0,g+2|0)|0)<<16)|0;yd(a,h+((vk(2819376,c[743521]|0,g+3|0)|0)<<24)|0);b=b+1|0}while((b|0)!=(f|0));e=f;return e|0}function rj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b+112|0;e=c[d>>2]|0;if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=e}else{g=qd(h)|0;i=g;j=c[d>>2]|0}g=i>>16;if((j|0)>1){c[524978]=(c[524978]|0)+-2;k=g;l=j}else{k=g;l=j}}else{k=0;l=e}e=b+8|0;b=0;j=l;do{l=b;b=b+1|0;do if((j|0)>(b|0)){g=(c[e>>2]|0)+(0-j<<3)+(b<<3)|0;if((c[g+4>>2]|0)==3){m=c[g>>2]|0;break}else{m=qd(g)|0;break}}else m=0;while(0);g=m>>16;i=l+k|0;if((i&-8192|0)==24576){h=i+-24576|0;f=h>>6;n=h<<1&126;a[(c[(c[(c[704852]|0)+16>>2]|0)+(f<<2)>>2]|0)+n>>0]=g&15;a[(c[(c[(c[704852]|0)+16>>2]|0)+(f<<2)>>2]|0)+(n|1)>>0]=m>>>20&15}else uk(2819376,c[743521]|0,i,g);j=c[d>>2]|0;g=(j|0)<8193?j+-1|0:8192}while(b>>>0<((g|0)>1?g:1)>>>0);return 0}function sj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=b+112|0;e=c[d>>2]|0;if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=e}else{g=qd(h)|0;i=g;j=c[d>>2]|0}g=i>>16;if((j|0)>1){c[524978]=(c[524978]|0)+-2;k=g;l=j}else{k=g;l=j}}else{k=0;l=e}e=b+8|0;b=0;j=l;do{l=b;b=b+1|0;do if((j|0)>(b|0)){g=(c[e>>2]|0)+(0-j<<3)+(b<<3)|0;if((c[g+4>>2]|0)==3){m=c[g>>2]|0;break}else{m=qd(g)|0;break}}else m=0;while(0);g=m>>16;i=(l<<1)+k|0;if((i+-24576|0)>>>0<8191){h=(c[(c[704852]|0)+12>>2]|0)+((i<<1)+-49152)|0;a[h>>0]=g&15;f=h+1|0;a[f>>0]=g>>>4&15;h=f+1|0;a[h>>0]=g>>>8&15;a[h+1>>0]=g>>>12&15}else{uk(2819376,c[743521]|0,i,g&255);uk(2819376,c[743521]|0,i+1|0,g>>>8&255)}j=c[d>>2]|0;g=(j|0)<8193?j+-1|0:8192}while(b>>>0<((g|0)>1?g:1)>>>0);return 0}
  7557. function Sa(a){a=a|0;var b=0;b=Fa;Fa=Fa+a|0;Fa=Fa+15&-16;return b|0}function Ta(){return Fa|0}function Ua(a){a=a|0;Fa=a}function Va(a,b){a=a|0;b=b|0;Fa=a;Ga=b}function Wa(){return c[(c[(c[c[704870]>>2]|0)+16>>2]|0)+12>>2]|0}function Xa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[742551]=(c[742551]|0)-a;b=128-a|0;d=c[704852]|0;if((b|0)>0){e=0;f=d;while(1){Oo(f,f,0,e+a|0,0,e,128,1);e=e+1|0;g=c[704852]|0;if((e|0)==(b|0)){h=b;i=g;break}else f=g}}else{h=0;i=d}$m(i,0,h,127,127,0);Vg(65536);return}function Ya(){var a=0,b=0;a=(c[742551]|0)+(c[742555]|0)|0;c[742551]=a;if((a|0)<=122)return;c[742551]=a+-6;a=0;b=c[704852]|0;do{Oo(b,b,0,a+6|0,0,a,128,1);a=a+1|0;b=c[704852]|0}while((a|0)!=122);$m(b,0,122,127,127,0);Vg(65536);return}function Za(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=Fa;Fa=Fa+224|0;d=b+208|0;e=b+200|0;f=b+192|0;g=b+184|0;h=b+176|0;i=b+168|0;j=b+160|0;k=b+152|0;l=b+144|0;m=b+136|0;n=b+128|0;o=b+120|0;p=b+112|0;q=b+104|0;r=b+96|0;s=b+88|0;t=b+80|0;u=b+72|0;v=b+64|0;w=b+8|0;x=b;y=b+212|0;if(!(ts(a,35736,9)|0))bo(a+10|0,2960076)|0;if(!(ts(a,35746,10)|0))bo(a+11|0,2962124)|0;if(!(ts(a,35757,14)|0)){c[x>>2]=1662220;Vt(a+14|0,35772,x)|0}if(!(ts(a,35776,11)|0)){c[w>>2]=1662256;c[w+4>>2]=1662260;c[w+8>>2]=1662264;c[w+12>>2]=1662268;c[w+16>>2]=1662272;c[w+20>>2]=1662276;c[w+24>>2]=1662280;c[w+28>>2]=1662284;c[w+32>>2]=1662288;c[w+36>>2]=1662292;c[w+40>>2]=1662296;c[w+44>>2]=1662300;c[w+48>>2]=1662304;Vt(a+11|0,35788,w)|0}if(!(ts(a,35828,10)|0)){c[v>>2]=1662384;Vt(a+10|0,35772,v)|0}if(!(ts(a,35839,11)|0)){c[u>>2]=1662412;Vt(a+11|0,35772,u)|0}if(!(ts(a,49212,7)|0)){c[t>>2]=1662416;Vt(a+7|0,35772,t)|0}if((ts(a,61771,6)|0)==0?(c[s>>2]=2062524,Vt(a+6|0,35772,s)|0,c[525853]|0):0)c[525853]=c[515631];if(!(ts(a,35851,9)|0)){c[r>>2]=1662428;Vt(a+9|0,35772,r)|0}if(!(ts(a,49599,16)|0)){c[q>>2]=1662400;Vt(a+16|0,35772,q)|0}if(!(ts(a,49500,9)|0)){c[p>>2]=1662404;Vt(a+9|0,35772,p)|0}if(!(ts(a,35861,12)|0)){c[o>>2]=1662444;Vt(a+12|0,35772,o)|0}if(!(ts(a,35874,20)|0)){c[n>>2]=2061964;Vt(a+20|0,35772,n)|0}if(!(ts(a,35895,22)|0)){c[m>>2]=2061968;Vt(a+22|0,35772,m)|0}if(!(ts(a,35918,14)|0)){c[l>>2]=y;Vt(a+14|0,35772,l)|0;c[415613]=(c[y>>2]|0)==2&1}if(!(ts(a,48923,13)|0)){c[k>>2]=1662452;Vt(a+13|0,35772,k)|0}if(!(ts(a,49705,9)|0)){c[j>>2]=1662388;Vt(a+9|0,35772,j)|0}if(!(ts(a,35933,9)|0)){c[i>>2]=1662392;Vt(a+9|0,35772,i)|0}if(!(ts(a,35943,19)|0)){c[h>>2]=1662244;Vt(a+19|0,35772,h)|0}if(!(ts(a,35963,19)|0)){c[g>>2]=1662240;Vt(a+19|0,35772,g)|0}if(!(ts(a,35983,22)|0)){c[f>>2]=1662248;Vt(a+22|0,35772,f)|0}if(!(ts(a,36006,11)|0)){c[e>>2]=1662436;Vt(a+11|0,35772,e)|0}if(ts(a,36018,14)|0){Fa=b;return 0}c[d>>2]=1662396;Vt(a+14|0,35772,d)|0;Fa=b;return 0}function _a(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;b=Fa;Fa=Fa+256|0;d=b+248|0;e=b+240|0;f=b+232|0;g=b+224|0;h=b+216|0;i=b+208|0;j=b+200|0;k=b+192|0;l=b+184|0;m=b+176|0;n=b+168|0;o=b+160|0;p=b+152|0;q=b+144|0;r=b+136|0;s=b+128|0;t=b+120|0;u=b+112|0;v=b+104|0;w=b+96|0;x=b+88|0;y=b+80|0;z=b+72|0;A=b+64|0;B=b+56|0;C=b+48|0;D=b+40|0;E=b+32|0;F=b+24|0;G=b+16|0;H=b+8|0;I=b;J=a+8|0;a=c[J>>2]|0;c[I>>2]=36046;bu(a,36033,I)|0;ku(36053,25,1,c[J>>2]|0)|0;I=c[J>>2]|0;c[H>>2]=c[515631];bu(I,36079,H)|0;ku(36091,37,1,c[J>>2]|0)|0;H=c[J>>2]|0;c[G>>2]=2960076;bu(H,36129,G)|0;ku(36144,36,1,c[J>>2]|0)|0;G=c[J>>2]|0;c[F>>2]=2962124;bu(G,36181,F)|0;ku(36197,65,1,c[J>>2]|0)|0;F=c[J>>2]|0;c[E>>2]=c[415555];bu(F,36263,E)|0;ku(36283,70,1,c[J>>2]|0)|0;ku(36354,12,1,c[J>>2]|0)|0;E=c[J>>2]|0;c[D>>2]=c[415564];bu(E,36367,D)|0;D=c[J>>2]|0;c[C>>2]=c[415565];bu(D,36367,C)|0;C=c[J>>2]|0;c[B>>2]=c[415566];bu(C,36367,B)|0;B=c[J>>2]|0;c[A>>2]=c[415567];bu(B,36367,A)|0;A=c[J>>2]|0;c[z>>2]=c[415568];bu(A,36367,z)|0;z=c[J>>2]|0;c[y>>2]=c[415569];bu(z,36367,y)|0;y=c[J>>2]|0;c[x>>2]=c[415570];bu(y,36367,x)|0;x=c[J>>2]|0;c[w>>2]=c[415571];bu(x,36367,w)|0;w=c[J>>2]|0;c[v>>2]=c[415572];bu(w,36367,v)|0;v=c[J>>2]|0;c[u>>2]=c[415573];bu(v,36367,u)|0;u=c[J>>2]|0;c[t>>2]=c[415574];bu(u,36367,t)|0;t=c[J>>2]|0;c[s>>2]=c[415575];bu(t,36367,s)|0;s=c[J>>2]|0;c[r>>2]=c[415576];bu(s,36367,r)|0;ku(36371,2,1,c[J>>2]|0)|0;ku(36374,52,1,c[J>>2]|0)|0;r=c[J>>2]|0;c[q>>2]=c[415596];bu(r,36427,q)|0;ku(36443,70,1,c[J>>2]|0)|0;q=c[J>>2]|0;c[p>>2]=c[415603];bu(q,36514,p)|0;ku(36531,125,1,c[J>>2]|0)|0;p=c[J>>2]|0;c[o>>2]=c[415607];bu(p,36657,o)|0;ku(36672,52,1,c[J>>2]|0)|0;o=c[J>>2]|0;c[n>>2]=c[415600];bu(o,36725,n)|0;n=c[J>>2]|0;c[m>>2]=c[415601];bu(n,36746,m)|0;ku(36761,68,1,c[J>>2]|0)|0;m=c[J>>2]|0;c[l>>2]=c[415604];bu(m,36830,l)|0;ku(36843,101,1,c[J>>2]|0)|0;l=c[J>>2]|0;c[k>>2]=c[415605];bu(l,36945,k)|0;ku(36965,104,1,c[J>>2]|0)|0;k=c[J>>2]|0;c[j>>2]=c[515492];bu(k,37070,j)|0;ku(37098,28,1,c[J>>2]|0)|0;ku(37127,68,1,c[J>>2]|0)|0;j=c[J>>2]|0;c[i>>2]=c[415613];bu(j,37196,i)|0;ku(37215,36,1,c[J>>2]|0)|0;i=c[J>>2]|0;c[h>>2]=c[415597];bu(i,37252,h)|0;ku(37267,59,1,c[J>>2]|0)|0;h=c[J>>2]|0;c[g>>2]=c[415598];bu(h,37327,g)|0;ku(37342,109,1,c[J>>2]|0)|0;g=c[J>>2]|0;c[f>>2]=c[415561];bu(g,37452,f)|0;ku(37477,53,1,c[J>>2]|0)|0;f=c[J>>2]|0;c[e>>2]=c[415560];bu(f,37531,e)|0;ku(37556,90,1,c[J>>2]|0)|0;e=c[J>>2]|0;c[d>>2]=c[415562];bu(e,37647,d)|0;if(!(c[415599]|0)){Fa=b;return 0}ku(37675,18,1,c[J>>2]|0)|0;Fa=b;return 0}function $a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;b=Fa;Fa=Fa+32|0;f=b+16|0;g=b+8|0;h=b;c[516419]=0;if(c[516413]|0){su(41052)|0;Fa=b;return}_b();c[h>>2]=2963156;c[h+4>>2]=1661168;xu(37776,h)|0;h=Ip(e)|0;Qn(d,1,e,h)|0;c[g>>2]=e;xu(37879,g)|0;c[h+20>>2]=0;g=Jb(h)|0;Zn(h);if(!g){c[415621]=-1;Fa=b;return}do if(eu(1661168,37894)|0){h=eu(1661168,37912)|0;if(!h){Lm(2963156,37917)|0;break}else{Lm(2963156,h+4|0)|0;break}}else co(1661168,0,2963156,0,1);while(0);h=2963156+(ft(2963156)|0)|0;e=h;a[e>>0]=46;a[e+1>>0]=112;a[e+2>>0]=56;a[e+3>>0]=46;e=h+4|0;a[e>>0]=112;a[e+1>>0]=110;a[e+2>>0]=103;a[e+3>>0]=0;c[f>>2]=2963156;c[f+4>>2]=1661168;xu(37943,f)|0;Pb(g,2963156);$b(g,2963156);c[742422]=0;c[742549]=6;if(!(c[415552]|0)){c[742427]=1;Fa=b;return}else{c[742551]=(c[742551]|0)+-6;c[742549]=6;wg(38006);wg(3042456);ab(0);Fa=b;return}}function ab(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Fa;Fa=Fa+64|0;f=e;g=c[2819412+(((c[742428]|0)==0?0:b)<<2)>>2]|0;b=c[704861]|0;c[742563]=1;c[f>>2]=vk(2819376,c[743521]|0,24416)|0;c[f+4>>2]=vk(2819376,c[743521]|0,24417)|0;c[f+8>>2]=vk(2819376,c[743521]|0,24418)|0;c[f+12>>2]=vk(2819376,c[743521]|0,24419)|0;c[f+16>>2]=vk(2819376,c[743521]|0,24420)|0;c[f+20>>2]=vk(2819376,c[743521]|0,24421)|0;c[f+24>>2]=vk(2819376,c[743521]|0,24422)|0;c[f+28>>2]=vk(2819376,c[743521]|0,24423)|0;c[f+32>>2]=vk(2819376,c[743521]|0,24424)|0;c[f+36>>2]=vk(2819376,c[743521]|0,24425)|0;c[f+40>>2]=vk(2819376,c[743521]|0,24426)|0;c[f+44>>2]=vk(2819376,c[743521]|0,24427)|0;c[f+48>>2]=vk(2819376,c[743521]|0,24428)|0;c[f+52>>2]=vk(2819376,c[743521]|0,24429)|0;c[f+56>>2]=vk(2819376,c[743521]|0,24430)|0;c[f+60>>2]=vk(2819376,c[743521]|0,24431)|0;h=vk(2819376,c[743521]|0,24415)|0;a:do if((h|0)==16){i=g+12|0;j=b+12|0;k=0;do{l=((vk(2819376,c[743521]|0,(k>>>3)+24432|0)|0)&1<<(k&7)|0)==0;m=l?2970052:f;l=k<<7;n=l+128|0;o=l;do{a[(c[j>>2]|0)+o>>0]=c[m+((a[(c[i>>2]|0)+o>>0]&15)<<2)>>2]&143;o=o+1|0}while(o>>>0<n>>>0);k=k+1|0}while((k|0)!=128);if(!(c[515893]|0))c[515893]=(_q()|0)+150}else{if((h|0)==32&(c[742559]|0)==1){k=g+12|0;i=b+12|0;j=0;n=64;while(1){o=j<<7;if(o>>>0<(o|64)>>>0){m=o;do{o=c[k>>2]|0;a[(c[i>>2]|0)+m>>0]=c[((a[o+(m+64)>>0]|0)==0?2970052:f)+((a[o+m>>0]&15)<<2)>>2]&143;m=m+1|0}while((m|0)!=(n|0))}j=j+1|0;if((j|0)==128)break;else n=n+128|0}if(c[515893]|0)break;c[515893]=(_q()|0)+150;break}n=g+12|0;if((h&-16|0)!=48){j=b+12|0;i=0;while(1){a[(c[j>>2]|0)+i>>0]=c[2970052+((a[(c[n>>2]|0)+i>>0]&15)<<2)>>2]&143;i=i+1|0;if((i|0)==16384)break a}}i=h+-48|0;j=b+12|0;k=0;do{m=k>>>3;o=((vk(2819376,c[743521]|0,m+24432|0)|0)&1<<(k&7)|0)==0;l=k<<7;p=l+128|0;q=f+((o?m:m+1&15)<<2)|0;m=l;do{l=d[(c[n>>2]|0)+m>>0]|0;a[(c[j>>2]|0)+m>>0]=c[((i|0)==(l|0)?q:2970052+((l&15)<<2)|0)>>2]&143;m=m+1|0}while(m>>>0<p>>>0);k=k+1|0}while((k|0)!=128);if(!(c[515893]|0))c[515893]=(_q()|0)+150}while(0);if(!((c[742422]|0)==1&(c[742428]|0)!=0)){Fa=e;return}jb(b,c[742559]|0);Fa=e;return}function bb(a){a=a|0;c[516419]=0;if(!(c[742428]|0)){xg(38030,0,0);c[415621]=-2;return}else{Lm(2061972,38030)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;c[415621]=-2;return}}function cb(a,b){a=a|0;b=b|0;Lm(2061972,a)|0;c[515557]=_q()|0;c[515558]=b+400+(_q()|0);c[515559]=15;return}function db(){var b=0,d=0,e=0,f=0,g=0,h=0;_b();if(!(ka(0)|0))return;b=ka(1)|0;d=(b|0)>0;e=d?((b|0)<16?b:16):0;b=e<<15;f=Fp(b)|0;if((e|0)>0){g=0;do{a[f+g>>0]=ka(2)|0;g=g+1|0}while((g|0)<(b|0))}b=yr()|0;Ib(b,f);c[b+44576>>2]=32;la(3,0)|0;a[72032]=0;g=0;do{h=ka(4)|0;a[72032+g>>0]=h;g=g+1|0;a[72032+g>>0]=0}while((h|0)!=0&g>>>0<1023);Pb(b,72032);if(d){d=0;do{b=yr()|0;Ib(b,f+(d<<15)|0);c[b+44576>>2]=32;la(3,d|0)|0;a[72032]=0;g=0;do{h=ka(4)|0;a[72032+g>>0]=h;g=g+1|0;a[72032+g>>0]=0}while((h|0)!=0&g>>>0<1023);$b(b,72032);zr(b);d=d+1|0}while((d|0)<(e|0))}c[742422]=0;c[742427]=1;return}function eb(){if(!(a[1661168]|0)){c[516419]=0;Pm(38216);c[415553]=0;db();return}else{c[516419]=1;Pm(38197);c[415553]=1;oa(1661168,0,1,1);return}}function fb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=Fa;Fa=Fa+16|0;f=e;g=e+4|0;Yu(2065680,0,34180)|0;if((b|0)<=1){Fa=e;return}h=0;i=1;a:while(1){j=d+(i<<2)|0;k=c[j>>2]|0;l=a[k>>0]|0;switch(l<<24>>24){case 62:case 124:case 38:{m=44;break a;break}default:{}}b:do if((h|0)!=17&l<<24>>24==45){n=k+1|0;o=(Xs(n,38244)|0)==0;if(!(Xs(n,57235)|0)){c[415549]=1;p=0}else p=o?4:-1;if(!(Xs(n,38253)|0)){c[415563]=1;q=0}else q=p;if(!(Xs(n,38264)|0)){c[415551]=1;c[415550]=1;r=0}else r=q;if((Xs(n,38292)|0)!=0?(o=(Xs(n,38280)|0)==0,s=(Xs(n,38270)|0)==0,t=(Xs(n,49500)|0)==0,u=(Xs(n,49599)|0)==0,v=(Xs(n,35851)|0)==0,w=(Xs(n,49212)|0)==0,(Xs(n,38294)|0)!=0):0)x=o?11:s?10:t?9:u?8:v?7:w?6:r;else{c[704867]=1;c[415549]=1;c[525889]=1;x=0}w=(Xs(n,38299)|0)==0;v=w|(Xs(n,38305)|0)==0;w=(Xs(n,48923)|0)==0;u=(Xs(n,35736)|0)==0;t=(Xs(n,35746)|0)==0;s=(Xs(n,38307)|0)==0;o=(Xs(n,57295)|0)==0;y=(Xs(n,61771)|0)==0;z=(Xs(n,38321)|0)==0;A=(Xs(n,38330)|0)==0;B=(Xs(n,38341)|0)==0;C=(Xs(n,49304)|0)==0;D=(Xs(n,38352)|0)==0;E=(Xs(n,38354)|0)==0;F=E?25:D?24:C?22:B?21:A?20:z?19:y?18:o?17:s?16:t?15:u?14:w?13:v?12:x}else{c[g>>2]=0;c[f>>2]=g;Vt(k,63440,f)|0;do switch(h|0){case 0:{if(!(a[1661168]|0)){Yu(1661168,0,1024)|0;Lm(1661168,c[j>>2]|0)|0;F=0;break b}else{Lm(2065684+(c[516420]<<10)|0,c[j>>2]|0)|0;c[516420]=(c[516420]|0)+1;F=0;break b}break}case 4:{c[415555]=c[g>>2];F=0;break b;break}case 6:{c[415604]=c[g>>2];F=0;break b;break}case 7:{c[415607]=c[g>>2];F=0;break b;break}case 8:{c[415600]=c[g>>2];F=0;break b;break}case 9:{c[415601]=c[g>>2];F=0;break b;break}case 10:{c[415608]=c[g>>2];F=0;break b;break}case 11:{c[515484]=c[g>>2];F=0;break b;break}case 12:{nu(2972669,c[j>>2]|0,1024)|0;F=0;break b;break}case 13:{c[415613]=c[g>>2];F=0;break b;break}case 14:{bo(c[j>>2]|0,2960076)|0;F=0;break b;break}case 15:{bo(c[j>>2]|0,2962124)|0;F=0;break b;break}case 16:{c[415554]=c[g>>2];F=0;break b;break}case 17:{nu(2062532,c[j>>2]|0,1023)|0;c[525889]=1;F=0;break b;break}case 18:{v=c[g>>2]|0;w=(v|0)<256?v:256;v=(w|0)>0?w:0;c[515631]=v;if(!(c[525853]|0)){F=0;break b}c[525853]=v;F=0;break b;break}case 19:{c[515892]=c[g>>2];F=0;break b;break}case 20:{c[515894]=c[g>>2];F=0;break b;break}case 21:{c[515895]=c[g>>2];F=0;break b;break}case 22:{c[415605]=c[g>>2];F=0;break b;break}case 23:{nu(2102356,c[j>>2]|0,1023)|0;F=0;break b;break}default:{if(!((h|0)!=24|(c[516417]|0)!=0)){c[516417]=Jt(c[j>>2]|0,63774)|0;F=0;break b}if((h|0)!=25|(c[516418]|0)!=0){F=0;break b}c[516418]=Jt(c[j>>2]|0,71945)|0;F=0;break b}}while(0)}while(0);i=i+1|0;if((i|0)>=(b|0)){m=44;break}else h=F}if((m|0)==44){Fa=e;return}}function gb(){var a=0;c[515890]=0;c[742422]=2;c[704844]=-15;Cg();Eg();wg(3042456);c[742549]=7;Zm(c[704852]|0);Zm(c[704861]|0);mn(c[(c[18328]|0)+4>>2]|0,2,2,5,5,7);mn(c[(c[18328]|0)+4>>2]|0,5,2,2,5,7);a=Ca(0)|0;Uk((_q()|0)+a|0);wq();tq(0,0);c[525571]=0;c[515893]=0;if(!(xn()|0))return;do yn()|0;while((xn()|0)!=0);return}function hb(){Yu(3039944,0,480)|0;c[760091]=2;c[760022]=0;c[760092]=5;c[759990]=1;c[760009]=8;c[760010]=0;c[740018]=0;c[415557]=0;c[515487]=1;return}function ib(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=Fa;Fa=Fa+2912|0;f=e+2904|0;g=e+2896|0;h=e+2888|0;i=e+2880|0;j=e+2872|0;k=e+2864|0;l=e+2048|0;m=e+1024|0;n=e;Yu(1661168,0,404508)|0;nk();c[415602]=0;c[415604]=8;c[415600]=3;c[415608]=-1;c[415611]=1;c[515491]=1;c[515492]=1;c[415613]=0;c[415597]=1;c[415562]=1;c[415561]=0;c[415560]=0;c[415601]=2;ka(5)|0;Km(39538);Mn(2);Nn(3);Ep(2819376,0,222480);Nm()|0;fb(b,d);bq(1);if((c[525847]|0)<32|(c[525848]|0)<32){c[525847]=580;c[525848]=540}if(!((a[2960076]|0)!=0?(d=Hq(2960076,61978,l,-1)|0,Jq(l)|0,!(d|0)):0))gr(39545,2960076);if(!((a[2962124]|0)!=0?(d=Hq(2962124,61978,l,-1)|0,Jq(l)|0,!(d|0)):0))gr(39552,2962124);Yu(3039944,0,480)|0;c[760091]=2;c[760022]=0;c[760092]=5;c[759990]=1;c[760009]=8;c[760010]=0;c[740018]=0;c[415557]=0;c[515487]=1;c[743521]=yr()|0;hr(39559,m);hr(39569,m);if(c[704867]|0){c[k>>2]=1661168;xu(39578,k)|0}k=Xn(m)|0;c[704868]=k;if(!k){c[j>>2]=m;xu(39591,j)|0;va(0)}j=c[c[k>>2]>>2]|0;c[j+20>>2]=0;c[704869]=Ar(j)|0;j=c[(c[c[704868]>>2]|0)+4>>2]|0;c[j+20>>2]=0;c[704870]=Un(3042456,j)|0;j=c[(c[c[704868]>>2]|0)+8>>2]|0;c[j+20>>2]=0;k=Un(3042456,j)|0;c[704871]=k;if(c[415599]|0){j=(c[(c[k>>2]|0)+152>>2]|0)+16|0;k=c[c[j>>2]>>2]|0;d=a[k>>0]|0;a[k>>0]=a[k+2>>0]|0;a[(c[c[j>>2]>>2]|0)+2>>0]=d;d=c[(c[j>>2]|0)+4>>2]|0;k=a[d>>0]|0;a[d>>0]=a[d+2>>0]|0;a[(c[(c[j>>2]|0)+4>>2]|0)+2>>0]=k;k=c[(c[j>>2]|0)+8>>2]|0;d=a[k>>0]|0;a[k>>0]=a[k+2>>0]|0;a[(c[(c[j>>2]|0)+8>>2]|0)+2>>0]=d;d=c[(c[j>>2]|0)+12>>2]|0;k=a[d>>0]|0;a[d>>0]=a[d+2>>0]|0;a[(c[(c[j>>2]|0)+12>>2]|0)+2>>0]=k;k=c[(c[j>>2]|0)+16>>2]|0;d=a[k>>0]|0;a[k>>0]=a[k+2>>0]|0;a[(c[(c[j>>2]|0)+16>>2]|0)+2>>0]=d}Mm(62079);Mm(c[(c[(c[c[704870]>>2]|0)+16>>2]|0)+12>>2]|0);do if(!(c[515892]|0)){d=c[515894]|0;j=c[515895]|0;if((d|0)>1|(j|0)>1){k=(d|0)<8?d:8;d=(j|0)<8?j:8;yq((k|0)<1?128:k<<7,(d|0)<1?128:d<<7,8,256)|0;break}else{yq(128,128,8,256)|0;break}}else yq(144,136,8,256)|0;while(0);zq(c[(c[c[704870]>>2]|0)+4>>2]|0);c[704852]=cn(128,128,8)|0;c[704853]=cn(128,128,8)|0;c[704854]=cn(128,128,8)|0;c[704855]=cn(128,128,8)|0;c[704856]=cn(128,128,8)|0;c[704852]=c[704853];c[704861]=cn(128,128,8)|0;c[515625]=cn(128,128,8)|0;c[728247]=$k(128,128)|0;c[728248]=$k(128,128)|0;d=0;do{c[2912996+(d<<2)>>2]=$k(8,32)|0;d=d+1|0}while((d|0)!=64);c[704872]=cn(1,1,8)|0;c[704873]=cn(8,8,8)|0;Yu(73056,0,260)|0;c[18328]=yr()|0;gb();d=Er(0,65538)|0;c[74e4]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740001]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740002]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740003]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740004]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740005]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740006]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740007]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740008]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740009]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740010]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740011]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740012]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740013]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740014]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740015]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;c[740016]=c[74e4];c[i>>2]=2960076;c[i+4>>2]=39044;vs(2963156,71619,i)|0;i=0;do{if(!(Kq(2963156)|0))break;i=i+1|0;c[h>>2]=i;vs(l,39056,h)|0;c[g>>2]=2960076;c[g+4>>2]=l;vs(2963156,71619,g)|0}while(i>>>0<1e3);Eb(c[18328]|0,2964180);$p(22050,1)|0;c[525872]=1;ka(6)|0;do if(!((c[704867]|0)==0&(a[2062532]|0)==0)){fo(1661168,m);i=(Tb(m)|0)==0;c[415548]=i&1;if(!i){c[f>>2]=1661168;xu(39609,f)|0;va(1)}if(!(a[2062532]|0)){c[742422]=0;c[742427]=1;break}else{c[704867]=1;Lm(n,2960076)|0;Lm(2960076,39628)|0;Lm(2961100,3042456)|0;Lm(2960076,n)|0;va(0)}}while(0);c[415614]=0;if(ka(7)|0)c[415614]=1;if(!(ka(8)|0)){Fa=e;return}c[415614]=3;Fa=e;return}function jb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&-65;d=e|2;if((d|0)==3){f=b+16|0;g=0;do{h=127;while(1){i=c[(c[f>>2]|0)+(g<<2)>>2]|0;a[i+h>>0]=a[i+(h>>>1)>>0]|0;if(!h)break;else h=h+-1|0}g=g+1|0}while((g|0)!=128)}g=e|1;if((g|0)==3){f=b+16|0;h=127;while(1){i=h>>>1;j=0;do{k=c[f>>2]|0;a[(c[k+(h<<2)>>2]|0)+j>>0]=a[(c[k+(i<<2)>>2]|0)+j>>0]|0;j=j+1|0}while((j|0)!=128);if(!h)break;else h=h+-1|0}}if((d|0)==7){h=b+16|0;f=0;do{j=0;do{i=c[(c[h>>2]|0)+(f<<2)>>2]|0;a[i+(127-j)>>0]=a[i+j>>0]|0;j=j+1|0}while((j|0)!=64);f=f+1|0}while((f|0)!=128)}if((g|0)==7){f=b+16|0;h=0;do{j=127-h|0;i=0;do{k=c[f>>2]|0;a[(c[k+(j<<2)>>2]|0)+i>>0]=a[(c[k+(h<<2)>>2]|0)+i>>0]|0;i=i+1|0}while((i|0)!=128);h=h+1|0}while((h|0)!=64)}h=(e|0)==134;if(h|(g|0)==131){g=b+16|0;f=0;do{i=127-f|0;j=0;do{k=c[g>>2]|0;l=(c[k+(f<<2)>>2]|0)+j|0;m=a[l>>0]|0;a[l>>0]=a[(c[k+(i<<2)>>2]|0)+j>>0]|0;a[(c[(c[g>>2]|0)+(i<<2)>>2]|0)+j>>0]=m;j=j+1|0}while((j|0)!=128);f=f+1|0}while((f|0)!=64)}if(h|(d|0)==131){d=b+16|0;h=0;do{f=0;do{g=c[(c[d>>2]|0)+(h<<2)>>2]|0;j=g+f|0;i=a[j>>0]|0;m=127-f|0;a[j>>0]=a[g+m>>0]|0;a[(c[(c[d>>2]|0)+(h<<2)>>2]|0)+m>>0]=i;f=f+1|0}while((f|0)!=64);h=h+1|0}while((h|0)!=128)}switch(e|0){case 133:{e=b+16|0;h=0;do{d=127-h|0;f=0;do{i=c[e>>2]|0;m=(c[i+(h<<2)>>2]|0)+f|0;g=a[m>>0]|0;j=127-f|0;a[m>>0]=a[(c[i+(j<<2)>>2]|0)+h>>0]|0;i=c[e>>2]|0;a[(c[i+(j<<2)>>2]|0)+h>>0]=a[(c[i+(d<<2)>>2]|0)+j>>0]|0;i=c[e>>2]|0;a[(c[i+(d<<2)>>2]|0)+j>>0]=a[(c[i+(f<<2)>>2]|0)+d>>0]|0;a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+d>>0]=g;f=f+1|0}while((f|0)!=64);h=h+1|0}while((h|0)!=64);return}case 135:{h=b+16|0;b=0;do{e=127-b|0;f=0;do{d=c[h>>2]|0;g=(c[d+(b<<2)>>2]|0)+f|0;i=a[g>>0]|0;a[g>>0]=a[(c[d+(f<<2)>>2]|0)+e>>0]|0;d=c[h>>2]|0;g=127-f|0;a[(c[d+(f<<2)>>2]|0)+e>>0]=a[(c[d+(e<<2)>>2]|0)+g>>0]|0;d=c[h>>2]|0;a[(c[d+(e<<2)>>2]|0)+g>>0]=a[(c[d+(g<<2)>>2]|0)+b>>0]|0;a[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+b>>0]=i;f=f+1|0}while((f|0)!=64);b=b+1|0}while((b|0)!=64);return}default:return}}function kb(){if(c[515893]|0)return;c[515893]=(_q()|0)+150;return}function lb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;switch(c[416456]|0){case 2:{Al(a);return}case 3:{Dl(a);return}default:{b=(c[18541]|0)==7?22:0;d=((c[416457]<<3)+8|0)/2|0;e=b+d|0;ek(a,23,63-d+b|0,104,e+64|0,1);f=64-d+b|0;gn(a,24,f,103,e+63|0,7);e=f+6|0;if((c[18541]|0)==7){ek(a,10,25,118,55,1);gn(a,11,26,117,54,7);Ln(a,39809,c[704871]|0,22,34,1,7)|0;Ln(a,39831,c[704871]|0,20,42,1,7)|0;if((Co((_q()|0)*50|0)|0)<-1999)g=0;else g=(Co((_q()|0)*50|0)|0)/2e3|0;bn(c[(c[c[704870]>>2]|0)+((((g|0)/4|0|0)%10|0)+212<<2)>>2]|0,a,0,0,g+63|0,59,10,10);if((Co(((_q()|0)*50|0)+32768|0)|0)<-1999)h=0;else h=(Co(((_q()|0)*50|0)+32768|0)|0)/2e3|0;bn(c[(c[c[704870]>>2]|0)+((((h|0)/4|0|0)%10|0)+212<<2)>>2]|0,a,0,0,56-h|0,59,10,10)}if((c[416457]|0)<=0)return;h=0;g=e;while(1){Ln(a,74096+(h*72|0)|0,c[704871]|0,(h|0)==(c[416458]|0)?35:34,g,1,7)|0;if((h|0)==(c[416458]|0))bn(c[(c[c[704870]>>2]|0)+980>>2]|0,a,0,0,25,g+-1|0,7,7);do if((c[74096+(h*72|0)+68>>2]|0)==2){e=(Pl(2966616,2967640)|0)==0;f=c[(c[c[704870]>>2]|0)+752>>2]|0;b=g+-1|0;if(e){nn(f,a,0,0,74,b,7,7,13,0);break}else{bn(f,a,0,0,74,b,7,7);break}}while(0);h=h+1|0;if((h|0)>=(c[416457]|0))break;else g=g+8|0}return}}}function mb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;e=c[524965]|0;if(!e){f=cn(128,128,8)|0;c[524965]=f;g=f}else g=e;e=b+4|0;Oo(b,g,0,0,0,0,c[b>>2]|0,c[e>>2]|0);Zm(b);Oo(g,b,0,0,((c[b>>2]|0)+-128|0)/2|0,((c[e>>2]|0)+-128|0)/2|0,128,128);f=c[c[704870]>>2]|0;h=c[f+996>>2]|0;i=c[f+4>>2]|0;a[i+765>>0]=73;a[i+766>>0]=51;a[i+767>>0]=59;f=g+16|0;g=0;do{j=c[f>>2]|0;k=g<<1;l=c[j+(k<<2)>>2]|0;m=0;n=0;o=0;p=0;q=0;do{r=d[l+m>>0]|0;s=d[i+(r*3|0)>>0]|0;t=d[i+(r*3|0)+1>>0]|0;u=d[i+(r*3|0)+2>>0]|0;r=80-m+s+t+u|0;q=r+q|0;n=(B(r,s)|0)+n|0;o=(B(r,t)|0)+o|0;p=(B(r,u)|0)+p|0;m=m+1|0}while((m|0)!=64);m=c[j+((k|1)<<2)>>2]|0;l=0;u=n;r=o;t=p;s=q;do{v=d[m+l>>0]|0;w=d[i+(v*3|0)>>0]|0;x=d[i+(v*3|0)+1>>0]|0;y=d[i+(v*3|0)+2>>0]|0;v=80-l+w+x+y|0;s=v+s|0;u=(B(v,w)|0)+u|0;r=(B(v,x)|0)+r|0;t=(B(v,y)|0)+t|0;l=l+1|0}while((l|0)!=64);l=g+16|0;a[i+(l*3|0)>>0]=(u|0)/(s|0)|0;a[i+(l*3|0)+1>>0]=(r|0)/(s|0)|0;a[i+(l*3|0)+2>>0]=(t|0)/(s|0)|0;g=g+1|0}while((g|0)!=64);g=0;do{l=c[f>>2]|0;m=g<<1;q=c[l+(m<<2)>>2]|0;p=0;o=0;n=0;k=0;j=0;do{y=d[q+(127-p)>>0]|0;v=d[i+(y*3|0)>>0]|0;x=d[i+(y*3|0)+1>>0]|0;w=d[i+(y*3|0)+2>>0]|0;y=80-p+v+x+w|0;j=y+j|0;o=(B(y,v)|0)+o|0;n=(B(y,x)|0)+n|0;k=(B(y,w)|0)+k|0;p=p+1|0}while((p|0)!=64);p=c[l+((m|1)<<2)>>2]|0;q=0;s=o;t=n;r=k;u=j;do{w=d[p+(127-q)>>0]|0;y=d[i+(w*3|0)>>0]|0;x=d[i+(w*3|0)+1>>0]|0;v=d[i+(w*3|0)+2>>0]|0;w=80-q+y+x+v|0;u=w+u|0;s=(B(w,y)|0)+s|0;t=(B(w,x)|0)+t|0;r=(B(w,v)|0)+r|0;q=q+1|0}while((q|0)!=64);q=g+144|0;a[i+(q*3|0)>>0]=(s|0)/(u|0)|0;a[i+(q*3|0)+1>>0]=(t|0)/(u|0)|0;a[i+(q*3|0)+2>>0]=(r|0)/(u|0)|0;g=g+1|0}while((g|0)!=64);g=0;do{f=g<<7&128|16;q=0;do{p=q+f|0;j=q+-1|0;k=((j|0)>0?j:0)+f|0;q=q+1|0;j=(q>>>0<63?q:63)+f|0;n=i+(p*3|0)|0;a[n>>0]=(((d[n>>0]|0)*6|0)+(d[i+(k*3|0)>>0]|0)+(d[i+(j*3|0)>>0]|0)|0)>>>3;n=i+(p*3|0)+1|0;a[n>>0]=(((d[n>>0]|0)*6|0)+(d[i+(k*3|0)+1>>0]|0)+(d[i+(j*3|0)+1>>0]|0)|0)>>>3;n=i+(p*3|0)+2|0;a[n>>0]=(((d[n>>0]|0)*6|0)+(d[i+(k*3|0)+2>>0]|0)+(d[i+(j*3|0)+2>>0]|0)|0)>>>3}while((q|0)!=64);g=g+1|0}while((g|0)!=256);g=h+4|0;q=0;do{f=q+16|0;u=(ln(h,1,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>16;r=(ln(h,1,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>8;t=ln(h,1,(B(c[g>>2]|0,q)|0)/64|0)|0;s=i+(f*3|0)|0;a[s>>0]=u+(((d[s>>0]|0)/5|0)&255);s=i+(f*3|0)+1|0;a[s>>0]=r+(((d[s>>0]|0)/5|0)&255);s=i+(f*3|0)+2|0;a[s>>0]=t+(((d[s>>0]|0)/5|0)&255);q=q+1|0}while((q|0)!=64);q=0;do{s=q+144|0;t=(ln(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>16;f=(ln(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>8;r=ln(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,q)|0)/64|0)|0;u=i+(s*3|0)|0;a[u>>0]=t+(((d[u>>0]|0)/5|0)&255);u=i+(s*3|0)+1|0;a[u>>0]=f+(((d[u>>0]|0)/5|0)&255);u=i+(s*3|0)+2|0;a[u>>0]=r+(((d[u>>0]|0)/5|0)&255);q=q+1|0}while((q|0)!=64);zq(i);i=c[e>>2]|0;if((i|0)<=0){en(b,0,0,255);z=c[b>>2]|0;A=z+-1|0;en(b,A,0,255);C=c[e>>2]|0;D=C+-1|0;en(b,0,D,255);E=c[b>>2]|0;F=E+-1|0;G=c[e>>2]|0;H=G+-1|0;en(b,F,H,255);return}q=0;g=i;do{i=(q<<6|0)/(g|0)|0;mn(b,0,q,2,q,i+16|0);h=c[b>>2]|0;mn(b,h+-3|0,q,h+-1|0,q,i+144|0);q=q+1|0;g=c[e>>2]|0}while((q|0)<(g|0));en(b,0,0,255);z=c[b>>2]|0;A=z+-1|0;en(b,A,0,255);C=c[e>>2]|0;D=C+-1|0;en(b,0,D,255);E=c[b>>2]|0;F=E+-1|0;G=c[e>>2]|0;H=G+-1|0;en(b,F,H,255);return}function nb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=b+16|0;b=(((_q()|0)/4e3|0)*101|0)+10201|0;f=0;g=0;while(1){h=a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+g>>0]|0;i=h&255;j=B(f+1001|0,b)|0;if(!(f&2)){k=0;while(1){l=c[(c[e>>2]|0)+(f<<2)>>2]|0;if((k|0)==127){m=i;n=128}else{o=k+1|0;m=d[l+o>>0]|0;n=o}o=(k&6|0)==0?((B(j,k+1103|0)|0)%19|0|0)!=0:0;a[l+k>>0]=o?((m&15|0)==0?1:m^128):m;if((n|0)==128)break;else k=n}}else{k=0;do{j=c[(c[e>>2]|0)+(f<<2)>>2]|0;i=k;k=k+1|0;a[j+i>>0]=a[j+k>>0]|0}while((k|0)!=127);a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+k>>0]=h}f=f+2|0;if(f>>>0>=128)break;else g=128}return}function ob(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=Fa;Fa=Fa+16|0;e=b;f=b+12|0;g=b+8|0;h=b+4|0;i=c[704853]|0;a[2062240]=0;c[515626]=_q()|0;if(c[742427]|0){Fa=b;return}Zm(c[704835]|0);j=c[760315]|0;do if((j|0)!=0&(c[742422]|0)==0){if((j|0)==1){Al(i);k=c[760315]|0}else k=j}else if(c[742423]|0){$m(i,0,0,128,128,5);if((c[742423]|0)==1){l=c[415607]|0;if(l>>>0<2){$m(i,0,0,128,128,1);m=c[415607]|0}else m=l;if((m|0)==2){$m(i,0,0,128,128,0);n=c[415607]|0}else n=m;if((n|0)==3)$m(i,0,0,128,128,5)}$m(i,0,0,128,7,8);$m(i,0,121,128,127,8);Gn(7,0);fr(f,g,h);if(!(c[h>>2]|0))c[760105]=-1;l=c[760107]|0;do if((l|0)==89){o=Hn(In()|0)|0;if(((o|0?(c[o+12>>2]|0)<20:0)?(c[o+16>>2]|0)<20:0)?c[o+20>>2]&1|0:0){o=(c[h>>2]|0)==0?93:94;c[760107]=o;p=o;break}q=c[760107]|0;r=24}else{q=l;r=24}while(0);if((r|0)==24)if(!q)break;else p=q;l=c[(c[c[704870]>>2]|0)+(p<<2)>>2]|0;o=c[l>>2]|0;s=c[l+4>>2]|0;bn(l,i,0,0,(c[f>>2]|0)-((o|0)/2|0)|0,(c[g>>2]|0)-((s|0)/2|0)|0,o,s);if((c[760105]|0)!=-1){s=c[f>>2]|0;o=c[g>>2]|0;$m(i,s+6|0,o+4|0,s+14|0,o+10|0,7);c[e>>2]=c[760105];vs(1509584,39854,e)|0;Ln(i,1509584,c[704871]|0,(c[f>>2]|0)+7|0,(c[g>>2]|0)+5|0,1,14)|0}}while(0);if(!((c[415618]|0)!=0&(c[742428]|0)==0&(c[742422]|0)==1)){if(!(c[416459]|c[742430]|c[704863]))ab(0)}else Oo(i,c[704861]|0,0,0,0,0,128,128);i=c[704835]|0;Oo(c[704861]|0,i,0,0,0,0,128,128);if(c[416459]|c[416456]|0)lb(i);a:do if((c[742430]|0)>0|(c[742431]|0)>140?(c[742422]|0)==1&(c[742428]|0)!=0:0){do if(!((c[415618]|0)>0|(c[516419]|0)!=0)){if(c[515558]|0?(Xs(2061972,61962)|0)==0:0)break;g=c[760317]|0;f=(g|0)/2|0;if((g|0)>-2)t=f;else t=12-((0-f|0)%12|0)|0;bn(c[(c[c[704870]>>2]|0)+(((t|0)%12|0)+212<<2)>>2]|0,i,0,0,3,3,12,12);break a}while(0);f=c[760317]|0;g=(f|0)/2|0;if((f|0)>-2)u=g;else u=16-((0-g|0)%16|0)|0;bn(c[(c[c[704870]>>2]|0)+(((u|0)%16|0)+229<<2)>>2]|0,i,0,0,3,3,12,12)}while(0);Oo(c[704835]|0,c[515625]|0,0,0,0,0,128,128);i=_q()|0;do if((i|0)<(c[515558]|0)){u=_q()|0;t=c[515557]|0;g=u-t|0;f=(c[515558]|0)-u|0;u=(t|0)==0?0:(f|0)<200?(200-f|0)/20|0:(g|0)<200?(200-g|0)/20|0:0;if(!(Xs(2061972,59890)|0)){gn(c[704835]|0,0,u+119|0,101,u+127|0,0);$m(c[704835]|0,1,u+120|0,100,u+126|0,6);Ln(c[704835]|0,2061972,c[704871]|0,16,u+121|0,1,1)|0;bn(c[(c[c[704870]>>2]|0)+904>>2]|0,c[704835]|0,0,0,2,(u<<1)+112|0,15,15);break}g=(Xs(2061972,59866)|0)==0;f=c[704835]|0;if(g){gn(f,0,u+119|0,101,u+127|0,0);$m(c[704835]|0,1,u+120|0,127,u+126|0,6);Ln(c[704835]|0,2061972,c[704871]|0,16,u+121|0,1,1)|0;bn(c[(c[c[704870]>>2]|0)+908>>2]|0,c[704835]|0,0,0,109,(u<<1)+112|0,17,15);break}else{$m(f,0,u+121|0,128,u+127|0,8);Ln(c[704835]|0,2061972,c[704871]|0,1,u+122|0,1,c[515559]|0)|0;break}}else if(a[2062240]|0){$m(c[704835]|0,0,121,128,127,8);Ln(c[704835]|0,2062240,c[704871]|0,1,122,1,2)|0}while(0);i=_q()|0;c[515626]=i-(c[515626]|0);i=_q()|0;if((i|0)<(c[515893]|0)?(i=_q()|0,(i|0)>((c[515893]|0)+-150|0)):0){i=c[704835]|0;u=i+16|0;i=(((_q()|0)/4e3|0)*101|0)+10201|0;f=0;g=0;while(1){t=c[(c[u>>2]|0)+(f<<2)>>2]|0;e=a[t+g>>0]|0;p=e&255;q=B(f+1001|0,i)|0;b:do if(!(f&2)){h=0;n=t;while(1){m=h+1|0;if((h|0)==127){v=p;w=128}else{v=d[n+m>>0]|0;w=m}m=(h&6|0)==0?((B(q,h+1103|0)|0)%19|0|0)!=0:0;a[n+h>>0]=m?((v&15|0)==0?1:v^128):v;if((w|0)==128)break b;h=w;n=c[(c[u>>2]|0)+(f<<2)>>2]|0}}else{n=0;h=t;do{m=n;n=n+1|0;a[h+m>>0]=a[h+n>>0]|0;h=c[(c[u>>2]|0)+(f<<2)>>2]|0}while((n|0)!=127);a[h+127>>0]=e}while(0);f=f+2|0;if(f>>>0>=128)break;else g=128}}if(!(c[515892]|0))x=1;else{mb(c[704835]|0);x=(c[515892]|0)==0}g=(c[742428]|0)!=0;if(x&(g&(((a[2966616]|0)!=0&g|(c[415553]|0)!=0)^1))?(a[2998462]&1)!=0:0){g=c[704835]|0;x=c[g>>2]|0;f=(x|0)/128|0;if((x|0)>127?(c[g+4>>2]|0)>127:0){g=0;do{x=B(g,f)|0;u=g<<7;w=0;do{v=w+x|0;if((v+-1|0)>>>0<3){ab(v);Oo(c[704861]|0,c[704835]|0,0,0,w<<7,u,128,128)}w=w+1|0}while((w|0)!=(f|0));g=g+1|0}while((g|0)<((c[(c[704835]|0)+4>>2]|0)/128|0|0))}}else r=76;if((r|0)==76?(ik(0),(jk()|0)>1):0){r=1;do{Zm(c[2819412+(r<<2)>>2]|0);r=r+1|0}while((r|0)<(jk()|0))}if(c[516409]|0)Ig(c[704835]|0);if(c[416456]|0){Fa=b;return}Gg(c[704835]|0);Fa=b;return}function pb(a){a=a|0;return (a|0)>15|0}function qb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Fa;Fa=Fa+1040|0;d=b+1032|0;e=b+1024|0;f=b;if(!(c[760314]|0)){Fa=b;return}c[e>>2]=2960076;c[e+4>>2]=2961100;vs(f,71619,e)|0;switch(c[760313]|0){case 0:{c[d>>2]=2961100;vs(1509584,58228,d)|0;ug(1509584,12);d=Hq(f,61978,3040436,16384)|0;c[760313]=1;g=d;h=6;break}case 2:{d=Hq(f,61978,3040436,-16385)|0;c[760313]=3;i=d;h=11;break}default:{d=Iq(3040436)|0;switch(c[760313]|0){case 1:{g=d;h=6;break}case 3:{i=d;h=11;break}default:{}}}}do if((h|0)==6){if(g|0){c[760313]=2;break}if(Xs(3040692,72022)|0?Xs(3040692,64122)|0:0){ug(3040692,14);c[760314]=(c[760314]|0)+-1}}else if((h|0)==11){if(i|0){Jq(3040436)|0;c[760313]=0;break}if(eu(3040692,61980)|0){wg(3040692);c[760314]=(c[760314]|0)+-1;break}if((c[760237]&16384|0)==0&(a[2060884]|0)==42){ug(3040692,5);c[760314]=(c[760314]|0)+-1}}while(0);if(!((c[760314]|0)==0&(c[760313]|0)!=0)){Fa=b;return}ug(39859,12);Fa=b;return}function rb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Fa;Fa=Fa+16|0;d=b;c[416457]=0;e=c[416456]|0;if((e|0)<2){c[416457]=1;f=74096;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(74096,39868,16)|0;c[18541]=0;if(a[2973758]|0){h=c[416457]|0;c[416457]=h+1;i=74096+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(i,2973758,16)|0;c[74096+(h*72|0)+68>>2]=257}if(a[2973822]|0){h=c[416457]|0;c[416457]=h+1;i=74096+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(i,2973822,16)|0;c[74096+(h*72|0)+68>>2]=258}if(a[2973886]|0){h=c[416457]|0;c[416457]=h+1;i=74096+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(i,2973886,16)|0;c[74096+(h*72|0)+68>>2]=259}if(a[2973950]|0){h=c[416457]|0;c[416457]=h+1;i=74096+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(i,2973950,16)|0;c[74096+(h*72|0)+68>>2]=260}if(a[2974014]|0){h=c[416457]|0;c[416457]=h+1;i=74096+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(i,2974014,16)|0;c[74096+(h*72|0)+68>>2]=261}h=c[416457]|0;c[416457]=h+1;i=74096+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(i,61612,16)|0;c[74096+(h*72|0)+68>>2]=8;h=c[416457]|0;c[416457]=h+1;i=74096+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(i,39877,16)|0;c[74096+(h*72|0)+68>>2]=1;if(pg()|0){h=pg()|0;i=c[416457]|0;c[416457]=i+1;j=74096+(i*72|0)|0;f=j;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(j,h,16)|0;c[74096+(i*72|0)+68>>2]=5}if(c[415549]|0){i=c[416457]|0;c[416457]=i+1;h=74096+(i*72|0)|0;f=h;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(h,57276,16)|0;c[74096+(i*72|0)+68>>2]=6}k=c[416456]|0}else k=e;if((k|0)!=4){Fa=b;return}vs(1509584,(c[525853]|0)==0?39897:39888,d)|0;d=c[416457]|0;c[416457]=d+1;k=74096+(d*72|0)|0;f=k;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(k,1509584,16)|0;c[74096+(d*72|0)+68>>2]=9;d=c[416457]|0;c[416457]=d+1;k=74096+(d*72|0)|0;f=k;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(k,58538,16)|0;c[74096+(d*72|0)+68>>2]=13;d=c[416457]|0;c[416457]=d+1;k=74096+(d*72|0)|0;f=k;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(k,61766,16)|0;c[74096+(d*72|0)+68>>2]=11;Fa=b;return}function sb(){var b=0,d=0,e=0,f=0,g=0;b=c[742577]|0;if(c[416460]|0){c[416460]=0;c[416456]=1;c[416457]=1;d=74096;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));nu(74096,39907,16)|0;c[18541]=7;f=c[416457]|0;c[416457]=f+1;g=74096+(f*72|0)|0;d=g;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));nu(g,39919,16)|0;c[74096+(f*72|0)+68>>2]=0;c[416458]=0;a[1514361]=1;Hk()}if((b|0)==0|(c[742428]|0)==0|(c[416456]|0)!=0)return;if((vk(2819376,c[743521]|0,24368)|0)==1)uk(2819376,c[743521]|0,24368,0);else{c[416456]=1;rb();c[416458]=0}a[1514361]=1;Hk();return}function tb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=(An(-5)|0)!=0;d=b&(c[524967]|0)==0&1;c[524967]=An(-5)|0;if(!(xn()|0))e=d;else{b=d;while(1){d=yn()|0;a:do if(!(An(-5)|0)){f=c[760446]|0;if((c[416456]|0)==0&(f|0)<256?(g=(d+-65|0)>>>0<26?d+63|0:d,h=(g|0)==127?8:g,h>>>0<154):0){a[3041528+f>>0]=h;c[760446]=(c[760446]|0)+1;i=b}else i=b}else{do if((d+-111|0)>>>0<2){c[516409]=((c[516409]|0)+1|0)%2|0;Hk()}else{if((d|0)==114&(c[704866]|0)==0){h=_q()|0;if((h|0)<=((c[515629]|0)+500|0))break;Xb();c[704866]=1;c[416456]=0;c[515629]=_q()|0;if(xn()|0)do yn()|0;while((xn()|0)!=0);Hk()}if((d|0)!=118)if((d+-97|0)>>>0<26)break;else{i=b;break a}h=ur()|0;if((h|0)!=0?(a[h>>0]|0)!=0:0){Hp(c[416461]|0);f=Fp((ft(h)|0)<<2)|0;c[416461]=f;Hr(h,f)|0;Hp(h)}else Hp(h);Hk()}while(0);a[3041528+(c[760446]|0)>>0]=d+95;c[760446]=(c[760446]|0)+1;i=0}while(0);if(!(xn()|0)){e=i;break}else b=i}}if(!e)return;a[3041528+(c[760446]|0)>>0]=-38;c[760446]=(c[760446]|0)+1;return}function ub(){var b=0,d=0,e=0,f=0,g=0,h=0;if(Kk(2,0)|0)c[416458]=(c[416458]|0)+-1;b=(Kk(3,0)|0)==0;d=c[416458]|0;if(b)e=d;else{b=d+1|0;c[416458]=b;e=b}b=c[416457]|0;if((e|0)>-1)f=e;else f=b-((0-e|0)%(b|0)|0)|0;c[416458]=(f|0)%(b|0)|0;b=Kk(0,0)|0;f=(b|0)==0;if(Kk(1,0)|0|b|0?(b=c[74096+((c[416458]|0)*72|0)+68>>2]|0,(b|0)>255):0){e=(b|0)<261?b+-256|0:5;a[2974078+((e|0)>0?e:0)>>0]=f?2:1;c[416459]=1;if(c[416456]|0)c[760446]=0;c[416456]=0;f=2970284;c[f>>2]=0;c[f+4>>2]=0;c[742699]=1;c[742700]=1}if(!(((Kk(4,0)|0)==0?(Kk(5,0)|0)==0:0)?!(Kk(6,0)|0):0))g=15;a:do if((g|0)==15){c[742575]=0;c[742576]=0;c[742577]=0;c[742703]=1;c[742704]=1;c[742705]=1;f=c[74096+((c[416458]|0)*72|0)+68>>2]|0;if((f|0)>255){a[2974078+((f|0)<261?f+-256|0:5)>>0]=112;c[416459]=1;if(c[416456]|0)c[760446]=0;c[416456]=0}do switch(f|0){case 0:{if(c[416456]|0)c[760446]=0;c[416456]=0;break a;break}case 1:{if(c[416456]|0)c[760446]=0;c[416456]=0;c[704866]=1;break a;break}case 13:{c[416456]=3;break a;break}case 3:{if(c[416456]|0)c[760446]=0;c[416456]=0;c[742427]=2;c[416455]=2;break a;break}case 4:{if(c[416456]|0)c[760446]=0;c[416456]=0;Mg();c[760315]=0;c[742422]=0;c[742549]=6;break a;break}case 5:{tg();break a;break}case 12:{xl();c[416456]=2;Hk();break a;break}case 8:{c[416456]=4;rb();c[416458]=0;break a;break}case 9:{if(!(c[525853]|0)){e=c[515631]|0;h=(e|0)==0?256:e}else h=0;c[525853]=h;rb();break a;break}case 10:{Cq();rb();break a;break}case 11:{c[416456]=1;rb();c[416458]=0;break a;break}default:break a}while(0)}while(0);if(c[416456]|c[525569]|0)return;Hk();return}function vb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;if(c[760315]|0){if(!(xn()|0))return;do{a=yn()|0;b=c[760315]|0;if((b|0)==2)d=c[760315]|0;else d=b;if((d|0)==1){zl(a);e=c[760315]|0}else e=d;if((e|0)==2){im(a);f=c[760315]|0}else f=e;if((f|0)==0?xn()|0:0)do yn()|0;while((xn()|0)!=0)}while((xn()|0)!=0);return}if(!(c[760313]|0)){if(!(c[760316]|0))return;if(!(xn()|0))return;f=yn()|0;switch(f|0){case 13:case 121:{g=26;break}case 27:case 110:break;default:return}a:do if((g|0)==26){e=1|0;d=(e|0)<0?e:0;Kg(75248+(((d|0)>0?d:0)<<8)|0,1);switch(f|0){case 27:case 110:{break a;break}default:{}}return}while(0);c[760316]=0;wg(62050);return}else{if(c[760314]|0)return;if(!(xn()|0))return;do{f=yn()|0;if((f|0)!=0?(g=c[742551]|0,d=g+-6|0,c[742551]=d,$m(c[704852]|0,0,d,128,g+-1|0,0),(f|0)==27):0){c[760313]=0;Jq(3040436)|0;h=0}else h=17;c[760314]=h}while((xn()|0)!=0);return}}function wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Fa;Fa=Fa+272|0;g=f+256|0;h=f;c[g>>2]=d;c[g+4>>2]=e;vs(h,a,g)|0;Lm(2061972,h)|0;c[515557]=_q()|0;c[515558]=b+400+(_q()|0);c[515559]=15;Fa=f;return}function xb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a=Fa;Fa=Fa+288|0;b=a+272|0;d=a+264|0;e=a+256|0;f=a;zr(c[743521]|0);zr(c[18328]|0);Gr(c[74e4]|0);Gr(c[740001]|0);Gr(c[740002]|0);Gr(c[740003]|0);Gr(c[740004]|0);Gr(c[740005]|0);Gr(c[740006]|0);Gr(c[740007]|0);Gr(c[740008]|0);Gr(c[740009]|0);Gr(c[740010]|0);Gr(c[740011]|0);Gr(c[740012]|0);Gr(c[740013]|0);Gr(c[740014]|0);Gr(c[740015]|0);c[740016]=0;Ep(2963152,0,77280);Yu(3039944,0,480)|0;c[760091]=2;c[760022]=0;c[760092]=5;c[759990]=1;c[760009]=8;c[760010]=0;c[740018]=0;c[415557]=0;c[515487]=1;Lm(2961100,3042456)|0;c[743521]=yr()|0;c[18328]=yr()|0;g=Er(0,65538)|0;c[74e4]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740001]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740002]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740003]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740004]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740005]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740006]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740007]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740008]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740009]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740010]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740011]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740012]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740013]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740014]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740015]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;c[740016]=c[74e4];gb();c[515889]=0;c[e>>2]=2960076;c[e+4>>2]=39044;vs(2963156,71619,e)|0;e=0;while(1){if(!(Kq(2963156)|0)){j=4;break}e=e+1|0;c[d>>2]=e;vs(f,39056,d)|0;c[b>>2]=2960076;c[b+4>>2]=f;vs(2963156,71619,b)|0;if(e>>>0>=1e3){j=4;break}}if((j|0)==4){Eb(c[18328]|0,2964180);Fa=a;return}}function yb(a){a=a|0;if((c[704866]|0)>0)return 0;else{Ad(c[524986]|0,a)|0;af(c[524986]|0)|0}return 0}function zb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a=c[704866]|0;if(!a)return;b=(a|0)<(((c[759972]|0)==60?12:6)|0)?a+1|0:0;c[704866]=b;if((b|0)==2){a=vk(2819376,c[743521]|0,24366)|0;if(!(Bo(8)|0))c[742559]=Bo(4)|0;d=c[743521]|0;uk(2819376,d,24384,Bo(256)|0);d=c[743521]|0;uk(2819376,d,24384,Bo(256)|0);d=c[743521]|0;uk(2819376,d,24384,Bo(256)|0);d=c[743521]|0;uk(2819376,d,24384,Bo(256)|0);if(!(Bo(4)|0)){d=c[743521]|0;uk(2819376,d,24414,Bo(16)|0|240)}Bo(3)|0;Bo(10)|0;d=(c[515484]|0)==0?4:c[515485]<<1;e=d*10|0;if((d|0)>0){f=0;do{g=c[743521]|0;h=Bo(12288)|0;uk(2819376,g,h,Bo(256)|0);f=f+1|0}while((f|0)<(e|0))}e=c[743521]|0;f=(Bo(32)|0)+24320|0;uk(2819376,e,f,Bo(140)|0);f=c[743521]|0;e=(Bo(32)|0)+24320|0;uk(2819376,f,e,Bo(140)|0);if(!(Bo(4)|0)){e=c[743521]|0;uk(2819376,e,24369,Bo(256)|0);e=c[743521]|0;uk(2819376,e,24370,Bo(256)|0);e=c[743521]|0;uk(2819376,e,24371,Bo(256)|0)}if(!(Bo(4)|0)){e=c[743521]|0;uk(2819376,e,24408,Bo(256)|0);e=c[743521]|0;uk(2819376,e,24409,Bo(256)|0);e=c[743521]|0;uk(2819376,e,24410,Bo(256)|0);e=c[743521]|0;uk(2819376,e,24411,Bo(256)|0)}e=(d|0)/2|0;f=(d|0)>1;if(f){d=0;do{h=(Bo(10240)|0)+1024|0;g=c[743521]|0;i=(Bo(2048)|0)+h|0;j=i-(Bo(2048)|0)|0;xk(2819376,g,h,j,Bo(1024)|0);j=c[743521]|0;h=Bo(11264)|0;g=Bo(11264)|0;xk(2819376,j,h,g,Bo(1024)|0);d=d+1|0}while((d|0)!=(e|0));if(f){f=0;do{d=Bo(11776)|0;g=c[743521]|0;h=Bo(256)|0;yk(2819376,g,d,h,Bo(512)|0);f=f+1|0}while((f|0)!=(e|0))}}uk(2819376,c[743521]|0,24366,a);k=c[704866]|0}else k=b;if(k|0)return;c[742427]=1;Lm(2972669,2971644)|0;return}function Ab(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=Fa;Fa=Fa+1040|0;b=a+1032|0;d=a+1024|0;e=a;switch(c[415618]|0){case 1:{f=2;break}case 0:{Fa=a;return}default:{}}if((f|0)==2){g=_q()|0;if((g|0)>(((c[525887]|0)*1e3|0)+(c[415619]|0)|0)?(bm(0),rg(),(c[742428]|0)==0):0){c[742551]=(c[742551]|0)+-6;xg(39961,0,0)}if(!(c[415618]|0)){Fa=a;return}}if((An(41)|0)==0?!((c[742428]|0)!=0&(c[742577]|0)!=0):0){g=c[415618]|0;if((g|0)==2){c[415618]=0;h=(eu(1663772,40004)|0)!=0;i=c[415620]|0;do if(!(h&(i|0)==0)){if(h&(i|0)==1){dm()|0;break}j=Kb(1663772)|0;if(j|0){Pb(j,1663772);c[415621]=6;if((c[742428]|0)==0|(c[704867]|0)!=0){c[742551]=(c[742551]|0)+-6;xg(40036,0,0);ug(1731654,14);k=Pg(1663772)|0;l=ft(c[j>>2]|0)|0;c[b>>2]=k;c[b+4>>2]=l;vs(1509584,40053,b)|0;xg(1509584,0,0);break}else{sg();c[742427]=1;c[742430]=20;break}}l=c[415559]|0;c[415621]=-10-l;if((l|0)==1){Lm(2061972,40075)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;m=c[415559]|0}else m=l;if((m|0)==2){Lm(2061972,58835)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;n=c[415559]|0}else n=m;if((n|0)==3){Lm(2061972,40100)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;o=c[415559]|0}else o=n;if((o|0)==4){Lm(2061972,42594)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15}}else{l=Uo(1663772)|0;Lm(e,1663772)|0;k=eu(1663772,40009)|0;if(k|0)Lm(e+(k-1663772)+1|0,k+6|0)|0;do if(l)if((ft(To(l,61984,0)|0)|0)>>>0<=1)if(!(Xs(To(l,62005,0)|0,64686)|0)){p=l;break}else{f=19;break}else{mo(1663772,e)|0;p=l;break}else f=19;while(0);if((f|0)==19){l=Uo(e)|0;if(!l){if(!(c[742428]|0))xg(40075,0,0);rg();c[415621]=-3;break}else p=l}l=To(p,61984,0)|0;if((ft(l)|0)>>>0<2){k=(Xs(To(p,62005,0)|0,64686)|0)==0;j=(c[742428]|0)!=0;do if(k)if(j)q=-1;else{xg(40016,0,0);q=-1}else if(j){Lm(2061972,38030)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;q=-2;break}else{xg(38030,0,0);q=-2;break}while(0);c[415621]=q;rg();c[742430]=0}else{j=Tb(Ml(l)|0)|0;lm(p);do if(!j){c[415621]=5;if((c[742428]|0)==0|(c[704867]|0)!=0){c[742551]=(c[742551]|0)+-6;xg(40036,0,0);Lm(1509584,To(p,61988,0)|0)|0;El(1509584);ug(1509584,14);k=ft(c[c[18328]>>2]|0)|0;c[d>>2]=l;c[d+4>>2]=k;vs(1509584,40053,d)|0;xg(1509584,0,0);break}else{sg();c[742427]=1;c[742430]=20;break}}else{Zl(l);Lm(1731654,To(p,61988,0)|0)|0;El(1731654)}while(0);So(p)}c[760317]=0}while(0);r=c[415618]|0}else r=g;if((r|0)!=3){Fa=a;return}c[415618]=0;c[415621]=-3;rg();if(!(c[742428]|0)){xg(61962,0,0);Fa=a;return}else{Lm(2061972,61962)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;Fa=a;return}}bm(0);rg();if(!(c[742428]|0)){c[742551]=(c[742551]|0)+-6;xg(39980,0,0)}c[742577]=0;c[742705]=1;Fa=a;return}function Bb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;b=Fa;Fa=Fa+304|0;d=b+272|0;e=b+264|0;f=b+256|0;g=b;h=b+292|0;i=b+288|0;j=b+284|0;k=b+280|0;l=b+276|0;ec();tk();m=c[525853]|0;if(m|0)c[515631]=m;c[525854]=256;m=((vk(2819376,c[743521]|0,24365)|0)&5|0)==5;lr((c[416456]|0)==0&((c[742422]|0)==1&m)&1);m=c[515484]|0;n=c[742422]|0;do if((m|0)!=0&(n|0)==1){o=m+1|0;c[515484]=o;if((o|0)==12)c[704866]=1;if((c[742427]|0)==1){Yb(c[704861]|0,0,0)|0;c[515484]=1;o=(c[515485]|0)+1|0;c[515485]=o;if((o|0)==48)va(0);else{p=c[742422]|0;break}}else p=1}else p=n;while(0);if(!((c[742423]|0)>>>0>1&((c[415602]|0)!=0&(p|0)==0))){c[525573]=0;c[525572]=0}if(An(-5)|0?(An(16)|0)==3:0){if(!(c[525853]|0)){p=c[515631]|0;c[525853]=(p|0)==0?256:p;Lm(2061972,39943)|0}else{c[525853]=0;Lm(2061972,39924)|0}c[515557]=_q()|0;c[515558]=(_q()|0)+1400;c[515559]=15;c[525854]=256};c[742831]=-1;c[742832]=-1;c[742833]=-1;c[742834]=-1;c[742835]=-1;c[742836]=-1;c[742837]=-1;c[742838]=-1;p=c[416456]|0;n=c[525853]|0;m=c[704845]|0;o=qr()|0;q=((vk(2819376,c[743521]|0,24365)|0)&5|0)==5;na(9,p|0,n|0,m|0,o|0,1,(c[416456]|0)==0&((c[742422]|0)==1&q)&1|0)|0;c[524968]=(c[524968]|0)+1;q=ka(10)|0;if((q|0)>0){o=ka(11)|0;a:do switch(q|0){case 1:{c[742427]=1;break}case 2:{m=(o|0)<256?o:256;c[525853]=(m|0)>0?m:0;c[525854]=256;break}case 3:{if(!(c[525853]|0)){m=c[515631]|0;c[525853]=(m|0)==0?256:m;Lm(2061972,39943)|0}else{c[525853]=0;Lm(2061972,39924)|0}c[515557]=_q()|0;c[515558]=(_q()|0)+1400;c[515559]=15;c[525854]=256;break}case 4:{if(!(c[416456]|0)){c[416456]=1;rb();c[416458]=0;break a}else{c[760446]=0;c[416456]=0;break a}break}case 5:{m=(o|0)==0;n=(c[416456]|0)!=0;if(!(m|n)){c[416456]=1;rb();c[416458]=0;break a}if(m&n){c[760446]=0;c[416456]=0}break}case 6:{Yu(1661168,0,1024)|0;la(3,0)|0;a[72032]=0;n=0;do{m=ka(4)|0;a[72032+n>>0]=m;n=n+1|0;a[72032+n>>0]=0}while((m|0)!=0&n>>>0<1023);Lm(1661168,Ol(3042456,72032)|0)|0;xb();Zm(c[704835]|0);Zm(c[704861]|0);Zm(c[704852]|0);break}case 7:{n=c[416456]|0;if((n|1|0)!=3){c[416456]=3;xl();break a}if(n|0)c[760446]=0;c[416456]=0;break}case 9:{c[516416]=0;fc();break}case 10:{c[516416]=1;break}case 11:{c[516416]=0;break}default:{}}while(0);su(41107)|0}ka(12)|0;c[742831]=ka(13)|0;c[742832]=ka(13)|0;c[742833]=ka(13)|0;c[742834]=ka(13)|0;c[742835]=ka(13)|0;c[742836]=ka(13)|0;c[742837]=ka(13)|0;c[742838]=ka(13)|0;c[515632]=ka(14)|0;c[760107]=89;o=c[742427]|0;if(o|0){c[704866]=0;if((o|0)==1){Rg();r=c[742427]|0}else r=o;if((r|0)==2){Mg();s=c[742427]|0}else s=r;if((s|0)==3){xb();t=c[742427]|0}else t=s;if((t|0)==4){Mg();Cg();wg(3042456);wg(141296);u=c[742427]|0}else u=t;if((u|0)==5){xb();v=c[742427]|0}else v=u;if((v|0)==6)Cg();c[742427]=0}if((c[742422]|0)!=1){c[525569]=0;if(c[416456]|0)c[760446]=0;c[416456]=0;c[759972]=30}v=(_q()|0)+72e6|0;u=(c[416456]|c[525569]|0)==0;t=c[759972]|0;s=v-(c[524969]|0)|0;r=B((((s|0)<32e3?s:32e3)<<16|0)/1e3|0,u?t:30)|0;s=r+(c[515627]|0)|0;r=(s|0)>0?s:0;c[515627]=r;c[524969]=v;if(!(c[515484]|0))w=r;else{c[515627]=65536;w=65536}r=(t|0)==60?131072:131071;t=w>>>0<r>>>0?w:r;r=(t|0)>0?t:0;c[515627]=r;if(u){fr(j,k,l);l=c[j>>2]|0;j=c[k>>2]|0;k=(j|0)!=(c[524971]|0)|(l|0)!=(c[524970]|0);c[524970]=l;c[524971]=j;j=(An(225)|0)==0;l=(c[742422]|0)!=1;u=c[515627]|0;if((u|0)<65536&(l&(k&j)^1)|l&(u|0)<32768){l=2063584+(c[516408]<<5)+16|0;c[l>>2]=(c[l>>2]|0)+1;l=(qr()|0)==0;j=l?c[525856]|0:c[525855]|0;if((j|0)>0)x=100/(((j|0)<50?j:50)>>>0)|0;else x=1e4;j=c[524972]|0;if((j|0)<(x|0)){Um();y=c[524972]|0}else y=j;z=c[515627]|0;A=y+1|0}else{z=u;A=0}c[524972]=A;if((z|0)>65535)do{do if((c[742422]|0)==1){if((c[415618]|0)>0|(c[516419]|0)!=0){Jk();if((c[415618]|0)>0)Ab();z=c[742430]|0;if((z|0)<=10)break;c[742430]=z+-1;break}z=c[742430]|0;if((z|0)>0){c[742430]=z+-1;break}z=(c[742431]|0)+-1|0;A=(z|0)<150?z:150;c[742431]=(A|0)>0?A:0;tb();c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;fr(g,h,i);A=c[8772]|0;z=c[g>>2]|0;do if((A|0)==-1){C=c[h>>2]|0;D=c[i>>2]|0}else{if((A|0)!=(z|0))c[742568]=c[742568]|1;u=c[h>>2]|0;if((c[8773]|0)!=(u|0))c[742568]=c[742568]|2;y=c[8774]|0;j=c[i>>2]|0;if((y|0)==(j|0)){C=u;D=y;break}c[742568]=c[742568]|4;C=u;D=j}while(0);c[8772]=z;c[8773]=C;c[8774]=D;if((c[742428]|0)==0|(c[742903]|0)<2){Jk();if(c[742428]|0)c[704845]=((c[759972]|0)==30?2:1)+(c[704845]|0);sb();Jg()}if((c[704866]|0)>2)break;c[516413]=1;Ug();c[516413]=0;if(!(c[704863]|0))break;c[515628]=1;if(!((c[742428]|0)!=0&(c[742903]|0)==2))break;if((Bg(0)|0)<=2097152)break;Ik();sb();Jg()}else{Jk();A=c[760315]|0;if((A|0)==1){Bl();E=c[760315]|0}else E=A;c[742430]=0}while(0);A=c[742422]|0;if((A|0)==2){Jm();F=c[742422]|0}else F=A;if((F|0)==3?(A=zn()|0,c[742571]|A|c[742572]|c[742573]|c[742574]|c[742575]|c[742576]|c[742577]|0):0)gb();zb();c[515627]=(c[515627]|0)+-65536;c[704844]=(c[704844]|0)+1;c[760317]=(c[760317]|0)+1;A=c[524973]&1^1;c[524973]=A;do if(!(c[415606]|0)){j=c[525569]|0;u=c[416456]|0;y=c[759972]|0;if((y|0)==60&(j|A|u|0)==0){sh(c[515625]|0);G=c[525569]|0;H=c[416456]|0;I=c[759972]|0}else{G=j;H=u;I=y}if((I|0)==30|(H|G|0)!=0){sh(c[515625]|0);J=c[525569]|0;K=c[416456]|0;L=c[759972]|0}else{J=G;K=H;L=I}if(!((K|J|0)==0&(L|0)==15))break;sh(c[515625]|0);sh(c[515625]|0)}while(0)}while((c[515627]|0)>65535)}else if((r|0)>65535){Jk();switch(c[416456]|0){case 2:{Bl();break}case 3:{if(Kk(6,0)|0){if(c[416456]|0)c[760446]=0;c[416456]=0;Hk()}break}default:{tb();ub()}}c[515627]=(c[515627]|0)+-65536;if(!(c[415606]|0))sh(c[515625]|0)}if(!(c[742423]|c[742422])){vb();r=c[760313]|0;L=c[760314]|0;if((r|0)!=0&(L|0)>0){qb();M=c[760313]|0;N=c[760314]|0}else{M=r;N=L}if((M|0)!=0&(N|0)>0)qb()}if((c[742422]|0)==1&(c[742423]|0)==0&(c[416456]|0)==2?(An(41)|0)==3:0)yl();if(c[742429]|0)c[742429]=0;do if(!(c[415560]|0))O=0;else{if((An(63)|0)!=3?(An(58)|0)!=3:0)P=0;else P=1;if((An(64)|0)!=3?(An(59)|0)!=3:0)Q=P;else Q=2;if((An(65)|0)!=3?(An(60)|0)!=3:0)R=Q;else R=3;if((An(66)|0)!=3?(An(61)|0)!=3:0)S=R;else S=4;if((An(67)|0)!=3?(An(62)|0)!=3:0){O=S;break}O=5}while(0);if(!(An(-5)|0))T=O;else{S=(An(35)|0)==3;T=S?1:O}if(!(An(-5)|0))U=T;else{O=(An(36)|0)==3;U=O?2:T}if(!(An(-5)|0))V=U;else{T=(An(37)|0)==3;V=T?3:U}if(!(An(-5)|0))W=V;else{U=(An(38)|0)==3;W=U?4:V}if(!(An(-5)|0))X=W;else{V=(An(39)|0)==3;X=V?5:W}b:do if(!(An(-4)|0))switch(X|0){case 1:{if(!(Yb(c[704861]|0,0,0)|0)){Lm(2061972,58350)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1400;c[515559]=15;break b}else{Lm(2061972,40810)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;break b}break}case 3:{th();Lm(2061972,40839)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1400;c[515559]=15;break b;break}case 4:{W=rh(0,0)|0;do if((W|0)!=9)if((W|0)>0){Lm(2061972,40896)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;break}else{c[f>>2]=xh()|0;c[f+4>>2]=0;vs(g,58508,f)|0;Lm(2061972,g)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;break}else{Lm(2061972,40864)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15}while(0);if((c[415605]|0)!=1)break b;th();break b;break}default:break b}while(0);if(c[433298]|0){Xu(1513808,1732678,512)|0;c[433298]=0}if(!(c[415618]|c[742430]|c[742431]))c[760317]=0;g=c[742422]|0;if((g|0)==1&(c[742428]|0)!=0){f=vk(2819376,c[743521]|0,24367)|0;X=(f|0)==1|((f|0)!=2?(c[416459]|c[416456]|0)!=0:0);f=c[525571]|0;c[525571]=(f+-1|0)>>>0<4&(X^1)?f+1|0:X&1;Y=c[742422]|0}else Y=g;do if((Y|1|0)==3){c[525587]=0;Z=190}else{g=c[525587]|0;if(g|0){c[e>>2]=g&255;vs(1509584,40920,e)|0;Lm(2061972,1509584)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1400;c[515559]=15;c[525587]=0}g=c[525588]|0;if(!g)break;c[d>>2]=g&255;vs(1509584,40942,d)|0;Lm(2061972,1509584)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1400;c[515559]=15;Z=190}while(0);if((Z|0)==190)c[525588]=0;c:do if((c[416456]|0)==0&(c[742422]|0)==1&(c[742428]|0)!=0){do if(!(Gk(6,0)|0)){Z=(Ek(6,0)|0)>128;d=_q()|0;if(Z){_=d;break}c[524966]=d;break c}else _=_q()|0;while(0);if((_|0)<=((c[524966]|0)+300|0))break;c[416456]=1;c[416458]=0;rb();Hk();a[1514361]=1}else c[524966]=_q()|0;while(0);_=c[516418]|0;if(!_){$=c[8793]|0;Rt($)|0;Fa=b;return}Rt(_)|0;$=c[8793]|0;Rt($)|0;Fa=b;return}function Cb(){var a=0;ul()|0;if(c[760313]|0)Jq(3040436)|0;a=c[516417]|0;if(a|0)Pt(a)|0;a=c[516418]|0;if(!a){Qm()|0;return}Pt(a)|0;Qm()|0;return}function Db(a,b){a=a|0;b=b|0;ka(15)|0;return Vm(a,b)|0}function Eb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Fa;Fa=Fa+1024|0;f=e;g=d;h=g+41|0;do{a[g>>0]=48;g=g+1|0}while((g|0)<(h|0));if(!b){Fa=e;return}i=Dp(32768)|0;g=f;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=c[b>>2]|0;Op(g,ft(g)|0,f)|0;a[f+40>>0]=0;g=c[b>>2]|0;c[b>>2]=f;h=Fb(b,i,0)|0;c[b>>2]=g;if(!h)Op(i,32768,d)|0;else ot(d,f)|0;a[d+40>>0]=0;Hp(i);Fa=e;return}function Fb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;Ep(d,0,32768);f=0;do{a[d+f>>0]=vk(0,b,f)|0;f=f+1|0}while((f|0)!=17152);f=Dp(262144)|0;g=c[b>>2]|0;do if(!e){h=0;i=fl(g,f,ft(g)|0)|0;j=f}else{if(!(um(g,f)|0)){b=Dp(262144)|0;h=f;i=fl(f,b,ft(f)|0)|0;j=b;break}Hp(f);k=2;return k|0}while(0);if((i|0)>15616){Hp(j);Hp(h);k=1;return k|0}else{Xu(d+17152|0,j|0,i|0)|0;Hp(j);Hp(h);k=0;return k|0}return 0}function Gb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Fa;Fa=Fa+16|0;g=f;h=f+4|0;i=lo(a)|0;j=i+16|0;k=Dp(((c[j>>2]<<3|0)/6|0)+256|0)|0;Ep(h,0,12);c[g>>2]=b;vs(k,41115,g)|0;g=k+(ft(k)|0)|0;if(i|0){yh(h);zh(c[i+12>>2]|0,c[j>>2]|0,g,h)|0;Ah(g+(ft(g)|0)|0,h)|0}h=ft(k)|0;na(16,k|0,h|0,d|0,e|0,a|0,ft(a)|0)|0;Hp(k);Zn(i);Fa=f;return}function Hb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=Fa;Fa=Fa+256|0;g=f+64|0;h=f+240|0;i=f+232|0;j=f+224|0;k=f+216|0;l=f+208|0;m=f+200|0;n=f+192|0;o=f+184|0;p=f+176|0;q=f+168|0;r=f+160|0;s=f+152|0;t=f+144|0;u=f+136|0;v=f+128|0;w=f+120|0;x=f+112|0;y=f+104|0;z=f+96|0;A=f;B=f+244|0;C=A;D=C+64|0;do{c[C>>2]=0;C=C+4|0}while((C|0)<(D|0));C=Fp(32800)|0;Ep(C,0,32800);D=Fb(b,C,0)|0;a[C+32768>>0]=32;a[C+32769>>0]=0;a[C+32770>>0]=2;a[C+32771>>0]=2;a[C+32772>>0]=cm()|0;a[C+32773>>0]=2;Op(C,32768,A)|0;c[B>>2]=0;c[z>>2]=B;Vt(A,42539,z)|0;a[C+32774>>0]=c[B>>2];c[B>>2]=0;c[y>>2]=B;Vt(A+2|0,42539,y)|0;a[C+32775>>0]=c[B>>2];c[B>>2]=0;c[x>>2]=B;Vt(A+4|0,42539,x)|0;a[C+32776>>0]=c[B>>2];c[B>>2]=0;c[w>>2]=B;Vt(A+6|0,42539,w)|0;a[C+32777>>0]=c[B>>2];c[B>>2]=0;c[v>>2]=B;Vt(A+8|0,42539,v)|0;a[C+32778>>0]=c[B>>2];c[B>>2]=0;c[u>>2]=B;Vt(A+10|0,42539,u)|0;a[C+32779>>0]=c[B>>2];c[B>>2]=0;c[t>>2]=B;Vt(A+12|0,42539,t)|0;a[C+32780>>0]=c[B>>2];c[B>>2]=0;c[s>>2]=B;Vt(A+14|0,42539,s)|0;a[C+32781>>0]=c[B>>2];c[B>>2]=0;c[r>>2]=B;Vt(A+16|0,42539,r)|0;a[C+32782>>0]=c[B>>2];c[B>>2]=0;c[q>>2]=B;Vt(A+18|0,42539,q)|0;a[C+32783>>0]=c[B>>2];c[B>>2]=0;c[p>>2]=B;Vt(A+20|0,42539,p)|0;a[C+32784>>0]=c[B>>2];c[B>>2]=0;c[o>>2]=B;Vt(A+22|0,42539,o)|0;a[C+32785>>0]=c[B>>2];c[B>>2]=0;c[n>>2]=B;Vt(A+24|0,42539,n)|0;a[C+32786>>0]=c[B>>2];c[B>>2]=0;c[m>>2]=B;Vt(A+26|0,42539,m)|0;a[C+32787>>0]=c[B>>2];c[B>>2]=0;c[l>>2]=B;Vt(A+28|0,42539,l)|0;a[C+32788>>0]=c[B>>2];c[B>>2]=0;c[k>>2]=B;Vt(A+30|0,42539,k)|0;a[C+32789>>0]=c[B>>2];c[B>>2]=0;c[j>>2]=B;Vt(A+32|0,42539,j)|0;a[C+32790>>0]=c[B>>2];c[B>>2]=0;c[i>>2]=B;Vt(A+34|0,42539,i)|0;a[C+32791>>0]=c[B>>2];c[B>>2]=0;c[h>>2]=B;Vt(A+36|0,42539,h)|0;a[C+32792>>0]=c[B>>2];c[B>>2]=0;c[g>>2]=B;Vt(A+38|0,42539,g)|0;a[C+32793>>0]=c[B>>2];if(D|0){Hp(C);E=1;Fa=f;return E|0}D=cn(160,205,32)|0;Oo(c[(c[c[704870]>>2]|0)+580>>2]|0,D,0,0,0,0,160,205);B=c[b+44572>>2]|0;if(B|0)Oo(B,D,0,0,16,24,128,128);B=c[b>>2]|0;b=B;while(1){A=a[b>>0]|0;F=A<<24>>24==10;G=b+1|0;if(F^A<<24>>24!=0)b=G;else break}A=F?G:b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;if((a[B>>0]|0)==45?(a[B+1>>0]|0)==45:0){b=B+2|0;G=0;F=(a[b>>0]|0)==32?B+3|0:b;a:while(1){b=a[F>>0]|0;switch(b<<24>>24){case 10:case 0:{break a;break}default:{}}if(G>>>0>=31)break;a[g+G>>0]=b;G=G+1|0;F=F+1|0}Ln(D,g,c[704871]|0,18,167,1,-1808)|0};c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;if((a[A>>0]|0)==45?(a[A+1>>0]|0)==45:0){F=A+2|0;G=0;b=(a[F>>0]|0)==32?A+3|0:F;b:while(1){F=a[b>>0]|0;switch(F<<24>>24){case 10:case 0:{break b;break}default:{}}if(G>>>0>=31)break;a[g+G>>0]=F;G=G+1|0;b=b+1|0}Ln(D,g,c[704871]|0,18,175,1,-1808)|0}Ln(D,71624,c[704871]|0,18,187,1,-6250336)|0;g=c[D+12>>2]|0;b=0;while(1){G=a[g>>0]&-4;a[g>>0]=G;a[g>>0]=(d[C+(b>>>2)>>0]|0)>>>(b<<1&6)&3|G&255;b=b+1|0;if((b|0)==131200)break;else g=g+1|0}io(e,D)|0;Gb(e,42543,80,102);dn(D)|0;Hp(C);E=0;Fa=f;return E|0}function Ib(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;do{uk(0,a,e,d[b+e>>0]|0);e=e+1|0}while((e|0)!=17152);if(!(c[a>>2]|0)){e=Fp(65538)|0;c[a>>2]=e;Ep(e,0,65538)}e=b+17152|0;b=(el(e)|0)==0;f=c[a>>2]|0;if(b){Xu(f|0,e|0,15616)|0;return}else{Ep(f,0,65538);gl(e,c[a>>2]|0,65537)|0;return}}function Jb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Fa;Fa=Fa+80|0;f=e+72|0;g=e+64|0;h=e;i=e+76|0;c[415559]=0;if(!b){c[415559]=2;j=0;Fa=e;return j|0}k=go(b)|0;if(!k){c[415559]=1;j=0;Fa=e;return j|0}if((c[k>>2]|0)==160?(c[k+4>>2]|0)==205:0){b=yr()|0;l=c[k+12>>2]|0;m=0;do{n=m<<2;a[l+m>>0]=a[l+(n|1)>>0]<<2&12|a[l+n>>0]&3|a[l+(n|2)>>0]<<4&48|a[l+(n|3)>>0]<<6&255;m=m+1|0}while((m|0)!=32800);m=l+32768|0;c[b+44576>>2]=d[m>>0];n=a[m>>0]|0;m=n&255;do if((n&255)>32){if(c[415554]|0){cb(42547,1500);break}c[g>>2]=m;vs(1509584,42575,g)|0;wg(1509584);c[415559]=3;dn(k)|0;j=0;Fa=e;return j|0}while(0);Ib(b,l);Op(l,32768,h)|0;g=0;m=0;n=0;do{c[i>>2]=0;c[f>>2]=i;Vt(h+(n<<1)|0,42539,f)|0;o=a[l+(n+32774)>>0]|0;g=o<<24>>24==0?g:1;m=(c[i>>2]|0)==(o&255|0)?m:1;n=n+1|0}while((n|0)!=20);dn(k)|0;if((g|0)!=0&(m|0)!=0){wg(42594);p=0;q=4}else{p=b;q=0}c[415559]=q;j=p;Fa=e;return j|0}dn(k)|0;c[415559]=5;j=0;Fa=e;return j|0}function Kb(a){a=a|0;var b=0,d=0;b=Yn(a,63774)|0;d=Jb(b)|0;Zn(b);if(!d)return d|0;c[d+44572>>2]=Ql(a)|0;return d|0}function Lb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=Fa;Fa=Fa+16|0;e=d;f=Yn(b,63774)|0;if(!f){g=0;Fa=d;return g|0}b=yr()|0;h=Dp(262144)|0;i=Dp(65536)|0;j=On(h,1,131071,f)|0;a:do switch(a[h>>0]|0){case -17:{if((a[h+1>>0]|0)==-69?(a[h+2>>0]|0)==-65:0){k=0;l=1;m=h+3|0}else n=17;break}case 0:{if(((a[h+1>>0]|0)==0?(a[h+2>>0]|0)==-2:0)?(a[h+3>>0]|0)==-1:0){k=3;l=4;m=h+4|0}else n=17;break}case -1:{if((a[h+1>>0]|0)==-2){if((a[h+2>>0]|0)==0?(a[h+3>>0]|0)==0:0){k=0;l=4;m=h+4|0;break a}o=h+2|0;if((a[o>>0]|0)==0?(a[h+3>>0]|0)==0:0){k=0;l=1;m=h;break a}k=0;l=2;m=o}else{k=0;l=1;m=h}break}case -2:{if((a[h+1>>0]|0)==-1){o=h+2|0;if((a[o>>0]|0)==0?(a[h+3>>0]|0)==0:0)n=17;else{k=1;l=2;m=o}}else n=17;break}default:n=17}while(0);if((n|0)==17){k=0;l=1;m=h}n=(j+h-m|0)/(l|0)|0;if((n|0)>0){j=0;o=0;while(1){p=B(o,l)|0;q=a[m+(p+k)>>0]|0;r=0;s=0;while(1){if((r|0)==(k|0))t=s;else t=(a[m+(r+p)>>0]|0)==0?s:1;r=r+1|0;if(r>>>0>=l>>>0)break;else s=t}if(!t)if(q<<24>>24==13)u=j;else{a[m+j>>0]=q;u=j+1|0}else{a[m+j>>0]=95;a[m+(j+1)>>0]=120;s=j+2|0;r=0;while(1){c[e>>2]=a[m+(r+p)>>0];vs(m+s|0,71865,e)|0;r=r+1|0;v=s+2|0;if(r>>>0>=l>>>0){u=v;break}else s=v}}o=o+1|0;if((o|0)==(n|0)){w=u;break}else j=u}}else w=0;a[m+w>>0]=10;a[m+(w+1)>>0]=0;w=Dp(131072)|0;Hr(m,w)|0;a[w+65534>>0]=0;Zn(f);Hp(h);Hp(i);i=w+(ft(w)|0)|0;a[i>>0]=10;a[i+1>>0]=0;ot(c[b>>2]|0,w)|0;Hp(w);g=b;Fa=d;return g|0}function Mb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Fa;Fa=Fa+3104|0;e=d+3088|0;f=d+3072|0;g=d+2048|0;h=d+1024|0;i=d;Lm(b,a)|0;if(eu(b,61980)|0){Fa=d;return}eo(a,g,h,i);if(!(eu(i,61381)|0)){c[e>>2]=g;c[e+4>>2]=h;c[e+8>>2]=i;vs(b,42632,e)|0;Fa=d;return}else{c[f>>2]=g;c[f+4>>2]=h;c[f+8>>2]=i;vs(b,42622,f)|0;Fa=d;return}}function Nb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Fa;Fa=Fa+4160|0;f=e+4096|0;g=e+2048|0;h=e+1024|0;i=e;j=e+4120|0;if(!(a[b>>0]|0)){Lm(g,42642)|0;Lm(h,61980)|0}else eo(b,e+3072|0,g,h);gr(42651,i);Lq(j,0);k=c[j+8>>2]|0;l=c[j+12>>2]|0;m=c[j+16>>2]|0;n=c[j+20>>2]|0;o=c[j+24>>2]|0;c[f>>2]=c[j+4>>2];c[f+4>>2]=k;c[f+8>>2]=l;c[f+12>>2]=m;c[f+16>>2]=n;c[f+20>>2]=o;vs(1509584,42659,f)|0;pt(i,1509584)|0;pt(i,g)|0;pt(i,h)|0;if(d|0){d=Fp(1048576)|0;h=Yn(b,63774)|0;g=On(d,1,1048576,h)|0;Zn(h);h=Yn(i,71945)|0;Qn(d,1,g,h)|0;Zn(h);Hp(d);Fa=e;return 0}Ng();d=(eu(b,61381)|0)==0;b=c[18328]|0;if(d){Dr(b,i)|0;Fa=e;return 0}else{Hb(b,i)|0;Fa=e;return 0}return 0}function Ob(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=Fa;Fa=Fa+1024|0;e=d;Ng();f=Dp(262144)|0;do if(um(c[c[18328]>>2]|0,f)|0){if(!(eu(b,61381)|0)){Lm(f,c[c[18328]>>2]|0)|0;break}Hp(f);g=1;Fa=d;return g|0}while(0);h=ft(f)|0;i=ft(c[c[18328]>>2]|0)|0;j=(h|0)==(i|0);if(i>>>0>65536){wg(42685);Hp(f);g=1;Fa=d;return g|0}i=Dp(262144)|0;Ep(i,0,262144);h=fl(f,i,ft(c[c[18328]>>2]|0)|0)|0;Hp(i);i=(h|0)>15616;do if(!(eu(b,61381)|0)){if(i){ug(42756,9);ug(42789,9);xg(42742,h,15616);wg(42820)}}else{if(i){ug(42710,8);xg(42742,h,15616);Hp(f);g=1;Fa=d;return g|0}k=c[(c[18328]|0)+44572>>2]|0;if(k|0){l=c[k+12>>2]|0;k=a[l>>0]|0;m=1;n=0;do{n=(a[l+m>>0]|0)==k<<24>>24?n:1;m=m+1|0}while((m|0)!=16384);if(n|0)break}ug(57940,9);ug(57964,10)}while(0);Mb(b,e);if(Xs(e,2963156)|0?Kq(e)|0:0)Nb(e,1)|0;b=(eu(e,61381)|0)==0;h=c[18328]|0;if(!b){Lm(c[h>>2]|0,f)|0;Og();b=Hb(c[18328]|0,e)|0;if(j)o=b;else{ug(42840,9);o=b}}else o=Dr(h,e)|0;if(!o){Lm(2963156,e)|0;Eb(c[18328]|0,2964180)}else cb(42860,1500);Hp(f);g=o;Fa=d;return g|0}function Pb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Fa;Fa=Fa+1040|0;g=f+1032|0;h=f+1024|0;i=f;if(!b){Fa=f;return}zr(c[18328]|0);c[18328]=b;Qb(b);j=c[(c[b+8>>2]|0)+16>>2]|0;k=0;l=32;while(1){m=c[j+(l<<2)>>2]|0;n=0;o=k;do{o=(a[m+n>>0]|0)==0?o:1;n=n+1|0}while((n|0)!=128);l=l+1|0;if((l|0)==64)break;else k=o}if(!o)ph(b);else qh(b);Eb(c[18328]|0,2964262);Og();Ng();Eb(c[18328]|0,2964180);a[160816]=0;c[h>>2]=42904;c[h+4>>2]=2964180;vs(160816,42881,h)|0;h=160816+(ft(160816)|0)|0;a[h>>0]=46;a[h+1>>0]=112;a[h+2>>0]=56;a[h+3>>0]=0;Lm(i,160816)|0;if(!e)Lm(2963156,i)|0;else Lm(2963156,e)|0;do if(Qg(e)|0){c[g>>2]=i;vs(1504976,42907,g)|0;Pm(1504976);h=Br(i)|0;if(!h){Pm(42975);break}Pm(42966);o=0;do{if(1<<(o&7)&d[(o>>>3)+(h+44600)>>0]|0)uk(0,b,o,vk(0,h,o)|0);o=o+1|0}while((o|0)!=17152)}while(0);hb();Pr(c[(c[74e4]|0)+364>>2]|0);Pr(c[(c[740001]|0)+364>>2]|0);Pr(c[(c[740002]|0)+364>>2]|0);Pr(c[(c[740003]|0)+364>>2]|0);Pr(c[(c[740004]|0)+364>>2]|0);Pr(c[(c[740005]|0)+364>>2]|0);Pr(c[(c[740006]|0)+364>>2]|0);Pr(c[(c[740007]|0)+364>>2]|0);Pr(c[(c[740008]|0)+364>>2]|0);Pr(c[(c[740009]|0)+364>>2]|0);Pr(c[(c[740010]|0)+364>>2]|0);Pr(c[(c[740011]|0)+364>>2]|0);Pr(c[(c[740012]|0)+364>>2]|0);Pr(c[(c[740013]|0)+364>>2]|0);Pr(c[(c[740014]|0)+364>>2]|0);Pr(c[(c[740015]|0)+364>>2]|0);c[515889]=0;c[415616]=0;i=0;do{if(c[b+12+(i*660|0)>>2]&294|0)c[415616]=1;i=i+1|0}while((i|0)!=64);Fa=f;return}function Qb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=Fa;Fa=Fa+16|0;d=b;e=a+44580|0;if(c[e>>2]|0){Fa=b;return}c[e>>2]=1;e=a+44576|0;f=c[e>>2]|0;do if((f+-19|0)>>>0<5)if(!(eu(c[a>>2]|0,46561)|0)){Fa=b;return}else{cb(42988,3e3);g=c[e>>2]|0;break}else g=f;while(0);if((g|0)<5){f=0;do{h=a+42252+(f<<4)|0;i=c[h>>2]|0;j=i>>>0<64;if(j){k=c[a+12+(i*660|0)+8>>2]|0;l=((k|0)>1?k:1)<<5;k=(c[a+12+(i*660|0)+16>>2]|0)>(c[a+12+(i*660|0)+12>>2]|0);m=k<<31>>31;n=k?0:l;o=l}else{m=-1;n=0;o=0}l=c[a+42252+(f<<4)+4>>2]|0;k=l>>>0<64;if(k){p=c[a+12+(l*660|0)+8>>2]|0;q=((p|0)>1?p:1)<<5;p=(o|0)>(q|0)?o:q;if((m|0)==-1){r=(c[a+12+(l*660|0)+16>>2]|0)>(c[a+12+(l*660|0)+12>>2]|0);s=r?-1:1;t=r?n:q;u=p}else{s=0;t=n;u=p}}else{s=m;t=n;u=o}p=c[a+42252+(f<<4)+8>>2]|0;q=p>>>0<64;if(q){r=c[a+12+(p*660|0)+8>>2]|0;v=((r|0)>1?r:1)<<5;r=(u|0)>(v|0)?u:v;if((s|0)==-1){w=(c[a+12+(p*660|0)+16>>2]|0)>(c[a+12+(p*660|0)+12>>2]|0);x=w?-1:2;y=w?t:v;z=r}else{x=s;y=t;z=r}}else{x=s;y=t;z=u}r=c[a+42252+(f<<4)+12>>2]|0;v=r>>>0<64;if(v){w=c[a+12+(r*660|0)+8>>2]|0;A=((w|0)>1?w:1)<<5;w=(z|0)>(A|0)?z:A;if((x|0)==-1){B=(c[a+12+(r*660|0)+16>>2]|0)>(c[a+12+(r*660|0)+12>>2]|0);C=B?-1:3;D=B?y:A;E=w}else{C=x;D=y;E=w}}else{C=x;D=y;E=z}a:do if((E|0)!=(D|0)&(C|0)!=-1){if((j?(c[a+12+(i*660|0)+16>>2]|0)<=(c[a+12+(i*660|0)+12>>2]|0):0)?(w=c[a+12+(i*660|0)+8>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0)break;if((k?(c[a+12+(l*660|0)+16>>2]|0)<=(c[a+12+(l*660|0)+12>>2]|0):0)?(w=c[a+12+(l*660|0)+8>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0)F=1;else G=49;do if((G|0)==49){G=0;if((q?(c[a+12+(p*660|0)+16>>2]|0)<=(c[a+12+(p*660|0)+12>>2]|0):0)?(w=c[a+12+(p*660|0)+8>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0){F=2;break}if(!v)break a;if((c[a+12+(r*660|0)+16>>2]|0)>(c[a+12+(r*660|0)+12>>2]|0))break a;w=c[a+12+(r*660|0)+8>>2]|0;if((((w|0)>1?w:1)<<5|0)==(E|0))F=3;else break a}while(0);c[d>>2]=f;c[d+4>>2]=0;c[d+8>>2]=F;vs(1509584,43020,d)|0;wg(1509584);w=c[h>>2]|0;A=a+42252+(f<<4)+(F<<2)|0;c[h>>2]=c[A>>2];c[A>>2]=w}while(0);f=f+1|0}while((f|0)!=64);f=c[e>>2]|0;if((f|0)<5){F=0;do{d=0;do{if((c[a+12+(F*660|0)+20+(d*20|0)+4>>2]|0)==6?(E=a+12+(F*660|0)+20+(d*20|0)+8|0,(c[E>>2]|0)>5):0)c[E>>2]=5;d=d+1|0}while((d|0)!=32);F=F+1|0}while((F|0)!=64);if(eu(c[a>>2]|0,43052)|0){F=Dp(65538)|0;Lm(F,c[a>>2]|0)|0;Lm(c[a>>2]|0,43077)|0;pt(c[a>>2]|0,F)|0;wg(44348);Hp(F);H=c[e>>2]|0}else H=f}else H=f}else H=g;if((H|0)>=11){Fa=b;return}H=0;g=0;do{H=H+((c[a+12+(g*660|0)+4>>2]|0)>1&1)+((c[a+12+(g*660|0)+12>>2]|0)>63&1)+((c[a+12+(g*660|0)+16>>2]|0)>63&1)+((c[a+12+(g*660|0)+36>>2]|0)!=0&1)+((c[a+12+(g*660|0)+56>>2]|0)!=0&1)+((c[a+12+(g*660|0)+76>>2]|0)!=0&1)+((c[a+12+(g*660|0)+96>>2]|0)!=0&1)+((c[a+12+(g*660|0)+116>>2]|0)!=0&1)+((c[a+12+(g*660|0)+136>>2]|0)!=0&1)+((c[a+12+(g*660|0)+156>>2]|0)!=0&1)+((c[a+12+(g*660|0)+176>>2]|0)!=0&1)+((c[a+12+(g*660|0)+196>>2]|0)!=0&1)+((c[a+12+(g*660|0)+216>>2]|0)!=0&1)+((c[a+12+(g*660|0)+236>>2]|0)!=0&1)+((c[a+12+(g*660|0)+256>>2]|0)!=0&1)+((c[a+12+(g*660|0)+276>>2]|0)!=0&1)+((c[a+12+(g*660|0)+296>>2]|0)!=0&1)+((c[a+12+(g*660|0)+316>>2]|0)!=0&1)+((c[a+12+(g*660|0)+336>>2]|0)!=0&1)+((c[a+12+(g*660|0)+356>>2]|0)!=0&1)+((c[a+12+(g*660|0)+376>>2]|0)!=0&1)+((c[a+12+(g*660|0)+396>>2]|0)!=0&1)+((c[a+12+(g*660|0)+416>>2]|0)!=0&1)+((c[a+12+(g*660|0)+436>>2]|0)!=0&1)+((c[a+12+(g*660|0)+456>>2]|0)!=0&1)+((c[a+12+(g*660|0)+476>>2]|0)!=0&1)+((c[a+12+(g*660|0)+496>>2]|0)!=0&1)+((c[a+12+(g*660|0)+516>>2]|0)!=0&1)+((c[a+12+(g*660|0)+536>>2]|0)!=0&1)+((c[a+12+(g*660|0)+556>>2]|0)!=0&1)+((c[a+12+(g*660|0)+576>>2]|0)!=0&1)+((c[a+12+(g*660|0)+596>>2]|0)!=0&1)+((c[a+12+(g*660|0)+616>>2]|0)!=0&1)+((c[a+12+(g*660|0)+636>>2]|0)!=0&1)+((c[a+12+(g*660|0)+656>>2]|0)!=0&1)|0;g=g+1|0}while((g|0)!=64);if(H|0){Fa=b;return}H=0;do{g=0;do{f=a+12+(H*660|0)+20+(g*20|0)+12|0;if((c[f>>2]|0)==1?(c[a+12+(H*660|0)+20+(g*20|0)+8>>2]|0)==0:0)c[f>>2]=0;g=g+1|0}while((g|0)!=32);H=H+1|0}while((H|0)!=64);Fa=b;return}function Rb(b){b=b|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=d;a[160816]=0;c[e>>2]=42904;c[e+4>>2]=b;vs(160816,42881,e)|0;e=160816+(ft(160816)|0)|0;a[e>>0]=46;a[e+1>>0]=112;a[e+2>>0]=56;a[e+3>>0]=0;Fa=d;return 160816}function Sb(b){b=b|0;var d=0,e=0,f=0,g=0;d=Yn(b,63774)|0;e=Jb(d)|0;Zn(d);if(e|0){c[e+44572>>2]=Ql(b)|0;f=e;return f|0}e=Br(b)|0;if(e|0){f=e;return f|0}e=lo(b)|0;do if(e|0){if((c[e+16>>2]|0)!=32768){Zn(e);break}d=c[e+12>>2]|0;g=d+17152|0;if((el(g)|0)==0?a[g>>0]|0:0){Zn(e);break}g=yr()|0;Ib(g,d);c[g+44576>>2]=32;Zn(e);if(g|0){f=g;return f|0}}while(0);if(!(eu(b,44375)|0)){f=0;return f|0}f=Lb(b)|0;return f|0}function Tb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Fa;Fa=Fa+1024|0;e=d;Lm(e,b)|0;f=Sb(b)|0;g=c[741076]|0;h=c[415559]|0;if((f|0)==0&(g|0)!=1&(h|0)!=3){Mb(b,e);i=Sb(e)|0;j=i;k=c[741076]|0;l=c[415559]|0}else{j=f;k=g;l=h}if((j|0)==0&(k|0)!=1&(l|0)!=3){h=e+(ft(e)|0)|0;a[h>>0]=a[61381]|0;a[h+1>>0]=a[61382]|0;a[h+2>>0]=a[61383]|0;a[h+3>>0]=a[61384]|0;a[h+4>>0]=a[61385]|0;h=Sb(e)|0;m=h;n=c[741076]|0;o=c[415559]|0}else{m=j;n=k;o=l}if((m|0)==0&(n|0)!=1&(o|0)!=3){Lm(e,b)|0;b=e+(ft(e)|0)|0;a[b>>0]=a[61381]|0;a[b+1>>0]=a[61382]|0;a[b+2>>0]=a[61383]|0;a[b+3>>0]=a[61384]|0;a[b+4>>0]=a[61385]|0;p=Sb(e)|0}else p=m;if(!p){q=1;Fa=d;return q|0}Pb(p,e);q=0;Fa=d;return q|0}function Ub(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if(Xs(b,2968664)|0){Lm(2968664,b)|0;g=30-(c[742431]|0)|0;h=(g|0)<30?g:30;c[742430]=(h|0)>2?h:2;c[742431]=150}h=Sb(b)|0;if(!h){if(!(eu(b,44380)|0)){i=1;return i|0}g=Yn(b,63774)|0;if(!g){i=1;return i|0}b=yr()|0;j=Fp(17152)|0;Yu(j|0,0,17152)|0;On(j,1,17152,g)|0;g=0;do{uk(0,b,g,a[j+g>>0]|0);g=g+1|0}while((g|0)!=17152);Hp(j);if(!b){i=1;return i|0}else k=b}else k=h;if((f|0)>0){h=0;do{b=c[743521]|0;uk(2819376,b,h+d|0,vk(0,k,h+e|0)|0);h=h+1|0}while((h|0)!=(f|0))}zr(k);i=0;return i|0}function Vb(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=Fa;Fa=Fa+1040|0;k=j+1024|0;l=j;c[k>>2]=b;vs(l,58955,k)|0;do if(!(eu(1733196,l)|0)){k=0;m=0;a:while(1){switch(a[1733196+m>>0]|0){case 0:{break a;break}case 124:{n=k+1|0;break}default:n=k}k=n;m=m+1|0}if((k|0)>255){o=3;Fa=j;return o|0}else{pt(1733196,l)|0;break}}while(0);Lm(2968664,b)|0;c[742430]=30;l=Br(b)|0;if(!l){n=yr()|0;if(!i)p=n;else{Yu(n+44600|0,0,2144)|0;p=n}}else p=l;l=(g|0)>0;if(l)if(!h){h=0;do{uk(0,p,h+e|0,vk(2819376,c[743521]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}else{h=0;do{n=h+e|0;m=h+f|0;uk(0,p,n,vk(2819376,c[743521]|0,m)|0);q=c[18328]|0;uk(0,q,n,vk(2819376,c[743521]|0,m)|0);h=h+1|0}while((h|0)!=(g|0))}if(i|0?(i=g+e|0,l):0){l=e;do{e=((l|0)/8|0)+(p+44600)|0;a[e>>0]=1<<(l&7)|d[e>>0];l=l+1|0}while((l|0)<(i|0))}i=Dr(p,b)|0;zr(p);o=(i|0)==0?0:2;Fa=j;return o|0}function Wb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Fa;Fa=Fa+3104|0;e=d+3080|0;f=d+3072|0;g=d+2048|0;h=d+1024|0;i=d;if(!(a[2963156]|0))if(!b){cb(44411,1500);Fa=d;return}else{wg(44385);Fa=d;return}gr(61461,g);if(eu(2963156,g)|0)if(!b){cb(44470,1500);Fa=d;return}else{wg(44443);Fa=d;return}if(Ob(2963156)|0)if(!b){cb(44514,1500);Fa=d;return}else{wg(44502);Fa=d;return}eo(2963156,g,h,i);c[f>>2]=h;c[f+4>>2]=i;vs(1509584,58155,f)|0;if(!b){cb(1509584,1e3);Fa=d;return}b=ft(2960076)|0;f=(ts(g,2960076,b)|0)==0;j=f?g+(b+-1)|0:g;if((a[j>>0]|0)==47){g=ft(2961100)|0;b=(ts(j+1|0,2961100,g)|0)==0;k=b?j+(g+1)|0:j}else k=j;c[e>>2]=k;c[e+4>>2]=h;c[e+8>>2]=i;vs(1509584,44532,e)|0;wg(1509584);Fa=d;return}function Xb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=Fa;Fa=Fa+128|0;d=b+64|0;e=b;if(!(a[2963156]|0)){Fa=b;return}f=Sb(2963156)|0;if(!f){Fa=b;return}Qb(f);g=c[(c[f+8>>2]|0)+16>>2]|0;h=0;i=32;while(1){j=c[g+(i<<2)>>2]|0;k=0;l=h;do{l=(a[j+k>>0]|0)==0?l:1;k=k+1|0}while((k|0)!=128);i=i+1|0;if((i|0)==64)break;else h=l}if(!l)ph(f);else qh(f);Eb(f,d);Eb(c[18328]|0,e);if((Xs(d,e)|0?Xs(d,2964180)|0:0)?Xs(d,2964262)|0:0){cb(44545,1e3);Pb(f,2963156);Fa=b;return}zr(f);Fa=b;return}function Yb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=Fa;Fa=Fa+2176|0;g=f+2160|0;h=f+2152|0;i=f+2144|0;j=f+2136|0;k=f+2128|0;l=f+2120|0;m=f+2112|0;n=f+1088|0;o=f+64|0;p=f;q=c[415600]|0;r=(q|0)<32?q:32;q=(d|0)<32?d:32;s=(d|0)>0?((q|0)>1?q:1):(r|0)>1?r:1;c[m>>2]=mm()|0;vs(p,44569,m)|0;if(a[3041792]|0){c[l>>2]=3041792;vs(p,44580,l)|0}l=(e|0)==0;do if(!(rt(p,37)|0))if(l){ir(p,o);break}else{gr(3042456,o);e=o+(ft(o)|0)|0;m=e;a[m>>0]=97;a[m+1>>0]=112;a[m+2>>0]=112;a[m+3>>0]=100;m=e+4|0;a[m>>0]=97;a[m+1>>0]=116;a[m+2>>0]=97;a[m+3>>0]=0;kr(o)|0;m=o+(ft(o)|0)|0;a[m>>0]=47;a[m+1>>0]=0;pt(o,Wa()|0)|0;kr(o)|0;m=o+(ft(o)|0)|0;a[m>>0]=47;a[m+1>>0]=0;pt(o,p)|0;c[h>>2]=o;vs(1504976,44587,h)|0;Pm(1504976);break}else if(l){m=0;while(1){c[k>>2]=m;vs(n,p,k)|0;ir(n,o);if(!(Kq(o)|0))break;else m=m+1|0}}else{m=0;while(1){c[j>>2]=m;vs(n,p,j)|0;gr(3042456,o);e=o+(ft(o)|0)|0;r=e;a[r>>0]=97;a[r+1>>0]=112;a[r+2>>0]=112;a[r+3>>0]=100;r=e+4|0;a[r>>0]=97;a[r+1>>0]=116;a[r+2>>0]=97;a[r+3>>0]=0;kr(o)|0;r=o+(ft(o)|0)|0;a[r>>0]=47;a[r+1>>0]=0;pt(o,Wa()|0)|0;kr(o)|0;r=o+(ft(o)|0)|0;a[r>>0]=47;a[r+1>>0]=0;pt(o,n)|0;c[i>>2]=o;vs(1504976,44587,i)|0;Pm(1504976);if(!(Kq(o)|0))break;else m=m+1|0}}while(0);i=B(c[b>>2]|0,s)|0;n=cn(i,B(c[b+4>>2]|0,s)|0,8)|0;s=n+4|0;jn(b,n,0,0,c[n>>2]|0,c[s>>2]|0,0);if((c[s>>2]|0)<=0){c[g>>2]=o;vs(1504976,44609,g)|0;Pm(1504976);io(o,n)|0;Gb(o,42543,128,128);dn(n)|0;t=Kq(o)|0;u=(t|0)==0;v=u&1;Fa=f;return v|0}b=n+16|0;i=0;j=c[n>>2]|0;while(1){if((j|0)>0){p=0;k=j;while(1){l=(c[(c[b>>2]|0)+(i<<2)>>2]|0)+p|0;if(!(a[l>>0]|0)){a[l>>0]=16;w=c[n>>2]|0}else w=k;p=p+1|0;if((p|0)>=(w|0)){x=w;break}else k=w}}else x=j;i=i+1|0;if((i|0)>=(c[s>>2]|0))break;else j=x}c[g>>2]=o;vs(1504976,44609,g)|0;Pm(1504976);io(o,n)|0;Gb(o,42543,128,128);dn(n)|0;t=Kq(o)|0;u=(t|0)==0;v=u&1;Fa=f;return v|0}function Zb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Fa;Fa=Fa+16|0;f=e;gr(3042456,d);g=d+(ft(d)|0)|0;h=g;a[h>>0]=97;a[h+1>>0]=112;a[h+2>>0]=112;a[h+3>>0]=100;h=g+4|0;a[h>>0]=97;a[h+1>>0]=116;a[h+2>>0]=97;a[h+3>>0]=0;kr(d)|0;h=d+(ft(d)|0)|0;a[h>>0]=47;a[h+1>>0]=0;pt(d,Wa()|0)|0;kr(d)|0;h=d+(ft(d)|0)|0;a[h>>0]=47;a[h+1>>0]=0;pt(d,b)|0;c[f>>2]=d;vs(1504976,44587,f)|0;Pm(1504976);Fa=e;return}function _b(){c[524974]=0;return}function $b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Fa;Fa=Fa+16|0;e=d;f=c[524974]|0;if((f|0)==64){Fa=d;return}c[524974]=f+1;Lm(141808+(f*297|0)+41|0,b)|0;g=141808+(f*297|0)|0;Eb(a,g);f=ft(c[a>>2]|0)|0;c[e>>2]=b;c[e+4>>2]=f;c[e+8>>2]=g;vs(1504976,44635,e)|0;Pm(1504976);e=wr(b,62624)|0;if(!e){Pm(44674);Fa=d;return}else{Cr(a,e)|0;Zn(e);Fa=d;return}}function ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Fa;Fa=Fa+1024|0;f=e;g=c[524974]|0;if((g|0)<=0){h=0;Fa=e;return h|0}a:do if(d){i=0;while(1){j=141808+(i*297|0)+41|0;if(!(Xs(b,j)|0)){k=i;break a}Mb(b,f);if(!(Xs(f,j)|0)){l=10;break}m=f+(ft(f)|0)|0;a[m>>0]=a[61381]|0;a[m+1>>0]=a[61382]|0;a[m+2>>0]=a[61383]|0;a[m+3>>0]=a[61384]|0;a[m+4>>0]=a[61385]|0;if(!(Xs(f,j)|0)){l=12;break}j=i+1|0;if((j|0)<(c[524974]|0))i=j;else{h=0;l=14;break}}if((l|0)==10){h=141808+(i*297|0)|0;Fa=e;return h|0}else if((l|0)==12){h=141808+(i*297|0)|0;Fa=e;return h|0}else if((l|0)==14){Fa=e;return h|0}}else{j=0;while(1){if(!(Xs(b,141808+(j*297|0)+41|0)|0)){k=j;break a}j=j+1|0;if((j|0)>=(g|0)){h=0;break}}Fa=e;return h|0}while(0);h=141808+(k*297|0)|0;Fa=e;return h|0}function bc(){return 0}function cc(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Fa;Fa=Fa+128|0;d=b+64|0;e=b;if(!(a[2963156]|0)){f=0;Fa=b;return f|0}g=Sb(2963156)|0;if(!g){f=0;Fa=b;return f|0}Qb(g);h=c[(c[g+8>>2]|0)+16>>2]|0;i=0;j=32;while(1){k=c[h+(j<<2)>>2]|0;l=0;m=i;do{m=(a[k+l>>0]|0)==0?m:1;l=l+1|0}while((l|0)!=128);j=j+1|0;if((j|0)==64)break;else i=m}if(!m)ph(g);else qh(g);Eb(g,d);Eb(c[18328]|0,e);zr(g);if(!(Xs(d,e)|0)){f=0;Fa=b;return f|0}if(!(Xs(d,2964180)|0)){f=0;Fa=b;return f|0}f=(Xs(d,2964262)|0)!=0&1;Fa=b;return f|0}function dc(a){a=a|0;return 0}function ec(){var b=0,d=0,e=0,f=0,g=0;if(!(a[2102356]|0)){a[2102356]=0;return}b=Sb(2102356)|0;if(b|0){zr(b);cb(44714,2e3);a[2102356]=0;return}if(eu(2102356,44727)|0){cb(44735,2e3);a[2102356]=0;return}if(!(eu(2102356,61381)|0)){if(!(a[2102356]|0)){a[2102356]=0;return}b=lo(2102356)|0;if((c[b+16>>2]|0)>262144)cb(44786,2e3);else Em(b);Kp(b);a[2102356]=0;return}b=ho(2102356)|0;if(!b){a[2102356]=0;return}hh();d=b+4|0;e=cn(c[b>>2]|0,c[d>>2]|0,8)|0;kk(b,e,c[704831]|0);do if((c[742422]|0)!=1&(c[742423]|0)==2){f=c[759990]|0;g=(f|0)/16|0;Oo(e,c[(c[18328]|0)+4>>2]|0,0,0,f-(g<<4)<<3,g<<3,c[b>>2]|0,c[d>>2]|0)}else{if((c[e>>2]|0)<=128?(c[e+4>>2]|0)<=128:0){Fm(e);break}cb(44757,2e3)}while(0);dn(b)|0;dn(e)|0;a[2102356]=0;return}function fc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a=Fa;Fa=Fa+48|0;b=a+24|0;d=a+16|0;e=a+8|0;f=a;g=a+32|0;h=Ip(139392)|0;i=ka(17)|0;j=i;ka(18)|0;if(!i){wg(45417);Zn(h);Fa=a;return}c[f>>2]=j;xu(45281,f)|0;f=eu(j,45302)|0;if(!f){Zn(h);Fa=a;return}j=f+7|0;Bh(g);f=ft(j)|0;i=h+16|0;c[i>>2]=Ch(j,f,c[h+12>>2]|0,g)|0;g=h+20|0;c[g>>2]=0;f=Jb(h)|0;if(f|0){zr(f);cb(44714,2e3);Zn(h);Fa=a;return}c[g>>2]=0;g=go(h)|0;f=(g|0)!=0;c[e>>2]=f&1;xu(45310,e)|0;if(!f){c[b>>2]=c[i>>2];xu(45377,b)|0;if((c[i>>2]|0)>262144){cb(44786,2e3);Zn(h);Fa=a;return}else{Em(h);Zn(h);Fa=a;return}}hh();i=g+4|0;b=cn(c[g>>2]|0,c[i>>2]|0,8)|0;kk(g,b,c[704831]|0);do if((c[742422]|0)!=1&(c[742423]|0)==2){f=c[759990]|0;e=(f|0)/16|0;Oo(b,c[(c[18328]|0)+4>>2]|0,0,0,f-(e<<4)<<3,e<<3,c[g>>2]|0,c[i>>2]|0)}else{e=c[b>>2]|0;if((e|0)<=128?(f=c[b+4>>2]|0,(f|0)<=128):0){c[d>>2]=e;c[d+4>>2]=f;xu(45341,d)|0;Fm(b);break}cb(44757,2e3)}while(0);dn(g)|0;dn(b)|0;Zn(h);Fa=a;return}function gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Fa;Fa=Fa+16|0;e=d;c[e>>2]=b;f=c[a+16>>2]|0;g=a+8|0;h=c[g>>2]|0;do if(((c[a+24>>2]|0)-h>>3|0)<=(b|0)){if(((h-(c[a+28>>2]|0)>>3)+5|0)>(1e6-b|0)){i=0;Fa=d;return i|0}if(!(ic(a,2,e)|0)){j=c[g>>2]|0;k=c[e>>2]|0;break}else{i=0;Fa=d;return i|0}}else{j=h;k=b}while(0);b=f+4|0;f=j+(k<<3)|0;if((c[b>>2]|0)>>>0>=f>>>0){i=1;Fa=d;return i|0}c[b>>2]=f;i=1;Fa=d;return i|0}function hc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Fa;Fa=Fa+16|0;e=c[a+32>>2]|0;if((e|0)>1e6)jc(a,6);f=(c[b>>2]|0)+5+((c[a+8>>2]|0)-(c[a+28>>2]|0)>>3)|0;b=e<<1;e=(b|0)<1e6?b:1e6;b=(e|0)<(f|0)?f:e;if((b|0)>1e6){kc(a,1000200);lc(a,45510,d)}else{kc(a,b);Fa=d;return}}function ic(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=Fa;Fa=Fa+176|0;g=4;h=Wr(40)|0;c[h>>2]=0;i=f;l=a+38|0;m=b[l>>1]|0;n=i+160|0;c[n>>2]=0;o=a+64|0;c[i>>2]=c[o>>2];c[o>>2]=i;h=Uu(i+4|0,1,h|0,g|0)|0;g=G()|0;j=0;p=j;j=0;if((p|0)!=0&(k|0)!=0){q=Vu(c[p>>2]|0,h|0,g|0)|0;if(!q)Aa(p|0,k|0);F(k|0)}else q=-1;p=G()|0;if((q|0)==1)r=p;else r=0;do{if(r|0){s=6;break}j=0;H(d|0,a|0,e|0);p=j;j=0;if((p|0)!=0&(k|0)!=0){t=Vu(c[p>>2]|0,h|0,g|0)|0;if(!t)Aa(p|0,k|0);F(k|0)}else t=-1;r=G()|0}while((t|0)==1);if((s|0)==6){u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;Xr(h|0);Fa=f;return v|0}u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;Xr(h|0);Fa=f;return v|0}function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b+64>>2]|0;if(e|0){c[e+160>>2]=d;Aa(e+4|0,1)}a[b+6>>0]=d;e=b+12|0;f=c[e>>2]|0;g=c[f+144>>2]|0;if(c[g+64>>2]|0){h=c[b+8>>2]|0;i=g+8|0;g=c[i>>2]|0;c[i>>2]=g+8;c[g>>2]=c[h+-8>>2];c[g+4>>2]=c[h+-4>>2];jc(c[(c[e>>2]|0)+144>>2]|0,d)}d=c[f+140>>2]|0;if(!d)ja();Ja[d&255](b)|0;ja()}function kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+28|0;f=c[e>>2]|0;g=b+32|0;h=c[g>>2]|0;if((d+1|0)>>>0>536870911)wc(b);i=h<<3;j=d<<3;k=c[b+12>>2]|0;l=(f|0)==0;m=k+4|0;n=Ma[c[k>>2]&1](c[m>>2]|0,f,i,j)|0;if((j|0)!=0&(n|0)==0){if(!(a[k+51>>0]|0))jc(b,4);vc(b,1);o=Ma[c[k>>2]&1](c[m>>2]|0,f,i,j)|0;if(!o)jc(b,4);else p=o}else p=n;n=k+12|0;c[n>>2]=(l?0:0-i|0)+j+(c[n>>2]|0);c[e>>2]=p;if((h|0)<(d|0)){n=h;do{c[p+(n<<3)+4>>2]=0;n=n+1|0}while((n|0)!=(d|0))}c[g>>2]=d;c[b+24>>2]=p+(d<<3)+-40;d=b+8|0;g=f;c[d>>2]=p+((c[d>>2]|0)-g>>3<<3);d=c[b+56>>2]|0;if(d|0?(f=d+8|0,c[f>>2]=p+((c[f>>2]|0)-g>>3<<3),f=c[d>>2]|0,f|0):0){d=f;do{f=d+8|0;c[f>>2]=(c[e>>2]|0)+((c[f>>2]|0)-g>>3<<3);d=c[d>>2]|0}while((d|0)!=0)}d=c[b+16>>2]|0;if(!d)return;b=d;do{d=b+4|0;f=c[e>>2]|0;c[d>>2]=f+((c[d>>2]|0)-g>>3<<3);c[b>>2]=f+((c[b>>2]|0)-g>>3<<3);if(a[b+18>>0]&1){d=b+24|0;c[d>>2]=f+((c[d>>2]|0)-g>>3<<3)}b=c[b+8>>2]|0}while((b|0)!=0);return}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=d;nc(a,mc(a,b,f)|0);oc(a)}function mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;f=Fa;Fa=Fa+80|0;g=f+64|0;h=f+56|0;i=f+48|0;j=f+40|0;k=f;l=rt(d,37)|0;m=b+24|0;n=b+8|0;o=c[n>>2]|0;p=(c[m>>2]|0)-o|0;q=o;do if(l){r=b+32|0;s=b+28|0;t=0;u=d;v=p;w=q;x=o;y=l;a:while(1){if((v|0)<24){z=c[r>>2]|0;if((z|0)>1e6){A=5;break}B=(x-(c[s>>2]|0)>>3)+7|0;C=z<<1;z=(C|0)<1e6?C:1e6;C=(z|0)<(B|0)?B:z;if((C|0)>1e6){A=7;break}kc(b,C);D=c[n>>2]|0}else D=w;c[n>>2]=D+8;C=id(b,u,y-u|0)|0;c[D>>2]=C;c[D+4>>2]=(a[C+4>>0]|64)&255;E=a[y+1>>0]|0;switch(E<<24>>24|0){case 115:{C=(c[e>>2]|0)+(4-1)&~(4-1);z=c[C>>2]|0;c[e>>2]=C+4;C=(z|0)==0?71958:z;z=ft(C)|0;B=c[n>>2]|0;c[n>>2]=B+8;F=id(b,C,z)|0;c[B>>2]=F;c[B+4>>2]=(a[F+4>>0]|64)&255;break}case 99:{F=(c[e>>2]|0)+(4-1)&~(4-1);B=c[F>>2]|0;c[e>>2]=F+4;a[k>>0]=B;B=c[n>>2]|0;c[n>>2]=B+8;F=Oc(b,k,1)|0;c[B>>2]=F;c[B+4>>2]=(a[F+4>>0]|64)&255;break}case 100:{F=c[n>>2]|0;c[n>>2]=F+8;B=(c[e>>2]|0)+(4-1)&~(4-1);z=c[B>>2]|0;c[e>>2]=B+4;c[F>>2]=z;c[F+4>>2]=3;break}case 102:{F=c[n>>2]|0;c[n>>2]=F+8;z=(c[e>>2]|0)+(4-1)&~(4-1);B=c[z>>2]|0;c[e>>2]=z+4;c[F>>2]=B;c[F+4>>2]=3;break}case 112:{F=(c[e>>2]|0)+(4-1)&~(4-1);B=c[F>>2]|0;c[e>>2]=F+4;c[i>>2]=B;B=vs(k,46135,i)|0;F=c[n>>2]|0;c[n>>2]=F+8;z=id(b,k,B)|0;c[F>>2]=z;c[F+4>>2]=(a[z+4>>0]|64)&255;break}case 37:{z=c[n>>2]|0;c[n>>2]=z+8;F=Oc(b,46140,1)|0;c[z>>2]=F;c[z+4>>2]=(a[F+4>>0]|64)&255;break}default:{A=16;break a}}G=t+2|0;H=y+2|0;F=rt(H,37)|0;I=c[n>>2]|0;J=(c[m>>2]|0)-I|0;if(!F){A=18;break}else{t=G;u=H;v=J;w=I;x=I;y=F}}if((A|0)==5)jc(b,6);else if((A|0)==7){kc(b,1000200);lc(b,45510,j)}else if((A|0)==16){c[h>>2]=E<<24>>24;lc(b,46142,h)}else if((A|0)==18){K=H;L=G;M=J;N=I;O=I;break}}else{K=d;L=0;M=p;N=o;O=q}while(0);do if((M|0)<16){q=c[b+32>>2]|0;if((q|0)>1e6)jc(b,6);o=(N-(c[b+28>>2]|0)>>3)+6|0;p=q<<1;q=(p|0)<1e6?p:1e6;p=(q|0)<(o|0)?o:q;if((p|0)>1e6){kc(b,1000200);lc(b,45510,g)}else{kc(b,p);P=c[n>>2]|0;break}}else P=O;while(0);O=ft(K)|0;c[n>>2]=P+8;g=id(b,K,O)|0;c[P>>2]=g;c[P+4>>2]=(a[g+4>>0]|64)&255;if(!L){Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Fa=f;return T|0}Cc(b,L|1);Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Fa=f;return T|0}function nc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=Fa;Fa=Fa+80|0;f=e+64|0;g=e;h=c[b+16>>2]|0;if(!(a[h+18>>0]&1)){Fa=e;return}i=c[(c[c[h>>2]>>2]|0)+12>>2]|0;j=c[i+20>>2]|0;if(!j)k=0;else k=c[j+(((c[h+28>>2]|0)-(c[i+12>>2]|0)>>2)+-1<<2)>>2]|0;h=c[i+36>>2]|0;a:do if(!h){a[g>>0]=63;a[g+1>>0]=0}else{i=h+16|0;j=ft(i)|0;switch(a[i>>0]|0){case 61:{l=i+1|0;if(j>>>0>60){m=g;n=l;o=m+59|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[g+59>>0]=0;break a}else{Xu(g|0,l|0,j|0)|0;break a}break}case 64:{if(j>>>0>60){a[g>>0]=a[46115]|0;a[g+1>>0]=a[46116]|0;a[g+2>>0]=a[46117]|0;m=g+3|0;n=i+1+j+-57|0;o=m+57|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));break a}else{Xu(g|0,i+1|0,j|0)|0;break a}break}default:{l=rt(i,10)|0;m=g;n=46119;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));p=g+9|0;q=(l|0)==0;if(j>>>0<45&q){Xu(p|0,i|0,j|0)|0;r=p+j|0}else{s=q?j:l-i|0;q=s>>>0<45?s:45;Xu(p|0,i|0,q|0)|0;s=p+q|0;a[s>>0]=a[46115]|0;a[s+1>>0]=a[46116]|0;a[s+2>>0]=a[46117]|0;r=s+3|0};a[r>>0]=a[46129]|0;a[r+1>>0]=a[46130]|0;a[r+2>>0]=a[46131]|0;break a}}}while(0);c[f>>2]=d;hd(b,46132,f)|0;c[524977]=k;Fa=e;return}function oc(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=Fa;Fa=Fa+16|0;e=d;d=c[a+68>>2]|0;if(!d)jc(a,2);f=(c[a+28>>2]|0)+d|0;d=f+4|0;if((c[d>>2]&15|0)!=6)jc(a,6);g=a+8|0;h=c[g>>2]|0;c[h>>2]=c[h+-8>>2];c[h+4>>2]=c[h+-4>>2];h=c[g>>2]|0;c[h+-8>>2]=c[f>>2];c[h+-4>>2]=c[d>>2];d=c[g>>2]|0;c[g>>2]=d+8;g=d+-8|0;d=a+38|0;h=(b[d>>1]|0)+1<<16>>16;b[d>>1]=h;if((h&65535)>199){if(h<<16>>16==200)lc(a,45525,e);if((h&65535)>224)jc(a,6)}h=a+36|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if(!(pc(a,g,1)|0))qc(a);b[h>>1]=(b[h>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;jc(a,2)}function pc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;h=Fa;Fa=Fa+32|0;i=h+24|0;j=h+16|0;k=h+8|0;l=h;m=e+28|0;n=e+12|0;o=e+8|0;p=e+24|0;q=e+32|0;r=f;a:while(1){s=c[m>>2]|0;t=r-s|0;f=c[r+4>>2]|0;u=(f&63)+-6|0;switch(u>>>4|u<<28|0){case 3:{v=3;break a;break}case 1:{v=6;break a;break}case 2:{v=7;break a;break}case 0:{v=33;break a;break}default:{}}switch(f&15){case 5:{w=(c[r>>2]|0)+8|0;break}case 7:{w=(c[r>>2]|0)+8|0;break}default:w=(c[n>>2]|0)+276+((f&15)<<2)|0}f=c[w>>2]|0;b:do if(!f)x=2099900;else{u=c[(c[n>>2]|0)+272>>2]|0;y=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&c[u+8>>2])*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(u|0):0)break;z=c[y+16>>2]|0;if(!z){x=2099900;break b}else y=z}x=y}while(0);f=x+4|0;if((c[f>>2]&15|0)!=6){v=77;break}u=c[o>>2]|0;if(u>>>0>r>>>0){z=u;do{A=z;z=z+-8|0;c[A>>2]=c[z>>2];c[A+4>>2]=c[A+-4>>2]}while(z>>>0>r>>>0);B=c[o>>2]|0}else B=u;z=B+8|0;c[o>>2]=z;A=z;if(((c[p>>2]|0)-A|0)<8){z=c[q>>2]|0;if((z|0)>1e6){v=84;break}C=(A-(c[m>>2]|0)>>3)+5|0;A=z<<1;z=(A|0)<1e6?A:1e6;A=(z|0)<(C|0)?C:z;if((A|0)>1e6){v=86;break}kc(e,A)}A=(c[m>>2]|0)+t|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[f>>2];r=A}if((v|0)==3){c[e+112>>2]=((c[o>>2]|0)-r>>3)+-1;c[r>>2]=Ja[c[r>>2]&255](e)|0;c[r+4>>2]=3;c[o>>2]=r+8;if((g|0)<=1){D=1;Fa=h;return D|0}x=r;B=g;while(1){c[x+12>>2]=0;if((B|0)>2){x=x+8|0;B=B+-1|0}else{D=1;break}}Fa=h;return D|0}else if((v|0)==6)E=r;else if((v|0)==7)E=(c[r>>2]|0)+12|0;else if((v|0)==33){B=c[(c[r>>2]|0)+12>>2]|0;x=c[o>>2]|0;w=x-r>>3;A=w+-1|0;z=B+78|0;C=d[z>>0]|0;do if(((c[p>>2]|0)-x>>3|0)<=(C|0)){F=c[q>>2]|0;if((F|0)>1e6)jc(e,6);G=(x-s>>3)+5+C|0;H=F<<1;F=(H|0)<1e6?H:1e6;H=(F|0)<(G|0)?G:F;if((H|0)>1e6){kc(e,1000200);lc(e,45510,k)}else{kc(e,H);break}}while(0);k=a[B+76>>0]|0;C=k&255;if((w|0)>(C|0))I=A;else{w=A;A=c[o>>2]|0;do{x=A;A=A+8|0;c[x+4>>2]=0;w=w+1|0}while((w|0)<(C|0));c[o>>2]=A;I=w}if(!(a[B+77>>0]|0)){w=(c[m>>2]|0)+t|0;J=w+8|0;K=w}else{w=c[o>>2]|0;A=d[z>>0]|0;do if(((c[p>>2]|0)-w>>3|0)<=(A|0)){x=c[q>>2]|0;if((x|0)>1e6)jc(e,6);H=A+5+(w-(c[m>>2]|0)>>3)|0;F=x<<1;x=(F|0)<1e6?F:1e6;F=(x|0)<(H|0)?H:x;if((F|0)>1e6){kc(e,1000200);lc(e,45510,j)}else{kc(e,F);L=c[o>>2]|0;break}}else L=w;while(0);w=0-I|0;I=L+(w<<3)|0;if(k<<24>>24?(c[o>>2]=L+8,c[L>>2]=c[I>>2],j=L+(w<<3)+4|0,c[L+4>>2]=c[j>>2],c[j>>2]=0,k<<24>>24!=1):0){k=1;do{j=c[o>>2]|0;w=I+(k<<3)|0;c[o>>2]=j+8;c[j>>2]=c[w>>2];A=w+4|0;c[j+4>>2]=c[A>>2];c[A>>2]=0;k=k+1|0}while((k|0)!=(C|0))}J=L;K=(c[m>>2]|0)+t|0}L=e+16|0;C=c[(c[L>>2]|0)+12>>2]|0;if(!C){k=c[n>>2]|0;I=k+4|0;A=Ma[c[k>>2]&1](c[I>>2]|0,0,0,40)|0;if(!A){if(!(a[k+51>>0]|0))jc(e,4);vc(e,1);j=Ma[c[k>>2]&1](c[I>>2]|0,0,0,40)|0;if(!j)jc(e,4);else M=j}else M=A;A=k+12|0;c[A>>2]=(c[A>>2]|0)+40;A=c[L>>2]|0;c[A+12>>2]=M;c[M+8>>2]=A;c[M+12>>2]=0;N=M}else N=C;c[L>>2]=N;b[N+16>>1]=g;c[N>>2]=K;c[N+24>>2]=J;K=J+(d[z>>0]<<3)|0;c[N+4>>2]=K;c[N+28>>2]=c[B+12>>2];a[N+18>>0]=1;c[o>>2]=K;K=c[n>>2]|0;N=K+12|0;B=c[N>>2]|0;if((B|0)<=0){D=0;Fa=h;return D|0}if(!(a[K+51>>0]|0)){z=K+8|0;c[z>>2]=B+1600+(c[z>>2]|0);c[N>>2]=-1600;D=0;Fa=h;return D|0}else{zc(e);D=0;Fa=h;return D|0}}else if((v|0)==77)Qc(e,r,46110);else if((v|0)==84)jc(e,6);else if((v|0)==86){kc(e,1000200);lc(e,45510,i)}i=c[E>>2]|0;E=c[o>>2]|0;c[e+112>>2]=(E-r>>3)+-1;do if(((c[p>>2]|0)-E|0)<168){r=c[q>>2]|0;if((r|0)>1e6)jc(e,6);v=(E-s>>3)+25|0;N=r<<1;r=(N|0)<1e6?N:1e6;N=(r|0)<(v|0)?v:r;if((N|0)>1e6){kc(e,1000200);lc(e,45510,l)}else{kc(e,N);break}}while(0);l=e+16|0;s=c[(c[l>>2]|0)+12>>2]|0;if(!s){E=c[n>>2]|0;q=E+4|0;p=Ma[c[E>>2]&1](c[q>>2]|0,0,0,40)|0;if(!p){if(!(a[E+51>>0]|0))jc(e,4);vc(e,1);N=Ma[c[E>>2]&1](c[q>>2]|0,0,0,40)|0;if(!N)jc(e,4);else O=N}else O=p;p=E+12|0;c[p>>2]=(c[p>>2]|0)+40;p=c[l>>2]|0;c[p+12>>2]=O;c[O+8>>2]=p;c[O+12>>2]=0;P=O}else P=s;c[l>>2]=P;b[P+16>>1]=g;c[P>>2]=(c[m>>2]|0)+t;c[P+4>>2]=(c[o>>2]|0)+160;a[P+18>>0]=0;P=c[n>>2]|0;n=P+12|0;t=c[n>>2]|0;do if((t|0)>0)if(!(a[P+51>>0]|0)){m=P+8|0;c[m>>2]=t+1600+(c[m>>2]|0);c[n>>2]=-1600;break}else{zc(e);break}while(0);n=Ja[i&255](e)|0;e=c[o>>2]|0;i=c[l>>2]|0;t=c[i>>2]|0;P=b[i+16>>1]|0;c[l>>2]=c[i+8>>2];c:do if(P<<16>>16){i=P<<16>>16;l=0-n|0;if((l|0)<0){m=t;g=i;s=e+(l<<3)|0;while(1){l=m+8|0;c[m>>2]=c[s>>2];c[m+4>>2]=c[s+4>>2];O=g+-1|0;if(!O){Q=l;break c}s=s+8|0;if(s>>>0>=(c[o>>2]|0)>>>0){R=l;S=O;break}else{m=l;g=O}}}else{R=t;S=i}if((S|0)>0){g=S;m=R;while(1){s=m+8|0;c[m+4>>2]=0;if((g|0)>1){g=g+-1|0;m=s}else{Q=s;break}}}else Q=R}else Q=t;while(0);c[o>>2]=Q;D=1;Fa=h;return D|0}function qc(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;f=Fa;Fa=Fa+64|0;g=f+40|0;h=f+32|0;i=f+24|0;j=f+16|0;k=f+8|0;l=f;m=f+48|0;n=e+16|0;o=e+12|0;p=e+8|0;q=e+38|0;r=e+24|0;s=e+32|0;t=e+28|0;u=m+4|0;v=c[n>>2]|0;a:while(1){w=c[c[v>>2]>>2]|0;x=w+12|0;y=c[(c[x>>2]|0)+8>>2]|0;z=v+24|0;A=v+28|0;B=v+4|0;C=v+4|0;D=v+4|0;E=v+4|0;F=v+4|0;G=v+4|0;H=v+4|0;I=c[v+24>>2]|0;b:while(1){J=c[A>>2]|0;c[A>>2]=J+4;K=c[J>>2]|0;J=c[524978]|0;if((J|c[524979]|0)>(c[8776]|0)){c[524980]=1;L=c[n>>2]|0;M=L+18|0;N=d[M>>0]|0;if(!(N&128)){O=5;break a}a[M>>0]=N&127;P=c[z>>2]|0}else P=I;c[524978]=J+2;N=K>>>6&255;Q=P+(N<<3)|0;c:do switch(K&63){case 44:{O=229;break b;break}case 0:{R=K>>>23;c[Q>>2]=c[P+(R<<3)>>2];c[P+(N<<3)+4>>2]=c[P+(R<<3)+4>>2];S=P;break}case 1:{c[524978]=J+1;R=K>>>14;c[Q>>2]=c[y+(R<<3)>>2];c[P+(N<<3)+4>>2]=c[y+(R<<3)+4>>2];S=P;break}case 2:{R=c[A>>2]|0;c[A>>2]=R+4;T=(c[R>>2]|0)>>>6;c[Q>>2]=c[y+(T<<3)>>2];c[P+(N<<3)+4>>2]=c[y+(T<<3)+4>>2];S=P;break}case 3:{c[Q>>2]=K>>>23;c[P+(N<<3)+4>>2]=1;if(!(K&8372224))S=P;else{c[A>>2]=(c[A>>2]|0)+4;S=P}break}case 4:{T=Q;R=K>>>23;while(1){c[T+4>>2]=0;if(!R){S=P;break}else{T=T+8|0;R=R+-1|0}}break}case 5:{R=c[(c[w+16+(K>>>23<<2)>>2]|0)+8>>2]|0;c[Q>>2]=c[R>>2];c[P+(N<<3)+4>>2]=c[R+4>>2];S=P;break}case 6:{R=K>>>14;sc(e,c[(c[w+16+(K>>>23<<2)>>2]|0)+8>>2]|0,(K&4194304|0)==0?P+((R&511)<<3)|0:y+((R&255)<<3)|0,Q);S=c[z>>2]|0;break}case 7:{R=K>>>14;sc(e,P+(K>>>23<<3)|0,(K&4194304|0)==0?P+((R&511)<<3)|0:y+((R&255)<<3)|0,Q);S=c[z>>2]|0;break}case 8:{R=K>>>23;T=K>>>14;tc(e,c[(c[w+16+(N<<2)>>2]|0)+8>>2]|0,(K|0)<0?y+((R&255)<<3)|0:P+(R<<3)|0,(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0);S=c[z>>2]|0;break}case 9:{T=c[w+16+(K>>>23<<2)>>2]|0;R=c[T+8>>2]|0;c[R>>2]=c[Q>>2];U=P+(N<<3)+4|0;c[R+4>>2]=c[U>>2];if(((c[U>>2]&64|0)!=0?(U=c[Q>>2]|0,(a[U+5>>0]&3)!=0):0)?(R=T+5|0,T=a[R>>0]|0,(T&4)!=0):0){V=c[o>>2]|0;if((d[V+49>>0]|0)<2){uc(V,U);S=P;break c}else{a[R>>0]=a[V+48>>0]&3|T&-72;S=P;break c}}else S=P;break}case 10:{T=K>>>23;V=K>>>14;tc(e,Q,(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0,(K&4194304|0)==0?P+((V&511)<<3)|0:y+((V&255)<<3)|0);S=c[z>>2]|0;break}case 11:{V=K>>>23;T=K>>>14;R=T&511;U=c[o>>2]|0;W=U+4|0;X=Ma[c[U>>2]&1](c[W>>2]|0,0,5,32)|0;if(!X){if(!(a[U+51>>0]|0)){O=29;break a}vc(e,1);Y=Ma[c[U>>2]&1](c[W>>2]|0,0,5,32)|0;if(!Y){O=29;break a}else Z=Y}else Z=X;X=U+12|0;c[X>>2]=(c[X>>2]|0)+32;X=U+56|0;a[Z+5>>0]=a[U+48>>0]&3;a[Z+4>>0]=5;c[Z>>2]=c[X>>2];c[X>>2]=Z;c[Z+8>>2]=0;a[Z+6>>0]=-1;X=Z+12|0;c[X>>2]=0;U=Z+28|0;c[U>>2]=0;Y=Z+16|0;c[Y>>2]=2099924;W=Z+7|0;a[W>>0]=0;_=Z+20|0;c[_>>2]=2099924;c[Q>>2]=Z;c[P+(N<<3)+4>>2]=69;if(R|V|0){$=K>>>26&31;aa=($|0)==0?V:(V&7|8)<<$+-1;$=K>>>17&31;V=($|0)==0?R:(T&7|8)<<$+-1;$=c[U>>2]|0;T=a[W>>0]|0;R=T&255;ba=c[Y>>2]|0;if(($|0)<(aa|0)){if((aa+1|0)>>>0>536870911){O=33;break a}ca=c[X>>2]|0;da=$<<3;$=aa<<3;ea=c[o>>2]|0;fa=(ca|0)==0;ga=ea+4|0;ha=Ma[c[ea>>2]&1](c[ga>>2]|0,ca,da,$)|0;if(($|0)!=0&(ha|0)==0){if(!(a[ea+51>>0]|0)){O=37;break a}vc(e,1);ia=Ma[c[ea>>2]&1](c[ga>>2]|0,ca,da,$)|0;if(!ia){O=37;break a}else ja=ia}else ja=ha;ha=ea+12|0;c[ha>>2]=(fa?0:0-da|0)+$+(c[ha>>2]|0);c[X>>2]=ja;X=c[U>>2]|0;if((X|0)<(aa|0)){ha=X;do{c[ja+(ha<<3)+4>>2]=0;ha=ha+1|0}while((ha|0)!=(aa|0))}c[U>>2]=aa}if(!V){c[Y>>2]=2099924;ka=0;la=0;ma=2099924}else{ha=V+-1|0;if(ha>>>0>255){X=ha;$=0;while(1){da=$+8|0;fa=X>>>8;if(X>>>0>65535){X=fa;$=da}else{na=da;oa=fa;break}}}else{na=0;oa=ha}$=na+(d[400+oa>>0]|0)|0;if(($|0)>30){O=48;break a}X=1<<$;if((X+1|0)>>>0>214748364){O=50;break a}V=20<<$;aa=c[o>>2]|0;U=aa+4|0;fa=Ma[c[aa>>2]&1](c[U>>2]|0,0,0,V)|0;if($>>>0<30&(fa|0)==0){if(!(a[aa+51>>0]|0)){O=54;break a}vc(e,1);da=Ma[c[aa>>2]&1](c[U>>2]|0,0,0,V)|0;if(!da){O=54;break a}else pa=da}else pa=fa;fa=aa+12|0;c[fa>>2]=(c[fa>>2]|0)+V;c[Y>>2]=pa;V=0;fa=pa;do{c[fa+(V*20|0)+16>>2]=0;c[fa+(V*20|0)+12>>2]=0;c[fa+(V*20|0)+4>>2]=0;V=V+1|0;fa=c[Y>>2]|0}while((V|0)<(X|0));ka=X;la=$&255;ma=fa}a[W>>0]=la;c[_>>2]=ma+(ka*20|0);if(T<<24>>24!=31){V=1<<R;do{Y=V;V=V+-1|0;ha=ba+(V*20|0)+4|0;if(c[ha>>2]|0){aa=ba+(V*20|0)+8|0;da=xc(Z,aa)|0;if((da|0)==2099900)qa=yc(e,Z,aa)|0;else qa=da;c[qa>>2]=c[ba+(V*20|0)>>2];c[qa+4>>2]=c[ha>>2]}}while((Y|0)>1)}if((ba|0)!=2099924){V=20<<R;T=c[o>>2]|0;Ma[c[T>>2]&1](c[T+4>>2]|0,ba,V,0)|0;_=T+12|0;c[_>>2]=(c[_>>2]|0)-((ba|0)==0?0:V)}}V=c[o>>2]|0;_=V+12|0;T=c[_>>2]|0;if((T|0)>0){c[p>>2]=Q+8;if(!(a[V+51>>0]|0)){W=V+8|0;c[W>>2]=T+1600+(c[W>>2]|0);c[_>>2]=-1600}else zc(e);c[p>>2]=c[G>>2]}S=c[z>>2]|0;break}case 12:{_=K>>>23;W=P+(_<<3)|0;T=Q+8|0;c[T>>2]=c[W>>2];c[T+4>>2]=c[P+(_<<3)+4>>2];_=K>>>14;sc(e,W,(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0,Q);S=c[z>>2]|0;break}case 13:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=(c[T>>2]|0)+(c[W>>2]|0);c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,6);S=c[z>>2]|0;break}case 14:{c[524978]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=(c[W>>2]|0)-(c[_>>2]|0);c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,7);S=c[z>>2]|0;break}case 15:{_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=Mk(c[W>>2]|0,c[T>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,8);S=c[z>>2]|0;break}case 16:{T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=Nk(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,9);S=c[z>>2]|0;break}case 17:{_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=Ok(c[W>>2]|0,c[T>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,10);S=c[z>>2]|0;break}case 18:{T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=Pk(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,11);S=c[z>>2]|0;break}case 19:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=c[T>>2]&c[W>>2];c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,12);S=c[z>>2]|0;break}case 20:{c[524978]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=c[_>>2]|c[W>>2];c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,13);S=c[z>>2]|0;break}case 21:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=c[T>>2]^c[W>>2];c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,14);S=c[z>>2]|0;break}case 22:{c[524978]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=Zk(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,15);S=c[z>>2]|0;break}case 23:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=_k(c[W>>2]|0,c[T>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,16);S=c[z>>2]|0;break}case 24:{c[524978]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=Yk(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,17);S=c[z>>2]|0;break}case 25:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=Wk(c[W>>2]|0,c[T>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,18);S=c[z>>2]|0;break}case 26:{c[524978]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=Xk(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,19);S=c[z>>2]|0;break}case 27:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=~c[W>>2];c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,20);S=c[z>>2]|0;break}case 28:{T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=(Nk(c[W>>2]|0,c[_>>2]|0)|0)&-65536;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,21);S=c[z>>2]|0;break}case 29:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=Ck(c[W>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,22);S=c[z>>2]|0;break}case 30:{c[524978]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=Bk(c[W>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,23);S=c[z>>2]|0;break}case 31:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=Ak(c[W>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,24);S=c[z>>2]|0;break}case 32:{T=K>>>23;W=P+(T<<3)|0;if((c[P+(T<<3)+4>>2]|0)==3){c[Q>>2]=0-(c[W>>2]|0);c[P+(N<<3)+4>>2]=3;S=P;break c}else{Ac(e,Q,W,W,25);S=c[z>>2]|0;break c}break}case 33:{W=K>>>23;switch(c[P+(W<<3)+4>>2]|0){case 0:{ra=1;break}case 1:{ra=(c[P+(W<<3)>>2]|0)==0;break}default:ra=0}c[Q>>2]=ra&1;c[P+(N<<3)+4>>2]=1;S=P;break}case 34:{Bc(e,Q,P+(K>>>23<<3)|0);S=c[z>>2]|0;break}case 35:{W=K>>>23;T=K>>>14&511;c[p>>2]=P+(T<<3)+8;Cc(e,1-W+T|0);T=c[z>>2]|0;_=T+(N<<3)|0;V=T+(W<<3)|0;c[_>>2]=c[V>>2];c[T+(N<<3)+4>>2]=c[T+(W<<3)+4>>2];T=c[o>>2]|0;fa=T+12|0;$=c[fa>>2]|0;if(($|0)>0){c[p>>2]=N>>>0<W>>>0?V:_+8|0;if(!(a[T+51>>0]|0)){_=T+8|0;c[_>>2]=$+1600+(c[_>>2]|0);c[fa>>2]=-1600}else zc(e);fa=c[C>>2]|0;c[p>>2]=fa;sa=fa}else sa=c[B>>2]|0;fa=c[z>>2]|0;c[p>>2]=sa;S=fa;break}case 36:{if(N|0)Dc(e,(c[z>>2]|0)+(N<<3)+-8|0);c[A>>2]=(c[A>>2]|0)+((K>>>14)+-131071<<2);S=P;break}case 37:{fa=K>>>23;_=(K|0)<0?y+((fa&255)<<3)|0:P+(fa<<3)|0;fa=K>>>14;$=(K&4194304|0)==0?P+((fa&511)<<3)|0:y+((fa&255)<<3)|0;if((c[_+4>>2]|0)==(c[$+4>>2]|0))ta=(Ec(e,_,$)|0)!=0;else ta=0;$=c[A>>2]|0;if((N|0)==(ta&1|0)){_=c[$>>2]|0;fa=_>>>6&255;if(!fa)ua=$;else{Dc(e,(c[z>>2]|0)+(fa<<3)+-8|0);ua=c[A>>2]|0}va=ua+((_>>>14)+-131070<<2)|0}else va=$+4|0;c[A>>2]=va;S=c[z>>2]|0;break}case 38:{$=K>>>23;_=K>>>14;fa=(Fc(e,(K|0)<0?y+(($&255)<<3)|0:P+($<<3)|0,(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0)|0)==(N|0);_=c[A>>2]|0;if(fa){fa=c[_>>2]|0;$=fa>>>6&255;if(!$)wa=_;else{Dc(e,(c[z>>2]|0)+($<<3)+-8|0);wa=c[A>>2]|0}xa=wa+((fa>>>14)+-131070<<2)|0}else xa=_+4|0;c[A>>2]=xa;S=c[z>>2]|0;break}case 39:{_=K>>>23;fa=K>>>14;$=(Gc(e,(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0,(K&4194304|0)==0?P+((fa&511)<<3)|0:y+((fa&255)<<3)|0)|0)==(N|0);fa=c[A>>2]|0;if($){$=c[fa>>2]|0;_=$>>>6&255;if(!_)ya=fa;else{Dc(e,(c[z>>2]|0)+(_<<3)+-8|0);ya=c[A>>2]|0}za=ya+(($>>>14)+-131070<<2)|0}else za=fa+4|0;c[A>>2]=za;S=c[z>>2]|0;break}case 40:{fa=c[P+(N<<3)+4>>2]|0;$=(fa|0)==0;if(!(K&8372224)){if(!$)if(!((fa|0)==1?!(c[Q>>2]|0):0))O=195}else if(!$){if((fa|0)==1?(c[Q>>2]|0)==0:0)O=195}else O=195;if((O|0)==195){O=0;c[A>>2]=(c[A>>2]|0)+4;S=P;break c}fa=c[A>>2]|0;$=c[fa>>2]|0;_=$>>>6&255;if(!_)Aa=fa;else{Dc(e,(c[z>>2]|0)+(_<<3)+-8|0);Aa=c[A>>2]|0}c[A>>2]=Aa+(($>>>14)+-131070<<2);S=P;break}case 41:{$=K>>>23;_=P+($<<3)|0;fa=c[P+($<<3)+4>>2]|0;$=(fa|0)==0;if(!(K&8372224))if(!$)if((fa|0)==1?(c[_>>2]|0)==0:0)O=207;else O=206;else O=207;else if(!$)if((fa|0)==1?(c[_>>2]|0)==0:0)O=206;else O=207;else O=206;if((O|0)==206){O=0;Ba=(c[A>>2]|0)+4|0}else if((O|0)==207){O=0;c[Q>>2]=c[_>>2];c[P+(N<<3)+4>>2]=fa;fa=c[A>>2]|0;_=c[fa>>2]|0;$=_>>>6&255;if(!$)Ca=fa;else{Dc(e,(c[z>>2]|0)+($<<3)+-8|0);Ca=c[A>>2]|0}Ba=Ca+((_>>>14)+-131070<<2)|0}c[A>>2]=Ba;S=P;break}case 42:{_=K>>>23;$=K>>>14&511;if(_|0)c[p>>2]=Q+(_<<3);if(!(pc(e,Q,$+-1|0)|0)){O=217;break b}if($|0)c[p>>2]=c[E>>2];S=c[z>>2]|0;break}case 43:{$=K>>>23;if($|0)c[p>>2]=Q+($<<3);if(!(pc(e,Q,-1)|0)){O=222;break b}S=c[z>>2]|0;break}case 45:{$=Q+16|0;_=c[$>>2]|0;fa=(c[Q>>2]|0)+_|0;T=c[Q+8>>2]|0;if(!((_|0)<1|(fa|0)>(T|0))){c[A>>2]=(c[A>>2]|0)+((K>>>14)+-131071<<2);c[Q>>2]=fa;c[P+(N<<3)+4>>2]=3;V=Q+24|0;c[V>>2]=fa;c[V+4>>2]=3;if((fa|0)<0|(_|0)<(2147483647-fa|0)){S=P;break c}c[$>>2]=0;c[$+4>>2]=3;S=P;break c}if(!((_|0)>-1|(fa|0)<(T|0))?(c[A>>2]=(c[A>>2]|0)+((K>>>14)+-131071<<2),c[Q>>2]=fa,c[P+(N<<3)+4>>2]=3,T=Q+24|0,c[T>>2]=fa,c[T+4>>2]=3,(fa|0)<0&(_|0)<(-2147483648-fa|0)):0){c[$>>2]=0;c[$+4>>2]=3;S=P}else S=P;break}case 46:{$=Q+8|0;fa=Q+16|0;_=P+(N<<3)+4|0;T=c[_>>2]|0;if((T|0)!=3){if((T&15|0)!=4){O=253;break a}T=c[Q>>2]|0;if(!(Hc(T+16|0,c[T+12>>2]|0,m)|0)){O=253;break a}c[Q>>2]=c[m>>2];c[_>>2]=3}T=$+4|0;V=c[T>>2]|0;if((V|0)!=3){if((V&15|0)!=4){O=258;break a}V=c[$>>2]|0;if(!(Hc(V+16|0,c[V+12>>2]|0,m)|0)){O=258;break a}c[$>>2]=c[m>>2];c[T>>2]=3}T=fa+4|0;$=c[T>>2]|0;if(($|0)==3)Da=fa;else{if(($&15|0)!=4){O=264;break a}$=c[fa>>2]|0;if(!(Hc($+16|0,c[$+12>>2]|0,m)|0)){O=264;break a}c[fa>>2]=c[m>>2];c[T>>2]=3;Da=fa}c[Q>>2]=(c[Q>>2]|0)-(c[Da>>2]|0);c[_>>2]=3;c[A>>2]=(c[A>>2]|0)+((K>>>14)+-131071<<2);S=P;break}case 47:{_=Q+24|0;fa=Q+16|0;T=_+16|0;c[T>>2]=c[fa>>2];c[T+4>>2]=c[fa+4>>2];fa=Q+8|0;T=_+8|0;c[T>>2]=c[fa>>2];c[T+4>>2]=c[fa+4>>2];c[_>>2]=c[Q>>2];c[_+4>>2]=c[P+(N<<3)+4>>2];c[p>>2]=_+24;fa=K>>>14&511;T=(b[q>>1]|0)+1<<16>>16;b[q>>1]=T;if((T&65535)>199){if(T<<16>>16==200){O=268;break a}if((T&65535)>224){O=270;break a}}if(!(pc(e,_,fa)|0))qc(e);b[q>>1]=(b[q>>1]|0)+-1<<16>>16;fa=c[z>>2]|0;c[p>>2]=c[D>>2];_=c[A>>2]|0;c[A>>2]=_+4;T=c[_>>2]|0;Ea=T;Ga=fa+((T>>>6&255)<<3)|0;Ha=fa;O=274;break}case 48:{Ea=K;Ga=Q;Ha=P;O=274;break}case 49:{fa=K>>>23;T=K>>>14&511;if(!fa)Ia=((c[p>>2]|0)-Q>>3)+-1|0;else Ia=fa;if(!T){fa=c[A>>2]|0;c[A>>2]=fa+4;Ja=(c[fa>>2]|0)>>>6}else Ja=T;T=c[Q>>2]|0;fa=Ia+-50+(Ja*50|0)|0;_=T+28|0;if((fa|0)>(c[_>>2]|0)){if((c[T+16>>2]|0)==2099924)Ka=0;else Ka=1<<d[T+7>>0];Ic(e,T,fa,Ka)}if((Ia|0)>0){$=T+12|0;V=T+16|0;W=T+7|0;X=T+5|0;Y=T+24|0;ha=fa;fa=Ia;while(1){da=Q+(fa<<3)|0;aa=ha;ha=ha+-1|0;d:do if(ha>>>0<(c[_>>2]|0)>>>0){La=(c[$>>2]|0)+(ha<<3)|0;O=293}else{U=aa<<16;ea=0-U|0;ia=(c[V>>2]|0)+(((((U|0)<0?((U|0)==(ea|0)?0:ea):U)|0)%((1<<d[W>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[ia+12>>2]|0)==3?(c[ia+8>>2]|0)==(U|0):0)break;ea=c[ia+16>>2]|0;if(!ea){Na=U;O=295;break d}else ia=ea}La=ia;O=293}while(0);if((O|0)==293){O=0;if((La|0)==2099900){Na=aa<<16;O=295}else Oa=La}if((O|0)==295){O=0;c[m>>2]=Na;c[u>>2]=3;Oa=yc(e,T,m)|0}c[Oa>>2]=c[da>>2];U=da+4|0;c[Oa+4>>2]=c[U>>2];if((c[U>>2]&64|0?a[(c[da>>2]|0)+5>>0]&3:0)?(U=a[X>>0]|0,U&4):0){ea=c[o>>2]|0;a[X>>0]=U&-5;U=ea+76|0;c[Y>>2]=c[U>>2];c[U>>2]=T}if((fa|0)<=1)break;else fa=fa+-1|0}}c[p>>2]=c[H>>2];S=P;break}case 50:{fa=c[(c[(c[x>>2]|0)+16>>2]|0)+(K>>>14<<2)>>2]|0;T=fa+32|0;Y=c[T>>2]|0;X=c[fa+40>>2]|0;W=c[fa+28>>2]|0;e:do if(!Y)O=310;else{if((X|0)>0){V=Y+16|0;ha=0;do{$=d[W+(ha<<3)+5>>0]|0;if(!(a[W+(ha<<3)+4>>0]|0))Pa=c[(c[w+16+($<<2)>>2]|0)+8>>2]|0;else Pa=P+($<<3)|0;if((c[(c[V+(ha<<2)>>2]|0)+8>>2]|0)!=(Pa|0)){O=310;break e}ha=ha+1|0}while((ha|0)<(X|0))}c[Q>>2]=Y;c[P+(N<<3)+4>>2]=70}while(0);if((O|0)==310){O=0;Y=Jc(e,X)|0;c[Y+12>>2]=fa;c[Q>>2]=Y;c[P+(N<<3)+4>>2]=70;if((X|0)>0){ha=Y+16|0;V=0;do{da=d[W+(V<<3)+5>>0]|0;if(!(a[W+(V<<3)+4>>0]|0))c[ha+(V<<2)>>2]=c[w+16+(da<<2)>>2];else c[ha+(V<<2)>>2]=Kc(e,P+(da<<3)|0)|0;V=V+1|0}while((V|0)!=(X|0))}X=fa+5|0;V=a[X>>0]|0;do if(V&4){if(c[T>>2]|0){ha=c[o>>2]|0;a[X>>0]=V&-5;W=ha+76|0;c[fa+72>>2]=c[W>>2];c[W>>2]=fa;break}if(a[Y+5>>0]&3){W=c[o>>2]|0;if((d[W+49>>0]|0)<2){uc(W,Y);break}else{a[X>>0]=a[W+48>>0]&3|V&-72;break}}}while(0);c[T>>2]=Y}V=c[o>>2]|0;X=V+12|0;fa=c[X>>2]|0;if((fa|0)>0){c[p>>2]=Q+8;if(!(a[V+51>>0]|0)){W=V+8|0;c[W>>2]=fa+1600+(c[W>>2]|0);c[X>>2]=-1600}else zc(e);c[p>>2]=c[F>>2]}S=c[z>>2]|0;break}case 51:{X=K>>>23;W=X+-1|0;fa=(P-(c[v>>2]|0)>>3)-(d[(c[x>>2]|0)+76>>0]|0)|0;V=fa+-1|0;if(!X){X=c[p>>2]|0;if(((c[r>>2]|0)-X>>3|0)<(fa|0)){ha=c[s>>2]|0;if((ha|0)>1e6){O=334;break a}da=fa+4+(X-(c[t>>2]|0)>>3)|0;X=ha<<1;ha=(X|0)<1e6?X:1e6;X=(ha|0)<(da|0)?da:ha;if((X|0)>1e6){O=336;break a}kc(e,X)}X=c[z>>2]|0;ha=X+(N<<3)|0;c[p>>2]=ha+(V<<3);Qa=V;Ra=ha;Sa=X}else{Qa=W;Ra=Q;Sa=P}if((Qa|0)>0){W=Sa+(1-fa<<3)|0;fa=0;do{if((fa|0)<(V|0)){X=W+(fa<<3)|0;c[Ra+(fa<<3)>>2]=c[X>>2];Ta=c[X+4>>2]|0}else Ta=0;c[Ra+(fa<<3)+4>>2]=Ta;fa=fa+1|0}while((fa|0)!=(Qa|0));S=Sa}else S=Sa;break}default:S=P}while(0);if((O|0)==274){O=0;N=c[Ga+12>>2]|0;if(!N)S=Ha;else{c[Ga>>2]=c[Ga+8>>2];c[Ga+4>>2]=N;c[A>>2]=(c[A>>2]|0)+((Ea>>>14)+-131071<<2);S=Ha}}I=S}if((O|0)==217){O=0;I=c[n>>2]|0;A=I+18|0;a[A>>0]=a[A>>0]|4;Ua=I}else if((O|0)==222){O=0;I=c[n>>2]|0;A=c[I+8>>2]|0;z=c[I>>2]|0;F=c[A>>2]|0;w=I+24|0;H=(c[w>>2]|0)+(d[(c[(c[z>>2]|0)+12>>2]|0)+76>>0]<<3)|0;if((c[(c[x>>2]|0)+56>>2]|0)>0)Dc(e,c[A+24>>2]|0);if(z>>>0<H>>>0){D=0;E=z;do{c[F+(D<<3)>>2]=c[E>>2];c[F+(D<<3)+4>>2]=c[z+(D<<3)+4>>2];D=D+1|0;E=z+(D<<3)|0}while(E>>>0<H>>>0)}H=z;c[A+24>>2]=F+((c[w>>2]|0)-H>>3<<3);E=F+((c[p>>2]|0)-H>>3<<3)|0;c[p>>2]=E;c[A+4>>2]=E;c[A+28>>2]=c[I+28>>2];E=A+18|0;a[E>>0]=a[E>>0]|64;c[n>>2]=A;Ua=A}else if((O|0)==229){O=0;E=K>>>23;if(E|0)c[p>>2]=Q+(E<<3)+-8;if((c[(c[x>>2]|0)+56>>2]|0)>0)Dc(e,P);E=c[n>>2]|0;H=c[E>>2]|0;D=b[E+16>>1]|0;c[n>>2]=c[E+8>>2];f:do if(D<<16>>16){E=H;y=D<<16>>16;B=Q;while(1){if(B>>>0>=(c[p>>2]|0)>>>0)break;C=E+8|0;c[E>>2]=c[B>>2];c[E+4>>2]=c[B+4>>2];G=y+-1|0;if(!G){Va=C;break f}else{E=C;y=G;B=B+8|0}}if((y|0)>0){B=y;G=E;while(1){C=G+8|0;c[G+4>>2]=0;if((B|0)>1){B=B+-1|0;G=C}else{Va=C;break}}}else Va=E}else Va=H;while(0);c[p>>2]=Va;if(!(a[v+18>>0]&4)){O=345;break}H=c[n>>2]|0;if(D<<16>>16==-1)Ua=H;else{c[p>>2]=c[H+4>>2];Ua=H}}v=Ua}switch(O|0){case 5:{rc(e,0,0,0)|0;O=L+28|0;c[e+20>>2]=c[O>>2];c[O>>2]=(c[O>>2]|0)+-4;a[M>>0]=a[M>>0]|-128;c[L>>2]=(c[p>>2]|0)+-8;jc(e,1);break}case 29:{jc(e,4);break}case 33:{wc(e);break}case 37:{jc(e,4);break}case 48:{lc(e,45542,l);break}case 50:{wc(e);break}case 54:{jc(e,4);break}case 253:{lc(e,45557,k);break}case 258:{lc(e,45594,j);break}case 264:{lc(e,45623,i);break}case 268:{lc(e,45525,h);break}case 270:{jc(e,6);break}case 334:{jc(e,6);break}case 336:{kc(e,1000200);lc(e,45510,g);break}case 345:{Fa=f;return}}}function rc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=Fa;Fa=Fa+16|0;i=h+8|0;j=h;k=c[d+16>>2]|0;if(b[d+36>>1]|0)if((c[(c[d+12>>2]|0)+144>>2]|0)==(d|0))lc(d,46068,i);else lc(d,46026,j);a[d+6>>0]=1;c[k+20>>2]=(c[k>>2]|0)-(c[d+28>>2]|0);if(a[k+18>>0]&1){Fa=h;return 0}c[k+28>>2]=g;if(!g){l=d+8|0;m=c[l>>2]|0;n=0-e|0;o=m+(n<<3)|0;p=o+-8|0;c[k>>2]=p;jc(d,1)}c[k+24>>2]=f;l=d+8|0;m=c[l>>2]|0;n=0-e|0;o=m+(n<<3)|0;p=o+-8|0;c[k>>2]=p;jc(d,1);return 0}function sc(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;i=Fa;Fa=Fa+16|0;j=i+8|0;k=i;l=e+12|0;m=f;n=0;o=c[f+4>>2]|0;while(1){if((o|0)==69){f=c[m>>2]|0;p=xc(f,g)|0;if(c[p+4>>2]|0)break;q=c[f+8>>2]|0;if(!q)break;r=a[q+6>>0]|0;if(r&1)break;f=c[(c[l>>2]|0)+156>>2]|0;s=(c[q+16>>2]|0)+(((1<<(d[q+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[s+12>>2]|0)==68?(c[s+8>>2]|0)==(f|0):0){t=10;break}u=c[s+16>>2]|0;if(!u){v=2099900;break}else s=u}if((t|0)==10){t=0;v=s}f=v+4|0;u=c[f>>2]|0;if(!u){t=13;break}if(!v)break;else{w=v;x=f;y=u}}else{switch(o&15){case 5:{z=(c[m>>2]|0)+8|0;break}case 7:{z=(c[m>>2]|0)+8|0;break}default:z=(c[l>>2]|0)+276+((o&15)<<2)|0}u=c[z>>2]|0;a:do if(!u)A=2099900;else{f=c[(c[l>>2]|0)+156>>2]|0;B=(c[u+16>>2]|0)+(((1<<(d[u+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[B+12>>2]|0)==68?(c[B+8>>2]|0)==(f|0):0)break;C=c[B+16>>2]|0;if(!C){A=2099900;break a}else B=C}A=B}while(0);u=A+4|0;s=c[u>>2]|0;if(!s){t=27;break}else{w=A;x=u;y=s}}n=n+1|0;if((y&15|0)==6){t=29;break}if(n>>>0>=100){t=41;break}else{m=w;o=y}}if((t|0)==13)a[q+6>>0]=r|1;else if((t|0)==27)Qc(e,m,45986);else if((t|0)==29){r=e+28|0;q=h-(c[r>>2]|0)|0;y=e+8|0;o=c[y>>2]|0;c[y>>2]=o+8;c[o>>2]=c[w>>2];c[o+4>>2]=c[x>>2];x=c[y>>2]|0;c[y>>2]=x+8;c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];m=c[y>>2]|0;c[y>>2]=m+8;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];g=(c[y>>2]|0)+-24|0;m=a[(c[e+16>>2]|0)+18>>0]&1;x=e+38|0;o=(b[x>>1]|0)+1<<16>>16;b[x>>1]=o;if((o&65535)>199){if(o<<16>>16==200)lc(e,45525,k);if((o&65535)>224)jc(e,6)}o=m<<24>>24!=0;if(!o){m=e+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}if(!(pc(e,g,1)|0))qc(e);if(!o){o=e+36|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16}b[x>>1]=(b[x>>1]|0)+-1<<16>>16;x=(c[r>>2]|0)+q|0;q=c[y>>2]|0;r=q+-8|0;c[y>>2]=r;c[x>>2]=c[r>>2];c[x+4>>2]=c[q+-4>>2];Fa=i;return}else if((t|0)==41)lc(e,46009,j);c[h>>2]=c[p>>2];c[h+4>>2]=c[p+4>>2];Fa=i;return}function tc(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;i=Fa;Fa=Fa+16|0;j=i+8|0;k=i;l=e+12|0;m=f;n=0;o=c[f+4>>2]|0;while(1){if((o|0)==69){p=c[m>>2]|0;q=xc(p,g)|0;if(c[q+4>>2]|0){r=17;break}s=c[p+8>>2]|0;if(!s){r=15;break}t=a[s+6>>0]|0;if(t&2){r=15;break}f=c[(c[l>>2]|0)+160>>2]|0;u=(c[s+16>>2]|0)+(((1<<(d[s+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[u+12>>2]|0)==68?(c[u+8>>2]|0)==(f|0):0){r=10;break}v=c[u+16>>2]|0;if(!v){w=2099900;break}else u=v}if((r|0)==10){r=0;w=u}f=w+4|0;v=c[f>>2]|0;if(!v){r=13;break}if(!w){r=15;break}else{x=w;y=f;z=v}}else{switch(o&15){case 5:{A=(c[m>>2]|0)+8|0;break}case 7:{A=(c[m>>2]|0)+8|0;break}default:A=(c[l>>2]|0)+276+((o&15)<<2)|0}v=c[A>>2]|0;a:do if(!v)B=2099900;else{f=c[(c[l>>2]|0)+160>>2]|0;C=(c[v+16>>2]|0)+(((1<<(d[v+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[C+12>>2]|0)==68?(c[C+8>>2]|0)==(f|0):0)break;D=c[C+16>>2]|0;if(!D){B=2099900;break a}else C=D}B=C}while(0);v=B+4|0;u=c[v>>2]|0;if(!u){r=33;break}else{x=B;y=v;z=u}}n=n+1|0;if((z&15|0)==6){r=35;break}if(n>>>0>=100){r=47;break}else{m=x;o=z}}if((r|0)==13){a[s+6>>0]=t|2;r=15}else if((r|0)==17){E=q;F=p}else if((r|0)==33)Qc(e,m,45986);else if((r|0)==35){t=e+8|0;s=c[t>>2]|0;c[t>>2]=s+8;c[s>>2]=c[x>>2];c[s+4>>2]=c[y>>2];y=c[t>>2]|0;c[t>>2]=y+8;c[y>>2]=c[m>>2];c[y+4>>2]=c[m+4>>2];m=c[t>>2]|0;c[t>>2]=m+8;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];m=c[t>>2]|0;c[t>>2]=m+8;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];m=(c[t>>2]|0)+-32|0;t=a[(c[e+16>>2]|0)+18>>0]&1;y=e+38|0;s=(b[y>>1]|0)+1<<16>>16;b[y>>1]=s;if((s&65535)>199){if(s<<16>>16==200)lc(e,45525,k);if((s&65535)>224)jc(e,6)}s=t<<24>>24!=0;if(!s){t=e+36|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}if(!(pc(e,m,0)|0))qc(e);if(!s){s=e+36|0;b[s>>1]=(b[s>>1]|0)+-1<<16>>16}b[y>>1]=(b[y>>1]|0)+-1<<16>>16;Fa=i;return}else if((r|0)==47)lc(e,45992,j);if((r|0)==15)if((q|0)==2099900){E=yc(e,p,g)|0;F=p}else{E=q;F=p}c[E>>2]=c[h>>2];q=h+4|0;c[E+4>>2]=c[q>>2];a[F+6>>0]=0;if(!(c[q>>2]&64)){Fa=i;return}if(!(a[(c[h>>2]|0)+5>>0]&3)){Fa=i;return}h=p+5|0;q=a[h>>0]|0;if(!(q&4)){Fa=i;return}F=c[l>>2]|0;a[h>>0]=q&-5;q=F+76|0;c[p+24>>2]=c[q>>2];c[q>>2]=p;Fa=i;return}function uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=d+5|0;a[e>>0]=a[e>>0]&-4;switch(a[d+4>>0]|0){case 20:case 4:{f=(c[d+12>>2]|0)+17|0;break}case 7:{g=c[d+8>>2]|0;if(g|0?a[g+5>>0]&3:0)uc(b,g);g=c[d+12>>2]|0;if(g|0?a[g+5>>0]&3:0)uc(b,g);f=(c[d+16>>2]|0)+24|0;break}case 10:{g=d+8|0;h=c[g>>2]|0;if((c[h+4>>2]&64|0)!=0?(i=c[h>>2]|0,(a[i+5>>0]&3)!=0):0){uc(b,i);j=c[g>>2]|0}else j=h;if((j|0)==(d+12|0))f=20;else return;break}case 6:{j=b+72|0;c[d+8>>2]=c[j>>2];c[j>>2]=d;return}case 38:{j=b+72|0;c[d+8>>2]=c[j>>2];c[j>>2]=d;return}case 5:{j=b+72|0;c[d+24>>2]=c[j>>2];c[j>>2]=d;return}case 8:{j=b+72|0;c[d+60>>2]=c[j>>2];c[j>>2]=d;return}case 9:{j=b+72|0;c[d+72>>2]=c[j>>2];c[j>>2]=d;return}default:return}a[e>>0]=a[e>>0]|4;e=b+16|0;c[e>>2]=(c[e>>2]|0)+f;return}function vc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;f=b+12|0;g=c[f>>2]|0;h=g+50|0;i=a[h>>0]|0;j=(e|0)!=0;if(!j){a[h>>0]=0;e=g+92|0;k=c[e>>2]|0;if(k){l=k;do{k=l+5|0;a[k>>0]=a[k>>0]&-65;k=c[f>>2]|0;m=k+92|0;n=c[m>>2]|0;c[m>>2]=c[n>>2];m=k+56|0;c[n>>2]=c[m>>2];c[m>>2]=n;m=n+5|0;n=a[m>>0]|0;a[m>>0]=n&-17;if((d[k+49>>0]|0)>=2)a[m>>0]=a[k+48>>0]&3|n&-88;l=c[e>>2]|0}while((l|0)!=0);if((a[h>>0]|0)==2)o=10;else o=9}else o=9}else{a[h>>0]=1;o=9}if((o|0)==9?(d[g+49>>0]|0)<2:0)o=10;if((o|0)==10){o=c[f>>2]|0;a[o+49>>0]=2;c[o+52>>2]=0;l=o+60|0;e=d[o+48>>0]|0;n=(a[o+50>>0]|0)==2;k=c[l>>2]|0;a:do if(!k)p=0;else{m=n?64:0;q=n?64:e&3;r=n?255:184;s=e;t=k;while(1){u=s^3;v=l;w=1;x=t;while(1){if(!w)break;w=w+-1|0;y=x+5|0;z=d[y>>0]|0;if(!((z^3)&u)){c[v>>2]=c[x>>2];Zc(b,x);A=v}else{if(m&z|0){p=0;break a}if((a[x+4>>0]|0)==8)_c(b,x);a[y>>0]=r&z|q;A=x}x=c[A>>2]|0;if(!x){p=0;break a}else v=A}if((v|0)!=(l|0)){p=v;break a}x=c[f>>2]|0;u=d[x+48>>0]|0;w=(a[x+50>>0]|0)==2;t=c[l>>2]|0;if(!t){p=0;break}else{m=w?64:0;q=w?64:u&3;r=w?255:184;s=u}}}while(0);c[o+68>>2]=p;p=o+56|0;b:while(1){l=c[f>>2]|0;A=d[l+48>>0]|0;k=A^3;e=(a[l+50>>0]|0)==2;l=e?255:184;n=e?64:A&3;A=e?64:0;e=c[p>>2]|0;if(!e){C=0;break}s=p;r=1;q=e;while(1){if(!r)break;r=r+-1|0;e=q+5|0;m=d[e>>0]|0;if(!((m^3)&k)){c[s>>2]=c[q>>2];Zc(b,q);D=s}else{if(A&m|0){C=0;break b}if((a[q+4>>0]|0)==8)_c(b,q);a[e>>0]=l&m|n;D=q}q=c[D>>2]|0;if(!q){C=0;break b}else s=D}if((s|0)!=(p|0)){C=s;break}}c[o+64>>2]=C}C=(c[f>>2]|0)+49|0;if((a[C>>0]|0)==5){E=C;F=5}else{do Tc(b)|0;while((a[C>>0]|0)!=5);C=(c[f>>2]|0)+49|0;E=C;F=a[C>>0]|0}if(!(1<<(F&255)&-33)){do Tc(b)|0;while(!(1<<d[E>>0]&-33|0));C=(c[f>>2]|0)+49|0;G=C;H=a[C>>0]|0}else{G=E;H=F}if(H<<24>>24!=5)do Tc(b)|0;while((a[G>>0]|0)!=5);if(i<<24>>24==2?(G=(c[f>>2]|0)+49|0,a[G>>0]|0):0)do Tc(b)|0;while((a[G>>0]|0)!=0);a[h>>0]=i;i=g+8|0;h=g+12|0;G=(c[h>>2]|0)+(c[i>>2]|0)|0;b=(G|0)/100|0;H=c[g+128>>2]|0;g=B(b,0-H|0)|0;F=(H|0)<(2147483644/(b|0)|0|0)?g:-2147483644;c[i>>2]=0-F;c[h>>2]=F+G;if(j)return;j=(c[f>>2]|0)+92|0;G=c[j>>2]|0;if(!G)return;F=G;do{G=F+5|0;a[G>>0]=a[G>>0]&-65;G=c[f>>2]|0;h=G+92|0;i=c[h>>2]|0;c[h>>2]=c[i>>2];h=G+56|0;c[i>>2]=c[h>>2];c[h>>2]=i;h=i+5|0;i=a[h>>0]|0;a[h>>0]=i&-17;if((d[G+49>>0]|0)>=2)a[h>>0]=a[G+48>>0]&3|i&-88;F=c[j>>2]|0}while((F|0)!=0);return}function wc(a){a=a|0;var b=0;b=Fa;Fa=Fa+16|0;lc(a,45947,b)}function xc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b+4|0;f=c[e>>2]|0;switch(f&63){case 4:{g=c[b>>2]|0;h=(c[a+16>>2]|0)+(((1<<(d[a+7>>0]|0))+-1&c[g+8>>2])*20|0)|0;while(1){if((c[h+12>>2]|0)==68?(c[h+8>>2]|0)==(g|0):0)break;i=c[h+16>>2]|0;if(!i){j=2099900;k=21;break}else h=i}if((k|0)==21)return j|0;j=h;return j|0}case 3:{h=c[b>>2]|0;if((f|0)==3?!(h>>>0>4294901759|((h&65535|0)!=0|(h+-65536|0)>>>0>2147352576)):0){f=(h>>>16)+-1|0;if(f>>>0<(c[a+28>>2]|0)>>>0){j=(c[a+12>>2]|0)+(f<<3)|0;return j|0}f=h&-65536;h=0-f|0;g=(c[a+16>>2]|0)+(((((f|0)<0?((f|0)==(h|0)?0:h):f)|0)%((1<<(d[a+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[g+12>>2]|0)==3?(c[g+8>>2]|0)==(f|0):0)break;h=c[g+16>>2]|0;if(!h){j=2099900;k=21;break}else g=h}if((k|0)==21)return j|0;j=g;return j|0}break}case 0:{j=2099900;return j|0}default:{}}g=gd(a,b)|0;while(1){if((c[g+12>>2]|0)==(c[e>>2]|0)?Ec(0,g+8|0,b)|0:0)break;a=c[g+16>>2]|0;if(!a){j=2099900;k=21;break}else g=a}if((k|0)==21)return j|0;j=g;return j|0}function yc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;g=Fa;Fa=Fa+144|0;h=g;i=f+4|0;if(!(c[i>>2]|0))lc(b,45928,g+128|0);j=gd(e,f)|0;k=j+4|0;a:do if((j|0)==2099924|(c[k>>2]|0)!=0){l=e+20|0;m=c[l>>2]|0;n=c[e+16>>2]|0;b:do if(m>>>0>n>>>0){o=m;while(1){p=o+-20|0;c[l>>2]=p;if(!(c[o+-8>>2]|0))break;if(p>>>0>n>>>0)o=p;else break b}q=gd(e,j+8|0)|0;if((q|0)==(j|0)){r=j+16|0;c[o+-4>>2]=c[r>>2];c[r>>2]=p;s=p;break a}r=q;while(1){q=c[r+16>>2]|0;if((q|0)==(j|0))break;else r=q}c[r+16>>2]=p;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[p+16>>2]=c[j+16>>2];c[j+16>>2]=0;c[k>>2]=0;s=j;break a}while(0);l=h;m=l+124|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=e+12|0;m=c[e+28>>2]|0;o=1;q=0;t=1;u=0;while(1){if((t|0)>(m|0))if((o|0)>(m|0)){v=q;break}else w=m;else w=t;if((o|0)>(w|0)){x=0;y=o}else{z=c[l>>2]|0;A=0;B=o;while(1){C=A+((c[z+(B+-1<<3)+4>>2]|0)!=0&1)|0;D=B+1|0;if((B|0)<(w|0)){A=C;B=D}else{x=C;y=D;break}}}B=h+(u<<2)|0;c[B>>2]=(c[B>>2]|0)+x;B=x+q|0;u=u+1|0;if(u>>>0>=31){v=B;break}else{o=y;q=B;t=t<<1}}t=0;q=0;o=1<<(d[e+7>>0]|0);while(1){o=o+-1|0;if(!(c[n+(o*20|0)+4>>2]|0)){E=q;F=t}else{if(((c[n+(o*20|0)+12>>2]|0)==3?(u=c[n+(o*20|0)+8>>2]|0,!((u&65535|0)!=0|(u+-65536|0)>>>0>2147352576)):0)?(l=(u>>>16)+-1|0,l>>>0<32767):0){if(l>>>0>255){u=l;m=0;while(1){B=m+8|0;A=u>>>8;if(u>>>0>65535){u=A;m=B}else{G=B;H=A;break}}}else{G=0;H=l}m=h+(G+(d[400+H>>0]|0)<<2)|0;c[m>>2]=(c[m>>2]|0)+1;I=1}else I=0;E=q+1|0;F=I+t|0}if(!o)break;else{t=F;q=E}}q=F+v|0;if(((c[i>>2]|0)==3?(t=c[f>>2]|0,!((t&65535|0)!=0|(t+-65536|0)>>>0>2147352576)):0)?(o=(t>>>16)+-1|0,o>>>0<32767):0){if(o>>>0>255){t=o;n=0;while(1){m=n+8|0;u=t>>>8;if(t>>>0>65535){t=u;n=m}else{J=m;K=u;break}}}else{J=0;K=o}n=h+(J+(d[400+K>>0]|0)<<2)|0;c[n>>2]=(c[n>>2]|0)+1;L=1}else L=0;n=q+L|0;c:do if((n|0)>0){t=0;u=0;m=1;A=0;B=0;z=0;while(1){r=c[h+(A<<2)>>2]|0;D=(r|0)>0;C=r+u|0;u=D?C:u;r=D&(C|0)>(z|0);D=r?C:t;C=r?m:B;if((u|0)==(n|0)){M=C;N=D;break c}z=m&2147483647;if((z|0)>=(n|0)){M=C;N=D;break}else{t=D;m=m<<1;A=A+1|0;B=C}}}else{M=0;N=0}while(0);Ic(b,e,M,v+1+E-N|0);n=xc(e,f)|0;if((n|0)!=2099900){O=n;Fa=g;return O|0}O=yc(b,e,f)|0;Fa=g;return O|0}else s=j;while(0);c[s+8>>2]=c[f>>2];c[s+12>>2]=c[i>>2];if((c[i>>2]&64|0?a[(c[f>>2]|0)+5>>0]&3:0)?(f=e+5|0,i=a[f>>0]|0,i&4):0){j=c[b+12>>2]|0;a[f>>0]=i&-5;i=j+76|0;c[e+24>>2]=c[i>>2];c[i>>2]=e}O=s;Fa=g;return O|0}function zc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=b+12|0;f=c[e>>2]|0;do if((a[f+50>>0]|0)==2){g=f+20|0;h=c[g>>2]|0;if(!h){vc(b,0);i=f+8|0;j=f+12|0;k=(c[j>>2]|0)+(c[i>>2]|0)|0;l=j;m=k;n=i;o=f+49|0;p=k}else{k=f+49|0;if((a[k>>0]|0)!=5)do Tc(b)|0;while((a[k>>0]|0)!=5);a[k>>0]=0;i=f+8|0;j=f+12|0;q=(c[j>>2]|0)+(c[i>>2]|0)|0;r=q>>>0>(B(c[f+132>>2]|0,(h>>>0)/100|0)|0)>>>0;l=j;m=q;n=i;o=k;p=r?0:h}c[g>>2]=p;r=(m|0)/100|0;i=c[f+128>>2]|0;q=B(r,0-i|0)|0;j=(i|0)<(2147483644/(r|0)|0|0)?q:-2147483644;c[n>>2]=0-j;c[l>>2]=j+m;s=o}else{j=f+12|0;q=c[f+136>>2]|0;r=(q|0)>40?q:40;q=((c[j>>2]|0)/200|0)+1|0;i=B(r,q)|0;t=f+49|0;u=(q|0)<(2147483644/(r>>>0)|0|0)?i:2147483644;do{u=u-(Tc(b)|0)|0;v=(a[t>>0]|0)==5;if((u|0)<=-1600){w=12;break}}while(!v);if((w|0)==12?!v:0){g=((u|0)/(r|0)|0)*200|0;h=f+8|0;c[h>>2]=(c[j>>2]|0)-g+(c[h>>2]|0);c[j>>2]=g;s=t;break}g=(c[f+20>>2]|0)/100|0;h=c[f+128>>2]|0;k=f+8|0;i=B(h,0-g|0)|0;q=(h|0)<(2147483644/(g|0)|0|0)?i:-2147483644;i=(c[j>>2]|0)+(c[k>>2]|0)+q|0;c[k>>2]=0-q;c[j>>2]=i;s=t}while(0);v=f+92|0;if(!(c[v>>2]|0))return;f=0;while(1){if(f>>>0>=4?(a[s>>0]|0)!=5:0){w=22;break}b=c[e>>2]|0;o=b+92|0;m=c[o>>2]|0;c[o>>2]=c[m>>2];o=b+56|0;c[m>>2]=c[o>>2];c[o>>2]=m;o=m+5|0;m=a[o>>0]|0;a[o>>0]=m&-17;if((d[b+49>>0]|0)>=2)a[o>>0]=a[b+48>>0]&3|m&-88;if(!(c[v>>2]|0)){w=22;break}else f=f+1|0}if((w|0)==22)return}function Ac(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=Fa;Fa=Fa+16|0;h=g+8|0;i=g;j=c[d+4>>2]|0;do if((j|0)!=3){if((j&15|0)==4?(k=c[d>>2]|0,Hc(k+16|0,c[k+12>>2]|0,h)|0):0){c[i>>2]=c[h>>2];c[i+4>>2]=3;l=i;m=6;break}}else{l=d;m=6}while(0);a:do if((m|0)==6){i=c[e+4>>2]|0;do if((i|0)==3)n=e;else{if((i&15|0)==4?(j=c[e>>2]|0,Hc(j+16|0,c[j+12>>2]|0,h)|0):0){n=h;break}break a}while(0);c[b>>2]=dd(f+-6|0,c[l>>2]|0,c[n>>2]|0)|0;c[b+4>>2]=3;Fa=g;return}while(0);if(!(Lc(a,d,e,b,f)|0))ed(a,d,e);else{Fa=g;return}}function Bc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=Fa;Fa=Fa+16|0;i=h;j=g+4|0;k=c[j>>2]|0;a:do switch(k&15){case 5:{l=c[g>>2]|0;m=c[l+8>>2]|0;do if(m|0?(n=m+6|0,o=a[n>>0]|0,(o&16)==0):0){p=c[(c[e+12>>2]|0)+172>>2]|0;q=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[p+8>>2])*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(p|0):0){r=7;break}s=c[q+16>>2]|0;if(!s){t=2099900;break}else q=s}if((r|0)==7)t=q;p=t+4|0;if(c[p>>2]|0)if(!t)break;else{u=t;v=p;break a}else{a[n>>0]=o|16;break}}while(0);c[f>>2]=(cd(l)|0)<<16;c[f+4>>2]=3;Fa=h;return}case 4:{c[f>>2]=c[(c[g>>2]|0)+12>>2]<<16;c[f+4>>2]=3;Fa=h;return}case 7:{w=(c[g>>2]|0)+8|0;r=16;break}default:{w=(c[e+12>>2]|0)+276+((k&15)<<2)|0;r=16}}while(0);if((r|0)==16){r=c[w>>2]|0;b:do if(!r)x=2099900;else{w=c[(c[e+12>>2]|0)+172>>2]|0;k=(c[r+16>>2]|0)+(((1<<(d[r+7>>0]|0))+-1&c[w+8>>2])*20|0)|0;while(1){if((c[k+12>>2]|0)==68?(c[k+8>>2]|0)==(w|0):0)break;t=c[k+16>>2]|0;if(!t){x=2099900;break b}else k=t}x=k}while(0);r=x+4|0;if(!(c[r>>2]|0))Qc(e,g,45892);else{u=x;v=r}}r=e+28|0;x=f-(c[r>>2]|0)|0;f=e+8|0;w=c[f>>2]|0;c[f>>2]=w+8;c[w>>2]=c[u>>2];c[w+4>>2]=c[v>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[j>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[j>>2];j=(c[f>>2]|0)+-24|0;v=a[(c[e+16>>2]|0)+18>>0]&1;g=e+38|0;w=(b[g>>1]|0)+1<<16>>16;b[g>>1]=w;if((w&65535)>199){if(w<<16>>16==200)lc(e,45525,i);if((w&65535)>224)jc(e,6)}w=v<<24>>24!=0;if(!w){v=e+36|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}if(!(pc(e,j,1)|0))qc(e);if(!w){w=e+36|0;b[w>>1]=(b[w>>1]|0)+-1<<16>>16}b[g>>1]=(b[g>>1]|0)+-1<<16>>16;g=(c[r>>2]|0)+x|0;x=c[f>>2]|0;r=x+-8|0;c[f>>2]=r;c[g>>2]=c[r>>2];c[g+4>>2]=c[x+-4>>2];Fa=h;return}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=Fa;Fa=Fa+48|0;f=e+32|0;g=e;h=b+8|0;i=b+12|0;j=d;d=c[h>>2]|0;a:while(1){k=d+-16|0;l=d+-12|0;m=c[l>>2]|0;n=d+-8|0;do if((m|0)==3|(m&15|0)==4){o=d+-4|0;p=c[o>>2]|0;if((p&15|0)==4){q=c[n>>2]|0;r=q;s=p;t=q;u=m}else{if((p|0)!=3){v=16;break}p=Nc(g,c[n>>2]|0)|0;if(p>>>0<41)w=Oc(b,g,p)|0;else{if((p+1|0)>>>0>4294967277){v=9;break a}q=c[i>>2]|0;x=c[q+44>>2]|0;y=p+17|0;z=q+4|0;A=Ma[c[q>>2]&1](c[z>>2]|0,0,4,y)|0;if((y|0)!=0&(A|0)==0){if(!(a[q+51>>0]|0)){v=13;break a}vc(b,1);B=Ma[c[q>>2]&1](c[z>>2]|0,0,4,y)|0;if(!B){v=13;break a}else C=B}else C=A;A=q+12|0;c[A>>2]=(c[A>>2]|0)+y;y=q+56|0;a[C+5>>0]=a[q+48>>0]&3;a[C+4>>0]=20;c[C>>2]=c[y>>2];c[y>>2]=C;c[C+12>>2]=p;c[C+8>>2]=x;a[C+6>>0]=0;x=C+16|0;Xu(x|0,g|0,p|0)|0;a[x+p>>0]=0;w=C}c[n>>2]=w;p=(a[w+4>>0]|64)&255;c[o>>2]=p;r=w;s=p;t=w;u=c[l>>2]|0}p=c[t+12>>2]|0;o=(u&15|0)==4;if(!p){if(!((u|0)==3&(o^1))){D=2;break}x=Nc(g,c[k>>2]|0)|0;if(x>>>0<41)E=Oc(b,g,x)|0;else{if((x+1|0)>>>0>4294967277){v=23;break a}y=c[i>>2]|0;q=c[y+44>>2]|0;A=x+17|0;B=y+4|0;z=Ma[c[y>>2]&1](c[B>>2]|0,0,4,A)|0;if((A|0)!=0&(z|0)==0){if(!(a[y+51>>0]|0)){v=27;break a}vc(b,1);F=Ma[c[y>>2]&1](c[B>>2]|0,0,4,A)|0;if(!F){v=27;break a}else G=F}else G=z;z=y+12|0;c[z>>2]=(c[z>>2]|0)+A;A=y+56|0;a[G+5>>0]=a[y+48>>0]&3;a[G+4>>0]=20;c[G>>2]=c[A>>2];c[A>>2]=G;c[G+12>>2]=x;c[G+8>>2]=q;a[G+6>>0]=0;q=G+16|0;Xu(q|0,g|0,x|0)|0;a[q+x>>0]=0;E=G}c[k>>2]=E;c[l>>2]=(a[E+4>>0]|64)&255;D=2;break}if(o?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[k>>2]=r;c[l>>2]=s;D=2;break}b:do if((j|0)>1){o=p;x=1;while(1){q=d+(0-x<<3)+-8|0;A=q+4|0;y=c[A>>2]|0;if((y&15|0)==4)H=c[q>>2]|0;else{if((y|0)!=3){I=o;J=x;break b}y=Nc(g,c[q>>2]|0)|0;if(y>>>0<41)K=Oc(b,g,y)|0;else{if((y+1|0)>>>0>4294967277){v=41;break a}z=c[i>>2]|0;F=c[z+44>>2]|0;B=y+17|0;L=z+4|0;M=Ma[c[z>>2]&1](c[L>>2]|0,0,4,B)|0;if((B|0)!=0&(M|0)==0){if(!(a[z+51>>0]|0)){v=45;break a}vc(b,1);N=Ma[c[z>>2]&1](c[L>>2]|0,0,4,B)|0;if(!N){v=45;break a}else O=N}else O=M;M=z+12|0;c[M>>2]=(c[M>>2]|0)+B;B=z+56|0;a[O+5>>0]=a[z+48>>0]&3;a[O+4>>0]=20;c[O>>2]=c[B>>2];c[B>>2]=O;c[O+12>>2]=y;c[O+8>>2]=F;a[O+6>>0]=0;F=O+16|0;Xu(F|0,g|0,y|0)|0;a[F+y>>0]=0;K=O}c[q>>2]=K;c[A>>2]=(a[K+4>>0]|64)&255;H=K}A=c[H+12>>2]|0;if(A>>>0>=(-3-o|0)>>>0){v=49;break a}q=A+o|0;A=x+1|0;if((A|0)<(j|0)){o=q;x=A}else{I=q;J=A;break}}}else{I=p;J=1}while(0);p=c[i>>2]|0;x=p+116|0;o=p+124|0;A=c[o>>2]|0;if(A>>>0<I>>>0){q=I>>>0>32?I:32;if((q+1|0)>>>0>4294967293){v=54;break a}y=c[x>>2]|0;F=(y|0)==0;B=p+4|0;z=Ma[c[p>>2]&1](c[B>>2]|0,y,A,q)|0;if(!z){if(!(a[p+51>>0]|0)){v=58;break a}vc(b,1);M=Ma[c[p>>2]&1](c[B>>2]|0,y,A,q)|0;if(!M){v=58;break a}else P=M}else P=z;z=p+12|0;c[z>>2]=(F?0:0-A|0)+q+(c[z>>2]|0);c[x>>2]=P;c[o>>2]=q;Q=P}else Q=c[x>>2]|0;x=0;q=J;while(1){o=c[d+(0-q<<3)>>2]|0;z=c[o+12>>2]|0;Xu(Q+x|0,o+16|0,z|0)|0;c[524978]=(c[524978]|0)+(z>>>5);x=z+x|0;if((q|0)<=1)break;else q=q+-1|0}q=0-J|0;z=d+(q<<3)|0;if(x>>>0<41)R=Oc(b,Q,x)|0;else{if((x+1|0)>>>0>4294967277){v=65;break a}o=c[i>>2]|0;A=c[o+44>>2]|0;F=x+17|0;p=o+4|0;M=Ma[c[o>>2]&1](c[p>>2]|0,0,4,F)|0;if((F|0)!=0&(M|0)==0){if(!(a[o+51>>0]|0)){v=69;break a}vc(b,1);y=Ma[c[o>>2]&1](c[p>>2]|0,0,4,F)|0;if(!y){v=69;break a}else S=y}else S=M;M=o+12|0;c[M>>2]=(c[M>>2]|0)+F;F=o+56|0;a[S+5>>0]=a[o+48>>0]&3;a[S+4>>0]=20;c[S>>2]=c[F>>2];c[F>>2]=S;c[S+12>>2]=x;c[S+8>>2]=A;a[S+6>>0]=0;A=S+16|0;Xu(A|0,Q|0,x|0)|0;a[A+x>>0]=0;R=S}c[z>>2]=R;c[d+(q<<3)+4>>2]=(a[R+4>>0]|64)&255;D=J}else v=16;while(0);if((v|0)==16){v=0;if(!(Lc(b,k,n,k,28)|0)){v=17;break}else D=2}j=j+1-D|0;d=(c[h>>2]|0)+(1-D<<3)|0;c[h>>2]=d;if((j|0)<=1){v=73;break}}switch(v|0){case 9:{wc(b);break}case 13:{jc(b,4);break}case 17:{Pc(b,k,n);break}case 23:{wc(b);break}case 27:{jc(b,4);break}case 41:{wc(b);break}case 45:{jc(b,4);break}case 49:{lc(b,45723,f);break}case 54:{wc(b);break}case 58:{jc(b,4);break}case 65:{wc(b);break}case 69:{jc(b,4);break}case 73:{Fa=e;return}}}
  7558. function _d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=c[a>>2]|0;e=a+28|0;f=c[e>>2]|0;g=a+20|0;h=c[g>>2]|0;do if((f|0)!=-1){i=c[d+12>>2]|0;j=f;while(1){k=i+(j<<2)|0;l=c[k>>2]|0;m=(l>>>14)+-131071|0;n=j;j=(m|0)==-1?-1:j+1+m|0;if((n|0)>0?(m=k+-4|0,o=c[m>>2]|0,((o&63)+-37|0)>>>0<5):0){p=m;q=o}else{p=k;q=l}if((q&63|0)==41){c[p>>2]=q&8372224|q>>>23<<6|40;o=h+~n|0;if((((o|0)>-1?o:0-o|0)|0)>131071){r=8;break}s=c[k>>2]&16383;t=(o<<14)+2147467264|0}else{o=h+~n|0;if((((o|0)>-1?o:0-o|0)|0)>131071){r=11;break}s=(o<<14)+2147467264|0;t=l&16383}c[k>>2]=s|t;if((j|0)==-1){r=14;break}}if((r|0)==8)be(c[a+12>>2]|0,46263);else if((r|0)==11)be(c[a+12>>2]|0,46263);else if((r|0)==14){u=c[g>>2]|0;break}}else u=h;while(0);c[e>>2]=-1;e=d+48|0;if((u|0)<(c[e>>2]|0)){v=c[d+12>>2]|0;w=u}else{u=d+12|0;h=ce(c[(c[a+12>>2]|0)+32>>2]|0,c[u>>2]|0,e,4,2147483645,46611)|0;c[u>>2]=h;v=h;w=c[g>>2]|0}c[v+(w<<2)>>2]=b;b=c[g>>2]|0;w=d+52|0;v=a+12|0;if((b|0)<(c[w>>2]|0)){x=d+20|0;y=b;z=c[v>>2]|0;A=z+8|0;B=c[A>>2]|0;C=c[x>>2]|0;D=C+(y<<2)|0;c[D>>2]=B;E=c[g>>2]|0;F=E+1|0;c[g>>2]=F;return E|0}else{b=d+20|0;c[b>>2]=ce(c[(c[v>>2]|0)+32>>2]|0,c[b>>2]|0,w,4,2147483645,46611)|0;x=b;y=c[g>>2]|0;z=c[v>>2]|0;A=z+8|0;B=c[A>>2]|0;C=c[x>>2]|0;D=C+(y<<2)|0;c[D>>2]=B;E=c[g>>2]|0;F=E+1|0;c[g>>2]=F;return E|0}return 0}function $d(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=e+16|0;g=c[f>>2]|0;h=e+12|0;i=c[h>>2]|0;do if(c[g>>2]|0?a[g+9>>0]|0:0){j=e+28|0;k=c[j>>2]|0;c[j>>2]=-1;l=_d(e,2147450916)|0;do if((k|0)!=-1){if((l|0)==-1){m=k;n=d[g+8>>0]|0;break}o=c[(c[e>>2]|0)+12>>2]|0;p=l;while(1){q=o+(p<<2)|0;r=c[q>>2]|0;s=(r>>>14)+-131071|0;t=(s|0)==-1?-1:p+1+s|0;if((t|0)==-1)break;else p=t}o=k+~p|0;if((((o|0)>-1?o:0-o|0)|0)>131071)be(c[h>>2]|0,46263);else{c[q>>2]=(o<<14)+2147467264|r&16383;u=11;break}}else u=11;while(0);if((u|0)==11){k=d[g+8>>0]|0;if((l|0)==-1){c[e+24>>2]=c[e+20>>2];break}else{m=l;n=k}}k=c[(c[e>>2]|0)+12>>2]|0;o=(n<<6)+64&16320;t=m;do{s=k+(t<<2)|0;v=c[s>>2]|0;w=(v>>>14)+-131071|0;c[s>>2]=v&-16321|o;t=(w|0)==-1?-1:t+1+w|0}while((t|0)!=-1);c[e+24>>2]=c[e+20>>2];t=c[j>>2]|0;if((t|0)==-1){c[j>>2]=m;break}o=t;while(1){x=k+(o<<2)|0;y=c[x>>2]|0;t=(y>>>14)+-131071|0;l=(t|0)==-1?-1:o+1+t|0;if((l|0)==-1)break;else o=l}k=m+~o|0;if((((k|0)>-1?k:0-k|0)|0)>131071)be(c[h>>2]|0,46263);else{c[x>>2]=(k<<14)+2147467264|y&16383;break}}while(0);if(a[g+10>>0]|0){y=i+32|0;x=Oc(c[y>>2]|0,56767,5)|0;m=i+44|0;n=c[m>>2]|0;r=n+24|0;q=i+28|0;k=c[q>>2]|0;j=c[k+20>>2]|0;l=n+28|0;t=c[l>>2]|0;w=n+32|0;if((t|0)<(c[w>>2]|0)){z=k;A=t;B=n;C=c[r>>2]|0}else{n=ce(c[y>>2]|0,c[r>>2]|0,w,16,32767,46290)|0;c[r>>2]=n;z=c[q>>2]|0;A=c[l>>2]|0;B=c[m>>2]|0;C=n}c[C+(t<<4)>>2]=x;c[C+(t<<4)+8>>2]=0;a[C+(t<<4)+12>>0]=a[z+46>>0]|0;c[C+(t<<4)+4>>2]=j;c[l>>2]=A+1;A=(c[B+24>>2]|0)+(t<<4)|0;t=b[(c[z+16>>2]|0)+6>>1]|0;z=B+16|0;l=c[z>>2]|0;if((l|0)>(t|0)){j=B+12|0;B=t;t=l;while(1){l=c[(c[j>>2]|0)+(B<<4)>>2]|0;C=c[A>>2]|0;x=a[l+4>>0]|0;do if(x<<24>>24==(a[C+4>>0]|0)){if(x<<24>>24==4){if((l|0)!=(C|0)){u=35;break}}else{n=c[l+12>>2]|0;if((l|0)!=(C|0)){if((n|0)!=(c[C+12>>2]|0)){u=35;break}if(ss(l+16|0,C+16|0,n)|0){u=35;break}}}de(i,B,A);D=B;E=c[z>>2]|0}else u=35;while(0);if((u|0)==35){u=0;D=B+1|0;E=t}if((D|0)<(E|0)){B=D;t=E}else break}}}E=c[g>>2]|0;c[f>>2]=E;f=g+8|0;t=a[f>>0]|0;D=e+46|0;B=a[D>>0]|0;u=B&255;z=c[(c[h>>2]|0)+44>>2]|0;A=z+4|0;c[A>>2]=(t&255)-u+(c[A>>2]|0);if((t&255)<(B&255)){A=c[e+20>>2]|0;j=c[e+40>>2]|0;C=c[(c[e>>2]|0)+24>>2]|0;l=c[z>>2]|0;x=u;while(1){u=(x&255)+-1<<24>>24;c[C+((b[l+(j+(u&255)<<1)>>1]|0)*12|0)+8>>2]=A;if((u&255)>(t&255))x=x+-1|0;else break}a[D>>0]=t;F=t}else F=B;a[e+48>>0]=F;F=c[i+44>>2]|0;c[F+28>>2]=b[g+4>>1];B=b[g+6>>1]|0;if(!E)if((c[F+16>>2]|0)>(B|0))fe(i,(c[F+12>>2]|0)+(B<<4)|0);else return;F=z+16|0;if((c[F>>2]|0)<=(B|0))return;i=z+12|0;z=g+9|0;g=B;B=t;while(1){t=c[i>>2]|0;E=t+(g<<4)+12|0;D=B&255;if((d[E>>0]|0)>(B&255)){if(a[z>>0]|0?(x=c[t+(g<<4)+4>>2]|0,(x|0)!=-1):0){t=c[(c[e>>2]|0)+12>>2]|0;A=(D<<6)+64&16320;D=x;do{x=t+(D<<2)|0;j=c[x>>2]|0;l=(j>>>14)+-131071|0;c[x>>2]=j&-16321|A;D=(l|0)==-1?-1:D+1+l|0}while((D|0)!=-1)}a[E>>0]=B}D=g+((ee(c[h>>2]|0,g)|0)==0&1)|0;if((D|0)>=(c[F>>2]|0))break;g=D;B=a[f>>0]|0}return}function ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[b+32>>2]|0;g=id(f,d,e)|0;e=f+8|0;d=c[e>>2]|0;c[e>>2]=d+8;c[d>>2]=g;c[d+4>>2]=(a[g+4>>0]|64)&255;d=c[(c[b+28>>2]|0)+4>>2]|0;b=(c[e>>2]|0)+-8|0;h=xc(d,b)|0;if((h|0)==2099900)i=yc(f,d,b)|0;else i=h;h=i+4|0;do if(!(c[h>>2]|0)){c[i>>2]=1;c[h>>2]=1;b=c[f+12>>2]|0;d=b+12|0;j=c[d>>2]|0;if((j|0)>0)if(!(a[b+51>>0]|0)){k=b+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[d>>2]=-1600;l=g;break}else{zc(f);l=g;break}else l=g}else l=c[i+8>>2]|0;while(0);c[e>>2]=(c[e>>2]|0)+-8;return l|0}function be(a,b){a=a|0;b=b|0;ke(a,b,c[a+12>>2]|0)}function ce(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=Fa;Fa=Fa+16|0;j=i;k=c[e>>2]|0;if((k|0)>=((g|0)/2|0|0))if((k|0)<(g|0))l=g;else{c[j>>2]=h;c[j+4>>2]=g;lc(b,46455,j)}else{j=k<<1;l=(j|0)>4?j:4}if((l+1|0)>>>0>(4294967293/(f>>>0)|0)>>>0)wc(b);j=B(k,f)|0;k=B(l,f)|0;f=c[b+12>>2]|0;g=(d|0)==0;h=f+4|0;m=Ma[c[f>>2]&1](c[h>>2]|0,d,j,k)|0;if(!((k|0)!=0&(m|0)==0)){n=m;o=f+12|0;p=c[o>>2]|0;q=0-j|0;r=g?0:q;s=k+r|0;t=s+p|0;c[o>>2]=t;c[e>>2]=l;Fa=i;return n|0}if(!(a[f+51>>0]|0))jc(b,4);vc(b,1);m=Ma[c[f>>2]&1](c[h>>2]|0,d,j,k)|0;if(!m)jc(b,4);else{n=m;o=f+12|0;p=c[o>>2]|0;q=0-j|0;r=g?0:q;s=k+r|0;t=s+p|0;c[o>>2]=t;c[e>>2]=l;Fa=i;return n|0}return 0}function de(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=Fa;Fa=Fa+16|0;i=h;j=c[e+28>>2]|0;k=c[e+44>>2]|0;l=k+12|0;m=c[l>>2]|0;n=a[m+(f<<4)+12>>0]|0;if((n&255)<(d[g+12>>0]|0)){o=c[(c[(c[j>>2]|0)+24>>2]|0)+((b[(c[c[(c[j+12>>2]|0)+44>>2]>>2]|0)+((c[j+40>>2]|0)+(n&255)<<1)>>1]|0)*12|0)>>2]|0;n=c[e+32>>2]|0;p=(c[m+(f<<4)>>2]|0)+16|0;q=m+(f<<4)+8|0;r=ge(c[q>>2]|0)|0;s=he(c[q>>2]|0)|0;c[i>>2]=p;c[i+4>>2]=r;c[i+8>>2]=s;c[i+12>>2]=o+16;ie(e,hd(n,46390,i)|0)}je(j,c[m+(f<<4)+4>>2]|0,c[g+4>>2]|0);g=k+16|0;k=(c[g>>2]|0)+-1|0;if((k|0)<=(f|0)){t=k;c[g>>2]=t;Fa=h;return}k=f;do{f=c[l>>2]|0;m=f+(k<<4)|0;k=k+1|0;j=f+(k<<4)|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];j=(c[g>>2]|0)+-1|0}while((k|0)<(j|0));t=j;c[g>>2]=t;Fa=h;return}function ee(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=c[e+28>>2]|0;h=c[e+44>>2]|0;i=c[h+12>>2]|0;j=b[(c[g+16>>2]|0)+4>>1]|0;k=c[h+28>>2]|0;if((k|0)<=(j|0)){l=0;return l|0}m=c[h+24>>2]|0;h=c[i+(f<<4)>>2]|0;n=a[h+4>>0]|0;o=h+12|0;p=h+16|0;q=n<<24>>24==4;r=j;a:while(1){s=m+(r<<4)|0;j=c[s>>2]|0;do if((a[j+4>>0]|0)==n<<24>>24){if(q)if((j|0)==(h|0))break a;else break;t=c[j+12>>2]|0;if((j|0)==(h|0))break a;if((t|0)==(c[o>>2]|0)?(ss(j+16|0,p,t)|0)==0:0)break a}while(0);j=r+1|0;if((j|0)<(k|0))r=j;else{l=0;u=15;break}}if((u|0)==15)return l|0;u=a[m+(r<<4)+12>>0]|0;if((d[i+(f<<4)+12>>0]|0)>(u&255)?(r=c[i+(f<<4)+4>>2]|0,(r|0)!=-1):0){i=c[(c[g>>2]|0)+12>>2]|0;g=((u&255)<<6)+64&16320;u=r;do{r=i+(u<<2)|0;m=c[r>>2]|0;k=(m>>>14)+-131071|0;c[r>>2]=m&-16321|g;u=(k|0)==-1?-1:u+1+k|0}while((u|0)!=-1)}de(e,f,s);l=1;return l|0}function fe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Fa;Fa=Fa+16|0;f=e;e=c[d>>2]|0;if((a[e+4>>0]|0)==4)g=(a[e+6>>0]|0)==0?46303:46356;else g=46303;h=c[b+32>>2]|0;i=d+8|0;d=ge(c[i>>2]|0)|0;j=he(c[i>>2]|0)|0;c[f>>2]=e+16;c[f+4>>2]=d;c[f+8>>2]=j;ie(b,hd(h,g,f)|0)}function ge(a){a=a|0;return (Lg(a,0)|0)<<16|0}function he(a){a=a|0;var b=0,d=0;b=Fa;Fa=Fa+16|0;d=b;Lg(a,d)|0;Fa=b;return c[d>>2]<<16|0}function ie(a,b){a=a|0;b=b|0;c[a+12>>2]=0;be(a,b)}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c[a+20>>2]|0)==(d|0)){c[a+24>>2]=d;e=a+28|0;if((b|0)==-1)return;f=c[e>>2]|0;if((f|0)==-1){c[e>>2]=b;return}e=c[(c[a>>2]|0)+12>>2]|0;g=f;while(1){h=e+(g<<2)|0;i=c[h>>2]|0;f=(i>>>14)+-131071|0;j=(f|0)==-1?-1:g+1+f|0;if((j|0)==-1)break;else g=j}e=~g+b|0;if((((e|0)>-1?e:0-e|0)|0)>131071)be(c[a+12>>2]|0,46263);c[h>>2]=(e<<14)+2147467264|i&16383;return}if((b|0)==-1)return;i=c[(c[a>>2]|0)+12>>2]|0;e=b;while(1){b=i+(e<<2)|0;h=c[b>>2]|0;g=(h>>>14)+-131071|0;j=e;e=(g|0)==-1?-1:e+1+g|0;if((j|0)>0?(g=b+-4|0,f=c[g>>2]|0,((f&63)+-37|0)>>>0<5):0){k=g;l=f}else{k=b;l=h}if((l&63|0)!=41){f=~j+d|0;if((((f|0)>-1?f:0-f|0)|0)>131071){m=20;break}else{n=f;o=h}}else{c[k>>2]=l&8372224|l>>>23<<6|40;h=~j+d|0;if((((h|0)>-1?h:0-h|0)|0)>131071){m=17;break}n=h;o=c[b>>2]|0}c[b>>2]=o&16383|(n<<14)+2147467264;if((e|0)==-1){m=22;break}}if((m|0)==17)be(c[a+12>>2]|0,46263);else if((m|0)==20)be(c[a+12>>2]|0,46263);else if((m|0)==22)return}function ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=Fa;Fa=Fa+96|0;g=f+88|0;h=f+80|0;i=f+64|0;j=f;f=(c[b+48>>2]|0)+16|0;k=ft(f)|0;a:do switch(a[f>>0]|0){case 61:{l=f+1|0;if(k>>>0>60){m=j;n=l;o=m+59|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[j+59>>0]=0;break a}else{Xu(j|0,l|0,k|0)|0;break a}break}case 64:{if(k>>>0>60){a[j>>0]=a[46115]|0;a[j+1>>0]=a[46116]|0;a[j+2>>0]=a[46117]|0;m=j+3|0;n=f+1+k+-57|0;o=m+57|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));break a}else{Xu(j|0,f+1|0,k|0)|0;break a}break}default:{l=rt(f,10)|0;m=j;n=46119;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));p=j+9|0;q=(l|0)==0;if(k>>>0<45&q){Xu(p|0,f|0,k|0)|0;r=p+k|0}else{s=q?k:l-f|0;q=s>>>0<45?s:45;Xu(p|0,f|0,q|0)|0;s=p+q|0;a[s>>0]=a[46115]|0;a[s+1>>0]=a[46116]|0;a[s+2>>0]=a[46117]|0;r=s+3|0};a[r>>0]=a[46129]|0;a[r+1>>0]=a[46130]|0;a[r+2>>0]=a[46131]|0}}while(0);r=b+32|0;f=c[r>>2]|0;k=c[b+4>>2]|0;c[i>>2]=j;c[i+4>>2]=k;c[i+8>>2]=d;d=hd(f,46481,i)|0;if(!e){t=c[r>>2]|0;jc(t,3)}i=c[r>>2]|0;if((e+-287|0)>>>0<3){f=b+40|0;k=c[f>>2]|0;j=k+4|0;n=c[j>>2]|0;m=n+1|0;o=k+8|0;s=c[o>>2]|0;if(m>>>0>s>>>0){if(s>>>0>2147483645)ke(b,46491,0);q=s<<1;if((q|0)==-2)wc(i);p=c[k>>2]|0;u=c[i+12>>2]|0;v=(p|0)==0;w=u+4|0;x=Ma[c[u>>2]&1](c[w>>2]|0,p,s,q)|0;if((q|0)!=0&(x|0)==0){if(!(a[u+51>>0]|0))jc(i,4);vc(i,1);y=Ma[c[u>>2]&1](c[w>>2]|0,p,s,q)|0;if(!y)jc(i,4);else z=y}else z=x;x=u+12|0;c[x>>2]=(v?0:0-s|0)+q+(c[x>>2]|0);c[k>>2]=z;c[o>>2]=q;q=c[j>>2]|0;A=q+1|0;B=z;C=q}else{A=m;B=c[k>>2]|0;C=n}c[j>>2]=A;a[B+C>>0]=0;C=c[r>>2]|0;c[h>>2]=c[c[f>>2]>>2];D=hd(C,46516,h)|0}else D=le(b,e)|0;c[g>>2]=d;c[g+4>>2]=D;hd(i,46521,g)|0;t=c[r>>2]|0;jc(t,3)}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=Fa;Fa=Fa+128|0;e=d+112|0;f=d+104|0;g=d+96|0;h=d+88|0;i=d+80|0;j=d+72|0;k=d+64|0;l=d+56|0;m=d+48|0;n=d+40|0;o=d+32|0;p=d+24|0;q=d+16|0;r=d+8|0;s=d;do switch(b|0){case 38:{t=c[a+32>>2]|0;c[s>>2]=46532;u=hd(t,46516,s)|0;Fa=d;return u|0}case 124:{t=c[a+32>>2]|0;c[r>>2]=46534;u=hd(t,46516,r)|0;Fa=d;return u|0}case 295:{t=c[a+32>>2]|0;c[q>>2]=46536;u=hd(t,46516,q)|0;Fa=d;return u|0}case 290:{t=c[a+32>>2]|0;c[p>>2]=46539;u=hd(t,46516,p)|0;Fa=d;return u|0}case 291:{t=c[a+32>>2]|0;c[o>>2]=46542;u=hd(t,46516,o)|0;Fa=d;return u|0}case 292:{t=c[a+32>>2]|0;c[n>>2]=46545;u=hd(t,46516,n)|0;Fa=d;return u|0}case 293:{t=c[a+32>>2]|0;c[m>>2]=46549;u=hd(t,46516,m)|0;Fa=d;return u|0}case 294:{t=c[a+32>>2]|0;c[l>>2]=46553;u=hd(t,46516,l)|0;Fa=d;return u|0}case 126:{t=c[a+32>>2]|0;c[k>>2]=64125;u=hd(t,46516,k)|0;Fa=d;return u|0}case 92:{t=c[a+32>>2]|0;c[j>>2]=46557;u=hd(t,46516,j)|0;Fa=d;return u|0}case 64:{t=c[a+32>>2]|0;c[i>>2]=46559;u=hd(t,46516,i)|0;Fa=d;return u|0}case 296:{t=c[a+32>>2]|0;c[h>>2]=46561;u=hd(t,46516,h)|0;Fa=d;return u|0}case 36:{t=c[a+32>>2]|0;c[g>>2]=46564;u=hd(t,46516,g)|0;Fa=d;return u|0}default:{if((b|0)<257){t=c[a+32>>2]|0;c[f>>2]=b;u=hd(t,46566,f)|0;Fa=d;return u|0}t=c[656+(b+-257<<2)>>2]|0;if((b|0)>=286){u=t;Fa=d;return u|0}v=c[a+32>>2]|0;c[e>>2]=t;u=hd(v,46516,e)|0;Fa=d;return u|0}}while(0);return 0}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Fa;Fa=Fa+32|0;f=e+8|0;g=e;h=e+20|0;e=a+12|0;i=c[(c[e>>2]|0)+32>>2]|0;j=c[(c[a>>2]|0)+64>>2]|0;if(!j)k=47073;else{a=(Lg(j,0)|0)<<16;Lg(j,h)|0;j=c[h>>2]<<16;c[g>>2]=a;c[g+4>>2]=j;k=hd(i,47044,g)|0}c[f>>2]=d;c[f+4>>2]=b<<16;c[f+8>>2]=k;k=hd(i,47087,f)|0;be(c[e>>2]|0,k)}function ne(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=Fa;Fa=Fa+32|0;g=f+16|0;h=f;i=d+28|0;j=c[i>>2]|0;k=d+4|0;l=d+8|0;c[l>>2]=c[k>>2];m=d+20|0;if((c[m>>2]|0)==286){n=d+12|0;c[n>>2]=Wd(d,d+16|0)|0;o=n}else{n=m;p=c[n+4>>2]|0;q=d+12|0;c[q>>2]=c[n>>2];c[q+4>>2]=p;c[m>>2]=286;o=d+12|0}pe(d,h,0)|0;if((c[o>>2]|0)!=275)Yd(d,275);c[l>>2]=c[k>>2];if((c[m>>2]|0)==286){p=Wd(d,d+16|0)|0;c[o>>2]=p;r=p}else{p=m;q=c[p>>2]|0;n=c[p+4>>2]|0;p=d+12|0;c[p>>2]=q;c[p+4>>2]=n;c[m>>2]=286;r=q}a:do switch(r|0){case 258:case 266:{Qe(c[i>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[j+46>>0]|0;q=j+12|0;n=c[(c[q>>2]|0)+44>>2]|0;b[g+4>>1]=c[n+28>>2];b[g+6>>1]=c[n+16>>2];a[g+9>>0]=0;n=j+16|0;c[g>>2]=c[n>>2];c[n>>2]=g;n=c[h+8>>2]|0;p=c[k>>2]|0;s=(c[o>>2]|0)==266;c[l>>2]=p;t=(c[m>>2]|0)==286;do if(s){if(t){u=Wd(d,d+16|0)|0;c[o>>2]=u;v=u}else{u=m;w=c[u>>2]|0;x=c[u+4>>2]|0;u=d+12|0;c[u>>2]=w;c[u+4>>2]=x;c[m>>2]=286;v=w}if((v|0)!=288)Yd(d,288);w=d+16|0;x=c[w>>2]|0;c[l>>2]=c[k>>2];if((c[m>>2]|0)==286){c[o>>2]=Wd(d,w)|0;y=x;break}else{w=m;u=c[w+4>>2]|0;z=d+12|0;c[z>>2]=c[w>>2];c[z+4>>2]=u;c[m>>2]=286;y=x;break}}else{if(t)c[o>>2]=Wd(d,d+16|0)|0;else{x=m;u=c[x+4>>2]|0;z=d+12|0;c[z>>2]=c[x>>2];c[z+4>>2]=u;c[m>>2]=286}y=id(c[d+32>>2]|0,56767,5)|0}while(0);t=c[d+44>>2]|0;s=t+12|0;u=t+16|0;z=c[u>>2]|0;x=t+20|0;if((z|0)<(c[x>>2]|0)){A=c[s>>2]|0;B=z}else{t=ce(c[d+32>>2]|0,c[s>>2]|0,x,16,32767,46290)|0;c[s>>2]=t;A=t;B=c[u>>2]|0}c[A+(z<<4)>>2]=y;c[A+(z<<4)+8>>2]=p;a[A+(z<<4)+12>>0]=a[(c[i>>2]|0)+46>>0]|0;c[A+(z<<4)+4>>2]=n;c[u>>2]=B+1;ee(d,z)|0;b:while(1){switch(c[o>>2]|0){case 286:case 262:case 261:case 260:{C=29;break b;break}case 285:case 59:break;default:break b}Xd(d)}if((C|0)==29){$d(j);Fa=f;return}n=j+28|0;p=c[n>>2]|0;c[n>>2]=-1;n=_d(j,2147450916)|0;if((p|0)!=-1)if((n|0)!=-1){z=c[(c[j>>2]|0)+12>>2]|0;u=n;while(1){D=z+(u<<2)|0;E=c[D>>2]|0;t=(E>>>14)+-131071|0;s=(t|0)==-1?-1:u+1+t|0;if((s|0)==-1)break;else u=s}z=p+~u|0;if((((z|0)>-1?z:0-z|0)|0)>131071)be(c[q>>2]|0,46263);else{c[D>>2]=(z<<14)+2147467264|E&16383;F=n;break a}}else F=p;else F=n;break}default:{qe(c[i>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[j+46>>0]|0;z=c[(c[j+12>>2]|0)+44>>2]|0;b[g+4>>1]=c[z+28>>2];b[g+6>>1]=c[z+16>>2];a[g+9>>0]=0;z=j+16|0;c[g>>2]=c[z>>2];c[z>>2]=g;F=c[h+12>>2]|0}}while(0);c:do{h=c[o>>2]|0;switch(h|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}Xd(d)}while((h|0)!=274);$d(j);d=j+28|0;do if((c[o>>2]&-2|0)==260){h=c[d>>2]|0;c[d>>2]=-1;g=_d(j,2147450916)|0;do if((h|0)!=-1)if((g|0)!=-1){i=c[(c[j>>2]|0)+12>>2]|0;E=g;while(1){G=i+(E<<2)|0;H=c[G>>2]|0;D=(H>>>14)+-131071|0;B=(D|0)==-1?-1:E+1+D|0;if((B|0)==-1)break;else E=B}i=h+~E|0;if((((i|0)>-1?i:0-i|0)|0)>131071)be(c[j+12>>2]|0,46263);else{c[G>>2]=(i<<14)+2147467264|H&16383;C=49;break}}else I=h;else C=49;while(0);if((C|0)==49)if((g|0)==-1)break;else I=g;h=c[e>>2]|0;if((h|0)==-1){c[e>>2]=I;break}n=c[(c[j>>2]|0)+12>>2]|0;p=h;while(1){J=n+(p<<2)|0;K=c[J>>2]|0;h=(K>>>14)+-131071|0;q=(h|0)==-1?-1:p+1+h|0;if((q|0)==-1)break;else p=q}n=I+~p|0;if((((n|0)>-1?n:0-n|0)|0)>131071)be(c[j+12>>2]|0,46263);else{c[J>>2]=(n<<14)+2147467264|K&16383;break}}while(0);c[j+24>>2]=c[j+20>>2];if((F|0)==-1){Fa=f;return}K=c[d>>2]|0;if((K|0)==-1){c[d>>2]=F;Fa=f;return}d=c[(c[j>>2]|0)+12>>2]|0;J=K;while(1){L=d+(J<<2)|0;M=c[L>>2]|0;K=(M>>>14)+-131071|0;I=(K|0)==-1?-1:J+1+K|0;if((I|0)==-1)break;else J=I}d=F+~J|0;if((((d|0)>-1?d:0-d|0)|0)>131071)be(c[j+12>>2]|0,46263);c[L>>2]=(d<<14)+2147467264|M&16383;Fa=f;return}function oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=Fa;Fa=Fa+16|0;g=f;h=a+12|0;i=c[a+4>>2]|0;if((c[h>>2]|0)!=(b|0))if((i|0)==(e|0))Yd(a,b);else{j=c[a+32>>2]|0;k=le(a,b)|0;b=le(a,d)|0;d=ge(e)|0;l=he(e)|0;c[g>>2]=k;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=l;be(a,hd(j,46998,g)|0)}c[a+8>>2]=i;i=a+20|0;if((c[i>>2]|0)==286){c[h>>2]=Wd(a,a+16|0)|0;Fa=f;return}else{h=i;g=c[h+4>>2]|0;j=a+12|0;c[j>>2]=c[h>>2];c[j+4>>2]=g;c[i>>2]=286;Fa=f;return}}function pe(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=Fa;Fa=Fa+16|0;i=h;j=e+28|0;k=c[j>>2]|0;l=e+32|0;m=(c[l>>2]|0)+38|0;n=(b[m>>1]|0)+1<<16>>16;b[m>>1]=n;if((n&65535)>200)me(k,200,46631);n=e+12|0;a:do switch(c[n>>2]|0){case 271:{o=1;p=10;break}case 45:{o=0;p=10;break}case 35:{o=2;p=10;break}case 126:{o=14;p=10;break}case 64:{o=16;p=10;break}case 37:{o=17;p=10;break}case 36:{o=18;p=10;break}case 287:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=5;m=f+4|0;c[m>>2]=0;c[m>>2]=c[e+16>>2];p=28;break}case 289:{m=c[e+16>>2]|0;c[i>>2]=m;c[i+4>>2]=(a[m+4>>0]|64)&255;m=te(k,i,i)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=4;c[f+4>>2]=m;p=28;break}case 270:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=1;c[f+4>>2]=0;p=28;break}case 276:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=2;c[f+4>>2]=0;p=28;break}case 263:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=3;c[f+4>>2]=0;p=28;break}case 280:{if(!(a[(c[k>>2]|0)+77>>0]|0))be(e,46955);else{m=_d(k,8388659)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=13;c[f+4>>2]=m;p=28;break a}break}case 123:{He(e,f);p=31;break}case 265:{m=e+4|0;q=c[m>>2]|0;c[e+8>>2]=q;r=e+20|0;if((c[r>>2]|0)==286){c[n>>2]=Wd(e,e+16|0)|0;s=c[m>>2]|0}else{m=r;t=c[m+4>>2]|0;u=e+12|0;c[u>>2]=c[m>>2];c[u+4>>2]=t;c[r>>2]=286;s=q}Be(e,f,0,s);p=31;break}default:{De(e,f);p=31}}while(0);do if((p|0)==10){s=c[e+4>>2]|0;c[e+8>>2]=s;k=e+20|0;if((c[k>>2]|0)==286)c[n>>2]=Wd(e,e+16|0)|0;else{q=k;r=c[q+4>>2]|0;t=e+12|0;c[t>>2]=c[q>>2];c[t+4>>2]=r;c[k>>2]=286}pe(e,f,18)|0;Le(c[j>>2]|0,o,f,s);p=31}else if((p|0)==28){c[e+8>>2]=c[e+4>>2];s=e+20|0;if((c[s>>2]|0)==286){k=Wd(e,e+16|0)|0;c[n>>2]=k;v=k;break}else{k=s;r=c[k+4>>2]|0;t=e+12|0;c[t>>2]=c[k>>2];c[t+4>>2]=r;c[s>>2]=286;p=31;break}}while(0);if((p|0)==31)v=c[n>>2]|0;do switch(v|0){case 43:{w=0;break}case 45:{w=1;break}case 42:{w=2;break}case 47:{w=3;break}case 37:{w=4;break}case 94:{w=5;break}case 38:{w=6;break}case 124:{w=7;break}case 295:{w=8;break}case 290:{w=9;break}case 291:{w=10;break}case 292:{w=11;break}case 293:{w=12;break}case 294:{w=13;break}case 92:{w=15;break}case 279:{w=19;break}case 284:{w=23;break}case 281:{w=20;break}case 60:{w=21;break}case 283:{w=22;break}case 62:{w=24;break}case 282:{w=25;break}case 257:{w=26;break}case 272:{w=27;break}default:{x=28;y=c[l>>2]|0;z=y+38|0;A=b[z>>1]|0;B=A+-1<<16>>16;b[z>>1]=B;Fa=h;return x|0}}while(0);v=e+4|0;o=e+8|0;s=e+20|0;r=e+16|0;t=e+12|0;k=w;while(1){if((d[800+(k<<1)>>0]|0)<=(g|0)){x=k;p=62;break}w=c[v>>2]|0;c[o>>2]=w;if((c[s>>2]|0)==286)c[n>>2]=Wd(e,r)|0;else{q=s;u=c[q+4>>2]|0;m=t;c[m>>2]=c[q>>2];c[m+4>>2]=u;c[s>>2]=286}Me(c[j>>2]|0,k,f);u=k;k=pe(e,i,d[800+(k<<1)+1>>0]|0)|0;Ne(c[j>>2]|0,u,f,i,w);if((k|0)==28){x=28;p=62;break}}if((p|0)==62){y=c[l>>2]|0;z=y+38|0;A=b[z>>1]|0;B=A+-1<<16>>16;b[z>>1]=B;Fa=h;return x|0}return 0}function qe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;ve(b,e);f=c[e>>2]|0;a:do switch(f|0){case 10:{g=e+4|0;h=c[g>>2]|0;i=(c[(c[b>>2]|0)+12>>2]|0)+(h<<2)|0;if((h|0)>0?(h=i+-4|0,j=c[h>>2]|0,((j&63)+-37|0)>>>0<5):0){k=h;l=j}else{k=i;l=c[i>>2]|0}c[k>>2]=((l&16320|0)==0&1)<<6|l&-16321;m=c[g>>2]|0;n=32;break}case 2:case 5:case 4:break;case 11:{g=c[b>>2]|0;i=e+4|0;j=c[(c[g+12>>2]|0)+(c[i>>2]<<2)>>2]|0;h=b+20|0;if((j&63|0)==33){c[h>>2]=(c[h>>2]|0)+-1;_d(b,j>>>23<<6|16424)|0;j=b+28|0;h=c[j>>2]|0;c[j>>2]=-1;j=_d(b,2147450916)|0;if((h|0)!=-1)if((j|0)!=-1){o=c[(c[b>>2]|0)+12>>2]|0;p=j;while(1){q=o+(p<<2)|0;r=c[q>>2]|0;s=(r>>>14)+-131071|0;t=(s|0)==-1?-1:p+1+s|0;if((t|0)==-1)break;else p=t}o=h+~p|0;if((((o|0)>-1?o:0-o|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[q>>2]=(o<<14)+2147467264|r&16383;m=j;n=32;break a}}else{u=h;n=33}else{m=j;n=32}}else{v=i;w=g;n=16}break}default:{o=e+4|0;if((f|0)==6){x=o;n=22}else{v=o;w=c[b>>2]|0;n=16}}}while(0);if((n|0)==16){f=b+48|0;r=a[f>>0]|0;q=(r&255)+1|0;l=w+78|0;do if((r&255)>=(d[l>>0]|0))if((r&255)>248)be(c[b+12>>2]|0,46675);else{w=q&255;a[l>>0]=w;y=w;break}else y=q&255;while(0);a[f>>0]=y;Ke(b,e,(y&255)+-1|0);if((c[e>>2]|0)==6){x=v;n=22}else{z=v;n=25}}if((n|0)==22){v=c[e+4>>2]|0;if((v&256|0)==0?(v|0)>=(d[b+46>>0]|0|0):0){v=b+48|0;a[v>>0]=(a[v>>0]|0)+-1<<24>>24;z=x;n=25}else{z=x;n=25}}do if((n|0)==25){_d(b,c[z>>2]<<23|16361)|0;x=b+28|0;v=c[x>>2]|0;c[x>>2]=-1;x=_d(b,2147450916)|0;if((v|0)!=-1)if((x|0)!=-1){y=c[(c[b>>2]|0)+12>>2]|0;f=x;while(1){A=y+(f<<2)|0;B=c[A>>2]|0;q=(B>>>14)+-131071|0;l=(q|0)==-1?-1:f+1+q|0;if((l|0)==-1)break;else f=l}y=v+~f|0;if((((y|0)>-1?y:0-y|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[A>>2]=(y<<14)+2147467264|B&16383;m=x;n=32;break}}else{u=v;n=33}else{m=x;n=32}}while(0);if((n|0)==32?(m|0)!=-1:0){u=m;n=33}do if((n|0)==33){m=e+12|0;B=c[m>>2]|0;if((B|0)==-1){c[m>>2]=u;break}m=c[(c[b>>2]|0)+12>>2]|0;A=B;while(1){C=m+(A<<2)|0;D=c[C>>2]|0;B=(D>>>14)+-131071|0;z=(B|0)==-1?-1:A+1+B|0;if((z|0)==-1)break;else A=z}m=u+~A|0;if((((m|0)>-1?m:0-m|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[C>>2]=(m<<14)+2147467264|D&16383;break}}while(0);D=e+8|0;e=c[D>>2]|0;c[b+24>>2]=c[b+20>>2];C=b+28|0;if((e|0)==-1){c[D>>2]=-1;return}u=c[C>>2]|0;if((u|0)==-1){c[C>>2]=e;c[D>>2]=-1;return}C=c[(c[b>>2]|0)+12>>2]|0;n=u;while(1){E=C+(n<<2)|0;F=c[E>>2]|0;u=(F>>>14)+-131071|0;m=(u|0)==-1?-1:n+1+u|0;if((m|0)==-1)break;else n=m}C=e+~n|0;if((((C|0)>-1?C:0-C|0)|0)>131071)be(c[b+12>>2]|0,46263);c[E>>2]=(C<<14)+2147467264|F&16383;c[D>>2]=-1;return}function re(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=c[e+28>>2]|0;h=c[e+44>>2]|0;i=c[g>>2]|0;j=i+60|0;k=c[j>>2]|0;l=g+44|0;if((k|0)>(b[l>>1]|0)){m=k;n=c[i+24>>2]|0}else{o=i+24|0;p=ce(c[e+32>>2]|0,c[o>>2]|0,j,12,32767,46939)|0;c[o>>2]=p;m=c[j>>2]|0;n=p}if((k|0)<(m|0)?(p=k+1|0,c[n+(k*12|0)>>2]=0,(p|0)<(m|0)):0){k=p;do{c[n+(k*12|0)>>2]=0;k=k+1|0}while((k|0)!=(m|0))}c[n+((b[l>>1]|0)*12|0)>>2]=f;do if(a[f+5>>0]&3?(n=i+5|0,m=a[n>>0]|0,m&4):0){k=c[(c[e+32>>2]|0)+12>>2]|0;if((d[k+49>>0]|0)<2){uc(k,f);break}else{a[n>>0]=a[k+48>>0]&3|m&-72;break}}while(0);f=b[l>>1]|0;b[l>>1]=f+1<<16>>16;l=h+4|0;i=c[l>>2]|0;m=i+1|0;if((m-(c[g+40>>2]|0)|0)>200)me(g,200,46939);g=h+8|0;if((i+2|0)>(c[g>>2]|0)){k=ce(c[e+32>>2]|0,c[h>>2]|0,g,2,2147483645,46939)|0;c[h>>2]=k;g=c[l>>2]|0;q=g+1|0;r=k;s=g;c[l>>2]=q;t=r+(s<<1)|0;b[t>>1]=f;return}else{q=m;r=c[h>>2]|0;s=i;c[l>>2]=q;t=r+(s<<1)|0;b[t>>1]=f;return}}function se(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Fa;Fa=Fa+16|0;f=e;pe(b,f,0)|0;g=c[b+28>>2]|0;ve(g,f);if(((c[f>>2]|0)==6?(b=c[f+4>>2]|0,(b&256|0)==0):0)?(b|0)>=(d[g+46>>0]|0|0):0){b=g+48|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}b=g+48|0;h=a[b>>0]|0;i=(h&255)+1|0;j=(c[g>>2]|0)+78|0;if((h&255)<(d[j>>0]|0)){k=i&255;a[b>>0]=k;l=k&255;m=l+-1|0;we(g,f,m);Fa=e;return}if((h&255)>248)be(c[g+12>>2]|0,46675);h=i&255;a[j>>0]=h;k=h;a[b>>0]=k;l=k&255;m=l+-1|0;we(g,f,m);Fa=e;return}function te(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[(c[b+12>>2]|0)+32>>2]|0;h=c[b>>2]|0;i=c[b+4>>2]|0;j=xc(i,e)|0;if((j|0)==2099900)k=yc(g,i,e)|0;else k=j;j=k+4|0;if(((c[j>>2]|0)==3?(e=c[k>>2]>>16,i=c[h+8>>2]|0,(c[i+(e<<3)+4>>2]|0)==(c[f+4>>2]|0)):0)?Ec(0,i+(e<<3)|0,f)|0:0){l=e;return l|0}e=h+44|0;i=c[e>>2]|0;m=b+32|0;b=c[m>>2]|0;c[k>>2]=b;c[j>>2]=3;j=c[e>>2]|0;k=h+8|0;if((b|0)<(j|0)){n=j;o=c[k>>2]|0}else{j=ce(g,c[k>>2]|0,e,8,67108863,46929)|0;c[k>>2]=j;n=c[e>>2]|0;o=j}if((i|0)<(n|0)?(j=i+1|0,c[o+(i<<3)+4>>2]=0,(j|0)<(n|0)):0){i=j;do{c[o+(i<<3)+4>>2]=0;i=i+1|0}while((i|0)<(n|0))}c[o+(b<<3)>>2]=c[f>>2];n=f+4|0;c[o+(b<<3)+4>>2]=c[n>>2];c[m>>2]=(c[m>>2]|0)+1;if(!(c[n>>2]&64)){l=b;return l|0}n=c[f>>2]|0;if(!(a[n+5>>0]&3)){l=b;return l|0}f=h+5|0;h=a[f>>0]|0;if(!(h&4)){l=b;return l|0}m=c[g+12>>2]|0;if((d[m+49>>0]|0)<2){uc(m,n);l=b;return l|0}else{a[f>>0]=a[m+48>>0]&3|h&-72;l=b;return l|0}return 0}function ue(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;j=Fa;Fa=Fa+32|0;k=j+12|0;l=j;m=e+28|0;n=c[m>>2]|0;o=n+46|0;p=a[o>>0]|0;a[o>>0]=(p&255)+3;q=n+20|0;r=c[q>>2]|0;s=n+12|0;t=c[(c[n>>2]|0)+24>>2]|0;u=c[c[(c[s>>2]|0)+44>>2]>>2]|0;v=(c[n+40>>2]|0)+(p+3&255)|0;c[t+((b[u+(v+-3<<1)>>1]|0)*12|0)+4>>2]=r;c[t+((b[u+(v+-2<<1)>>1]|0)*12|0)+4>>2]=r;c[t+((b[u+(v+-1<<1)>>1]|0)*12|0)+4>>2]=r;r=e+12|0;if((c[r>>2]|0)!=259)Yd(e,259);c[e+8>>2]=c[e+4>>2];v=e+20|0;if((c[v>>2]|0)==286)c[r>>2]=Wd(e,e+16|0)|0;else{u=v;t=c[u+4>>2]|0;p=e+12|0;c[p>>2]=c[u>>2];c[p+4>>2]=t;c[v>>2]=286}v=(i|0)!=0;do if(!v){i=n+28|0;t=c[i>>2]|0;c[i>>2]=-1;i=_d(n,2147450916)|0;if((t|0)!=-1)if((i|0)!=-1){p=c[(c[n>>2]|0)+12>>2]|0;u=i;while(1){w=p+(u<<2)|0;x=c[w>>2]|0;y=(x>>>14)+-131071|0;z=(y|0)==-1?-1:u+1+y|0;if((z|0)==-1)break;else u=z}p=t+~u|0;if((((p|0)>-1?p:0-p|0)|0)>131071)be(c[s>>2]|0,46263);else{c[w>>2]=(p<<14)+2147467264|x&16383;A=i;break}}else A=t;else A=i}else A=_d(n,f<<6|2147450926)|0;while(0);a[l+10>>0]=0;a[l+8>>0]=a[o>>0]|0;o=c[s>>2]|0;x=c[o+44>>2]|0;b[l+4>>1]=c[x+28>>2];b[l+6>>1]=c[x+16>>2];a[l+9>>0]=0;x=n+16|0;c[l>>2]=c[x>>2];c[x>>2]=l;l=c[m>>2]|0;m=l+46|0;x=(d[m>>0]|0)+h|0;w=x&255;a[m>>0]=w;if(h|0){m=c[l+20>>2]|0;p=c[(c[l>>2]|0)+24>>2]|0;z=c[c[(c[l+12>>2]|0)+44>>2]>>2]|0;y=(c[l+40>>2]|0)+(x&255)|0;x=h;do{c[p+((b[z+(y-x<<1)>>1]|0)*12|0)+4>>2]=m;x=x+-1|0}while((x|0)!=0)}x=n+48|0;m=(d[x>>0]|0)+h|0;y=(c[n>>2]|0)+78|0;do if((m|0)>(d[y>>0]|0))if((m|0)>249)be(o,46675);else{z=m&255;a[y>>0]=z;B=z;break}else B=m&255;while(0);a[x>>0]=B;a[k+10>>0]=0;a[k+8>>0]=w;w=c[(c[l+12>>2]|0)+44>>2]|0;b[k+4>>1]=c[w+28>>2];b[k+6>>1]=c[w+16>>2];a[k+9>>0]=0;w=l+16|0;c[k>>2]=c[w>>2];c[w>>2]=k;a:do{k=c[r>>2]|0;switch(k|0){case 277:case 286:case 262:case 261:case 260:{break a;break}default:{}}Xd(e)}while((k|0)!=274);$d(l);$d(n);c[n+24>>2]=c[q>>2];l=n+28|0;do if((A|0)!=-1){e=c[l>>2]|0;if((e|0)==-1){c[l>>2]=A;break}r=c[(c[n>>2]|0)+12>>2]|0;k=e;while(1){C=r+(k<<2)|0;D=c[C>>2]|0;e=(D>>>14)+-131071|0;w=(e|0)==-1?-1:k+1+e|0;if((w|0)==-1)break;else k=w}r=A+~k|0;if((((r|0)>-1?r:0-r|0)|0)>131071)be(c[s>>2]|0,46263);else{c[C>>2]=(r<<14)+2147467264|D&16383;break}}while(0);D=f<<6;if(v){E=D|2147450925;F=_d(n,E)|0;G=A+1|0;je(n,F,G);H=c[n>>2]|0;I=H+20|0;J=c[I>>2]|0;K=c[q>>2]|0;L=K+-1|0;M=J+(L<<2)|0;c[M>>2]=g;Fa=j;return}else{_d(n,D|h<<14|47)|0;c[(c[(c[n>>2]|0)+20>>2]|0)+((c[q>>2]|0)+-1<<2)>>2]=g;E=D+128|2147450928;F=_d(n,E)|0;G=A+1|0;je(n,F,G);H=c[n>>2]|0;I=H+20|0;J=c[I>>2]|0;K=c[q>>2]|0;L=K+-1|0;M=J+(L<<2)|0;c[M>>2]=g;Fa=j;return}}function ve(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;switch(c[f>>2]|0){case 7:{c[f>>2]=6;return}case 8:{g=f+4|0;c[g>>2]=_d(e,c[g>>2]<<23|5)|0;c[f>>2]=11;return}case 9:{g=f+4|0;h=b[g>>1]|0;if((h&256|0)==0?(d[e+46>>0]|0)<=(h|0):0){h=e+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=g+2|0;if((a[g+3>>0]|0)==7)if((d[e+46>>0]|0)>(d[h>>0]|0))i=7;else{j=e+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;i=7}else i=6;c[g>>2]=_d(e,d[h>>0]<<23|i|b[g>>1]<<14)|0;c[f>>2]=11;return}case 12:{c[f>>2]=6;g=f+4|0;c[g>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>6&255;return}case 13:{g=(c[(c[e>>2]|0)+12>>2]|0)+(c[f+4>>2]<<2)|0;c[g>>2]=c[g>>2]&8388607|16777216;c[f>>2]=11;return}default:return}}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Ke(a,b,d);e=(c[b>>2]|0)==10;f=b+8|0;do if(e?(g=c[b+4>>2]|0,(g|0)!=-1):0){h=c[f>>2]|0;if((h|0)==-1){c[f>>2]=g;i=g;break}j=c[(c[a>>2]|0)+12>>2]|0;k=h;while(1){l=j+(k<<2)|0;m=c[l>>2]|0;h=(m>>>14)+-131071|0;n=(h|0)==-1?-1:k+1+h|0;if((n|0)==-1)break;else k=n}j=g+~k|0;if((((j|0)>-1?j:0-j|0)|0)>131071)be(c[a+12>>2]|0,46263);else{c[l>>2]=(j<<14)+2147467264|m&16383;o=10;break}}else o=10;while(0);if((o|0)==10)i=c[f>>2]|0;m=b+12|0;l=c[m>>2]|0;if((i|0)==(l|0)){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}a:do if((i|0)==-1)o=19;else{j=c[(c[a>>2]|0)+12>>2]|0;n=i;while(1){h=j+(n<<2)|0;if((n|0)>0?(q=c[h+-4>>2]|0,((q&63)+-37|0)>>>0<5):0)r=q;else r=c[h>>2]|0;if((r&63|0)!=41){o=26;break a}q=((c[h>>2]|0)>>>14)+-131071|0;n=(q|0)==-1?-1:n+1+q|0;if((n|0)==-1){o=19;break}}}while(0);b:do if((o|0)==19)if((l|0)==-1){s=-1;t=-1}else{r=c[(c[a>>2]|0)+12>>2]|0;i=l;while(1){n=r+(i<<2)|0;if((i|0)>0?(j=c[n+-4>>2]|0,((j&63)+-37|0)>>>0<5):0)u=j;else u=c[n>>2]|0;if((u&63|0)!=41){o=26;break b}j=((c[n>>2]|0)>>>14)+-131071|0;i=(j|0)==-1?-1:i+1+j|0;if((i|0)==-1){s=-1;t=-1;break}}}while(0);do if((o|0)==26){u=a+28|0;do if(!e){l=c[u>>2]|0;c[u>>2]=-1;i=_d(a,2147450916)|0;if((l|0)!=-1)if((i|0)!=-1){r=c[(c[a>>2]|0)+12>>2]|0;j=i;while(1){v=r+(j<<2)|0;w=c[v>>2]|0;n=(w>>>14)+-131071|0;k=(n|0)==-1?-1:j+1+n|0;if((k|0)==-1)break;else j=k}r=l+~j|0;if((((r|0)>-1?r:0-r|0)|0)>131071)be(c[a+12>>2]|0,46263);else{c[v>>2]=(r<<14)+2147467264|w&16383;x=i;break}}else x=l;else x=i}else x=-1;while(0);r=a+20|0;k=a+24|0;c[k>>2]=c[r>>2];n=d<<6;g=_d(a,n|16387)|0;c[k>>2]=c[r>>2];q=_d(a,n|8388611)|0;c[k>>2]=c[r>>2];if((x|0)!=-1){r=c[u>>2]|0;if((r|0)==-1){c[u>>2]=x;s=g;t=q;break}k=c[(c[a>>2]|0)+12>>2]|0;n=r;while(1){y=k+(n<<2)|0;z=c[y>>2]|0;r=(z>>>14)+-131071|0;h=(r|0)==-1?-1:n+1+r|0;if((h|0)==-1)break;else n=h}k=x+~n|0;if((((k|0)>-1?k:0-k|0)|0)>131071)be(c[a+12>>2]|0,46263);else{c[y>>2]=(k<<14)+2147467264|z&16383;s=g;t=q;break}}else{s=g;t=q}}while(0);z=c[a+20>>2]|0;c[a+24>>2]=z;y=c[m>>2]|0;c:do if((y|0)!=-1){x=c[(c[a>>2]|0)+12>>2]|0;w=d<<6;v=w&16320;if((d|0)==255){e=y;while(1){k=x+(e<<2)|0;u=c[k>>2]|0;h=(u>>>14)+-131071|0;r=e;e=(h|0)==-1?-1:e+1+h|0;if((r|0)>0?(h=k+-4|0,A=c[h>>2]|0,((A&63)+-37|0)>>>0<5):0){B=h;C=A}else{B=k;C=u}if((C&63|0)!=41){A=s+~r|0;if((((A|0)>-1?A:0-A|0)|0)>131071){o=65;break}else{D=A;E=u}}else{c[B>>2]=C&8372224|C>>>23<<6|40;u=z+~r|0;if((((u|0)>-1?u:0-u|0)|0)>131071){o=62;break}D=u;E=c[k>>2]|0}c[k>>2]=E&16383|(D<<14)+2147467264;if((e|0)==-1)break c}if((o|0)==62){F=a+12|0;G=c[F>>2]|0;be(G,46263)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;be(I,46263)}}e=y;while(1){q=x+(e<<2)|0;g=c[q>>2]|0;n=(g>>>14)+-131071|0;k=e;e=(n|0)==-1?-1:e+1+n|0;if((k|0)>0?(n=q+-4|0,u=c[n>>2]|0,((u&63)+-37|0)>>>0<5):0){J=n;K=u}else{J=q;K=g}if((K&63|0)!=41){u=s+~k|0;if((((u|0)>-1?u:0-u|0)|0)>131071){o=65;break}else{L=u;M=g}}else{if((K>>>23|0)==(d|0))N=K&8372224|w|40;else N=K&-16321|v;c[J>>2]=N;g=z+~k|0;if((((g|0)>-1?g:0-g|0)|0)>131071){o=62;break}L=g;M=c[q>>2]|0}c[q>>2]=M&16383|(L<<14)+2147467264;if((e|0)==-1)break c}if((o|0)==62){F=a+12|0;G=c[F>>2]|0;be(G,46263)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;be(I,46263)}}while(0);I=c[f>>2]|0;if((I|0)==-1){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}H=c[(c[a>>2]|0)+12>>2]|0;G=d<<6;F=G&16320;if((d|0)==255){L=I;while(1){M=H+(L<<2)|0;N=c[M>>2]|0;J=(N>>>14)+-131071|0;K=L;L=(J|0)==-1?-1:L+1+J|0;if((K|0)>0?(J=M+-4|0,s=c[J>>2]|0,((s&63)+-37|0)>>>0<5):0){O=J;P=s}else{O=M;P=N}if((P&63|0)!=41){s=t+~K|0;if((((s|0)>-1?s:0-s|0)|0)>131071){o=90;break}else{Q=s;R=N}}else{c[O>>2]=P&8372224|P>>>23<<6|40;N=z+~K|0;if((((N|0)>-1?N:0-N|0)|0)>131071){o=87;break}Q=N;R=c[M>>2]|0}c[M>>2]=R&16383|(Q<<14)+2147467264;if((L|0)==-1){o=92;break}}if((o|0)==87){S=a+12|0;T=c[S>>2]|0;be(T,46263)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;be(V,46263)}else if((o|0)==92){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}}L=I;while(1){I=H+(L<<2)|0;Q=c[I>>2]|0;R=(Q>>>14)+-131071|0;P=L;L=(R|0)==-1?-1:L+1+R|0;if((P|0)>0?(R=I+-4|0,O=c[R>>2]|0,((O&63)+-37|0)>>>0<5):0){W=R;X=O}else{W=I;X=Q}if((X&63|0)!=41){O=t+~P|0;if((((O|0)>-1?O:0-O|0)|0)>131071){o=90;break}else{Y=O;Z=Q}}else{if((X>>>23|0)==(d|0))_=X&8372224|G|40;else _=X&-16321|F;c[W>>2]=_;Q=z+~P|0;if((((Q|0)>-1?Q:0-Q|0)|0)>131071){o=87;break}Y=Q;Z=c[I>>2]|0}c[I>>2]=Z&16383|(Y<<14)+2147467264;if((L|0)==-1){o=92;break}}if((o|0)==87){S=a+12|0;T=c[S>>2]|0;be(T,46263)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;be(V,46263)}else if((o|0)==92){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}}function xe(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=e-f|0;f=c[g>>2]|0;switch(f|0){case 13:case 12:{e=h+1|0;i=(e|0)>0?e:0;switch(f|0){case 12:{f=(c[(c[b>>2]|0)+12>>2]|0)+(c[g+4>>2]<<2)|0;c[f>>2]=c[f>>2]&-8372225|(i<<14)+16384&8372224;break}case 13:{f=c[b>>2]|0;e=c[f+12>>2]|0;j=g+4|0;k=e+(c[j>>2]<<2)|0;c[k>>2]=c[k>>2]&8388607|(i<<23)+8388608;k=e+(c[j>>2]<<2)|0;j=b+48|0;e=a[j>>0]|0;l=e&255;c[k>>2]=l<<6|c[k>>2]&-16321;k=l+1|0;l=f+78|0;do if((e&255)>=(d[l>>0]|0))if((e&255)>248)be(c[b+12>>2]|0,46675);else{f=k&255;a[l>>0]=f;m=f;break}else m=k&255;while(0);a[j>>0]=m;break}default:{}}if((i|0)<=1)return;m=b+48|0;j=i+-1+(d[m>>0]|0)|0;i=(c[b>>2]|0)+78|0;do if((j|0)>(d[i>>0]|0|0))if((j|0)>249)be(c[b+12>>2]|0,46675);else{k=j&255;a[i>>0]=k;n=k;break}else n=j&255;while(0);a[m>>0]=n;return}case 0:break;default:{ve(b,g);if(((c[g>>2]|0)==6?(n=c[g+4>>2]|0,(n&256|0)==0):0)?(n|0)>=(d[b+46>>0]|0|0):0){n=b+48|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24}n=b+48|0;m=a[n>>0]|0;j=(m&255)+1|0;i=(c[b>>2]|0)+78|0;do if((m&255)>=(d[i>>0]|0))if((m&255)>248)be(c[b+12>>2]|0,46675);else{k=j&255;a[i>>0]=k;o=k;break}else o=j&255;while(0);a[n>>0]=o;we(b,g,(o&255)+-1|0)}}if((h|0)<=0)return;o=b+48|0;g=d[o>>0]|0;n=h+g|0;j=c[b>>2]|0;i=j+78|0;do if((n|0)>(d[i>>0]|0|0))if((n|0)>249)be(c[b+12>>2]|0,46675);else{m=n&255;a[i>>0]=m;p=m;break}else p=n&255;while(0);a[o>>0]=p;p=n+511|0;o=c[b+20>>2]|0;do if((o|0)>(c[b+24>>2]|0)?(i=(c[j+12>>2]|0)+(o+-1<<2)|0,m=c[i>>2]|0,(m&63|0)==4):0){k=m>>>6&255;l=k+(m>>>23)|0;if(k>>>0>g>>>0|(l+1|0)>>>0<g>>>0?k>>>0<g>>>0|(k|0)>(n|0):0)break;e=k>>>0<g>>>0?k:g;c[i>>2]=e<<6|m&8372287|((l|0)<(n|0)?p:l)-e<<23;return}while(0);_d(b,(h<<23)+-8388608|g<<6|4)|0;return}function ye(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Fa;Fa=Fa+32|0;g=f+16|0;h=f;i=d+12|0;if((c[i>>2]|0)!=288)Yd(d,288);j=d+16|0;k=c[j>>2]|0;c[d+8>>2]=c[d+4>>2];l=d+20|0;if((c[l>>2]|0)==286)c[i>>2]=Wd(d,j)|0;else{j=l;i=c[j+4>>2]|0;m=d+12|0;c[m>>2]=c[j>>2];c[m+4>>2]=i;c[l>>2]=286}l=d+28|0;i=c[l>>2]|0;if(Je(i,k,e,1)|0){Fa=f;return}Je(i,c[d+52>>2]|0,e,1)|0;d=c[l>>2]|0;c[g>>2]=k;c[g+4>>2]=(a[k+4>>0]|64)&255;k=te(d,g,g)|0;c[h+8>>2]=-1;c[h+12>>2]=-1;c[h>>2]=4;c[h+4>>2]=k;k=e+4|0;a[k+2>>0]=c[k>>2];b[k>>1]=Ae(i,h)|0;a[k+3>>0]=(c[e>>2]|0)==8?8:7;c[e>>2]=9;Fa=f;return}function ze(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;ve(b,e);if((c[e>>2]|0)==6){f=e+4|0;g=c[f>>2]|0;if((c[e+8>>2]|0)==(c[e+12>>2]|0)){h=g;return h|0}if((g|0)>=(d[b+46>>0]|0|0)){we(b,e,g);i=f}else j=5}else j=5;if((j|0)==5){ve(b,e);if(((c[e>>2]|0)==6?(j=c[e+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}j=b+48|0;f=a[j>>0]|0;g=(f&255)+1|0;k=(c[b>>2]|0)+78|0;do if((f&255)>=(d[k>>0]|0))if((f&255)>248)be(c[b+12>>2]|0,46675);else{l=g&255;a[k>>0]=l;m=l;break}else m=g&255;while(0);a[j>>0]=m;we(b,e,(m&255)+-1|0);i=e+4|0}h=c[i>>2]|0;return h|0}function Ae(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=Fa;Fa=Fa+16|0;f=e+8|0;g=e;if((c[d+8>>2]|0)==(c[d+12>>2]|0))ve(b,d);else ze(b,d)|0;h=c[d>>2]|0;switch(h|0){case 1:case 3:case 2:{if((c[b+32>>2]|0)<256){if((h|0)==1){c[g+4>>2]=0;c[f>>2]=c[b+4>>2];c[f+4>>2]=69;i=te(b,f,g)|0}else{c[f>>2]=(h|0)==2&1;c[f+4>>2]=1;i=te(b,f,f)|0}c[d+4>>2]=i;c[d>>2]=4;j=i|256;Fa=e;return j|0}break}case 5:{i=d+4|0;h=c[i>>2]|0;c[f>>2]=h;k=c[(c[b+12>>2]|0)+32>>2]|0;c[g>>2]=h;c[g+4>>2]=3;if(!h){h=k+8|0;l=c[h>>2]|0;c[h>>2]=l+8;m=Oc(k,f,4)|0;c[l>>2]=m;c[l+4>>2]=(a[m+4>>0]|64)&255;m=te(b,(c[h>>2]|0)+-8|0,g)|0;c[h>>2]=(c[h>>2]|0)+-8;n=m}else n=te(b,g,g)|0;c[i>>2]=n;c[d>>2]=4;o=n;p=15;break}case 4:{o=c[d+4>>2]|0;p=15;break}default:{}}if((p|0)==15?(o|0)<256:0){j=o|256;Fa=e;return j|0}j=ze(b,d)|0;Fa=e;return j|0}function Be(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;i=Fa;Fa=Fa+80|0;j=i;k=i+16|0;l=i+4|0;m=e+28|0;n=c[m>>2]|0;o=e+32|0;p=c[o>>2]|0;q=c[n>>2]|0;r=n+36|0;n=q+56|0;s=c[n>>2]|0;if(((c[r>>2]|0)>=(s|0)?(t=q+16|0,u=ce(p,c[t>>2]|0,n,4,262143,46889)|0,c[t>>2]=u,v=c[n>>2]|0,(s|0)<(v|0)):0)?(n=s+1|0,c[u+(s<<2)>>2]=0,(n|0)<(v|0)):0){s=n;do{c[(c[t>>2]|0)+(s<<2)>>2]=0;s=s+1|0}while((s|0)!=(v|0))}v=p+12|0;s=c[v>>2]|0;t=s+4|0;n=Ma[c[s>>2]&1](c[t>>2]|0,0,9,80)|0;if(!n){if(!(a[s+51>>0]|0))jc(p,4);vc(p,1);u=Ma[c[s>>2]&1](c[t>>2]|0,0,9,80)|0;if(!u)jc(p,4);else w=u}else w=n;n=s+12|0;c[n>>2]=(c[n>>2]|0)+80;n=s+56|0;u=w+5|0;a[u>>0]=a[s+48>>0]&3;a[w+4>>0]=9;c[w>>2]=c[n>>2];c[n>>2]=w;a[w+76>>0]=0;a[w+77>>0]=0;n=w+78|0;a[n>>0]=0;s=w+8|0;p=s+64|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=c[q+16>>2]|0;p=c[r>>2]|0;c[r>>2]=p+1;c[s+(p<<2)>>2]=w;do if(a[u>>0]&3?(p=q+5|0,s=a[p>>0]|0,s&4):0){r=c[v>>2]|0;if((d[r+49>>0]|0)<2){uc(r,w);break}else{a[p>>0]=a[r+48>>0]&3|s&-72;break}}while(0);c[k>>2]=w;c[w+64>>2]=h;v=c[o>>2]|0;c[k+8>>2]=c[m>>2];o=k+12|0;c[o>>2]=e;c[m>>2]=k;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=-1;c[k+32>>2]=0;c[k+36>>2]=0;q=k+44|0;c[q>>2]=0;a[q+4>>0]=0;c[k+40>>2]=c[(c[e+44>>2]|0)+4>>2];q=k+16|0;c[q>>2]=0;c[w+36>>2]=c[e+48>>2];a[n>>0]=2;n=c[v+12>>2]|0;w=n+4|0;u=Ma[c[n>>2]&1](c[w>>2]|0,0,5,32)|0;if(!u){if(!(a[n+51>>0]|0))jc(v,4);vc(v,1);s=Ma[c[n>>2]&1](c[w>>2]|0,0,5,32)|0;if(!s)jc(v,4);else x=s}else x=u;u=n+12|0;c[u>>2]=(c[u>>2]|0)+32;u=n+56|0;a[x+5>>0]=a[n+48>>0]&3;a[x+4>>0]=5;c[x>>2]=c[u>>2];c[u>>2]=x;c[x+8>>2]=0;a[x+6>>0]=-1;c[x+12>>2]=0;c[x+28>>2]=0;c[x+16>>2]=2099924;a[x+7>>0]=0;c[x+20>>2]=2099924;c[k+4>>2]=x;u=v+8|0;n=c[u>>2]|0;c[n>>2]=x;c[n+4>>2]=69;n=(c[u>>2]|0)+8|0;c[u>>2]=n;u=n;do if(((c[v+24>>2]|0)-u|0)<8){n=c[v+32>>2]|0;if((n|0)>1e6)jc(v,6);x=(u-(c[v+28>>2]|0)>>3)+5|0;s=n<<1;n=(s|0)<1e6?s:1e6;s=(n|0)<(x|0)?x:n;if((s|0)>1e6){kc(v,1000200);lc(v,45510,j)}else{kc(v,s);break}}while(0);a[l+10>>0]=0;a[l+8>>0]=a[k+46>>0]|0;v=c[(c[o>>2]|0)+44>>2]|0;b[l+4>>1]=c[v+28>>2];b[l+6>>1]=c[v+16>>2];a[l+9>>0]=0;c[l>>2]=c[q>>2];c[q>>2]=l;l=e+12|0;if((c[l>>2]|0)!=40)Yd(e,40);q=e+4|0;v=e+8|0;c[v>>2]=c[q>>2];o=e+20|0;if((c[o>>2]|0)==286){j=Wd(e,e+16|0)|0;c[l>>2]=j;y=j}else{j=o;u=c[j>>2]|0;s=c[j+4>>2]|0;j=e+12|0;c[j>>2]=u;c[j+4>>2]=s;c[o>>2]=286;y=u}if(!g){g=c[m>>2]|0;z=g;A=c[g>>2]|0;B=y;C=g}else{re(e,ae(e,46899,4)|0);g=c[m>>2]|0;y=g+46|0;u=a[y>>0]|0;a[y>>0]=(u&255)+1;y=c[g>>2]|0;c[(c[y+24>>2]|0)+((b[(c[c[(c[g+12>>2]|0)+44>>2]>>2]|0)+((c[g+40>>2]|0)+(u+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[g+20>>2];z=g;A=y;B=c[l>>2]|0;C=g}g=A+77|0;a[g>>0]=0;a:do if((B|0)==41)D=0;else{y=e+16|0;u=e+12|0;s=0;j=B;b:while(1){switch(j|0){case 280:{break b;break}case 288:break;default:{E=43;break b}}n=c[y>>2]|0;c[v>>2]=c[q>>2];if((c[o>>2]|0)==286)c[l>>2]=Wd(e,y)|0;else{x=o;w=c[x+4>>2]|0;r=u;c[r>>2]=c[x>>2];c[r+4>>2]=w;c[o>>2]=286}re(e,n);n=s+1|0;if(a[g>>0]|0){D=n;break a}if((c[l>>2]|0)!=44){D=n;break a}c[v>>2]=c[q>>2];if((c[o>>2]|0)==286){w=Wd(e,y)|0;c[l>>2]=w;F=w}else{w=o;r=c[w>>2]|0;x=c[w+4>>2]|0;w=u;c[w>>2]=r;c[w+4>>2]=x;c[o>>2]=286;F=r}s=n;j=F}if((E|0)==43)be(e,46904);c[v>>2]=c[q>>2];if((c[o>>2]|0)==286)c[l>>2]=Wd(e,y)|0;else{j=o;n=c[j+4>>2]|0;r=u;c[r>>2]=c[j>>2];c[r+4>>2]=n;c[o>>2]=286}a[g>>0]=1;D=s}while(0);g=c[m>>2]|0;E=g+46|0;F=D+(d[E>>0]|0)|0;a[E>>0]=F;if(D|0){E=c[g+20>>2]|0;B=c[(c[g>>2]|0)+24>>2]|0;n=c[c[(c[g+12>>2]|0)+44>>2]>>2]|0;r=(c[g+40>>2]|0)+(F&255)|0;F=D;do{c[B+((b[n+(r-F<<1)>>1]|0)*12|0)+4>>2]=E;F=F+-1|0}while((F|0)!=0)}F=a[C+46>>0]|0;a[A+76>>0]=F;A=C+48|0;E=(d[A>>0]|0)+(F&255)|0;F=(c[z>>2]|0)+78|0;do if(E>>>0>(d[F>>0]|0)>>>0)if(E>>>0>249)be(c[C+12>>2]|0,46675);else{z=E&255;a[F>>0]=z;G=z;break}else G=E&255;while(0);a[A>>0]=G;if((c[l>>2]|0)!=41)Yd(e,41);c[v>>2]=c[q>>2];if((c[o>>2]|0)==286){v=Wd(e,e+16|0)|0;c[l>>2]=v;H=v}else{v=o;G=c[v>>2]|0;A=c[v+4>>2]|0;v=e+12|0;c[v>>2]=G;c[v+4>>2]=A;c[o>>2]=286;H=G}G=H;c:while(1){switch(G|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}Xd(e);if((G|0)==274)break;G=c[l>>2]|0}c[(c[k>>2]|0)+68>>2]=c[q>>2];oe(e,262,265,h);h=c[(c[m>>2]|0)+8>>2]|0;m=_d(h,(c[h+36>>2]<<14)+-16384|50)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=11;q=f+4|0;c[q>>2]=m;ve(h,f);if(((c[f>>2]|0)==6?(m=c[q>>2]|0,(m&256|0)==0):0)?(m|0)>=(d[h+46>>0]|0):0){m=h+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24}m=h+48|0;q=a[m>>0]|0;k=(q&255)+1|0;l=(c[h>>2]|0)+78|0;if((q&255)<(d[l>>0]|0)){I=k&255;a[m>>0]=I;J=I&255;K=J+-1|0;we(h,f,K);Zd(e);Fa=i;return}if((q&255)>248)be(c[h+12>>2]|0,46675);q=k&255;a[l>>0]=q;I=q;a[m>>0]=I;J=I&255;K=J+-1|0;we(h,f,K);Zd(e);Fa=i;return}function Ce(b,f,g){b=b|0;f=f|0;g=g|0;var h=0;switch(c[f>>2]|0){case 7:{if(((c[g>>2]|0)==6?(h=c[g+4>>2]|0,(h&256|0)==0):0)?(h|0)>=(d[b+46>>0]|0):0){h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}we(b,g,c[f+4>>2]|0);return}case 8:{_d(b,(ze(b,g)|0)<<6|c[f+4>>2]<<23|9)|0;break}case 9:{h=f+4|0;f=(a[h+3>>0]|0)==7?10:8;_d(b,(Ae(b,g)|0)<<14|f|d[h+2>>0]<<6|e[h>>1]<<23)|0;break}default:{}}if((c[g>>2]|0)!=6)return;h=c[g+4>>2]|0;if(h&256|0)return;if((h|0)<(d[b+46>>0]|0))return;h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24;return}function De(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=Fa;Fa=Fa+32|0;h=g+16|0;i=g;j=e+28|0;k=c[j>>2]|0;l=e+4|0;m=c[l>>2]|0;n=e+12|0;switch(c[n>>2]|0){case 40:{o=e+8|0;c[o>>2]=m;p=e+20|0;if((c[p>>2]|0)==286)c[n>>2]=Wd(e,e+16|0)|0;else{q=p;r=c[q+4>>2]|0;s=e+12|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[p>>2]=286}pe(e,f,0)|0;oe(e,41,40,m);ve(c[j>>2]|0,f);t=p;u=p;v=o;break}case 288:{ye(e,f);o=e+20|0;t=o;u=o;v=e+8|0;break}default:be(e,46820)}o=f+8|0;p=f+12|0;r=e+16|0;s=e+12|0;q=f+4|0;w=k+48|0;x=h+8|0;y=h+12|0;z=k+46|0;A=h+4|0;B=i+8|0;C=i+12|0;D=i+4|0;E=h+4|0;F=i+8|0;G=i+12|0;H=i+4|0;I=f+4|0;J=I+2|0;K=I+3|0;a:while(1)switch(c[n>>2]|0){case 46:{L=c[j>>2]|0;if(!((c[f>>2]|0)==8?(c[o>>2]|0)==(c[p>>2]|0):0))ze(L,f)|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286){M=Wd(e,r)|0;c[n>>2]=M;N=M}else{M=t;O=c[M>>2]|0;P=c[M+4>>2]|0;M=s;c[M>>2]=O;c[M+4>>2]=P;c[u>>2]=286;N=O}if((N|0)!=288){Q=17;break a}O=c[r>>2]|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Wd(e,r)|0;else{P=t;M=c[P+4>>2]|0;R=s;c[R>>2]=c[P>>2];c[R+4>>2]=M;c[u>>2]=286}M=c[j>>2]|0;c[h>>2]=O;c[E>>2]=(a[O+4>>0]|64)&255;O=te(M,h,h)|0;c[F>>2]=-1;c[G>>2]=-1;c[i>>2]=4;c[H>>2]=O;a[J>>0]=c[I>>2];b[I>>1]=Ae(L,i)|0;a[K>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;break}case 91:{if(!((c[f>>2]|0)==8?(c[o>>2]|0)==(c[p>>2]|0):0))ze(k,f)|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Wd(e,r)|0;else{L=t;O=c[L+4>>2]|0;M=s;c[M>>2]=c[L>>2];c[M+4>>2]=O;c[u>>2]=286}pe(e,h,0)|0;O=c[j>>2]|0;if((c[x>>2]|0)==(c[y>>2]|0))ve(O,h);else ze(O,h)|0;if((c[n>>2]|0)!=93){Q=32;break a}c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Wd(e,r)|0;else{O=t;M=c[O+4>>2]|0;L=s;c[L>>2]=c[O>>2];c[L+4>>2]=M;c[u>>2]=286}a[J>>0]=c[I>>2];b[I>>1]=Ae(k,h)|0;a[K>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;break}case 58:{c[v>>2]=c[l>>2];if((c[u>>2]|0)==286){M=Wd(e,r)|0;c[n>>2]=M;S=M}else{M=t;L=c[M>>2]|0;O=c[M+4>>2]|0;M=s;c[M>>2]=L;c[M+4>>2]=O;c[u>>2]=286;S=L}if((S|0)!=288){Q=41;break a}L=c[r>>2]|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Wd(e,r)|0;else{O=t;M=c[O+4>>2]|0;R=s;c[R>>2]=c[O>>2];c[R+4>>2]=M;c[u>>2]=286}M=c[j>>2]|0;c[h>>2]=L;c[A>>2]=(a[L+4>>0]|64)&255;L=te(M,h,h)|0;c[B>>2]=-1;c[C>>2]=-1;c[i>>2]=4;c[D>>2]=L;Fe(k,f,i);Ge(e,f,m);break}case 123:case 289:case 40:{ve(k,f);if(((c[f>>2]|0)==6?(L=c[q>>2]|0,(L&256|0)==0):0)?(L|0)>=(d[z>>0]|0|0):0){L=(a[w>>0]|0)+-1<<24>>24;a[w>>0]=L;T=L}else T=a[w>>0]|0;L=(T&255)+1|0;M=(c[k>>2]|0)+78|0;if((T&255)<(d[M>>0]|0))U=L&255;else{if((T&255)>248){Q=54;break a}R=L&255;a[M>>0]=R;U=R}a[w>>0]=U;we(k,f,(U&255)+-1|0);Ge(e,f,m);break}default:{Q=58;break a}}if((Q|0)==17)Yd(e,288);else if((Q|0)==32)Yd(e,93);else if((Q|0)==41)Yd(e,288);else if((Q|0)==54)be(c[k+12>>2]|0,46675);else if((Q|0)==58){Fa=g;return}}function Ee(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=Fa;Fa=Fa+48|0;j=i+24|0;k=i;l=g+4|0;if(((c[l>>2]|0)+-7|0)>>>0>=3)be(f,56198);m=f+12|0;a:do switch(c[m>>2]|0){case 44:{c[f+8>>2]=c[f+4>>2];n=f+20|0;if((c[n>>2]|0)==286)c[m>>2]=Wd(f,f+16|0)|0;else{o=n;p=c[o+4>>2]|0;q=f+12|0;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[n>>2]=286}c[k>>2]=g;n=k+4|0;De(f,n);p=c[n>>2]|0;if((p|0)!=9){n=c[f+28>>2]|0;q=n+48|0;o=a[q>>0]|0;r=k+8|0;s=o&255;t=(p|0)==7;u=g;v=0;while(1){if((c[u+4>>2]|0)==9){w=u+8|0;x=w+3|0;if((p|0)==(d[x>>0]|0)?(y=w+2|0,(c[r>>2]|0)==(d[y>>0]|0)):0){a[x>>0]=7;a[y>>0]=o;z=1}else z=v;if(t?(c[r>>2]|0)==(b[w>>1]|0):0){b[w>>1]=s;A=1}else A=z}else A=v;u=c[u>>2]|0;if(!u)break;else v=A}if(A|0){_d(n,(o&255)<<6|((p|0)==7?0:5)|c[r>>2]<<23)|0;v=a[q>>0]|0;u=(v&255)+1|0;s=(c[n>>2]|0)+78|0;do if((v&255)>=(d[s>>0]|0))if((v&255)>248)be(c[n+12>>2]|0,46675);else{t=u&255;a[s>>0]=t;B=t;break}else B=u&255;while(0);a[q>>0]=B}}if(((e[(c[f+32>>2]|0)+38>>1]|0)+h|0)>200)me(c[f+28>>2]|0,200,46631);else{Ee(f,k,h+1|0);C=f+28|0;break a}break}case 61:{u=f+4|0;s=f+8|0;c[s>>2]=c[u>>2];n=f+20|0;if((c[n>>2]|0)==286)c[m>>2]=Wd(f,f+16|0)|0;else{v=n;r=c[v+4>>2]|0;p=f+12|0;c[p>>2]=c[v>>2];c[p+4>>2]=r;c[n>>2]=286}pe(f,j,0)|0;b:do if((c[m>>2]|0)==44){r=f+16|0;p=f+28|0;v=f+12|0;o=j+4|0;t=1;while(1){c[s>>2]=c[u>>2];if((c[n>>2]|0)==286)c[m>>2]=Wd(f,r)|0;else{w=n;y=c[w+4>>2]|0;x=v;c[x>>2]=c[w>>2];c[x+4>>2]=y;c[n>>2]=286}D=c[p>>2]|0;ve(D,j);if(((c[j>>2]|0)==6?(y=c[o>>2]|0,(y&256|0)==0):0)?(y|0)>=(d[D+46>>0]|0):0){y=D+48|0;a[y>>0]=(a[y>>0]|0)+-1<<24>>24}y=D+48|0;x=a[y>>0]|0;w=(x&255)+1|0;E=(c[D>>2]|0)+78|0;if((x&255)<(d[E>>0]|0))F=w&255;else{if((x&255)>248)break;x=w&255;a[E>>0]=x;F=x}a[y>>0]=F;we(D,j,(F&255)+-1|0);pe(f,j,0)|0;y=t+1|0;if((c[m>>2]|0)==44)t=y;else{G=y;H=p;break b}}be(c[D+12>>2]|0,46675)}else{G=1;H=f+28|0}while(0);n=c[H>>2]|0;if((G|0)!=(h|0)){xe(n,h,G,j);if((G|0)<=(h|0)){C=H;break a}u=(c[H>>2]|0)+48|0;a[u>>0]=h-G+(d[u>>0]|0);C=H;break a}switch(c[j>>2]|0){case 12:{c[j>>2]=6;u=j+4|0;c[u>>2]=(c[(c[(c[n>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]|0)>>>6&255;break}case 13:{u=(c[(c[n>>2]|0)+12>>2]|0)+(c[j+4>>2]<<2)|0;c[u>>2]=c[u>>2]&8388607|16777216;c[j>>2]=11;break}default:{}}Ce(n,l,j);Fa=i;return}default:Yd(f,61)}while(0);f=c[C>>2]|0;C=(d[f+48>>0]|0)+-1|0;c[j+8>>2]=-1;c[j+12>>2]=-1;c[j>>2]=6;c[j+4>>2]=C;Ce(f,l,j);Fa=i;return}function Fe(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;ze(b,e)|0;g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==6&(h&256|0)==0?(h|0)>=(d[b+46>>0]|0|0):0){i=b+48|0;a[i>>0]=(a[i>>0]|0)+-1<<24>>24}i=b+48|0;c[g>>2]=d[i>>0];c[e>>2]=6;e=(d[i>>0]|0)+2|0;j=(c[b>>2]|0)+78|0;do if(e>>>0>(d[j>>0]|0)>>>0)if(e>>>0>249)be(c[b+12>>2]|0,46675);else{k=e&255;a[j>>0]=k;l=k;break}else l=e&255;while(0);a[i>>0]=l;l=c[g>>2]|0;_d(b,h<<23|l<<6|(Ae(b,f)|0)<<14|12)|0;if((c[f>>2]|0)!=6)return;l=c[f+4>>2]|0;if(l&256|0)return;if((l|0)<(d[b+46>>0]|0|0))return;a[i>>0]=(a[i>>0]|0)+-1<<24>>24;return}function Ge(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;g=Fa;Fa=Fa+32|0;h=g+16|0;i=g;j=b+28|0;k=c[j>>2]|0;l=b+12|0;a:do switch(c[l>>2]|0){case 40:{m=b+4|0;n=b+8|0;c[n>>2]=c[m>>2];o=b+20|0;if((c[o>>2]|0)==286){p=Wd(b,b+16|0)|0;c[l>>2]=p;q=p}else{p=o;r=c[p>>2]|0;s=c[p+4>>2]|0;p=b+12|0;c[p>>2]=r;c[p+4>>2]=s;c[o>>2]=286;q=r}b:do if((q|0)==41)c[i>>2]=0;else{pe(b,i,0)|0;c:do if((c[l>>2]|0)==44){r=b+16|0;s=b+12|0;p=i+4|0;while(1){c[n>>2]=c[m>>2];if((c[o>>2]|0)==286)c[l>>2]=Wd(b,r)|0;else{t=o;u=c[t+4>>2]|0;v=s;c[v>>2]=c[t>>2];c[v+4>>2]=u;c[o>>2]=286}w=c[j>>2]|0;ve(w,i);if(((c[i>>2]|0)==6?(u=c[p>>2]|0,(u&256|0)==0):0)?(u|0)>=(d[w+46>>0]|0|0):0){u=w+48|0;a[u>>0]=(a[u>>0]|0)+-1<<24>>24}u=w+48|0;v=a[u>>0]|0;t=(v&255)+1|0;x=(c[w>>2]|0)+78|0;if((v&255)<(d[x>>0]|0))y=t&255;else{if((v&255)>248)break;v=t&255;a[x>>0]=v;y=v}a[u>>0]=y;we(w,i,(y&255)+-1|0);pe(b,i,0)|0;if((c[l>>2]|0)!=44){z=i;break c}}be(c[w+12>>2]|0,46675)}else z=i;while(0);switch(c[z>>2]|0){case 12:{p=(c[(c[k>>2]|0)+12>>2]|0)+(c[i+4>>2]<<2)|0;c[p>>2]=c[p>>2]&-8372225;break b;break}case 13:break;default:break b}p=c[k>>2]|0;s=c[p+12>>2]|0;r=i+4|0;u=s+(c[r>>2]<<2)|0;c[u>>2]=c[u>>2]&8388607;u=s+(c[r>>2]<<2)|0;r=k+48|0;s=a[r>>0]|0;v=s&255;c[u>>2]=v<<6|c[u>>2]&-16321;u=v+1|0;v=p+78|0;do if((s&255)>=(d[v>>0]|0))if((s&255)>248)be(c[k+12>>2]|0,46675);else{p=u&255;a[v>>0]=p;A=p;break}else A=u&255;while(0);a[r>>0]=A}while(0);oe(b,41,40,f);break}case 123:{He(b,i);break}case 289:{o=b+16|0;m=c[o>>2]|0;c[h>>2]=m;c[h+4>>2]=(a[m+4>>0]|64)&255;m=te(k,h,h)|0;c[i+8>>2]=-1;c[i+12>>2]=-1;c[i>>2]=4;c[i+4>>2]=m;c[b+8>>2]=c[b+4>>2];m=b+20|0;if((c[m>>2]|0)==286){c[l>>2]=Wd(b,o)|0;break a}else{o=m;n=c[o+4>>2]|0;u=b+12|0;c[u>>2]=c[o>>2];c[u+4>>2]=n;c[m>>2]=286;break a}break}default:be(b,46838)}while(0);b=e+4|0;l=c[b>>2]|0;switch(c[i>>2]|0){case 0:{B=k+48|0;break}case 13:case 12:{C=0;D=l<<6;E=D|C;F=E|32810;G=_d(k,F)|0;H=e+8|0;c[H>>2]=-1;I=e+12|0;c[I>>2]=-1;c[e>>2]=12;c[b>>2]=G;J=c[k>>2]|0;K=J+20|0;L=c[K>>2]|0;M=k+20|0;N=c[M>>2]|0;O=N+-1|0;P=L+(O<<2)|0;c[P>>2]=f;Q=l+1|0;R=Q&255;S=k+48|0;a[S>>0]=R;Fa=g;return}default:{ve(k,i);if(((c[i>>2]|0)==6?(h=c[i+4>>2]|0,(h&256|0)==0):0)?(h|0)>=(d[k+46>>0]|0|0):0){h=k+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=k+48|0;A=a[h>>0]|0;z=(A&255)+1|0;w=(c[k>>2]|0)+78|0;do if((A&255)>=(d[w>>0]|0))if((A&255)>248)be(c[k+12>>2]|0,46675);else{y=z&255;a[w>>0]=y;T=y;break}else T=z&255;while(0);a[h>>0]=T;we(k,i,(T&255)+-1|0);B=h}}C=((l^511)+(d[B>>0]|0)<<23)+8388608|0;D=l<<6;E=D|C;F=E|32810;G=_d(k,F)|0;H=e+8|0;c[H>>2]=-1;I=e+12|0;c[I>>2]=-1;c[e>>2]=12;c[b>>2]=G;J=c[k>>2]|0;K=J+20|0;L=c[K>>2]|0;M=k+20|0;N=c[M>>2]|0;O=N+-1|0;P=L+(O<<2)|0;c[P>>2]=f;Q=l+1|0;R=Q&255;S=k+48|0;a[S>>0]=R;Fa=g;return}function He(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;f=Fa;Fa=Fa+32|0;g=f;h=b+28|0;i=c[h>>2]|0;j=b+4|0;k=c[j>>2]|0;l=_d(i,11)|0;m=g+28|0;c[m>>2]=0;n=g+20|0;c[n>>2]=0;o=g+24|0;c[o>>2]=0;p=g+16|0;c[p>>2]=e;c[e+8>>2]=-1;c[e+12>>2]=-1;c[e>>2]=11;q=e+4|0;c[q>>2]=l;c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=0;r=g+4|0;c[r>>2]=0;s=c[h>>2]|0;ve(s,e);if(((c[e>>2]|0)==6?(t=c[q>>2]|0,(t&256|0)==0):0)?(t|0)>=(d[s+46>>0]|0|0):0){t=s+48|0;a[t>>0]=(a[t>>0]|0)+-1<<24>>24}t=s+48|0;q=a[t>>0]|0;u=(q&255)+1|0;v=(c[s>>2]|0)+78|0;do if((q&255)>=(d[v>>0]|0))if((q&255)>248)be(c[s+12>>2]|0,46675);else{w=u&255;a[v>>0]=w;x=w;break}else x=u&255;while(0);a[t>>0]=x;we(s,e,(x&255)+-1|0);x=b+12|0;if((c[x>>2]|0)!=123)Yd(b,123);e=b+8|0;c[e>>2]=c[j>>2];s=b+20|0;if((c[s>>2]|0)==286){t=Wd(b,b+16|0)|0;c[x>>2]=t;y=t}else{t=s;u=c[t>>2]|0;v=c[t+4>>2]|0;t=b+12|0;c[t>>2]=u;c[t+4>>2]=v;c[s>>2]=286;y=u}a:do if((y|0)!=125){u=b+24|0;v=b+20|0;t=i+48|0;q=i+46|0;w=b+16|0;z=b+12|0;A=0;b:while(1){if(A|0){ve(i,g);if(((c[g>>2]|0)==6?(B=c[r>>2]|0,(B&256|0)==0):0)?(B|0)>=(d[q>>0]|0|0):0){B=(a[t>>0]|0)+-1<<24>>24;a[t>>0]=B;C=B}else C=a[t>>0]|0;B=(C&255)+1|0;D=(c[i>>2]|0)+78|0;if((C&255)<(d[D>>0]|0))E=B&255;else{if((C&255)>248){F=28;break}G=B&255;a[D>>0]=G;E=G}a[t>>0]=E;we(i,g,(E&255)+-1|0);c[g>>2]=0;if((c[m>>2]|0)==50){G=c[(c[p>>2]|0)+4>>2]|0;D=c[o>>2]|0;B=((D+-1|0)/50|0)+1|0;H=G<<6|419430449;if((D|0)<25551)_d(i,B<<14|H)|0;else{_d(i,H)|0;_d(i,B<<6|52)|0}a[t>>0]=G+1;c[m>>2]=0}}c:do switch(c[x>>2]|0){case 288:{G=Wd(b,u)|0;c[v>>2]=G;if((G|0)==61){Ie(b,g);break c}pe(b,g,0)|0;G=c[o>>2]|0;if((G|0)>2147483645){F=38;break b}c[o>>2]=G+1;c[m>>2]=(c[m>>2]|0)+1;break}case 91:{Ie(b,g);break}default:{pe(b,g,0)|0;G=c[o>>2]|0;if((G|0)>2147483645){F=43;break b}c[o>>2]=G+1;c[m>>2]=(c[m>>2]|0)+1}}while(0);d:do switch(c[x>>2]|0){case 44:{c[e>>2]=c[j>>2];if((c[s>>2]|0)==286){G=Wd(b,w)|0;c[x>>2]=G;I=G;break d}else{G=s;B=c[G>>2]|0;H=c[G+4>>2]|0;G=z;c[G>>2]=B;c[G+4>>2]=H;c[s>>2]=286;I=B;break d}break}case 59:{c[e>>2]=c[j>>2];if((c[s>>2]|0)==286){B=Wd(b,w)|0;c[x>>2]=B;I=B;break d}else{B=s;H=c[B>>2]|0;G=c[B+4>>2]|0;B=z;c[B>>2]=H;c[B+4>>2]=G;c[s>>2]=286;I=H;break d}break}default:break a}while(0);if((I|0)==125)break a;A=c[g>>2]|0}if((F|0)==28)be(c[i+12>>2]|0,46675);else if((F|0)==38)me(c[h>>2]|0,2147483645,46866);else if((F|0)==43)me(c[h>>2]|0,2147483645,46866)}while(0);oe(b,125,123,k);k=c[m>>2]|0;do if(k|0){switch(c[g>>2]|0){case 0:{J=k;F=75;break}case 12:{b=(c[(c[i>>2]|0)+12>>2]|0)+(c[r>>2]<<2)|0;c[b>>2]=c[b>>2]&-8372225;F=61;break}case 13:{b=c[i>>2]|0;h=c[b+12>>2]|0;I=h+(c[r>>2]<<2)|0;c[I>>2]=c[I>>2]&8388607;I=h+(c[r>>2]<<2)|0;h=i+48|0;s=a[h>>0]|0;x=s&255;c[I>>2]=x<<6|c[I>>2]&-16321;I=x+1|0;x=b+78|0;do if((s&255)>=(d[x>>0]|0))if((s&255)>248)be(c[i+12>>2]|0,46675);else{b=I&255;a[x>>0]=b;K=b;break}else K=I&255;while(0);a[h>>0]=K;F=61;break}default:{ve(i,g);if(((c[g>>2]|0)==6?(I=c[r>>2]|0,(I&256|0)==0):0)?(I|0)>=(d[i+46>>0]|0|0):0){I=i+48|0;a[I>>0]=(a[I>>0]|0)+-1<<24>>24}I=i+48|0;x=a[I>>0]|0;s=(x&255)+1|0;b=(c[i>>2]|0)+78|0;do if((x&255)>=(d[b>>0]|0))if((x&255)>248)be(c[i+12>>2]|0,46675);else{j=s&255;a[b>>0]=j;L=j;break}else L=s&255;while(0);a[I>>0]=L;we(i,g,(L&255)+-1|0);J=c[m>>2]|0;F=75}}if((F|0)==61){s=c[(c[p>>2]|0)+4>>2]|0;b=c[o>>2]|0;x=((b+-1|0)/50|0)+1|0;h=s<<6|49;if((b|0)<25551)_d(i,x<<14|h)|0;else{_d(i,h)|0;_d(i,x<<6|52)|0}a[i+48>>0]=s+1;c[o>>2]=(c[o>>2]|0)+-1;break}else if((F|0)==75){s=c[(c[p>>2]|0)+4>>2]|0;x=c[o>>2]|0;h=((x+-1|0)/50|0)+1|0;b=((J|0)==-1?49:J<<23|49)|s<<6;if((x|0)<25551)_d(i,h<<14|b)|0;else{_d(i,b)|0;_d(i,h<<6|52)|0}a[i+48>>0]=s+1;break}}while(0);J=(c[(c[i>>2]|0)+12>>2]|0)+(l<<2)|0;l=c[J>>2]&8388607;i=c[o>>2]|0;if(i>>>0<8)M=i;else{if(i>>>0>15){o=1;p=i;do{F=p+1|0;p=F>>>1;o=o+1|0}while(F>>>0>31);N=o<<3;O=p}else{N=8;O=i}M=N|O+-8}O=M<<23|l;c[J>>2]=O;l=O&-8372225;O=c[n>>2]|0;if(O>>>0<8){P=O;Q=P<<14;R=Q&8372224;S=R|l;c[J>>2]=S;Fa=f;return}if(O>>>0>15){n=1;M=O;do{N=M+1|0;M=N>>>1;n=n+1|0}while(N>>>0>31);T=n<<3;U=M}else{T=8;U=O}P=T|U+-8;Q=P<<14;R=Q&8372224;S=R|l;c[J>>2]=S;Fa=f;return}function Ie(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=Fa;Fa=Fa+48|0;f=e+32|0;g=e+16|0;h=e;i=b+28|0;j=c[i>>2]|0;k=j+48|0;l=a[k>>0]|0;m=b+12|0;do if((c[m>>2]|0)!=288){n=b+4|0;o=b+8|0;c[o>>2]=c[n>>2];p=b+20|0;if((c[p>>2]|0)==286)c[m>>2]=Wd(b,b+16|0)|0;else{q=p;r=c[q+4>>2]|0;s=b+12|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[p>>2]=286}pe(b,g,0)|0;r=c[i>>2]|0;if((c[g+8>>2]|0)==(c[g+12>>2]|0))ve(r,g);else ze(r,g)|0;if((c[m>>2]|0)!=93)Yd(b,93);c[o>>2]=c[n>>2];if((c[p>>2]|0)==286){n=Wd(b,b+16|0)|0;c[m>>2]=n;t=n;break}else{n=p;o=c[n>>2]|0;r=c[n+4>>2]|0;n=b+12|0;c[n>>2]=o;c[n+4>>2]=r;c[p>>2]=286;t=o;break}}else{if((c[d+20>>2]|0)>2147483645)me(j,2147483645,46866);o=b+16|0;p=c[o>>2]|0;c[b+8>>2]=c[b+4>>2];r=b+20|0;if((c[r>>2]|0)==286){c[m>>2]=Wd(b,o)|0;u=c[i>>2]|0}else{o=r;n=c[o+4>>2]|0;s=b+12|0;c[s>>2]=c[o>>2];c[s+4>>2]=n;c[r>>2]=286;u=j}c[f>>2]=p;c[f+4>>2]=(a[p+4>>0]|64)&255;p=te(u,f,f)|0;c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=4;c[g+4>>2]=p;t=c[m>>2]|0}while(0);f=d+20|0;c[f>>2]=(c[f>>2]|0)+1;if((t|0)!=61)Yd(b,61);c[b+8>>2]=c[b+4>>2];t=b+20|0;if((c[t>>2]|0)==286){c[m>>2]=Wd(b,b+16|0)|0;v=Ae(j,g)|0;pe(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=Ae(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;_d(j,G)|0;a[k>>0]=l;Fa=e;return}else{m=t;f=c[m+4>>2]|0;u=b+12|0;c[u>>2]=c[m>>2];c[u+4>>2]=f;c[t>>2]=286;v=Ae(j,g)|0;pe(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=Ae(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;_d(j,G)|0;a[k>>0]=l;Fa=e;return}}function Je(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!e){i=0;return i|0}j=a[e+46>>0]|0;k=f+12|0;l=(j&255)+-1|0;m=c[e>>2]|0;a:do if(j<<24>>24){n=c[e+40>>2]|0;o=c[m+24>>2]|0;p=c[c[(c[e+12>>2]|0)+44>>2]>>2]|0;q=a[f+4>>0]|0;r=f+16|0;b:do if(q<<24>>24==4){s=l;while(1){t=c[o+((b[p+(s+n<<1)>>1]|0)*12|0)>>2]|0;if((t|0)==(f|0)&(a[t+4>>0]|0)==4){u=s;break b}if((s|0)>0)s=s+-1|0;else break a}}else{s=l;while(1){t=c[o+((b[p+(s+n<<1)>>1]|0)*12|0)>>2]|0;if(q<<24>>24==(a[t+4>>0]|0)){v=c[k>>2]|0;if((t|0)==(f|0)){u=s;break b}if((v|0)==(c[t+12>>2]|0)?(ss(r,t+16|0,v)|0)==0:0){u=s;break b}}if((s|0)>0)s=s+-1|0;else break a}}while(0);if((u|0)>-1){c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=7;c[g+4>>2]=u;if(h|0){i=7;return i|0}r=e+16|0;do r=c[r>>2]|0;while((u|0)<(d[r+8>>0]|0));a[r+9>>0]=1;i=7;return i|0}}while(0);u=c[m+28>>2]|0;m=a[e+47>>0]|0;c:do if(!(m<<24>>24))w=29;else{h=a[f+4>>0]|0;l=f+16|0;j=m&255;if(h<<24>>24==4){q=0;while(1){n=c[u+(q<<3)>>2]|0;if((a[n+4>>0]|0)==4&(n|0)==(f|0)){x=q;break c}q=q+1|0;if(q>>>0>=j>>>0){w=29;break c}}}q=0;while(1){r=c[u+(q<<3)>>2]|0;if((a[r+4>>0]|0)==h<<24>>24){n=c[r+12>>2]|0;if((r|0)==(f|0)){x=q;break c}if((n|0)==(c[k>>2]|0)?(ss(r+16|0,l,n)|0)==0:0){x=q;break c}}q=q+1|0;if(q>>>0>=j>>>0){w=29;break}}}while(0);do if((w|0)==29)if(!(Je(c[e+8>>2]|0,f,g,0)|0)){i=0;return i|0}else{x=Vd(e,f,g)|0;break}while(0);c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=8;c[g+4>>2]=x;i=8;return i|0}function Ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Fa;Fa=Fa+16|0;g=f+8|0;h=f;ve(b,d);i=c[d>>2]|0;a:do switch(i|0){case 1:{j=e+1|0;k=c[b+20>>2]|0;do if((k|0)>(c[b+24>>2]|0)?(l=(c[(c[b>>2]|0)+12>>2]|0)+(k+-1<<2)|0,m=c[l>>2]|0,(m&63|0)==4):0){n=m>>>6&255;o=n+(m>>>23)|0;if((n|0)>(e|0)|(o+1|0)<(e|0)?(n|0)<(e|0)|(n|0)>(j|0):0)break;p=(n|0)<(e|0)?n:e;c[l>>2]=p<<6&16320|m&8372287|((o|0)>(e|0)?o:e)-p<<23;break a}while(0);_d(b,e<<6|4)|0;break}case 2:case 3:{_d(b,e<<6|((i|0)==2&1)<<23|3)|0;break}case 4:{j=c[d+4>>2]|0;k=e<<6;if((j|0)<262144){_d(b,k|j<<14|1)|0;break a}else{_d(b,k|2)|0;_d(b,j<<6|52)|0;break a}break}case 5:{j=c[d+4>>2]|0;c[g>>2]=j;k=c[(c[b+12>>2]|0)+32>>2]|0;c[h>>2]=j;c[h+4>>2]=3;if(!j){j=k+8|0;p=c[j>>2]|0;c[j>>2]=p+8;o=Oc(k,g,4)|0;c[p>>2]=o;c[p+4>>2]=(a[o+4>>0]|64)&255;o=te(b,(c[j>>2]|0)+-8|0,h)|0;c[j>>2]=(c[j>>2]|0)+-8;q=o}else q=te(b,h,h)|0;o=e<<6;if((q|0)<262144){_d(b,o|q<<14|1)|0;break a}else{_d(b,o|2)|0;_d(b,q<<6|52)|0;break a}break}case 11:{o=(c[(c[b>>2]|0)+12>>2]|0)+(c[d+4>>2]<<2)|0;c[o>>2]=c[o>>2]&-16321|e<<6&16320;break}case 6:{o=c[d+4>>2]|0;if((o|0)!=(e|0))_d(b,o<<23|e<<6)|0;break}default:{Fa=f;return}}while(0);c[d+4>>2]=e;c[d>>2]=6;Fa=f;return}function Le(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=Fa;Fa=Fa+16|0;i=h;c[i+12>>2]=-1;c[i+8>>2]=-1;c[i>>2]=5;c[i+4>>2]=0;switch(e|0){case 0:{if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0){e=f+4|0;c[e>>2]=0-(c[e>>2]|0);Fa=h;return}ze(b,f)|0;Oe(b,32,f,i,g);Fa=h;return}case 14:{ze(b,f)|0;Oe(b,27,f,i,g);Fa=h;return}case 16:{ze(b,f)|0;Oe(b,29,f,i,g);Fa=h;return}case 17:{ze(b,f)|0;Oe(b,30,f,i,g);Fa=h;return}case 18:{ze(b,f)|0;Oe(b,31,f,i,g);Fa=h;return}case 1:{ve(b,f);switch(c[f>>2]|0){case 3:case 1:{c[f>>2]=2;break}case 2:case 5:case 4:{c[f>>2]=3;break}case 10:{e=c[f+4>>2]|0;j=(c[(c[b>>2]|0)+12>>2]|0)+(e<<2)|0;if((e|0)>0?(e=j+-4|0,k=c[e>>2]|0,((k&63)+-37|0)>>>0<5):0){l=e;m=k}else{l=j;m=c[j>>2]|0}c[l>>2]=((m&16320|0)==0&1)<<6|m&-16321;break}case 6:{n=25;break}case 11:{m=b+48|0;l=a[m>>0]|0;j=(l&255)+1|0;k=(c[b>>2]|0)+78|0;do if((l&255)>=(d[k>>0]|0))if((l&255)>248)be(c[b+12>>2]|0,46675);else{e=j&255;a[k>>0]=e;o=e;break}else o=j&255;while(0);a[m>>0]=o;Ke(b,f,(o&255)+-1|0);if((c[f>>2]|0)==6)n=25;else{p=f+4|0;n=28}break}default:{}}if((n|0)==25){o=f+4|0;m=c[o>>2]|0;if((m&256|0)==0?(m|0)>=(d[b+46>>0]|0|0):0){m=b+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;p=o;n=28}else{p=o;n=28}}if((n|0)==28){c[p>>2]=_d(b,c[p>>2]<<23|33)|0;c[f>>2]=11}p=f+12|0;n=c[p>>2]|0;o=f+8|0;m=c[o>>2]|0;c[p>>2]=m;c[o>>2]=n;if((m|0)==-1)q=n;else{n=c[(c[b>>2]|0)+12>>2]|0;p=m;do{m=n+(p<<2)|0;if((p|0)>0?(j=m+-4|0,k=c[j>>2]|0,((k&63)+-37|0)>>>0<5):0){r=j;s=k}else{r=m;s=c[m>>2]|0}if((s&63|0)==41)c[r>>2]=s&8372224|s>>>23<<6|40;k=((c[m>>2]|0)>>>14)+-131071|0;p=(k|0)==-1?-1:p+1+k|0}while((p|0)!=-1);q=c[o>>2]|0}if((q|0)==-1){Fa=h;return}o=c[(c[b>>2]|0)+12>>2]|0;p=q;do{q=o+(p<<2)|0;if((p|0)>0?(s=q+-4|0,r=c[s>>2]|0,((r&63)+-37|0)>>>0<5):0){t=s;u=r}else{t=q;u=c[q>>2]|0}if((u&63|0)==41)c[t>>2]=u&8372224|u>>>23<<6|40;r=((c[q>>2]|0)>>>14)+-131071|0;p=(r|0)==-1?-1:p+1+r|0}while((p|0)!=-1);Fa=h;return}case 2:{ze(b,f)|0;Oe(b,34,f,i,g);Fa=h;return}default:{Fa=h;return}}}function Me(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;switch(e|0){case 26:{qe(b,f);return}case 27:{Qe(b,f);return}case 19:{ve(b,f);if(((c[f>>2]|0)==6?(e=c[f+4>>2]|0,(e&256|0)==0):0)?(e|0)>=(d[b+46>>0]|0|0):0){e=b+48|0;a[e>>0]=(a[e>>0]|0)+-1<<24>>24}e=b+48|0;g=a[e>>0]|0;h=(g&255)+1|0;i=(c[b>>2]|0)+78|0;do if((g&255)>=(d[i>>0]|0))if((g&255)>248)be(c[b+12>>2]|0,46675);else{j=h&255;a[i>>0]=j;k=j;break}else k=h&255;while(0);a[e>>0]=k;we(b,f,(k&255)+-1|0);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0)return;Ae(b,f)|0;return}default:{Ae(b,f)|0;return}}}function Ne(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;switch(e|0){case 26:{ve(b,g);i=g+12|0;j=c[f+12>>2]|0;do if((j|0)!=-1){k=c[i>>2]|0;if((k|0)==-1){c[i>>2]=j;break}l=c[(c[b>>2]|0)+12>>2]|0;m=k;while(1){n=l+(m<<2)|0;o=c[n>>2]|0;k=(o>>>14)+-131071|0;p=(k|0)==-1?-1:m+1+k|0;if((p|0)==-1)break;else m=p}l=j+~m|0;if((((l|0)>-1?l:0-l|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[n>>2]=(l<<14)+2147467264|o&16383;break}}while(0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];return}case 27:{ve(b,g);o=g+8|0;n=c[f+8>>2]|0;do if((n|0)!=-1){j=c[o>>2]|0;if((j|0)==-1){c[o>>2]=n;break}i=c[(c[b>>2]|0)+12>>2]|0;l=j;while(1){q=i+(l<<2)|0;r=c[q>>2]|0;j=(r>>>14)+-131071|0;p=(j|0)==-1?-1:l+1+j|0;if((p|0)==-1)break;else l=p}i=n+~l|0;if((((i|0)>-1?i:0-i|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[q>>2]=(i<<14)+2147467264|r&16383;break}}while(0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];return}case 19:{if((c[g+8>>2]|0)==(c[g+12>>2]|0))ve(b,g);else ze(b,g)|0;if((c[g>>2]|0)==11?(r=c[(c[b>>2]|0)+12>>2]|0,q=g+4|0,n=r+(c[q>>2]<<2)|0,o=c[n>>2]|0,(o&63|0)==35):0){i=f+4|0;if(((c[f>>2]|0)==6?(m=c[i>>2]|0,(m&256|0)==0):0)?(m|0)>=(d[b+46>>0]|0|0):0){m=b+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;m=r+(c[q>>2]<<2)|0;s=m;t=c[m>>2]|0}else{s=n;t=o}c[s>>2]=c[i>>2]<<23|t&8388607;c[f>>2]=11;c[i>>2]=c[q>>2];return}ve(b,g);if(((c[g>>2]|0)==6?(q=c[g+4>>2]|0,(q&256|0)==0):0)?(q|0)>=(d[b+46>>0]|0|0):0){q=b+48|0;a[q>>0]=(a[q>>0]|0)+-1<<24>>24}q=b+48|0;i=a[q>>0]|0;t=(i&255)+1|0;s=(c[b>>2]|0)+78|0;do if((i&255)>=(d[s>>0]|0))if((i&255)>248)be(c[b+12>>2]|0,46675);else{o=t&255;a[s>>0]=o;u=o;break}else u=t&255;while(0);a[q>>0]=u;we(b,g,(u&255)+-1|0);Oe(b,35,f,g,h);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{Oe(b,e+13|0,f,g,h);return}case 22:case 21:case 20:{Pe(b,e+17|0,1,f,g);return}case 25:case 24:case 23:{Pe(b,e+14|0,0,f,g);return}default:return}}function Oe(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;if(((((((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0)?(c[g>>2]|0)==5:0)?(c[g+8>>2]|0)==-1:0)?(c[g+12>>2]|0)==-1:0)?(i=c[g+4>>2]|0,j=f+4|0,!((e|1|0)==17&(i|0)==0)):0){c[j>>2]=dd(e+-13|0,c[j>>2]|0,i)|0;return}if((e|2|0)==34)k=0;else k=Ae(b,g)|0;i=Ae(b,f)|0;if((i|0)>(k|0)){if(((c[f>>2]|0)==6?(j=c[f+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==6?(j=c[g+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}}else{if(((c[g>>2]|0)==6?(j=c[g+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}if(((c[f>>2]|0)==6?(j=c[f+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}}c[f+4>>2]=_d(b,k<<14|e|i<<23)|0;c[f>>2]=11;c[(c[(c[b>>2]|0)+20>>2]|0)+((c[b+20>>2]|0)+-1<<2)>>2]=h;return}function Pe(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=Ae(b,g)|0;j=Ae(b,h)|0;if(((c[h>>2]|0)==6?(k=c[h+4>>2]|0,(k&256|0)==0):0)?(k|0)>=(d[b+46>>0]|0|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==6?(k=c[g+4>>2]|0,(k&256|0)==0):0)?(k|0)>=(d[b+46>>0]|0|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}k=(e|0)!=37&(f|0)==0;_d(b,(k?64:f<<6)|e|(k?j:i)<<23|(k?i:j)<<14)|0;j=b+28|0;i=c[j>>2]|0;c[j>>2]=-1;j=_d(b,2147450916)|0;if((i|0)==-1){l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}if((j|0)==-1){l=i;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}k=c[(c[b>>2]|0)+12>>2]|0;e=j;while(1){n=k+(e<<2)|0;o=c[n>>2]|0;f=(o>>>14)+-131071|0;h=(f|0)==-1?-1:e+1+f|0;if((h|0)==-1)break;else e=h}k=i+~e|0;if((((k|0)>-1?k:0-k|0)|0)>131071)be(c[b+12>>2]|0,46263);c[n>>2]=(k<<14)+2147467264|o&16383;l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}function Qe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;ve(b,e);f=c[e>>2]|0;a:do switch(f|0){case 10:{g=c[e+4>>2]|0;h=29;break}case 3:case 1:break;case 11:{i=c[b>>2]|0;j=e+4|0;k=c[(c[i+12>>2]|0)+(c[j>>2]<<2)>>2]|0;l=b+20|0;if((k&63|0)==33){c[l>>2]=(c[l>>2]|0)+-1;_d(b,k>>>23<<6|40)|0;k=b+28|0;l=c[k>>2]|0;c[k>>2]=-1;k=_d(b,2147450916)|0;if((l|0)!=-1)if((k|0)!=-1){m=c[(c[b>>2]|0)+12>>2]|0;n=k;while(1){o=m+(n<<2)|0;p=c[o>>2]|0;q=(p>>>14)+-131071|0;r=(q|0)==-1?-1:n+1+q|0;if((r|0)==-1)break;else n=r}m=l+~n|0;if((((m|0)>-1?m:0-m|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[o>>2]=(m<<14)+2147467264|p&16383;g=k;h=29;break a}}else{s=l;h=30}else{g=k;h=29}}else{t=j;u=i;h=13}break}default:{m=e+4|0;if((f|0)==6){v=m;h=19}else{t=m;u=c[b>>2]|0;h=13}}}while(0);if((h|0)==13){f=b+48|0;p=a[f>>0]|0;o=(p&255)+1|0;m=u+78|0;do if((p&255)>=(d[m>>0]|0))if((p&255)>248)be(c[b+12>>2]|0,46675);else{u=o&255;a[m>>0]=u;w=u;break}else w=o&255;while(0);a[f>>0]=w;Ke(b,e,(w&255)+-1|0);if((c[e>>2]|0)==6){v=t;h=19}else{x=t;h=22}}if((h|0)==19){t=c[e+4>>2]|0;if((t&256|0)==0?(t|0)>=(d[b+46>>0]|0|0):0){t=b+48|0;a[t>>0]=(a[t>>0]|0)+-1<<24>>24;x=v;h=22}else{x=v;h=22}}do if((h|0)==22){_d(b,c[x>>2]<<23|32745)|0;v=b+28|0;t=c[v>>2]|0;c[v>>2]=-1;v=_d(b,2147450916)|0;if((t|0)!=-1)if((v|0)!=-1){w=c[(c[b>>2]|0)+12>>2]|0;f=v;while(1){y=w+(f<<2)|0;z=c[y>>2]|0;o=(z>>>14)+-131071|0;m=(o|0)==-1?-1:f+1+o|0;if((m|0)==-1)break;else f=m}w=t+~f|0;if((((w|0)>-1?w:0-w|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[y>>2]=(w<<14)+2147467264|z&16383;g=v;h=29;break}}else{s=t;h=30}else{g=v;h=29}}while(0);if((h|0)==29?(g|0)!=-1:0){s=g;h=30}do if((h|0)==30){g=e+8|0;z=c[g>>2]|0;if((z|0)==-1){c[g>>2]=s;break}g=c[(c[b>>2]|0)+12>>2]|0;y=z;while(1){A=g+(y<<2)|0;B=c[A>>2]|0;z=(B>>>14)+-131071|0;x=(z|0)==-1?-1:y+1+z|0;if((x|0)==-1)break;else y=x}g=s+~y|0;if((((g|0)>-1?g:0-g|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[A>>2]=(g<<14)+2147467264|B&16383;break}}while(0);B=e+12|0;e=c[B>>2]|0;c[b+24>>2]=c[b+20>>2];A=b+28|0;if((e|0)==-1){c[B>>2]=-1;return}s=c[A>>2]|0;if((s|0)==-1){c[A>>2]=e;c[B>>2]=-1;return}A=c[(c[b>>2]|0)+12>>2]|0;h=s;while(1){C=A+(h<<2)|0;D=c[C>>2]|0;s=(D>>>14)+-131071|0;g=(s|0)==-1?-1:h+1+s|0;if((g|0)==-1)break;else h=g}A=e+~h|0;if((((A|0)>-1?A:0-A|0)|0)>131071)be(c[b+12>>2]|0,46263);c[C>>2]=(A<<14)+2147467264|D&16383;c[B>>2]=-1;return}function Re(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Fa;Fa=Fa+16|0;e=b;f=c[a>>2]|0;g=a+36|0;h=c[g>>2]|0;i=c[h>>2]|0;c[h>>2]=i+-1;if(!i){i=La[c[h+8>>2]&7](c[h+16>>2]|0,c[h+12>>2]|0,e)|0;j=c[e>>2]|0;if((i|0)==0|(j|0)==0)k=-1;else{c[h>>2]=j+-1;c[h+4>>2]=i+1;k=d[i>>0]|0}l=k}else{k=h+4|0;h=c[k>>2]|0;c[k>>2]=h+1;l=d[h>>0]|0}c[a>>2]=l;switch(l|0){case 13:case 10:{if((l|0)!=(f|0)){f=c[g>>2]|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(!g){g=La[c[f+8>>2]&7](c[f+16>>2]|0,c[f+12>>2]|0,e)|0;l=c[e>>2]|0;if((g|0)==0|(l|0)==0)m=-1;else{c[f>>2]=l+-1;c[f+4>>2]=g+1;m=d[g>>0]|0}n=m}else{m=f+4|0;f=c[m>>2]|0;c[m>>2]=f+1;n=d[f>>0]|0}c[a>>2]=n}break}default:{}}n=a+4|0;f=c[n>>2]|0;c[n>>2]=f+1;if((f|0)>2147483643)be(a,47319);else{Fa=b;return}}function Se(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;e=Fa;Fa=Fa+16|0;f=e;g=c[b>>2]|0;h=b+40|0;i=c[h>>2]|0;j=i+4|0;k=c[j>>2]|0;l=k+1|0;m=i+8|0;n=c[m>>2]|0;if(l>>>0>n>>>0){if(n>>>0>2147483645)ke(b,46491,0);o=n<<1;p=c[b+32>>2]|0;if((o|0)==-2)wc(p);q=c[i>>2]|0;r=c[p+12>>2]|0;s=(q|0)==0;t=r+4|0;u=Ma[c[r>>2]&1](c[t>>2]|0,q,n,o)|0;if((o|0)!=0&(u|0)==0){if(!(a[r+51>>0]|0))jc(p,4);vc(p,1);v=Ma[c[r>>2]&1](c[t>>2]|0,q,n,o)|0;if(!v)jc(p,4);else w=v}else w=u;u=r+12|0;c[u>>2]=(s?0:0-n|0)+o+(c[u>>2]|0);c[i>>2]=w;c[m>>2]=o;o=c[j>>2]|0;x=o+1|0;y=w;z=o}else{x=l;y=c[i>>2]|0;z=k}c[j>>2]=x;a[y+z>>0]=g;z=b+36|0;y=c[z>>2]|0;x=c[y>>2]|0;c[y>>2]=x+-1;if(!x){x=La[c[y+8>>2]&7](c[y+16>>2]|0,c[y+12>>2]|0,f)|0;j=c[f>>2]|0;if((x|0)==0|(j|0)==0)A=-1;else{c[y>>2]=j+-1;c[y+4>>2]=x+1;A=d[x>>0]|0}B=A}else{A=y+4|0;y=c[A>>2]|0;c[A>>2]=y+1;B=d[y>>0]|0}c[b>>2]=B;if((B|0)!=61){C=0;D=B;E=(D|0)!=(g|0);F=E<<31>>31;G=C^F;Fa=e;return G|0}B=b+32|0;y=0;while(1){A=c[h>>2]|0;x=A+4|0;j=c[x>>2]|0;k=j+1|0;i=A+8|0;l=c[i>>2]|0;if(k>>>0>l>>>0){if(l>>>0>2147483645){H=22;break}o=l<<1;I=c[B>>2]|0;if((o|0)==-2){H=24;break}w=c[A>>2]|0;m=c[I+12>>2]|0;u=(w|0)==0;n=m+4|0;s=Ma[c[m>>2]&1](c[n>>2]|0,w,l,o)|0;if((o|0)!=0&(s|0)==0){if(!(a[m+51>>0]|0)){H=28;break}vc(I,1);r=Ma[c[m>>2]&1](c[n>>2]|0,w,l,o)|0;if(!r){H=28;break}else J=r}else J=s;s=m+12|0;c[s>>2]=(u?0:0-l|0)+o+(c[s>>2]|0);c[A>>2]=J;c[i>>2]=o;o=c[x>>2]|0;K=o+1|0;L=J;M=o}else{K=k;L=c[A>>2]|0;M=j}c[x>>2]=K;a[L+M>>0]=61;x=c[z>>2]|0;j=c[x>>2]|0;c[x>>2]=j+-1;if(!j){j=La[c[x+8>>2]&7](c[x+16>>2]|0,c[x+12>>2]|0,f)|0;A=c[f>>2]|0;if((j|0)==0|(A|0)==0)N=-1;else{c[x>>2]=A+-1;c[x+4>>2]=j+1;N=d[j>>0]|0}O=N}else{j=x+4|0;x=c[j>>2]|0;c[j>>2]=x+1;O=d[x>>0]|0}c[b>>2]=O;x=y+1|0;if((O|0)==61)y=x;else{C=x;D=O;H=36;break}}if((H|0)==22)ke(b,46491,0);else if((H|0)==24)wc(I);else if((H|0)==28)jc(I,4);else if((H|0)==36){E=(D|0)!=(g|0);F=E<<31>>31;G=C^F;Fa=e;return G|0}return 0}function Te(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;g=Fa;Fa=Fa+16|0;h=g;i=c[b>>2]|0;j=b+40|0;k=c[j>>2]|0;l=k+4|0;m=c[l>>2]|0;n=m+1|0;o=k+8|0;p=c[o>>2]|0;if(n>>>0>p>>>0){if(p>>>0>2147483645)ke(b,46491,0);q=p<<1;r=c[b+32>>2]|0;if((q|0)==-2)wc(r);s=c[k>>2]|0;t=c[r+12>>2]|0;u=(s|0)==0;v=t+4|0;w=Ma[c[t>>2]&1](c[v>>2]|0,s,p,q)|0;if((q|0)!=0&(w|0)==0){if(!(a[t+51>>0]|0))jc(r,4);vc(r,1);x=Ma[c[t>>2]&1](c[v>>2]|0,s,p,q)|0;if(!x)jc(r,4);else y=x}else y=w;w=t+12|0;c[w>>2]=(u?0:0-p|0)+q+(c[w>>2]|0);c[k>>2]=y;c[o>>2]=q;q=c[l>>2]|0;z=q+1|0;A=y;B=q}else{z=n;A=c[k>>2]|0;B=m}c[l>>2]=z;a[A+B>>0]=i;i=b+36|0;B=c[i>>2]|0;A=c[B>>2]|0;c[B>>2]=A+-1;if(!A){A=La[c[B+8>>2]&7](c[B+16>>2]|0,c[B+12>>2]|0,h)|0;z=c[h>>2]|0;if((A|0)==0|(z|0)==0)C=-1;else{c[B>>2]=z+-1;c[B+4>>2]=A+1;C=d[A>>0]|0}D=C}else{C=B+4|0;B=c[C>>2]|0;c[C>>2]=B+1;D=d[B>>0]|0}c[b>>2]=D;switch(D|0){case 13:case 10:{Re(b);break}default:{}}D=(e|0)==0;B=b+32|0;a:while(1){C=c[b>>2]|0;b:do switch(C|0){case -1:{E=21;break a;break}case 93:{if((Se(b)|0)==(f|0)){E=23;break a}break}case 13:case 10:{A=c[j>>2]|0;z=A+4|0;l=c[z>>2]|0;m=l+1|0;k=A+8|0;n=c[k>>2]|0;if(m>>>0>n>>>0){if(n>>>0>2147483645){E=43;break a}q=n<<1;F=c[B>>2]|0;if((q|0)==-2){E=45;break a}y=c[A>>2]|0;o=c[F+12>>2]|0;w=(y|0)==0;p=o+4|0;u=Ma[c[o>>2]&1](c[p>>2]|0,y,n,q)|0;if((q|0)!=0&(u|0)==0){if(!(a[o+51>>0]|0)){E=49;break a}vc(F,1);t=Ma[c[o>>2]&1](c[p>>2]|0,y,n,q)|0;if(!t){E=49;break a}else G=t}else G=u;u=o+12|0;c[u>>2]=(w?0:0-n|0)+q+(c[u>>2]|0);c[A>>2]=G;c[k>>2]=q;q=c[z>>2]|0;H=q+1|0;I=G;J=q}else{H=m;I=c[A>>2]|0;J=l}c[z>>2]=H;a[I+J>>0]=10;Re(b);if(D)c[(c[j>>2]|0)+4>>2]=0;break}default:{if(D){z=c[i>>2]|0;l=c[z>>2]|0;c[z>>2]=l+-1;if(!l){l=La[c[z+8>>2]&7](c[z+16>>2]|0,c[z+12>>2]|0,h)|0;A=c[h>>2]|0;if((l|0)==0|(A|0)==0)K=-1;else{c[z>>2]=A+-1;c[z+4>>2]=l+1;K=d[l>>0]|0}L=K}else{l=z+4|0;z=c[l>>2]|0;c[l>>2]=z+1;L=d[z>>0]|0}c[b>>2]=L;break b}z=c[j>>2]|0;l=z+4|0;A=c[l>>2]|0;m=A+1|0;q=z+8|0;k=c[q>>2]|0;if(m>>>0>k>>>0){if(k>>>0>2147483645){E=58;break a}u=k<<1;M=c[B>>2]|0;if((u|0)==-2){E=60;break a}n=c[z>>2]|0;w=c[M+12>>2]|0;o=(n|0)==0;t=w+4|0;y=Ma[c[w>>2]&1](c[t>>2]|0,n,k,u)|0;if((u|0)!=0&(y|0)==0){if(!(a[w+51>>0]|0)){E=64;break a}vc(M,1);p=Ma[c[w>>2]&1](c[t>>2]|0,n,k,u)|0;if(!p){E=64;break a}else N=p}else N=y;y=w+12|0;c[y>>2]=(o?0:0-k|0)+u+(c[y>>2]|0);c[z>>2]=N;c[q>>2]=u;u=c[l>>2]|0;O=u+1|0;P=N;Q=u}else{O=m;P=c[z>>2]|0;Q=A}c[l>>2]=O;a[P+Q>>0]=C;l=c[i>>2]|0;A=c[l>>2]|0;c[l>>2]=A+-1;if(!A){A=La[c[l+8>>2]&7](c[l+16>>2]|0,c[l+12>>2]|0,h)|0;z=c[h>>2]|0;if((A|0)==0|(z|0)==0)R=-1;else{c[l>>2]=z+-1;c[l+4>>2]=A+1;R=d[A>>0]|0}S=R}else{A=l+4|0;l=c[A>>2]|0;c[A>>2]=l+1;S=d[l>>0]|0}c[b>>2]=S}}while(0)}if((E|0)==21)ke(b,D?47272:47296,286);else if((E|0)==23){S=c[b>>2]|0;R=c[j>>2]|0;Q=R+4|0;P=c[Q>>2]|0;O=P+1|0;N=R+8|0;L=c[N>>2]|0;if(O>>>0>L>>>0){if(L>>>0>2147483645)ke(b,46491,0);K=L<<1;J=c[B>>2]|0;if((K|0)==-2)wc(J);B=c[R>>2]|0;I=c[J+12>>2]|0;H=(B|0)==0;G=I+4|0;C=Ma[c[I>>2]&1](c[G>>2]|0,B,L,K)|0;if((K|0)!=0&(C|0)==0){if(!(a[I+51>>0]|0))jc(J,4);vc(J,1);l=Ma[c[I>>2]&1](c[G>>2]|0,B,L,K)|0;if(!l)jc(J,4);else T=l}else T=C;C=I+12|0;c[C>>2]=(H?0:0-L|0)+K+(c[C>>2]|0);c[R>>2]=T;c[N>>2]=K;K=c[Q>>2]|0;U=K+1|0;V=T;W=K}else{U=O;V=c[R>>2]|0;W=P}c[Q>>2]=U;a[V+W>>0]=S;S=c[i>>2]|0;i=c[S>>2]|0;c[S>>2]=i+-1;if(!i){i=La[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,h)|0;W=c[h>>2]|0;if((i|0)==0|(W|0)==0)X=-1;else{c[S>>2]=W+-1;c[S+4>>2]=i+1;X=d[i>>0]|0}Y=X}else{X=S+4|0;S=c[X>>2]|0;c[X>>2]=S+1;Y=d[S>>0]|0}c[b>>2]=Y;if(D){Fa=g;return}D=c[j>>2]|0;j=f+2|0;c[e>>2]=ae(b,(c[D>>2]|0)+j|0,(c[D+4>>2]|0)-(j<<1)|0)|0;Fa=g;return}else if((E|0)==43)ke(b,46491,0);else if((E|0)==45)wc(F);else if((E|0)==49)jc(F,4);else if((E|0)==58)ke(b,46491,0);else if((E|0)==60)wc(M);else if((E|0)==64)jc(M,4)}function Ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[(c[a+40>>2]|0)+4>>2]=0;Ve(a,92);a:do if((d|0)>0){f=0;do{g=c[b+(f<<2)>>2]|0;if((g|0)==-1)break a;Ve(a,g);f=f+1|0}while((f|0)<(d|0))}while(0);ke(a,e,289)}function Ve(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b+40>>2]|0;f=e+4|0;g=c[f>>2]|0;h=g+1|0;i=e+8|0;j=c[i>>2]|0;if(h>>>0<=j>>>0){k=h;l=c[e>>2]|0;m=g;n=d&255;c[f>>2]=k;o=l+m|0;a[o>>0]=n;return}if(j>>>0>2147483645)ke(b,46491,0);g=j<<1;h=c[b+32>>2]|0;if((g|0)==-2)wc(h);b=We(h,c[e>>2]|0,j,g)|0;c[e>>2]=b;c[i>>2]=g;g=c[f>>2]|0;k=g+1|0;l=b;m=g;n=d&255;c[f>>2]=k;o=l+m|0;a[o>>0]=n;return}function We(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=c[b+12>>2]|0;h=(d|0)==0;i=g+4|0;j=Ma[c[g>>2]&1](c[i>>2]|0,d,e,f)|0;if((f|0)!=0&(j|0)==0){if(!(a[g+51>>0]|0))jc(b,4);vc(b,1);k=Ma[c[g>>2]&1](c[i>>2]|0,d,e,f)|0;if(!k)jc(b,4);else l=k}else l=j;j=g+12|0;c[j>>2]=(h?0:0-e|0)+f+(c[j>>2]|0);return l|0}function Xe(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=d;d=c[a>>2]|0;c[e>>2]=c[a+12>>2];c[e+4>>2]=b;hd(d,47426,e)|0;jc(c[a>>2]|0,3)}function Ye(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,Na=0,Oa=0;e=Fa;Fa=Fa+16|0;f=e+4|0;g=e;h=b+4|0;i=c[h>>2]|0;j=i+16|0;k=i+8|0;l=i+12|0;m=i+4|0;n=4;o=g;p=c[i>>2]|0;while(1){if(!p){q=La[c[k>>2]&7](c[j>>2]|0,c[l>>2]|0,f)|0;r=c[f>>2]|0;if((q|0)==0|(r|0)==0){s=7;break}c[i>>2]=r;c[m>>2]=q;t=r;u=q}else{t=p;u=c[m>>2]|0}q=n>>>0>t>>>0?t:n;Xu(o|0,u|0,q|0)|0;p=(c[i>>2]|0)-q|0;c[i>>2]=p;c[m>>2]=(c[m>>2]|0)+q;n=n-q|0;if(!n)break;else o=o+q|0}if((s|0)==7)Xe(b,47367);o=c[g>>2]|0;if((o|0)<0)Xe(b,47416);c[d+64>>2]=o;o=c[h>>2]|0;n=o+16|0;m=o+8|0;p=o+12|0;i=o+4|0;u=4;t=g;l=c[o>>2]|0;while(1){if(!l){j=La[c[m>>2]&7](c[n>>2]|0,c[p>>2]|0,f)|0;k=c[f>>2]|0;if((j|0)==0|(k|0)==0){s=16;break}c[o>>2]=k;c[i>>2]=j;v=k;w=j}else{v=l;w=c[i>>2]|0}j=u>>>0>v>>>0?v:u;Xu(t|0,w|0,j|0)|0;l=(c[o>>2]|0)-j|0;c[o>>2]=l;c[i>>2]=(c[i>>2]|0)+j;u=u-j|0;if(!u)break;else t=t+j|0}if((s|0)==16)Xe(b,47367);t=c[g>>2]|0;if((t|0)<0)Xe(b,47416);c[d+68>>2]=t;t=c[h>>2]|0;u=t+16|0;i=t+8|0;l=t+12|0;o=t+4|0;w=1;v=g;p=c[t>>2]|0;while(1){if(!p){n=La[c[i>>2]&7](c[u>>2]|0,c[l>>2]|0,f)|0;m=c[f>>2]|0;if((n|0)==0|(m|0)==0){s=25;break}c[t>>2]=m;c[o>>2]=n;x=m;y=n}else{x=p;y=c[o>>2]|0}n=w>>>0>x>>>0?x:w;Xu(v|0,y|0,n|0)|0;p=(c[t>>2]|0)-n|0;c[t>>2]=p;c[o>>2]=(c[o>>2]|0)+n;w=w-n|0;if(!w)break;else v=v+n|0}if((s|0)==25)Xe(b,47367);a[d+76>>0]=a[g>>0]|0;v=c[h>>2]|0;w=v+16|0;o=v+8|0;p=v+12|0;t=v+4|0;y=1;x=g;l=c[v>>2]|0;while(1){if(!l){u=La[c[o>>2]&7](c[w>>2]|0,c[p>>2]|0,f)|0;i=c[f>>2]|0;if((u|0)==0|(i|0)==0){s=32;break}c[v>>2]=i;c[t>>2]=u;z=i;A=u}else{z=l;A=c[t>>2]|0}u=y>>>0>z>>>0?z:y;Xu(x|0,A|0,u|0)|0;l=(c[v>>2]|0)-u|0;c[v>>2]=l;c[t>>2]=(c[t>>2]|0)+u;y=y-u|0;if(!y)break;else x=x+u|0}if((s|0)==32)Xe(b,47367);a[d+77>>0]=a[g>>0]|0;x=c[h>>2]|0;y=x+16|0;t=x+8|0;l=x+12|0;v=x+4|0;A=1;z=g;p=c[x>>2]|0;while(1){if(!p){w=La[c[t>>2]&7](c[y>>2]|0,c[l>>2]|0,f)|0;o=c[f>>2]|0;if((w|0)==0|(o|0)==0){s=39;break}c[x>>2]=o;c[v>>2]=w;B=o;C=w}else{B=p;C=c[v>>2]|0}w=A>>>0>B>>>0?B:A;Xu(z|0,C|0,w|0)|0;p=(c[x>>2]|0)-w|0;c[x>>2]=p;c[v>>2]=(c[v>>2]|0)+w;A=A-w|0;if(!A)break;else z=z+w|0}if((s|0)==39)Xe(b,47367);a[d+78>>0]=a[g>>0]|0;z=c[h>>2]|0;A=z+16|0;v=z+8|0;p=z+12|0;x=z+4|0;C=4;B=g;l=c[z>>2]|0;while(1){if(!l){y=La[c[v>>2]&7](c[A>>2]|0,c[p>>2]|0,f)|0;t=c[f>>2]|0;if((y|0)==0|(t|0)==0){s=46;break}c[z>>2]=t;c[x>>2]=y;D=t;E=y}else{D=l;E=c[x>>2]|0}y=C>>>0>D>>>0?D:C;Xu(B|0,E|0,y|0)|0;l=(c[z>>2]|0)-y|0;c[z>>2]=l;c[x>>2]=(c[x>>2]|0)+y;C=C-y|0;if(!C)break;else B=B+y|0}if((s|0)==46)Xe(b,47367);B=c[g>>2]|0;if((B|0)<0)Xe(b,47416);C=c[b>>2]|0;if((B+1|0)>>>0>1073741823)wc(C);x=B<<2;l=c[C+12>>2]|0;z=l+4|0;E=Ma[c[l>>2]&1](c[z>>2]|0,0,0,x)|0;if((x|0)!=0&(E|0)==0){if(!(a[l+51>>0]|0))jc(C,4);vc(C,1);D=Ma[c[l>>2]&1](c[z>>2]|0,0,0,x)|0;if(!D)jc(C,4);else F=D}else F=E;E=l+12|0;c[E>>2]=(c[E>>2]|0)+x;c[d+12>>2]=F;c[d+48>>2]=B;B=c[h>>2]|0;do if(x){E=B+16|0;l=B+8|0;D=B+12|0;C=B+4|0;z=x;p=F;A=c[B>>2]|0;while(1){if(!A){v=La[c[l>>2]&7](c[E>>2]|0,c[D>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=62;break}c[B>>2]=y;c[C>>2]=v;G=y;H=v}else{G=A;H=c[C>>2]|0}v=z>>>0>G>>>0?G:z;Xu(p|0,H|0,v|0)|0;A=(c[B>>2]|0)-v|0;c[B>>2]=A;c[C>>2]=(c[C>>2]|0)+v;z=z-v|0;if(!z){s=63;break}else p=p+v|0}if((s|0)==62)Xe(b,47367);else if((s|0)==63){I=c[h>>2]|0;break}}else I=B;while(0);B=I+16|0;H=I+8|0;G=I+12|0;F=I+4|0;x=4;p=g;z=c[I>>2]|0;while(1){if(!z){C=La[c[H>>2]&7](c[B>>2]|0,c[G>>2]|0,f)|0;A=c[f>>2]|0;if((C|0)==0|(A|0)==0){s=70;break}c[I>>2]=A;c[F>>2]=C;J=A;K=C}else{J=z;K=c[F>>2]|0}C=x>>>0>J>>>0?J:x;Xu(p|0,K|0,C|0)|0;z=(c[I>>2]|0)-C|0;c[I>>2]=z;c[F>>2]=(c[F>>2]|0)+C;x=x-C|0;if(!x)break;else p=p+C|0}if((s|0)==70)Xe(b,47367);p=c[g>>2]|0;if((p|0)<0)Xe(b,47416);x=c[b>>2]|0;if((p+1|0)>>>0>536870911)wc(x);F=p<<3;z=c[x+12>>2]|0;I=z+4|0;K=Ma[c[z>>2]&1](c[I>>2]|0,0,0,F)|0;if((F|0)!=0&(K|0)==0){if(!(a[z+51>>0]|0))jc(x,4);vc(x,1);J=Ma[c[z>>2]&1](c[I>>2]|0,0,0,F)|0;if(!J)jc(x,4);else L=J}else L=K;K=z+12|0;c[K>>2]=(c[K>>2]|0)+F;F=d+8|0;c[F>>2]=L;c[d+44>>2]=p;K=(p|0)>0;a:do if(K){z=0;do{c[L+(z<<3)+4>>2]=0;z=z+1|0}while((z|0)!=(p|0));if(K){z=b+8|0;J=0;x=L;b:while(1){I=x+(J<<3)|0;G=c[h>>2]|0;B=G+16|0;H=G+8|0;C=G+12|0;A=G+4|0;D=1;E=g;l=c[G>>2]|0;while(1){if(!l){v=La[c[H>>2]&7](c[B>>2]|0,c[C>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=90;break b}c[G>>2]=y;c[A>>2]=v;M=y;N=v}else{M=l;N=c[A>>2]|0}v=D>>>0>M>>>0?M:D;Xu(E|0,N|0,v|0)|0;l=(c[G>>2]|0)-v|0;c[G>>2]=l;c[A>>2]=(c[A>>2]|0)+v;D=D-v|0;if(!D)break;else E=E+v|0}E=a[g>>0]|0;switch(E|0){case 0:{O=E;s=125;break}case 1:{E=c[h>>2]|0;D=E+16|0;A=E+8|0;l=E+12|0;G=E+4|0;C=1;B=g;H=c[E>>2]|0;while(1){if(!H){v=La[c[A>>2]&7](c[D>>2]|0,c[l>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=98;break b}c[E>>2]=y;c[G>>2]=v;P=y;Q=v}else{P=H;Q=c[G>>2]|0}v=C>>>0>P>>>0?P:C;Xu(B|0,Q|0,v|0)|0;H=(c[E>>2]|0)-v|0;c[E>>2]=H;c[G>>2]=(c[G>>2]|0)+v;C=C-v|0;if(!C)break;else B=B+v|0}c[I>>2]=a[g>>0];O=1;s=125;break}case 3:{B=c[h>>2]|0;C=B+16|0;G=B+8|0;H=B+12|0;E=B+4|0;l=4;D=g;A=c[B>>2]|0;while(1){if(!A){v=La[c[G>>2]&7](c[C>>2]|0,c[H>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=106;break b}c[B>>2]=y;c[E>>2]=v;R=y;S=v}else{R=A;S=c[E>>2]|0}v=l>>>0>R>>>0?R:l;Xu(D|0,S|0,v|0)|0;A=(c[B>>2]|0)-v|0;c[B>>2]=A;c[E>>2]=(c[E>>2]|0)+v;l=l-v|0;if(!l)break;else D=D+v|0}c[I>>2]=c[g>>2];O=3;s=125;break}case 4:{D=c[h>>2]|0;l=D+16|0;E=D+8|0;A=D+12|0;B=D+4|0;H=4;C=g;G=c[D>>2]|0;while(1){if(!G){v=La[c[E>>2]&7](c[l>>2]|0,c[A>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=114;break b}c[D>>2]=y;c[B>>2]=v;T=y;U=v}else{T=G;U=c[B>>2]|0}v=H>>>0>T>>>0?T:H;Xu(C|0,U|0,v|0)|0;G=(c[D>>2]|0)-v|0;c[D>>2]=G;c[B>>2]=(c[B>>2]|0)+v;H=H-v|0;if(!H)break;else C=C+v|0}C=c[g>>2]|0;if(!C)V=0;else{H=Ze(c[b>>2]|0,c[z>>2]|0,C)|0;B=c[h>>2]|0;G=B+16|0;D=B+8|0;A=B+12|0;l=B+4|0;E=C;v=H;y=c[B>>2]|0;while(1){if(!y){t=La[c[D>>2]&7](c[G>>2]|0,c[A>>2]|0,f)|0;w=c[f>>2]|0;if((t|0)==0|(w|0)==0){s=122;break b}c[B>>2]=w;c[l>>2]=t;W=w;X=t}else{W=y;X=c[l>>2]|0}t=E>>>0>W>>>0?W:E;Xu(v|0,X|0,t|0)|0;y=(c[B>>2]|0)-t|0;c[B>>2]=y;c[l>>2]=(c[l>>2]|0)+t;E=E-t|0;if(!E)break;else v=v+t|0}V=id(c[b>>2]|0,H,C+-1|0)|0}c[I>>2]=V;O=(a[V+4>>0]|64)&255;s=125;break}default:{}}if((s|0)==125){s=0;c[x+(J<<3)+4>>2]=O}v=J+1|0;if((v|0)>=(p|0))break a;J=v;x=c[F>>2]|0}if((s|0)==90)Xe(b,47367);else if((s|0)==98)Xe(b,47367);else if((s|0)==106)Xe(b,47367);else if((s|0)==114)Xe(b,47367);else if((s|0)==122)Xe(b,47367)}}while(0);F=c[h>>2]|0;p=F+16|0;O=F+8|0;V=F+12|0;X=F+4|0;W=4;U=g;T=c[F>>2]|0;while(1){if(!T){S=La[c[O>>2]&7](c[p>>2]|0,c[V>>2]|0,f)|0;R=c[f>>2]|0;if((S|0)==0|(R|0)==0){s=134;break}c[F>>2]=R;c[X>>2]=S;Y=R;Z=S}else{Y=T;Z=c[X>>2]|0}S=W>>>0>Y>>>0?Y:W;Xu(U|0,Z|0,S|0)|0;T=(c[F>>2]|0)-S|0;c[F>>2]=T;c[X>>2]=(c[X>>2]|0)+S;W=W-S|0;if(!W)break;else U=U+S|0}if((s|0)==134)Xe(b,47367);U=c[g>>2]|0;if((U|0)<0)Xe(b,47416);W=c[b>>2]|0;if((U+1|0)>>>0>1073741823)wc(W);X=U<<2;T=c[W+12>>2]|0;F=T+4|0;Z=Ma[c[T>>2]&1](c[F>>2]|0,0,0,X)|0;if((X|0)!=0&(Z|0)==0){if(!(a[T+51>>0]|0))jc(W,4);vc(W,1);Y=Ma[c[T>>2]&1](c[F>>2]|0,0,0,X)|0;if(!Y)jc(W,4);else _=Y}else _=Z;Z=T+12|0;c[Z>>2]=(c[Z>>2]|0)+X;X=d+16|0;c[X>>2]=_;c[d+56>>2]=U;Z=(U|0)>0;c:do if(Z){c[_>>2]=0;if((U|0)!=1){T=1;do{c[(c[X>>2]|0)+(T<<2)>>2]=0;T=T+1|0}while((T|0)!=(U|0))}if(Z){T=0;while(1){$=c[b>>2]|0;Y=c[$+12>>2]|0;W=Y+4|0;F=Ma[c[Y>>2]&1](c[W>>2]|0,0,9,80)|0;if(!F){if(!(a[Y+51>>0]|0)){s=152;break}vc($,1);V=Ma[c[Y>>2]&1](c[W>>2]|0,0,9,80)|0;if(!V){s=152;break}else aa=V}else aa=F;F=Y+12|0;c[F>>2]=(c[F>>2]|0)+80;F=Y+56|0;a[aa+5>>0]=a[Y+48>>0]&3;a[aa+4>>0]=9;c[aa>>2]=c[F>>2];c[F>>2]=aa;a[aa+76>>0]=0;a[aa+77>>0]=0;a[aa+78>>0]=0;F=aa+8|0;Y=F+64|0;do{c[F>>2]=0;F=F+4|0}while((F|0)<(Y|0));c[(c[X>>2]|0)+(T<<2)>>2]=aa;Ye(b,c[(c[X>>2]|0)+(T<<2)>>2]|0);T=T+1|0;if((T|0)>=(U|0))break c}if((s|0)==152)jc($,4)}}while(0);$=c[h>>2]|0;U=$+16|0;X=$+8|0;aa=$+12|0;Z=$+4|0;_=4;T=g;F=c[$>>2]|0;while(1){if(!F){Y=La[c[X>>2]&7](c[U>>2]|0,c[aa>>2]|0,f)|0;I=c[f>>2]|0;if((Y|0)==0|(I|0)==0){s=160;break}c[$>>2]=I;c[Z>>2]=Y;ba=I;ca=Y}else{ba=F;ca=c[Z>>2]|0}Y=_>>>0>ba>>>0?ba:_;Xu(T|0,ca|0,Y|0)|0;F=(c[$>>2]|0)-Y|0;c[$>>2]=F;c[Z>>2]=(c[Z>>2]|0)+Y;_=_-Y|0;if(!_)break;else T=T+Y|0}if((s|0)==160)Xe(b,47367);T=c[g>>2]|0;if((T|0)<0)Xe(b,47416);_=c[b>>2]|0;if((T+1|0)>>>0>536870911)wc(_);Z=T<<3;F=c[_+12>>2]|0;$=F+4|0;ca=Ma[c[F>>2]&1](c[$>>2]|0,0,0,Z)|0;if((Z|0)!=0&(ca|0)==0){if(!(a[F+51>>0]|0))jc(_,4);vc(_,1);ba=Ma[c[F>>2]&1](c[$>>2]|0,0,0,Z)|0;if(!ba)jc(_,4);else da=ba}else da=ca;ca=F+12|0;c[ca>>2]=(c[ca>>2]|0)+Z;Z=d+28|0;c[Z>>2]=da;c[d+40>>2]=T;d:do if((T|0)>0){ca=0;do{c[da+(ca<<3)>>2]=0;ca=ca+1|0}while((ca|0)!=(T|0));ca=0;e:while(1){F=c[h>>2]|0;ba=F+16|0;_=F+8|0;$=F+12|0;aa=F+4|0;U=1;X=g;Y=c[F>>2]|0;while(1){if(!Y){I=La[c[_>>2]&7](c[ba>>2]|0,c[$>>2]|0,f)|0;C=c[f>>2]|0;if((I|0)==0|(C|0)==0){s=179;break e}c[F>>2]=C;c[aa>>2]=I;ea=C;fa=I}else{ea=Y;fa=c[aa>>2]|0}I=U>>>0>ea>>>0?ea:U;Xu(X|0,fa|0,I|0)|0;Y=(c[F>>2]|0)-I|0;c[F>>2]=Y;c[aa>>2]=(c[aa>>2]|0)+I;U=U-I|0;if(!U)break;else X=X+I|0}a[(c[Z>>2]|0)+(ca<<3)+4>>0]=a[g>>0]|0;X=c[h>>2]|0;U=X+16|0;aa=X+8|0;Y=X+12|0;F=X+4|0;$=1;ba=g;_=c[X>>2]|0;while(1){if(!_){I=La[c[aa>>2]&7](c[U>>2]|0,c[Y>>2]|0,f)|0;C=c[f>>2]|0;if((I|0)==0|(C|0)==0){s=186;break e}c[X>>2]=C;c[F>>2]=I;ga=C;ha=I}else{ga=_;ha=c[F>>2]|0}I=$>>>0>ga>>>0?ga:$;Xu(ba|0,ha|0,I|0)|0;_=(c[X>>2]|0)-I|0;c[X>>2]=_;c[F>>2]=(c[F>>2]|0)+I;$=$-I|0;if(!$)break;else ba=ba+I|0}a[(c[Z>>2]|0)+(ca<<3)+5>>0]=a[g>>0]|0;ca=ca+1|0;if((ca|0)>=(T|0))break d}if((s|0)==179)Xe(b,47367);else if((s|0)==186)Xe(b,47367)}while(0);T=c[h>>2]|0;ha=T+16|0;ga=T+8|0;fa=T+12|0;ea=T+4|0;da=4;ca=g;ba=c[T>>2]|0;while(1){if(!ba){$=La[c[ga>>2]&7](c[ha>>2]|0,c[fa>>2]|0,f)|0;F=c[f>>2]|0;if(($|0)==0|(F|0)==0){s=194;break}c[T>>2]=F;c[ea>>2]=$;ia=F;ja=$}else{ia=ba;ja=c[ea>>2]|0}$=da>>>0>ia>>>0?ia:da;Xu(ca|0,ja|0,$|0)|0;ba=(c[T>>2]|0)-$|0;c[T>>2]=ba;c[ea>>2]=(c[ea>>2]|0)+$;da=da-$|0;if(!da)break;else ca=ca+$|0}if((s|0)==194)Xe(b,47367);ca=c[g>>2]|0;do if(ca){da=Ze(c[b>>2]|0,c[b+8>>2]|0,ca)|0;ea=c[h>>2]|0;ba=ea+16|0;T=ea+8|0;ja=ea+12|0;ia=ea+4|0;fa=ca;ha=da;ga=c[ea>>2]|0;while(1){if(!ga){$=La[c[T>>2]&7](c[ba>>2]|0,c[ja>>2]|0,f)|0;F=c[f>>2]|0;if(($|0)==0|(F|0)==0){s=202;break}c[ea>>2]=F;c[ia>>2]=$;ka=F;la=$}else{ka=ga;la=c[ia>>2]|0}$=fa>>>0>ka>>>0?ka:fa;Xu(ha|0,la|0,$|0)|0;ga=(c[ea>>2]|0)-$|0;c[ea>>2]=ga;c[ia>>2]=(c[ia>>2]|0)+$;fa=fa-$|0;if(!fa){s=203;break}else ha=ha+$|0}if((s|0)==202)Xe(b,47367);else if((s|0)==203){ma=id(c[b>>2]|0,da,ca+-1|0)|0;break}}else ma=0;while(0);c[d+36>>2]=ma;ma=c[h>>2]|0;ca=ma+16|0;la=ma+8|0;ka=ma+12|0;ha=ma+4|0;fa=4;ia=g;ga=c[ma>>2]|0;while(1){if(!ga){ea=La[c[la>>2]&7](c[ca>>2]|0,c[ka>>2]|0,f)|0;ja=c[f>>2]|0;if((ea|0)==0|(ja|0)==0){s=210;break}c[ma>>2]=ja;c[ha>>2]=ea;na=ja;oa=ea}else{na=ga;oa=c[ha>>2]|0}ea=fa>>>0>na>>>0?na:fa;Xu(ia|0,oa|0,ea|0)|0;ga=(c[ma>>2]|0)-ea|0;c[ma>>2]=ga;c[ha>>2]=(c[ha>>2]|0)+ea;fa=fa-ea|0;if(!fa)break;else ia=ia+ea|0}if((s|0)==210)Xe(b,47367);ia=c[g>>2]|0;if((ia|0)<0)Xe(b,47416);fa=c[b>>2]|0;if((ia+1|0)>>>0>1073741823)wc(fa);ha=ia<<2;ga=c[fa+12>>2]|0;ma=ga+4|0;oa=Ma[c[ga>>2]&1](c[ma>>2]|0,0,0,ha)|0;do if((ha|0)!=0&(oa|0)==0){if(!(a[ga+51>>0]|0))jc(fa,4);vc(fa,1);na=Ma[c[ga>>2]&1](c[ma>>2]|0,0,0,ha)|0;if(na|0){pa=na;break}jc(fa,4)}else pa=oa;while(0);oa=ga+12|0;c[oa>>2]=(c[oa>>2]|0)+ha;c[d+20>>2]=pa;c[d+52>>2]=ia;ia=c[h>>2]|0;do if(ha){oa=ia+16|0;ga=ia+8|0;fa=ia+12|0;ma=ia+4|0;na=ha;ka=pa;ca=c[ia>>2]|0;while(1){if(!ca){la=La[c[ga>>2]&7](c[oa>>2]|0,c[fa>>2]|0,f)|0;ea=c[f>>2]|0;if((la|0)==0|(ea|0)==0){s=226;break}c[ia>>2]=ea;c[ma>>2]=la;qa=ea;ra=la}else{qa=ca;ra=c[ma>>2]|0}la=na>>>0>qa>>>0?qa:na;Xu(ka|0,ra|0,la|0)|0;ca=(c[ia>>2]|0)-la|0;c[ia>>2]=ca;c[ma>>2]=(c[ma>>2]|0)+la;na=na-la|0;if(!na){s=227;break}else ka=ka+la|0}if((s|0)==226)Xe(b,47367);else if((s|0)==227){sa=c[h>>2]|0;break}}else sa=ia;while(0);ia=sa+16|0;ra=sa+8|0;qa=sa+12|0;pa=sa+4|0;ha=4;ka=g;na=c[sa>>2]|0;while(1){if(!na){ma=La[c[ra>>2]&7](c[ia>>2]|0,c[qa>>2]|0,f)|0;ca=c[f>>2]|0;if((ma|0)==0|(ca|0)==0){s=234;break}c[sa>>2]=ca;c[pa>>2]=ma;ta=ca;ua=ma}else{ta=na;ua=c[pa>>2]|0}ma=ha>>>0>ta>>>0?ta:ha;Xu(ka|0,ua|0,ma|0)|0;na=(c[sa>>2]|0)-ma|0;c[sa>>2]=na;c[pa>>2]=(c[pa>>2]|0)+ma;ha=ha-ma|0;if(!ha)break;else ka=ka+ma|0}if((s|0)==234)Xe(b,47367);ka=c[g>>2]|0;if((ka|0)<0)Xe(b,47416);ha=c[b>>2]|0;if((ka+1|0)>>>0>357913941)wc(ha);pa=ka*12|0;na=c[ha+12>>2]|0;sa=na+4|0;ua=Ma[c[na>>2]&1](c[sa>>2]|0,0,0,pa)|0;do if((pa|0)!=0&(ua|0)==0){if(!(a[na+51>>0]|0))jc(ha,4);vc(ha,1);ta=Ma[c[na>>2]&1](c[sa>>2]|0,0,0,pa)|0;if(ta|0){va=ta;break}jc(ha,4)}else va=ua;while(0);ua=na+12|0;c[ua>>2]=(c[ua>>2]|0)+pa;pa=d+24|0;c[pa>>2]=va;c[d+60>>2]=ka;f:do if((ka|0)>0){d=0;do{c[va+(d*12|0)>>2]=0;d=d+1|0}while((d|0)!=(ka|0));d=b+8|0;ua=0;g:while(1){na=c[h>>2]|0;ha=na+16|0;sa=na+8|0;ta=na+12|0;qa=na+4|0;ia=4;ra=g;ma=c[na>>2]|0;while(1){if(!ma){ca=La[c[sa>>2]&7](c[ha>>2]|0,c[ta>>2]|0,f)|0;fa=c[f>>2]|0;if((ca|0)==0|(fa|0)==0){s=253;break g}c[na>>2]=fa;c[qa>>2]=ca;wa=fa;xa=ca}else{wa=ma;xa=c[qa>>2]|0}ca=ia>>>0>wa>>>0?wa:ia;Xu(ra|0,xa|0,ca|0)|0;ma=(c[na>>2]|0)-ca|0;c[na>>2]=ma;c[qa>>2]=(c[qa>>2]|0)+ca;ia=ia-ca|0;if(!ia)break;else ra=ra+ca|0}ra=c[g>>2]|0;if(!ra)ya=0;else{ia=Ze(c[b>>2]|0,c[d>>2]|0,ra)|0;qa=c[h>>2]|0;ma=qa+16|0;na=qa+8|0;ta=qa+12|0;ha=qa+4|0;sa=ra;ca=ia;fa=c[qa>>2]|0;while(1){if(!fa){oa=La[c[na>>2]&7](c[ma>>2]|0,c[ta>>2]|0,f)|0;ga=c[f>>2]|0;if((oa|0)==0|(ga|0)==0){s=261;break g}c[qa>>2]=ga;c[ha>>2]=oa;za=ga;Aa=oa}else{za=fa;Aa=c[ha>>2]|0}oa=sa>>>0>za>>>0?za:sa;Xu(ca|0,Aa|0,oa|0)|0;fa=(c[qa>>2]|0)-oa|0;c[qa>>2]=fa;c[ha>>2]=(c[ha>>2]|0)+oa;sa=sa-oa|0;if(!sa)break;else ca=ca+oa|0}ya=id(c[b>>2]|0,ia,ra+-1|0)|0}c[(c[pa>>2]|0)+(ua*12|0)>>2]=ya;ca=c[h>>2]|0;sa=ca+16|0;ha=ca+8|0;fa=ca+12|0;qa=ca+4|0;ta=4;ma=g;na=c[ca>>2]|0;while(1){if(!na){oa=La[c[ha>>2]&7](c[sa>>2]|0,c[fa>>2]|0,f)|0;ga=c[f>>2]|0;if((oa|0)==0|(ga|0)==0){s=269;break g}c[ca>>2]=ga;c[qa>>2]=oa;Ba=ga;Ca=oa}else{Ba=na;Ca=c[qa>>2]|0}oa=ta>>>0>Ba>>>0?Ba:ta;Xu(ma|0,Ca|0,oa|0)|0;na=(c[ca>>2]|0)-oa|0;c[ca>>2]=na;c[qa>>2]=(c[qa>>2]|0)+oa;ta=ta-oa|0;if(!ta)break;else ma=ma+oa|0}ma=c[g>>2]|0;if((ma|0)<0){s=271;break}c[(c[pa>>2]|0)+(ua*12|0)+4>>2]=ma;ma=c[h>>2]|0;ta=ma+16|0;qa=ma+8|0;na=ma+12|0;ca=ma+4|0;fa=4;sa=g;ha=c[ma>>2]|0;while(1){if(!ha){ra=La[c[qa>>2]&7](c[ta>>2]|0,c[na>>2]|0,f)|0;ia=c[f>>2]|0;if((ra|0)==0|(ia|0)==0){s=278;break g}c[ma>>2]=ia;c[ca>>2]=ra;Da=ia;Ea=ra}else{Da=ha;Ea=c[ca>>2]|0}ra=fa>>>0>Da>>>0?Da:fa;Xu(sa|0,Ea|0,ra|0)|0;ha=(c[ma>>2]|0)-ra|0;c[ma>>2]=ha;c[ca>>2]=(c[ca>>2]|0)+ra;fa=fa-ra|0;if(!fa)break;else sa=sa+ra|0}sa=c[g>>2]|0;if((sa|0)<0){s=280;break}c[(c[pa>>2]|0)+(ua*12|0)+8>>2]=sa;ua=ua+1|0;if((ua|0)>=(ka|0))break f}if((s|0)==253)Xe(b,47367);else if((s|0)==261)Xe(b,47367);else if((s|0)==269)Xe(b,47367);else if((s|0)==271)Xe(b,47416);else if((s|0)==278)Xe(b,47367);else if((s|0)==280)Xe(b,47416)}while(0);ka=c[h>>2]|0;pa=ka+16|0;Ea=ka+8|0;Da=ka+12|0;Ca=ka+4|0;Ba=4;ya=g;Aa=c[ka>>2]|0;while(1){if(!Aa){za=La[c[Ea>>2]&7](c[pa>>2]|0,c[Da>>2]|0,f)|0;xa=c[f>>2]|0;if((za|0)==0|(xa|0)==0){s=288;break}c[ka>>2]=xa;c[Ca>>2]=za;Ga=xa;Ha=za}else{Ga=Aa;Ha=c[Ca>>2]|0}za=Ba>>>0>Ga>>>0?Ga:Ba;Xu(ya|0,Ha|0,za|0)|0;Aa=(c[ka>>2]|0)-za|0;c[ka>>2]=Aa;c[Ca>>2]=(c[Ca>>2]|0)+za;Ba=Ba-za|0;if(!Ba)break;else ya=ya+za|0}if((s|0)==288)Xe(b,47367);ya=c[g>>2]|0;if((ya|0)<0)Xe(b,47416);if(!ya){Fa=e;return}Ba=b+8|0;Ca=0;h:while(1){Aa=c[h>>2]|0;ka=Aa+16|0;Ha=Aa+8|0;Ga=Aa+12|0;Da=Aa+4|0;pa=4;Ea=g;za=c[Aa>>2]|0;while(1){if(!za){xa=La[c[Ha>>2]&7](c[ka>>2]|0,c[Ga>>2]|0,f)|0;wa=c[f>>2]|0;if((xa|0)==0|(wa|0)==0){s=299;break h}c[Aa>>2]=wa;c[Da>>2]=xa;Ia=wa;Ja=xa}else{Ia=za;Ja=c[Da>>2]|0}xa=pa>>>0>Ia>>>0?Ia:pa;Xu(Ea|0,Ja|0,xa|0)|0;za=(c[Aa>>2]|0)-xa|0;c[Aa>>2]=za;c[Da>>2]=(c[Da>>2]|0)+xa;pa=pa-xa|0;if(!pa)break;else Ea=Ea+xa|0}Ea=c[g>>2]|0;if(!Ea)Ka=0;else{pa=Ze(c[b>>2]|0,c[Ba>>2]|0,Ea)|0;Da=c[h>>2]|0;za=Da+16|0;Aa=Da+8|0;Ga=Da+12|0;ka=Da+4|0;Ha=Ea;xa=pa;wa=c[Da>>2]|0;while(1){if(!wa){va=La[c[Aa>>2]&7](c[za>>2]|0,c[Ga>>2]|0,f)|0;ua=c[f>>2]|0;if((va|0)==0|(ua|0)==0){s=307;break h}c[Da>>2]=ua;c[ka>>2]=va;Na=ua;Oa=va}else{Na=wa;Oa=c[ka>>2]|0}va=Ha>>>0>Na>>>0?Na:Ha;Xu(xa|0,Oa|0,va|0)|0;wa=(c[Da>>2]|0)-va|0;c[Da>>2]=wa;c[ka>>2]=(c[ka>>2]|0)+va;Ha=Ha-va|0;if(!Ha)break;else xa=xa+va|0}Ka=id(c[b>>2]|0,pa,Ea+-1|0)|0}c[(c[Z>>2]|0)+(Ca<<3)>>2]=Ka;Ca=Ca+1|0;if((Ca|0)>=(ya|0)){s=310;break}}if((s|0)==299)Xe(b,47367);else if((s|0)==307)Xe(b,47367);else if((s|0)==310){Fa=e;return}}function Ze(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=d+8|0;g=c[f>>2]|0;if(g>>>0>=e>>>0){h=c[d>>2]|0;return h|0}i=e>>>0>32?e:32;if((i+1|0)>>>0>4294967293)wc(b);e=c[d>>2]|0;j=c[b+12>>2]|0;k=(e|0)==0;l=j+4|0;m=Ma[c[j>>2]&1](c[l>>2]|0,e,g,i)|0;if(!m){if(!(a[j+51>>0]|0))jc(b,4);vc(b,1);n=Ma[c[j>>2]&1](c[l>>2]|0,e,g,i)|0;if(!n)jc(b,4);else o=n}else o=m;m=j+12|0;c[m>>2]=(k?0:0-g|0)+i+(c[m>>2]|0);c[d>>2]=o;c[f>>2]=i;h=o;return h|0}function _e(b){b=b|0;a[b+6>>0]=0;c[b+16>>2]=b+72;return}function $e(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+12|0;h=c[g>>2]|0;do switch(e|0){case 0:{a[h+51>>0]=0;i=0;return i|0}case 1:{j=h+12|0;k=h+8|0;c[k>>2]=(c[k>>2]|0)+(c[j>>2]|0);c[j>>2]=0;a[h+51>>0]=1;i=0;return i|0}case 2:{vc(b,0);i=0;return i|0}case 3:{i=((c[h+12>>2]|0)+(c[h+8>>2]|0)|0)>>>10;return i|0}case 4:{i=(c[h+12>>2]|0)+(c[h+8>>2]|0)&1023;return i|0}case 5:{if((a[h+50>>0]|0)==2){j=(c[h+20>>2]|0)==0&1;zc(b);i=j;return i|0}else{j=h+12|0;k=c[j>>2]|0;l=(f<<10)+-1600+((a[h+51>>0]|0)==0?0:k)|0;m=h+8|0;c[m>>2]=k-l+(c[m>>2]|0);c[j>>2]=l;zc(b);i=(a[h+49>>0]|0)==5&1;return i|0}break}case 6:{l=h+128|0;j=c[l>>2]|0;c[l>>2]=f;i=j;return i|0}case 8:{j=h+132|0;l=c[j>>2]|0;c[j>>2]=f;i=l;return i|0}case 7:{l=h+136|0;j=c[l>>2]|0;c[l>>2]=f;i=j;return i|0}case 9:{i=d[h+51>>0]|0;return i|0}case 10:{j=h+50|0;if((a[j>>0]|0)==2){i=0;return i|0}l=h+49|0;if(a[l>>0]|0)do Tc(b)|0;while((a[l>>0]|0)!=0);c[h+20>>2]=(c[h+12>>2]|0)+(c[h+8>>2]|0);a[j>>0]=2;i=0;return i|0}case 11:{l=h+50|0;if(!(a[l>>0]|0)){i=0;return i|0}a[l>>0]=0;Yc(b)|0;l=(c[g>>2]|0)+49|0;if(1<<d[l>>0]&-29|0){i=0;return i|0}do Tc(b)|0;while(!(1<<d[l>>0]&-29|0));i=0;return i|0}default:{i=-1;return i|0}}while(0);return 0}function af(a){a=a|0;oc(a);return 0}function bf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2099900;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2099900:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2099900}while(0);b=c[f>>2]|0;f=a+8|0;e=c[f>>2]|0;g=e+-8|0;i=cf(a,b,g)|0;a=i+1|0;h=c[b+28>>2]|0;a:do if((a|0)<(h|0)){j=b+12|0;k=c[j>>2]|0;l=i;m=a;while(1){if(c[k+(m<<3)+4>>2]|0)break;n=m+1|0;if((n|0)<(h|0)){o=m;m=n;l=o}else{p=n;q=14;break a}}c[g>>2]=(l<<16)+131072;c[e+-4>>2]=3;k=c[j>>2]|0;c[e>>2]=c[k+(m<<3)>>2];r=k+(m<<3)+4|0}else{p=a;q=14}while(0);do if((q|0)==14){a=p-h|0;i=1<<(d[b+7>>0]|0);if((a|0)>=(i|0)){s=0;t=-1;u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}k=b+16|0;n=c[k>>2]|0;o=a;while(1){if(c[n+(o*20|0)+4>>2]|0){q=17;break}a=o+1|0;if((a|0)<(i|0))o=a;else{s=0;t=-1;q=20;break}}if((q|0)==17){c[g>>2]=c[n+(o*20|0)+8>>2];c[e+-4>>2]=c[n+(o*20|0)+12>>2];i=c[k>>2]|0;c[e>>2]=c[i+(o*20|0)>>2];r=i+(o*20|0)+4|0;break}else if((q|0)==20){u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}}while(0);c[e+4>>2]=c[r>>2];s=1;t=1;u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}function cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=Fa;Fa=Fa+16|0;f=e;g=d+4|0;switch(c[g>>2]|0){case 3:{h=2;break}case 0:{i=-1;Fa=e;return i|0}default:{}}if(((h|0)==2?(j=c[d>>2]|0,k=j>>16,(j|0)>65535&((j+-65536|0)>>>0<2147352577&(j&65535|0)==0)):0)?(k|0)<=(c[b+28>>2]|0):0){i=k+-1|0;Fa=e;return i|0}k=gd(b,d)|0;while(1){j=k+8|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[g>>2]|0)){if(Ec(0,j,d)|0)break;n=c[l>>2]|0}else n=m;if(((n|0)==11?c[g>>2]&64|0:0)?(c[j>>2]|0)==(c[d>>2]|0):0)break;j=c[k+16>>2]|0;if(!j){h=14;break}else k=j}if((h|0)==14)lc(a,47451,f);i=((k-(c[b+16>>2]|0)|0)/20|0)+(c[b+28>>2]|0)|0;Fa=e;return i|0}function df(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if((d|0)<=1){if(d|0)return;e=b+8|0;f=c[e>>2]|0;g=Oc(b,3042456,0)|0;c[f>>2]=g;c[f+4>>2]=(a[g+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return}e=c[b+12>>2]|0;g=e+12|0;f=c[g>>2]|0;do if((f|0)>0)if(!(a[e+51>>0]|0)){h=e+8|0;c[h>>2]=f+1600+(c[h>>2]|0);c[g>>2]=-1600;break}else{zc(b);break}while(0);Cc(b,d);return}function ef(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=Fa;Fa=Fa+160|0;h=g+40|0;i=g+32|0;j=g+24|0;k=g+16|0;l=g+8|0;m=g;n=g+48|0;o=b+8|0;p=b+16|0;q=(c[o>>2]|0)-((c[c[p>>2]>>2]|0)+8)>>3;r=d+16|0;s=c[r>>2]|0;t=d+72|0;if((s|0)==(t|0)){u=1;v=0}else{w=1;x=1;while(1){if(!w){y=s;z=0}else{A=w;B=s;while(1){C=A+-1|0;D=c[B+8>>2]|0;if((A|0)>1&(D|0)!=(t|0)){A=C;B=D}else{y=D;z=C;break}}}if((z|0)!=0|(y|0)==(t|0)){E=x;F=w;break}B=w<<1;if((w|0)<0){E=w;F=B;break}else{A=w;w=B;x=A}}if((E|0)<(F|0)){x=F;w=E;while(1){E=x+w|0;y=(E|0)/2|0;if((E|0)<-1)G=0;else{if((E+1|0)>>>0>2){E=y;z=s;while(1){A=E+-1|0;B=c[z+8>>2]|0;if((E|0)>1&(B|0)!=(t|0)){E=A;z=B}else{H=B;I=A;break}}}else{H=s;I=y}G=(I|0)==0&(H|0)!=(t|0)&1}z=(G|0)==0;E=z?y:x;w=z?w:y+1|0;if((w|0)>=(E|0)){J=E;break}else x=E}}else J=F;u=J;v=(J|0)>23?12:0}if(e|0){c[m>>2]=e;Dd(b,58983,m)|0}m=b+12|0;e=c[m>>2]|0;J=e+12|0;F=c[J>>2]|0;do if((F|0)>0)if(!(a[e+51>>0]|0)){x=e+8|0;c[x>>2]=F+1600+(c[x>>2]|0);c[J>>2]=-1600;break}else{zc(b);break}while(0);J=Oc(b,47473,16)|0;F=c[o>>2]|0;c[F>>2]=J;c[F+4>>2]=(a[J+4>>0]|64)&255;J=(c[o>>2]|0)+8|0;c[o>>2]=J;if((f|0)<0){K=J;L=J}else{J=n+96|0;F=n+36|0;e=n+20|0;x=u+-11|0;u=n+8|0;w=n+12|0;G=n+35|0;H=n+4|0;I=n+24|0;s=f;while(1){f=s+1|0;E=c[r>>2]|0;if((s|0)!=0&(E|0)!=(t|0)){z=s;A=E;while(1){B=z+-1|0;C=c[A+8>>2]|0;if((z|0)>1&(C|0)!=(t|0)){z=B;A=C}else{M=C;N=B;break}}}else{M=E;N=s}if((N|0)!=0|(M|0)==(t|0))break;c[J>>2]=M;do if((f|0)==(v|0)){A=c[m>>2]|0;z=A+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[A+51>>0]|0)){B=A+8|0;c[B>>2]=y+1600+(c[B>>2]|0);c[z>>2]=-1600;break}else{zc(b);break}while(0);z=Oc(b,47490,5)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;O=x}else{ff(d,47496,n)|0;c[l>>2]=F;Dd(b,47501,l)|0;z=c[e>>2]|0;if((z|0)>0){c[k>>2]=z<<16;Dd(b,47507,k)|0}z=c[m>>2]|0;y=z+12|0;A=c[y>>2]|0;do if((A|0)>0)if(!(a[z+51>>0]|0)){B=z+8|0;c[B>>2]=A+1600+(c[B>>2]|0);c[y>>2]=-1600;break}else{zc(b);break}while(0);y=Oc(b,47511,4)|0;A=c[o>>2]|0;c[A>>2]=y;c[A+4>>2]=(a[y+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;a:do if(!(a[c[u>>2]>>0]|0))switch(a[c[w>>2]>>0]|0){case 109:{y=c[m>>2]|0;A=y+12|0;z=c[A>>2]|0;do if((z|0)>0)if(!(a[y+51>>0]|0)){B=y+8|0;c[B>>2]=z+1600+(c[B>>2]|0);c[A>>2]=-1600;break}else{zc(b);break}while(0);A=Oc(b,47530,10)|0;z=c[o>>2]|0;c[z>>2]=A;c[z+4>>2]=(a[A+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;break a;break}case 67:{if(!(gf(b,n)|0)){A=c[m>>2]|0;z=A+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[A+51>>0]|0)){B=A+8|0;c[B>>2]=y+1600+(c[B>>2]|0);c[z>>2]=-1600;break}else{zc(b);break}while(0);z=Oc(b,45758,1)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;break a}z=c[o>>2]|0;y=z+-8|0;if((c[z+-4>>2]&15|0)!=4)if(!(ud(b,y)|0))P=0;else{z=c[m>>2]|0;A=z+12|0;B=c[A>>2]|0;do if((B|0)>0)if(!(a[z+51>>0]|0)){C=z+8|0;c[C>>2]=B+1600+(c[C>>2]|0);c[A>>2]=-1600;break}else{zc(b);break}while(0);Q=(c[o>>2]|0)+-8|0;R=57}else{Q=y;R=57}if((R|0)==57){R=0;P=(c[Q>>2]|0)+16|0}c[i>>2]=P;Dd(b,47516,i)|0;A=c[o>>2]|0;B=A+-16|0;z=A+-8|0;while(1){c[B>>2]=c[z>>2];c[B+4>>2]=c[B+12>>2];A=z+8|0;S=c[o>>2]|0;if(A>>>0<S>>>0){C=z;z=A;B=C}else break}c[o>>2]=S+-8;break a;break}default:{B=c[I>>2]<<16;c[h>>2]=F;c[h+4>>2]=B;Dd(b,47541,h)|0;break a}}else{c[j>>2]=c[H>>2];Dd(b,47516,j)|0}while(0);if(!(a[G>>0]|0)){B=c[o>>2]|0;T=B;U=B}else{B=c[m>>2]|0;z=B+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[B+51>>0]|0)){C=B+8|0;c[C>>2]=y+1600+(c[C>>2]|0);c[z>>2]=-1600;break}else{zc(b);break}while(0);z=Oc(b,47558,20)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;z=(c[o>>2]|0)+8|0;c[o>>2]=z;T=z;U=z}z=(T-((c[c[p>>2]>>2]|0)+8)>>3)-q|0;if((z|0)<=1){if(z|0){O=f;break}y=Oc(b,3042456,0)|0;c[U>>2]=y;c[U+4>>2]=(a[y+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;O=f;break}y=c[m>>2]|0;B=y+12|0;C=c[B>>2]|0;do if((C|0)>0)if(!(a[y+51>>0]|0)){A=y+8|0;c[A>>2]=C+1600+(c[A>>2]|0);c[B>>2]=-1600;break}else{zc(b);break}while(0);Cc(b,z);O=f}while(0);if((O|0)<0)break;else s=O}O=c[o>>2]|0;K=O;L=O}O=(K-((c[c[p>>2]>>2]|0)+8)>>3)-q|0;if((O|0)<=1){if(O|0){Fa=g;return}q=Oc(b,3042456,0)|0;c[L>>2]=q;c[L+4>>2]=(a[q+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;Fa=g;return}o=c[m>>2]|0;m=o+12|0;q=c[m>>2]|0;do if((q|0)>0)if(!(a[o+51>>0]|0)){L=o+8|0;c[L>>2]=q+1600+(c[L>>2]|0);c[m>>2]=-1600;break}else{zc(b);break}while(0);Cc(b,O);Fa=g;return}function ff(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=Fa;Fa=Fa+16|0;h=g;if((a[e>>0]|0)==62){i=b+8|0;j=(c[i>>2]|0)+-8|0;c[i>>2]=j;k=e+1|0;l=0;m=j}else{j=c[f+96>>2]|0;k=e;l=j;m=c[j>>2]|0}j=m+4|0;if((c[j>>2]&31|0)==6)n=c[m>>2]|0;else n=0;e=a[k>>0]|0;a:do if(!(e<<24>>24))o=1;else{i=(n|0)==0;p=(l|0)==0;q=f+16|0;r=f+24|0;s=f+28|0;t=f+12|0;u=f+36|0;v=n+4|0;w=f+20|0;x=l+18|0;y=f+32|0;z=f+34|0;A=f+33|0;B=n+6|0;C=f+35|0;D=f+8|0;E=f+45|0;F=n+12|0;G=f+4|0;H=l+8|0;I=f+95|0;J=f+39|0;K=l+28|0;L=b+12|0;M=k;N=1;O=e;while(1){b:do switch(O<<24>>24|0){case 83:{if(!i?(a[v>>0]|0)!=38:0){P=c[F>>2]|0;Q=c[P+36>>2]|0;R=(Q|0)==0?47584:Q+16|0;c[q>>2]=R;Q=c[P+64>>2]|0;c[r>>2]=Q;c[s>>2]=c[P+68>>2];S=R;T=(Q|0)==0?47587:47592}else{c[q>>2]=47579;c[r>>2]=-1;c[s>>2]=-1;S=47579;T=64620}c[t>>2]=T;Q=ft(S)|0;switch(a[S>>0]|0){case 61:{R=S+1|0;if(Q>>>0>60){U=u;V=R;W=U+59|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));a[I>>0]=0;X=N;break b}else{Xu(u|0,R|0,Q|0)|0;X=N;break b}break}case 64:{if(Q>>>0>60){a[u>>0]=a[46115]|0;a[u+1>>0]=a[46116]|0;a[u+2>>0]=a[46117]|0;U=J;V=S+1+Q+-57|0;W=U+57|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));X=N;break b}else{Xu(u|0,S+1|0,Q|0)|0;X=N;break b}break}default:{R=rt(S,10)|0;U=u;V=46119;W=U+9|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));P=(R|0)==0;if(Q>>>0<45&P){Xu(E|0,S|0,Q|0)|0;Y=E+Q|0}else{Z=P?Q:R-S|0;P=Z>>>0<45?Z:45;Xu(E|0,S|0,P|0)|0;Z=E+P|0;a[Z>>0]=a[46115]|0;a[Z+1>>0]=a[46116]|0;a[Z+2>>0]=a[46117]|0;Y=Z+3|0};a[Y>>0]=a[46129]|0;a[Y+1>>0]=a[46130]|0;a[Y+2>>0]=a[46131]|0;X=N;break b}}break}case 108:{if(!p?(a[x>>0]&1)!=0:0){Z=c[(c[c[l>>2]>>2]|0)+12>>2]|0;P=c[Z+20>>2]|0;if(!P)_=0;else _=c[P+(((c[K>>2]|0)-(c[Z+12>>2]|0)>>2)+-1<<2)>>2]|0}else _=-1;c[w>>2]=_;X=N;break}case 117:{if(!i){a[y>>0]=a[B>>0]|0;if((a[v>>0]|0)!=38){a[z>>0]=a[(c[F>>2]|0)+77>>0]|0;a[A>>0]=a[(c[F>>2]|0)+76>>0]|0;X=N;break b}}else a[y>>0]=0;a[z>>0]=1;a[A>>0]=0;X=N;break}case 116:{if(p)$=0;else $=a[x>>0]&64;a[C>>0]=$;X=N;break}case 110:{c:do if((!p?(a[x>>0]&64)==0:0)?(Z=c[H>>2]|0,(a[Z+18>>0]&1)!=0):0){P=c[(c[c[Z>>2]>>2]|0)+12>>2]|0;aa=c[P+12>>2]|0;ba=((c[Z+28>>2]|0)-aa>>2)+-1|0;Z=c[aa+(ba<<2)>>2]|0;do switch(Z&63){case 43:case 42:{aa=Rc(P,ba,Z>>>6&255,G)|0;c[D>>2]=aa;if(!aa)break c;else{X=N;break b}break}case 47:{c[G>>2]=47596;ca=47596;break}case 7:case 6:case 12:{da=0;ea=68;break}case 10:case 8:{da=1;ea=68;break}case 37:{da=5;ea=68;break}case 13:{da=6;ea=68;break}case 14:{da=7;ea=68;break}case 15:{da=8;ea=68;break}case 16:{da=9;ea=68;break}case 17:{da=10;ea=68;break}case 18:{da=11;ea=68;break}case 19:{da=12;ea=68;break}case 20:{da=13;ea=68;break}case 21:{da=14;ea=68;break}case 22:{da=15;ea=68;break}case 23:{da=16;ea=68;break}case 24:{da=17;ea=68;break}case 25:{da=18;ea=68;break}case 26:{da=19;ea=68;break}case 27:{da=20;ea=68;break}case 28:{da=21;ea=68;break}case 29:{da=22;ea=68;break}case 30:{da=23;ea=68;break}case 31:{da=24;ea=68;break}case 32:{da=25;ea=68;break}case 34:{da=4;ea=68;break}case 38:{da=26;ea=68;break}case 39:{da=27;ea=68;break}case 35:{da=28;ea=68;break}default:{ea=69;break c}}while(0);if((ea|0)==68){ea=0;c[G>>2]=(c[(c[L>>2]|0)+156+(da<<2)>>2]|0)+16;ca=47609}c[D>>2]=ca;X=N;break b}else ea=69;while(0);if((ea|0)==69){ea=0;c[D>>2]=0}c[D>>2]=3042456;c[G>>2]=0;X=N;break}case 102:case 76:{X=N;break}default:X=0}while(0);M=M+1|0;O=a[M>>0]|0;if(!(O<<24>>24)){o=X;break a}else N=X}}while(0);if(rt(k,102)|0){X=b+8|0;ca=c[X>>2]|0;c[ca>>2]=c[m>>2];c[ca+4>>2]=c[j>>2];c[X>>2]=(c[X>>2]|0)+8}if(!(rt(k,76)|0)){Fa=g;return o|0}if(n|0?(a[n+4>>0]|0)!=38:0){k=n+12|0;n=c[(c[k>>2]|0)+20>>2]|0;X=c[b+12>>2]|0;j=X+4|0;ca=Ma[c[X>>2]&1](c[j>>2]|0,0,5,32)|0;if(!ca){if(!(a[X+51>>0]|0))jc(b,4);vc(b,1);m=Ma[c[X>>2]&1](c[j>>2]|0,0,5,32)|0;if(!m)jc(b,4);else fa=m}else fa=ca;ca=X+12|0;c[ca>>2]=(c[ca>>2]|0)+32;ca=X+56|0;a[fa+5>>0]=a[X+48>>0]&3;a[fa+4>>0]=5;c[fa>>2]=c[ca>>2];c[ca>>2]=fa;c[fa+8>>2]=0;a[fa+6>>0]=-1;ca=fa+12|0;c[ca>>2]=0;X=fa+28|0;c[X>>2]=0;m=fa+16|0;c[m>>2]=2099924;j=fa+7|0;a[j>>0]=0;c[fa+20>>2]=2099924;da=b+8|0;$=c[da>>2]|0;c[$>>2]=fa;c[$+4>>2]=69;c[da>>2]=(c[da>>2]|0)+8;if((c[(c[k>>2]|0)+52>>2]|0)<=0){Fa=g;return o|0}da=h+4|0;$=0;do{_=c[n+($<<2)>>2]|0;l=_+-1|0;d:do if(l>>>0<(c[X>>2]|0)>>>0){ga=(c[ca>>2]|0)+(l<<3)|0;ea=94}else{Y=_<<16;S=0-Y|0;V=(c[m>>2]|0)+(((((Y|0)<0?((Y|0)==(S|0)?0:S):Y)|0)%((1<<d[j>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[V+12>>2]|0)==3?(c[V+8>>2]|0)==(Y|0):0)break;S=c[V+16>>2]|0;if(!S){ha=Y;ea=96;break d}else V=S}ga=V;ea=94}while(0);if((ea|0)==94){ea=0;if((ga|0)==2099900){ha=_<<16;ea=96}else ia=ga}if((ea|0)==96){ea=0;c[h>>2]=ha;c[da>>2]=3;ia=yc(b,fa,h)|0}c[ia>>2]=1;c[ia+4>>2]=1;$=$+1|0}while(($|0)<(c[(c[k>>2]|0)+52>>2]|0));Fa=g;return o|0}k=b+8|0;b=c[k>>2]|0;c[b+4>>2]=0;c[k>>2]=b+8;Fa=g;return o|0}function gf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+8|0;f=a+16|0;g=(c[e>>2]|0)-((c[c[f>>2]>>2]|0)+8)|0;h=g>>3;ff(a,61178,b)|0;b=c[(c[a+12>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)i=(c[b+12>>2]|0)+8|0;else{j=(c[b+16>>2]|0)+((131072%((1<<(d[b+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==131072:0)break;k=c[j+16>>2]|0;if(!k){i=2099900;break a}else j=k}i=j}while(0);b=c[e>>2]|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[e>>2]=(c[e>>2]|0)+8;i=h+1|0;if(hf(a,i,2)|0){ld(a,-1,i);l=1;m=(c[e>>2]|0)+-16|0;c[e>>2]=m;return l|0}if((g|0)<=-8){l=0;m=(c[e>>2]|0)+(i<<3)|0;c[e>>2]=m;return l|0}i=c[c[f>>2]>>2]|0;f=c[e>>2]|0;g=i+8+(h<<3)|0;if(f>>>0>=g>>>0){l=0;m=g;c[e>>2]=m;return l|0}a=(i+(h<<3)+4+(3-f)|0)>>>3;h=f;do{c[h+4>>2]=0;h=h+8|0}while(h>>>0<g>>>0);c[e>>2]=f+(a+1<<3);l=0;m=g;c[e>>2]=m;return l|0}function hf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if(!f){g=0;return g|0}h=b+16|0;i=b+8|0;j=c[i>>2]|0;if((j+-8|0)==2099900){g=0;return g|0}if((c[j+-4>>2]&15|0)!=5){g=0;return g|0}c[j+4>>2]=0;c[i>>2]=j+8;if(!(bf(b,-2)|0)){g=0;return g|0}j=f+-1|0;f=(e|0)<-1000999;k=(e|0)==-1001e3;l=b+12|0;m=-1001e3-e|0;n=m+-1|0;a:do if((e|0)>0){while(1){o=c[i>>2]|0;if((o+-16|0)!=2099900?(c[o+-12>>2]&15|0)==4:0){p=(c[c[h>>2]>>2]|0)+(e<<3)|0;q=p>>>0<o>>>0?p:2099900;p=o+-8|0;if(((p|0)!=2099900&(q|0)!=2099900?(c[q+4>>2]|0)==(c[o+-4>>2]|0):0)?Ec(0,q,p)|0:0){r=27;break a}if(hf(b,e,j)|0)break a;s=c[i>>2]|0}else s=o;c[i>>2]=s+-8;if(!(bf(b,-2)|0)){g=0;break}}return g|0}else{while(1){o=c[i>>2]|0;if((o+-16|0)!=2099900?(c[o+-12>>2]&15|0)==4:0){p=c[h>>2]|0;do if(f){if(k){t=(c[l>>2]|0)+36|0;r=24;break}q=c[p>>2]|0;if((c[q+4>>2]|32|0)!=54){u=c[q>>2]|0;t=(m|0)>(d[u+6>>0]|0)?2099900:u+16+(n<<3)|0;r=24}}else{t=o+(e<<3)|0;r=24}while(0);if((((r|0)==24?(r=0,p=o+-8|0,(p|0)!=2099900&(t|0)!=2099900):0)?(c[t+4>>2]|0)==(c[o+-4>>2]|0):0)?Ec(0,t,p)|0:0){r=27;break a}if(hf(b,e,j)|0)break a;v=c[i>>2]|0}else v=o;c[i>>2]=v+-8;if(!(bf(b,-2)|0)){g=0;break}}return g|0}while(0);if((r|0)==27){c[i>>2]=(c[i>>2]|0)+-8;g=1;return g|0}r=c[i>>2]|0;v=r+-16|0;j=r+-8|0;while(1){c[v>>2]=c[j>>2];c[v+4>>2]=c[v+12>>2];r=j+8|0;w=c[i>>2]|0;if(r>>>0<w>>>0){e=j;j=r;v=e}else break}c[i>>2]=w+-8;w=c[l>>2]|0;v=w+12|0;j=c[v>>2]|0;do if((j|0)>0)if(!(a[w+51>>0]|0)){e=w+8|0;c[e>>2]=j+1600+(c[e>>2]|0);c[v>>2]=-1600;break}else{zc(b);break}while(0);v=Oc(b,72022,1)|0;j=c[i>>2]|0;c[j>>2]=v;c[j+4>>2]=(a[v+4>>0]|64)&255;v=c[i>>2]|0;j=v+8|0;c[i>>2]=j;w=j;do{j=w;w=w+-8|0;c[j>>2]=c[w>>2];c[j+4>>2]=c[j+-4>>2]}while(j>>>0>v>>>0);w=c[i>>2]|0;c[v+-8>>2]=c[w>>2];c[v+-4>>2]=c[w+4>>2];w=c[l>>2]|0;l=w+12|0;v=c[l>>2]|0;do if((v|0)>0)if(!(a[w+51>>0]|0)){i=w+8|0;c[i>>2]=v+1600+(c[i>>2]|0);c[l>>2]=-1600;break}else{zc(b);break}while(0);Cc(b,3);g=1;return g|0}function jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=Fa;Fa=Fa+128|0;g=f+16|0;h=f+8|0;i=f;j=f+28|0;f=c[b+16>>2]|0;if((f|0)==(b+72|0)){c[i>>2]=d;c[i+4>>2]=e;kf(b,47620,i)|0}c[j+96>>2]=f;ff(b,47642,j)|0;if(!(Xs(c[j+8>>2]|0,45846)|0)){f=d+-1|0;if(!f){c[h>>2]=c[j+4>>2];c[h+4>>2]=e;kf(b,47644,h)|0}else k=f}else k=d;d=j+4|0;f=c[d>>2]|0;if(f|0){l=f;c[g>>2]=k;m=g+4|0;c[m>>2]=l;n=g+8|0;c[n>>2]=e;kf(b,47674,g)|0}do if(!(gf(b,j)|0))o=45758;else{f=b+8|0;h=c[f>>2]|0;i=h+-8|0;if((c[h+-4>>2]&15|0)==4)p=i;else{if(!(ud(b,i)|0)){o=0;break}i=c[b+12>>2]|0;h=i+12|0;q=c[h>>2]|0;do if((q|0)>0)if(!(a[i+51>>0]|0)){r=i+8|0;c[r>>2]=q+1600+(c[r>>2]|0);c[h>>2]=-1600;break}else{zc(b);break}while(0);p=(c[f>>2]|0)+-8|0}o=(c[p>>2]|0)+16|0}while(0);c[d>>2]=o;l=o;c[g>>2]=k;m=g+4|0;c[m>>2]=l;n=g+8|0;c[n>>2]=e;kf(b,47674,g)|0;return 0}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=d;lf(a,1);Cd(a,b,f)|0;df(a,2);af(a)|0;return 0}function lf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Fa;Fa=Fa+112|0;f=e;g=e+8|0;if((d|0)>=0){h=c[b+16>>2]|0;i=b+72|0;if((d|0)!=0&(h|0)!=(i|0)){j=d;k=h;while(1){l=j+-1|0;m=c[k+8>>2]|0;if((j|0)>1&(m|0)!=(i|0)){j=l;k=m}else{n=m;o=l;break}}}else{n=h;o=d}if(!((o|0)!=0|(n|0)==(i|0))?(c[g+96>>2]=n,ff(b,47704,g)|0,n=g+20|0,i=c[n>>2]|0,(i|0)>0):0){c[f>>2]=g+36;c[f+4>>2]=i<<16;Dd(b,47707,f)|0;c[524977]=c[n>>2];Fa=e;return}}n=c[b+12>>2]|0;f=n+12|0;i=c[f>>2]|0;do if((i|0)>0)if(!(a[n+51>>0]|0)){g=n+8|0;c[g>>2]=i+1600+(c[g>>2]|0);c[f>>2]=-1600;break}else{zc(b);break}while(0);f=Oc(b,3042456,0)|0;i=b+8|0;b=c[i>>2]|0;c[b>>2]=f;c[b+4>>2]=(a[f+4>>0]|64)&255;c[i>>2]=(c[i>>2]|0)+8;Fa=e;return}function mf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Fa;Fa=Fa+16|0;g=f;h=td(a,b,e)|0;if(h|0){Fa=f;return h|0}e=c[a+16>>2]|0;do if((b|0)>0){i=(c[e>>2]|0)+(b<<3)|0;if(i>>>0<(c[a+8>>2]|0)>>>0){j=i;k=10}else l=0}else{if((b|0)>=-1000999){j=(c[a+8>>2]|0)+(b<<3)|0;k=10;break}if((b|0)==-1001e3){j=(c[a+12>>2]|0)+36|0;k=10;break}i=-1001e3-b|0;m=c[e>>2]|0;if((c[m+4>>2]|32|0)!=54?(n=c[m>>2]|0,(i|0)<=(d[n+6>>0]|0|0)):0){j=n+16+(i+-1<<3)|0;k=10}else l=0}while(0);if((k|0)==10)if((j|0)==2099900)l=0;else l=(c[j+4>>2]&15)+1|0;j=c[16+(l<<2)>>2]|0;c[g>>2]=45478;c[g+4>>2]=j;jf(a,b,Dd(a,47715,g)|0)|0;Fa=f;return h|0}function nf(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+16>>2]|0;do if((b|0)>0){h=(c[g>>2]|0)+(b<<3)|0;if(h>>>0<(c[a+8>>2]|0)>>>0){i=h;j=9}}else{if((b|0)>=-1000999){i=(c[a+8>>2]|0)+(b<<3)|0;j=9;break}if((b|0)==-1001e3){i=(c[a+12>>2]|0)+36|0;j=9;break}h=-1001e3-b|0;k=c[g>>2]|0;if((c[k+4>>2]|32|0)!=54?(l=c[k>>2]|0,(h|0)<=(d[l+6>>0]|0|0)):0){i=l+16+(h+-1<<3)|0;j=9}}while(0);if(((j|0)==9?(i|0)!=2099900:0)?c[i+4>>2]&15|0:0){m=mf(a,b,f)|0;return m|0}if(!f){m=e;return m|0}if(!e)n=0;else n=ft(e)|0;c[f>>2]=n;m=e;return m|0}function of(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=Fa;Fa=Fa+16|0;f=e;g=e+8|0;h=a+16|0;i=c[h>>2]|0;j=(b|0)>0;do if(!j){if((b|0)>=-1000999){k=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){k=(c[a+12>>2]|0)+36|0;break}l=-1001e3-b|0;m=c[i>>2]|0;if((c[m+4>>2]|32|0)==54)k=2099900;else{n=c[m>>2]|0;k=(l|0)>(d[n+6>>0]|0|0)?2099900:n+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(b<<3)|0;k=l>>>0<(c[a+8>>2]|0)>>>0?l:2099900}while(0);l=c[k+4>>2]|0;a:do if((l|0)==3)o=c[k>>2]|0;else{do if((l&15|0)==4){n=c[k>>2]|0;if(!(Hc(n+16|0,c[n+12>>2]|0,g)|0)){p=c[h>>2]|0;break}else{o=c[g>>2]|0;break a}}else p=i;while(0);do if(j){n=(c[p>>2]|0)+(b<<3)|0;if(n>>>0<(c[a+8>>2]|0)>>>0){q=n;r=24}else s=0}else{if((b|0)>=-1000999){q=(c[a+8>>2]|0)+(b<<3)|0;r=24;break}if((b|0)==-1001e3){q=(c[a+12>>2]|0)+36|0;r=24;break}n=-1001e3-b|0;m=c[p>>2]|0;if((c[m+4>>2]|32|0)!=54?(t=c[m>>2]|0,(n|0)<=(d[t+6>>0]|0|0)):0){q=t+16+(n+-1<<3)|0;r=24}else s=0}while(0);if((r|0)==24)if((q|0)==2099900)s=0;else s=(c[q+4>>2]&15)+1|0;n=c[16+(s<<2)>>2]|0;c[f>>2]=45471;c[f+4>>2]=n;jf(a,b,Dd(a,47715,f)|0)|0;u=0;Fa=e;return u|0}while(0);u=o>>16;Fa=e;return u|0}function pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=b+4|0;e=c[a>>2]|0;if(!e){f=0;return f|0}c[d>>2]=e;c[a>>2]=0;f=c[b>>2]|0;return f|0}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Fa;Fa=Fa+16|0;e=d;f=ft(b)|0;c[e>>2]=b;c[e+4>>2]=f;f=Qd(a,4,e,b,0)|0;Fa=d;return f|0}function rf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}h=-1001e3-b|0;i=c[f>>2]|0;if((c[i+4>>2]|32|0)==54)g=2099900;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2099900:j+16+(h+-1<<3)|0}}else{h=(c[f>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:2099900}while(0);b=c[g+4>>2]|0;switch(b&15){case 5:{k=(c[g>>2]|0)+8|0;break}case 7:{k=(c[g>>2]|0)+8|0;break}default:k=(c[a+12>>2]|0)+276+((b&15)<<2)|0}b=c[k>>2]|0;if(!b){l=0;return l|0}k=a+8|0;g=c[k>>2]|0;c[g>>2]=b;c[g+4>>2]=69;c[k>>2]=(c[k>>2]|0)+8;Ad(a,e)|0;e=c[k>>2]|0;a=xc(c[e+-16>>2]|0,e+-8|0)|0;e=c[k>>2]|0;c[e+-8>>2]=c[a>>2];c[e+-4>>2]=c[a+4>>2];a=c[k>>2]|0;e=a+-8|0;if((e|0)!=2099900?(c[a+-4>>2]&15|0)==0:0){m=0;n=a+-16|0}else{g=a+-16|0;a=e;while(1){c[g>>2]=c[a>>2];c[g+4>>2]=c[g+12>>2];e=a+8|0;o=c[k>>2]|0;if(e>>>0<o>>>0){b=a;a=e;g=b}else break}m=1;n=o+-8|0}c[k>>2]=n;l=m;return l|0}function sf(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Fa;Fa=Fa+16|0;h=g;if((e+1000999|0)>>>0>1000999)i=e;else i=((c[a+8>>2]|0)-(c[c[a+16>>2]>>2]|0)>>3)+e|0;if(!(rf(a,i,f)|0)){j=0;Fa=g;return j|0}f=c[a+16>>2]|0;do if((i|0)<=0){if((i|0)>=-1000999){k=(c[a+8>>2]|0)+(i<<3)|0;break}if((i|0)==-1001e3){k=(c[a+12>>2]|0)+36|0;break}e=-1001e3-i|0;l=c[f>>2]|0;if((c[l+4>>2]|32|0)==54)k=2099900;else{m=c[l>>2]|0;k=(e|0)>(d[m+6>>0]|0|0)?2099900:m+16+(e+-1<<3)|0}}else{e=(c[f>>2]|0)+(i<<3)|0;k=e>>>0<(c[a+8>>2]|0)>>>0?e:2099900}while(0);i=a+8|0;f=c[i>>2]|0;c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];k=c[i>>2]|0;c[i>>2]=k+8;i=k+-8|0;k=a+38|0;f=(b[k>>1]|0)+1<<16>>16;b[k>>1]=f;if((f&65535)>199){if(f<<16>>16==200)lc(a,45525,h);if((f&65535)>224)jc(a,6)}f=a+36|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;if(!(pc(a,i,1)|0))qc(a);b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;j=1;Fa=g;return j|0}function tf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=Fa;Fa=Fa+16|0;h=g;a:do if(!(sf(b,e,47780)|0)){i=c[b+16>>2]|0;j=(e|0)>0;do if(j){k=(c[i>>2]|0)+(e<<3)|0;l=c[b+8>>2]|0;if(k>>>0<l>>>0){m=k;n=10}else{o=k;p=l;n=40}}else{if((e|0)>=-1000999){m=(c[b+8>>2]|0)+(e<<3)|0;n=10;break}if((e|0)==-1001e3){m=(c[b+12>>2]|0)+36|0;n=10;break}l=-1001e3-e|0;k=c[i>>2]|0;q=c[k+4>>2]|32;if((q|0)!=54){r=c[k>>2]|0;if((l|0)>(d[r+6>>0]|0)){s=l;t=q;u=k;n=46}else{m=r+16+(l+-1<<3)|0;n=10}}else v=0}while(0);do if((n|0)==10){b:do if((m|0)!=2099900)switch(c[m+4>>2]&15){case 4:case 3:{do if(!j){if((e|0)>=-1000999){w=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){w=(c[b+12>>2]|0)+36|0;break}l=-1001e3-e|0;r=c[i>>2]|0;if((c[r+4>>2]|32|0)==54)w=2099900;else{k=c[r>>2]|0;w=(l|0)>(d[k+6>>0]|0)?2099900:k+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(e<<3)|0;w=l>>>0<(c[b+8>>2]|0)>>>0?l:2099900}while(0);l=b+8|0;k=c[l>>2]|0;c[k>>2]=c[w>>2];c[k+4>>2]=c[w+4>>2];c[l>>2]=(c[l>>2]|0)+8;break a;break}case 1:{do if(!j){if((e|0)>=-1000999){x=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){x=(c[b+12>>2]|0)+36|0;break}l=-1001e3-e|0;k=c[i>>2]|0;if((c[k+4>>2]|32|0)==54)x=2099900;else{r=c[k>>2]|0;x=(l|0)>(d[r+6>>0]|0)?2099900:r+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(e<<3)|0;x=l>>>0<(c[b+8>>2]|0)>>>0?l:2099900}while(0);switch(c[x+4>>2]|0){case 0:{n=31;break}case 1:{if(!(c[x>>2]|0))n=31;else y=57006;break}default:y=57006}if((n|0)==31)y=57011;Ad(b,y)|0;break a;break}case 0:{l=c[b+12>>2]|0;r=l+12|0;k=c[r>>2]|0;do if((k|0)>0)if(!(a[l+51>>0]|0)){q=l+8|0;c[q>>2]=k+1600+(c[q>>2]|0);c[r>>2]=-1600;break}else{zc(b);break}while(0);r=Oc(b,56773,3)|0;k=b+8|0;l=c[k>>2]|0;c[l>>2]=r;c[l+4>>2]=(a[r+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+8;break a;break}default:break b}while(0);if(j){o=(c[i>>2]|0)+(e<<3)|0;p=c[b+8>>2]|0;n=40;break}if((e|0)>=-1000999){z=(c[b+8>>2]|0)+(e<<3)|0;n=48;break}if((e|0)==-1001e3){z=(c[b+12>>2]|0)+36|0;n=48;break}else{k=c[i>>2]|0;s=-1001e3-e|0;t=c[k+4>>2]|32;u=k;n=46;break}}while(0);if((n|0)==40)if(o>>>0<p>>>0){z=o;n=48}else v=0;else if((n|0)==46)if((t|0)!=54?(i=c[u>>2]|0,(s|0)<=(d[i+6>>0]|0)):0){z=i+16+(s+-1<<3)|0;n=48}else v=0;if((n|0)==48)if((z|0)==2099900)v=0;else v=(c[z+4>>2]&15)+1|0;i=c[16+(v<<2)>>2]|0;j=wd(b,e)|0;c[h>>2]=i;c[h+4>>2]=j;Dd(b,47791,h)|0}while(0);h=b+8|0;e=c[h>>2]|0;v=e+-8|0;if((c[e+-4>>2]&15|0)==4)A=v;else{if(!(ud(b,v)|0)){if(!f){B=0;Fa=g;return B|0}c[f>>2]=0;B=0;Fa=g;return B|0}v=c[b+12>>2]|0;e=v+12|0;z=c[e>>2]|0;do if((z|0)>0)if(!(a[v+51>>0]|0)){n=v+8|0;c[n>>2]=z+1600+(c[n>>2]|0);c[e>>2]=-1600;break}else{zc(b);break}while(0);A=(c[h>>2]|0)+-8|0}if(f|0)c[f>>2]=c[(c[A>>2]|0)+12>>2];B=(c[A>>2]|0)+16|0;Fa=g;return B|0}function uf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Fa;Fa=Fa+16|0;g=Ma[d&1](e,0,8,428)|0;if(!g){h=0;Fa=f;return h|0}i=g+116|0;c[g>>2]=0;a[g+4>>0]=8;a[g+164>>0]=33;a[g+5>>0]=1;a[g+166>>0]=0;c[g+12>>2]=i;c[g+28>>2]=0;c[g+16>>2]=0;c[g+32>>2]=0;c[g+64>>2]=0;b[g+38>>1]=0;c[g+52>>2]=0;a[g+40>>0]=0;c[g+44>>2]=0;a[g+41>>0]=1;c[g+48>>2]=0;c[g+56>>2]=0;b[g+36>>1]=1;a[g+6>>0]=0;c[g+68>>2]=0;c[i>>2]=d;c[g+120>>2]=e;c[g+260>>2]=g;e=g;d=f;i=(Ca(0)|0)^16;j=(i>>>2)+(1>>>24&255)+(i<<5)^i;i=(j>>>2)+(1>>>16&255)+(j<<5)^j;j=(i>>>2)+(1>>>8&255)+(i<<5)^i;i=(j>>>2)+1+(j<<5)^j;j=(i>>>2)+(2099900>>>24&255)+(i<<5)^i;i=(j>>>2)+(2099900>>>16&255)+(j<<5)^j;j=(i>>>2)+(2099900>>>8&255)+(i<<5)^i;i=(j>>>2)+188+(j<<5)^j;j=(i>>>2)+(d>>>24)+(i<<5)^i;i=(j>>>2)+(d>>>16&255)+(j<<5)^j;j=(i>>>2)+(d>>>8&255)+(i<<5)^i;i=(j>>>2)+(d&252)+(j<<5)^j;j=(i>>>2)+(e>>>24)+(i<<5)^i;i=(j>>>2)+(e>>>16&255)+(j<<5)^j;j=(i>>>2)+(e>>>8&255)+(i<<5)^i;c[g+160>>2]=(j>>>2)+(e&255)+(j<<5)^j;j=g+212|0;c[g+224>>2]=j;c[g+228>>2]=j;a[g+167>>0]=0;j=g+136|0;c[g+156>>2]=0;c[g+232>>2]=0;c[g+240>>2]=0;c[g+256>>2]=0;c[g+264>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;a[g+165>>0]=5;j=g+124|0;e=g+172|0;i=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));c[j>>2]=428;c[g+128>>2]=0;c[g+244>>2]=200;c[g+248>>2]=200;c[g+252>>2]=200;e=g+392|0;i=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));if(!(ic(g,5,0)|0)){h=g;Fa=f;return h|0}wf(g);h=0;Fa=f;return h|0}function vf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Fa;Fa=Fa+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+4|0;j=Ma[c[h>>2]&1](c[i>>2]|0,0,0,320)|0;if(!j){if(!(a[h+51>>0]|0))jc(b,4);vc(b,1);k=Ma[c[h>>2]&1](c[i>>2]|0,0,0,320)|0;if(!k)jc(b,4);else l=k}else l=j;j=h+12|0;c[j>>2]=(c[j>>2]|0)+320;c[b+28>>2]=l;c[b+32>>2]=40;j=l+4|0;c[j>>2]=0;c[l+12>>2]=0;c[l+20>>2]=0;c[l+28>>2]=0;c[l+36>>2]=0;c[l+44>>2]=0;c[l+52>>2]=0;c[l+60>>2]=0;c[l+68>>2]=0;c[l+76>>2]=0;c[l+84>>2]=0;c[l+92>>2]=0;c[l+100>>2]=0;c[l+108>>2]=0;c[l+116>>2]=0;c[l+124>>2]=0;c[l+132>>2]=0;c[l+140>>2]=0;c[l+148>>2]=0;c[l+156>>2]=0;c[l+164>>2]=0;c[l+172>>2]=0;c[l+180>>2]=0;c[l+188>>2]=0;c[l+196>>2]=0;c[l+204>>2]=0;c[l+212>>2]=0;c[l+220>>2]=0;c[l+228>>2]=0;c[l+236>>2]=0;c[l+244>>2]=0;c[l+252>>2]=0;c[l+260>>2]=0;c[l+268>>2]=0;c[l+276>>2]=0;c[l+284>>2]=0;c[l+292>>2]=0;c[l+300>>2]=0;c[l+308>>2]=0;c[l+316>>2]=0;c[b+24>>2]=l+280;k=b+72|0;c[b+80>>2]=0;c[b+84>>2]=0;a[b+90>>0]=0;c[k>>2]=l;c[b+8>>2]=l+8;c[j>>2]=0;c[b+76>>2]=l+168;c[b+16>>2]=k;k=c[g>>2]|0;l=k+4|0;j=Ma[c[k>>2]&1](c[l>>2]|0,0,5,32)|0;if(!j){if(!(a[k+51>>0]|0))jc(b,4);vc(b,1);i=Ma[c[k>>2]&1](c[l>>2]|0,0,5,32)|0;if(!i)jc(b,4);else m=i}else m=j;j=k+12|0;c[j>>2]=(c[j>>2]|0)+32;j=k+56|0;a[m+5>>0]=a[k+48>>0]&3;a[m+4>>0]=5;c[m>>2]=c[j>>2];c[j>>2]=m;c[m+8>>2]=0;a[m+6>>0]=-1;j=m+12|0;c[j>>2]=0;k=m+28|0;c[k>>2]=0;i=m+16|0;c[i>>2]=2099924;l=m+7|0;a[l>>0]=0;c[m+20>>2]=2099924;c[h+36>>2]=m;c[h+40>>2]=69;Ic(b,m,2,0);n=b;a:do if(!(c[k>>2]|0)){o=(c[i>>2]|0)+((65536%((1<<d[l>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[o+12>>2]|0)==3?(c[o+8>>2]|0)==65536:0)break;p=c[o+16>>2]|0;if(!p){q=17;break a}else o=p}r=o;q=16}else{r=c[j>>2]|0;q=16}while(0);if((q|0)==16)if((r|0)==2099900)q=17;else s=r;if((q|0)==17){c[f>>2]=65536;c[f+4>>2]=3;s=yc(b,m,f)|0}c[s>>2]=n;c[s+4>>2]=72;s=c[g>>2]|0;n=s+4|0;r=Ma[c[s>>2]&1](c[n>>2]|0,0,5,32)|0;if(!r){if(!(a[s+51>>0]|0))jc(b,4);vc(b,1);p=Ma[c[s>>2]&1](c[n>>2]|0,0,5,32)|0;if(!p)jc(b,4);else t=p}else t=r;r=s+12|0;c[r>>2]=(c[r>>2]|0)+32;r=s+56|0;a[t+5>>0]=a[s+48>>0]&3;a[t+4>>0]=5;c[t>>2]=c[r>>2];c[r>>2]=t;c[t+8>>2]=0;a[t+6>>0]=-1;c[t+12>>2]=0;c[t+28>>2]=0;c[t+16>>2]=2099924;a[t+7>>0]=0;c[t+20>>2]=2099924;r=t;b:do if((c[k>>2]|0)>>>0>1){u=(c[j>>2]|0)+8|0;q=29}else{t=(c[i>>2]|0)+((131072%((1<<d[l>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[t+12>>2]|0)==3?(c[t+8>>2]|0)==131072:0)break;s=c[t+16>>2]|0;if(!s){q=30;break b}else t=s}u=t;q=29}while(0);if((q|0)==29)if((u|0)==2099900)q=30;else v=u;if((q|0)==30){c[f>>2]=131072;c[f+4>>2]=3;v=yc(b,m,f)|0}c[v>>2]=r;c[v+4>>2]=69;Sc(b,32);v=0;do{r=c[864+(v<<2)>>2]|0;f=id(b,r,ft(r)|0)|0;c[(c[g>>2]|0)+156+(v<<2)>>2]=f;f=(c[(c[g>>2]|0)+156+(v<<2)>>2]|0)+5|0;a[f>>0]=a[f>>0]|32;v=v+1|0}while((v|0)!=30);v=0;do{g=c[656+(v<<2)>>2]|0;f=id(b,g,ft(g)|0)|0;g=f+5|0;a[g>>0]=a[g>>0]|32;v=v+1|0;a[f+6>>0]=v}while((v|0)!=22);v=Oc(b,48757,17)|0;c[h+152>>2]=v;b=v+5|0;a[b>>0]=a[b>>0]|32;a[h+51>>0]=1;c[h+148>>2]=35108;Fa=e;return}function wf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=a+12|0;d=c[b>>2]|0;e=a+28|0;Dc(a,c[e>>2]|0);xf(a);f=c[b>>2]|0;g=c[f+24>>2]|0;h=c[f+32>>2]<<2;Ma[c[f>>2]&1](c[f+4>>2]|0,g,h,0)|0;i=f+12|0;c[i>>2]=(c[i>>2]|0)+((g|0)==0?0:0-h|0);h=d+116|0;g=c[h>>2]|0;i=d+124|0;f=c[i>>2]|0;j=c[b>>2]|0;k=Ma[c[j>>2]&1](c[j+4>>2]|0,g,f,0)|0;l=j+12|0;c[l>>2]=(c[l>>2]|0)+((g|0)==0?0:0-f|0);c[h>>2]=k;c[i>>2]=0;i=c[e>>2]|0;if(!i){m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Ma[m&1](o,a,428,0)|0;return}c[a+16>>2]=a+72;k=a+84|0;h=c[k>>2]|0;c[k>>2]=0;if(!h)p=i;else{i=h;do{h=i;i=c[i+12>>2]|0;k=c[b>>2]|0;Ma[c[k>>2]&1](c[k+4>>2]|0,h,40,0)|0;f=k+12|0;c[f>>2]=(c[f>>2]|0)-((h|0)==0?0:40)}while((i|0)!=0);p=c[e>>2]|0}e=c[a+32>>2]<<3;i=c[b>>2]|0;Ma[c[i>>2]&1](c[i+4>>2]|0,p,e,0)|0;b=i+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)==0?0:e);m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Ma[m&1](o,a,428,0)|0;return}function xf(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=b+12|0;f=c[e>>2]|0;g=f+60|0;h=f+92|0;i=c[h>>2]|0;if(!i)j=h;else{k=i;while(1){l=c[k>>2]|0;if(!l)break;else k=l}j=k}k=c[g>>2]|0;if(!k){m=h;n=f;o=i}else{i=j;j=k;while(1){k=j+5|0;a[k>>0]=a[k>>0]|8;c[g>>2]=c[j>>2];c[j>>2]=c[i>>2];c[i>>2]=j;k=c[g>>2]|0;if(!k)break;else{h=j;j=k;i=h}}i=c[e>>2]|0;j=i+92|0;m=j;n=i;o=c[j>>2]|0}if(!o){p=n;q=0}else{n=o;do{o=n+5|0;a[o>>0]=a[o>>0]&-65;o=c[e>>2]|0;j=o+92|0;i=c[j>>2]|0;c[j>>2]=c[i>>2];j=o+56|0;c[i>>2]=c[j>>2];c[j>>2]=i;j=i+5|0;i=a[j>>0]|0;a[j>>0]=i&-17;if((d[o+49>>0]|0)>=2)a[j>>0]=a[o+48>>0]&3|i&-88;n=c[m>>2]|0}while((n|0)!=0);p=c[e>>2]|0;q=c[g>>2]|0}a[f+48>>0]=3;a[f+50>>0]=0;n=d[p+48>>0]|0;m=n^3;i=a[p+50>>0]|0;p=i<<24>>24==2;o=n&3;n=p?255:184;j=p?64:o;h=p?64:0;if(!q){r=m;s=o;t=i}else{i=g;g=-3;o=q;while(1){if(!g)break;g=g+-1|0;q=o+5|0;p=d[q>>0]|0;if(!((p^3)&m)){c[i>>2]=c[o>>2];Zc(b,o);u=i}else{if(h&p|0)break;if((a[o+4>>0]|0)==8)_c(b,o);a[q>>0]=n&p|j;u=o}o=c[u>>2]|0;if(!o)break;else i=u}u=c[e>>2]|0;i=d[u+48>>0]|0;r=i^3;s=i&3;t=a[u+50>>0]|0}u=f+56|0;i=t<<24>>24==2;t=i?255:184;o=i?64:s;s=i?64:0;i=c[u>>2]|0;a:do if(i|0){j=u;n=-3;h=i;while(1){if(!n)break a;n=n+-1|0;m=h+5|0;g=d[m>>0]|0;if(!((g^3)&r)){c[j>>2]=c[h>>2];Zc(b,h);v=j}else{if(s&g|0)break a;if((a[h+4>>0]|0)==8)_c(b,h);a[m>>0]=t&g|o;v=h}h=c[v>>2]|0;if(!h)break;else j=v}}while(0);v=f+32|0;o=c[v>>2]|0;if((o|0)<=0)return;t=f+24|0;f=0;s=o;while(1){o=(c[t>>2]|0)+(f<<2)|0;r=c[e>>2]|0;i=d[r+48>>0]|0;u=i^3;j=(a[r+50>>0]|0)==2;r=j?255:184;h=j?64:i&3;i=j?64:0;j=c[o>>2]|0;if(!j)w=s;else{n=o;o=-3;g=j;while(1){if(!o)break;o=o+-1|0;j=g+5|0;m=d[j>>0]|0;if(!((m^3)&u)){c[n>>2]=c[g>>2];Zc(b,g);x=n}else{if(i&m|0)break;if((a[g+4>>0]|0)==8)_c(b,g);a[j>>0]=r&m|h;x=g}g=c[x>>2]|0;if(!g)break;else n=x}w=c[v>>2]|0}f=f+1|0;if((f|0)>=(w|0))break;else s=w}return}function yf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+16|0;d=(c[c[b>>2]>>2]|0)+8|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>=f>>>0|(d|0)==2099900){jf(a,1,47735)|0;g=(c[c[b>>2]>>2]|0)+8|0;h=c[e>>2]|0}else{g=d;h=f}f=g>>>0<h>>>0?g:2099900;g=c[f+4>>2]|0;switch(g&15){case 5:{i=(c[f>>2]|0)+8|0;break}case 7:{i=(c[f>>2]|0)+8|0;break}default:i=(c[a+12>>2]|0)+276+((g&15)<<2)|0}g=c[i>>2]|0;if(!g){c[h+4>>2]=0;c[e>>2]=h+8;return 1}else{c[h>>2]=g;c[h+4>>2]=69;c[e>>2]=(c[e>>2]|0)+8;rf(a,1,47994)|0;return 1}return 0}
  7559. function bl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0,Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0,Qh=0,Rh=0,Sh=0;g=Fa;Fa=Fa+4112|0;h=g+4108|0;i=g+4104|0;j=g+3072|0;k=g+2048|0;l=g+1024|0;m=g;n=g+4100|0;o=g+4096|0;p=0;do{c[j+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=256);p=0;do{c[k+(c[j+(p<<2)>>2]<<2)>>2]=p;p=p+1|0}while((p|0)!=256);al(b,f);c[8783]=1;c[525045]=0;c[525043]=e;c[525044]=0;if(!f){q=0;Fa=g;return q|0}p=Fp(f)|0;Xu(p|0,b|0,f|0)|0;r=c[525043]|0;s=c[8783]|0;t=c[525044]|0;u=r+t|0;v=(s^255)&(d[u>>0]|0);a[u>>0]=v;w=s<<1;x=t+1|0;if((w|0)!=256){y=(w^255)&v;a[u>>0]=y;v=s<<2;if((v|0)==256){s=r+x|0;c[525044]=x;w=d[s>>0]|0;c[525045]=w;z=w&254;a[s>>0]=z;A=2;B=s;C=x;D=z;E=314}else{F=x;G=u;H=y;I=v;J=t;E=312}}else{v=r+x|0;c[525044]=x;y=d[v>>0]|0;c[525045]=y;u=y&254;a[v>>0]=u;F=t+2|0;G=v;H=u;I=2;J=x;E=312}do if((E|0)==312){x=(I^255)&(H&255);a[G>>0]=x;u=I<<1;if((u|0)==256){v=r+F|0;c[525044]=F;t=d[v>>0]|0;c[525045]=t;A=1;B=v;C=F;D=t;E=314;break}t=(u^255)&x;a[G>>0]=t;x=I<<2;if((x|0)==256){u=r+F|0;c[525044]=F;v=d[u>>0]|0;c[525045]=v;y=v&254;a[u>>0]=y;K=2;L=u;M=F;N=y;E=319}else{O=G;P=F;Q=t;R=x;S=J;E=317}}while(0);if((E|0)==314){J=(A^255)&D;a[B>>0]=J;O=B;P=C+1|0;Q=J;R=A<<1;S=C;E=317}do if((E|0)==317){C=(R^255)&(Q&255);a[O>>0]=C;A=R<<1;if((A|0)==256){J=r+P|0;c[525044]=P;B=d[J>>0]|0;c[525045]=B;K=1;L=J;M=P;N=B;E=319;break}B=(A^255)&C;a[O>>0]=B;C=R<<2;if((C|0)==256){A=r+P|0;c[525044]=P;J=d[A>>0]|0;c[525045]=J;D=J&254;a[A>>0]=D;T=2;U=A;V=P;W=D;E=324}else{X=O;Y=P;Z=B;_=C;$=S;E=322}}while(0);if((E|0)==319){S=(K^255)&N;a[L>>0]=S;X=L;Y=M+1|0;Z=S;_=K<<1;$=M;E=322}do if((E|0)==322){M=(_^255)&(Z&255);a[X>>0]=M;K=_<<1;if((K|0)==256){S=r+Y|0;c[525044]=Y;L=d[S>>0]|0;c[525045]=L;T=1;U=S;V=Y;W=L;E=324;break}L=(K^255)&M;a[X>>0]=L;M=_<<2;if((M|0)==256){K=r+Y|0;c[525044]=Y;S=d[K>>0]|0;c[525045]=S;aa=Y;ba=K;ca=Y+1|0;da=S;ea=1}else{fa=X;ga=Y;ha=L;ia=M;ja=$;E=326}}while(0);if((E|0)==324){$=(T^255)&W;a[U>>0]=$;fa=U;ga=V+1|0;ha=$;ia=T<<1;ja=V;E=326}if((E|0)==326){aa=ja;ba=fa;ca=ga;da=ha&255;ea=ia}c[8783]=ea;ia=c[525049]|0;c[525049]=ia+8;ha=(ea^255)&da;a[ba>>0]=ha;da=ea<<1;if((da|0)!=256){ga=(da^255)&ha;a[ba>>0]=ga;ha=ea<<2;if((ha|0)==256){ea=r+ca|0;c[525044]=ca;da=d[ea>>0]|0;c[525045]=da;fa=da&254;a[ea>>0]=fa;ka=2;la=ea;ma=ca;na=fa;E=296}else{oa=ba;pa=ca;qa=ga;ra=ha;sa=aa;E=294}}else{aa=r+ca|0;c[525044]=ca;ha=d[aa>>0]|0;c[525045]=ha;ga=ha&254;a[aa>>0]=ga;oa=aa;pa=ca+1|0;qa=ga;ra=2;sa=ca;E=294}do if((E|0)==294){ca=(ra^255)&(qa&255);a[oa>>0]=ca;ga=ra<<1;if((ga|0)==256){aa=r+pa|0;c[525044]=pa;ha=d[aa>>0]|0;c[525045]=ha;ka=1;la=aa;ma=pa;na=ha;E=296;break}ha=(ga^255)&ca;a[oa>>0]=ha;ca=ra<<2;if((ca|0)==256){ga=r+pa|0;c[525044]=pa;aa=d[ga>>0]|0;c[525045]=aa;ta=ga;ua=pa+1|0;va=aa;wa=1;xa=pa}else{ya=oa;za=pa;Aa=ha;Ba=ca;Ca=sa;E=298}}while(0);if((E|0)==296){sa=(ka^255)&na;a[la>>0]=sa;ya=la;za=ma+1|0;Aa=sa;Ba=ka<<1;Ca=ma;E=298}if((E|0)==298){ta=ya;ua=za;va=Aa&255;wa=Ba;xa=Ca}Ca=wa|(wa^255)&va;a[ta>>0]=Ca;va=wa<<1;if((va|0)==256){wa=r+ua|0;c[525044]=ua;Ba=d[wa>>0]|0;c[525045]=Ba;Da=wa;Ea=ua+1|0;Ga=Ba;Ha=1;Ia=ua}else{Da=ta;Ea=ua;Ga=Ca&255;Ha=va;Ia=xa}xa=Ha|(Ha^255)&Ga;a[Da>>0]=xa;Ga=Ha<<1;if((Ga|0)==256){Ha=r+Ea|0;c[525044]=Ea;va=d[Ha>>0]|0;c[525045]=va;Ja=Ha;Ka=Ea+1|0;La=va;Ma=1;Na=Ea}else{Ja=Da;Ka=Ea;La=xa&255;Ma=Ga;Na=Ia}Ia=Ma|(Ma^255)&La;a[Ja>>0]=Ia;La=Ma<<1;if((La|0)!=256){Ga=(La^255)&(Ia&255);a[Ja>>0]=Ga;Ia=Ma<<2;if((Ia|0)==256){Ma=r+Ka|0;c[525044]=Ka;La=d[Ma>>0]|0;c[525045]=La;Oa=Ka;Pa=Ma;Qa=Ka+1|0;Ra=La;Sa=1}else{Oa=Na;Pa=Ja;Qa=Ka;Ra=Ga;Sa=Ia}}else{Ia=r+Ka|0;c[525044]=Ka;Ga=d[Ia>>0]|0;c[525045]=Ga;Ja=Ga&254;a[Ia>>0]=Ja;Oa=Ka;Pa=Ia;Qa=Ka+1|0;Ra=Ja;Sa=2}c[8783]=Sa;c[525049]=ia+16;Ja=(Sa^255)&Ra;a[Pa>>0]=Ja;Ra=Sa<<1;do if((Ra|0)!=256){Ka=(Ra^255)&(Ja&255);a[Pa>>0]=Ka;Ia=Sa<<2;if((Ia|0)==256){Ga=r+Qa|0;c[525044]=Qa;Na=d[Ga>>0]|0;c[525045]=Na;Ta=1;Ua=Ga;Va=Na;E=275;break}Na=(Ia^255)&Ka;a[Pa>>0]=Na;Ka=Sa<<3;if((Ka|0)==256){Ia=r+Qa|0;c[525044]=Qa;Ga=d[Ia>>0]|0;c[525045]=Ga;Wa=Ia;Xa=Qa+1|0;Ya=Ga;Za=1;_a=Qa}else{$a=Pa;ab=Qa;bb=Na;cb=Ka;db=Oa;E=277}}else{Ka=r+Qa|0;c[525044]=Qa;Na=d[Ka>>0]|0;c[525045]=Na;Ga=Na&254;a[Ka>>0]=Ga;Ta=2;Ua=Ka;Va=Ga;E=275}while(0);if((E|0)==275){Oa=(Ta^255)&Va;a[Ua>>0]=Oa;$a=Ua;ab=Qa+1|0;bb=Oa;cb=Ta<<1;db=Qa;E=277}if((E|0)==277){Wa=$a;Xa=ab;Ya=bb&255;Za=cb;_a=db}db=Za|(Za^255)&Ya;a[Wa>>0]=db;Ya=Za<<1;if((Ya|0)==256){Za=r+Xa|0;c[525044]=Xa;cb=d[Za>>0]|0;c[525045]=cb;eb=Za;fb=Xa+1|0;gb=cb;hb=1;ib=Xa}else{eb=Wa;fb=Xa;gb=db&255;hb=Ya;ib=_a}_a=hb|(hb^255)&gb;a[eb>>0]=_a;gb=hb<<1;if((gb|0)==256){hb=r+fb|0;c[525044]=fb;Ya=d[hb>>0]|0;c[525045]=Ya;jb=hb;kb=fb+1|0;lb=Ya;mb=1;nb=fb}else{jb=eb;kb=fb;lb=_a&255;mb=gb;nb=ib}ib=mb|(mb^255)&lb;a[jb>>0]=ib;lb=mb<<1;if((lb|0)==256){mb=r+kb|0;c[525044]=kb;gb=d[mb>>0]|0;c[525045]=gb;ob=mb;pb=kb+1|0;qb=gb;rb=1;sb=kb}else{ob=jb;pb=kb;qb=ib&255;rb=lb;sb=nb}nb=rb|(rb^255)&qb;a[ob>>0]=nb;qb=rb<<1;if((qb|0)!=256){lb=(qb^255)&(nb&255);a[ob>>0]=lb;nb=rb<<2;if((nb|0)==256){rb=r+pb|0;c[525044]=pb;qb=d[rb>>0]|0;c[525045]=qb;tb=pb;ub=rb;vb=pb+1|0;wb=qb;xb=1}else{tb=sb;ub=ob;vb=pb;wb=lb;xb=nb}}else{nb=r+pb|0;c[525044]=pb;lb=d[nb>>0]|0;c[525045]=lb;ob=lb&254;a[nb>>0]=ob;tb=pb;ub=nb;vb=pb+1|0;wb=ob;xb=2}c[8783]=xb;c[525049]=ia+24;ob=xb|(xb^255)&wb;a[ub>>0]=ob;wb=xb<<1;do if((wb|0)!=256){pb=(wb^255)&(ob&255);a[ub>>0]=pb;nb=xb<<2;if((nb|0)==256){lb=r+vb|0;c[525044]=vb;sb=d[lb>>0]|0;c[525045]=sb;yb=1;zb=lb;Ab=sb;E=256;break}sb=(nb^255)&pb;a[ub>>0]=sb;pb=xb<<3;if((pb|0)==256){nb=r+vb|0;c[525044]=vb;lb=d[nb>>0]|0;c[525045]=lb;qb=lb&254;a[nb>>0]=qb;Bb=2;Cb=nb;Db=vb;Eb=qb;E=261}else{Fb=ub;Gb=vb;Hb=tb;Ib=sb;Jb=pb;E=259}}else{pb=r+vb|0;c[525044]=vb;sb=d[pb>>0]|0;c[525045]=sb;qb=sb&254;a[pb>>0]=qb;yb=2;zb=pb;Ab=qb;E=256}while(0);if((E|0)==256){tb=(yb^255)&Ab;a[zb>>0]=tb;Fb=zb;Gb=vb+1|0;Hb=vb;Ib=tb;Jb=yb<<1;E=259}do if((E|0)==259){yb=(Jb^255)&(Ib&255);a[Fb>>0]=yb;tb=Jb<<1;if((tb|0)==256){vb=r+Gb|0;c[525044]=Gb;zb=d[vb>>0]|0;c[525045]=zb;Bb=1;Cb=vb;Db=Gb;Eb=zb;E=261;break}zb=(tb^255)&yb;a[Fb>>0]=zb;yb=Jb<<2;if((yb|0)==256){tb=r+Gb|0;c[525044]=Gb;vb=d[tb>>0]|0;c[525045]=vb;Kb=tb;Lb=Gb+1|0;Mb=vb;Nb=1;Ob=Gb}else{Pb=Fb;Qb=Gb;Rb=zb;Sb=yb;Tb=Hb;E=263}}while(0);if((E|0)==261){Hb=(Bb^255)&Eb;a[Cb>>0]=Hb;Pb=Cb;Qb=Db+1|0;Rb=Hb;Sb=Bb<<1;Tb=Db;E=263}if((E|0)==263){Kb=Pb;Lb=Qb;Mb=Rb&255;Nb=Sb;Ob=Tb}Tb=Nb|(Nb^255)&Mb;a[Kb>>0]=Tb;Mb=Nb<<1;if((Mb|0)==256){Nb=r+Lb|0;c[525044]=Lb;Sb=d[Nb>>0]|0;c[525045]=Sb;Ub=Nb;Vb=Lb+1|0;Wb=Sb;Xb=1;Yb=Lb}else{Ub=Kb;Vb=Lb;Wb=Tb&255;Xb=Mb;Yb=Ob}Ob=Xb|(Xb^255)&Wb;a[Ub>>0]=Ob;Wb=Xb<<1;if((Wb|0)!=256){Mb=(Wb^255)&(Ob&255);a[Ub>>0]=Mb;Ob=Xb<<2;if((Ob|0)==256){Xb=r+Vb|0;c[525044]=Vb;Wb=d[Xb>>0]|0;c[525045]=Wb;Zb=Vb;_b=Xb;$b=Vb+1|0;ac=Wb;bc=1}else{Zb=Yb;_b=Ub;$b=Vb;ac=Mb;bc=Ob}}else{Ob=r+Vb|0;c[525044]=Vb;Mb=d[Ob>>0]|0;c[525045]=Mb;Ub=Mb&254;a[Ob>>0]=Ub;Zb=Vb;_b=Ob;$b=Vb+1|0;ac=Ub;bc=2}c[8783]=bc;c[525049]=ia+32;Ub=(f|0)/256|0;Vb=((Ub&1|0)==0?0:bc)|(bc^255)&ac;a[_b>>0]=Vb;ac=bc<<1;if((ac|0)==256){bc=r+$b|0;c[525044]=$b;Ob=d[bc>>0]|0;c[525045]=Ob;cc=bc;dc=$b+1|0;ec=Ob;fc=$b;gc=1}else{cc=_b;dc=$b;ec=Vb&255;fc=Zb;gc=ac}ac=((Ub&2|0)==0?0:gc)|(gc^255)&ec;a[cc>>0]=ac;ec=gc<<1;if((ec|0)==256){gc=r+dc|0;c[525044]=dc;Zb=d[gc>>0]|0;c[525045]=Zb;hc=gc;ic=dc+1|0;jc=Zb;kc=dc;lc=1}else{hc=cc;ic=dc;jc=ac&255;kc=fc;lc=ec}ec=((Ub&4|0)==0?0:lc)|(lc^255)&jc;a[hc>>0]=ec;jc=lc<<1;if((jc|0)==256){lc=r+ic|0;c[525044]=ic;fc=d[lc>>0]|0;c[525045]=fc;mc=lc;nc=ic+1|0;oc=fc;pc=ic;qc=1}else{mc=hc;nc=ic;oc=ec&255;pc=kc;qc=jc}jc=((Ub&8|0)==0?0:qc)|(qc^255)&oc;a[mc>>0]=jc;oc=qc<<1;if((oc|0)==256){qc=r+nc|0;c[525044]=nc;kc=d[qc>>0]|0;c[525045]=kc;rc=qc;sc=nc+1|0;tc=kc;uc=nc;vc=1}else{rc=mc;sc=nc;tc=jc&255;uc=pc;vc=oc}oc=((Ub&16|0)==0?0:vc)|(vc^255)&tc;a[rc>>0]=oc;tc=vc<<1;if((tc|0)==256){vc=r+sc|0;c[525044]=sc;pc=d[vc>>0]|0;c[525045]=pc;wc=vc;xc=sc+1|0;yc=pc;zc=sc;Ac=1}else{wc=rc;xc=sc;yc=oc&255;zc=uc;Ac=tc}tc=((Ub&32|0)==0?0:Ac)|(Ac^255)&yc;a[wc>>0]=tc;yc=Ac<<1;if((yc|0)==256){Ac=r+xc|0;c[525044]=xc;uc=d[Ac>>0]|0;c[525045]=uc;Bc=Ac;Cc=xc+1|0;Dc=uc;Ec=xc;Fc=1}else{Bc=wc;Cc=xc;Dc=tc&255;Ec=zc;Fc=yc}yc=((Ub&64|0)==0?0:Fc)|(Fc^255)&Dc;a[Bc>>0]=yc;Dc=Fc<<1;if((Dc|0)==256){Fc=r+Cc|0;c[525044]=Cc;zc=d[Fc>>0]|0;c[525045]=zc;Gc=Fc;Hc=Cc+1|0;Ic=zc;Jc=Cc;Kc=1}else{Gc=Bc;Hc=Cc;Ic=yc&255;Jc=Ec;Kc=Dc}Dc=((Ub&128|0)==0?0:Kc)|(Kc^255)&Ic;a[Gc>>0]=Dc;Ic=Kc<<1;if((Ic|0)==256){Kc=r+Hc|0;c[525044]=Hc;Ec=d[Kc>>0]|0;c[525045]=Ec;Lc=Hc;Mc=Kc;Nc=Hc+1|0;Oc=Ec;Pc=1}else{Lc=Jc;Mc=Gc;Nc=Hc;Oc=Dc&255;Pc=Ic}c[8783]=Pc;c[525049]=ia+40;Ic=f-(Ub<<8)|0;Ub=((Ic&1|0)==0?0:Pc)|(Pc^255)&Oc;a[Mc>>0]=Ub;Oc=Pc<<1;if((Oc|0)==256){Pc=r+Nc|0;c[525044]=Nc;Dc=d[Pc>>0]|0;c[525045]=Dc;Qc=Pc;Rc=Nc+1|0;Sc=Dc;Tc=Nc;Uc=1}else{Qc=Mc;Rc=Nc;Sc=Ub&255;Tc=Lc;Uc=Oc}Oc=((Ic&2|0)==0?0:Uc)|(Uc^255)&Sc;a[Qc>>0]=Oc;Sc=Uc<<1;if((Sc|0)==256){Uc=r+Rc|0;c[525044]=Rc;Lc=d[Uc>>0]|0;c[525045]=Lc;Vc=Uc;Wc=Rc+1|0;Xc=Lc;Yc=Rc;Zc=1}else{Vc=Qc;Wc=Rc;Xc=Oc&255;Yc=Tc;Zc=Sc}Sc=((Ic&4|0)==0?0:Zc)|(Zc^255)&Xc;a[Vc>>0]=Sc;Xc=Zc<<1;if((Xc|0)==256){Zc=r+Wc|0;c[525044]=Wc;Tc=d[Zc>>0]|0;c[525045]=Tc;_c=Zc;$c=Wc+1|0;ad=Tc;bd=Wc;cd=1}else{_c=Vc;$c=Wc;ad=Sc&255;bd=Yc;cd=Xc}Xc=((Ic&8|0)==0?0:cd)|(cd^255)&ad;a[_c>>0]=Xc;ad=cd<<1;if((ad|0)==256){cd=r+$c|0;c[525044]=$c;Yc=d[cd>>0]|0;c[525045]=Yc;dd=cd;ed=$c+1|0;fd=Yc;gd=$c;hd=1}else{dd=_c;ed=$c;fd=Xc&255;gd=bd;hd=ad}ad=((Ic&16|0)==0?0:hd)|(hd^255)&fd;a[dd>>0]=ad;fd=hd<<1;if((fd|0)==256){hd=r+ed|0;c[525044]=ed;bd=d[hd>>0]|0;c[525045]=bd;id=hd;jd=ed+1|0;kd=bd;ld=ed;md=1}else{id=dd;jd=ed;kd=ad&255;ld=gd;md=fd}fd=((Ic&32|0)==0?0:md)|(md^255)&kd;a[id>>0]=fd;kd=md<<1;if((kd|0)==256){md=r+jd|0;c[525044]=jd;gd=d[md>>0]|0;c[525045]=gd;nd=md;od=jd+1|0;pd=gd;qd=jd;rd=1}else{nd=id;od=jd;pd=fd&255;qd=ld;rd=kd}kd=((Ic&64|0)==0?0:rd)|(rd^255)&pd;a[nd>>0]=kd;pd=rd<<1;if((pd|0)==256){rd=r+od|0;c[525044]=od;ld=d[rd>>0]|0;c[525045]=ld;sd=rd;td=od+1|0;ud=ld;vd=od;wd=1}else{sd=nd;td=od;ud=kd&255;vd=qd;wd=pd}pd=((Ic&128|0)==0?0:wd)|(wd^255)&ud;a[sd>>0]=pd;ud=wd<<1;if((ud|0)==256){wd=r+td|0;c[525044]=td;Ic=d[wd>>0]|0;c[525045]=Ic;xd=td;yd=wd;zd=td+1|0;Ad=Ic;Bd=1}else{xd=vd;yd=sd;zd=td;Ad=pd&255;Bd=ud}c[8783]=Bd;c[525049]=ia+48;ud=(Bd^255)&Ad;a[yd>>0]=ud;Ad=Bd<<1;do if((Ad|0)==256){pd=r+zd|0;c[525044]=zd;td=d[pd>>0]|0;c[525045]=td;sd=td&254;a[pd>>0]=sd;Cd=pd;Dd=zd+1|0;Ed=zd;Fd=sd;Gd=2;E=197}else{sd=(Ad^255)&ud;a[yd>>0]=sd;pd=Bd<<2;if((pd|0)!=256){Cd=yd;Dd=zd;Ed=xd;Fd=sd;Gd=pd;E=197;break}pd=r+zd|0;c[525044]=zd;sd=d[pd>>0]|0;c[525045]=sd;td=sd&254;a[pd>>0]=td;Hd=2;Id=pd;Jd=zd;Kd=td;E=199}while(0);do if((E|0)==197){zd=(Gd^255)&(Fd&255);a[Cd>>0]=zd;xd=Gd<<1;if((xd|0)==256){yd=r+Dd|0;c[525044]=Dd;Bd=d[yd>>0]|0;c[525045]=Bd;Hd=1;Id=yd;Jd=Dd;Kd=Bd;E=199;break}Bd=(xd^255)&zd;a[Cd>>0]=Bd;zd=Gd<<2;if((zd|0)!=256){Ld=Cd;Md=Dd;Nd=Ed;Od=Bd;Pd=zd;E=202;break}zd=r+Dd|0;c[525044]=Dd;Bd=d[zd>>0]|0;c[525045]=Bd;xd=Bd&254;a[zd>>0]=xd;Qd=2;Rd=zd;Sd=Dd;Td=xd;E=204}while(0);if((E|0)==199){Dd=(Hd^255)&Kd;a[Id>>0]=Dd;Ld=Id;Md=Jd+1|0;Nd=Jd;Od=Dd;Pd=Hd<<1;E=202}do if((E|0)==202){Hd=(Pd^255)&(Od&255);a[Ld>>0]=Hd;Dd=Pd<<1;if((Dd|0)==256){Jd=r+Md|0;c[525044]=Md;Id=d[Jd>>0]|0;c[525045]=Id;Qd=1;Rd=Jd;Sd=Md;Td=Id;E=204;break}Id=(Dd^255)&Hd;a[Ld>>0]=Id;Hd=Pd<<2;if((Hd|0)!=256){Ud=Ld;Vd=Md;Wd=Nd;Xd=Id;Yd=Hd;E=207;break}Hd=r+Md|0;c[525044]=Md;Id=d[Hd>>0]|0;c[525045]=Id;Dd=Id&254;a[Hd>>0]=Dd;Zd=2;_d=Hd;$d=Md;ae=Dd;E=209}while(0);if((E|0)==204){Md=(Qd^255)&Td;a[Rd>>0]=Md;Ud=Rd;Vd=Sd+1|0;Wd=Sd;Xd=Md;Yd=Qd<<1;E=207}do if((E|0)==207){Qd=(Yd^255)&(Xd&255);a[Ud>>0]=Qd;Md=Yd<<1;if((Md|0)==256){Sd=r+Vd|0;c[525044]=Vd;Rd=d[Sd>>0]|0;c[525045]=Rd;Zd=1;_d=Sd;$d=Vd;ae=Rd;E=209;break}Rd=(Md^255)&Qd;a[Ud>>0]=Rd;Qd=Yd<<2;if((Qd|0)!=256){be=Ud;ce=Vd;de=Qd;ee=Wd;fe=Rd;E=211;break}Rd=r+Vd|0;c[525044]=Vd;Qd=d[Rd>>0]|0;c[525045]=Qd;ge=Vd;he=Rd;ie=Vd+1|0;je=Qd;ke=1}while(0);if((E|0)==209){Vd=(Zd^255)&ae;a[_d>>0]=Vd;be=_d;ce=$d+1|0;de=Zd<<1;ee=$d;fe=Vd;E=211}if((E|0)==211){ge=ee;he=be;ie=ce;je=fe&255;ke=de}c[8783]=ke;c[525049]=ia+56;de=(ke^255)&je;a[he>>0]=de;je=ke<<1;do if((je|0)==256){fe=r+ie|0;c[525044]=ie;ce=d[fe>>0]|0;c[525045]=ce;be=ce&254;a[fe>>0]=be;le=fe;me=ie+1|0;ne=ie;oe=be;pe=2;E=179}else{be=(je^255)&de;a[he>>0]=be;fe=ke<<2;if((fe|0)!=256){le=he;me=ie;ne=ge;oe=be;pe=fe;E=179;break}fe=r+ie|0;c[525044]=ie;be=d[fe>>0]|0;c[525045]=be;ce=be&254;a[fe>>0]=ce;qe=2;re=fe;se=ie;te=ce;E=181}while(0);do if((E|0)==179){ie=(pe^255)&(oe&255);a[le>>0]=ie;ge=pe<<1;if((ge|0)==256){he=r+me|0;c[525044]=me;ke=d[he>>0]|0;c[525045]=ke;qe=1;re=he;se=me;te=ke;E=181;break}ke=(ge^255)&ie;a[le>>0]=ke;ie=pe<<2;if((ie|0)!=256){ue=le;ve=me;we=ne;xe=ke;ye=ie;E=184;break}ie=r+me|0;c[525044]=me;ke=d[ie>>0]|0;c[525045]=ke;ge=ke&254;a[ie>>0]=ge;ze=2;Ae=ie;Be=me;Ce=ge;E=186}while(0);if((E|0)==181){me=(qe^255)&te;a[re>>0]=me;ue=re;ve=se+1|0;we=se;xe=me;ye=qe<<1;E=184}do if((E|0)==184){qe=(ye^255)&(xe&255);a[ue>>0]=qe;me=ye<<1;if((me|0)==256){se=r+ve|0;c[525044]=ve;re=d[se>>0]|0;c[525045]=re;ze=1;Ae=se;Be=ve;Ce=re;E=186;break}re=(me^255)&qe;a[ue>>0]=re;qe=ye<<2;if((qe|0)!=256){De=ue;Ee=ve;Fe=we;Ge=re;He=qe;E=189;break}qe=r+ve|0;c[525044]=ve;re=d[qe>>0]|0;c[525045]=re;me=re&254;a[qe>>0]=me;Ie=ve;Je=2;Ke=qe;Le=me;E=191}while(0);if((E|0)==186){ve=(ze^255)&Ce;a[Ae>>0]=ve;De=Ae;Ee=Be+1|0;Fe=Be;Ge=ve;He=ze<<1;E=189}do if((E|0)==189){ze=(He^255)&(Ge&255);a[De>>0]=ze;ve=He<<1;if((ve|0)==256){Be=r+Ee|0;c[525044]=Ee;Ae=d[Be>>0]|0;c[525045]=Ae;Ie=Ee;Je=1;Ke=Be;Le=Ae;E=191;break}a[De>>0]=(ve^255)&ze;ze=He<<2;if((ze|0)!=256){Me=ze;Ne=Fe;E=193;break}c[525044]=Ee;ze=d[r+Ee>>0]|0;c[525045]=ze;Oe=Ee;Pe=1;Qe=ze}while(0);if((E|0)==191){a[Ke>>0]=(Je^255)&Le;Me=Je<<1;Ne=Ie;E=193}if((E|0)==193){Oe=Ne;Pe=Me;Qe=c[525045]|0}c[8783]=Pe;c[525049]=ia+64;c[525040]=0;c[525041]=0;c[525042]=0;Xu(l|0,j|0,1024)|0;Xu(m|0,k|0,1024)|0;if((f|0)>0){ia=0;Me=0;Ne=0;Ie=Oe;Je=0;Le=Oe<<16|Pe|Qe<<8;while(1){Qe=cl(p,ia,f,h,i)|0;Pe=d[p+ia>>0]|0;Oe=k+(Pe<<2)|0;Ke=c[Oe>>2]|0;Ee=(Ke|0)<16;if(Ee)Re=4;else{r=16;Fe=4;while(1){He=Fe+1|0;r=r+(2<<Fe)|0;if((Ke|0)<(r|0)){Re=He;break}else Fe=He}}Fe=256/((Re<<1)+-2|0)|0;do if((Qe|0)>2){r=c[i>>2]|0;a:do if((r|0)>(Fe|0)&(r|0)<128){He=(r*6|0)/5|0;c[n>>2]=0;c[o>>2]=0;cl(p,ia+1|0,f,n,o)|0;do if((c[o>>2]|0)<=(He|0)){c[n>>2]=0;c[o>>2]=0;cl(p,ia+2|0,f,n,o)|0;if((c[o>>2]|0)>(He|0))break;Se=r;break a}while(0);c[i>>2]=0;Se=0}else Se=r;while(0);if((Se|0)<=(Fe|0)){E=58;break}r=c[8783]|0;He=c[525043]|0;De=c[525044]|0;Ge=He+De|0;a[Ge>>0]=(r^255)&(d[Ge>>0]|0);Ge=r<<1;c[8783]=Ge;if((Ge|0)==256){c[8783]=1;r=De+1|0;c[525044]=r;c[525045]=d[He+r>>0];Te=r;Ue=1}else{Te=De;Ue=Ge}Ge=(c[525047]|0)+1|0;c[525047]=Ge;De=c[h>>2]|0;r=5;while(1)if((1<<r|0)<(De|0))r=r+5|0;else break;ze=De+-1|0;ve=(r>>>0)/5|0;Ae=0;Be=3-ve|0;Ce=Te;we=Ue;while(1){ue=(Be|0)<1;ye=ue?Be:1;xe=He+Ce|0;a[xe>>0]=((ye&1|0)==0?0:we)|(we^255)&(d[xe>>0]|0);xe=we<<1;me=Ce+1|0;if((xe|0)==256){c[525044]=me;c[525045]=d[He+me>>0];Ve=me;We=1}else{Ve=Ce;We=xe}Ae=Ae+1|0;if(Ae>>>0>=2)break;if(ue)break;else{Be=Be-ye|0;Ce=Ve;we=We}}c[8783]=We;we=0;Ce=We;Be=Ve;while(1){Ae=He+Be|0;a[Ae>>0]=((1<<we&ze|0)==0?0:Ce)|(Ce^255)&(d[Ae>>0]|0);Ae=Ce<<1;De=Be+1|0;if((Ae|0)==256){c[525044]=De;c[525045]=d[He+De>>0];Xe=De;Ye=1}else{Xe=Be;Ye=Ae}we=we+1|0;if((we|0)==(r|0))break;else{Ce=Ye;Be=Xe}}c[8783]=Ye;Be=r+Ge+ve|0;c[525047]=Be;Ce=0;we=Qe+-3|0;ze=Xe;Ae=Ye;while(1){De=(we|0)<7;ye=De?we:7;ue=He+ze|0;xe=((ye&1|0)==0?0:Ae)|(Ae^255)&(d[ue>>0]|0);a[ue>>0]=xe;me=Ae<<1;qe=ze+1|0;if((me|0)==256){re=He+qe|0;c[525044]=qe;se=d[re>>0]|0;c[525045]=se;Ze=re;_e=ze+2|0;$e=se;af=qe;bf=1}else{Ze=ue;_e=qe;$e=xe&255;af=ze;bf=me}me=((ye&2|0)==0?0:bf)|(bf^255)&$e;a[Ze>>0]=me;xe=bf<<1;if((xe|0)==256){qe=He+_e|0;c[525044]=_e;ue=d[qe>>0]|0;c[525045]=ue;cf=qe;df=_e+1|0;ef=ue;ff=_e;gf=1}else{cf=Ze;df=_e;ef=me&255;ff=af;gf=xe}a[cf>>0]=((ye&4|0)==0?0:gf)|(gf^255)&ef;xe=gf<<1;if((xe|0)==256){c[525044]=df;c[525045]=d[He+df>>0];hf=df;jf=1}else{hf=ff;jf=xe}Ce=Ce+3|0;if(Ce>>>0>=1e5)break;if(De)break;else{we=we-ye|0;ze=hf;Ae=jf}}c[8783]=jf;c[525047]=Ce+Be;if((Qe|0)>9)c[525042]=(c[525042]|0)+1;c[525040]=(c[525040]|0)+1;kf=Qe;lf=jf;mf=hf;nf=He;of=2100192}else E=58;while(0);if((E|0)==58){E=0;Qe=c[8783]|0;Fe=c[525043]|0;Ae=c[525044]|0;ze=Fe+Ae|0;a[ze>>0]=(Qe^255)&(d[ze>>0]|0)|Qe;ze=Qe<<1;c[8783]=ze;if((ze|0)==256){c[8783]=1;Qe=Ae+1|0;c[525044]=Qe;c[525045]=d[Fe+Qe>>0];pf=Qe;qf=1}else{pf=Ae;qf=ze}if(Ee){rf=Ke;sf=4}else{ze=Ke;Ae=16;Qe=4;while(1){we=ze-(1<<Qe)|0;ve=Qe+1|0;Ae=Ae+(2<<Qe)|0;if((Ke|0)<(Ae|0)){rf=we;sf=ve;break}else{ze=we;Qe=ve}}}Qe=0;ze=sf+-4|0;Ae=pf;Ee=qf;while(1){ve=(ze|0)<1;we=ve?ze:1;Ge=Fe+Ae|0;a[Ge>>0]=((we&1|0)==0?0:Ee)|(Ee^255)&(d[Ge>>0]|0);Ge=Ee<<1;r=Ae+1|0;if((Ge|0)==256){c[525044]=r;c[525045]=d[Fe+r>>0];tf=r;uf=1}else{tf=Ae;uf=Ge}Qe=Qe+1|0;if(Qe>>>0>=16)break;if(ve)break;else{ze=ze-we|0;Ae=tf;Ee=uf}}c[8783]=uf;Ee=0;Ae=uf;ze=tf;while(1){Qe=Fe+ze|0;a[Qe>>0]=((1<<Ee&rf|0)==0?0:Ae)|(Ae^255)&(d[Qe>>0]|0);Qe=Ae<<1;we=ze+1|0;if((Qe|0)==256){c[525044]=we;c[525045]=d[Fe+we>>0];vf=we;wf=1}else{vf=ze;wf=Qe}Ee=Ee+1|0;if((Ee|0)==(sf|0))break;else{Ae=wf;ze=vf}}c[8783]=wf;if((Ke|0)>0){ze=Ke;do{Ae=ze;ze=ze+-1|0;Ee=c[j+(ze<<2)>>2]|0;c[j+(Ae<<2)>>2]=Ee;Qe=k+(Ee<<2)|0;c[Qe>>2]=(c[Qe>>2]|0)+1}while((Ae|0)>1)}c[j>>2]=Pe;c[Oe>>2]=0;kf=1;lf=wf;mf=vf;nf=Fe;of=2100164}c[of>>2]=(c[of>>2]|0)+kf;ze=(ia|0)<2?0:ia+-2|0;ia=kf+ia|0;Ke=ia+-2|0;if((ze|0)<(Ke|0)){Ae=ze;do Ae=Ae+1|0;while((Ae|0)<(Ke|0))}Ke=mf-Ie|0;if((ia|0)==(f|0)|(Ke|0)>31){Ae=ia-Je|0;if((Ke|0)>(Ae+((Me|0)==(Je|0)?3:0)|0)){Ke=Le&255;c[8783]=Ke;c[525045]=Le>>>8&255;Fe=Le>>>16&32767;c[525044]=Fe;if(!Ne){Oe=nf+Fe|0;Pe=(Le^255)&(d[Oe>>0]|0);a[Oe>>0]=Pe;ze=Ke<<1;c[8783]=ze;if((Ke|0)==128){c[8783]=1;Qe=Fe+1|0;c[525044]=Qe;Ee=nf+Qe|0;we=d[Ee>>0]|0;c[525045]=we;xf=Ee;yf=we;zf=1;Af=Qe}else{xf=Oe;yf=Pe;zf=ze;Af=Fe}ze=(zf^255)&yf|zf;a[xf>>0]=ze;Pe=zf<<1;c[8783]=Pe;if((zf|0)==128){c[8783]=1;Oe=Af+1|0;c[525044]=Oe;Qe=nf+Oe|0;we=d[Qe>>0]|0;c[525045]=we;Bf=Qe;Cf=we;Df=1;Ef=Oe}else{Bf=xf;Cf=ze&255;Df=Pe;Ef=Af}Pe=(Df^255)&Cf;a[Bf>>0]=Pe;ze=Df<<1;c[8783]=ze;if((Df|0)==128){c[8783]=1;Oe=Ef+1|0;c[525044]=Oe;we=nf+Oe|0;Qe=d[we>>0]|0;c[525045]=Qe;Ff=Oe;Gf=we;Hf=Qe;If=1}else{Ff=Ef;Gf=Bf;Hf=Pe;If=ze}ze=(If^255)&Hf;a[Gf>>0]=ze;Pe=If<<1;Qe=Ff+1|0;do if((Pe|0)==256){we=nf+Qe|0;c[525044]=Qe;Oe=d[we>>0]|0;c[525045]=Oe;Ee=Oe&254;a[we>>0]=Ee;Jf=2;Kf=we;Lf=Ee;E=121}else{Ee=(Pe^255)&(ze&255);a[Gf>>0]=Ee;we=If<<2;if((we|0)==256){Oe=nf+Qe|0;c[525044]=Qe;ve=d[Oe>>0]|0;c[525045]=ve;Jf=1;Kf=Oe;Lf=ve;E=121;break}ve=(we^255)&Ee;a[Gf>>0]=ve;Ee=If<<3;if((Ee|0)!=256){Mf=Gf;Nf=Qe;Of=Ff;Pf=ve;Qf=Ee;E=124;break}Ee=nf+Qe|0;c[525044]=Qe;ve=d[Ee>>0]|0;c[525045]=ve;we=ve&254;a[Ee>>0]=we;Rf=2;Sf=Ee;Tf=Qe;Uf=we;E=126}while(0);if((E|0)==121){E=0;ze=(Jf^255)&Lf;a[Kf>>0]=ze;Mf=Kf;Nf=Ff+2|0;Of=Qe;Pf=ze;Qf=Jf<<1;E=124}do if((E|0)==124){E=0;ze=(Qf^255)&(Pf&255);a[Mf>>0]=ze;Pe=Qf<<1;if((Pe|0)==256){we=nf+Nf|0;c[525044]=Nf;Ee=d[we>>0]|0;c[525045]=Ee;Rf=1;Sf=we;Tf=Nf;Uf=Ee;E=126;break}Ee=(Pe^255)&ze;a[Mf>>0]=Ee;ze=Qf<<2;if((ze|0)!=256){Vf=Mf;Wf=Nf;Xf=Of;Yf=Ee;Zf=ze;E=129;break}ze=nf+Nf|0;c[525044]=Nf;Ee=d[ze>>0]|0;c[525045]=Ee;Pe=Ee&254;a[ze>>0]=Pe;_f=2;$f=ze;ag=Nf;bg=Pe;E=131}while(0);if((E|0)==126){E=0;Qe=(Rf^255)&Uf;a[Sf>>0]=Qe;Vf=Sf;Wf=Tf+1|0;Xf=Tf;Yf=Qe;Zf=Rf<<1;E=129}do if((E|0)==129){E=0;Qe=(Zf^255)&(Yf&255);a[Vf>>0]=Qe;Pe=Zf<<1;if((Pe|0)==256){ze=nf+Wf|0;c[525044]=Wf;Ee=d[ze>>0]|0;c[525045]=Ee;_f=1;$f=ze;ag=Wf;bg=Ee;E=131;break}Ee=(Pe^255)&Qe;a[Vf>>0]=Ee;Qe=Zf<<2;if((Qe|0)!=256){cg=Vf;dg=Wf;eg=Xf;fg=Ee;gg=Qe;E=134;break}Qe=nf+Wf|0;c[525044]=Wf;Ee=d[Qe>>0]|0;c[525045]=Ee;Pe=Ee&254;a[Qe>>0]=Pe;hg=2;ig=Qe;jg=Wf;kg=Pe;E=136}while(0);if((E|0)==131){E=0;Pe=(_f^255)&bg;a[$f>>0]=Pe;cg=$f;dg=ag+1|0;eg=ag;fg=Pe;gg=_f<<1;E=134}do if((E|0)==134){E=0;Pe=(gg^255)&(fg&255);a[cg>>0]=Pe;Qe=gg<<1;if((Qe|0)==256){Ee=nf+dg|0;c[525044]=dg;ze=d[Ee>>0]|0;c[525045]=ze;hg=1;ig=Ee;jg=dg;kg=ze;E=136;break}ze=(Qe^255)&Pe;a[cg>>0]=ze;Pe=gg<<2;if((Pe|0)!=256){lg=cg;mg=dg;ng=eg;og=Pe;pg=ze;E=139;break}ze=nf+dg|0;c[525044]=dg;Pe=d[ze>>0]|0;c[525045]=Pe;a[ze>>0]=Pe&254;qg=dg;rg=2}while(0);if((E|0)==136){E=0;Pe=(hg^255)&kg;a[ig>>0]=Pe;lg=ig;mg=jg+1|0;ng=jg;og=hg<<1;pg=Pe;E=139}do if((E|0)==139){E=0;a[lg>>0]=(og^255)&pg;Pe=og<<1;if((Pe|0)!=256){qg=ng;rg=Pe;break}c[525044]=mg;c[525045]=d[nf+mg>>0];qg=mg;rg=1}while(0);c[8783]=rg;sg=qg;tg=rg}else{Pe=Fe+-1|0;c[525044]=Pe;sg=Pe;tg=Ke}if((Ae|0)>0){Pe=0;ze=tg;Qe=sg;while(1){Ee=d[p+(Pe+Je)>>0]|0;we=nf+Qe|0;ve=((Ee&1|0)==0?0:ze)|(ze^255)&(d[we>>0]|0);a[we>>0]=ve;Oe=ze<<1;Ge=Qe+1|0;if((Oe|0)==256){r=nf+Ge|0;c[525044]=Ge;ye=d[r>>0]|0;c[525045]=ye;ug=r;vg=Qe+2|0;wg=ye;xg=Ge;yg=1}else{ug=we;vg=Ge;wg=ve&255;xg=Qe;yg=Oe}Oe=((Ee&2|0)==0?0:yg)|(yg^255)&wg;a[ug>>0]=Oe;ve=yg<<1;if((ve|0)==256){Ge=nf+vg|0;c[525044]=vg;we=d[Ge>>0]|0;c[525045]=we;zg=Ge;Ag=vg+1|0;Bg=we;Cg=vg;Dg=1}else{zg=ug;Ag=vg;Bg=Oe&255;Cg=xg;Dg=ve}ve=((Ee&4|0)==0?0:Dg)|(Dg^255)&Bg;a[zg>>0]=ve;Oe=Dg<<1;if((Oe|0)==256){we=nf+Ag|0;c[525044]=Ag;Ge=d[we>>0]|0;c[525045]=Ge;Eg=we;Fg=Ag+1|0;Gg=Ge;Hg=Ag;Ig=1}else{Eg=zg;Fg=Ag;Gg=ve&255;Hg=Cg;Ig=Oe}Oe=((Ee&8|0)==0?0:Ig)|(Ig^255)&Gg;a[Eg>>0]=Oe;ve=Ig<<1;if((ve|0)==256){Ge=nf+Fg|0;c[525044]=Fg;we=d[Ge>>0]|0;c[525045]=we;Jg=Ge;Kg=Fg+1|0;Lg=we;Mg=Fg;Ng=1}else{Jg=Eg;Kg=Fg;Lg=Oe&255;Mg=Hg;Ng=ve}ve=((Ee&16|0)==0?0:Ng)|(Ng^255)&Lg;a[Jg>>0]=ve;Oe=Ng<<1;if((Oe|0)==256){we=nf+Kg|0;c[525044]=Kg;Ge=d[we>>0]|0;c[525045]=Ge;Og=we;Pg=Kg+1|0;Qg=Ge;Rg=Kg;Sg=1}else{Og=Jg;Pg=Kg;Qg=ve&255;Rg=Mg;Sg=Oe}Oe=((Ee&32|0)==0?0:Sg)|(Sg^255)&Qg;a[Og>>0]=Oe;ve=Sg<<1;if((ve|0)==256){Ge=nf+Pg|0;c[525044]=Pg;we=d[Ge>>0]|0;c[525045]=we;Tg=Ge;Ug=Pg+1|0;Vg=we;Wg=Pg;Xg=1}else{Tg=Og;Ug=Pg;Vg=Oe&255;Wg=Rg;Xg=ve}ve=((Ee&64|0)==0?0:Xg)|(Xg^255)&Vg;a[Tg>>0]=ve;Oe=Xg<<1;if((Oe|0)==256){we=nf+Ug|0;c[525044]=Ug;Ge=d[we>>0]|0;c[525045]=Ge;Yg=we;Zg=Ug+1|0;_g=Ge;$g=Ug;ah=1}else{Yg=Tg;Zg=Ug;_g=ve&255;$g=Wg;ah=Oe}a[Yg>>0]=((Ee&128|0)==0?0:ah)|(ah^255)&_g;Ee=ah<<1;if((Ee|0)==256){c[525044]=Zg;c[525045]=d[nf+Zg>>0];bh=Zg;ch=1}else{bh=$g;ch=Ee}Pe=Pe+1|0;if((Pe|0)==(Ae|0))break;else{ze=ch;Qe=bh}}c[8783]=ch;dh=bh;eh=ch}else{dh=sg;eh=tg}Qe=nf+dh|0;ze=(eh^255)&(d[Qe>>0]|0);a[Qe>>0]=ze;Ae=eh<<1;Pe=dh+1|0;do if((Ae|0)==256){Ke=nf+Pe|0;c[525044]=Pe;Fe=d[Ke>>0]|0;c[525045]=Fe;Ee=Fe&254;a[Ke>>0]=Ee;fh=Ke;gh=dh+2|0;hh=Pe;ih=Ee;jh=2;E=162}else{Ee=(Ae^255)&ze;a[Qe>>0]=Ee;Ke=eh<<2;if((Ke|0)!=256){fh=Qe;gh=Pe;hh=dh;ih=Ee;jh=Ke;E=162;break}Ke=nf+Pe|0;c[525044]=Pe;Ee=d[Ke>>0]|0;c[525045]=Ee;Fe=Ee&254;a[Ke>>0]=Fe;kh=2;lh=Ke;mh=Pe;nh=Fe;E=164}while(0);do if((E|0)==162){E=0;Pe=(jh^255)&(ih&255);a[fh>>0]=Pe;Qe=jh<<1;if((Qe|0)==256){ze=nf+gh|0;c[525044]=gh;Ae=d[ze>>0]|0;c[525045]=Ae;kh=1;lh=ze;mh=gh;nh=Ae;E=164;break}Ae=(Qe^255)&Pe;a[fh>>0]=Ae;Pe=jh<<2;if((Pe|0)!=256){oh=fh;ph=gh;qh=hh;rh=Ae;sh=Pe;E=167;break}Pe=nf+gh|0;c[525044]=gh;Ae=d[Pe>>0]|0;c[525045]=Ae;Qe=Ae&254;a[Pe>>0]=Qe;th=2;uh=Pe;vh=gh;wh=Qe;E=169}while(0);if((E|0)==164){E=0;Qe=(kh^255)&nh;a[lh>>0]=Qe;oh=lh;ph=mh+1|0;qh=mh;rh=Qe;sh=kh<<1;E=167}do if((E|0)==167){E=0;Qe=(sh^255)&(rh&255);a[oh>>0]=Qe;Pe=sh<<1;if((Pe|0)==256){Ae=nf+ph|0;c[525044]=ph;ze=d[Ae>>0]|0;c[525045]=ze;th=1;uh=Ae;vh=ph;wh=ze;E=169;break}ze=(Pe^255)&Qe;a[oh>>0]=ze;Qe=sh<<2;if((Qe|0)!=256){xh=oh;yh=ph;zh=qh;Ah=ze;Bh=Qe;E=172;break}Qe=nf+ph|0;c[525044]=ph;ze=d[Qe>>0]|0;c[525045]=ze;Pe=ze&254;a[Qe>>0]=Pe;Ch=ph;Dh=2;Eh=Qe;Fh=Pe;E=174}while(0);if((E|0)==169){E=0;Pe=(th^255)&wh;a[uh>>0]=Pe;xh=uh;yh=vh+1|0;zh=vh;Ah=Pe;Bh=th<<1;E=172}do if((E|0)==172){E=0;Pe=(Bh^255)&(Ah&255);a[xh>>0]=Pe;Qe=Bh<<1;if((Qe|0)==256){ze=nf+yh|0;c[525044]=yh;Ae=d[ze>>0]|0;c[525045]=Ae;Ch=yh;Dh=1;Eh=ze;Fh=Ae;E=174;break}a[xh>>0]=(Qe^255)&Pe;Pe=Bh<<2;if((Pe|0)!=256){Gh=zh;Hh=Pe;break}c[525044]=yh;c[525045]=d[nf+yh>>0];Gh=yh;Hh=1}while(0);if((E|0)==174){E=0;a[Eh>>0]=(Dh^255)&Fh;Gh=Ch;Hh=Dh<<1}c[8783]=Hh;Xu(j|0,l|0,1024)|0;Xu(k|0,m|0,1024)|0;Ih=Me;Jh=1;Kh=Gh;Lh=Hh}else{Xu(l|0,j|0,1024)|0;Xu(m|0,k|0,1024)|0;Ih=ia;Jh=0;Kh=mf;Lh=lf}Mh=Kh;Nh=ia;Oh=c[525045]<<8|Kh<<16|Lh;Ph=Ih;Qh=Jh}else{Mh=Ie;Nh=Je;Oh=Le;Ph=Me;Qh=Ne}if((ia|0)>=(f|0))break;else{Me=Ph;Ne=Qh;Ie=Mh;Je=Nh;Le=Oh}}}Hp(p);p=c[8783]|0;if((p|0)==1){Rh=c[525044]|0;Sh=c[525043]|0}else{Oh=c[525043]|0;Le=c[525044]|0;Nh=Oh+Le|0;Je=p;p=a[Nh>>0]|0;do{p=(Je^255)&(p&255)&255;Je=Je<<1}while((Je|0)!=256);a[Nh>>0]=p;p=Le+1|0;c[525044]=p;c[525045]=d[Oh+p>>0];c[8783]=1;Rh=p;Sh=Oh}a[Sh+6>>0]=(Rh|0)/256|0;a[Sh+7>>0]=Rh;if((Rh|0)<=(f|0)){q=Rh;Fa=g;return q|0}Xu(e|0,b|0,f|0)|0;q=f;Fa=g;return q|0}function cl(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;k=h-g|0;if((k|0)<3){l=0;return l|0}h=c[1417136+((((d[f+(g+1)>>0]|0)*1503|0)+((d[f+g>>0]|0)*7|0)+((d[f+(g+2)>>0]|0)*51717|0)&4095)<<2)>>2]|0;if(!h){l=0;return l|0}m=b[h+2>>1]|0;if(!(m<<16>>16)){n=-1;o=0;p=0}else{q=g+-32767|0;r=m&65535;m=0;s=-1;t=0;u=-1e5;while(1){v=e[h+(m+2<<1)>>1]|0;if((v|0)>=(g|0)){w=s;x=t;y=u;break}if((q|0)>(v|0)){z=s;A=t;B=u}else{C=0;while(1){D=C+v|0;if((D|0)>=(g|0)){E=C;F=D;break}if((a[f+D>>0]|0)!=(a[f+(C+g)>>0]|0)){E=C;F=D;break}C=C+1|0;if((C|0)>=(k|0)){G=21;break}}if((G|0)==21){G=0;E=C;F=C+v|0}D=g-v|0;a:do if((E|0)>=(k|0)|(F|0)<(g|0))H=E;else{I=E;while(1){if((a[f+(((I|0)%(D|0)|0)+v)>>0]|0)!=(a[f+(I+g)>>0]|0)){H=I;break a}J=I+1|0;if((J|0)>=(k|0)|(J+v|0)<(g|0)){H=J;break}else I=J}}while(0);if((D|0)>0){C=0;I=D;do{C=C+1|0;I=I>>>5}while((I|0)!=0);if(C>>>0<2){K=C;G=17}else{L=C;M=2}}else{K=0;G=17}if((G|0)==17){G=0;L=K;M=K}I=(H<<8>>>0)/(((L*5|0)+4+M|0)>>>0)|0;D=(I|0)>(s|0);z=D?I:s;A=D?H:t;B=D?v:u}m=m+1|0;if(m>>>0>=r>>>0){w=z;x=A;y=B;break}else{s=z;t=A;u=B}}n=w;o=x;p=(y|0)>-1?g-y|0:0}c[i>>2]=p;c[j>>2]=n;l=o;return l|0}function dl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0;g=Fa;Fa=Fa+2080|0;h=g+1056|0;i=g+32|0;j=g;c[8783]=1;c[525045]=0;c[525050]=b;k=0;do{c[h+(k<<2)>>2]=k;k=k+1|0}while((k|0)!=256);k=0;do{c[i+(c[h+(k<<2)>>2]<<2)>>2]=k;k=k+1|0}while((k|0)!=256);c[j>>2]=d[b>>0];c[j+4>>2]=d[b+1>>0];c[j+8>>2]=d[b+2>>0];c[j+12>>2]=d[b+3>>0];c[j+16>>2]=d[b+4>>0];c[j+20>>2]=d[b+5>>0];c[j+24>>2]=d[b+6>>0];c[j+28>>2]=d[b+7>>0];c[8783]=1;k=(c[j+16>>2]<<8)+(c[j+20>>2]|0)|0;l=(c[j+24>>2]<<8)+(c[j+28>>2]|0)|0;if(!((f|0)>0&((k|0)>0&(l|0)>8))){Fa=g;return 0}j=f+-1|0;m=0;n=1;o=8;a:while(1){p=n<<1;q=(p|0)==256;r=o+(q&1)|0;s=q?1:p;b:do if(!(n&(d[b+o>>0]|0))){p=(s&(d[b+r>>0]|0)|0)!=0;q=s<<1;t=(q|0)==256;u=r+(t&1)|0;v=t?1:q;if(p){q=v<<1;t=(q|0)==256;w=(p&1)+((v&(d[b+u>>0]|0)|0)!=0&1)|0;x=t?1:q;y=u+(t&1)|0}else{w=0;x=v;y=u}u=3-w|0;v=u*5|0;if((u|0)>0){u=0;t=0;q=y;p=y;z=x;while(1){A=z<<1;B=(A|0)==256;C=p+1|0;D=B?C:q;E=B?1:A;A=((z&(d[b+p>>0]|0)|0)==0?0:1<<u)|t;u=u+1|0;if((u|0)==(v|0)){F=A;G=E;H=D;break}else{t=A;q=D;p=B?C:p;z=E}}}else{F=0;G=x;H=y}z=F+1|0;if(!((v|0)==10&(F|0)==0|(z|0)==0)){p=0;q=0;t=H;u=G;while(1){E=d[b+t>>0]|0;C=(u&E|0)!=0;B=u<<1;D=t+1|0;do if((B|0)!=256){A=C&1;I=(B&E|0)==0;J=u<<2;if((J|0)==256){K=I;L=A;M=1;N=d[b+D>>0]|0;O=42;break}else{P=u<<3;Q=(P|0)==256;R=(I?0:2)|A;S=J&E;T=Q?D:t;U=Q?1:P;break}}else{P=d[b+D>>0]|0;K=(P&1|0)==0;L=C&1;M=2;N=P;O=42}while(0);if((O|0)==42){O=0;R=(K?0:2)|L;S=M&N;T=D;U=M<<1}C=((S|0)==0?0:4)|R;q=q+3|0;p=C+p|0;if(!(q>>>0<1e5&(C|0)==7))break;else{t=T;u=U}}u=p+3|0;t=m;while(1){a[e+t>>0]=a[e+(t-z)>>0]|0;t=t+1|0;if((u|0)<=1)break;else u=u+-1|0}if((t|0)>=(j|0)){V=t;W=U;X=T;break}a[e+t>>0]=0;V=t;W=U;X=T;break}if((m|0)<(k|0)){u=m;z=G;p=H;while(1){q=d[b+p>>0]|0;v=(z&q|0)!=0;C=z<<1;E=p+1|0;do if((C|0)!=256){B=v&1;P=(C&q|0)==0;Q=z<<2;if((Q|0)==256){Y=P;Z=B;_=1;$=d[b+E>>0]|0;O=46;break}J=(P?0:2)|B;B=(Q&q|0)==0;Q=z<<3;if((Q|0)==256){P=d[b+E>>0]|0;aa=(B?0:4)|J;ba=(P&1|0)==0;ca=2;da=P;ea=E;O=51}else{fa=J;ga=q;ha=E;ia=B;ja=Q;ka=p;O=49}}else{Q=d[b+E>>0]|0;Y=(Q&1|0)==0;Z=v&1;_=2;$=Q;O=46}while(0);if((O|0)==46){O=0;fa=(Y?0:2)|Z;ga=$;ha=p+2|0;ia=(_&$|0)==0;ja=_<<1;ka=E;O=49}do if((O|0)==49){O=0;v=(ia?0:4)|fa;q=(ja&ga|0)==0;C=ja<<1;if((C|0)==256){aa=v;ba=q;ca=1;da=d[b+ha>>0]|0;ea=ha;O=51;break}D=(q?0:8)|v;v=(C&ga|0)==0;C=ja<<2;if((C|0)==256){q=d[b+ha>>0]|0;la=(v?0:16)|D;ma=(q&1|0)==0;na=2;oa=q;pa=ha;O=56}else{qa=D;ra=ga;sa=ha;ta=v;ua=C;va=ka;O=54}}while(0);if((O|0)==51){O=0;qa=(ba?0:8)|aa;ra=da;sa=ea+1|0;ta=(ca&da|0)==0;ua=ca<<1;va=ea;O=54}do if((O|0)==54){O=0;E=(ta?0:16)|qa;C=(ua&ra|0)==0;v=ua<<1;if((v|0)==256){la=E;ma=C;na=1;oa=d[b+sa>>0]|0;pa=sa;O=56;break}D=(C?0:32)|E;E=(v&ra|0)==0;v=ua<<2;if((v|0)==256){wa=(E?0:64)|D;xa=sa;ya=(a[b+sa>>0]&1)==0;za=2}else{Aa=D;Ba=ra;Ca=sa;Da=E;Ea=v;Ga=va;O=59}}while(0);if((O|0)==56){O=0;Aa=(ma?0:32)|la;Ba=oa;Ca=pa+1|0;Da=(na&oa|0)==0;Ea=na<<1;Ga=pa;O=59}if((O|0)==59){O=0;v=Ea<<1;E=(v|0)==256;wa=(Da?0:64)|Aa;xa=E?Ca:Ga;ya=(Ea&Ba|0)==0;za=E?1:v}v=(ya?0:128)|wa;a[e+u>>0]=v;if(!(v&255)){V=u;W=za;X=xa;break b}v=u+1|0;if((v|0)<(k|0)){u=v;z=za;p=xa}else{V=v;W=za;X=xa;break}}}else{V=m;W=G;X=H}}else{p=0;z=0;u=0;t=r;v=s;while(1){E=v<<1;D=(E|0)==256;Ha=t+(D&1)|0;Ia=D?1:E;if(!(p>>>0<16?(v&(d[b+t>>0]|0)|0)!=0:0))break;E=(16<<z)+u|0;p=p+1|0;z=z+1|0;u=E;t=Ha;v=Ia}v=z+3|0;t=0;p=0;E=Ha;D=Ia;while(1){C=D<<1;q=(C|0)==256;Q=E;E=E+(q&1)|0;B=D;D=q?1:C;p=((B&(d[b+Q>>0]|0)|0)==0?0:1<<t)|p;if((t|0)==(v|0))break;else t=t+1|0}t=p+u|0;if((t|0)>255){Ja=D;break a}v=c[h+(t<<2)>>2]|0;a[e+m>>0]=v;z=m+1|0;a[e+z>>0]=0;if((t|0)>0){Q=t;do{t=Q;Q=Q+-1|0;B=c[h+(Q<<2)>>2]|0;c[h+(t<<2)>>2]=B;C=i+(B<<2)|0;c[C>>2]=(c[C>>2]|0)+1}while((t|0)>1)}c[h>>2]=v;c[i+(v<<2)>>2]=0;V=z;W=D;X=E}while(0);if((V|0)<(f|0)&((V|0)<(k|0)&(X|0)<(l|0))){m=V;n=W;o=X}else{Ja=W;break}}c[8783]=Ja;Fa=g;return 0}function el(b){b=b|0;var c=0;switch(a[b>>0]|0){case 58:{if(((a[b+1>>0]|0)==99?(a[b+2>>0]|0)==58:0)?(a[b+3>>0]|0)==0:0){c=1;return c|0}break}case 0:{if(((a[b+1>>0]|0)==112?(a[b+2>>0]|0)==120:0)?(a[b+3>>0]|0)==97:0){c=2;return c|0}break}default:{}}c=0;return c|0}function fl(a,b,c){a=a|0;b=b|0;c=c|0;return bl(a,b,c)|0}function gl(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;switch(a[b>>0]|0){case 58:{if((a[b+1>>0]|0)!=99){f=0;return f|0}if((a[b+2>>0]|0)!=58){f=0;return f|0}if(a[b+3>>0]|0){f=0;return f|0}g=d[b+4>>0]<<8|d[b+5>>0];Ep(c,0,e);if((g|0)>(e|0)){f=1;return f|0}h=c+g|0;if(!g)i=c;else{g=b+8|0;j=c;while(1){k=a[g>>0]|0;l=k&255;m=g+1|0;if((k&255)<60){n=k<<24>>24==0;a[j>>0]=a[(n?m:60714+l|0)>>0]|0;o=n?g+2|0:m;p=1}else{n=d[m>>0]|0;m=(n>>>4)+2|0;Xu(j|0,j+(0-(n&15|(l<<4)+-960))|0,m|0)|0;o=g+2|0;p=m}m=j+p|0;if(m>>>0<h>>>0){g=o;j=m}else{i=m;break}}}j=eu(c,60775)|0;if((j|0)!=0?(o=ft(c)|0,(c-j+o|0)==56):0){j=c+o+-56|0;a[j>>0]=0;q=j}else q=i;i=eu(c,60832)|0;if(i){j=ft(c)|0;o=c;if((o-i+j|0)==73){i=c+j+-73|0;a[i>>0]=0;r=i;s=o}else{r=q;s=o}}else{r=q;s=c}f=r-s|0;return f|0}case 0:{if((a[b+1>>0]|0)!=112){f=0;return f|0}if((a[b+2>>0]|0)!=120){f=0;return f|0}if((a[b+3>>0]|0)!=97){f=0;return f|0}dl(b,c,e)|0;f=0;return f|0}default:{f=0;return f|0}}return 0}function hl(a){a=a|0;var b=0;c[525052]=(c[525052]|0)+a;b=Yr(a,1)|0;a=c[525051]|0;c[1433520+(a<<2)>>2]=b;c[525051]=a+1;return b|0}function il(){var a=0,b=0;a=c[525051]|0;if((a|0)<=0)return;b=a;do{a=b+-1|0;c[525051]=a;Xr(c[1433520+(a<<2)>>2]|0);b=c[525051]|0}while((b|0)>0);return}function jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=1;while(1){e=1<<d;if(d>>>0<9&(e|0)<(a|0))d=d+1|0;else break}if((e|0)!=(a|0)){f=0;return f|0}e=(c[525052]|0)+16|0;c[525052]=e;d=Yr(16,1)|0;g=c[525051]|0;c[1433520+(g<<2)>>2]=d;h=g+1|0;c[525051]=h;if(!d){f=0;return f|0}i=a*3|0;c[525052]=e+i;e=Yr(a,3)|0;c[1433520+(h<<2)>>2]=e;c[525051]=g+2;c[d+12>>2]=e;if(!e){f=0;return f|0}c[d>>2]=a;g=1;while(1)if(g>>>0<9&(1<<g|0)<(a|0))g=g+1|0;else break;c[d+4>>2]=g;if(!b){f=d;return f|0}Xu(e|0,b|0,i|0)|0;f=d;return f|0}function kl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=384;g=xt(a,b?193:577,f)|0;if((g|0)==-1)if(!d)h=0;else{c[d>>2]=1;h=0}else{f=ll(g,d)|0;if(!f){wt(g)|0;h=0}else h=f}Fa=e;return h|0}function ll(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[525052]|0;c[525052]=d+76;e=Yr(76,1)|0;f=c[525051]|0;c[1433520+(f<<2)>>2]=e;g=f+1|0;c[525051]=g;if(!e){h=0;return h|0}i=e;j=i+76|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[525052]=d+24984;i=Yr(24908,1)|0;c[1433520+(g<<2)>>2]=i;g=f+2|0;c[525051]=g;if(!i){if(!b){h=0;return h|0}c[b>>2]=7;h=0;return h|0}c[525052]=d+57752;d=Yr(32768,1)|0;c[1433520+(g<<2)>>2]=d;c[525051]=f+3;if(d|0){Yu(d|0,-1,32768)|0;c[i+24900>>2]=d;d=Lt(a,71945)|0;c[e+72>>2]=i;c[i+4>>2]=a;c[i+56>>2]=d;c[i>>2]=1;c[i+64>>2]=0;c[e+68>>2]=0;c[e+64>>2]=0;h=e;return h|0}if(!b){h=0;return h|0}c[b>>2]=7;h=0;return h|0}function ml(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c[b+72>>2]|0;e=c[b+24>>2]|0;if((e|0)>0){f=c[b+52>>2]|0;g=d+24904|0;h=0;do{i=c[f+(h*36|0)+28>>2]|0;a:do if((i|0)>0){j=c[f+(h*36|0)+32>>2]|0;switch(c[j+8>>2]|0){case 1:case 249:case 254:case 255:{a[g>>0]=1;break}default:{}}if((i|0)>1){k=1;while(1){switch(c[j+(k*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[g>>0]=1;break}default:{}}k=k+1|0;if((k|0)>=(i|0))break a}}}while(0);h=h+1|0}while((h|0)<(e|0))}e=c[b+56>>2]|0;if((e|0)<=0){l=d+24904|0;m=a[l>>0]|0;n=m<<24>>24==0;o=n?60906:60913;return o|0}h=c[b+60>>2]|0;b=d+24904|0;d=0;while(1){switch(c[h+(d*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[b>>0]=1;break}default:{}}d=d+1|0;if((d|0)>=(e|0)){l=b;break}}m=a[l>>0]|0;n=m<<24>>24==0;o=n?60906:60913;return o|0}function nl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=Fa;Fa=Fa+16|0;j=i+4|0;k=i;l=b+72|0;m=c[l>>2]|0;n=c[m>>2]|0;if(n&2|0){c[b+64>>2]=3;o=0;Fa=i;return o|0}if(!(n&1)){c[b+64>>2]=10;o=0;Fa=i;return o|0}n=ml(b)|0;p=ft(n)|0;q=c[l>>2]|0;r=c[q+64>>2]|0;if(!r)s=ku(n,1,p,c[q+56>>2]|0)|0;else s=La[r&7](b,n,p)|0;if((s|0)!=(ft(n)|0)){c[b+64>>2]=2;o=0;Fa=i;return o|0}c[b>>2]=d;c[b+4>>2]=e;c[b+8>>2]=f;c[b+12>>2]=g;n=(h|0)!=0;if(n){s=jl(c[h>>2]|0,c[h+12>>2]|0)|0;c[b+20>>2]=s;if(!s){c[b+64>>2]=7;o=0;Fa=i;return o|0}}else c[b+20>>2]=0;a[j>>0]=d;s=j+1|0;a[s>>0]=d>>>8;d=c[l>>2]|0;p=c[d+64>>2]|0;if(!p)ku(j,1,2,c[d+56>>2]|0)|0;else La[p&7](b,j,2)|0;a[j>>0]=e;a[s>>0]=e>>>8;e=c[l>>2]|0;s=c[e+64>>2]|0;if(!s)ku(j,1,2,c[e+56>>2]|0)|0;else La[s&7](b,j,2)|0;j=(n?128:0)|(f<<4)+240;if(n){f=(c[h+4>>2]|0)+-1|j;a[k>>0]=f;if(a[h+8>>0]|0){t=f|8;u=24}}else{t=j|7;u=24}if((u|0)==24)a[k>>0]=t;t=k+1|0;a[t>>0]=g;g=k+2|0;a[g>>0]=a[b+16>>0]|0;u=c[l>>2]|0;j=c[u+64>>2]|0;if(!j)ku(k,1,3,c[u+56>>2]|0)|0;else La[j&7](b,k,3)|0;a:do if(n?(c[h>>2]|0)>0:0){j=h+12|0;u=0;while(1){f=c[j>>2]|0;a[k>>0]=a[f+(u*3|0)>>0]|0;a[t>>0]=a[f+(u*3|0)+1>>0]|0;a[g>>0]=a[f+(u*3|0)+2>>0]|0;f=c[l>>2]|0;s=c[f+64>>2]|0;if(!s)v=ku(k,1,3,c[f+56>>2]|0)|0;else v=La[s&7](b,k,3)|0;u=u+1|0;if((v|0)!=3)break;if((u|0)>=(c[h>>2]|0))break a}c[b+64>>2]=2;o=0;Fa=i;return o|0}while(0);c[m>>2]=c[m>>2]|2;o=1;Fa=i;return o|0}function ol(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=Fa;Fa=Fa+16|0;k=j+4|0;l=j;m=h&1;n=b+72|0;o=c[n>>2]|0;p=c[o>>2]|0;if(p&4|0?(c[o+52>>2]|0)>>>0>4294901760:0){c[b+64>>2]=4;q=0;Fa=j;return q|0}if(!(p&1)){c[b+64>>2]=10;q=0;Fa=j;return q|0}c[b+28>>2]=d;c[b+32>>2]=e;c[b+36>>2]=f;c[b+40>>2]=g;a[b+44>>0]=m;m=(i|0)!=0;p=b+48|0;do if(m){if(c[p>>2]|0)c[p>>2]=0;r=jl(c[i>>2]|0,c[i+12>>2]|0)|0;c[p>>2]=r;if(r|0){s=c[n>>2]|0;break}c[b+64>>2]=7;q=0;Fa=j;return q|0}else{c[p>>2]=0;s=o}while(0);a[l>>0]=44;r=c[s+64>>2]|0;if(!r)pu(44,c[s+56>>2]|0)|0;else La[r&7](b,l,1)|0;a[k>>0]=d;r=k+1|0;a[r>>0]=d>>>8;d=c[n>>2]|0;s=c[d+64>>2]|0;if(!s)ku(k,1,2,c[d+56>>2]|0)|0;else La[s&7](b,k,2)|0;a[k>>0]=e;a[r>>0]=e>>>8;e=c[n>>2]|0;s=c[e+64>>2]|0;if(!s)ku(k,1,2,c[e+56>>2]|0)|0;else La[s&7](b,k,2)|0;a[k>>0]=f;a[r>>0]=f>>>8;s=c[n>>2]|0;e=c[s+64>>2]|0;if(!e)ku(k,1,2,c[s+56>>2]|0)|0;else La[e&7](b,k,2)|0;a[k>>0]=g;a[r>>0]=g>>>8;r=c[n>>2]|0;e=c[r+64>>2]|0;if(!e)ku(k,1,2,c[r+56>>2]|0)|0;else La[e&7](b,k,2)|0;e=(m?128:0)|(h?64:0);a:do if(m){h=(c[i+4>>2]|0)+255|e;a[l>>0]=h;r=c[n>>2]|0;s=c[r+64>>2]|0;if(!s)pu(h<<24>>24,c[r+56>>2]|0)|0;else La[s&7](b,l,1)|0;if((c[i>>2]|0)>0){s=i+12|0;r=l+1|0;h=l+2|0;d=0;while(1){t=c[s>>2]|0;a[l>>0]=a[t+(d*3|0)>>0]|0;a[r>>0]=a[t+(d*3|0)+1>>0]|0;a[h>>0]=a[t+(d*3|0)+2>>0]|0;t=c[n>>2]|0;u=c[t+64>>2]|0;if(!u)v=ku(l,1,3,c[t+56>>2]|0)|0;else v=La[u&7](b,l,3)|0;d=d+1|0;if((v|0)!=3)break;if((d|0)>=(c[i>>2]|0))break a}c[b+64>>2]=2;q=0;Fa=j;return q|0}}else{a[l>>0]=e;d=c[n>>2]|0;h=c[d+64>>2]|0;if(!h){pu(e<<24>>24,c[d+56>>2]|0)|0;break}else{La[h&7](b,l,1)|0;break}}while(0);l=c[b+20>>2]|0;e=c[p>>2]|0;if((l|0)==0&(e|0)==0){c[b+64>>2]=5;q=0;Fa=j;return q|0}c[o>>2]=c[o>>2]|4;c[o+52>>2]=B(g,f)|0;f=c[n>>2]|0;n=c[((e|0)==0?l:e)+4>>2]|0;e=(n|0)>2?n:2;a[k>>0]=e;n=c[f+64>>2]|0;if(!n)pu(e<<24>>24,c[f+56>>2]|0)|0;else La[n&7](b,k,1)|0;a[f+68>>0]=0;c[f+8>>2]=e;k=1<<e;n=f+12|0;c[n>>2]=k;c[f+16>>2]=k+1;c[f+20>>2]=k+2;c[f+24>>2]=e+1;c[f+28>>2]=2<<e;c[f+36>>2]=4097;c[f+44>>2]=0;c[f+48>>2]=0;Yu(c[f+24900>>2]|0,-1,32768)|0;if(!(pl(b,c[n>>2]|0)|0))c[b+64>>2]=8;q=1;Fa=j;return q|0}function pl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=b+72|0;g=c[f>>2]|0;h=g+44|0;i=c[h>>2]|0;do if((e|0)==4096){j=g+68|0;if((i|0)>0){k=g+48|0;l=b+64|0;m=1;n=c[k>>2]|0;while(1){o=a[j>>0]|0;do if(o<<24>>24==-1){p=c[f>>2]|0;q=c[p+64>>2]|0;if(!q)r=ku(j,1,256,c[p+56>>2]|0)|0;else r=La[q&7](b,j,256)|0;if((r|0)==((d[j>>0]|0)+1|0)){a[j>>0]=0;s=0;t=10;break}else{c[l>>2]=2;u=0;break}}else{s=o;t=10}while(0);if((t|0)==10){t=0;o=s+1<<24>>24;a[j>>0]=o;a[(o&255)+(g+68)>>0]=n;u=m}n=(c[k>>2]|0)>>>8;c[k>>2]=n;o=c[h>>2]|0;c[h>>2]=o+-8;if((o|0)<=8){v=u;break}else m=u}}else v=1;c[h>>2]=0;m=a[j>>0]|0;if(m<<24>>24){n=(m&255)+1|0;m=c[f>>2]|0;k=c[m+64>>2]|0;if(!k)w=ku(j,1,n,c[m+56>>2]|0)|0;else w=La[k&7](b,j,n)|0;if((w|0)!=((d[j>>0]|0)+1|0)){c[b+64>>2]=2;x=0;break}}a[j>>0]=0;n=c[f>>2]|0;k=c[n+64>>2]|0;if(!k)y=ku(j,1,1,c[n+56>>2]|0)|0;else y=La[k&7](b,j,1)|0;if((y|0)==1)x=v;else{c[b+64>>2]=2;x=0}}else{k=g+48|0;n=c[k>>2]|e<<i;c[k>>2]=n;m=(c[g+24>>2]|0)+i|0;c[h>>2]=m;if((m|0)>7){m=g+68|0;l=b+64|0;o=1;q=n;while(1){n=a[m>>0]|0;do if(n<<24>>24==-1){p=c[f>>2]|0;z=c[p+64>>2]|0;if(!z)A=ku(m,1,256,c[p+56>>2]|0)|0;else A=La[z&7](b,m,256)|0;if((A|0)==((d[m>>0]|0)+1|0)){a[m>>0]=0;B=0;t=32;break}else{c[l>>2]=2;C=0;break}}else{B=n;t=32}while(0);if((t|0)==32){t=0;n=B+1<<24>>24;a[m>>0]=n;a[(n&255)+(g+68)>>0]=q;C=o}q=(c[k>>2]|0)>>>8;c[k>>2]=q;n=c[h>>2]|0;c[h>>2]=n+-8;if((n|0)<=15){x=C;break}else o=C}}else x=1}while(0);C=g+28|0;if(!((e|0)<4096?(c[g+20>>2]|0)>=(c[C>>2]|0):0))return x|0;e=g+24|0;g=(c[e>>2]|0)+1|0;c[e>>2]=g;c[C>>2]=1<<g;return x|0}function ql(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[a+72>>2]|0;g=c[f+24900>>2]|0;h=f+36|0;i=c[h>>2]|0;if((i|0)==4097){j=1;k=d[b>>0]|0}else{j=0;k=i}a:do if((j|0)<(e|0)){i=f+20|0;l=f+12|0;m=f+16|0;n=f+8|0;o=f+24|0;p=f+28|0;q=k;r=j;b:while(1){s=d[b+r>>0]|0;r=r+1|0;t=q<<8|s;u=t^q>>>4&1048575;v=u&8191;w=c[g+(v<<2)>>2]|0;x=w>>>12;c:do if((x|0)==1048575)y=10;else{z=v;A=x;B=w;while(1){if((A|0)==(t|0))break;z=z+1&8191;C=c[g+(z<<2)>>2]|0;A=C>>>12;if((A|0)==1048575){y=10;break c}else B=C}D=B&4095}while(0);do if((y|0)==10){y=0;if(!(pl(a,q)|0)){y=11;break b}w=c[i>>2]|0;if((w|0)>4094){if(!(pl(a,c[l>>2]|0)|0)){y=14;break b}c[i>>2]=(c[m>>2]|0)+1;x=(c[n>>2]|0)+1|0;c[o>>2]=x;c[p>>2]=1<<x;Yu(g|0,-1,32768)|0;D=s;break}c[i>>2]=w+1;x=u;while(1){v=x&8191;E=g+(v<<2)|0;if((c[E>>2]|0)>>>0<4294963200)x=v+1|0;else break}c[E>>2]=w&4095|t<<12;D=s}while(0);if((r|0)>=(e|0)){F=D;break a}else q=D}if((y|0)==11){c[a+64>>2]=8;G=0;return G|0}else if((y|0)==14){c[a+64>>2]=8;G=0;return G|0}}else F=k;while(0);c[h>>2]=F;if(c[f+52>>2]|0){G=1;return G|0}if(!(pl(a,F)|0)){c[a+64>>2]=8;G=0;return G|0}if(!(pl(a,c[f+16>>2]|0)|0)){c[a+64>>2]=8;G=0;return G|0}if(pl(a,4096)|0){G=1;return G|0}c[a+64>>2]=8;G=0;return G|0}function rl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;d=Fa;Fa=Fa+16|0;e=d;f=b+20|0;if(!(nl(b,c[b>>2]|0,c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0,c[f>>2]|0)|0)){g=0;Fa=d;return g|0}h=b+24|0;a:do if((c[h>>2]|0)>0){i=b+52|0;j=b+72|0;k=e+1|0;l=b+36|0;m=0;b:while(1){n=c[i>>2]|0;o=c[n+(m*36|0)+12>>2]|0;p=c[n+(m*36|0)+8>>2]|0;q=n+(m*36|0)+24|0;c:do if(c[q>>2]|0){r=c[n+(m*36|0)+32>>2]|0;s=c[n+(m*36|0)+28>>2]|0;if((r|0)!=0&(s|0)>0){t=s+-1|0;u=0;do{v=r+(u*12|0)|0;w=c[r+(u*12|0)+8>>2]|0;if(w|0){x=c[j>>2]|0;if(!(c[x>>2]&1)){y=13;break b}a[e>>0]=33;a[k>>0]=w;w=c[x+64>>2]|0;if(!w)ku(e,1,2,c[x+56>>2]|0)|0;else La[w&7](b,e,2)|0}w=c[v>>2]|0;x=c[r+(u*12|0)+4>>2]|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=21;break b}a[e>>0]=w;A=c[z+64>>2]|0;if(!A)pu(w<<24>>24,c[z+56>>2]|0)|0;else La[A&7](b,e,1)|0;A=c[j>>2]|0;z=c[A+64>>2]|0;if(!z)ku(x,1,w,c[A+56>>2]|0)|0;else La[z&7](b,x,w)|0;if(!((u|0)!=(t|0)?!(c[v+12+8>>2]|0):0)){v=c[j>>2]|0;if(!(c[v>>2]&1)){y=29;break b}a[e>>0]=0;w=c[v+64>>2]|0;if(!w)pu(0,c[v+56>>2]|0)|0;else La[w&7](b,e,1)|0}u=u+1|0}while((u|0)<(s|0))}s=n+(m*36|0)+16|0;if(!(ol(b,c[n+(m*36|0)>>2]|0,c[n+(m*36|0)+4>>2]|0,p,o,(a[s>>0]|0)!=0,c[n+(m*36|0)+20>>2]|0)|0)){g=0;y=118;break b}if(!(a[s>>0]|0)){if((o|0)<=0)break;if(!p){s=0;while(1){u=c[q>>2]|0;t=c[j>>2]|0;if(!(c[t>>2]&1)){y=70;break b}r=c[l>>2]|0;w=t+52|0;v=c[w>>2]|0;if(v>>>0<r>>>0){y=72;break b}c[w>>2]=v-r;v=a[60920+(c[t+8>>2]|0)>>0]|0;if((r|0)>0){t=0;do{w=u+t|0;a[w>>0]=a[w>>0]&v;t=t+1|0}while((t|0)!=(r|0))}s=s+1|0;if(!(ql(b,u,r)|0)){g=0;y=118;break b}if((s|0)>=(o|0))break c}}else{s=(p|0)>0;t=0;while(1){v=(c[q>>2]|0)+(B(t,p)|0)|0;w=c[j>>2]|0;if(!(c[w>>2]&1)){y=70;break b}x=w+52|0;z=c[x>>2]|0;if(z>>>0<p>>>0){y=72;break b}c[x>>2]=z-p;z=a[60920+(c[w+8>>2]|0)>>0]|0;if(s){w=0;do{x=v+w|0;a[x>>0]=a[x>>0]&z;w=w+1|0}while((w|0)!=(p|0))}t=t+1|0;if(!(ql(b,v,p)|0)){g=0;y=118;break b}if((t|0)>=(o|0))break c}}}t=(o|0)>0;if(!p){if(!t)break;s=0;do{w=c[q>>2]|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=48;break b}r=c[l>>2]|0;u=z+52|0;x=c[u>>2]|0;if(x>>>0<r>>>0){y=50;break b}c[u>>2]=x-r;x=a[60920+(c[z+8>>2]|0)>>0]|0;if((r|0)>0){z=0;do{u=w+z|0;a[u>>0]=a[u>>0]&x;z=z+1|0}while((z|0)!=(r|0))}if(!(ql(b,w,r)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0));if((o|0)>4){s=4;do{z=c[q>>2]|0;x=c[j>>2]|0;if(!(c[x>>2]&1)){y=48;break b}v=c[l>>2]|0;u=x+52|0;A=c[u>>2]|0;if(A>>>0<v>>>0){y=50;break b}c[u>>2]=A-v;A=a[60920+(c[x+8>>2]|0)>>0]|0;if((v|0)>0){x=0;do{u=z+x|0;a[u>>0]=a[u>>0]&A;x=x+1|0}while((x|0)!=(v|0))}if(!(ql(b,z,v)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0))}if((o|0)>2){s=2;do{x=c[q>>2]|0;A=c[j>>2]|0;if(!(c[A>>2]&1)){y=48;break b}r=c[l>>2]|0;w=A+52|0;u=c[w>>2]|0;if(u>>>0<r>>>0){y=50;break b}c[w>>2]=u-r;u=a[60920+(c[A+8>>2]|0)>>0]|0;if((r|0)>0){A=0;do{w=x+A|0;a[w>>0]=a[w>>0]&u;A=A+1|0}while((A|0)!=(r|0))}if(!(ql(b,x,r)|0)){g=0;y=118;break b}s=s+4|0}while((s|0)<(o|0))}if((o|0)<=1)break;s=1;do{A=c[q>>2]|0;u=c[j>>2]|0;if(!(c[u>>2]&1)){y=48;break b}v=c[l>>2]|0;z=u+52|0;w=c[z>>2]|0;if(w>>>0<v>>>0){y=50;break b}c[z>>2]=w-v;w=a[60920+(c[u+8>>2]|0)>>0]|0;if((v|0)>0){u=0;do{z=A+u|0;a[z>>0]=a[z>>0]&w;u=u+1|0}while((u|0)!=(v|0))}if(!(ql(b,A,v)|0)){g=0;y=118;break b}s=s+2|0}while((s|0)<(o|0))}else{if(!t)break;s=(p|0)>0;u=0;do{w=(c[q>>2]|0)+(B(u,p)|0)|0;r=c[j>>2]|0;if(!(c[r>>2]&1)){y=48;break b}x=r+52|0;z=c[x>>2]|0;if(z>>>0<p>>>0){y=50;break b}c[x>>2]=z-p;z=a[60920+(c[r+8>>2]|0)>>0]|0;if(s){r=0;do{x=w+r|0;a[x>>0]=a[x>>0]&z;r=r+1|0}while((r|0)!=(p|0))}if(!(ql(b,w,p)|0)){g=0;y=118;break b}u=u+8|0}while((u|0)<(o|0));if((o|0)>4){u=(p|0)>0;s=4;do{t=(c[q>>2]|0)+(B(s,p)|0)|0;r=c[j>>2]|0;if(!(c[r>>2]&1)){y=48;break b}z=r+52|0;v=c[z>>2]|0;if(v>>>0<p>>>0){y=50;break b}c[z>>2]=v-p;v=a[60920+(c[r+8>>2]|0)>>0]|0;if(u){r=0;do{z=t+r|0;a[z>>0]=a[z>>0]&v;r=r+1|0}while((r|0)!=(p|0))}if(!(ql(b,t,p)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0))}if((o|0)>2){s=(p|0)>0;u=2;do{r=(c[q>>2]|0)+(B(u,p)|0)|0;v=c[j>>2]|0;if(!(c[v>>2]&1)){y=48;break b}w=v+52|0;z=c[w>>2]|0;if(z>>>0<p>>>0){y=50;break b}c[w>>2]=z-p;z=a[60920+(c[v+8>>2]|0)>>0]|0;if(s){v=0;do{w=r+v|0;a[w>>0]=a[w>>0]&z;v=v+1|0}while((v|0)!=(p|0))}if(!(ql(b,r,p)|0)){g=0;y=118;break b}u=u+4|0}while((u|0)<(o|0))}if((o|0)<=1)break;u=(p|0)>0;s=1;do{v=(c[q>>2]|0)+(B(s,p)|0)|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=48;break b}t=z+52|0;w=c[t>>2]|0;if(w>>>0<p>>>0){y=50;break b}c[t>>2]=w-p;w=a[60920+(c[z+8>>2]|0)>>0]|0;if(u){z=0;do{t=v+z|0;a[t>>0]=a[t>>0]&w;z=z+1|0}while((z|0)!=(p|0))}if(!(ql(b,v,p)|0)){g=0;y=118;break b}s=s+2|0}while((s|0)<(o|0))}}while(0);m=m+1|0;if((m|0)>=(c[h>>2]|0))break a}if((y|0)==13){c[b+64>>2]=10;g=0;Fa=d;return g|0}else if((y|0)==21){c[b+64>>2]=10;g=0;Fa=d;return g|0}else if((y|0)==29){c[b+64>>2]=10;g=0;Fa=d;return g|0}else if((y|0)==48){c[b+64>>2]=10;g=0;Fa=d;return g|0}else if((y|0)==50){c[b+64>>2]=6;g=0;Fa=d;return g|0}else if((y|0)==70){c[b+64>>2]=10;g=0;Fa=d;return g|0}else if((y|0)==72){c[b+64>>2]=6;g=0;Fa=d;return g|0}else if((y|0)==118){Fa=d;return g|0}}while(0);h=c[b+60>>2]|0;m=c[b+56>>2]|0;d:do if((h|0)!=0&(m|0)>0){j=m+-1|0;l=b+72|0;k=e+1|0;i=0;while(1){o=h+(i*12|0)|0;p=c[h+(i*12|0)+8>>2]|0;if(p|0){q=c[l>>2]|0;if(!(c[q>>2]&1)){y=87;break}a[e>>0]=33;a[k>>0]=p;p=c[q+64>>2]|0;if(!p)ku(e,1,2,c[q+56>>2]|0)|0;else La[p&7](b,e,2)|0}p=c[o>>2]|0;q=c[h+(i*12|0)+4>>2]|0;n=c[l>>2]|0;if(!(c[n>>2]&1)){y=95;break}a[e>>0]=p;s=c[n+64>>2]|0;if(!s)pu(p<<24>>24,c[n+56>>2]|0)|0;else La[s&7](b,e,1)|0;s=c[l>>2]|0;n=c[s+64>>2]|0;if(!n)ku(q,1,p,c[s+56>>2]|0)|0;else La[n&7](b,q,p)|0;if(!((i|0)!=(j|0)?!(c[o+12+8>>2]|0):0)){o=c[l>>2]|0;if(!(c[o>>2]&1)){y=103;break}a[e>>0]=0;p=c[o+64>>2]|0;if(!p)pu(0,c[o+56>>2]|0)|0;else La[p&7](b,e,1)|0}i=i+1|0;if((i|0)>=(m|0)){C=l;break d}}if((y|0)==87){c[b+64>>2]=10;g=0;Fa=d;return g|0}else if((y|0)==95){c[b+64>>2]=10;g=0;Fa=d;return g|0}else if((y|0)==103){c[b+64>>2]=10;g=0;Fa=d;return g|0}}else C=b+72|0;while(0);y=c[C>>2]|0;do if(y|0?c[y>>2]&1|0:0){C=c[y+56>>2]|0;a[e>>0]=59;m=c[y+64>>2]|0;if(!m)pu(59,C)|0;else La[m&7](b,e,1)|0;m=b+48|0;if(c[m>>2]|0)c[m>>2]=0;if(c[f>>2]|0)c[f>>2]=0;if(C|0?Pt(C)|0:0)break;g=1;Fa=d;return g|0}while(0);g=0;Fa=d;return g|0}function sl(a){a=a|0;var b=0;b=1;while(1)if(b>>>0<9&(1<<b|0)<(a|0))b=b+1|0;else break;return b|0}function tl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=b+52|0;f=c[e>>2]|0;a:do if(!f){c[525052]=(c[525052]|0)+36;g=Yr(36,1)|0;h=c[525051]|0;c[1433520+(h<<2)>>2]=g;c[525051]=h+1;i=g}else{g=((c[b+24>>2]|0)*36|0)+36|0;h=c[525051]|0;b:do if((h|0)>0){j=0;while(1){k=1433520+(j<<2)|0;if((c[k>>2]|0)==(f|0))break;j=j+1|0;if((j|0)>=(h|0))break b}j=Zr(f,g)|0;c[k>>2]=j;i=j;break a}while(0);i=Zr(f,g)|0}while(0);c[e>>2]=i;if(!i){l=0;return l|0}f=b+24|0;b=c[f>>2]|0;c[f>>2]=b+1;k=i+(b*36|0)|0;h=k;j=h+36|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));if(!d){l=k;return l|0}h=k;m=d;j=h+36|0;do{a[h>>0]=a[m>>0]|0;h=h+1|0;m=m+1|0}while((h|0)<(j|0));m=i+(b*36|0)+20|0;if(c[m>>2]|0?(h=c[d+20>>2]|0,j=jl(c[h>>2]|0,c[h+12>>2]|0)|0,c[m>>2]=j,(j|0)==0):0){j=c[e>>2]|0;if(!j){l=0;return l|0}m=(c[f>>2]|0)+-1|0;c[f>>2]=m;h=j+(m*36|0)+20|0;if(c[h>>2]|0)c[h>>2]=0;h=j+(m*36|0)+32|0;if(!(c[h>>2]|0)){l=0;return l|0}c[h>>2]=0;c[j+(m*36|0)+28>>2]=0;l=0;return l|0}m=d+12|0;j=d+8|0;h=B(c[j>>2]|0,c[m>>2]|0)|0;n=(c[525052]|0)+h|0;c[525052]=n;o=Yr(h,1)|0;h=c[525051]|0;c[1433520+(h<<2)>>2]=o;p=h+1|0;c[525051]=p;c[i+(b*36|0)+24>>2]=o;if(!o){q=c[e>>2]|0;if(!q){l=0;return l|0}r=(c[f>>2]|0)+-1|0;c[f>>2]=r;s=q+(r*36|0)+20|0;if(c[s>>2]|0)c[s>>2]=0;s=q+(r*36|0)+32|0;if(!(c[s>>2]|0)){l=0;return l|0}c[s>>2]=0;c[q+(r*36|0)+28>>2]=0;l=0;return l|0}Xu(o|0,c[d+24>>2]|0,B(c[j>>2]|0,c[m>>2]|0)|0)|0;m=i+(b*36|0)+32|0;if(!(c[m>>2]|0)){l=k;return l|0}b=d+28|0;i=(c[b>>2]|0)*12|0;c[525052]=i+n;n=Yr(i,1)|0;c[1433520+(p<<2)>>2]=n;c[525051]=h+2;c[m>>2]=n;if(n|0){Xu(n|0,c[d+32>>2]|0,(c[b>>2]|0)*12|0)|0;l=k;return l|0}k=c[e>>2]|0;if(!k){l=0;return l|0}e=(c[f>>2]|0)+-1|0;c[f>>2]=e;f=k+(e*36|0)+20|0;if(c[f>>2]|0)c[f>>2]=0;f=k+(e*36|0)+32|0;if(!(c[f>>2]|0)){l=0;return l|0}c[f>>2]=0;c[k+(e*36|0)+28>>2]=0;l=0;return l|0}function ul(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=Fa;Fa=Fa+1632|0;d=b+1616|0;e=b+1608|0;f=b+1600|0;g=b+1592|0;h=b+1584|0;i=b+1576|0;j=b+1568|0;k=b+1560|0;l=b+1552|0;m=b+528|0;n=b;c[759981]=0;Yu(n|0,0,521)|0;if((c[742422]|0)!=1|(c[742428]|0)==0|(a[2964308]|0)==0){o=0;Fa=b;return o|0}if((ft(2964308)|0)>>>0>64){o=0;Fa=b;return o|0}c[l>>2]=2962124;c[l+4>>2]=2964308;vs(m,60929,l)|0;l=Yn(m,71945)|0;if(!l){o=1;Fa=b;return o|0}m=0;do{p=m*65|0;q=m<<3;r=n+(p+64)|0;c[k>>2]=c[2965332+(q<<2)>>2];vs(n+p|0,60942,k)|0;a[r>>0]=10;c[j>>2]=c[2965332+((q|1)<<2)>>2];vs(n+(p+8)|0,60942,j)|0;a[r>>0]=10;c[i>>2]=c[2965332+((q|2)<<2)>>2];vs(n+(p+16)|0,60942,i)|0;a[r>>0]=10;c[h>>2]=c[2965332+((q|3)<<2)>>2];vs(n+(p+24)|0,60942,h)|0;a[r>>0]=10;c[g>>2]=c[2965332+((q|4)<<2)>>2];vs(n+(p+32)|0,60942,g)|0;a[r>>0]=10;c[f>>2]=c[2965332+((q|5)<<2)>>2];vs(n+(p+40)|0,60942,f)|0;a[r>>0]=10;c[e>>2]=c[2965332+((q|6)<<2)>>2];vs(n+(p+48)|0,60942,e)|0;a[r>>0]=10;c[d>>2]=c[2965332+((q|7)<<2)>>2];vs(n+(p+56)|0,60942,d)|0;a[r>>0]=10;m=m+1|0}while((m|0)!=8);Qn(n,1,520,l)|0;Zn(l);o=0;Fa=b;return o|0}function vl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Fa;Fa=Fa+2592|0;e=d+2584|0;f=d+2576|0;g=d+1552|0;h=d+528|0;i=d;if(!b){j=3;Fa=d;return j|0}if(!((c[742422]|0)==1&(c[742428]|0)!=0)){j=1;Fa=d;return j|0}if(a[2964308]|0){yb(60947)|0;j=2;Fa=d;return j|0}k=a[b>>0]|0;if(k<<24>>24?(l=ft(b)|0,l>>>0<=64):0){a:do if(l|0){m=0;n=k;b:while(1){o=n<<24>>24;if(!((o+-97|0)>>>0<26|(o+-48|0)>>>0<10))switch(o|0){case 45:case 95:break;default:break b}o=m+1|0;if(o>>>0>=l>>>0)break a;m=o;n=a[b+o>>0]|0}yb(61004)|0;j=2;Fa=d;return j|0}while(0);Lm(2964308,b)|0;Yu(2965332,0,256)|0;c[f>>2]=2962124;c[f+4>>2]=2964308;vs(g,60929,f)|0;f=Yn(g,63774)|0;if(!f){j=1;Fa=d;return j|0}Ep(h,0,1024);On(h,1,1024,f)|0;Zn(f);Ep(i,0,513);f=0;g=0;while(1){b=a[h+g>>0]|0;if((b+-48&255)<10)p=19;else switch(b<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:{p=19;break}default:q=f}if((p|0)==19){p=0;a[i+f>>0]=b;q=f+1|0}g=g+1|0;if(!(g>>>0<1024&(q|0)<512))break;else f=q}q=0;do{c[e>>2]=2965332+(q<<2);Vt(i+(q<<3)|0,60942,e)|0;q=q+1|0}while((q|0)!=64);j=0;Fa=d;return j|0}yb(60982)|0;j=2;Fa=d;return j|0}function wl(a){a=a|0;return}function xl(){var a=0,b=0,d=0;c[525053]=0;c[525054]=0;a=1662320;b=1662256;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function yl(){var a=0,b=0,d=0;if((c[525053]|0)>=13)return;a=1662256;b=1662320;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function zl(a){a=a|0;var b=0,d=0,e=0;b=(a|0)==27;if(b&(c[525053]|0)<13){a=1662256;d=1662320;e=a+64|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));Al(c[704852]|0)}if(b)c[760315]=0;if((c[525053]|0)<=12)return;c[760315]=0;c[742551]=120;return}function Al(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Fa;Fa=Fa+16|0;e=d+8|0;f=d;$m(b,0,0,127,127,1);$m(b,4,41,123,124,6);$m(b,0,0,127,6,7);Ln(b,61027,c[704871]|0,6,1,1,12)|0;g=c[c[704870]>>2]|0;h=c[525053]|0;i=c[((h|0)==13?g+672|0:(h|0)==12?g+700|0:g+(((h|0)%6|0)+169<<2)|0)>>2]|0;bn(i,b,0,0,6,8,c[i>>2]|0,c[i+4>>2]|0);i=c[704871]|0;if((c[525053]|0)>12){Ln(b,61045,i,60,12,1,11)|0;Ln(b,61059,c[704871]|0,60,22,1,12)|0;Ln(b,61072,c[704871]|0,60,29,1,12)|0}else{Ln(b,61084,i,60,12,1,6)|0;Ln(b,c[2320+(c[525053]<<2)>>2]|0,c[704871]|0,60,19,1,7)|0;Ln(b,61099,c[704871]|0,60,26,1,13)|0;Ln(b,61115,c[704871]|0,60,33,1,13)|0}i=0;h=44;while(1){g=c[1662256+(i<<2)>>2]|0;j=c[2320+(i<<2)>>2]|0;if(!g){k=c[2384+(i<<2)>>2]|0;c[f>>2]=j;c[f+4>>2]=k;vs(1509584,61129,f)|0}else{k=(g|0)<255?g:255;g=Rq((k|0)>0?k:0)|0;c[e>>2]=j;c[e+4>>2]=g;vs(1509584,61129,e)|0}g=a[1509584]|0;if(g<<24>>24){j=1509584;k=g;do{if((k+-65&255)<26)a[j>>0]=(k&255)+32;j=j+1|0;k=a[j>>0]|0}while(k<<24>>24!=0)}if((i|0)==(c[525053]|0)){$m(b,7,h+-1|0,120,h+5|0,14);l=1}else l=5;Ln(b,1509584,c[704871]|0,10,h,1,l)|0;i=i+1|0;if((i|0)==13)break;else h=h+6|0}Fa=d;return}function Bl(){var a=0,b=0,d=0;if(!(c[525054]|0)){c[525054]=1;a=0;do{if(An(a)|0)c[525054]=0;a=a+1|0}while((a|0)!=512);if((c[525053]|0)<=12)return;c[525054]=0;return}a=0;do{if(An(a)|0){switch(a&2147483647|0){case 42:case 76:{b=0;break}default:b=a}d=c[525053]|0;c[1662256+(d<<2)>>2]=b;c[525054]=0;c[525053]=d+1;if((d|0)>11?xn()|0:0)do yn()|0;while((xn()|0)!=0)}a=a+1|0}while((a|0)!=512);return}function Cl(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=Fa;Fa=Fa+16|0;j=i;if(e>>>0>6){Fa=i;return}if(!(Gk(e,f)|0))k=(Ek(e,f)|0)>128&1;else k=1;bn(c[(c[c[704870]>>2]|0)+(k+247<<2)>>2]|0,b,0,0,g,h,7,7);a[j>>0]=(d[61352+e>>0]|0)+31;a[j+1>>0]=0;Ln(b,j,c[704871]|0,g,k+h|0,1,7)|0;Fa=i;return}function Dl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;d=Fa;Fa=Fa+1056|0;e=d+1024|0;f=d+1040|0;g=d+1036|0;h=d+1032|0;i=d;fr(g,h,d+1028|0);j=c[(c[c[704870]>>2]|0)+984>>2]|0;k=j+4|0;l=(c[j>>2]|0)/2|0;m=64-l|0;n=(c[k>>2]|0)/2|0;o=64-n|0;ek(b,63-l|0,63-n|0,l+64|0,n+64|0,1);gn(b,m,o,l+63|0,n+63|0,7);bn(j,b,0,0,m,o,c[j>>2]|0,c[k>>2]|0);Yu(i|0,0,1024)|0;k=i;c[k>>2]=1936880995;c[k+4>>2]=7565935;k=i+256|0;j=k;c[j>>2]=796401786;c[j+4>>2]=7741539;j=i+512|0;n=j;c[n>>2]=543563891;c[n+4>>2]=6561893;n=i+768|0;l=n;c[l>>2]=543318388;c[l+4>>2]=7807089;l=c[415564]|0;a:do if(!((c[415564]|c[415565]|c[415566]|c[415567]|0)==0|(l|0)==80&(c[415565]|0)==79&(c[415566]|0)==82&(c[415567]|0)==81)){p=i;c[p>>2]=538976288;c[p+4>>2]=2105376;p=0;q=l;while(1){if(q|0){r=(q|0)<255?q:255;s=Rq((r|0)>0?r:0)|0;if((s|0)!=0?(ft(s)|0)==1:0){r=a[s>>0]|0;s=r<<24>>24;t=(r+-65&255)<26?s+32|0:s}else t=16;a[i+(p<<1)>>0]=t}s=p+1|0;if((s|0)==4)break a;p=s;q=c[1662256+(s<<2)>>2]|0}}while(0);if(c[415568]|c[415569]|0){t=k;c[t>>2]=538976288;c[t+4>>2]=2105376;t=c[415568]|0;if(t|0){l=(t|0)<255?t:255;t=Rq((l|0)>0?l:0)|0;if((t|0)!=0?(ft(t)|0)==1:0){l=a[t>>0]|0;t=l<<24>>24;u=(l+-65&255)<26?t+32|0:t}else u=16;a[i+256>>0]=u}u=c[415569]|0;if(u|0){t=(u|0)<255?u:255;u=Rq((t|0)>0?t:0)|0;if((u|0)!=0?(ft(u)|0)==1:0){t=a[u>>0]|0;u=t<<24>>24;v=(t+-65&255)<26?u+32|0:u}else v=16;a[i+258>>0]=v}}if(c[415570]|c[415571]|c[415572]|c[415573]|0){v=j;c[v>>2]=538976288;c[v+4>>2]=2105376;v=c[415570]|0;if(v|0){u=(v|0)<255?v:255;v=Rq((u|0)>0?u:0)|0;if((v|0)!=0?(ft(v)|0)==1:0){u=a[v>>0]|0;v=u<<24>>24;w=(u+-65&255)<26?v+32|0:v}else w=16;a[i+512>>0]=w}w=c[415571]|0;if(w|0){v=(w|0)<255?w:255;w=Rq((v|0)>0?v:0)|0;if((w|0)!=0?(ft(w)|0)==1:0){v=a[w>>0]|0;w=v<<24>>24;x=(v+-65&255)<26?w+32|0:w}else x=16;a[i+514>>0]=x}x=c[415572]|0;if(x|0){w=(x|0)<255?x:255;x=Rq((w|0)>0?w:0)|0;if((x|0)!=0?(ft(x)|0)==1:0){w=a[x>>0]|0;x=w<<24>>24;y=((w+-65&255)<26?x+32|0:x)&255}else y=16;a[i+516>>0]=y}y=c[415573]|0;if(y|0){x=(y|0)<255?y:255;y=Rq((x|0)>0?x:0)|0;if((y|0)!=0?(ft(y)|0)==1:0){x=a[y>>0]|0;y=x<<24>>24;z=((x+-65&255)<26?y+32|0:y)&255}else z=16;a[i+518>>0]=z}}if(c[415574]|c[415575]|0){z=n;c[z>>2]=538976288;c[z+4>>2]=2105376;z=c[415574]|0;if(z|0){y=(z|0)<255?z:255;z=Rq((y|0)>0?y:0)|0;if((z|0)!=0?(ft(z)|0)==1:0){y=a[z>>0]|0;z=y<<24>>24;A=((y+-65&255)<26?z+32|0:z)&255}else A=16;a[i+768>>0]=A}A=c[415575]|0;if(A|0){z=(A|0)<255?A:255;A=Rq((z|0)>0?z:0)|0;if((A|0)!=0?(ft(A)|0)==1:0){z=a[A>>0]|0;A=z<<24>>24;B=((z+-65&255)<26?A+32|0:A)&255}else B=16;a[i+770>>0]=B}}B=c[704871]|0;Ln(b,i,B,90-((ft(i)|0)<<1)|0,34,1,13)|0;i=c[704871]|0;Ln(b,k,i,90-((ft(k)|0)<<1)|0,44,1,13)|0;k=c[704871]|0;Ln(b,j,k,90-((ft(j)|0)<<1)|0,61,1,13)|0;j=c[704871]|0;Ln(b,n,j,90-((ft(n)|0)<<1)|0,72,1,13)|0;n=m+18|0;j=o+14|0;Cl(b,0,0,n,j);k=m+26|0;Cl(b,1,0,k,j);i=m+34|0;Cl(b,2,0,i,j);B=m+42|0;Cl(b,3,0,B,j);j=o+25|0;if(!(Gk(4,0)|0))C=(Ek(4,0)|0)>128&1;else C=1;bn(c[(c[c[704870]>>2]|0)+(C+247<<2)>>2]|0,b,0,0,n,j,7,7);a[f>>0]=-114;A=f+1|0;a[A>>0]=0;Ln(b,f,c[704871]|0,n,C+j|0,1,7)|0;C=m+26|0;if(!(Gk(5,0)|0))D=(Ek(5,0)|0)>128&1;else D=1;bn(c[(c[c[704870]>>2]|0)+(D+247<<2)>>2]|0,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;Ln(b,f,c[704871]|0,C,D+j|0,1,7)|0;j=o+41|0;Cl(b,0,1,n,j);Cl(b,1,1,k,j);Cl(b,2,1,i,j);Cl(b,3,1,B,j);j=o+52|0;if(!(Gk(4,1)|0))E=(Ek(4,1)|0)>128&1;else E=1;bn(c[(c[c[704870]>>2]|0)+(E+247<<2)>>2]|0,b,0,0,n,j,7,7);a[f>>0]=-114;a[A>>0]=0;Ln(b,f,c[704871]|0,n,E+j|0,1,7)|0;if(Gk(5,1)|0){F=1;G=c[704870]|0;H=c[G>>2]|0;I=F+247|0;J=H+(I<<2)|0;K=c[J>>2]|0;bn(K,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;L=c[704871]|0;M=F+j|0;Ln(b,f,L,C,M,1,7)|0;N=c[515632]|0;c[e>>2]=N;vs(1509584,61359,e)|0;O=c[704871]|0;P=m+5|0;Q=o+80|0;Ln(b,1509584,O,P,Q,1,13)|0;R=c[704870]|0;S=c[R>>2]|0;T=S+356|0;U=c[T>>2]|0;V=c[g>>2]|0;W=c[U>>2]|0;X=(W|0)/2|0;Y=V-X|0;Z=c[h>>2]|0;_=U+4|0;$=c[_>>2]|0;aa=($|0)/2|0;ba=Z-aa|0;bn(U,b,0,0,Y,ba,W,$);Fa=d;return}F=(Ek(5,1)|0)>128&1;G=c[704870]|0;H=c[G>>2]|0;I=F+247|0;J=H+(I<<2)|0;K=c[J>>2]|0;bn(K,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;L=c[704871]|0;M=F+j|0;Ln(b,f,L,C,M,1,7)|0;N=c[515632]|0;c[e>>2]=N;vs(1509584,61359,e)|0;O=c[704871]|0;P=m+5|0;Q=o+80|0;Ln(b,1509584,O,P,Q,1,13)|0;R=c[704870]|0;S=c[R>>2]|0;T=S+356|0;U=c[T>>2]|0;V=c[g>>2]|0;W=c[U>>2]|0;X=(W|0)/2|0;Y=V-X|0;Z=c[h>>2]|0;_=U+4|0;$=c[_>>2]|0;aa=($|0)/2|0;ba=Z-aa|0;bn(U,b,0,0,Y,ba,W,$);Fa=d;return}function El(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=a[b>>0]|0;if(!(c<<24>>24))return;d=c;while(1){c=b+((ft(b)|0)+-1)|0;if((a[c>>0]|0)!=32)break;a[c>>0]=0;c=a[b>>0]|0;if(!(c<<24>>24)){e=15;break}else d=c}if((e|0)==15)return;c=b;f=d;do{if((f+-65&255)<26)a[c>>0]=(f&255)+32;c=c+1|0;f=a[c>>0]|0}while(f<<24>>24!=0);f=a[b>>0]|0;if(!(f<<24>>24))return;c=b;b=f;do{if(pb(b<<24>>24)|0){if((a[c>>0]|0)==124){g=95;e=13}}else{g=32;e=13}if((e|0)==13){e=0;a[c>>0]=g}c=c+1|0;b=a[c>>0]|0}while(b<<24>>24!=0);return}function Fl(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Fa;Fa=Fa+1056|0;b=a+1024|0;d=a;gr(62650,d);e=Jt(d,62624)|0;if(!e){Fa=a;return}d=c[367132]|0;if((d|0)>0){f=0;g=d;while(1){d=c[366865]|0;if((c[d+(f*692|0)+684>>2]|0)==1){h=c[d+(f*692|0)+644>>2]|0;c[b>>2]=d+(f*692|0)+388;c[b+4>>2]=d+(f*692|0)+516;c[b+8>>2]=h;c[b+12>>2]=d+(f*692|0)+132;c[b+16>>2]=d+(f*692|0)+260;c[b+20>>2]=d+(f*692|0)+4;bu(e,61386,b)|0;i=c[367132]|0}else i=g;f=f+1|0;if((f|0)>=(i|0))break;else g=i}}Pt(e)|0;Fa=a;return}function Gl(){var a=0,b=0;a=Fa;Fa=Fa+1024|0;b=a;gr(62650,b);Hl(1467456,b);Fa=a;return}function Hl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=Fa;Fa=Fa+528|0;f=e+520|0;g=e+512|0;h=e;i=Yn(d,71765)|0;if(!i){c[g>>2]=d;vs(1504976,61425,g)|0;Pm(1504976);Fa=e;return}a:do if(!(Wn(i)|0)){g=b+1072|0;d=b+4|0;j=h+1|0;k=0;do{if(k>>>0>=2048)break a;k=k+1|0;a[h>>0]=0;_n(h,511,i)|0;do if((a[h>>0]|0)==124){Jp(c[b>>2]|0,((c[g>>2]|0)*692|0)+692|0)|0;l=c[(c[b>>2]|0)+12>>2]|0;c[d>>2]=l;m=c[g>>2]|0;c[g>>2]=m+1;n=l+(m*692|0)|0;Yu(n|0,0,692)|0;m=n+684|0;c[m>>2]=1;l=j;b:while(1){switch(a[l>>0]|0){case 0:case 124:{break b;break}default:{}}l=l+1|0}a[l>>0]=0;o=n+388|0;Lm(o,j)|0;p=l+1|0;q=p;c:while(1){switch(a[q>>0]|0){case 0:case 124:{break c;break}default:{}}q=q+1|0}a[q>>0]=0;l=n+516|0;Lm(l,p)|0;r=q+1|0;s=r;d:while(1){switch(a[s>>0]|0){case 0:case 124:{break d;break}default:{}}s=s+1|0}a[s>>0]=0;c[f>>2]=n+644;Vt(r,63440,f)|0;q=s+1|0;p=q;e:while(1){switch(a[p>>0]|0){case 0:case 124:{break e;break}default:{}}p=p+1|0}a[p>>0]=0;Lm(n+132|0,q)|0;s=p+1|0;r=s;f:while(1){switch(a[r>>0]|0){case 0:case 124:{break f;break}default:{}}r=r+1|0}a[r>>0]=0;p=n+260|0;Lm(p,s)|0;q=r+1|0;t=q;g:while(1){switch(a[t>>0]|0){case 0:case 124:{break g;break}default:{}}t=t+1|0}a[t>>0]=0;Lm(n+4|0,q)|0;Il(n);r=Jl(b,o,p)|0;s=(c[g>>2]|0)+-1|0;if((r|0)!=(s|0)){c[g>>2]=s;break}if((c[m>>2]|0)==1)if((a[o>>0]|0)==0?(a[l>>0]|0)==0:0){s=(eu(p,61381)|0)==0;u=s?177:180}else u=176;else u=c[n>>2]|0;c[n>>2]=u}while(0)}while(!(Wn(i)|0))}while(0);Zn(i);Fa=e;return}function Il(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=b+388|0;a:do if(a[c>>0]|0)do{d=(ft(c)|0)+-1+(b+388)|0;if((a[d>>0]|0)!=32)break a;a[d>>0]=0}while((a[c>>0]|0)!=0);while(0);d=b+516|0;b:do if(a[d>>0]|0)do{e=(ft(d)|0)+-1+(b+516)|0;if((a[e>>0]|0)!=32)break b;a[e>>0]=0}while((a[d>>0]|0)!=0);while(0);e=b+260|0;c:do if(a[e>>0]|0)do{f=(ft(e)|0)+-1+(b+260)|0;if((a[f>>0]|0)!=32)break c;a[f>>0]=0}while((a[e>>0]|0)!=0);while(0);e=b+132|0;f=a[e>>0]|0;d:do if(f<<24>>24){g=f;while(1){h=(ft(e)|0)+-1+(b+132)|0;if((a[h>>0]|0)!=32)break;a[h>>0]=0;h=a[e>>0]|0;if(!(h<<24>>24))break d;else g=h}h=e;i=g;do{if((i+-65&255)<26)a[h>>0]=(i&255)+32;h=h+1|0;i=a[h>>0]|0}while(i<<24>>24!=0);i=a[e>>0]|0;if(i<<24>>24){h=e;g=i;do{if(!((g+-97&255)<26|(g+-48&255)<10))a[h>>0]=95;h=h+1|0;g=a[h>>0]|0}while(g<<24>>24!=0)}}while(0);if((ft(e)|0)>>>0>16)a[b+148>>0]=0;e=b+4|0;f=a[e>>0]|0;e:do if(f<<24>>24){g=f;while(1){h=(ft(e)|0)+-1+(b+4)|0;if((a[h>>0]|0)!=32)break;a[h>>0]=0;h=a[e>>0]|0;if(!(h<<24>>24))break e;else g=h}h=e;i=g;do{if((i+-65&255)<26)a[h>>0]=(i&255)+32;h=h+1|0;i=a[h>>0]|0}while(i<<24>>24!=0);i=a[e>>0]|0;if(i<<24>>24){h=e;g=i;do{if(pb(g<<24>>24)|0){if((a[h>>0]|0)==124){j=95;k=40}}else{j=32;k=40}if((k|0)==40){k=0;a[h>>0]=j}h=h+1|0;g=a[h>>0]|0}while(g<<24>>24!=0)}}while(0);if(!(Xs(c,64686)|0))a[c>>0]=0;if(Xs(d,64686)|0)return;a[d>>0]=0;return}function Jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+1072>>2]|0;if((f|0)<=0){g=-1;return g|0}h=c[b+4>>2]|0;b=(e|0)==0;if(!(a[d>>0]|0)){if(b){g=-1;return g|0}i=(a[e>>0]|0)==0;j=0;while(1){if(((!i?(a[h+(j*692|0)+388>>0]|0)==0:0)?(a[h+(j*692|0)+516>>0]|0)==0:0)?(Xs(e,h+(j*692|0)+260|0)|0)==0:0){g=j;k=18;break}j=j+1|0;if((j|0)>=(f|0)){g=-1;k=18;break}}if((k|0)==18)return g|0}j=0;while(1){i=h+(j*692|0)+388|0;if(!(Xs(i,d)|0)){g=j;k=18;break}if((((!b?a[e>>0]|0:0)?(a[i>>0]|0)==0:0)?(a[h+(j*692|0)+516>>0]|0)==0:0)?(Xs(e,h+(j*692|0)+260|0)|0)==0:0){g=j;k=18;break}j=j+1|0;if((j|0)>=(f|0)){g=-1;k=18;break}}if((k|0)==18)return g|0;return 0}function Kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Fa;Fa=Fa+2080|0;e=d+2064|0;f=d+2056|0;g=d+2048|0;h=d+1024|0;i=d;gr(61461,i);kr(i)|0;c[g>>2]=(a|0)/1e4|0;vs(h,61465,g)|0;gr(h,i);kr(i)|0;if(!b){c[e>>2]=i;c[e+4>>2]=a;vs(1485520,61487,e)|0;Fa=d;return 1485520}else{c[f>>2]=i;c[f+4>>2]=a;vs(1485520,61473,f)|0;Fa=d;return 1485520}return 0}function Ll(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Fa;Fa=Fa+1056|0;f=e+1040|0;g=e+1032|0;h=e+1024|0;i=e;j=e+1048|0;k=a[b>>0]|0;if(!(k<<24>>24)){a[1485520]=0;Fa=e;return 1485520}c[j>>2]=0;l=ft(b)|0;m=(k+-48&255)<10&1;if(l>>>0>1){k=m;n=1;while(1){o=((a[b+n>>0]|0)+-48&255)>9?0:k;p=n+1|0;if(p>>>0<l>>>0){k=o;n=p}else{q=o;r=p;break}}}else{q=m;r=1}c[j>>2]=r;if(q|0){c[j>>2]=0;c[h>>2]=j;Vt(b,63440,h)|0;Kl(c[j>>2]|0,d)|0;Fa=e;return 1485520}gr(61461,i);kr(i)|0;gr(61499,i);kr(i)|0;if(!d){c[f>>2]=i;c[f+4>>2]=b;vs(1485520,61524,f)|0;Fa=e;return 1485520}else{c[g>>2]=i;c[g+4>>2]=b;vs(1485520,61509,g)|0;Fa=e;return 1485520}return 0}function Ml(a){a=a|0;Ll(a,0)|0;return 1485520}function Nl(a){a=a|0;Ll(a,1)|0;return 1485520}function Ol(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Fa;Fa=Fa+16|0;f=e;if((ft(d)|0)>>>0<2){a[1486544]=0;Fa=e;return 1486544}else{g=c[415614]|0;c[f>>2]=b;c[f+4>>2]=g;c[f+8>>2]=d;vs(1486544,61537,f)|0;Fa=e;return 1486544}return 0}function Pl(a,b){a=a|0;b=b|0;return (Jl(1467456,a,b)|0)!=-1|0}function Ql(b){b=b|0;var d=0,e=0,f=0;if(!b){d=0;return d|0}if(!(a[b>>0]|0)){d=0;return d|0}if(!(eu(b,61381)|0)){e=Br(b)|0;if(!e){d=0;return d|0}f=e+44572|0;if(!(c[f>>2]|0)){d=0;return d|0}e=cn(128,128,8)|0;Oo(c[f>>2]|0,e,0,0,0,0,128,128);d=e;return d|0}e=ho(b)|0;if(!e){d=0;return d|0}if((c[e>>2]|0)!=160){d=0;return d|0}if((c[e+4>>2]|0)!=205){d=0;return d|0}b=cn(128,128,32)|0;f=cn(128,128,8)|0;Oo(e,b,16,24,0,0,128,128);lk(b,f,c[704831]|0);dn(e)|0;dn(b)|0;d=f;return d|0}function Rl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Fa;Fa=Fa+16|0;e=d;c[525055]=b;c[525056]=0;if((b|0)==1){Lm(1484980,61603)|0;f=c[525056]|0;c[1484976+(f*68|0)>>2]=1;g=f+1|0;c[525056]=g;Lm(1484976+(g*68|0)+4|0,61612)|0;g=c[525056]|0;c[1484976+(g*68|0)>>2]=5;f=g+1|0;c[525056]=f;g=1484976+(f*68|0)+4|0;if(1==1)Lm(g,61620)|0;else Lm(g,61643)|0;g=c[525056]|0;c[1484976+(g*68|0)>>2]=3;f=g+1|0;c[525056]=f;g=1467456;h=c[367133]|0;do if((h|0)>=0?(c[367132]|0)>(h|0):0)if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+684>>2]|0)==1){if((c[367132]|0)<=(h|0)){Yu(2100920,0,692)|0;i=f;break}if(a[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+388>>0]|0){if((c[367132]|0)>(h|0))j=(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)|0;else{Yu(2100920,0,692)|0;j=2100920}c[e>>2]=j+132;vs(1509584,61653,e)|0;Lm(1484976+((c[525056]|0)*68|0)+4|0,1509584)|0;k=c[525056]|0;c[1484976+(k*68|0)>>2]=19;l=k+1|0;c[525056]=l;Lm(1484976+(l*68|0)+4|0,61666)|0;l=c[525056]|0;c[1484976+(l*68|0)>>2]=20;k=l+1|0;c[525056]=k;Lm(1484976+(k*68|0)+4|0,61680)|0;k=c[525056]|0;c[1484976+(k*68|0)>>2]=21;l=k+1|0;c[525056]=l;Lm(1484976+(l*68|0)+4|0,61698)|0;l=c[525056]|0;c[1484976+(l*68|0)>>2]=18;k=l+1|0;c[525056]=k;i=k}else i=f}else i=f;else m=7;while(0);if((m|0)==7){Yu(2100920,0,692)|0;i=f}Lm(1484976+(i*68|0)+4|0,61721)|0;i=c[525056]|0;c[1484976+(i*68|0)>>2]=6;f=i+1|0;c[525056]=f;n=c[525055]|0;o=f}else{n=b;o=0}if((n|0)==4){Lm(1484976+(o*68|0)+4|0,61728)|0;b=c[525056]|0;c[1484976+(b*68|0)>>2]=16;f=b+1|0;c[525056]=f;Lm(1484976+(f*68|0)+4|0,61738)|0;f=c[525056]|0;c[1484976+(f*68|0)>>2]=17;b=f+1|0;c[525056]=b;Lm(1484976+(b*68|0)+4|0,61750)|0;b=c[525056]|0;c[1484976+(b*68|0)>>2]=18;f=b+1|0;c[525056]=f;Lm(1484976+(f*68|0)+4|0,61766)|0;f=c[525056]|0;c[1484976+(f*68|0)>>2]=6;b=f+1|0;c[525056]=b;p=c[525055]|0;q=b}else{p=n;q=o}if((p|0)!=5){Fa=d;return}Lm(1484976+(q*68|0)+4|0,61771)|0;q=c[525056]|0;c[1484976+(q*68|0)>>2]=32;p=q+1|0;c[525056]=p;Lm(1484976+(p*68|0)+4|0,61778)|0;p=c[525056]|0;c[1484976+(p*68|0)>>2]=33;q=p+1|0;c[525056]=q;Lm(1484976+(q*68|0)+4|0,61789)|0;q=c[525056]|0;c[1484976+(q*68|0)>>2]=34;p=q+1|0;c[525056]=p;Lm(1484976+(p*68|0)+4|0,61766)|0;p=c[525056]|0;c[1484976+(p*68|0)>>2]=6;c[525056]=p+1;Fa=d;return}function Sl(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=Fa;Fa=Fa+2064|0;d=b+2048|0;e=b+1024|0;f=b;g=1467456;h=c[367133]|0;do if((h|0)<0)Yu(2100920,0,692)|0;else{if((c[367132]|0)<=(h|0)){Yu(2100920,0,692)|0;break}if(!((c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)|0)){Fa=b;return}if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+684>>2]|0)!=1){Fa=b;return}if((c[367132]|0)>(h|0)){i=(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)|0;j=(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+388|0}else{Yu(2100920,0,692)|0;i=2100920;j=2101308}k=Wl(j,i+260|0)|0;if(k|0){l=c[367133]|0;if((l|0)>=0?(c[367132]|0)>(l|0):0)m=(c[(c[366864]|0)+12>>2]|0)+(l*692|0)|0;else{Yu(2100920,0,692)|0;m=2100920}Xu(k|0,m|0,692)|0;l=k+648|0;c[l>>2]=cn(128,128,8)|0;n=1467456;o=c[367133]|0;if((o|0)>=0?(c[367132]|0)>(o|0):0){if(c[(c[(c[n>>2]|0)+12>>2]|0)+(o*692|0)+648>>2]|0){if((c[367132]|0)>(o|0))p=c[(c[(c[n>>2]|0)+12>>2]|0)+(o*692|0)+648>>2]|0;else{Yu(2100920,0,692)|0;p=0}Oo(p,c[l>>2]|0,0,0,0,0,128,128)}}else Yu(2100920,0,692)|0;o=k+388|0;if(a[o>>0]|0?(gr(61582,e),c[d>>2]=e,c[d+4>>2]=o,vs(f,61594,d)|0,(Kq(f)|0)==0):0)io(f,c[l>>2]|0)|0;Xl(k)}k=1468532;l=c[k>>2]|0;o=1468528;n=c[o>>2]|0;q=(n|0)<1?0:n+-1|0;r=(l|0)<(q|0)?l:q;c[k>>2]=(r|0)>0?r:0;if(1!=1&(n|0)>0){n=1467460;r=0;do{k=c[n>>2]|0;q=k+(r*692|0)+688|0;c[q>>2]=0;c[q>>2]=(Jl(1467456,k+(r*692|0)+388|0,k+(r*692|0)+260|0)|0)!=-1&1;r=r+1|0}while((r|0)<(c[o>>2]|0))}Fl();Fa=b;return}while(0);Yu(2100920,0,692)|0;Fa=b;return}function Tl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Fa;Fa=Fa+3120|0;g=f+3096|0;h=f+3088|0;i=f+3080|0;j=f+3072|0;k=f+2048|0;l=f+1024|0;m=f;if(!e){c[i>>2]=b;vs(l,61850,i)|0;gr(l,k);c[h>>2]=b;vs(l,61870,h)|0;gr(l,1664796)}else{c[j>>2]=b;vs(l,61828,j)|0;gr(l,k);a[1664796]=0}l=c[415613]|0;c[g>>2]=e;c[g+4>>2]=d;c[g+8>>2]=61954;c[g+12>>2]=101;c[g+16>>2]=l;vs(m,61885,g)|0;if(c[415618]|0){Fa=f;return}Lm(1662748,m)|0;Lm(1663772,k)|0;c[415618]=1;c[415619]=_q()|0;c[415620]=0;pr(1662748,1663772,2,3)|0;Fa=f;return}function Ul(a){a=a|0;var b=0;if(!(c[415618]|0))return;if(Kq(1663772)|0)if(eu(1663772,61381)|0){a=ho(1663772)|0;if(!a)b=3;else{dn(a)|0;b=2}}else b=2;else b=3;c[415618]=b;return}function Vl(a){a=a|0;if(!(c[415618]|0))return;c[415618]=3;return}function Wl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=Jl(1467456,b,d)|0;if((e|0)!=-1){dn(c[(c[366865]|0)+(e*692|0)+648>>2]|0)|0;f=(c[367132]|0)+-1|0;g=c[366865]|0;if((e|0)<(f|0)){h=e;e=g;while(1){i=h;h=h+1|0;Xu(e+(i*692|0)|0,e+(h*692|0)|0,692)|0;i=(c[367132]|0)+-1|0;j=c[366865]|0;if((h|0)>=(i|0)){k=j;l=i;break}else e=j}}else{k=g;l=f}Yu(k+(l*692|0)|0,0,692)|0;c[367132]=(c[367132]|0)+-1;m=0;return m|0}Jp(c[366864]|0,((c[367132]|0)*692|0)+692|0)|0;l=c[(c[366864]|0)+12>>2]|0;c[366865]=l;k=c[367132]|0;f=l;g=l;a:do if((k|0)>0){l=0;while(1){if((c[f+(l*692|0)+684>>2]|0)==1){n=l;break a}e=l+1|0;if((e|0)<(k|0))l=e;else{n=e;break}}}else n=0;while(0);if((k|0)>(n|0)){l=k+-1|0;Xu(f+(k*692|0)|0,f+(l*692|0)|0,692)|0;if((l|0)>(n|0)){f=l;do{l=c[366865]|0;e=f;f=f+-1|0;Xu(l+(e*692|0)|0,l+(f*692|0)|0,692)|0}while((f|0)>(n|0))}o=c[367132]|0;p=c[(c[366864]|0)+12>>2]|0}else{o=k;p=g}c[367132]=o+1;o=p+(n*692|0)|0;Yu(o|0,0,692)|0;c[o+684>>2]=1;Lm(o+388|0,b)|0;if(!d){m=o;return m|0}Lm(o+260|0,d)|0;if(!(a[d>>0]|0)){m=o;return m|0}b=o+4|0;if(a[b>>0]|0){m=o;return m|0}eo(d,0,b,0);d=ft(b)|0;if(d>>>0<=3){m=o;return m|0}b=d+-3+(o+4)|0;if((a[b>>0]|0)!=46){m=o;return m|0}a[b>>0]=0;m=o;return m|0}function Xl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=Fa;Fa=Fa+1024|0;f=e;Yu(f|0,0,1024)|0;g=c[b+648>>2]|0;if(!g){Fa=e;return}h=b+652|0;if(a[h>>0]|0){Fa=e;return}i=b+653|0;if(a[i>>0]|0){Fa=e;return}j=c[g+12>>2]|0;g=16384;while(1){k=f+(d[j>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;g=g+-1|0;if(!g)break;else j=j+1|0}a[h>>0]=0;a[i>>0]=1;a[b+654>>0]=2;a[b+655>>0]=3;a[b+656>>0]=4;a[b+657>>0]=5;a[b+658>>0]=6;a[b+659>>0]=7;a[b+660>>0]=8;a[b+661>>0]=9;a[b+662>>0]=10;a[b+663>>0]=11;a[b+664>>0]=12;a[b+665>>0]=13;a[b+666>>0]=14;a[b+667>>0]=15;c[f>>2]=16384;i=f+4|0;c[i>>2]=16384;h=f+24|0;c[h>>2]=16384;j=f+28|0;c[j>>2]=16384;g=f+8|0;k=f+12|0;l=f+16|0;m=f+20|0;n=f+32|0;o=f+36|0;p=f+40|0;q=f+44|0;r=f+48|0;s=f+52|0;t=f+56|0;u=f+60|0;v=0;do{w=v+128|0;if(c[f+(w<<2)>>2]|0){x=(c[i>>2]|0)<(c[f>>2]|0)&1;y=(c[g>>2]|0)<(c[f+(x<<2)>>2]|0)?2:x;x=(c[k>>2]|0)<(c[f+(y<<2)>>2]|0)?3:y;y=(c[l>>2]|0)<(c[f+(x<<2)>>2]|0)?4:x;x=(c[m>>2]|0)<(c[f+(y<<2)>>2]|0)?5:y;y=(c[h>>2]|0)<(c[f+(x<<2)>>2]|0)?6:x;x=(c[j>>2]|0)<(c[f+(y<<2)>>2]|0)?7:y;y=(c[n>>2]|0)<(c[f+(x<<2)>>2]|0)?8:x;x=(c[o>>2]|0)<(c[f+(y<<2)>>2]|0)?9:y;y=(c[p>>2]|0)<(c[f+(x<<2)>>2]|0)?10:x;x=(c[q>>2]|0)<(c[f+(y<<2)>>2]|0)?11:y;y=(c[r>>2]|0)<(c[f+(x<<2)>>2]|0)?12:x;x=(c[s>>2]|0)<(c[f+(y<<2)>>2]|0)?13:y;y=(c[t>>2]|0)<(c[f+(x<<2)>>2]|0)?14:x;x=(c[f+(v<<2)>>2]|0)==0?v:(c[u>>2]|0)<(c[f+(y<<2)>>2]|0)?15:y;c[f+(x<<2)>>2]=16384;a[b+668+v>>0]=x;a[b+652+x>>0]=w}v=v+1|0}while((v|0)!=16);Fa=e;return}function Yl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Fa;Fa=Fa+1856|0;f=e+1032|0;g=e+1024|0;h=e+1040|0;i=e;c[b+1080>>2]=0;if(ft(2961100)|0){j=b+1072|0;Jp(c[b>>2]|0,((c[j>>2]|0)*692|0)+692|0)|0;k=c[(c[b>>2]|0)+12>>2]|0;c[b+4>>2]=k;l=c[j>>2]|0;c[j>>2]=l+1;j=k+(l*692|0)|0;Yu(j+4|0,0,688)|0;c[j>>2]=185;a[j+388>>0]=0;Lm(j+4|0,64122)|0;c[j+648>>2]=0;c[j+684>>2]=2}c[g>>2]=2960076;c[g+4>>2]=d;vs(i,71619,g)|0;if(!(Hq(i,61978,h,-1)|0)){g=h+256|0;d=h+512|0;j=b+1072|0;l=b+4|0;do do if((a[g>>0]|0)!=46){if((eu(g,61980)|0)==0?(c[d>>2]&16384|0)==0:0)break;Jp(c[b>>2]|0,((c[j>>2]|0)*692|0)+692|0)|0;k=c[(c[b>>2]|0)+12>>2]|0;c[l>>2]=k;m=c[j>>2]|0;c[j>>2]=m+1;n=k+(m*692|0)|0;Yu(n|0,0,692)|0;c[f>>2]=2961100;c[f+4>>2]=g;vs(i,71619,f)|0;m=n+260|0;nu(m,i,128)|0;c[n+648>>2]=0;k=n+684|0;c[k>>2]=1;a[n+388>>0]=0;if(!(c[d>>2]&16384))o=n+4|0;else{c[n>>2]=181;p=n+4|0;Lm(p,g)|0;c[k>>2]=2;o=p}if(((a[o>>0]|0)==0?(eo(m,0,o,0),m=ft(o)|0,m>>>0>3):0)?(p=m+-3+(n+4)|0,(a[p>>0]|0)==46):0)a[p>>0]=0}while(0);while(!(Iq(h)|0));q=j;r=l}else{q=b+1072|0;r=b+4|0}gt(c[r>>2]|0,c[q>>2]|0,692,2);if((b|0)==1467456){Fa=e;return}if((c[q>>2]|0)<=0){Fa=e;return}b=0;do{l=c[r>>2]|0;j=l+(b*692|0)+688|0;c[j>>2]=0;c[j>>2]=(Jl(1467456,l+(b*692|0)+388|0,l+(b*692|0)+260|0)|0)!=-1&1;b=b+1|0}while((b|0)<(c[q>>2]|0));Fa=e;return}function Zl(b){b=b|0;var d=0,e=0,f=0;d=Fa;Fa=Fa+16|0;e=d;if(b|0?(ft(b)|0)>>>0>=2:0){if((ft(b)|0)>>>0<2)a[1486544]=0;else{f=c[415614]|0;c[e>>2]=3042456;c[e+4>>2]=f;c[e+8>>2]=b;vs(1486544,61537,e)|0}Ll(b,0)|0;if(c[415618]|0){Fa=d;return}Lm(1662748,1486544)|0;Lm(1663772,1485520)|0;c[415618]=1;c[415619]=_q()|0;c[415620]=0;pr(1662748,1663772,2,3)|0;Fa=d;return}c[415618]=0;cb(61962,1500);c[742430]=0;Fa=d;return}function _l(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Xs(a+4|0,b+4|0)|0;e=(c[a+684>>2]|0)==2;f=c[b+684>>2]|0;if(e){if((f|0)!=2){g=-1;return g|0}}else if(!(e|(f|0)!=2)){g=1;return g|0}return ((d|0)==0?(a>>>0<b>>>0?1:-1):d)|0}function $l(){return}function am(a,b,d){a=a|0;b=b|0;d=d|0;if(c[415618]|0)return;Lm(1662748,a)|0;Lm(1663772,b)|0;c[415618]=1;c[415619]=_q()|0;c[415620]=d;pr(1662748,1663772,2,3)|0;return}function bm(a){a=a|0;c[415618]=0;if(a|0)cb(a,1500);c[742430]=0;return}function cm(){return 101}function dm(){var b=0,d=0,e=0;if(!((a[2966616]|0)!=0&(c[742428]|0)!=0|(c[415553]|0)!=0)){b=0;return b|0}d=Uo(1663772)|0;if(!d){b=0;return b|0}Ll(To(d,61984,0)|0,0)|0;e=(ft(To(d,61984,0)|0)|0)>>>0<2;So(d);if(e|(c[760315]|0)==0){b=0;return b|0}if(pg()|0){b=0;return b|0}if(!(Xs(1485520,2963156)|0)){b=0;return b|0}c[416460]=1;b=1;return b|0}function em(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Fa;Fa=Fa+16|0;e=d;if(!((a|0)!=0&(b|0)!=0)){Fa=d;return}Yu(a|0,0,692)|0;Lm(a+4|0,To(b,61988,0)|0)|0;Lm(a+132|0,To(b,61994,0)|0)|0;Lm(a+388|0,To(b,61984,0)|0)|0;Lm(a+516|0,To(b,62001,0)|0)|0;f=a+644|0;c[f>>2]=0;g=To(b,62005,0)|0;c[e>>2]=f;Vt(g,63440,e)|0;c[a+684>>2]=1;Il(a);Fa=d;return}function fm(){return c[367138]|0}function gm(b){b=b|0;var d=0,e=0,f=0;d=1468556+(c[367155]|0)|0;e=a[d>>0]|0;if(!(e<<24>>24)){a[d+1>>0]=0;f=(b|0)>0?57:97;a[d>>0]=f;return}else{f=a[62012+((37-b+(e<<24>>24==57?36:e<<24>>24==56?35:e<<24>>24==55?34:e<<24>>24==54?33:e<<24>>24==53?32:e<<24>>24==52?31:e<<24>>24==51?30:e<<24>>24==50?29:e<<24>>24==49?28:e<<24>>24==48?27:e<<24>>24==122?26:e<<24>>24==121?25:e<<24>>24==120?24:e<<24>>24==119?23:e<<24>>24==118?22:e<<24>>24==117?21:e<<24>>24==116?20:e<<24>>24==115?19:e<<24>>24==114?18:e<<24>>24==113?17:e<<24>>24==112?16:e<<24>>24==111?15:e<<24>>24==110?14:e<<24>>24==109?13:e<<24>>24==108?12:e<<24>>24==107?11:e<<24>>24==106?10:e<<24>>24==105?9:e<<24>>24==104?8:e<<24>>24==103?7:e<<24>>24==102?6:e<<24>>24==101?5:e<<24>>24==100?4:e<<24>>24==99?3:e<<24>>24==98?2:e<<24>>24==97?1:(e<<24>>24!=32)<<31>>31)|0)%37|0)>>0]|0;a[d>>0]=f;return}}function hm(){_q()|0;return}function im(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Fa;Fa=Fa+16|0;e=d+8|0;f=d;g=c[367138]|0;if(!g){a:do if((b|0)==27){if((c[415618]|0)>0){c[415618]=0;cb(62060,1500);c[742430]=0;h=62;break}if(c[415550]|0){i=(c[525403]|0)==0&1;c[525403]=i;j=i;break}i=c[525055]|0;switch(i|0){case 0:{c[760315]=0;Eg();h=62;break a;break}case 1:{c[525055]=0;h=62;break a;break}default:{if((i|1|0)==5){c[525055]=1;k=1}else k=i;Rl(k);h=62;break a}}}else h=62;while(0);if((h|0)==62)j=c[525403]|0;if(j|0){Fa=d;return}j=1==1;b:do if((b|0)!=102|j){switch(b|0){case 8:case 127:break;default:{h=68;break b}}if(j)h=71}else if(!(Fk(9)|0)){Sl();_q()|0;h=68}else h=68;while(0);if(((h|0)==68?(An(76)|0)==3:0)?(Fk(76)|0)==0&1==1:0)h=71;if((h|0)==71){Sl();_q()|0}if(An(75)|0?(Fk(75)|0)==0:0){j=1468532;k=(c[j>>2]|0)+-6|0;i=c[367132]|0;l=(i|0)<1?0:i+-1|0;i=(k|0)<(l|0)?k:l;c[j>>2]=(i|0)>0?i:0}if(An(78)|0?(Fk(78)|0)==0:0){i=1468532;j=(c[i>>2]|0)+6|0;l=c[367132]|0;k=(l|0)<1?0:l+-1|0;l=(j|0)<(k|0)?j:k;c[i>>2]=(l|0)>0?l:0}if(An(74)|0?(Fk(74)|0)==0:0)c[367133]=0;if(!(An(77)|0)){Fa=d;return}if(Fk(77)|0){Fa=d;return}l=c[367132]|0;i=l+-1|0;k=(l|0)<1?0:i;l=(i|0)<(k|0)?i:k;c[367133]=(l|0)>0?l:0;Fa=d;return}l=ft(1468556)|0;do if((g|0)==1){if((An(82)|0)!=3?(An(81)|0)!=3:0){if((c[367138]|0)!=1)break;if(!((b|0)==13|(pb(b)|0)!=0))break;c[367138]=2;break}c[367138]=3}while(0);g=(b|0)==-1;if(g){if((An(80)|0)==3){k=ft(1468556)|0;i=1468620;j=(c[i>>2]|0)+-1|0;m=(j|0)<(k|0)?j:k;c[i>>2]=(m|0)>0?m:0}if((An(79)|0)==3){m=ft(1468556)|0;i=1468620;k=c[i>>2]|0;if((k|0)==(m|0)&(k|0)<21){a[1468556+m>>0]=32;j=(c[i>>2]|0)+1|0;c[i>>2]=j;a[1468556+j>>0]=0;n=m+1|0;o=c[i>>2]|0}else{n=m;o=k}k=o+1|0;o=(k|0)<(n|0)?k:n;c[i>>2]=(o|0)>0?o:0}}else if((b|0)==27)c[367138]=0;c:do if((c[367138]|0)==2){if((l|0)<22&(pb(b)|0)!=0){o=1468620;i=c[o>>2]|0;if((i|0)<22){n=22;do{k=n;n=n+-1|0;a[1468556+k>>0]=a[1468556+n>>0]|0;k=c[o>>2]|0}while((n|0)>(k|0));p=k}else p=i;a[1468578]=0;a[1468556+p>>0]=b;c[o>>2]=(c[o>>2]|0)+1;c[367138]=2;break}switch(b|0){case 8:case 127:{h=26;break}default:if((An(76)|0)==3)h=26}if((h|0)==26?(c[367155]|0)>0:0){n=(An(76)|0)==3;k=1468620;m=c[k>>2]|0;if(n)q=m;else{n=m+-1|0;c[k>>2]=n;q=n}if((q|0)>=22)break;n=q;while(1){k=n;n=n+1|0;a[1468556+k>>0]=a[1468556+n>>0]|0;if((k|0)>=21)break c}}if((b|0)==13){c[f>>2]=1468556;vs(1467468,61805,f)|0;Tl(c[366866]|0,1467468,0);Lm(1468496,1468556)|0;c[367138]=0;Hk();break}if(g){if((An(80)|0)==3){n=ft(1468556)|0;o=1468620;i=(c[o>>2]|0)+-1|0;k=(i|0)<(n|0)?i:n;c[o>>2]=(k|0)>0?k:0}if((An(79)|0)==3){k=ft(1468556)|0;o=1468620;n=c[o>>2]|0;if((n|0)==(k|0)&(n|0)<21){a[1468556+k>>0]=32;i=(c[o>>2]|0)+1|0;c[o>>2]=i;a[1468556+i>>0]=0;r=k+1|0;s=c[o>>2]|0}else{r=k;s=n}n=s+1|0;k=(n|0)<(r|0)?n:r;c[o>>2]=(k|0)>0?k:0}}}while(0);if((c[367138]|0)!=3){Fa=d;return}if(Gk(2,0)|0)gm(-1);if(Gk(3,0)|0)gm(1);if(!((Gk(4,0)|0)==0?!(Gk(5,0)|0):0)){c[e>>2]=1468556;vs(1467468,61805,e)|0;Tl(c[366866]|0,1467468,0);Lm(1468496,1468556)|0;c[367138]=0;Hk()}if(!(Gk(6,0)|0)){Fa=d;return}c[367138]=0;c[742705]=1;cb(62050,1e3);Fa=d;return}function jm(){var a=0,b=0,d=0,e=0,f=0,g=0;c[416455]=0;a=c[366840]|0;if((a|0)>0){b=0;d=a;while(1){a=c[(c[366573]|0)+(b*692|0)+648>>2]|0;if(!a)e=d;else{dn(a)|0;e=c[366840]|0}b=b+1|0;if((b|0)>=(e|0))break;else d=e}}c[366840]=0;Yl(1466288,2961100);e=1468532;d=c[e>>2]|0;b=1468528;a=c[b>>2]|0;f=(a|0)<1?0:a+-1|0;g=(d|0)<(f|0)?d:f;c[e>>2]=(g|0)>0?g:0;if(!(1!=1&(a|0)>0)){_q()|0;c[525403]=0;return}a=1467460;g=0;do{e=c[a>>2]|0;f=e+(g*692|0)+688|0;c[f>>2]=0;c[f>>2]=(Jl(1467456,e+(g*692|0)+388|0,e+(g*692|0)+260|0)|0)!=-1&1;g=g+1|0}while((g|0)<(c[b>>2]|0));_q()|0;c[525403]=0;return}function km(){return}function lm(a){a=a|0;em(2100228,a);return}function mm(){var b=0,d=0,e=0,f=0;b=Fa;Fa=Fa+1024|0;d=b;a[1487568]=0;eo(2963156,0,d,0);ot(1487568,d)|0;if((a[2966616]|0)!=0&(c[742428]|0)!=0|(c[415553]|0)!=0)Lm(1487568,2100232)|0;Lm(1487568,Wa()|0)|0;d=a[1487568]|0;if(!(d<<24>>24)){Lm(1487568,62079)|0;e=a[1487568]|0;if(!(e<<24>>24)){Fa=b;return 1487568}else f=e}else f=d;d=1487568;e=f;do{a:do if(!((e+-48&255)<10|((e&-33)+-65&255)<26)){switch(e<<24>>24){case 32:case 45:case 95:{break a;break}default:{}}a[d>>0]=32}while(0);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);Fa=b;return 1487568}function nm(){return}function om(){return}function pm(a,b){a=a|0;b=b|0;ma(21,a|0,b|0)|0;return}function qm(a){a=a|0;var b=0;b=la(22,a|0)|0;a=(b|0)<255?b:255;return ((a|0)>0?a:0)|0}function rm(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Fa;Fa=Fa+528|0;b=a+512|0;d=a;e=c[(c[c[704868]>>2]|0)+12>>2]|0;c[e+20>>2]=0;f=Un(3042456,e)|0;ug(62584,14);a:do if(62231){e=0;g=2448;while(1){h=c[(c[f>>2]|0)+(e<<2)>>2]|0;c[b>>2]=2960076;c[b+4>>2]=62617;vs(d,71619,b)|0;kr(d)|0;pt(d,c[g>>2]|0)|0;i=Yn(d,62624)|0;if(!i)break;Qn(c[h+12>>2]|0,1,c[h+16>>2]|0,i)|0;Zn(i);wg(c[g>>2]|0);e=e+1|0;g=2448+(e<<2)|0;if(!(c[g>>2]|0))break a}ug(62626,8);Fa=a;return}while(0);tn(f);Fa=a;return}function sm(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a=Fa;Fa=Fa+1040|0;b=a+1024|0;d=a;gr(62650,d);e=c[(c[c[704868]>>2]|0)+24>>2]|0;c[e+20>>2]=0;f=Un(3042456,e)|0;a:do if(62344){e=1;g=62344;while(1){h=c[(c[f>>2]|0)+(e<<2)>>2]|0;ot(d,Ml(g)|0)|0;i=Yn(d,71945)|0;if(!i)break;j=h+12|0;k=h+16|0;Qn(c[j>>2]|0,1,c[k>>2]|0,i)|0;Zn(i);wg(c[2592+(e<<2)>>2]|0);c[b>>2]=2960076;c[b+4>>2]=62665;vs(d,71619,b)|0;kr(d)|0;pt(d,c[2560+(e<<2)>>2]|0)|0;i=Yn(d,71945)|0;Qn(c[j>>2]|0,1,c[k>>2]|0,i)|0;Zn(i);e=e+1|0;g=c[2512+(e<<2)>>2]|0;if(!g)break a}ug(62626,8);Fa=a;return}while(0);tn(f);Fa=a;return}function tm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+4|0;e=Ip((B(c[a>>2]<<1,c[d>>2]|0)|0)+1024|0)|0;Qn(c[a+12>>2]|0,1,B(c[d>>2]|0,c[a>>2]|0)|0,e)|0;d=c[18328]|0;if((c[d+8>>2]|0)==(a|0)){Pn(1,e);f=c[c[728247]>>2]|0;Qn(c[f+12>>2]|0,1,B(c[f+4>>2]|0,c[f>>2]|0)|0,e)|0;Pn(c[760007]|0,e);Pn(c[760008]|0,e);Pn(c[760005]|0,e);Pn(c[760014]|0,e);g=c[18328]|0}else g=d;if((c[g+4>>2]|0)!=(a|0)){Pn(b,e);return e|0}Pn(0,e);Qn((c[18328]|0)+43548|0,1,256,e)|0;a=c[c[728248]>>2]|0;Qn(c[a+12>>2]|0,1,B(c[a+4>>2]|0,c[a>>2]|0)|0,e)|0;Pn(c[759990]|0,e);Pn(c[760009]|0,e);Pn(c[760010]|0,e);Pn(c[759991]|0,e);Pn(c[759992]|0,e);Pn(c[760004]|0,e);Pn(c[759989]|0,e);Pn(c[760015]|0,e);Pn(b,e);return e|0}function um(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a[c>>0]=0;d=Dp(262144)|0;a:do if(a[b>>0]|0){e=b;f=1;g=1;while(1){a[d>>0]=0;if(a[e>>0]|0){if(!f)h=dh(e)|0;else h=eh(e)|0;i=fh()|0;j=h-e|0;Xu(d|0,e|0,j|0)|0;a[d+j>>0]=0;if((i|1|0)!=-999&(a[h>>0]|0)!=0){i=j;j=h;while(1){k=dh(j)|0;l=fh()|0;m=k-j|0;Xu(d+i|0,j|0,m|0)|0;i=m+i|0;a[d+i>>0]=0;if(!((l|1|0)!=-999&(a[k>>0]|0)!=0)){n=k;o=0;break}else j=k}}else{n=h;o=0}}else{n=e;o=f}j=d;b:while(1){switch(a[j>>0]|0){case 32:case 9:break;default:break b}j=j+1|0}if(!(ts(j,62672,9)|0))break;pt(c,d)|0;i=(a[n>>0]|0)!=0;if(g>>>0<65536&i){e=n;f=o;g=g+(i&1)|0}else break a}ug(62682,6);Hp(d);p=1;return p|0}while(0);Hp(d);p=0;return p|0}function vm(){return 0}function wm(a){a=a|0;return 0}function xm(a){a=a|0;return 0}function ym(a){a=a|0;return 0}function zm(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[525410]|0;i=c[525411]|0;if(!((h|0)!=0&(i|0)!=0))return;j=(g|0)/4|0;g=(j|0)<(h|0)?j:h;j=g<<2;if((g|0)>0){k=0;do{l=f+(k<<1)|0;b[l>>1]=((d[i+(k>>>2)>>0]|0)<<8)+32768+(e[l>>1]|0);k=k+1|0}while((k|0)<(j|0))}j=h-g|0;c[525410]=j;if((j|0)<=0)return;a[i>>0]=a[i+g>>0]|0;if((c[525410]|0)<=1)return;i=1;do{j=c[525411]|0;a[j+i>>0]=a[j+(i+g)>>0]|0;i=i+1|0}while((i|0)<(c[525410]|0));return}function Am(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if((f|0)<1){g=0;return g|0}if(!(c[525412]|0)){c[525412]=1;c[525413]=Dp(262144)|0;Ep(1488592,0,16384)}h=1488592+(b<<2)|0;i=c[h>>2]|0;if(!i){j=Dp(48)|0;c[h>>2]=j;c[j>>2]=b;c[j+4>>2]=(b|0)/256|0;c[j+8>>2]=b&255;c[j+12>>2]=10;c[j+16>>2]=8e5;c[j+20>>2]=1050624;c[j+24>>2]=55;c[j+32>>2]=0;c[j+36>>2]=0;k=j}else k=i;do if(!(b&65280)){i=c[525414]|0;j=c[525415]|0;if((((f+7+j|0)/8|0)+i|0)>262138){cb(62699,1e3);c[525415]=0;g=0;return g|0}h=(b|0)==255;if(h|(c[8784]|0)!=(b|0)){if((j|0)>0){l=((j+7|0)/8|0)+i|0;c[525414]=l;m=c[525413]|0;n=c[525416]|0;a[m+n>>0]=j;a[m+(n+1)>>0]=j>>>8;o=m;p=l}else{o=c[525413]|0;p=i}c[8784]=b;c[525415]=0;a[o+p>>0]=b;a[o+(p+1)>>0]=b>>>8;c[525416]=p+2;l=p+4|0;c[525414]=l;q=l;r=0}else{q=i;r=j}if(h){h=c[525413]|0;a[h+q>>0]=f>>>3;a[h+(q+1)>>0]=f>>>11;c[525415]=r+16;s=f;break}h=0;j=0;i=r;l=q;while(1){m=h&7;if(!m){n=vk(2819376,c[743521]|0,(h>>>3)+e|0)|0;t=n;u=c[525415]|0;v=c[525414]|0}else{t=j;u=i;v=l}n=(c[525413]|0)+(((u|0)/8|0)+v)|0;a[n>>0]=(t>>>m&1)<<(u&7)|(d[n>>0]|0);i=u+1|0;c[525415]=i;h=h+1|0;if((h|0)==(f|0)){w=f;x=20;break}else{j=t;l=v}}}else{w=0;x=20}while(0);a:do if((x|0)==20){if((b|1|0)==257){if(!(c[525417]|0))c[525417]=Dp(32768)|0;v=(f+7|0)/8|0;t=(f|0)>0;if(t){u=0;do{q=(vk(2819376,c[743521]|0,u+e|0)|0)&255;y=c[525417]|0;a[y+u>>0]=q;u=u+1|0}while((u|0)<(v|0));if(t?(uk(2819376,c[743521]|0,e,d[y>>0]|0),(f|0)>8):0){u=1;do{uk(2819376,c[743521]|0,u+e|0,d[(c[525417]|0)+u>>0]|0);u=u+1|0}while((u|0)<(v|0));z=f}else z=f}else z=f}else z=w;switch(b|0){case 2048:{v=(f|0)/8|0;b:do if((f|0)>7){u=0;t=c[525405]|0;while(1){if((t|0)>=(c[525406]|0))break;uk(2819376,c[743521]|0,u+e|0,d[(c[525404]|0)+t>>0]|0);t=(c[525405]|0)+1|0;c[525405]=t;q=u+1|0;if((q|0)>=(v|0))break b;else u=q}Vg(u<<6);g=u<<3;return g|0}while(0);Vg(f<<3);g=f;return g|0}case 2050:{v=(f|0)/8|0;c:do if((f|0)>7){t=0;q=c[525408]|0;while(1){if((q|0)>=(c[525409]|0))break;uk(2819376,c[743521]|0,t+e|0,d[(c[525407]|0)+q>>0]|0);q=(c[525408]|0)+1|0;c[525408]=q;r=t+1|0;if((r|0)>=(v|0))break c;else t=r}Vg(t<<6);g=t<<3;return g|0}while(0);Vg(f<<3);g=f;return g|0}case 2056:{if(!(c[525411]|0))c[525411]=Dp(2048)|0;v=(f|0)/8|0;if(!((f|0)>7&(c[525410]|0)<2048)){s=f;break a}q=0;do{u=(vk(2819376,c[743521]|0,q+e|0)|0)&255;a[(c[525411]|0)+(c[525410]|0)>>0]=u;u=c[525410]|0;c[525410]=u+1;q=q+1|0}while((q|0)<(v|0)&(u|0)<2047);s=f;break}default:{s=z;break a}}}while(0);c[k+44>>2]=1;g=s;return g|0}function Bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Fa;Fa=Fa+1056|0;f=e+1040|0;g=e+1032|0;h=e+1024|0;i=e;j=e+1044|0;if(!(c[525412]|0)){c[525412]=1;c[525413]=Dp(262144)|0;Ep(1488592,0,16384)}k=1488592+(b<<2)|0;l=c[k>>2]|0;if(!l){m=Dp(48)|0;c[k>>2]=m;c[m>>2]=b;c[m+4>>2]=(b|0)/256|0;c[m+8>>2]=b&255;c[m+12>>2]=10;c[m+16>>2]=8e5;c[m+20>>2]=1050624;c[m+24>>2]=55;c[m+32>>2]=0;c[m+36>>2]=0;n=m}else n=l;if(c[n+44>>2]|0){Fa=e;return}l=a[d>>0]|0;if(l<<24>>24>47?(a[d+1>>0]|0)<58:0){c[h>>2]=j;Vt(d,63440,h)|0;c[n+16>>2]=c[j>>2];Fa=e;return}if(l<<24>>24==32){h=d;while(1){m=h+1|0;b=a[m>>0]|0;if(b<<24>>24==32)h=m;else{o=m;p=b;break}}}else{o=d;p=l}l=n+16|0;d=n+12|0;h=n+20|0;b=n+24|0;m=n+32|0;k=n+36|0;if(!(p<<24>>24)){Fa=e;return}p=o;while(1){a[i>>0]=0;c[g>>2]=i;o=Vt(p,62722,g)|0;if(!(rt(i,58)|0)){a[i>>0]=0;q=0}else{c[j>>2]=0;n=(rt(i,58)|0)+1|0;c[f>>2]=j;Vt(n,63440,f)|0;a[(rt(i,58)|0)>>0]=0;q=o}o=(a[p>>0]|0)==0?p:p+1|0;while(1){r=a[o>>0]|0;if(r<<24>>24==0|(r+-97&255)>25)break;else o=o+1|0}if(r<<24>>24!=0&(r+-97&255)>25){n=o;while(1){s=n+1|0;t=a[s>>0]|0;if(t<<24>>24!=0&(t+-97&255)>25)n=s;else{u=s;break}}}else u=o;if(!(Xs(i,62729)|0))c[l>>2]=c[j>>2];if(!(Xs(i,62734)|0))c[d>>2]=c[j>>2];if(!(Xs(i,62738)|0))c[h>>2]=c[j>>2];if(!(Xs(i,62743)|0))c[b>>2]=c[j>>2];if(!(Xs(i,62754)|0))c[m>>2]=c[j>>2];if(!(Xs(i,62761)|0))c[k>>2]=c[j>>2];if(!q){v=36;break}if(!(a[u>>0]|0)){v=36;break}else p=u}if((v|0)==36){Fa=e;return}}function Cm(){var a=0,b=0,d=0;c[525410]=0;if(!(c[525412]|0))return;a=0;do{b=c[1488592+(a<<2)>>2]|0;if(b|0){d=b;b=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0))}a=a+1|0}while((a|0)!=4096);c[525415]=0;Ep(c[525413]|0,0,262144);if(!(c[525412]|0))return;c[525415]=0;Ep(c[525413]|0,0,262144);c[8784]=-1;c[525416]=0;c[525414]=0;a=c[525417]|0;if(!a)return;Ep(a,0,32768);return}function Dm(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!(c[525412]|0))return;b=c[525415]|0;if((b|0)>0){e=(c[525414]|0)+((b+7|0)/8|0)|0;c[525414]=e;f=c[525413]|0;g=c[525416]|0;a[f+g>>0]=b;a[f+(g+1)>>0]=b>>>8;h=e}else h=c[525414]|0;if((h|0)>0){e=0;b=h;while(1){h=c[525413]|0;g=a[h+(e+1)>>0]|0;f=(g&255)<<8|(d[h+e>>0]|0);i=(d[h+(e+3)>>0]|0)<<8|(d[h+(e+2)>>0]|0);j=e+4|0;do if(!(g<<24>>24)){if((f|0)==255){k=e+6|0;l=b;break}m=(i+7|0)>>>3;if(m){pm(f,d[h+j>>0]|0);if((m|0)!=1){n=j;o=1;do{n=n+1|0;pm(f,d[(c[525413]|0)+n>>0]|0);o=o+1|0}while((o|0)!=(m|0))}k=j+m|0;l=c[525414]|0}else{k=j;l=b}}else{k=j;l=b}while(0);if((k|0)<(l|0)){e=k;b=l}else break}if(!(c[525412]|0))return}c[525415]=0;Ep(c[525413]|0,0,262144);c[8784]=-1;c[525416]=0;c[525414]=0;l=c[525417]|0;if(!l)return;Ep(l,0,32768);return}function Em(a){a=a|0;var b=0,d=0,e=0;Hp(c[525404]|0);b=a+16|0;d=c[b>>2]|0;c[525406]=d;e=Dp(d)|0;c[525404]=e;Xu(e|0,c[a+12>>2]|0,c[b>>2]|0)|0;c[525405]=0;return}function Fm(b){b=b|0;var d=0,e=0,f=0;Hp(c[525407]|0);d=b+4|0;e=(B(c[d>>2]|0,c[b>>2]|0)|0)+4|0;c[525409]=e;f=Dp(e)|0;c[525407]=f;a[f>>0]=c[b>>2];a[(c[525407]|0)+1>>0]=(c[b>>2]|0)/256|0;a[(c[525407]|0)+2>>0]=c[d>>2];a[(c[525407]|0)+3>>0]=(c[d>>2]|0)/256|0;Xu((c[525407]|0)+4|0,c[b+12>>2]|0,B(c[d>>2]|0,c[b>>2]|0)|0)|0;c[525408]=0;return}function Gm(){return (c[525406]|0)-(c[525405]|0)|0}function Hm(){return (c[525409]|0)-(c[525408]|0)|0}function Im(){c[525405]=0;c[525406]=0;c[525408]=0;c[525409]=0;return}function Jm(){var b=0,d=0,e=0,f=0,g=0,h=0;b=c[704844]|0;d=b+4|0;if((d|0)==1){e=0;do{f=e>>>5;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+2>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+10>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+18>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+26>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+34>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+42>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+50>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+58>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+66>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+74>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+82>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+90>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+98>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+106>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+114>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+122>>0]=g;e=e+1|0}while((e|0)!=128)}switch(b|0){case 0:{e=b;do{g=0;do{a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=((g+e|0)>>>3&7)+6;g=g+4|0}while(g>>>0<128);e=e+2|0}while(e>>>0<128);h=31;break}case 3:{e=0;do{g=2;do{f=(Bo(4)|0)+10&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=f;g=g+4|0}while(g>>>0<128);e=e+3|0}while(e>>>0<128);switch(b|0){case 5:{h=14;break}case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}break}case 5:{h=14;break}case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}if((h|0)==14){e=0;do{g=1;do{f=c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0;a[f+g>>0]=a[f+(g+1)>>0]|0;g=g+2|0}while(g>>>0<127);e=e+1|0}while((e|0)!=128);switch(b|0){case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}}if((h|0)==19){e=0;do{if(e&3|0){g=0;do{a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=0;g=g+1|0}while((g|0)!=128)}e=e+1|0}while((e|0)!=128);switch(b|0){case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}}do if((h|0)==25)Zm(c[704852]|0);else if((h|0)==26){Zm(c[704852]|0);e=c[704869]|0;gq(e+12|0,e);wg(3042456);wg(3042456);Oo(c[(c[c[704870]>>2]|0)+8>>2]|0,c[704852]|0,0,0,1,1,40,10);c[742549]=6}else if((h|0)==27){wg(62766);Oo(c[(c[c[704870]>>2]|0)+8>>2]|0,c[704852]|0,0,0,1,1,40,10)}else if((h|0)==28){c[742549]=13;wg(62780);c[742549]=6;wg(3042456);if(!(c[415552]|0)){wg(62866);wg(3042456);break}else{ug(62813,14);wg(3042456);wg(62845);break}}else if((h|0)==31?(d|0)==70&(c[415550]|0)!=0:0){c[742422]=0;c[742549]=6;jm();c[760315]=2}while(0);h=(c[415549]|0)!=0;e=c[415548]|0;if(h&((d|0)==90&(e|0)!=0)){c[742427]=1;return}if(!(h|((d|0)!=60|(e|0)==0))){c[742422]=0;return}switch(b|0){case 76:{eb();return}case 896:{wg(63294);return}default:return}}function Km(a){a=a|0;if((a|0)!=2101684?(ot(2101684,a)|0,(a|0)==2624):0)return;ot(2624,a)|0;return}function Lm(a,b){a=a|0;b=b|0;var c=0;if((a|0)==(b|0))c=a;else{ot(a,b)|0;c=a}return c|0}function Mm(a){a=a|0;var b=0;if(a)if((a|0)==2101940)b=2101940;else{ot(2101940,a)|0;b=2101940}else b=0;c[525549]=b;return}function Nm(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=Fa;Fa=Fa+96|0;b=a+88|0;d=a+80|0;e=a+72|0;f=a+64|0;g=a+56|0;h=a+48|0;i=a+40|0;j=a+32|0;k=a+24|0;l=a+16|0;m=a+8|0;n=a;if(c[526408]|0){Fa=a;return 0}c[525418]=0;Ep(2101684,0,1700);ot(2101684,2624)|0;if(2624!=2101940)ot(2101940,2624)|0;c[525549]=2101940;$n();o=c[8785]|0;p=c[526409]|0;if((o|0)>0&(p|0)!=0)Om(o,p);c[n>>2]=62896;xu(62886,n)|0;n=c[8793]|0;Rt(n)|0;c[m>>2]=62922;vs(1504976,62908,m)|0;c[l>>2]=1504976;xu(62886,l)|0;Rt(n)|0;l=c[8785]|0;m=c[526409]|0;if((l|0)>0&(m|0)!=0)Om(l,m);if(!0){c[k>>2]=62933;xu(62886,k)|0;Rt(n)|0;Nq()|0;c[j>>2]=62951;xu(62886,j)|0;Rt(n)|0;_q()|0;c[i>>2]=62969;xu(62886,i)|0;Rt(n)|0;Dn();c[h>>2]=62984;xu(62886,h)|0;Rt(n)|0;Bn();c[g>>2]=63e3;xu(62886,g)|0;Rt(n)|0;Jn();c[f>>2]=63016;xu(62886,f)|0;Rt(n)|0;Aq()|0;c[e>>2]=63033;xu(62886,e)|0;Rt(n)|0;wn();c[d>>2]=63050;xu(62886,d)|0;Rt(n)|0}Ao(0);c[525886]=(c[525886]|0)+1;c[b>>2]=63070;xu(62886,b)|0;Rt(n)|0;c[526408]=1;Fa=a;return 0}function Om(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;e=Fa;Fa=Fa+32|0;f=e+8|0;g=e;h=e+24|0;if((b|0)<=1){Fa=e;return}i=0;j=1;a:while(1){k=d+(j<<2)|0;l=c[k>>2]|0;b:do switch(a[l>>0]|0){case 62:case 124:case 38:{m=43;break a;break}case 45:{n=l+1|0;o=(ts(n,63075,5)|0)==0;p=(ts(n,63081,6)|0)==0;q=(ts(n,63088,8)|0)==0;r=(ts(n,63097,8)|0)==0;s=(ts(n,63106,8)|0)==0;t=(ts(n,63115,8)|0)==0;u=(ts(n,63124,9)|0)==0;v=(ts(n,63134,17)|0)==0;w=(ts(n,63152,19)|0)==0;x=(ts(n,63172,12)|0)==0;y=(ts(n,63185,12)|0)==0;z=(ts(n,63198,5)|0)==0;A=(ts(n,63204,5)|0)==0;B=(ts(n,63210,15)|0)==0;C=(ts(n,63226,13)|0)==0|(ts(n,63240,16)|0)==0;D=(ts(n,63257,4)|0)==0;E=(ts(n,63262,7)|0)==0;F=(ts(n,63270,13)|0)==0;G=(ts(n,63284,9)|0)==0;H=(ts(n,63294,7)|0)==0;if(!(ts(n,63302,8)|0)){c[525889]=1;I=0}else I=H?20:G?19:F?18:E?17:D?16:v?15:C?14:B?12:A?11:z?10:y?11:x?10:w?9:v?8:u?7:t?6:s?5:r?4:q?3:p?2:o?1:i;o=(ts(n,63311,11)|0)==0;if(!(ts(n,63323,11)|0)){c[525890]=1;J=0}else J=o?29:I;if((a[n>>0]|0)==120){c[525889]=1;K=0}else K=J;o=(ts(n,63335,19)|0)==0;p=(ts(n,63355,17)|0)==0;q=(ts(n,63373,16)|0)==0;r=(ts(n,63390,11)|0)==0;s=(ts(n,63402,13)|0)==0;t=(ts(n,63416,7)|0)==0;u=(ts(n,63424,15)|0)==0;L=u?28:t?27:s?26:r?25:q?24:p?23:o?22:K;break}default:{c[h>>2]=0;c[g>>2]=h;Vt(l,63440,g)|0;do switch(i|0){case 1:{c[525850]=c[h>>2];L=0;break b;break}case 2:{c[525851]=c[h>>2];L=0;break b;break}case 3:{c[525868]=c[h>>2];L=0;break b;break}case 4:{c[525852]=c[h>>2];L=0;break b;break}case 5:{c[525860]=c[h>>2];L=0;break b;break}case 6:{c[525861]=c[h>>2];L=0;break b;break}case 7:{c[525859]=c[h>>2];L=0;break b;break}case 8:{c[525875]=c[h>>2];L=0;break b;break}case 9:{c[525855]=c[h>>2];L=0;break b;break}case 10:{c[525853]=c[h>>2];L=0;break b;break}case 11:{c[525854]=c[h>>2];L=0;break b;break}case 12:{c[525865]=c[h>>2];L=0;break b;break}case 14:{c[525876]=c[h>>2];L=0;break b;break}case 15:{c[525875]=c[h>>2];L=0;break b;break}case 16:{o=c[k>>2]|0;if((o|0)==2103568){L=0;break b}ot(2103568,o)|0;L=0;break b;break}case 17:{o=c[k>>2]|0;if((o|0)==2104592){L=0;break b}ot(2104592,o)|0;L=0;break b;break}case 18:{c[525879]=c[h>>2];L=0;break b;break}case 19:{c[525882]=0;c[525883]=0;c[525884]=4096;c[525885]=4096;o=c[k>>2]|0;c[f>>2]=2103528;c[f+4>>2]=2103532;c[f+8>>2]=2103536;c[f+12>>2]=2103540;Vt(o,63443,f)|0;L=0;break b;break}case 20:{o=c[h>>2]|0;p=(o|0)<240?o:240;c[525887]=(p|0)>1?p:1;L=0;break b;break}case 21:{c[525889]=1;L=0;break b;break}case 22:{c[525856]=c[h>>2];L=0;break b;break}case 23:{c[525858]=c[h>>2];L=0;break b;break}case 24:{c[526404]=c[h>>2];L=0;break b;break}case 25:{c[526405]=c[h>>2];L=0;break b;break}case 26:{p=c[h>>2]|0;o=(p|0)<8?p:8;c[525877]=(o|0)>0?o:0;L=0;break b;break}case 27:{c[525862]=c[h>>2];L=0;break b;break}case 28:{c[526407]=c[h>>2];L=0;break b;break}case 29:{c[525891]=c[h>>2];L=0;break b;break}default:{L=0;break b}}while(0)}}while(0);j=j+1|0;if((j|0)>=(b|0)){m=43;break}else i=L}if((m|0)==43){Fa=e;return}}function Pm(a){a=a|0;var b=0,d=0;b=Fa;Fa=Fa+16|0;d=b;c[d>>2]=a;xu(62886,d)|0;Rt(c[8793]|0)|0;Fa=b;return}function Qm(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=Fa;Fa=Fa+96|0;b=a+80|0;d=a+72|0;e=a+64|0;f=a+56|0;g=a+48|0;h=a+40|0;i=a+32|0;j=a+24|0;k=a+16|0;l=a+8|0;m=a;if(!(c[526408]|0)){Fa=a;return 0}c[526408]=0;c[m>>2]=63455;xu(62886,m)|0;m=c[8793]|0;Rt(m)|0;c[l>>2]=63467;xu(62886,l)|0;Rt(m)|0;tq(0,0);c[k>>2]=63480;xu(62886,k)|0;Rt(m)|0;Cb();c[j>>2]=63496;xu(62886,j)|0;Rt(m)|0;c[i>>2]=63514;xu(62886,i)|0;Rt(m)|0;aq()|0;c[h>>2]=63531;xu(62886,h)|0;Rt(m)|0;Bq()|0;c[g>>2]=63548;xu(62886,g)|0;Rt(m)|0;c[f>>2]=63568;xu(62886,f)|0;Rt(m)|0;if(!0){Kn();En()}c[e>>2]=c[525418];vs(1504976,63586,e)|0;c[d>>2]=1504976;xu(62886,d)|0;Rt(m)|0;c[b>>2]=63070;xu(62886,b)|0;Rt(m)|0;m=c[525550]|0;if(m|0)Pt(m)|0;m=c[525551]|0;if(m|0)Pt(m)|0;c[525550]=0;c[525551]=0;c[526408]=0;Fa=a;return 0}function Rm(a){a=a|0;return}function Sm(){var a=0;a=dr()|0;if(!(c[526410]|0)){c[526410]=1;Fn();c[526410]=0}fr(2101676,2101680,0);oq();return a|0}function Tm(){var a=0;Dq();dr()|0;if(!(c[526410]|0)){c[526410]=1;Fn();c[526410]=0}fr(2101676,2101680,0);oq();c[526411]=0;Bb();if(!(c[526411]|0)){ob();Fq();Eq()}c[525570]=0;a=c[525586]|0;if(!a)return;if((a|0)<=(_q()|0))return;su(63610)|0;c[525586]=0;ka(23)|0;return}function Um(){c[526411]=1;return}function Vm(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if((d|0)!=1509072)ot(1509072,d)|0;c[8785]=a;c[526409]=b;ib(a,b);ta(1,0,0);return 0}function Wm(){var a=0;a=Fp(768)|0;Yu(a|0,0,768)|0;c[525418]=(c[525418]|0)+1;return a|0}function Xm(a){a=a|0;if(!a)return;Hp(a);c[525418]=(c[525418]|0)+-1;return}function Ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=Fp((d<<2)+48|0)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+40>>2]=0;c[e+32>>2]=0;c[e+24>>2]=0;c[e+28>>2]=a;c[e+36>>2]=b;c[e+44>>2]=d;f=B(b,a)|0;g=e+12|0;c[g>>2]=Fp(B(f,d)|0)|0;h=e+16|0;c[h>>2]=e+48;if((d|0)<=0){i=c[525418]|0;j=i+1|0;c[525418]=j;return e|0}k=(b<<2)+52|0;if((b|0)<=0){l=0;do{m=Fp(k)|0;c[m>>2]=a;c[m+4>>2]=b;c[m+36>>2]=0;c[m+28>>2]=0;c[m+32>>2]=a;c[m+40>>2]=b;c[m+8>>2]=8;c[m+20>>2]=0;c[m+12>>2]=(c[g>>2]|0)+(B(l,f)|0);c[m+16>>2]=m+52;c[(c[h>>2]|0)+(l<<2)>>2]=m;l=l+1|0}while((l|0)!=(d|0));i=c[525418]|0;j=i+1|0;c[525418]=j;return e|0}l=(b|0)==1;m=0;do{n=Fp(k)|0;c[n>>2]=a;o=n+4|0;c[o>>2]=b;c[n+36>>2]=0;c[n+28>>2]=0;c[n+32>>2]=a;c[n+40>>2]=b;p=n+8|0;c[p>>2]=8;c[n+20>>2]=0;q=(c[g>>2]|0)+(B(m,f)|0)|0;r=n+12|0;c[r>>2]=q;s=n+52|0;t=n+16|0;c[t>>2]=s;c[s>>2]=q;if(!l){q=1;do{c[(c[t>>2]|0)+(q<<2)>>2]=(c[r>>2]|0)+(B(q,a)|0);q=q+1|0}while((q|0)!=(b|0))}if(2819272!=(n|0)?(Ep(c[c[t>>2]>>2]|0,0,a),(c[o>>2]|0)>1):0){q=1;do{Ep(c[(c[t>>2]|0)+(q<<2)>>2]|0,0,B(c[p>>2]>>3,c[n>>2]|0)|0);q=q+1|0}while((q|0)<(c[o>>2]|0))}c[(c[h>>2]|0)+(m<<2)>>2]=n;m=m+1|0}while((m|0)!=(d|0));i=c[525418]|0;j=i+1|0;c[525418]=j;return e|0}function Zm(a){a=a|0;var b=0,d=0,e=0,f=0;if(2819272==(a|0))return;b=a+4|0;if((c[b>>2]|0)<=0)return;d=a+16|0;e=a+8|0;f=0;do{Ep(c[(c[d>>2]|0)+(f<<2)>>2]|0,0,B(c[e>>2]>>3,c[a>>2]|0)|0);f=f+1|0}while((f|0)<(c[b>>2]|0));return}function _m(a){a=a|0;var b=0,d=0,e=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)Hp(b);b=a+8|0;if((c[b>>2]|0)>0){d=a+16|0;e=0;do{Hp(c[(c[d>>2]|0)+(e<<2)>>2]|0);e=e+1|0}while((e|0)<(c[b>>2]|0))}Hp(a);c[525418]=(c[525418]|0)+-1;return 0}function $m(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=(d|0)>(f|0);j=i?d:f;k=i?f:d;d=(e|0)>(g|0);f=d?e:g;i=d?g:e;e=b+8|0;g=c[e>>2]|0;if((g|0)==32){d=b+36|0;l=b+40|0;m=b+28|0;n=b+32|0;o=h&255;p=b+16|0;q=i;while(1){a:do if((2819272!=(b|0)?(c[d>>2]|0)<=(q|0):0)?(c[l>>2]|0)>(q|0):0){r=c[m>>2]|0;s=(k|0)<(r|0)?r:k;r=c[n>>2]|0;t=(j|0)<(r|0)?j:r+-1|0;switch(c[e>>2]|0){case 8:{if((s|0)>(t|0))break a;r=s;while(1){a[(c[(c[p>>2]|0)+(q<<2)>>2]|0)+r>>0]=o;if((r|0)<(t|0))r=r+1|0;else break}break}case 32:{r=1-s+t|0;if((r|0)<=0)break a;u=(c[(c[p>>2]|0)+(q<<2)>>2]|0)+(s<<2)|0;v=r;while(1){c[u>>2]=h;if((v|0)>1){u=u+4|0;v=v+-1|0}else break}break}default:break a}}while(0);if((q|0)<(f|0))q=q+1|0;else break}w=c[e>>2]|0}else w=g;if((w|0)!=8)return;w=c[b+28>>2]|0;g=(k|0)<(w|0)?w:k;k=c[b+32>>2]|0;w=c[b+36>>2]|0;e=c[b+40>>2]|0;q=(f|0)<(e|0)?f+1|0:e;e=((j|0)<(k|0)?j+1|0:k)-g|0;if((e|0)<=0)return;k=(i|0)<(w|0)?w:i;if((k|0)>=(q|0))return;i=b+16|0;b=k;do{Ep((c[(c[i>>2]|0)+(b<<2)>>2]|0)+g|0,h,e);b=b+1|0}while((b|0)<(q|0));return}function an(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a+28>>2]=(b|0)>0?b:0;b=c[a>>2]|0;c[a+32>>2]=(b|0)>(e|0)?e:b;c[a+36>>2]=(d|0)>0?d:0;d=c[a+4>>2]|0;c[a+40>>2]=(d|0)>(f|0)?f:d;return}function bn(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!((a|0)!=0&(b|0)!=0))return;j=c[b+8>>2]|0;if((j|0)!=(c[a+8>>2]|0))return;k=c[a>>2]|0;if((k|0)<=(d|0))return;l=c[a+4>>2]|0;if((l|0)<=(e|0))return;m=c[b+32>>2]|0;if((m|0)<=(f|0))return;n=c[b+40>>2]|0;if((n|0)<=(g|0))return;o=(d|0)<0;p=o?d:0;q=p+h|0;h=f-p|0;p=o?0:d;d=(e|0)<0;o=d?e:0;f=o+i|0;i=g-o|0;o=d?0:e;e=c[b+28>>2]|0;d=(h|0)<(e|0);g=d?h-e|0:0;r=g+((q+p|0)>(k|0)?k-p|0:q)|0;q=d?e:h;h=p-g|0;g=c[b+36>>2]|0;p=(i|0)<(g|0);e=p?i-g|0:0;d=e+((f+o|0)>(l|0)?l-o|0:f)|0;f=p?g:i;i=o-e|0;e=(r+q|0)>(m|0)?m-q|0:r;r=(d+f|0)>(n|0)?n-f|0:d;if((e|0)<1|(r|0)<1)return;if(2819272==(b|0)){Zq(a,b,h,i,q,f,e,r,1);return}switch(j|0){case 8:{Po(a,b,h,i,q,f,e,r);return}case 32:{Qo(a,b,h,i,q,f,e,r);return}default:return}}function cn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((a|0)<1|(b|0)<1){e=0;return e|0}f=Fp((b<<2)+52|0)|0;c[f>>2]=a;g=f+4|0;c[g>>2]=b;c[f+36>>2]=0;c[f+28>>2]=0;c[f+32>>2]=a;c[f+40>>2]=b;h=f+8|0;c[h>>2]=d;c[f+20>>2]=0;i=B(d>>3,a)|0;a=Fp(B(i,b)|0)|0;d=f+12|0;c[d>>2]=a;j=f+52|0;k=f+16|0;c[k>>2]=j;c[j>>2]=a;if((b|0)!=1){a=1;do{c[(c[k>>2]|0)+(a<<2)>>2]=(c[d>>2]|0)+(B(i,a)|0);a=a+1|0}while((a|0)!=(b|0))}if(2819272!=(f|0)?(c[g>>2]|0)>0:0){b=0;do{Ep(c[(c[k>>2]|0)+(b<<2)>>2]|0,0,B(c[h>>2]>>3,c[f>>2]|0)|0);b=b+1|0}while((b|0)<(c[g>>2]|0))}c[525418]=(c[525418]|0)+1;e=f;return e|0}function dn(a){a=a|0;var b=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)Hp(b);Hp(a);c[525418]=(c[525418]|0)+-1;return 0}function en(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((c[b+28>>2]|0)>(d|0))return;if((c[b+36>>2]|0)>(e|0))return;if((c[b+32>>2]|0)<=(d|0))return;if((c[b+40>>2]|0)<=(e|0))return;switch(c[b+8>>2]|0){case 8:{a[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+d>>0]=f;return}case 32:{c[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(d<<2)>>2]=f;return}default:return}}function fn(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;j=c[d>>2]|0;do if((((j|0)<(c[a>>2]|0)?(k=c[e>>2]|0,l=a+4|0,(k|0)<(c[l>>2]|0)):0)?(m=b+32|0,(c[f>>2]|0)<(c[m>>2]|0)):0)?(n=b+40|0,(c[g>>2]|0)<(c[n>>2]|0)):0){if((j|0)<0){c[h>>2]=(c[h>>2]|0)+j;c[f>>2]=(c[f>>2]|0)-(c[d>>2]|0);c[d>>2]=0;o=c[e>>2]|0;p=0}else{o=k;p=j}if((o|0)<0){c[i>>2]=(c[i>>2]|0)+o;c[g>>2]=(c[g>>2]|0)-(c[e>>2]|0);c[e>>2]=0;q=c[d>>2]|0;r=0}else{q=p;r=o}k=c[a>>2]|0;if(((c[h>>2]|0)+q|0)>(k|0)){c[h>>2]=k-q;s=c[e>>2]|0}else s=r;k=c[l>>2]|0;if(((c[i>>2]|0)+s|0)>(k|0))c[i>>2]=k-s;k=c[f>>2]|0;l=b+28|0;t=c[l>>2]|0;if((k|0)<(t|0)){u=k-t|0;c[f>>2]=u;c[h>>2]=(c[h>>2]|0)+u;c[d>>2]=(c[d>>2]|0)-(c[f>>2]|0);u=c[l>>2]|0;c[f>>2]=u;v=u}else v=k;k=c[g>>2]|0;u=b+36|0;l=c[u>>2]|0;if((k|0)<(l|0)){t=k-l|0;c[g>>2]=t;c[i>>2]=(c[i>>2]|0)+t;c[e>>2]=(c[e>>2]|0)-(c[g>>2]|0);t=c[u>>2]|0;c[g>>2]=t;w=c[f>>2]|0;x=t}else{w=v;x=k}k=c[m>>2]|0;if(((c[h>>2]|0)+w|0)>(k|0)){c[h>>2]=k-w;y=c[g>>2]|0}else y=x;k=c[n>>2]|0;if(((c[i>>2]|0)+y|0)>(k|0)){z=k-y|0;break}else return}else z=0;while(0);c[i>>2]=z;return}function gn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=(b|0)==0;a:do if((!(i|2819272==(b|0))?(j=(g|0)<(e|0),k=j?e:g,l=j?g:e,(c[b+28>>2]|0)<=(d|0)):0)?(c[b+32>>2]|0)>(d|0):0){j=c[b+36>>2]|0;m=(l|0)<(j|0)?j:l;l=c[b+40>>2]|0;j=(k|0)<(l|0)?k:l+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(j|0))break a;l=h&255;k=b+16|0;n=m;while(1){a[(c[(c[k>>2]|0)+(n<<2)>>2]|0)+d>>0]=l;if((n|0)<(j|0))n=n+1|0;else break}break}case 32:{if((m|0)>(j|0))break a;n=c[b+16>>2]|0;l=m;while(1){c[(c[n+(l<<2)>>2]|0)+(d<<2)>>2]=h;if((l|0)<(j|0))l=l+1|0;else break}break}default:break a}}while(0);b:do if((!(i|2819272==(b|0))?(l=(g|0)<(e|0),j=l?e:g,n=l?g:e,(c[b+28>>2]|0)<=(f|0)):0)?(c[b+32>>2]|0)>(f|0):0){l=c[b+36>>2]|0;m=(n|0)<(l|0)?l:n;n=c[b+40>>2]|0;l=(j|0)<(n|0)?j:n+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(l|0))break b;n=h&255;j=b+16|0;k=m;while(1){a[(c[(c[j>>2]|0)+(k<<2)>>2]|0)+f>>0]=n;if((k|0)<(l|0))k=k+1|0;else break}break}case 32:{if((m|0)>(l|0))break b;k=c[b+16>>2]|0;n=m;while(1){c[(c[k+(n<<2)>>2]|0)+(f<<2)>>2]=h;if((n|0)<(l|0))n=n+1|0;else break}break}default:break b}}while(0);c:do if((!(i|2819272==(b|0))?(n=(f|0)<(d|0),l=n?d:f,k=n?f:d,(c[b+36>>2]|0)<=(e|0)):0)?(c[b+40>>2]|0)>(e|0):0){n=c[b+28>>2]|0;m=(k|0)<(n|0)?n:k;k=c[b+32>>2]|0;n=(l|0)<(k|0)?l:k+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(n|0))break c;k=h&255;l=b+16|0;j=m;while(1){a[(c[(c[l>>2]|0)+(e<<2)>>2]|0)+j>>0]=k;if((j|0)<(n|0))j=j+1|0;else break}break}case 32:{j=1-m+n|0;if((j|0)<=0)break c;k=(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(m<<2)|0;l=j;while(1){c[k>>2]=h;if((l|0)>1){k=k+4|0;l=l+-1|0}else break}break}default:break c}}while(0);if(i|2819272==(b|0))return;i=(f|0)<(d|0);e=i?d:f;l=i?f:d;if((c[b+36>>2]|0)>(g|0))return;if((c[b+40>>2]|0)<=(g|0))return;d=c[b+28>>2]|0;f=(l|0)<(d|0)?d:l;l=c[b+32>>2]|0;d=(e|0)<(l|0)?e:l+-1|0;switch(c[b+8>>2]|0){case 8:{if((f|0)>(d|0))return;l=h&255;e=b+16|0;i=f;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+i>>0]=l;if((i|0)<(d|0))i=i+1|0;else break}return}case 32:{i=1-f+d|0;if((i|0)<=0)return;d=(c[(c[b+16>>2]|0)+(g<<2)>>2]|0)+(f<<2)|0;f=i;while(1){c[d>>2]=h;if((f|0)>1){d=d+4|0;f=f+-1|0}else break}return}default:return}}function hn(a){a=a|0;c[a+36>>2]=0;c[a+28>>2]=0;c[a+32>>2]=c[a>>2];c[a+40>>2]=c[a+4>>2];return}function jn(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;if((b|0)==0|(d|0)==0|(g|0)==0|(h|0)==0)return;j=c[b>>2]|0;if((j|0)==(g|0)?(c[b+4>>2]|0)==(h|0):0)if(!(i&1)){Oo(b,d,0,0,e,f,g,h);return}else{bn(b,d,0,0,e,f,g,h);return}k=c[d+8>>2]|0;if((k|0)!=(c[b+8>>2]|0))return;l=(j<<16|0)/(g|0)|0;m=c[b+4>>2]|0;n=(m<<16|0)/(h|0)|0;o=c[d+36>>2]|0;p=(o|0)>(f|0);q=o-f|0;r=B(q,n)|0;s=h-(p?q:0)|0;q=p?o:f;f=(l|0)/2|0;o=(l|0)<0?f+j|0:((n|0)<0?m:0)+((n|0)/2|0)+(p?r:0)|0;r=c[d+28>>2]|0;p=(r|0)>(e|0);m=r-e|0;j=B(m,l)|0;h=(p?j:0)+f|0;f=g-(p?m:0)|0;m=p?r:e;e=(c[d+32>>2]|0)-m|0;r=(f|0)<(e|0)?f:e;e=(c[d+40>>2]|0)-q|0;f=(s|0)<(e|0)?s:e;switch(k|0){case 32:{k=f+q|0;if((f|0)<=0)return;e=c[b+16>>2]|0;s=c[d+16>>2]|0;p=(r|0)>0;if(!(i&1)){g=q;j=o;while(1){t=c[e+(j>>16<<2)>>2]|0;if(p){u=(c[s+(g<<2)>>2]|0)+(m<<2)|0;v=0;w=h;while(1){c[u>>2]=c[t+(w>>16<<2)>>2];v=v+1|0;if((v|0)>=(r|0))break;else{u=u+4|0;w=w+l|0}}}g=g+1|0;if((g|0)>=(k|0))break;else j=j+n|0}return}j=q;g=o;while(1){w=c[e+(g>>16<<2)>>2]|0;a:do if(p){u=(c[s+(j<<2)>>2]|0)+(m<<2)|0;v=0;t=h;while(1){x=c[w+(t>>16<<2)>>2]|0;y=c[u>>2]|0;z=x>>>24;switch((z&255)<<24>>24){case 0:{A=y&16777215;break}case -1:{A=x&16777215;break}default:{C=z^255;A=((((B(y>>>16&255,C)|0)+(B(x>>>16&255,z)|0)|0)>>>0)/255|0)<<16|((((B(y&255,C)|0)+(B(x&255,z)|0)|0)>>>0)/255|0)|((((B(y>>>8&255,C)|0)+(B(x>>>8&255,z)|0)|0)>>>0)/255|0)<<8}}c[u>>2]=A|y&-16777216;v=v+1|0;if((v|0)>=(r|0))break a;else{u=u+4|0;t=t+l|0}}}while(0);j=j+1|0;if((j|0)>=(k|0))break;else g=g+n|0}return}case 8:{g=f+q|0;if((f|0)<=0)return;f=b+16|0;b=d+16|0;d=(r|0)>0;if(!(i&1)){i=q;k=o;while(1){j=c[(c[f>>2]|0)+(k>>16<<2)>>2]|0;if(d){A=(c[(c[b>>2]|0)+(i<<2)>>2]|0)+m|0;s=h;p=0;while(1){a[A>>0]=a[j+(s>>16)>>0]|0;p=p+1|0;if((p|0)>=(r|0))break;else{A=A+1|0;s=s+l|0}}}i=i+1|0;if((i|0)>=(g|0))break;else k=k+n|0}return}if(!d)return;d=q;q=o;while(1){o=c[(c[f>>2]|0)+(q>>16<<2)>>2]|0;k=(c[(c[b>>2]|0)+(d<<2)>>2]|0)+m|0;i=h;s=0;while(1){A=a[o+(i>>16)>>0]|0;if(A<<24>>24)a[k>>0]=A;s=s+1|0;if((s|0)>=(r|0))break;else{k=k+1|0;i=i+l|0}}d=d+1|0;if((d|0)>=(g|0))break;else q=q+n|0}return}default:return}}function kn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;switch(c|0){case 0:{d=a&16777215;return d|0}case 255:{d=b&16777215;return d|0}default:{e=255-c|0;d=((B(b&255,c)|0)+(B(a&255,e)|0)|0)/255|0|((((B(b>>>8&255,c)|0)+(B(a>>>8&255,e)|0)|0)/255|0)<<8|(((B(b>>>16&255,c)|0)+(B(a>>>16&255,e)|0)|0)/255|0)<<16);return d|0}}return 0}function ln(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;if(!a){f=0;return f|0}if((c[a+28>>2]|0)>(b|0)){f=0;return f|0}if((c[a+36>>2]|0)>(e|0)){f=0;return f|0}if((c[a+32>>2]|0)<=(b|0)){f=0;return f|0}if((c[a+40>>2]|0)<=(e|0)){f=0;return f|0}switch(c[a+8>>2]|0){case 8:{f=d[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+b>>0]|0;return f|0}case 32:{f=c[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+(b<<2)>>2]|0;return f|0}default:{f=0;return f|0}}return 0}function mn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;a:do if((f|0)!=(d|0)){i=b+28|0;j=b+36|0;k=b+32|0;l=b+40|0;m=d;n=e;o=f;p=g;while(1){if((p|0)==(n|0)){q=14;break}r=c[i>>2]|0;s=(r|0)>(m|0)&1;t=c[j>>2]|0;u=(t|0)>(n|0)?s|2:s;s=c[k>>2]|0;v=(s|0)>(m|0)?u:u|4;u=c[l>>2]|0;w=(u|0)>(n|0)?v:v|8;v=(r|0)>(o|0)&1;x=(t|0)>(p|0)?v|2:v;v=(s|0)>(o|0)?x:x|4;x=(u|0)>(p|0)?v:v|8;if(!(w|x)){q=25;break}v=(w&1|0)!=0;if(!((x&1|0)==0|v^1)){q=51;break}y=(w&2|0)!=0;if(!((x&2|0)==0|y^1)){q=51;break}z=(w&4|0)!=0;if(!((x&4|0)==0|z^1)){q=51;break}A=(w&8|0)!=0;if(!((x&8|0)==0|A^1)){q=51;break}if(!v)if(z){z=s+-1|0;v=(m-z<<16|0)/(m-o|0)|0;x=65536-v|0;w=(B(x,m)|0)+(B(v,o)|0)>>16;C=(B(x,n)|0)+(B(v,p)|0)>>16;D=(w|0)<(s|0)?w:z;E=C}else{D=m;E=n}else{C=(r-m<<16|0)/(o-m|0)|0;z=65536-C|0;w=(B(z,m)|0)+(B(C,o)|0)>>16;s=(B(z,n)|0)+(B(C,p)|0)>>16;D=(w|0)<(r|0)?r:w;E=s}if(!y)if(A){if((E|0)==(p|0)){q=51;break}A=u+-1|0;y=(E-A<<16|0)/(E-p|0)|0;s=65536-y|0;w=(B(s,D)|0)+(B(y,o)|0)>>16;C=(B(s,E)|0)+(B(y,p)|0)>>16;F=w;G=(C|0)<(u|0)?C:A}else{F=D;G=E}else{if((E|0)==(p|0)){q=51;break}A=(t-E<<16|0)/(p-E|0)|0;C=65536-A|0;u=(B(C,D)|0)+(B(A,o)|0)>>16;w=(B(C,E)|0)+(B(A,p)|0)>>16;F=u;G=(w|0)<(t|0)?t:w}if((F|0)==(o|0)){H=o;I=p;J=G;break a}else{w=p;t=o;o=F;p=G;n=w;m=t}}if((q|0)==14){if((b|0)==0|2819272==(b|0))return;t=(o|0)<(m|0);w=t?m:o;u=t?o:m;if((c[j>>2]|0)>(p|0))return;if((c[l>>2]|0)<=(p|0))return;t=c[i>>2]|0;A=(u|0)<(t|0)?t:u;u=c[k>>2]|0;t=(w|0)<(u|0)?w:u+-1|0;switch(c[b+8>>2]|0){case 8:{if((A|0)>(t|0))return;u=h&255;w=b+16|0;C=A;while(1){a[(c[(c[w>>2]|0)+(p<<2)>>2]|0)+C>>0]=u;if((C|0)<(t|0))C=C+1|0;else break}return}case 32:{C=1-A+t|0;if((C|0)<=0)return;u=(c[(c[b+16>>2]|0)+(p<<2)>>2]|0)+(A<<2)|0;w=C;while(1){c[u>>2]=h;if((w|0)>1){u=u+4|0;w=w+-1|0}else break}return}default:return}}else if((q|0)==25){w=o-m|0;u=p-n|0;A=(w|0)<0?0-w|0:w;t=(u|0)<0?0-u|0:u;C=(A|0)>(t|0)?A:t;t=(C|0)==0?1:C;C=(w<<16|0)/(t|0)|0;w=(u<<16|0)/(t|0)|0;if((t|0)<=-1)return;u=b+8|0;A=h&255;y=b+16|0;s=n<<16|32768;z=m<<16|32768;v=t;t=r;while(1){x=z>>16;K=s>>16;b:do if((((t|0)<=(x|0)?(c[j>>2]|0)<=(K|0):0)?(c[k>>2]|0)>(x|0):0)?(c[l>>2]|0)>(K|0):0)switch(c[u>>2]|0){case 8:{a[(c[(c[y>>2]|0)+(K<<2)>>2]|0)+x>>0]=A;break b;break}case 32:{c[(c[(c[y>>2]|0)+(K<<2)>>2]|0)+(x<<2)>>2]=h;break b;break}default:break b}while(0);if((v|0)<=0)break;s=s+w|0;z=z+C|0;v=v+-1|0;t=c[i>>2]|0}return}else if((q|0)==51)return}else{H=f;I=e;J=g}while(0);if((b|0)==0|2819272==(b|0))return;g=(J|0)<(I|0);e=g?I:J;f=g?J:I;if((c[b+28>>2]|0)>(H|0))return;if((c[b+32>>2]|0)<=(H|0))return;I=c[b+36>>2]|0;J=(f|0)<(I|0)?I:f;f=c[b+40>>2]|0;I=(e|0)<(f|0)?e:f+-1|0;switch(c[b+8>>2]|0){case 8:{if((J|0)>(I|0))return;f=h&255;e=b+16|0;g=J;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+H>>0]=f;if((g|0)<(I|0))g=g+1|0;else break}return}case 32:{if((J|0)>(I|0))return;g=c[b+16>>2]|0;b=J;while(1){c[(c[g+(b<<2)>>2]|0)+(H<<2)>>2]=h;if((b|0)<(I|0))b=b+1|0;else break}return}default:return}}function nn(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;if((b|0)==0|(d|0)==0|2819272==(d|0))return;m=c[b>>2]|0;if((((m|0)>(e|0)?(n=c[b+4>>2]|0,(n|0)>(f|0)):0)?(o=c[d+32>>2]|0,(o|0)>(g|0)):0)?(p=c[d+40>>2]|0,(p|0)>(h|0)):0){q=(e|0)<0;r=q?0:e;s=q?e:0;q=g-s|0;t=s+i|0;s=(f|0)<0;u=s?0:f;v=s?f:0;s=h-v|0;w=v+j|0;j=c[d+28>>2]|0;v=(q|0)<(j|0);x=v?q-j|0:0;y=v?j:q;q=x+((t+r|0)>(m|0)?m-r|0:t)|0;t=c[d+36>>2]|0;j=(s|0)<(t|0);v=j?s-t|0:0;z=j?t:s;s=v+((w+u|0)>(n|0)?n-u|0:w)|0;A=z;B=y;C=u-v|0;D=r-x|0;E=(s+z|0)>(p|0)?p-z|0:s;F=(q+y|0)>(o|0)?o-y|0:q}else{A=h;B=g;C=f;D=e;E=0;F=i}i=(l&1|0)!=0;if(i){l=m-D|0;e=l-F|0;if((((e|0)<(m|0)?(f=c[b+4>>2]|0,(C|0)<(f|0)):0)?(g=c[d+32>>2]|0,(B|0)<(g|0)):0)?(h=c[d+40>>2]|0,(A|0)<(h|0)):0){q=(e|0)<0;y=q?0:e;o=B-(q?e:0)|0;s=(C|0)<0;z=s?0:C;p=s?C:0;s=A-p|0;x=E+p|0;p=c[d+28>>2]|0;r=(o|0)<(p|0);v=r?o-p|0:0;u=r?p:o;o=v+((D|0)<0?m-y|0:q?l:F)|0;l=c[d+36>>2]|0;q=(s|0)<(l|0);m=q?s-l|0:0;p=q?l:s;s=m+((x+z|0)>(f|0)?f-z|0:x)|0;G=(o+u|0)>(g|0)?g-u|0:o;H=p;I=u;J=z-m|0;K=y-v|0;L=(s+p|0)>(h|0)?h-p|0:s}else{G=F;H=A;I=B;J=C;K=e;L=0}}else{G=F;H=A;I=B;J=C;K=D;L=E}if((G|0)<0)return;E=(L|0)>0;if((c[d+8>>2]|0)==8){if(!E)return;D=b+16|0;C=d+16|0;B=G+-1|0;A=(G|0)==0;F=k&255;if(i){e=0;do{if(!A){s=(c[(c[C>>2]|0)+(e+H<<2)>>2]|0)+I+B|0;p=(c[(c[D>>2]|0)+(e+J<<2)>>2]|0)+K|0;h=G;while(1){if(a[p>>0]|0)a[s>>0]=F;h=h+-1|0;if(!h)break;else{s=s+-1|0;p=p+1|0}}}e=e+1|0}while((e|0)!=(L|0));return}if(A)return;A=0;do{e=(c[(c[C>>2]|0)+(A+H<<2)>>2]|0)+I|0;B=(c[(c[D>>2]|0)+(A+J<<2)>>2]|0)+K|0;p=G;while(1){if(a[B>>0]|0)a[e>>0]=F;p=p+-1|0;if(!p)break;else{e=e+1|0;B=B+1|0}}A=A+1|0}while((A|0)!=(L|0));return}else{if(!E)return;E=b+16|0;b=d+16|0;d=(G<<2)+-4|0;A=(G|0)==0;if(i){i=0;do{if(!A){F=(c[(c[b>>2]|0)+(i+H<<2)>>2]|0)+(I<<2)+(d<<2)|0;D=(c[(c[E>>2]|0)+(i+J<<2)>>2]|0)+K|0;C=G;while(1){if(a[D>>0]|0)c[F>>2]=k;C=C+-1|0;if(!C)break;else{F=F+-4|0;D=D+1|0}}}i=i+1|0}while((i|0)!=(L|0));return}if(A)return;A=c[E>>2]|0;E=c[b>>2]|0;b=0;do{i=(c[E+(b+H<<2)>>2]|0)+(I<<2)|0;d=(c[A+(b+J<<2)>>2]|0)+K|0;D=G;while(1){if(a[d>>0]|0)c[i>>2]=k;D=D+-1|0;if(!D)break;else{i=i+4|0;d=d+1|0}}b=b+1|0}while((b|0)!=(L|0));return}}function on(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;g=c[b>>2]|0;if((g|0)!=(c[e>>2]|0))return;h=b+4|0;i=c[h>>2]|0;if((i|0)!=(c[e+4>>2]|0))return;j=b+8|0;k=c[j>>2]|0;l=e+8|0;m=c[l>>2]|0;if((k|0)==(m|0)){Oo(b,e,0,0,0,0,g,i);return}if((k|0)==8&(m|0)==32){if((i|0)<=0)return;m=b+16|0;n=e+16|0;o=0;p=i;q=g;while(1){if((q|0)>0){r=c[(c[m>>2]|0)+(o<<2)>>2]|0;s=c[(c[n>>2]|0)+(o<<2)>>2]|0;t=0;do{u=a[r+t>>0]|0;v=u&255;c[s+(t<<2)>>2]=(d[f+(v*3|0)>>0]|0)<<16|(u<<24>>24==0?0:-16777216)|(d[f+(v*3|0)+1>>0]|0)<<8|(d[f+(v*3|0)+2>>0]|0);t=t+1|0;w=c[b>>2]|0}while((t|0)<(w|0));x=w;y=c[h>>2]|0}else{x=q;y=p}o=o+1|0;if((o|0)>=(y|0))break;else{p=y;q=x}}z=x;A=c[j>>2]|0;C=y}else{z=g;A=k;C=i}if((A|0)!=32)return;if(!((c[l>>2]|0)==8&(C|0)>0))return;C=b+28|0;A=b+36|0;i=b+32|0;k=e+28|0;g=b+40|0;y=e+36|0;x=e+32|0;q=b+16|0;p=e+40|0;o=e+16|0;e=0;w=z;while(1){if((w|0)>0){z=0;while(1){a:do if((((c[C>>2]|0)<=(z|0)?(c[A>>2]|0)<=(e|0):0)?(c[i>>2]|0)>(z|0):0)?(c[g>>2]|0)>(e|0):0)switch(c[j>>2]|0){case 8:{D=d[(c[(c[q>>2]|0)+(e<<2)>>2]|0)+z>>0]|0;break a;break}case 32:{D=c[(c[(c[q>>2]|0)+(e<<2)>>2]|0)+(z<<2)>>2]|0;break a;break}default:{D=0;break a}}else D=0;while(0);n=D>>>16&255;m=D>>>8&255;t=D&255;s=-1;r=0;v=65536;while(1){u=n-(d[f+(r*3|0)>>0]|0)|0;E=B(u,u)|0;u=m-(d[f+(r*3|0)+1>>0]|0)|0;F=(B(u,u)|0)+E|0;E=t-(d[f+(r*3|0)+2>>0]|0)|0;u=F+(B(E,E)|0)|0;E=u>>>0<27;F=(s|0)==-1|(u|0)<(v|0);s=E|F?r:s;r=E?257:r+1|0;if((r|0)>=256)break;else v=E?v:F?u:v}b:do if((((c[k>>2]|0)<=(z|0)?(c[y>>2]|0)<=(e|0):0)?(c[x>>2]|0)>(z|0):0)?(c[p>>2]|0)>(e|0):0)switch(c[l>>2]|0){case 8:{a[(c[(c[o>>2]|0)+(e<<2)>>2]|0)+z>>0]=s;break b;break}case 32:{c[(c[(c[o>>2]|0)+(e<<2)>>2]|0)+(z<<2)>>2]=s;break b;break}default:break b}while(0);z=z+1|0;s=c[b>>2]|0;if((z|0)>=(s|0)){G=s;break}}}else G=w;e=e+1|0;if((e|0)>=(c[h>>2]|0))break;else w=G}return}function pn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+20|0;if((c[d>>2]|0)>=(b|0))return;e=b<<2;c[a>>2]=Gp(c[a>>2]|0,e)|0;f=a+4|0;c[f>>2]=Gp(c[f>>2]|0,e)|0;g=a+8|0;c[g>>2]=Gp(c[g>>2]|0,e)|0;h=a+12|0;i=Gp(c[h>>2]|0,e)|0;c[h>>2]=i;e=c[d>>2]|0;if((e|0)<(b|0)?(c[(c[f>>2]|0)+(e<<2)>>2]=0,c[(c[g>>2]|0)+(e<<2)>>2]=e,c[i+(e<<2)>>2]=e,c[(c[a>>2]|0)+(e<<2)>>2]=0,i=e+1|0,(i|0)!=(b|0)):0){e=i;do{i=c[h>>2]|0;c[(c[f>>2]|0)+(e<<2)>>2]=0;c[(c[g>>2]|0)+(e<<2)>>2]=e;c[i+(e<<2)>>2]=e;c[(c[a>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(b|0))}c[d>>2]=b;return}function qn(b){b=b|0;var d=0;d=Dp(64)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;pn(d,b);a[d+32>>0]=0;c[525418]=(c[525418]|0)+1;return d|0}function rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Dp(64)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;pn(e,b);a[e+32>>0]=0;c[525418]=(c[525418]|0)+1;f=Fp(B(d,b)|0)|0;c[c[e>>2]>>2]=f;if((b|0)<=1){g=e+24|0;c[g>>2]=1;h=e+28|0;c[h>>2]=d;return e|0}f=1;do{i=c[e>>2]|0;c[i+(f<<2)>>2]=(c[i>>2]|0)+(B(f,d)|0);f=f+1|0}while((f|0)!=(b|0));g=e+24|0;c[g>>2]=1;h=e+28|0;c[h>>2]=d;return e|0}function sn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+4|0;a:do if((c[a+24>>2]|0)==0?(e=c[(c[d>>2]|0)+(b<<2)>>2]|0,(e|0)<=99):0)do switch(e|0){case 2:{Hp(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 3:{tn(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 4:{dn(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 5:{Xm(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 6:{ro(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 7:{uo(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 8:{Go(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 9:{dq(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 10:{_m(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 12:{Zn(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 11:{Wo(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 0:return;default:break a}while(0);while(0);e=(c[d>>2]|0)+(b<<2)|0;if(!(c[e>>2]|0))return;c[e>>2]=0;e=a+16|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;f=c[a+8>>2]|0;g=f+(d<<2)|0;d=c[g>>2]|0;c[g>>2]=b;g=c[a+12>>2]|0;a=g+(b<<2)|0;c[f+(c[a>>2]<<2)>>2]=d;c[g+(d<<2)>>2]=c[a>>2];c[a>>2]=c[e>>2];return}function tn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;b=a+24|0;if(!(c[b>>2]|0)){d=a+16|0;e=c[d>>2]|0;if((e|0)>0){f=a+8|0;g=0;h=e;do{sn(a,c[(c[f>>2]|0)+(h+-1<<2)>>2]|0);g=g+1|0;h=c[d>>2]|0}while((g|0)<(e|0)&(h|0)!=0)}h=a+20|0;if((c[h>>2]|0)>0){e=c[a+4>>2]|0;g=c[a+8>>2]|0;f=c[a+12>>2]|0;i=0;do{c[e+(i<<2)>>2]=0;c[g+(i<<2)>>2]=i;c[f+(i<<2)>>2]=i;i=i+1|0}while((i|0)<(c[h>>2]|0))}if(c[b>>2]|0)Ep(c[c[a>>2]>>2]|0,0,B(c[d>>2]|0,c[a+28>>2]|0)|0);if(c[d>>2]|0)Pm(63661)}else Hp(c[c[a>>2]>>2]|0);Hp(c[a>>2]|0);Hp(c[a+4>>2]|0);Hp(c[a+8>>2]|0);Hp(c[a+12>>2]|0);Hp(a);c[525418]=(c[525418]|0)+-1;return}function un(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Fa;Fa=Fa+16|0;f=e+8|0;g=e;if(!b){c[g>>2]=63697;vs(1504976,64163,g)|0;Pm(1504976)}if(!d){c[f>>2]=63720;vs(1504976,64163,f)|0;Pm(1504976)}f=(c[a+24>>2]|0)==0;g=a+16|0;h=c[g>>2]|0;i=h+1|0;c[g>>2]=i;j=c[a+20>>2]|0;k=(j|0)<=(h|0);if(f)if(k){pn(a,j+8+((j|0)/2|0)|0);l=c[g>>2]|0}else l=i;else if(k){c[g>>2]=h;m=-1;n=a+4|0;o=c[a>>2]|0;p=o+(m<<2)|0;c[p>>2]=d;q=c[n>>2]|0;r=q+(m<<2)|0;c[r>>2]=b;Fa=e;return m|0}else l=i;i=c[(c[a+8>>2]|0)+(l+-1<<2)>>2]|0;l=a+4|0;c[(c[l>>2]|0)+(i<<2)>>2]=1;m=i;n=l;o=c[a>>2]|0;p=o+(m<<2)|0;c[p>>2]=d;q=c[n>>2]|0;r=q+(m<<2)|0;c[r>>2]=b;Fa=e;return m|0}function vn(){var a=0;if(!2819272)return;a=c[526412]|0;if(a|0)dn(a)|0;a=cn(33,33,32)|0;c[526412]=a;Zm(a);$m(c[526412]|0,15,8,17,24,-1);$m(c[526412]|0,8,15,24,17,-1);$m(c[526412]|0,16,9,16,23,-6250336);$m(c[526412]|0,9,16,23,16,-6250336);$m(c[526412]|0,11,11,21,21,0);$m(c[526412]|0,16,11,16,21,-1);$m(c[526412]|0,11,16,21,16,-1);$m(c[526412]|0,14,14,18,18,0);return}function wn(){vn();c[526413]=c[526412];return}function xn(){return (c[526414]|0)!=0|0}function yn(){var a=0,b=0,d=0,e=0;a=c[526414]|0;if(!a){do{Sm()|0;b=c[526414]|0}while(!(b|0));d=b}else d=a;a=c[378420]|0;b=d+-1|0;if((d|0)<=1){c[526414]=b;return a|0}d=0;do{e=d;d=d+1|0;c[1513680+(e<<2)>>2]=c[1513680+(d<<2)>>2]}while((d|0)!=(b|0));c[526414]=b;return a|0}function zn(){var b=0,c=0,d=0;b=0;while(1){if((b|0)!=57&(a[1513808+b>>0]|0)!=0){c=b;d=4;break}b=b+1|0;if(b>>>0>=512){c=0;d=4;break}}if((d|0)==4)return c|0;return 0}function An(b){b=b|0;var c=0,d=0;a:do if((b|0)<0)switch(b|0){case -6:{c=a[1514033]|0;if(c<<24>>24!=0&(a[1514545]|0)==0){d=c<<24>>24==3|(a[1515057]|0)==0?3:1;return d|0}c=a[1514037]|0;if(!(c<<24>>24!=0&(a[1514549]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1515061]|0)==0?3:1;return d|0}case -2:{c=a[1514310]|0;if(c<<24>>24!=0&(a[1514822]|0)==0){d=c<<24>>24==3|(a[1515334]|0)==0?3:1;return d|0}c=a[1514311]|0;if(!(c<<24>>24!=0&(a[1514823]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1515335]|0)==0?3:1;return d|0}case -3:{c=a[1514308]|0;if(c<<24>>24!=0&(a[1514820]|0)==0){d=c<<24>>24==3|(a[1515332]|0)==0?3:1;return d|0}c=a[1514309]|0;if(!(c<<24>>24!=0&(a[1514821]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1515333]|0)==0?3:1;return d|0}case -4:{c=a[1514034]|0;if(c<<24>>24!=0&(a[1514546]|0)==0){d=c<<24>>24==3|(a[1515058]|0)==0?3:1;return d|0}c=a[1514038]|0;if(!(c<<24>>24!=0&(a[1514550]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1515062]|0)==0?3:1;return d|0}case -5:{c=a[1514032]|0;if(c<<24>>24!=0&(a[1514544]|0)==0){d=c<<24>>24==3|(a[1515056]|0)==0?3:1;return d|0}c=a[1514036]|0;if(c<<24>>24!=0&(a[1514548]|0)==0){d=c<<24>>24==3|(a[1515060]|0)==0?3:1;return d|0}c=a[1514308]|0;if(c<<24>>24!=0&(a[1514820]|0)==0){d=c<<24>>24==3|(a[1515332]|0)==0?3:1;return d|0}c=a[1514309]|0;if(!(c<<24>>24!=0&(a[1514821]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1515333]|0)==0?3:1;return d|0}default:break a}while(0);c=a[1513808+b>>0]|0;if(!(c<<24>>24)){d=0;return d|0}if(!(a[1514320+b>>0]|0))return (c<<24>>24==3|(a[1514832+b>>0]|0)==0?3:1)|0;else{d=0;return d|0}return 0}function Bn(){Yu(1513808,0,512)|0;Yu(1514832,0,512)|0;Yu(1514320,0,512)|0;return}function Cn(){return}function Dn(){c[526415]=rn(1024,72)|0;return}function En(){tn(c[526415]|0);return}
  7560. function Dc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=b+12|0;g=c[f>>2]|0;h=b+56|0;b=c[h>>2]|0;if(!b)return;i=g+48|0;j=g+56|0;k=g+50|0;l=g+49|0;m=b;while(1){b=m+8|0;n=c[b>>2]|0;if(n>>>0<e>>>0){o=16;break}c[h>>2]=c[m>>2];p=m+12|0;do if(((a[i>>0]^3)&(a[m+5>>0]^3))<<24>>24){q=m+16|0;c[(c[q>>2]|0)+12>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[q>>2];r=c[b>>2]|0;c[p>>2]=c[r>>2];s=c[r+4>>2]|0;c[q>>2]=s;c[b>>2]=p;c[m>>2]=c[j>>2];c[j>>2]=m;q=m+5|0;r=a[q>>0]|0;t=r&255;if(!(t&7)){if((a[k>>0]|0)!=2?(d[l>>0]|0)>=2:0){a[q>>0]=t&184|a[i>>0]&3;break}a[q>>0]=r&-69|4;if(s&64|0?(s=c[p>>2]|0,a[s+5>>0]&3):0)uc(g,s)}}else{if((n|0)!=(p|0)){s=m+16|0;c[(c[s>>2]|0)+12>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[s>>2]}s=c[f>>2]|0;Ma[c[s>>2]&1](c[s+4>>2]|0,m,20,0)|0;r=s+12|0;c[r>>2]=(c[r>>2]|0)+-20}while(0);m=c[h>>2]|0;if(!m){o=16;break}}if((o|0)==16)return}function Ec(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=Fa;Fa=Fa+16|0;i=h;j=f+4|0;a:do switch(c[j>>2]&63){case 0:{k=1;break}case 3:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 1:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 2:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 54:case 22:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 4:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 20:{l=c[f>>2]|0;m=c[g>>2]|0;n=c[l+12>>2]|0;if((l|0)!=(m|0))if((n|0)==(c[m+12>>2]|0))k=(ss(l+16|0,m+16|0,n)|0)==0;else k=0;else k=1;break}case 7:{n=c[f>>2]|0;m=c[g>>2]|0;if((n|0)!=(m|0))if(((e|0)!=0?(l=c[n+8>>2]|0,n=c[m+8>>2]|0,(l|0)!=0):0)?(m=l+6|0,o=a[m>>0]|0,(o&32)==0):0){p=c[(c[e+12>>2]|0)+176>>2]|0;q=c[p+8>>2]|0;r=(c[l+16>>2]|0)+(((1<<(d[l+7>>0]|0))+-1&q)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(p|0):0){s=17;break}t=c[r+16>>2]|0;if(!t){u=2099900;break}else r=t}if((s|0)==17)u=r;t=u+4|0;v=c[t>>2]|0;if(!v){a[m>>0]=o|32;k=0;break a}if(u)if((l|0)!=(n|0))if((n|0)!=0?(w=n+6|0,x=a[w>>0]|0,(x&32)==0):0){y=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&q)*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(p|0):0){s=28;break}z=c[y+16>>2]|0;if(!z){A=2099900;break}else y=z}if((s|0)==28)A=y;p=c[A+4>>2]|0;if(!p){a[w>>0]=x|32;k=0;break a}if((A|0)!=0&(v|0)==(p|0)?(Ec(0,u,A)|0)!=0:0){B=u;C=t;s=59}else k=0}else k=0;else{B=u;C=t;s=59}else k=0}else k=0;else k=1;break}case 5:{p=c[f>>2]|0;q=c[g>>2]|0;if((p|0)!=(q|0))if(((e|0)!=0?(n=c[p+8>>2]|0,p=c[q+8>>2]|0,(n|0)!=0):0)?(q=n+6|0,l=a[q>>0]|0,(l&32)==0):0){o=c[(c[e+12>>2]|0)+176>>2]|0;m=c[o+8>>2]|0;r=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&m)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(o|0):0){s=41;break}z=c[r+16>>2]|0;if(!z){D=2099900;break}else r=z}if((s|0)==41)D=r;t=D+4|0;v=c[t>>2]|0;if(!v){a[q>>0]=l|32;k=0;break a}if(D)if((n|0)!=(p|0))if((p|0)!=0?(x=p+6|0,w=a[x>>0]|0,(w&32)==0):0){y=(c[p+16>>2]|0)+(((1<<(d[p+7>>0]|0))+-1&m)*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(o|0):0){s=52;break}z=c[y+16>>2]|0;if(!z){E=2099900;break}else y=z}if((s|0)==52)E=y;o=c[E+4>>2]|0;if(!o){a[x>>0]=w|32;k=0;break a}if((E|0)!=0&(v|0)==(o|0)?(Ec(0,D,E)|0)!=0:0){B=D;C=t;s=59}else k=0}else k=0;else{B=D;C=t;s=59}else k=0}else k=0;else k=1;break}default:k=(c[f>>2]|0)==(c[g>>2]|0)}while(0);b:do if((s|0)==59){D=e+8|0;E=c[D>>2]|0;u=e+28|0;A=E-(c[u>>2]|0)|0;c[D>>2]=E+8;c[E>>2]=c[B>>2];c[E+4>>2]=c[C>>2];E=c[D>>2]|0;c[D>>2]=E+8;c[E>>2]=c[f>>2];c[E+4>>2]=c[j>>2];E=c[D>>2]|0;c[D>>2]=E+8;c[E>>2]=c[g>>2];c[E+4>>2]=c[g+4>>2];E=(c[D>>2]|0)+-24|0;o=a[(c[e+16>>2]|0)+18>>0]&1;m=e+38|0;p=(b[m>>1]|0)+1<<16>>16;b[m>>1]=p;if((p&65535)>199){if(p<<16>>16==200)lc(e,45525,i);if((p&65535)>224)jc(e,6)}p=o<<24>>24!=0;if(!p){o=e+36|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16}if(!(pc(e,E,1)|0))qc(e);if(!p){p=e+36|0;b[p>>1]=(b[p>>1]|0)+-1<<16>>16}b[m>>1]=(b[m>>1]|0)+-1<<16>>16;m=(c[u>>2]|0)+A|0;A=c[D>>2]|0;u=A+-8|0;c[D>>2]=u;c[m>>2]=c[u>>2];c[m+4>>2]=c[A+-4>>2];A=c[D>>2]|0;switch(c[A+4>>2]|0){case 0:{k=0;break b;break}case 1:{k=(c[A>>2]|0)!=0;break b;break}default:{k=1;break b}}}while(0);Fa=h;return k&1|0}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[b+4>>2]|0;if((e|0)==3){if((c[d+4>>2]|0)==3){f=(c[b>>2]|0)<(c[d>>2]|0)&1;return f|0}}else if((e&15|0)==4?(c[d+4>>2]&15|0)==4:0){e=c[b>>2]|0;g=c[d>>2]|0;h=e+16|0;i=g+16|0;j=zu(h,i)|0;a:do if(!j){k=c[g+12>>2]|0;l=i;m=c[e+12>>2]|0;n=h;while(1){o=ft(n)|0;if((o|0)==(k|0)){p=0;break a}q=o+1|0;if((o|0)==(m|0)){p=-1;break a}l=l+q|0;n=n+q|0;o=zu(n,l)|0;if(o|0){p=o;break}else{k=k-q|0;m=m-q|0}}}else p=j;while(0);f=p>>>31;return f|0}p=a+8|0;if(!(Lc(a,b,d,c[p>>2]|0,26)|0))Mc(a,b,d);d=c[p>>2]|0;p=c[d+4>>2]|0;switch(p|0){case 1:{f=(c[d>>2]|0)!=0&1;return f|0}case 0:{f=p;return f|0}default:{f=1;return f|0}}return 0}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c[b+4>>2]|0;if((e|0)==3){if((c[d+4>>2]|0)==3){f=(c[b>>2]|0)<=(c[d>>2]|0);g=f&1;return g|0}}else if((e&15|0)==4?(c[d+4>>2]&15|0)==4:0){e=c[b>>2]|0;h=c[d>>2]|0;i=e+16|0;j=h+16|0;k=zu(i,j)|0;a:do if(!k){l=c[h+12>>2]|0;m=j;n=c[e+12>>2]|0;o=i;while(1){p=ft(o)|0;q=(p|0)==(n|0);if((p|0)==(l|0))break;r=p+1|0;if(q){s=-1;break a}m=m+r|0;o=o+r|0;p=zu(o,m)|0;if(p|0){s=p;break a}else{l=l-r|0;n=n-r|0}}s=(q^1)&1}else s=k;while(0);f=(s|0)<1;g=f&1;return g|0}s=a+8|0;k=(Lc(a,b,d,c[s>>2]|0,27)|0)==0;q=c[s>>2]|0;if(!k)switch(c[q+4>>2]|0){case 1:{f=(c[q>>2]|0)!=0;g=f&1;return g|0}case 0:{f=0;g=f&1;return g|0}default:{f=1;g=f&1;return g|0}}if(!(Lc(a,d,b,q,26)|0))Mc(a,b,d);d=c[s>>2]|0;switch(c[d+4>>2]|0){case 1:{f=(c[d>>2]|0)==0;g=f&1;return g|0}case 0:{f=1;g=f&1;return g|0}default:{f=0;g=f&1;return g|0}}return 0}function Hc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=Fa;Fa=Fa+16|0;h=g;if(ou(b,45651)|0){i=0;Fa=g;return i|0}do if(!(ou(b,45654)|0)){if(!(ou(b,45657)|0)){j=~~(+Et(b,h)*65536.0)>>>0;c[f>>2]=j;k=c[h>>2]|0;break}c[h>>2]=b;j=b;while(1){l=a[j>>0]|0;m=j+1|0;if(!(a[64+((l&255)+1)>>0]&8))break;else j=m}switch(l<<24>>24){case 45:{n=1;o=m;break}case 43:{n=0;o=m;break}default:{n=0;o=j}}a:do if((a[o>>0]|0)==48){switch(a[o+1>>0]|0){case 66:case 98:break;default:{p=0;q=b;break a}}r=o+2|0;s=a[r>>0]|0;if((s&-2)<<24>>24==48){t=0;u=s;v=0;w=r;do{t=t<<1|u<<24>>24==49;v=v+1|0;w=w+1|0;u=a[w>>0]|0}while((u&-2)<<24>>24==48);x=t<<16;y=v;z=w;A=u}else{x=0;y=0;z=r;A=s}B=z;if(A<<24>>24==46){C=z+1|0;D=C;E=a[C>>0]|0;if((E&-2)<<24>>24==48){F=0;G=0;H=E;E=C;do{F=G>>>0<16?F<<1|H<<24>>24==49:F;G=G+1|0;E=E+1|0;H=a[E>>0]|0}while((H&-2)<<24>>24==48);I=F;J=G;K=E}else{I=0;J=0;K=D}H=K-D|0;L=I<<((H+-1|0)>>>0<15?16-H|0:0);M=J;N=K}else{L=0;M=0;N=B}if(M|y){c[h>>2]=N;H=N;switch(a[H>>0]|0){case 80:case 112:{p=0;q=H;break a;break}default:{}}c[h>>2]=H;s=L+x|0;if(!n){p=~~+is(+(s|0),0);q=H;break}else{p=~~+is(+(0-s|0),0);q=H;break}}else{p=0;q=b}}else{p=0;q=b}while(0);c[f>>2]=p;k=q}else{c[h>>2]=b;j=b;while(1){O=a[j>>0]|0;P=j+1|0;if(!(a[64+((O&255)+1)>>0]&8))break;else j=P}switch(O<<24>>24){case 45:{Q=1;R=P;break}case 43:{Q=0;R=P;break}default:{Q=0;R=j}}b:do if((a[R>>0]|0)==48){switch(a[R+1>>0]|0){case 88:case 120:break;default:{S=0;T=b;break b}}H=R+2|0;s=a[H>>0]|0;r=s&255;if(!(a[64+(r+1)>>0]&16)){U=0;V=0;W=H;X=s}else{s=0;u=r;r=0;w=H;do{H=u+-48|0;s=(H>>>0<10?H:(u|32)+-87|0)+(s<<4)|0;r=r+1|0;w=w+1|0;Y=a[w>>0]|0;u=Y&255}while((a[64+(u+1)>>0]&16)!=0);U=s<<16;V=r;W=w;X=Y}u=W;if(X<<24>>24==46){B=W+1|0;D=B;E=d[B>>0]|0;if(!(a[64+(E+1)>>0]&16)){Z=0;_=0;$=D}else{G=0;F=0;H=E;E=B;do{B=H+-48|0;G=F>>>0<4?(B>>>0<10?B:(H|32)+-87|0)+(G<<4)|0:G;F=F+1|0;E=E+1|0;H=d[E>>0]|0}while((a[64+(H+1)>>0]&16)!=0);Z=G;_=F;$=E}H=$-D|0;aa=Z<<((H+-1|0)>>>0<3?16-(H<<2)|0:0);ba=_;ca=$}else{aa=0;ba=0;ca=u}if(ba|V){c[h>>2]=ca;H=ca;switch(a[H>>0]|0){case 80:case 112:{S=0;T=H;break b;break}default:{}}c[h>>2]=H;w=aa+U|0;if(!Q){S=~~+is(+(w|0),0);T=H;break}else{S=~~+is(+(0-w|0),0);T=H;break}}else{S=0;T=b}}else{S=0;T=b}while(0);c[f>>2]=S;k=T}while(0);if((k|0)==(b|0)){i=0;Fa=g;return i|0}if(!(a[64+((d[k>>0]|0)+1)>>0]&8))da=k;else{T=k;do T=T+1|0;while((a[64+((d[T>>0]|0)+1)>>0]&8)!=0);c[h>>2]=T;da=T}i=(da|0)==(b+e|0)&1;Fa=g;return i|0}function Ic(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=Fa;Fa=Fa+16|0;i=h;j=e+28|0;k=c[j>>2]|0;l=e+7|0;m=a[l>>0]|0;n=m&255;o=e+16|0;p=c[o>>2]|0;if((k|0)<(f|0)){if((f+1|0)>>>0>536870911)wc(b);q=e+12|0;r=c[q>>2]|0;s=k<<3;k=f<<3;t=c[b+12>>2]|0;u=(r|0)==0;v=t+4|0;w=Ma[c[t>>2]&1](c[v>>2]|0,r,s,k)|0;if((k|0)!=0&(w|0)==0){if(!(a[t+51>>0]|0))jc(b,4);vc(b,1);x=Ma[c[t>>2]&1](c[v>>2]|0,r,s,k)|0;if(!x)jc(b,4);else y=x}else y=w;w=t+12|0;c[w>>2]=(u?0:0-s|0)+k+(c[w>>2]|0);c[q>>2]=y;q=c[j>>2]|0;if((q|0)<(f|0)){w=q;do{c[y+(w<<3)+4>>2]=0;w=w+1|0}while((w|0)!=(f|0))}c[j>>2]=f}if(!g){c[o>>2]=2099924;z=0;A=0;B=2099924}else{f=g+-1|0;if(f>>>0>255){g=f;j=0;while(1){w=j+8|0;y=g>>>8;if(g>>>0>65535){g=y;j=w}else{C=w;D=y;break}}}else{C=0;D=f}f=C+(d[400+D>>0]|0)|0;if((f|0)>30)lc(b,45542,i);i=1<<f;if((i+1|0)>>>0>214748364)wc(b);D=20<<f;C=c[b+12>>2]|0;j=C+4|0;g=Ma[c[C>>2]&1](c[j>>2]|0,0,0,D)|0;if(f>>>0<30&(g|0)==0){if(!(a[C+51>>0]|0))jc(b,4);vc(b,1);y=Ma[c[C>>2]&1](c[j>>2]|0,0,0,D)|0;if(!y)jc(b,4);else E=y}else E=g;g=C+12|0;c[g>>2]=(c[g>>2]|0)+D;c[o>>2]=E;D=0;g=E;do{c[g+(D*20|0)+16>>2]=0;c[g+(D*20|0)+12>>2]=0;c[g+(D*20|0)+4>>2]=0;D=D+1|0;g=c[o>>2]|0}while((D|0)<(i|0));z=i;A=f&255;B=g}a[l>>0]=A;c[e+20>>2]=B+(z*20|0);if(m<<24>>24!=31){m=1<<n;do{z=m;m=m+-1|0;B=p+(m*20|0)+4|0;if(c[B>>2]|0){A=p+(m*20|0)+8|0;l=xc(e,A)|0;if((l|0)==2099900)F=yc(b,e,A)|0;else F=l;c[F>>2]=c[p+(m*20|0)>>2];c[F+4>>2]=c[B>>2]}}while((z|0)>1)}if((p|0)==2099924){Fa=h;return}F=20<<n;n=c[b+12>>2]|0;Ma[c[n>>2]&1](c[n+4>>2]|0,p,F,0)|0;b=n+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)==0?0:F);Fa=h;return}function Jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=d<<2;f=e+16|0;g=c[b+12>>2]|0;h=g+4|0;i=Ma[c[g>>2]&1](c[h>>2]|0,0,6,f)|0;if((f|0)!=0&(i|0)==0){if(!(a[g+51>>0]|0))jc(b,4);vc(b,1);j=Ma[c[g>>2]&1](c[h>>2]|0,0,6,f)|0;if(!j)jc(b,4);else k=j}else k=i;i=g+12|0;c[i>>2]=(c[i>>2]|0)+f;f=g+56|0;a[k+5>>0]=a[g+48>>0]&3;a[k+4>>0]=6;c[k>>2]=c[f>>2];c[f>>2]=k;c[k+12>>2]=0;a[k+6>>0]=d;if(!d)return k|0;Yu(k+16|0,0,e|0)|0;return k|0}function Kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b+12>>2]|0;f=b+56|0;g=c[f>>2]|0;a:do if(!g)h=f;else{i=f;j=g;while(1){k=c[j+8>>2]|0;if(k>>>0<d>>>0){h=i;break a}if((k|0)==(d|0))break;k=c[j>>2]|0;if(!k){l=8;break}else{m=j;j=k;i=m}}if((l|0)==8){h=j;break}i=j+5|0;m=a[i>>0]^3;if(((a[e+48>>0]^3)&m)<<24>>24){n=j;return n|0}a[i>>0]=m;n=j;return n|0}while(0);l=e+4|0;g=Ma[c[e>>2]&1](c[l>>2]|0,0,10,20)|0;if(!g){if(!(a[e+51>>0]|0))jc(b,4);vc(b,1);f=Ma[c[e>>2]&1](c[l>>2]|0,0,10,20)|0;if(!f)jc(b,4);else o=f}else o=g;g=e+12|0;c[g>>2]=(c[g>>2]|0)+20;g=(h|0)==0?e+56|0:h;a[o+5>>0]=a[e+48>>0]&3;a[o+4>>0]=10;c[o>>2]=c[g>>2];c[g>>2]=o;c[o+8>>2]=d;c[o+12>>2]=e+96;d=e+112|0;e=c[d>>2]|0;c[o+16>>2]=e;c[e+12>>2]=o;c[d>>2]=o;n=o;return n|0}function Lc(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=Fa;Fa=Fa+16|0;k=j;l=f+4|0;m=c[l>>2]|0;switch(m&15){case 5:{n=(c[f>>2]|0)+8|0;break}case 7:{n=(c[f>>2]|0)+8|0;break}default:n=(c[e+12>>2]|0)+276+((m&15)<<2)|0}m=c[n>>2]|0;a:do if(!m)o=2099900;else{n=c[(c[e+12>>2]|0)+156+(i<<2)>>2]|0;p=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[p+12>>2]|0)==68?(c[p+8>>2]|0)==(n|0):0)break;q=c[p+16>>2]|0;if(!q){o=2099900;break a}else p=q}o=p}while(0);b:do if(!(c[o+4>>2]|0)){m=c[g+4>>2]|0;switch(m&15){case 5:{r=(c[g>>2]|0)+8|0;break}case 7:{r=(c[g>>2]|0)+8|0;break}default:r=(c[e+12>>2]|0)+276+((m&15)<<2)|0}m=c[r>>2]|0;if(!m)s=2099900;else{n=c[(c[e+12>>2]|0)+156+(i<<2)>>2]|0;q=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(n|0):0)break;m=c[q+16>>2]|0;if(!m){s=2099900;break b}else q=m}s=q}}else s=o;while(0);o=s+4|0;if(!(c[o>>2]|0)){t=0;Fa=j;return t|0}i=e+28|0;r=h-(c[i>>2]|0)|0;h=e+8|0;n=c[h>>2]|0;c[h>>2]=n+8;c[n>>2]=c[s>>2];c[n+4>>2]=c[o>>2];o=c[h>>2]|0;c[h>>2]=o+8;c[o>>2]=c[f>>2];c[o+4>>2]=c[l>>2];l=c[h>>2]|0;c[h>>2]=l+8;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];g=(c[h>>2]|0)+-24|0;l=a[(c[e+16>>2]|0)+18>>0]&1;o=e+38|0;f=(b[o>>1]|0)+1<<16>>16;b[o>>1]=f;if((f&65535)>199){if(f<<16>>16==200)lc(e,45525,k);if((f&65535)>224)jc(e,6)}f=l<<24>>24!=0;if(!f){l=e+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16}if(!(pc(e,g,1)|0))qc(e);if(!f){f=e+36|0;b[f>>1]=(b[f>>1]|0)+-1<<16>>16}b[o>>1]=(b[o>>1]|0)+-1<<16>>16;o=(c[i>>2]|0)+r|0;r=c[h>>2]|0;i=r+-8|0;c[h>>2]=i;c[o>>2]=c[i>>2];c[o+4>>2]=c[r+-4>>2];t=1;Fa=j;return t|0}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Fa;Fa=Fa+16|0;f=e+8|0;g=e;e=c[16+((c[b+4>>2]&15)+1<<2)>>2]|0;b=c[16+((c[d+4>>2]&15)+1<<2)>>2]|0;if((e|0)==(b|0)){c[g>>2]=e;lc(a,45660,g)}else{c[f>>2]=e;c[f+4>>2]=b;lc(a,45693,f)}}function Nc(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=Fa;Fa=Fa+64|0;e=d+48|0;f=d+40|0;h=d+32|0;i=d;j=+(c|0)*.0000152587890625;g[h>>3]=j;vs(i,45862,h)|0;if((eu(i,45868)|0)==0?(eu(i,45874)|0)==0:0){g[e>>3]=j;vs(i,45886,e)|0}else{g[f>>3]=j;vs(i,45880,f)|0}f=ft(i)|0;e=f+-1|0;h=i+e|0;c=a[h>>0]|0;k=(f|0)>0;if(k&c<<24>>24==48){f=h;l=e;while(1){a[f>>0]=0;e=l;l=l+-1|0;m=i+l|0;n=a[m>>0]|0;o=(e|0)>0;if(!(o&n<<24>>24==48)){p=o;q=n;r=m;break}else f=m}}else{p=k;q=c;r=h}if(!(p&q<<24>>24==46)){s=ft(i)|0;t=s+1|0;Xu(b|0,i|0,t|0)|0;Fa=d;return s|0}a[r>>0]=0;s=ft(i)|0;t=s+1|0;Xu(b|0,i|0,t|0)|0;Fa=d;return s|0}function Oc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=b+12|0;h=c[g>>2]|0;i=c[h+44>>2]^f;j=f>>>5;if(j>>>0<f>>>0){k=~j;l=f;m=i;while(1){n=(m<<5)+(m>>>2)+(d[e+(l+-1)>>0]|0)^m;l=l+k|0;if(l>>>0<=j>>>0){o=n;break}else m=n}}else o=i;i=h+24|0;m=h+32|0;j=c[m>>2]|0;l=(c[i>>2]|0)+((j+-1&o)<<2)|0;k=c[l>>2]|0;a:do if(k|0){n=k;while(1){if(((o|0)==(c[n+8>>2]|0)?(c[n+12>>2]|0)==(f|0):0)?(ss(e,n+16|0,f)|0)==0:0)break;p=c[n>>2]|0;if(!p)break a;else n=p}p=n+5|0;q=a[p>>0]^3;if(((a[h+48>>0]^3)&q)<<24>>24){r=n;return r|0}a[p>>0]=q;r=n;return r|0}while(0);k=h+28|0;if((j|0)<1073741823?(c[k>>2]|0)>>>0>=j>>>0:0){Sc(b,j<<1);s=(c[i>>2]|0)+(((c[m>>2]|0)+-1&o)<<2)|0;t=c[g>>2]|0}else{s=l;t=h}h=f+17|0;l=t+4|0;g=Ma[c[t>>2]&1](c[l>>2]|0,0,4,h)|0;if((h|0)!=0&(g|0)==0){if(!(a[t+51>>0]|0))jc(b,4);vc(b,1);m=Ma[c[t>>2]&1](c[l>>2]|0,0,4,h)|0;if(!m)jc(b,4);else u=m}else u=g;g=t+12|0;c[g>>2]=(c[g>>2]|0)+h;h=(s|0)==0?t+56|0:s;a[u+5>>0]=a[t+48>>0]&3;a[u+4>>0]=4;c[u>>2]=c[h>>2];c[h>>2]=u;c[u+12>>2]=f;c[u+8>>2]=o;a[u+6>>0]=0;o=u+16|0;Xu(o|0,e|0,f|0)|0;a[o+f>>0]=0;c[k>>2]=(c[k>>2]|0)+1;r=u;return r|0}function Pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;Qc(a,(e|0)==3|(e&15|0)==4?d:b,45746)}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=Fa;Fa=Fa+32|0;g=f+16|0;h=f;i=f+24|0;f=c[b+16>>2]|0;c[i>>2]=0;j=c[16+((c[d+4>>2]&15)+1<<2)>>2]|0;a:do if(a[f+18>>0]&1){k=c[c[f>>2]>>2]|0;l=a[k+6>>0]|0;b:do if(l<<24>>24){m=l&255;n=0;while(1){if((c[(c[k+16+(n<<2)>>2]|0)+8>>2]|0)==(d|0))break;o=n+1|0;if(o>>>0<m>>>0)n=o;else break b}m=c[(c[(c[k+12>>2]|0)+28>>2]|0)+(n<<3)>>2]|0;o=(m|0)==0?45758:m+16|0;c[i>>2]=o;p=45760;q=o;c[h>>2]=e;r=h+4|0;c[r>>2]=p;s=h+8|0;c[s>>2]=q;t=h+12|0;c[t>>2]=j;lc(b,45768,h)}while(0);l=c[f+24>>2]|0;o=c[f+4>>2]|0;m=l;if(l>>>0<o>>>0){u=l;while(1){if((u|0)==(d|0))break;u=u+8|0;if(u>>>0>=o>>>0)break a}o=c[k+12>>2]|0;u=Rc(o,((c[f+28>>2]|0)-(c[o+12>>2]|0)>>2)+-1|0,d-m>>3,i)|0;if(u|0){p=u;q=c[i>>2]|0;c[h>>2]=e;r=h+4|0;c[r>>2]=p;s=h+8|0;c[s>>2]=q;t=h+12|0;c[t>>2]=j;lc(b,45768,h)}}}while(0);c[g>>2]=e;c[g+4>>2]=j;lc(b,45803,g)}function Rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=b+24|0;h=b+12|0;i=c[b+60>>2]|0;j=(i|0)>0;k=d;d=e;a:while(1){b:do if(j){l=c[g>>2]|0;e=d+1|0;m=0;while(1){if((c[l+(m*12|0)+4>>2]|0)>(k|0))break b;if((c[l+(m*12|0)+8>>2]|0)>(k|0)){n=e+-1|0;if(!n){o=8;break a}else p=n}else p=e;n=m+1|0;if((n|0)<(i|0)){e=p;m=n}else break}}while(0);c[f>>2]=0;if((k|0)<=0){q=0;o=51;break}r=c[h>>2]|0;e=-1;n=0;s=0;while(1){t=c[r+(s<<2)>>2]|0;u=t>>>6&255;switch(t&63){case 4:{v=(u|0)>(d|0)|(u+(t>>>23)|0)<(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 47:{v=(u+2|0)>(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 43:case 42:{v=(u|0)>(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 36:{x=s+-131070+(t>>>14)|0;v=e;w=(x|0)>(n|0)&((x|0)<=(k|0)&(s|0)<(x|0))?x:n;break}case 40:{v=(u|0)==(d|0)?((s|0)<(n|0)?-1:s):e;w=n;break}default:{v=((u|0)==(d|0)?(a[336+(t&63)>>0]&64)!=0:0)?((s|0)<(n|0)?-1:s):e;w=n}}s=s+1|0;if((s|0)==(k|0))break;else{e=v;n=w}}if((v|0)==-1){q=0;o=51;break}y=c[r+(v<<2)>>2]|0;switch(y&63){case 7:case 6:{o=22;break a;break}case 5:{o=39;break a;break}case 2:case 1:{o=40;break a;break}case 12:{o=45;break a;break}case 0:break;default:{q=0;o=51;break a}}d=y>>>23;if(d>>>0>=(y>>>6&255)>>>0){q=0;o=51;break}else k=v}if((o|0)==8){c[f>>2]=(c[l+(m*12|0)>>2]|0)+16;q=56736;return q|0}else if((o|0)==22){m=y>>>14;l=m&511;k=y>>>23;c:do if((y&63|0)==7)if(j){d=c[g>>2]|0;w=k+1|0;h=0;while(1){if((c[d+(h*12|0)+4>>2]|0)>(v|0)){z=0;break c}if((c[d+(h*12|0)+8>>2]|0)>(v|0)){p=w+-1|0;if(!p)break;else A=p}else A=w;p=h+1|0;if((p|0)<(i|0)){w=A;h=p}else{z=0;break c}}z=(c[d+(h*12|0)>>2]|0)+16|0}else z=0;else{w=c[(c[b+28>>2]|0)+(k<<3)>>2]|0;z=(w|0)==0?45758:w+16|0}while(0);if(!(y&4194304)){k=Rc(b,v,l,f)|0;if(!((k|0)!=0?(a[k>>0]|0)==99:0))o=36}else{k=c[b+8>>2]|0;l=m&255;if((c[k+(l<<3)+4>>2]&15|0)==4)c[f>>2]=(c[k+(l<<3)>>2]|0)+16;else o=36}if((o|0)==36)c[f>>2]=45758;if(!z){q=45840;return q|0}l=(Xs(z,45828)|0)==0;q=l?45833:45840;return q|0}else if((o|0)==39){l=c[(c[b+28>>2]|0)+(y>>>23<<3)>>2]|0;c[f>>2]=(l|0)==0?45758:l+16|0;q=45760;return q|0}else if((o|0)==40){if((y&63|0)==1)B=y>>>14;else B=(c[r+(v+1<<2)>>2]|0)>>>6;r=c[b+8>>2]|0;if((c[r+(B<<3)+4>>2]&15|0)!=4){q=0;return q|0}c[f>>2]=(c[r+(B<<3)>>2]|0)+16;q=45853;return q|0}else if((o|0)==45){B=y>>>14;if(!(y&4194304)){y=Rc(b,v,B&511,f)|0;if(y|0?(a[y>>0]|0)==99:0){q=45846;return q|0}}else{y=c[b+8>>2]|0;b=B&255;if((c[y+(b<<3)+4>>2]&15|0)==4){c[f>>2]=(c[y+(b<<3)>>2]|0)+16;q=45846;return q|0}}c[f>>2]=45758;q=45846;return q|0}else if((o|0)==51)return q|0;return 0}function Sc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=b+12|0;g=c[f>>2]|0;h=g+24|0;i=g+49|0;if(!(1<<d[i>>0]&-5))do Tc(b)|0;while(!(1<<d[i>>0]&-5|0));i=g+32|0;g=c[i>>2]|0;if((g|0)<(e|0)){if((e+1|0)>>>0>1073741823)wc(b);j=c[h>>2]|0;k=g<<2;l=e<<2;m=c[f>>2]|0;n=(j|0)==0;o=m+4|0;p=Ma[c[m>>2]&1](c[o>>2]|0,j,k,l)|0;if((l|0)!=0&(p|0)==0){if(!(a[m+51>>0]|0))jc(b,4);vc(b,1);q=Ma[c[m>>2]&1](c[o>>2]|0,j,k,l)|0;if(!q)jc(b,4);else r=q}else r=p;p=m+12|0;c[p>>2]=(n?0:0-k|0)+l+(c[p>>2]|0);c[h>>2]=r;p=c[i>>2]|0;if((p|0)<(e|0)?(c[r+(p<<2)>>2]=0,r=p+1|0,(r|0)!=(e|0)):0){l=r;do{c[(c[h>>2]|0)+(l<<2)>>2]=0;l=l+1|0}while((l|0)!=(e|0));s=p}else s=p}else s=g;if((s|0)>0){g=e+-1|0;p=0;l=s;while(1){r=(c[h>>2]|0)+(p<<2)|0;k=c[r>>2]|0;c[r>>2]=0;if(!k)t=l;else{r=k;do{k=r;r=c[r>>2]|0;n=c[k+8>>2]&g;c[k>>2]=c[(c[h>>2]|0)+(n<<2)>>2];c[(c[h>>2]|0)+(n<<2)>>2]=k;n=k+5|0;a[n>>0]=a[n>>0]&-65}while((r|0)!=0);t=c[i>>2]|0}p=p+1|0;if((p|0)>=(t|0)){u=t;break}else l=t}}else u=s;if((u|0)<=(e|0)){c[i>>2]=e;return}if((e+1|0)>>>0>1073741823)wc(b);s=c[h>>2]|0;t=u<<2;u=e<<2;l=c[f>>2]|0;f=(s|0)==0;p=l+4|0;g=Ma[c[l>>2]&1](c[p>>2]|0,s,t,u)|0;if((u|0)!=0&(g|0)==0){if(!(a[l+51>>0]|0))jc(b,4);vc(b,1);r=Ma[c[l>>2]&1](c[p>>2]|0,s,t,u)|0;if(!r)jc(b,4);else v=r}else v=g;g=l+12|0;c[g>>2]=(f?0:0-t|0)+u+(c[g>>2]|0);c[h>>2]=v;c[i>>2]=e;return}function Tc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;e=Fa;Fa=Fa+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+49|0;switch(a[i>>0]|0){case 5:{j=h+16|0;c[j>>2]=c[h+32>>2]<<2;k=h+72|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;k=c[h+144>>2]|0;if(k|0?a[k+5>>0]&3:0)uc(h,k);if(c[h+40>>2]&64|0?(k=c[h+36>>2]|0,a[k+5>>0]&3):0)uc(h,k);Uc(h);k=c[h+92>>2]|0;if(k|0){l=h+48|0;m=k;do{k=m+5|0;a[k>>0]=a[l>>0]&3|a[k>>0]&-72;uc(h,m);m=c[m>>2]|0}while((m|0)!=0)}a[i>>0]=0;n=c[j>>2]|0;Fa=e;return n|0}case 0:{j=h+72|0;if(c[j>>2]|0){m=h+16|0;l=c[m>>2]|0;Vc(h);n=(c[m>>2]|0)-l|0;Fa=e;return n|0}a[i>>0]=1;l=h+16|0;m=c[l>>2]|0;k=h+20|0;c[k>>2]=m;if(a[b+5>>0]&3)uc(h,b);if(c[h+40>>2]&64|0?(o=c[h+36>>2]|0,a[o+5>>0]&3):0)uc(h,o);Uc(h);o=h+96|0;p=c[h+112>>2]|0;if((p|0)!=(o|0)){q=p;do{if(((a[q+5>>0]&7)==0?(p=c[q+8>>2]|0,c[p+4>>2]&64|0):0)?(r=c[p>>2]|0,a[r+5>>0]&3):0)uc(h,r);q=c[q+16>>2]|0}while((q|0)!=(o|0))}if(c[j>>2]|0)do Vc(h);while((c[j>>2]|0)!=0);o=(c[l>>2]|0)-m|0;m=h+80|0;q=c[m>>2]|0;r=h+76|0;p=c[r>>2]|0;s=h+84|0;t=c[s>>2]|0;c[s>>2]=0;c[r>>2]=0;c[m>>2]=0;c[j>>2]=p;if(p|0)do Vc(h);while((c[j>>2]|0)!=0);c[j>>2]=q;if(q|0)do Vc(h);while((c[j>>2]|0)!=0);c[j>>2]=t;if(t|0)do Vc(h);while((c[j>>2]|0)!=0);t=o-(c[l>>2]|0)|0;do{o=c[s>>2]|0;c[s>>2]=0;if(!o)break;q=0;p=o;while(1){o=p;p=c[p+24>>2]|0;if(Wc(h,o)|0)if(!(c[j>>2]|0))u=1;else{do Vc(h);while((c[j>>2]|0)!=0);u=1}else u=q;if(!p)break;else q=u}}while((u|0)!=0);Xc(h,c[m>>2]|0,0);u=h+88|0;Xc(h,c[u>>2]|0,0);q=c[m>>2]|0;p=c[u>>2]|0;o=t+(c[l>>2]|0)|0;t=c[g>>2]|0;r=t+60|0;v=t+92|0;t=c[v>>2]|0;if(!t)w=v;else{v=t;while(1){t=c[v>>2]|0;if(!t)break;else v=t}w=v}v=c[r>>2]|0;if(v|0){t=r;r=w;w=v;while(1){v=w+5|0;x=d[v>>0]|0;if(!(x&3)){y=w;z=r}else{a[v>>0]=x|8;c[t>>2]=c[w>>2];c[w>>2]=c[r>>2];c[r>>2]=w;y=t;z=w}w=c[y>>2]|0;if(!w)break;else{t=y;r=z}}}z=c[h+92>>2]|0;if(z|0){r=h+48|0;y=z;do{z=y+5|0;a[z>>0]=a[r>>0]&3|a[z>>0]&-72;uc(h,y);y=c[y>>2]|0}while((y|0)!=0)}if(c[j>>2]|0)do Vc(h);while((c[j>>2]|0)!=0);y=o-(c[l>>2]|0)|0;while(1){o=c[s>>2]|0;c[s>>2]=0;if(!o)break;r=0;z=o;while(1){o=z;z=c[z+24>>2]|0;if(Wc(h,o)|0)if(!(c[j>>2]|0))A=1;else{do Vc(h);while((c[j>>2]|0)!=0);A=1}else A=r;if(!z)break;else r=A}if(!A){B=72;break}}if((B|0)==72?(A=c[s>>2]|0,A|0):0){s=A;do{A=c[s+16>>2]|0;j=a[s+7>>0]|0;r=A+((1<<(j&255))*20|0)|0;if(j<<24>>24!=31){j=A;do{A=j+4|0;do if(c[A>>2]|0){z=j+12|0;o=c[z>>2]|0;if(!(o&64))break;t=c[j+8>>2]|0;if((o&15|0)==4){if(!t)break;if(!(a[t+5>>0]&3))break;uc(h,t);break}else{o=t+5|0;if(!(a[o>>0]&3))break;c[A>>2]=0;if(!(a[o>>0]&3))break;c[z>>2]=11;break}}while(0);j=j+20|0}while(j>>>0<r>>>0)}s=c[s+24>>2]|0}while((s|0)!=0)}s=c[u>>2]|0;if(s|0){r=s;do{s=c[r+16>>2]|0;j=a[r+7>>0]|0;A=s+((1<<(j&255))*20|0)|0;if(j<<24>>24!=31){j=s;do{s=j+4|0;do if(c[s>>2]|0){z=j+12|0;o=c[z>>2]|0;if(!(o&64))break;t=c[j+8>>2]|0;if((o&15|0)==4){if(!t)break;if(!(a[t+5>>0]&3))break;uc(h,t);break}else{o=t+5|0;if(!(a[o>>0]&3))break;c[s>>2]=0;if(!(a[o>>0]&3))break;c[z>>2]=11;break}}while(0);j=j+20|0}while(j>>>0<A>>>0)}r=c[r+24>>2]|0}while((r|0)!=0)}Xc(h,c[m>>2]|0,q);Xc(h,c[u>>2]|0,p);p=h+48|0;a[p>>0]=a[p>>0]^3;p=y+(c[l>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+p;n=((Yc(b)|0)*5|0)+p|0;Fa=e;return n|0}case 2:{p=h+52|0;k=h+32|0;l=h+24|0;y=0;while(1){u=(c[p>>2]|0)+y|0;q=c[k>>2]|0;if((u|0)>=(q|0)){C=y;D=u;E=q;break}q=(c[l>>2]|0)+(u<<2)|0;u=c[g>>2]|0;m=d[u+48>>0]|0;r=m^3;A=(a[u+50>>0]|0)==2;u=A?255:184;j=A?64:m&3;m=A?64:0;A=c[q>>2]|0;a:do if(A|0){s=q;z=-3;o=A;while(1){if(!z)break a;z=z+-1|0;t=o+5|0;w=d[t>>0]|0;if(!((w^3)&r)){c[s>>2]=c[o>>2];Zc(b,o);F=s}else{if(m&w|0)break a;if((a[o+4>>0]|0)==8)_c(b,o);a[t>>0]=u&w|j;F=o}o=c[F>>2]|0;if(!o)break;else s=F}}while(0);y=y+1|0;if(y>>>0>=80){B=116;break}}if((B|0)==116){C=y;D=(c[p>>2]|0)+y|0;E=c[k>>2]|0}c[p>>2]=D;if((D|0)>=(E|0))a[i>>0]=3;n=C*5|0;Fa=e;return n|0}case 3:{C=h+68|0;E=c[C>>2]|0;if(!E){a[i>>0]=4;n=0;Fa=e;return n|0}D=d[h+48>>0]|0;p=D^3;k=(a[h+50>>0]|0)==2;y=k?255:184;B=k?64:D&3;D=k?64:0;k=c[E>>2]|0;b:do if(!k)G=0;else{F=E;l=80;j=k;while(1){if(!l){G=F;break b}l=l+-1|0;u=j+5|0;m=d[u>>0]|0;if(!((m^3)&p)){c[F>>2]=c[j>>2];Zc(b,j);H=F}else{if(D&m|0){G=0;break b}if((a[j+4>>0]|0)==8)_c(b,j);a[u>>0]=y&m|B;H=j}j=c[H>>2]|0;if(!j){G=0;break}else F=H}}while(0);c[C>>2]=G;n=400;Fa=e;return n|0}case 4:{G=h+64|0;C=c[G>>2]|0;if(C|0){H=d[h+48>>0]|0;B=H^3;y=(a[h+50>>0]|0)==2;D=y?255:184;p=y?64:H&3;H=y?64:0;y=c[C>>2]|0;c:do if(!y)I=0;else{k=C;E=80;F=y;while(1){if(!E){I=k;break c}E=E+-1|0;j=F+5|0;l=d[j>>0]|0;if(!((l^3)&B)){c[k>>2]=c[F>>2];Zc(b,F);J=k}else{if(H&l|0){I=0;break c}if((a[F+4>>0]|0)==8)_c(b,F);a[j>>0]=D&l|p;J=F}F=c[J>>2]|0;if(!F){I=0;break}else k=J}}while(0);c[G>>2]=I;n=400;Fa=e;return n|0}I=c[h+144>>2]|0;c[f>>2]=I;G=d[h+48>>0]|0;J=G^3;p=a[h+50>>0]|0;D=p<<24>>24==2;H=D?255:184;B=D?64:G&3;G=D?64:0;if(!I){K=p;L=h}else{h=f;f=1;p=I;while(1){if(!f)break;f=f+-1|0;I=p+5|0;D=d[I>>0]|0;if(!((D^3)&J)){c[h>>2]=c[p>>2];Zc(b,p);M=h}else{if(G&D|0)break;if((a[p+4>>0]|0)==8)_c(b,p);a[I>>0]=H&D|B;M=p}p=c[M>>2]|0;if(!p)break;else h=M}M=c[g>>2]|0;K=a[M+50>>0]|0;L=M}if(K<<24>>24!=1){K=(c[L+32>>2]|0)/2|0;if((c[L+28>>2]|0)>>>0<K>>>0){Sc(b,K);N=c[g>>2]|0}else N=L;g=L+116|0;K=c[g>>2]|0;b=L+124|0;L=c[b>>2]|0;M=Ma[c[N>>2]&1](c[N+4>>2]|0,K,L,0)|0;h=N+12|0;c[h>>2]=(c[h>>2]|0)-((K|0)==0?0:L);c[g>>2]=M;c[b>>2]=0}a[i>>0]=5;n=5;Fa=e;return n|0}default:{n=0;Fa=e;return n|0}}return 0}function Uc(b){b=b|0;var d=0;d=c[b+276>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+280>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+284>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+288>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+292>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+296>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+300>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+304>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+308>>2]|0;if(!d)return;if(!(a[d+5>>0]&3))return;uc(b,d);return}function Vc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;e=b+72|0;f=c[e>>2]|0;g=f+5|0;a[g>>0]=a[g>>0]|4;switch(a[f+4>>0]|0){case 5:{h=f+24|0;c[e>>2]=c[h>>2];i=c[f+8>>2]|0;do if(i){j=i+6|0;k=a[j>>0]|0;if(!(k&8)){l=c[b+168>>2]|0;m=(c[i+16>>2]|0)+(((1<<d[i+7>>0])+-1&c[l+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=7;break}o=c[m+16>>2]|0;if(!o){p=2099900;break}else m=o}if((n|0)==7)p=m;if(!(c[p+4>>2]|0)){a[j>>0]=k|8;q=0}else q=p}else q=0;if(a[i+5>>0]&3)uc(b,i);if(((q|0)!=0?(c[q+4>>2]&15|0)==4:0)?(l=(c[q>>2]|0)+16|0,o=rt(l,107)|0,r=(o|0)!=0,o=(rt(l,118)|0)!=0,r|o):0){l=f+5|0;a[l>>0]=a[l>>0]&-5;if(r)if(o){o=b+88|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}else{Wc(b,f)|0;break}o=c[f+16>>2]|0;r=a[f+7>>0]|0;l=o+((1<<(r&255))*20|0)|0;s=(c[f+28>>2]|0)>0&1;if(r<<24>>24==31)t=s;else{r=o;o=s;while(1){s=r+4|0;u=r+12|0;v=(c[u>>2]&64|0)==0;a:do if(!(c[s>>2]|0))if(!v?(a[(c[r+8>>2]|0)+5>>0]&3)!=0:0){c[u>>2]=11;w=o}else w=o;else{if(!v?(x=c[r+8>>2]|0,a[x+5>>0]&3):0)uc(b,x);if(!o){x=c[s>>2]|0;do if(x&64|0){y=c[r>>2]|0;if((x&15|0)!=4)if(!(a[y+5>>0]&3))break;else{w=1;break a}if(y|0){if(!(a[y+5>>0]&3))break;uc(b,y)}}while(0);w=0}else w=o}while(0);r=r+20|0;if(r>>>0>=l>>>0){t=w;break}else o=w}}if(!t){o=b+76|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}else{o=b+80|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}}else n=41}else n=41;while(0);if((n|0)==41){n=f+16|0;h=c[n>>2]|0;t=h+((1<<d[f+7>>0])*20|0)|0;w=f+28|0;q=c[w>>2]|0;if((q|0)>0){i=f+12|0;p=0;o=q;while(1){q=c[i>>2]|0;if((c[q+(p<<3)+4>>2]&64|0)!=0?(l=c[q+(p<<3)>>2]|0,(a[l+5>>0]&3)!=0):0){uc(b,l);z=c[w>>2]|0}else z=o;p=p+1|0;if((p|0)>=(z|0))break;else o=z}A=c[n>>2]|0}else A=h;if(A>>>0<t>>>0){h=A;do{A=h+4|0;n=c[A>>2]|0;z=h+12|0;o=(c[z>>2]&64|0)==0;if(!n){if(!o?a[(c[h+8>>2]|0)+5>>0]&3:0)c[z>>2]=11}else{if(!o?(o=c[h+8>>2]|0,(a[o+5>>0]&3)!=0):0){uc(b,o);B=c[A>>2]|0}else B=n;if(B&64|0?(n=c[h>>2]|0,a[n+5>>0]&3):0)uc(b,n)}h=h+20|0}while(h>>>0<t>>>0)}}C=(c[f+28>>2]<<3)+32+(20<<d[f+7>>0])|0;break}case 6:{c[e>>2]=c[f+8>>2];t=c[f+12>>2]|0;if(t|0?a[t+5>>0]&3:0)uc(b,t);t=f+6|0;h=a[t>>0]|0;if(!(h<<24>>24))C=16;else{B=0;n=h;while(1){h=c[f+16+(B<<2)>>2]|0;if((h|0)!=0?(a[h+5>>0]&3)!=0:0){uc(b,h);D=a[t>>0]|0}else D=n;B=B+1|0;E=D&255;if(B>>>0>=E>>>0)break;else n=D}C=(E<<2)+16|0}break}case 38:{c[e>>2]=c[f+8>>2];E=f+6|0;D=a[E>>0]|0;if(!(D<<24>>24))C=16;else{n=0;B=D;while(1){if((c[f+16+(n<<3)+4>>2]&64|0)!=0?(D=c[f+16+(n<<3)>>2]|0,(a[D+5>>0]&3)!=0):0){uc(b,D);F=a[E>>0]|0}else F=B;n=n+1|0;G=F&255;if(n>>>0>=G>>>0)break;else B=F}C=(G<<3)+16|0}break}case 8:{G=f+60|0;c[e>>2]=c[G>>2];F=b+76|0;c[G>>2]=c[F>>2];c[F>>2]=f;a[g>>0]=a[g>>0]&-5;g=f+28|0;F=c[g>>2]|0;if(!F)C=1;else{G=f+8|0;B=c[G>>2]|0;if(F>>>0<B>>>0){n=F;E=B;while(1){if((c[n+4>>2]&64|0)!=0?(B=c[n>>2]|0,(a[B+5>>0]&3)!=0):0){uc(b,B);H=c[G>>2]|0}else H=E;B=n+8|0;if(B>>>0<H>>>0){n=B;E=H}else{I=B;break}}}else I=F;if((a[b+49>>0]|0)==1){F=(c[g>>2]|0)+(c[f+32>>2]<<3)|0;if(I>>>0<F>>>0){g=I;do{c[g+4>>2]=0;g=g+8|0}while(g>>>0<F>>>0);J=116}else J=116}else{F=f+72|0;g=c[f+16>>2]|0;if((g|0)==(F|0))J=116;else{I=0;H=F;do{I=I+1|0;H=c[H+12>>2]|0}while((H|0)!=(g|0));J=(I*40|0)+116|0}}C=(c[f+32>>2]<<3)+J|0}break}case 9:{c[e>>2]=c[f+72>>2];e=f+32|0;J=c[e>>2]|0;if(J|0?a[J+5>>0]&3:0)c[e>>2]=0;e=c[f+36>>2]|0;if(e|0?a[e+5>>0]&3:0)uc(b,e);e=f+44|0;J=c[e>>2]|0;if((J|0)>0){I=f+8|0;g=0;H=J;while(1){J=c[I>>2]|0;if((c[J+(g<<3)+4>>2]&64|0)!=0?(F=c[J+(g<<3)>>2]|0,(a[F+5>>0]&3)!=0):0){uc(b,F);K=c[e>>2]|0}else K=H;g=g+1|0;if((g|0)>=(K|0))break;else H=K}}K=f+40|0;H=c[K>>2]|0;if((H|0)>0){g=f+28|0;I=0;F=H;while(1){H=c[(c[g>>2]|0)+(I<<3)>>2]|0;if((H|0)!=0?(a[H+5>>0]&3)!=0:0){uc(b,H);L=c[K>>2]|0}else L=F;I=I+1|0;if((I|0)>=(L|0))break;else F=L}}L=f+56|0;F=c[L>>2]|0;if((F|0)>0){I=f+16|0;g=0;H=F;while(1){J=c[(c[I>>2]|0)+(g<<2)>>2]|0;if((J|0)!=0?(a[J+5>>0]&3)!=0:0){uc(b,J);M=c[L>>2]|0}else M=H;g=g+1|0;if((g|0)>=(M|0)){N=M;break}else H=M}}else N=F;F=f+60|0;M=c[F>>2]|0;if((M|0)>0){H=f+24|0;g=0;I=M;while(1){J=c[(c[H>>2]|0)+(g*12|0)>>2]|0;if((J|0)!=0?(a[J+5>>0]&3)!=0:0){uc(b,J);O=c[F>>2]|0}else O=I;g=g+1|0;if((g|0)>=(O|0))break;else I=O}P=O;Q=c[L>>2]|0}else{P=M;Q=N}C=(P*12|0)+80+((c[f+48>>2]|0)+Q+(c[f+52>>2]|0)<<2)+((c[K>>2]|0)+(c[e>>2]|0)<<3)|0;break}default:return}e=b+16|0;c[e>>2]=(c[e>>2]|0)+C;return}function Wc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=e+16|0;g=c[f>>2]|0;h=g+((1<<(d[e+7>>0]|0))*20|0)|0;i=e+28|0;j=c[i>>2]|0;if((j|0)>0){k=e+12|0;l=0;m=0;n=j;while(1){j=c[k>>2]|0;if((c[j+(m<<3)+4>>2]&64|0)!=0?(o=c[j+(m<<3)>>2]|0,(a[o+5>>0]&3)!=0):0){uc(b,o);p=1;q=c[i>>2]|0}else{p=l;q=n}m=m+1|0;if((m|0)>=(q|0))break;else{l=p;n=q}}r=p;s=c[f>>2]|0}else{r=0;s=g}if(s>>>0<h>>>0){g=s;s=0;f=0;p=r;while(1){q=g+4|0;n=c[q>>2]|0;l=g+12|0;m=c[l>>2]|0;i=(m&64|0)==0;a:do if(!n)if(!i?(a[(c[g+8>>2]|0)+5>>0]&3)!=0:0){c[l>>2]=11;t=s;u=f;v=p}else{t=s;u=f;v=p}else{do if(i){w=n;x=19}else{k=c[g+8>>2]|0;if((m&15|0)==4){if(!k){w=n;x=19;break}if(!(a[k+5>>0]&3)){w=n;x=19;break}uc(b,k);w=c[q>>2]|0;x=19;break}o=(n&64|0)==0;if(!(a[k+5>>0]&3))if(o){t=s;u=f;v=p;break a}else break;if(o){t=s;u=1;v=p;break a}t=(a[(c[g>>2]|0)+5>>0]&3)==0?s:1;u=1;v=p;break a}while(0);if((x|0)==19?(x=0,(w&64|0)==0):0){t=s;u=f;v=p;break}o=c[g>>2]|0;if(!(a[o+5>>0]&3)){t=s;u=f;v=p}else{uc(b,o);t=s;u=f;v=1}}while(0);g=g+20|0;if(g>>>0>=h>>>0)break;else{s=t;f=u;p=v}}if(t|0){y=v;z=b+84|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}if(!u)C=v;else{y=v;z=b+88|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}}else C=r;y=C;z=b+76|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}function Xc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((e|0)==(f|0))return;g=e;do{e=g+16|0;h=c[e>>2]|0;i=h+((1<<(d[g+7>>0]|0))*20|0)|0;j=g+28|0;if((c[j>>2]|0)>0){k=g+12|0;l=0;do{m=c[k>>2]|0;if(bd(b,m+(l<<3)|0)|0)c[m+(l<<3)+4>>2]=0;l=l+1|0}while((l|0)<(c[j>>2]|0));n=c[e>>2]|0}else n=h;if(n>>>0<i>>>0){j=n;do{l=j+4|0;if(((c[l>>2]|0?bd(b,j)|0:0)?(c[l>>2]=0,l=j+12|0,c[l>>2]&64|0):0)?a[(c[j+8>>2]|0)+5>>0]&3:0)c[l>>2]=11;j=j+20|0}while(j>>>0<i>>>0)}g=c[g+24>>2]|0}while((g|0)!=(f|0));return}function Yc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=b+12|0;f=c[e>>2]|0;a[f+49>>0]=2;c[f+52>>2]=0;g=f+60|0;h=d[f+48>>0]|0;i=(a[f+50>>0]|0)==2;j=c[g>>2]|0;a:do if(!j){k=0;l=1}else{m=i?64:0;n=i?64:h&3;o=i?255:184;p=h;q=1;r=j;while(1){s=p^3;t=g;u=1;v=r;while(1){if(!u)break;u=u+-1|0;w=v+5|0;x=d[w>>0]|0;if(!((x^3)&s)){c[t>>2]=c[v>>2];Zc(b,v);y=t}else{if(m&x|0){k=0;l=q;break a}if((a[v+4>>0]|0)==8)_c(b,v);a[w>>0]=o&x|n;y=v}v=c[y>>2]|0;if(!v){k=0;l=q;break a}else t=y}if((t|0)!=(g|0)){k=t;l=q;break a}v=c[e>>2]|0;s=q+1|0;u=d[v+48>>0]|0;x=(a[v+50>>0]|0)==2;r=c[g>>2]|0;if(!r){k=0;l=s;break}else{m=x?64:0;n=x?64:u&3;o=x?255:184;p=u;q=s}}}while(0);c[f+68>>2]=k;k=f+56|0;g=0;b:while(1){g=g+1|0;y=c[e>>2]|0;j=d[y+48>>0]|0;h=j^3;i=(a[y+50>>0]|0)==2;y=i?255:184;q=i?64:j&3;j=i?64:0;i=c[k>>2]|0;if(!i){z=0;A=26;break}p=k;o=1;n=i;while(1){if(!o)break;o=o+-1|0;i=n+5|0;m=d[i>>0]|0;if(!((m^3)&h)){c[p>>2]=c[n>>2];Zc(b,n);B=p}else{if(j&m|0){z=0;A=26;break b}if((a[n+4>>0]|0)==8)_c(b,n);a[i>>0]=y&m|q;B=n}n=c[B>>2]|0;if(!n){z=0;A=26;break b}else p=B}if((p|0)!=(k|0)){z=p;A=26;break}}if((A|0)==26){c[f+64>>2]=z;return g+l|0}return 0}function Zc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;do switch(a[e+4>>0]|0){case 9:{$c(b,e);return}case 6:{f=(d[e+6>>0]<<2)+16|0;g=c[b+12>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,f,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)-f;return}case 38:{f=(d[e+6>>0]<<3)+16|0;h=c[b+12>>2]|0;Ma[c[h>>2]&1](c[h+4>>2]|0,e,f,0)|0;g=h+12|0;c[g>>2]=(c[g>>2]|0)-f;return}case 10:{f=e+12|0;if((c[e+8>>2]|0)!=(f|0)){g=e+16|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[f>>2]|0)+16>>2]=c[g>>2]}g=c[b+12>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,20,0)|0;f=g+12|0;c[f>>2]=(c[f>>2]|0)+-20;return}case 5:{f=c[e+16>>2]|0;if((f|0)==2099924)i=b+12|0;else{g=20<<d[e+7>>0];h=b+12|0;j=c[h>>2]|0;Ma[c[j>>2]&1](c[j+4>>2]|0,f,g,0)|0;k=j+12|0;c[k>>2]=(c[k>>2]|0)-((f|0)==0?0:g);i=h}h=c[e+12>>2]|0;g=c[e+28>>2]<<3;f=c[i>>2]|0;Ma[c[f>>2]&1](c[f+4>>2]|0,h,g,0)|0;k=f+12|0;c[k>>2]=(c[k>>2]|0)-((h|0)==0?0:g);g=c[i>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,32,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)+-32;return}case 8:{ad(b,e);return}case 7:{h=(c[e+16>>2]|0)+24|0;g=c[b+12>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,h,0)|0;k=g+12|0;c[k>>2]=(c[k>>2]|0)-h;return}case 4:{h=c[b+12>>2]|0;k=h+28|0;c[k>>2]=(c[k>>2]|0)+-1;l=h;break}case 20:{l=c[b+12>>2]|0;break}default:return}while(0);b=(c[e+12>>2]|0)+17|0;Ma[c[l>>2]&1](c[l+4>>2]|0,e,b,0)|0;e=l+12|0;c[e>>2]=(c[e>>2]|0)-b;return}function _c(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=e+28|0;if(!(c[f>>2]|0))return;g=e+56|0;h=b+12|0;i=c[h>>2]|0;j=d[i+48>>0]|0;k=j^3;l=(a[i+50>>0]|0)==2;i=l?255:184;m=l?64:j&3;j=l?64:0;l=c[g>>2]|0;a:do if(l|0){n=g;o=-3;p=l;while(1){if(!o)break a;o=o+-1|0;q=p+5|0;r=d[q>>0]|0;if(!((r^3)&k)){c[n>>2]=c[p>>2];Zc(b,p);s=n}else{if(j&r|0)break a;if((a[p+4>>0]|0)==8)_c(b,p);a[q>>0]=i&r|m;s=p}p=c[s>>2]|0;if(!p)break;else n=s}}while(0);s=e+16|0;m=(c[s>>2]|0)+12|0;i=c[m>>2]|0;c[m>>2]=0;if(i|0){m=e+12|0;b=i;do{i=b;b=c[b+12>>2]|0;j=c[m>>2]|0;Ma[c[j>>2]&1](c[j+4>>2]|0,i,40,0)|0;k=j+12|0;c[k>>2]=(c[k>>2]|0)-((i|0)==0?0:40)}while((b|0)!=0)}if((a[(c[h>>2]|0)+50>>0]|0)==1)return;h=c[e+8>>2]|0;b=c[s>>2]|0;if(!b)t=h;else{s=b;b=h;while(1){h=c[s+4>>2]|0;m=b>>>0<h>>>0?h:b;s=c[s+8>>2]|0;if(!s){t=m;break}else b=m}}b=t-(c[f>>2]|0)|0;f=b>>3;t=f+11+((f+1|0)/8|0)|0;f=(t|0)<1e6?t:1e6;if((b|0)>7999992)return;if((f|0)>=(c[e+32>>2]|0))return;kc(e,f);return}function $c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+12>>2]|0;e=c[b+48>>2]<<2;f=a+12|0;a=c[f>>2]|0;Ma[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+16>>2]|0;d=c[b+56>>2]<<2;g=c[f>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[b+8>>2]|0;e=c[b+44>>2]<<3;a=c[f>>2]|0;Ma[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+20>>2]|0;d=c[b+52>>2]<<2;g=c[f>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[b+24>>2]|0;e=(c[b+60>>2]|0)*12|0;a=c[f>>2]|0;Ma[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+28>>2]|0;d=c[b+40>>2]<<3;g=c[f>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[f>>2]|0;Ma[c[d>>2]&1](c[d+4>>2]|0,b,80,0)|0;f=d+12|0;c[f>>2]=(c[f>>2]|0)-((b|0)==0?0:80);return}function ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=b+28|0;Dc(b,c[d>>2]|0);e=c[d>>2]|0;if(e|0){c[b+16>>2]=b+72;f=b+84|0;g=c[f>>2]|0;c[f>>2]=0;f=b+12|0;if(!g)h=e;else{e=g;do{g=e;e=c[e+12>>2]|0;i=c[f>>2]|0;Ma[c[i>>2]&1](c[i+4>>2]|0,g,40,0)|0;j=i+12|0;c[j>>2]=(c[j>>2]|0)-((g|0)==0?0:40)}while((e|0)!=0);h=c[d>>2]|0}d=c[b+32>>2]<<3;e=c[f>>2]|0;Ma[c[e>>2]&1](c[e+4>>2]|0,h,d,0)|0;f=e+12|0;c[f>>2]=(c[f>>2]|0)-((h|0)==0?0:d)}d=c[a+12>>2]|0;Ma[c[d>>2]&1](c[d+4>>2]|0,b,116,0)|0;b=d+12|0;c[b>>2]=(c[b>>2]|0)+-116;return}function bd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+4>>2]|0;if(!(e&64)){f=0;return f|0}g=c[d>>2]|0;if((e&15|0)!=4){f=a[g+5>>0]&3;return f|0}if(!g){f=0;return f|0}if(!(a[g+5>>0]&3)){f=0;return f|0}uc(b,g);f=0;return f|0}function cd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+28>>2]|0;if(b|0?(e=c[a+12>>2]|0,(c[e+(b+-1<<3)+4>>2]|0)==0):0){if(b>>>0<=1){f=0;return f|0}g=b;h=0;while(1){i=(g+h|0)>>>1;j=(c[e+(i+-1<<3)+4>>2]|0)==0;k=j?h:i;g=j?i:g;if((g-k|0)>>>0<=1){f=k;break}else h=k}return f|0}h=c[a+16>>2]|0;if((h|0)==2099924){f=b;return f|0}g=a+12|0;e=a+7|0;a=b;k=b+1|0;while(1){i=k+-1|0;a:do if(i>>>0<b>>>0)l=(c[g>>2]|0)+(i<<3)|0;else{j=k<<16;m=0-j|0;n=h+(((((j|0)<0?((j|0)==(m|0)?0:m):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[n+12>>2]|0)==3?(c[n+8>>2]|0)==(j|0):0)break;m=c[n+16>>2]|0;if(!m){l=2099900;break a}else n=m}l=n}while(0);if(!(c[l+4>>2]|0))break;i=k<<1;if(i>>>0>2147483645){o=17;break}else{j=k;k=i;a=j}}if((o|0)==17){o=1;while(1){l=o+-1|0;b:do if(l>>>0<b>>>0)p=(c[g>>2]|0)+(l<<3)|0;else{j=o<<16;i=0-j|0;m=h+(((((j|0)<0?((j|0)==(i|0)?0:i):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[m+12>>2]|0)==3?(c[m+8>>2]|0)==(j|0):0)break;i=c[m+16>>2]|0;if(!i){p=2099900;break b}else m=i}p=m}while(0);if(!(c[p+4>>2]|0)){f=l;break}else o=o+1|0}return f|0}if((k-a|0)>>>0<=1){f=a;return f|0}o=k;k=a;while(1){a=(o+k|0)>>>1;p=a+-1|0;c:do if(p>>>0<b>>>0)q=(c[g>>2]|0)+(p<<3)|0;else{j=a<<16;n=0-j|0;i=h+(((((j|0)<0?((j|0)==(n|0)?0:n):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[i+12>>2]|0)==3?(c[i+8>>2]|0)==(j|0):0)break;n=c[i+16>>2]|0;if(!n){q=2099900;break c}else i=n}q=i}while(0);p=(c[q+4>>2]|0)==0;o=p?a:o;l=p?k:a;if((o-l|0)>>>0<=1){f=l;break}else k=l}return f|0}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;do switch(a|0){case 0:{d=c+b|0;break}case 1:{d=b-c|0;break}case 2:{d=Mk(b,c)|0;break}case 3:{d=Nk(b,c)|0;break}case 4:{d=Ok(b,c)|0;break}case 5:{d=Pk(b,c)|0;break}case 6:{d=c&b;break}case 7:{d=c|b;break}case 8:{d=c^b;break}case 9:{d=Zk(b,c)|0;break}case 10:{d=_k(b,c)|0;break}case 11:{d=Yk(b,c)|0;break}case 12:{d=Wk(b,c)|0;break}case 13:{d=Xk(b,c)|0;break}case 14:{d=~b;break}case 15:{d=(Nk(b,c)|0)&-65536;break}case 16:{d=Ck(b)|0;break}case 17:{d=Bk(b)|0;break}case 18:{d=Ak(b)|0;break}case 19:{d=0-b|0;break}default:d=0}while(0);return d|0}function ed(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=(fd(b,d)|0)==0;Qc(a,e?b:c,45906)}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Fa;Fa=Fa+16|0;e=d;f=c[a+4>>2]|0;if((f|0)!=3)if((f&15|0)==4?(f=c[a>>2]|0,(Hc(f+16|0,c[f+12>>2]|0,e)|0)!=0):0){c[b>>2]=c[e>>2];c[b+4>>2]=3;g=b}else g=0;else g=a;Fa=d;return g|0}function gd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;switch(c[e+4>>2]&63){case 3:{f=c[e>>2]|0;g=0-f|0;h=(c[b+16>>2]|0)+(((((f|0)<0?((f|0)==(g|0)?0:g):f)|0)%((1<<d[b+7>>0])+-1|1|0)|0)*20|0)|0;return h|0}case 20:{f=c[e>>2]|0;g=f+6|0;if(!(a[g>>0]|0)){i=f+16|0;j=c[f+12>>2]|0;k=f+8|0;l=c[k>>2]^j;m=j>>>5;if(m>>>0<j>>>0){n=~m;o=j;j=l;while(1){p=(j<<5)+(j>>>2)+(d[i+(o+-1)>>0]|0)^j;o=o+n|0;if(o>>>0<=m>>>0){q=p;break}else j=p}}else q=l;c[k>>2]=q;a[g>>0]=1;r=c[e>>2]|0}else r=f;h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[r+8>>2])*20|0)|0;return h|0}case 4:{h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[(c[e>>2]|0)+8>>2])*20|0)|0;return h|0}case 1:{h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[e>>2])*20|0)|0;return h|0}case 2:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}case 54:case 22:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}default:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}}return 0}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=d;d=mc(a,b,f)|0;Fa=e;return d|0}function id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(e>>>0<41){f=Oc(b,d,e)|0;return f|0}if((e+1|0)>>>0>4294967277)wc(b);g=c[b+12>>2]|0;h=c[g+44>>2]|0;i=e+17|0;j=g+4|0;k=Ma[c[g>>2]&1](c[j>>2]|0,0,4,i)|0;if((i|0)!=0&(k|0)==0){if(!(a[g+51>>0]|0))jc(b,4);vc(b,1);l=Ma[c[g>>2]&1](c[j>>2]|0,0,4,i)|0;if(!l)jc(b,4);else m=l}else m=k;k=g+12|0;c[k>>2]=(c[k>>2]|0)+i;i=g+56|0;a[m+5>>0]=a[g+48>>0]&3;a[m+4>>0]=20;c[m>>2]=c[i>>2];c[i>>2]=m;c[m+12>>2]=e;c[m+8>>2]=h;a[m+6>>0]=0;h=m+16|0;Xu(h|0,d|0,e|0)|0;a[h+e>>0]=0;f=m;return f|0}function jd(a){a=a|0;return (c[a+8>>2]|0)-((c[c[a+16>>2]>>2]|0)+8)>>3|0}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)<=-1){d=a+8|0;c[d>>2]=(c[d>>2]|0)+(b+1<<3);return}d=c[c[a+16>>2]>>2]|0;e=a+8|0;a=c[e>>2]|0;f=d+8+(b<<3)|0;if(a>>>0<f>>>0){g=((d+(b<<3)+4+(3-a)|0)>>>3)+1|0;b=a;do{c[b+4>>2]=0;b=b+8|0}while(b>>>0<f>>>0);c[e>>2]=a+(g<<3)}c[e>>2]=f;return}function ld(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+16|0;h=c[g>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){i=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){i=(c[b+12>>2]|0)+36|0;break}j=-1001e3-e|0;k=c[h>>2]|0;if((c[k+4>>2]|32|0)==54)i=2099900;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?2099900:l+16+(j+-1<<3)|0}}else{j=(c[h>>2]|0)+(e<<3)|0;i=j>>>0<(c[b+8>>2]|0)>>>0?j:2099900}while(0);do if((f|0)<=0){if((f|0)>=-1000999){m=(c[b+8>>2]|0)+(f<<3)|0;break}if((f|0)==-1001e3){m=(c[b+12>>2]|0)+36|0;break}e=-1001e3-f|0;j=c[h>>2]|0;if((c[j+4>>2]|32|0)==54)m=2099900;else{l=c[j>>2]|0;m=(e|0)>(d[l+6>>0]|0|0)?2099900:l+16+(e+-1<<3)|0}}else{e=(c[h>>2]|0)+(f<<3)|0;m=e>>>0<(c[b+8>>2]|0)>>>0?e:2099900}while(0);c[m>>2]=c[i>>2];h=i+4|0;c[m+4>>2]=c[h>>2];if((f|0)>=-1001e3)return;if(!(c[h>>2]&64))return;h=c[i>>2]|0;if(!(a[h+5>>0]&3))return;i=(c[c[c[g>>2]>>2]>>2]|0)+5|0;g=a[i>>0]|0;if(!(g&4))return;f=c[b+12>>2]|0;if((d[f+49>>0]|0)<2){uc(f,h);return}else{a[i>>0]=a[f+48>>0]&3|g&-72;return}}function md(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2099900;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2099900:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2099900}while(0);b=a+8|0;a=c[b>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[b>>2]=(c[b>>2]|0)+8;return}function nd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)>0){f=(c[e>>2]|0)+(b<<3)|0;if(f>>>0<(c[a+8>>2]|0)>>>0)g=f;else{h=-1;return h|0}}else{if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}f=-1001e3-b|0;i=c[e>>2]|0;if((c[i+4>>2]|32|0)==54){h=-1;return h|0}j=c[i>>2]|0;if((f|0)>(d[j+6>>0]|0|0)){h=-1;return h|0}else g=j+16+(f+-1<<3)|0}while(0);if((g|0)==2099900){h=-1;return h|0}h=c[g+4>>2]&15;return h|0}function od(a,b){a=a|0;b=b|0;return c[16+(b+1<<2)>>2]|0}function pd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Fa;Fa=Fa+16|0;g=f+8|0;h=f;i=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){j=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){j=(c[a+12>>2]|0)+36|0;break}k=-1001e3-b|0;l=c[i>>2]|0;if((c[l+4>>2]|32|0)==54)j=2099900;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?2099900:m+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(b<<3)|0;j=k>>>0<(c[a+8>>2]|0)>>>0?k:2099900}while(0);a=c[j+4>>2]|0;do if((a|0)==3)n=j;else{if((a&15|0)==4?(b=c[j>>2]|0,Hc(b+16|0,c[b+12>>2]|0,g)|0):0){c[h>>2]=c[g>>2];c[h+4>>2]=3;n=h;break}if(!e){o=0;Fa=f;return o|0}c[e>>2]=0;o=0;Fa=f;return o|0}while(0);if(e|0)c[e>>2]=1;o=c[n>>2]|0;Fa=f;return o|0}function qd(a){a=a|0;var b=0,d=0,e=0,f=0;b=Fa;Fa=Fa+16|0;d=b;e=c[a+4>>2]|0;if((e|0)==3){f=c[a>>2]|0;Fa=b;return f|0}if((e&15|0)==4?(e=c[a>>2]|0,Hc(e+16|0,c[e+12>>2]|0,d)|0):0){f=c[d>>2]|0;Fa=b;return f|0}f=0;Fa=b;return f|0}function rd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Fa;Fa=Fa+16|0;g=f;h=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){i=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){i=(c[a+12>>2]|0)+36|0;break}j=-1001e3-b|0;k=c[h>>2]|0;if((c[k+4>>2]|32|0)==54)i=2099900;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?2099900:l+16+(j+-1<<3)|0}}else{j=(c[h>>2]|0)+(b<<3)|0;i=j>>>0<(c[a+8>>2]|0)>>>0?j:2099900}while(0);a=c[i+4>>2]|0;do if((a|0)==3)m=c[i>>2]|0;else{if((a&15|0)==4?(b=c[i>>2]|0,Hc(b+16|0,c[b+12>>2]|0,g)|0):0){m=c[g>>2]|0;break}if(!e){n=0;Fa=f;return n|0}c[e>>2]=0;n=0;Fa=f;return n|0}while(0);g=m>>16;if(!e){n=g;Fa=f;return n|0}c[e>>2]=1;n=g;Fa=f;return n|0}function sd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2099900;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2099900:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2099900}while(0);a=c[f+4>>2]|0;switch(a|0){case 1:{j=(c[f>>2]|0)!=0&1;return j|0}case 0:{j=a;return j|0}default:{j=1;return j|0}}return 0}function td(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=b+16|0;h=c[g>>2]|0;i=(e|0)>0;do if(!i){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[h>>2]|0;if((c[l+4>>2]|32|0)==54)j=2099900;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0)?2099900:m+16+(k+-1<<3)|0}}else{k=(c[h>>2]|0)+(e<<3)|0;j=k>>>0<(c[b+8>>2]|0)>>>0?k:2099900}while(0);do if((c[j+4>>2]&15|0)!=4){if(!(ud(b,j)|0)){if(!f){n=0;return n|0}c[f>>2]=0;n=0;return n|0}h=b+12|0;k=c[h>>2]|0;m=k+12|0;l=c[m>>2]|0;do if((l|0)>0)if(!(a[k+51>>0]|0)){o=k+8|0;c[o>>2]=l+1600+(c[o>>2]|0);c[m>>2]=-1600;break}else{zc(b);break}while(0);m=c[g>>2]|0;if(i){l=(c[m>>2]|0)+(e<<3)|0;p=l>>>0<(c[b+8>>2]|0)>>>0?l:2099900;break}if((e|0)>=-1000999){p=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){p=(c[h>>2]|0)+36|0;break}l=-1001e3-e|0;k=c[m>>2]|0;if((c[k+4>>2]|32|0)==54)p=2099900;else{m=c[k>>2]|0;p=(l|0)>(d[m+6>>0]|0)?2099900:m+16+(l+-1<<3)|0}}else p=j;while(0);if(f|0)c[f>>2]=c[(c[p>>2]|0)+12>>2];n=(c[p>>2]|0)+16|0;return n|0}function ud(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Fa;Fa=Fa+32|0;f=e;g=d+4|0;if((c[g>>2]|0)!=3){h=0;Fa=e;return h|0}i=Nc(f,c[d>>2]|0)|0;if(i>>>0<41)j=Oc(b,f,i)|0;else{if((i+1|0)>>>0>4294967277)wc(b);k=c[b+12>>2]|0;l=c[k+44>>2]|0;m=i+17|0;n=k+4|0;o=Ma[c[k>>2]&1](c[n>>2]|0,0,4,m)|0;if((m|0)!=0&(o|0)==0){if(!(a[k+51>>0]|0))jc(b,4);vc(b,1);p=Ma[c[k>>2]&1](c[n>>2]|0,0,4,m)|0;if(!p)jc(b,4);else q=p}else q=o;o=k+12|0;c[o>>2]=(c[o>>2]|0)+m;m=k+56|0;a[q+5>>0]=a[k+48>>0]&3;a[q+4>>0]=20;c[q>>2]=c[m>>2];c[m>>2]=q;c[q+12>>2]=i;c[q+8>>2]=l;a[q+6>>0]=0;l=q+16|0;Xu(l|0,f|0,i|0)|0;a[l+i>>0]=0;j=q}c[d>>2]=j;c[g>>2]=(a[j+4>>0]|64)&255;h=1;Fa=e;return h|0}function vd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2099900;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2099900:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2099900}while(0);switch(c[f+4>>2]&15){case 4:{j=c[(c[f>>2]|0)+12>>2]|0;return j|0}case 7:{j=c[(c[f>>2]|0)+16>>2]|0;return j|0}case 5:{j=cd(c[f>>2]|0)|0;return j|0}default:{j=0;return j|0}}return 0}function wd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[a+16>>2]|0;f=(b|0)>0;do if(!f){if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}h=-1001e3-b|0;i=c[e>>2]|0;if((c[i+4>>2]|32|0)==54)g=2099900;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2099900:j+16+(h+-1<<3)|0}}else{h=(c[e>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:2099900}while(0);switch(c[g+4>>2]&63){case 5:{k=c[g>>2]|0;return k|0}case 6:{k=c[g>>2]|0;return k|0}case 38:{k=c[g>>2]|0;return k|0}case 54:case 22:{k=c[g>>2]|0;return k|0}case 8:{k=c[g>>2]|0;return k|0}case 2:case 7:{do if(!f){if((b|0)>=-1000999){l=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){l=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)l=2099900;else{j=c[h>>2]|0;l=(g|0)>(d[j+6>>0]|0|0)?2099900:j+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;l=g>>>0<(c[a+8>>2]|0)>>>0?g:2099900}while(0);switch(c[l+4>>2]&15){case 7:{k=(c[l>>2]|0)+24|0;return k|0}case 2:{k=c[l>>2]|0;return k|0}default:{k=0;return k|0}}break}default:{k=0;return k|0}}return 0}function xd(a){a=a|0;var b=0;b=a+8|0;a=c[b>>2]|0;c[a+4>>2]=0;c[b>>2]=a+8;return}function yd(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=b;c[a+4>>2]=3;c[d>>2]=(c[d>>2]|0)+8;return}function zd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+12>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;break}else{zc(b);break}while(0);g=id(b,d,e)|0;e=b+8|0;b=c[e>>2]|0;c[b>>2]=g;c[b+4>>2]=(a[g+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return g+16|0}function Ad(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!d){e=b+8|0;f=c[e>>2]|0;c[f+4>>2]=0;c[e>>2]=f+8;g=0;return g|0}f=c[b+12>>2]|0;e=f+12|0;h=c[e>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[e>>2]=-1600;break}else{zc(b);break}while(0);e=id(b,d,ft(d)|0)|0;d=b+8|0;b=c[d>>2]|0;c[b>>2]=e;c[b+4>>2]=(a[e+4>>0]|64)&255;c[d>>2]=(c[d>>2]|0)+8;g=e+16|0;return g|0}function Bd(a,b){a=a|0;b=b|0;return id(a,b,ft(b)|0)|0}function Cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+12>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;break}else{zc(b);break}while(0);return mc(b,d,e)|0}function Dd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Fa;Fa=Fa+16|0;g=f;h=c[b+12>>2]|0;i=h+12|0;j=c[i>>2]|0;do if((j|0)>0)if(!(a[h+51>>0]|0)){k=h+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[i>>2]=-1600;break}else{zc(b);break}while(0);c[g>>2]=e;e=mc(b,d,g)|0;Fa=f;return e|0}function Ed(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;a:do if((e|0)<0){switch(e|0){case -3333:break;default:break a}f=b+8|0;g=c[f>>2]|0;c[g>>2]=d;h=f;i=54;j=g;k=j+4|0;c[k>>2]=i;l=c[h>>2]|0;m=l+8|0;c[h>>2]=m;return}else{switch(e|0){case 0:break;default:break a}g=b+8|0;f=c[g>>2]|0;c[f>>2]=d;h=g;i=22;j=f;k=j+4|0;c[k>>2]=i;l=c[h>>2]|0;m=l+8|0;c[h>>2]=m;return}while(0);f=b+12|0;g=c[f>>2]|0;n=g+12|0;o=c[n>>2]|0;if((o|0)<=0){p=(e<<3)+16|0;q=g+4|0;r=Ma[c[g>>2]&1](c[q>>2]|0,0,6,p)|0;if((p|0)!=0&(r|0)==0){if(!(a[g+51>>0]|0))jc(b,4);vc(b,1);s=Ma[c[g>>2]&1](c[q>>2]|0,0,6,p)|0;if(!s)jc(b,4);else{t=s;u=n;v=g;w=p}}else{t=r;u=n;v=g;w=p}}else{if(!(a[g+51>>0]|0)){p=g+8|0;c[p>>2]=o+1600+(c[p>>2]|0);c[n>>2]=-1600;x=g}else{zc(b);x=c[f>>2]|0}f=(e<<3)+16|0;g=x+4|0;n=Ma[c[x>>2]&1](c[g>>2]|0,0,6,f)|0;if((f|0)!=0&(n|0)==0){if(!(a[x+51>>0]|0))jc(b,4);vc(b,1);p=Ma[c[x>>2]&1](c[g>>2]|0,0,6,f)|0;if(!p)jc(b,4);else y=p}else y=n;t=y;u=x+12|0;v=x;w=f}c[u>>2]=(c[u>>2]|0)+w;w=v+56|0;a[t+5>>0]=a[v+48>>0]&3;a[t+4>>0]=38;c[t>>2]=c[w>>2];c[w>>2]=t;a[t+6>>0]=e;c[t+12>>2]=d;d=b+8|0;b=(c[d>>2]|0)+(0-e<<3)|0;c[d>>2]=b;w=e;e=b;do{w=w+-1|0;c[t+16+(w<<3)>>2]=c[e+(w<<3)>>2];c[t+16+(w<<3)+4>>2]=c[e+(w<<3)+4>>2];e=c[d>>2]|0}while((w|0)!=0);c[e>>2]=t;h=d;i=102;j=e;k=j+4|0;c[k>>2]=i;l=c[h>>2]|0;m=l+8|0;c[h>>2]=m;return}function Fd(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=(b|0)!=0&1;c[a+4>>2]=1;c[d>>2]=(c[d>>2]|0)+8;return}function Gd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[(c[b+12>>2]|0)+36>>2]|0;a:do if((c[f+28>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+8|0;else{h=(c[f+16>>2]|0)+((131072%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==131072:0)break;i=c[h+16>>2]|0;if(!i){g=2099900;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=id(b,e,ft(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=(c[f>>2]|0)+-8|0;sc(b,g,j,j);return}function Hd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2099900;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2099900:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2099900}while(0);b=(c[a+8>>2]|0)+-8|0;sc(a,f,b,b);return}function Id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=b+12|0;g=c[f>>2]|0;h=g+12|0;i=c[h>>2]|0;do if((i|0)>0)if(!(a[g+51>>0]|0)){j=g+8|0;c[j>>2]=i+1600+(c[j>>2]|0);c[h>>2]=-1600;k=g;break}else{zc(b);k=c[f>>2]|0;break}else k=g;while(0);g=k+4|0;f=Ma[c[k>>2]&1](c[g>>2]|0,0,5,32)|0;if(!f){if(!(a[k+51>>0]|0))jc(b,4);vc(b,1);h=Ma[c[k>>2]&1](c[g>>2]|0,0,5,32)|0;if(!h)jc(b,4);else l=h}else l=f;f=k+12|0;c[f>>2]=(c[f>>2]|0)+32;f=k+56|0;a[l+5>>0]=a[k+48>>0]&3;a[l+4>>0]=5;c[l>>2]=c[f>>2];c[f>>2]=l;c[l+8>>2]=0;a[l+6>>0]=-1;c[l+12>>2]=0;c[l+28>>2]=0;c[l+16>>2]=2099924;a[l+7>>0]=0;c[l+20>>2]=2099924;f=b+8|0;k=c[f>>2]|0;c[k>>2]=l;c[k+4>>2]=69;c[f>>2]=(c[f>>2]|0)+8;if(!((d|0)>0|(e|0)>0))return;Ic(b,l,d,e);return}function Jd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[(c[b+12>>2]|0)+36>>2]|0;a:do if((c[f+28>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+8|0;else{h=(c[f+16>>2]|0)+((131072%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==131072:0)break;i=c[h+16>>2]|0;if(!i){g=2099900;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=id(b,e,ft(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=c[f>>2]|0;tc(b,g,j+-8|0,j+-16|0);c[f>>2]=(c[f>>2]|0)+-16;return}function Kd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=Fa;Fa=Fa+16|0;h=g;i=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[i>>2]|0;if((c[l+4>>2]|32|0)==54)j=2099900;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?2099900:m+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(e<<3)|0;j=k>>>0<(c[b+8>>2]|0)>>>0?k:2099900}while(0);e=c[j>>2]|0;i=b+8|0;k=c[i>>2]|0;m=k+-8|0;l=f+-1|0;a:do if(l>>>0<(c[e+28>>2]|0)>>>0){n=(c[e+12>>2]|0)+(l<<3)|0;o=16}else{p=f<<16;q=0-p|0;r=(c[e+16>>2]|0)+(((((p|0)<0?((p|0)==(q|0)?0:q):p)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[r+12>>2]|0)==3?(c[r+8>>2]|0)==(p|0):0)break;q=c[r+16>>2]|0;if(!q){s=p;o=18;break a}else r=q}n=r;o=16}while(0);if((o|0)==16)if((n|0)==2099900){s=f<<16;o=18}else t=n;if((o|0)==18){c[h>>2]=s;c[h+4>>2]=3;t=yc(b,e,h)|0}c[t>>2]=c[m>>2];c[t+4>>2]=c[k+-4>>2];k=c[i>>2]|0;if(!(c[k+-4>>2]&64)){u=k;v=u+-8|0;c[i>>2]=v;Fa=g;return}if(!(a[(c[k+-8>>2]|0)+5>>0]&3)){u=k;v=u+-8|0;c[i>>2]=v;Fa=g;return}t=c[j>>2]|0;j=t+5|0;m=a[j>>0]|0;if(!(m&4)){u=k;v=u+-8|0;c[i>>2]=v;Fa=g;return}k=c[b+12>>2]|0;a[j>>0]=m&-5;m=k+76|0;c[t+24>>2]=c[m>>2];c[m>>2]=t;u=c[i>>2]|0;v=u+-8|0;c[i>>2]=v;Fa=g;return}function Ld(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+36|0;break}h=-1001e3-e|0;i=c[f>>2]|0;if((c[i+4>>2]|32|0)==54)g=2099900;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2099900:j+16+(h+-1<<3)|0}}else{h=(c[f>>2]|0)+(e<<3)|0;g=h>>>0<(c[b+8>>2]|0)>>>0?h:2099900}while(0);e=b+8|0;f=c[e>>2]|0;if(!(c[f+-4>>2]|0)){k=0;l=0}else{h=c[f+-8>>2]|0;k=h;l=h}h=c[g+4>>2]|0;switch(h&15){case 5:{c[(c[g>>2]|0)+8>>2]=l;if(!k){m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}if(a[k+5>>0]&3?(f=c[g>>2]|0,j=f+5|0,i=a[j>>0]|0,i&4):0){o=c[b+12>>2]|0;a[j>>0]=i&-5;i=o+76|0;c[f+24>>2]=c[i>>2];c[i>>2]=f}Md(b,c[g>>2]|0,k);m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}case 7:{c[(c[g>>2]|0)+8>>2]=k;if(!k){m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}do if(a[l+5>>0]&3?(f=(c[g>>2]|0)+5|0,i=a[f>>0]|0,i&4):0){o=c[b+12>>2]|0;if((d[o+49>>0]|0)<2){uc(o,l);break}else{a[f>>0]=a[o+48>>0]&3|i&-72;break}}while(0);Md(b,c[g>>2]|0,k);m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}default:{c[(c[b+12>>2]|0)+276+((h&15)<<2)>>2]=k;m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}}return 0}function Md(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=b+12|0;h=c[g>>2]|0;i=e+5|0;if((f|0)==0|(a[i>>0]&24)!=0)return;j=f+6|0;k=a[j>>0]|0;if(k&4)return;l=c[h+164>>2]|0;m=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&c[l+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=6;break}f=c[m+16>>2]|0;if(!f){o=2099900;break}else m=f}if((n|0)==6)o=m;if(!(c[o+4>>2]|0)){a[j>>0]=k|4;return}if(!o)return;o=h+64|0;k=c[o>>2]|0;if((k|0)==(e|0)){j=h;while(1){m=d[j+48>>0]|0;n=m^3;l=(a[j+50>>0]|0)==2;f=l?255:184;p=l?64:m&3;m=l?64:0;l=c[k>>2]|0;a:do if(!l)q=0;else{r=k;s=1;t=l;while(1){if(!s){q=r;break a}s=s+-1|0;u=t+5|0;v=d[u>>0]|0;if(!((v^3)&n)){c[r>>2]=c[t>>2];Zc(b,t);w=r}else{if(m&v|0){q=0;break a}if((a[t+4>>0]|0)==8)_c(b,t);a[u>>0]=f&v|p;w=t}t=c[w>>2]|0;if(!t){q=0;break}else r=w}}while(0);if((q|0)!=(k|0))break;j=c[g>>2]|0}c[o>>2]=q}q=h+56|0;o=c[q>>2]|0;if((o|0)==(e|0))x=q;else{q=o;while(1){o=c[q>>2]|0;if((o|0)==(e|0))break;else q=o}x=q}c[x>>2]=c[e>>2];x=h+60|0;c[e>>2]=c[x>>2];c[x>>2]=e;e=a[i>>0]|16;a[i>>0]=e;x=e&255;if((d[h+49>>0]|0)<2)y=x&191;else y=x&184|a[h+48>>0]&3;a[i>>0]=y;return}function Nd(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=Fa;Fa=Fa+16|0;l=k;m=k+8|0;if(!h)n=0;else{o=c[e+16>>2]|0;do if((h|0)<=0){if((h|0)>=-1000999){p=(c[e+8>>2]|0)+(h<<3)|0;break}if((h|0)==-1001e3){p=(c[e+12>>2]|0)+36|0;break}q=-1001e3-h|0;r=c[o>>2]|0;if((c[r+4>>2]|32|0)==54)p=2099900;else{s=c[r>>2]|0;p=(q|0)>(d[s+6>>0]|0)?2099900:s+16+(q+-1<<3)|0}}else{q=(c[o>>2]|0)+(h<<3)|0;p=q>>>0<(c[e+8>>2]|0)>>>0?q:2099900}while(0);n=p-(c[e+28>>2]|0)|0}p=e+8|0;h=(c[p>>2]|0)+(~f<<3)|0;c[m>>2]=h;f=h;if((j|0)!=0?(b[e+36>>1]|0)==0:0){o=c[e+16>>2]|0;c[o+28>>2]=j;c[o+24>>2]=i;c[o+20>>2]=f-(c[e+28>>2]|0);a[o+36>>0]=a[e+41>>0]|0;i=e+68|0;j=o+32|0;c[j>>2]=c[i>>2];c[i>>2]=n;q=o+18|0;a[q>>0]=a[q>>0]|16;o=e+38|0;s=(b[o>>1]|0)+1<<16>>16;b[o>>1]=s;if((s&65535)>199){if(s<<16>>16==200)lc(e,45525,l);if((s&65535)>224)jc(e,6)}if(!(pc(e,h,g)|0))qc(e);b[o>>1]=(b[o>>1]|0)+-1<<16>>16;a[q>>0]=a[q>>0]&-17;c[i>>2]=c[j>>2];t=0}else{c[m+4>>2]=g;t=Pd(e,3,m,f-(c[e+28>>2]|0)|0,n)|0}if((g|0)!=-1){Fa=k;return t|0}g=(c[e+16>>2]|0)+4|0;e=c[p>>2]|0;if((c[g>>2]|0)>>>0>=e>>>0){Fa=k;return t|0}c[g>>2]=e;Fa=k;return t|0}function Od(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Fa;Fa=Fa+16|0;f=e;g=c[d>>2]|0;h=c[d+4>>2]|0;d=a+38|0;i=(b[d>>1]|0)+1<<16>>16;b[d>>1]=i;if((i&65535)>199){if(i<<16>>16==200)lc(a,45525,f);if((i&65535)>224)jc(a,6)}i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;if(!(pc(a,g,h)|0))qc(a);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Fa=e;return}function Pd(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=d+16|0;j=c[i>>2]|0;k=d+41|0;l=a[k>>0]|0;m=d+36|0;n=b[m>>1]|0;o=d+68|0;p=c[o>>2]|0;c[o>>2]=h;h=ic(d,e,f)|0;if(!h){c[o>>2]=p;return h|0}f=d+28|0;e=(c[f>>2]|0)+g|0;Dc(d,e);switch(h|0){case 4:{g=c[(c[d+12>>2]|0)+152>>2]|0;c[e>>2]=g;q=(a[g+4>>0]|64)&255;break}case 6:{g=Oc(d,46185,23)|0;c[e>>2]=g;q=(a[g+4>>0]|64)&255;break}default:{g=c[d+8>>2]|0;c[e>>2]=c[g+-8>>2];q=c[g+-4>>2]|0}}c[e+4>>2]=q;q=e+8|0;c[d+8>>2]=q;c[i>>2]=j;a[k>>0]=l;b[m>>1]=n;if(!j)r=q;else{n=j;j=q;while(1){q=c[n+4>>2]|0;m=j>>>0<q>>>0?q:j;n=c[n+8>>2]|0;if(!n){r=m;break}else j=m}}j=r-(c[f>>2]|0)|0;f=j>>3;r=f+11+((f+1|0)/8|0)|0;f=(r|0)<1e6?r:1e6;if((j|0)>7999992){c[o>>2]=p;return h|0}if((f|0)>=(c[d+32>>2]|0)){c[o>>2]=p;return h|0}kc(d,f);c[o>>2]=p;return h|0}function Qd(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=Fa;Fa=Fa+32|0;j=i;c[j+16>>2]=b;c[j+8>>2]=e;c[j+12>>2]=f;c[j>>2]=0;c[j+4>>2]=0;f=Rd(b,j,(g|0)==0?45758:g,h)|0;if(f|0){Fa=i;return f|0}h=c[(c[b+8>>2]|0)+-8>>2]|0;if((a[h+6>>0]|0)!=1){Fa=i;return f|0}g=b+12|0;b=c[(c[g>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)k=(c[b+12>>2]|0)+8|0;else{j=(c[b+16>>2]|0)+((131072%((1<<d[b+7>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==131072:0)break;e=c[j+16>>2]|0;if(!e){k=2099900;break a}else j=e}k=j}while(0);b=h+16|0;h=c[(c[b>>2]|0)+8>>2]|0;c[h>>2]=c[k>>2];e=k+4|0;c[h+4>>2]=c[e>>2];if(!(c[e>>2]&64)){Fa=i;return f|0}e=c[k>>2]|0;if(!(a[e+5>>0]&3)){Fa=i;return f|0}k=(c[b>>2]|0)+5|0;b=a[k>>0]|0;if(!(b&4)){Fa=i;return f|0}h=c[g>>2]|0;if((d[h+49>>0]|0)<2){uc(h,e);Fa=i;return f|0}else{a[k>>0]=a[h+48>>0]&3|b&-72;Fa=i;return f|0}return 0}function Rd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=Fa;Fa=Fa+64|0;h=g;i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;c[h>>2]=d;c[h+56>>2]=e;c[h+52>>2]=f;f=h+16|0;c[f>>2]=0;e=h+24|0;c[e>>2]=0;d=h+28|0;c[d>>2]=0;j=h+36|0;c[j>>2]=0;k=h+40|0;c[k>>2]=0;l=h+48|0;c[l>>2]=0;m=h+4|0;c[m>>2]=0;n=h+12|0;c[n>>2]=0;o=Pd(a,4,h,(c[a+8>>2]|0)-(c[a+28>>2]|0)|0,c[a+68>>2]|0)|0;h=c[m>>2]|0;p=c[n>>2]|0;q=a+12|0;a=c[q>>2]|0;r=Ma[c[a>>2]&1](c[a+4>>2]|0,h,p,0)|0;s=a+12|0;c[s>>2]=(c[s>>2]|0)+((h|0)==0?0:0-p|0);c[m>>2]=r;c[n>>2]=0;n=c[f>>2]|0;f=c[e>>2]<<1;e=c[q>>2]|0;Ma[c[e>>2]&1](c[e+4>>2]|0,n,f,0)|0;r=e+12|0;c[r>>2]=(c[r>>2]|0)+((n|0)==0?0:0-f|0);f=c[d>>2]|0;d=c[j>>2]<<4;j=c[q>>2]|0;Ma[c[j>>2]&1](c[j+4>>2]|0,f,d,0)|0;n=j+12|0;c[n>>2]=(c[n>>2]|0)+((f|0)==0?0:0-d|0);d=c[k>>2]|0;k=c[l>>2]<<4;l=c[q>>2]|0;Ma[c[l>>2]&1](c[l+4>>2]|0,d,k,0)|0;q=l+12|0;c[q>>2]=(c[q>>2]|0)+((d|0)==0?0:0-k|0);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;Fa=g;return o|0}function Sd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Fa;Fa=Fa+32|0;g=f+8|0;h=f;i=f+16|0;j=c[e>>2]|0;k=c[j>>2]|0;c[j>>2]=k+-1;if(!k){k=La[c[j+8>>2]&7](c[j+16>>2]|0,c[j+12>>2]|0,i)|0;l=c[i>>2]|0;if((k|0)==0|(l|0)==0)m=-1;else{c[j>>2]=l+-1;c[j+4>>2]=k+1;m=d[k>>0]|0}n=m}else{m=j+4|0;j=c[m>>2]|0;c[m>>2]=j+1;n=d[j>>0]|0}j=c[e+52>>2]|0;m=(j|0)==0;if((n|0)==27){if(!m?(rt(j,98)|0)==0:0){c[h>>2]=46251;c[h+4>>2]=j;hd(b,46209,h)|0;jc(b,3)}o=Td(b,c[e>>2]|0,e+4|0,c[e+56>>2]|0)|0}else{if(!m?(rt(j,116)|0)==0:0){c[g>>2]=46258;c[g+4>>2]=j;hd(b,46209,g)|0;jc(b,3)}o=Ud(b,c[e>>2]|0,e+4|0,e+16|0,c[e+56>>2]|0,n)|0}n=o+6|0;if(!(a[n>>0]|0)){Fa=f;return}e=b+12|0;g=o+16|0;j=o+5|0;o=0;while(1){m=c[e>>2]|0;h=m+4|0;k=Ma[c[m>>2]&1](c[h>>2]|0,0,10,20)|0;if(!k){if(!(a[m+51>>0]|0)){p=20;break}vc(b,1);l=Ma[c[m>>2]&1](c[h>>2]|0,0,10,20)|0;if(!l){p=20;break}else q=l}else q=k;k=m+12|0;c[k>>2]=(c[k>>2]|0)+20;k=m+56|0;l=q+5|0;a[l>>0]=a[m+48>>0]&3;a[q+4>>0]=10;c[q>>2]=c[k>>2];c[k>>2]=q;c[q+8>>2]=q+12;c[q+16>>2]=0;c[g+(o<<2)>>2]=q;do if(a[l>>0]&3?(k=a[j>>0]|0,k&4):0){m=c[e>>2]|0;if((d[m+49>>0]|0)<2){uc(m,q);break}else{a[j>>0]=a[m+48>>0]&3|k&-72;break}}while(0);o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0){p=27;break}}if((p|0)==20)jc(b,4);else if((p|0)==27){Fa=f;return}}function Td(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=Fa;Fa=Fa+96|0;i=h+56|0;j=h+80|0;k=h+32|0;l=h;m=h+64|0;switch(a[g>>0]|0){case 61:case 64:{n=g+1|0;break}case 27:{n=47353;break}default:n=g}c[m+12>>2]=n;c[m>>2]=d;c[m+4>>2]=e;c[m+8>>2]=f;c[k>>2]=1635077147;a[k+4>>0]=82;a[k+5>>0]=0;f=k+7|0;a[k+6>>0]=1;n=k+12|0;a[f>>0]=4;a[f+1>>0]=4;a[f+2>>0]=4;a[f+3>>0]=4;a[k+11>>0]=1;c[n>>2]=c[8778];b[n+4>>1]=b[17558]|0;a[l>>0]=27;n=e+16|0;f=e+8|0;g=e+12|0;o=e+4|0;p=17;q=l+1|0;r=c[e>>2]|0;while(1){if(!r){s=La[c[f>>2]&7](c[n>>2]|0,c[g>>2]|0,j)|0;t=c[j>>2]|0;if((s|0)==0|(t|0)==0){u=10;break}c[e>>2]=t;c[o>>2]=s;v=t;w=s}else{v=r;w=c[o>>2]|0}s=p>>>0>v>>>0?v:p;Xu(q|0,w|0,s|0)|0;r=(c[e>>2]|0)-s|0;c[e>>2]=r;c[o>>2]=(c[o>>2]|0)+s;p=p-s|0;if(!p)break;else q=q+s|0}if((u|0)==10)Xe(m,47367);if(ss(k,l,18)|0){if((c[k>>2]|0)!=(c[l>>2]|0))Xe(m,47377);if(ss(k,l,6)|0)Xe(m,47383);if(!(ss(k,l,12)|0))Xe(m,47416);else Xe(m,47403)}l=d+12|0;k=c[l>>2]|0;u=k+4|0;q=Ma[c[k>>2]&1](c[u>>2]|0,0,6,20)|0;if(!q){if(!(a[k+51>>0]|0))jc(d,4);vc(d,1);p=Ma[c[k>>2]&1](c[u>>2]|0,0,6,20)|0;if(!p)jc(d,4);else x=p}else x=q;q=k+12|0;c[q>>2]=(c[q>>2]|0)+20;q=k+56|0;a[x+5>>0]=a[k+48>>0]&3;a[x+4>>0]=6;c[x>>2]=c[q>>2];c[q>>2]=x;q=x+12|0;c[q>>2]=0;a[x+6>>0]=1;c[x+16>>2]=0;k=d+8|0;p=c[k>>2]|0;c[p>>2]=x;c[p+4>>2]=70;p=(c[k>>2]|0)+8|0;c[k>>2]=p;u=p;do if(((c[d+24>>2]|0)-u|0)<8){p=c[d+32>>2]|0;if((p|0)>1e6)jc(d,6);o=(u-(c[d+28>>2]|0)>>3)+5|0;r=p<<1;p=(r|0)<1e6?r:1e6;r=(p|0)<(o|0)?o:p;if((r|0)>1e6){kc(d,1000200);lc(d,45510,i)}else{kc(d,r);break}}while(0);i=c[l>>2]|0;l=i+4|0;u=Ma[c[i>>2]&1](c[l>>2]|0,0,9,80)|0;if(!u){if(!(a[i+51>>0]|0))jc(d,4);vc(d,1);r=Ma[c[i>>2]&1](c[l>>2]|0,0,9,80)|0;if(!r)jc(d,4);else y=r}else y=u;u=i+12|0;c[u>>2]=(c[u>>2]|0)+80;u=i+56|0;a[y+5>>0]=a[i+48>>0]&3;a[y+4>>0]=9;c[y>>2]=c[u>>2];c[u>>2]=y;a[y+76>>0]=0;a[y+77>>0]=0;a[y+78>>0]=0;u=y+8|0;i=u+64|0;do{c[u>>2]=0;u=u+4|0}while((u|0)<(i|0));c[q>>2]=y;Ye(m,y);y=c[q>>2]|0;q=c[y+40>>2]|0;if((q|0)==1){z=x;Fa=h;return z|0}x=Jc(d,q)|0;c[x+12>>2]=y;y=c[k>>2]|0;c[y+-8>>2]=x;c[y+-4>>2]=70;z=x;Fa=h;return z|0}function Ud(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;j=Fa;Fa=Fa+160|0;k=j+8|0;l=j;m=j+144|0;n=j+128|0;o=j+64|0;p=j+12|0;q=d+12|0;r=c[q>>2]|0;s=r+4|0;t=Ma[c[r>>2]&1](c[s>>2]|0,0,6,20)|0;if(!t){if(!(a[r+51>>0]|0))jc(d,4);vc(d,1);u=Ma[c[r>>2]&1](c[s>>2]|0,0,6,20)|0;if(!u)jc(d,4);else v=u}else v=t;t=r+12|0;c[t>>2]=(c[t>>2]|0)+20;t=r+56|0;a[v+5>>0]=a[r+48>>0]&3;a[v+4>>0]=6;c[v>>2]=c[t>>2];c[t>>2]=v;t=v+12|0;c[t>>2]=0;a[v+6>>0]=1;c[v+16>>2]=0;r=d+8|0;u=c[r>>2]|0;c[u>>2]=v;c[u+4>>2]=70;u=(c[r>>2]|0)+8|0;c[r>>2]=u;r=u;do if(((c[d+24>>2]|0)-r|0)<8){u=c[d+32>>2]|0;if((u|0)>1e6)jc(d,6);s=(r-(c[d+28>>2]|0)>>3)+5|0;w=u<<1;u=(w|0)<1e6?w:1e6;w=(u|0)<(s|0)?s:u;if((w|0)>1e6){kc(d,1000200);lc(d,45510,l)}else{kc(d,w);break}}while(0);l=c[q>>2]|0;q=l+4|0;r=Ma[c[l>>2]&1](c[q>>2]|0,0,9,80)|0;if(!r){if(!(a[l+51>>0]|0))jc(d,4);vc(d,1);w=Ma[c[l>>2]&1](c[q>>2]|0,0,9,80)|0;if(!w)jc(d,4);else x=w}else x=r;r=l+12|0;c[r>>2]=(c[r>>2]|0)+80;r=l+56|0;a[x+5>>0]=a[l+48>>0]&3;a[x+4>>0]=9;c[x>>2]=c[r>>2];c[r>>2]=x;a[x+76>>0]=0;a[x+77>>0]=0;a[x+78>>0]=0;r=x+8|0;l=r+64|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(l|0));c[t>>2]=x;c[p>>2]=x;t=id(d,h,ft(h)|0)|0;c[x+36>>2]=t;h=o+40|0;c[h>>2]=f;f=o+44|0;c[f>>2]=g;c[g+28>>2]=0;c[g+16>>2]=0;c[g+4>>2]=0;a[o+56>>0]=46;g=o+32|0;c[g>>2]=d;c[o>>2]=i;c[o+20>>2]=286;c[o+36>>2]=e;e=o+28|0;c[e>>2]=0;i=o+4|0;c[i>>2]=1;r=o+8|0;c[r>>2]=1;l=o+48|0;c[l>>2]=t;t=Oc(d,45828,4)|0;d=o+52|0;c[d>>2]=t;w=t+5|0;a[w>>0]=a[w>>0]|32;w=c[g>>2]|0;g=c[h>>2]|0;h=c[g>>2]|0;t=g+8|0;q=c[t>>2]|0;u=w+12|0;s=c[u>>2]|0;y=(h|0)==0;z=s+4|0;A=Ma[c[s>>2]&1](c[z>>2]|0,h,q,32)|0;if(!A){if(!(a[s+51>>0]|0))jc(w,4);vc(w,1);B=Ma[c[s>>2]&1](c[z>>2]|0,h,q,32)|0;if(!B)jc(w,4);else C=B}else C=A;A=s+12|0;c[A>>2]=(c[A>>2]|0)+(y?32:32-q|0);c[g>>2]=C;c[t>>2]=32;c[p+8>>2]=c[e>>2];t=p+12|0;c[t>>2]=o;c[e>>2]=p;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=-1;c[p+32>>2]=0;c[p+36>>2]=0;e=p+44|0;c[e>>2]=0;a[e+4>>0]=0;c[p+40>>2]=c[(c[f>>2]|0)+4>>2];f=p+16|0;c[f>>2]=0;c[x+36>>2]=c[l>>2];a[x+78>>0]=2;x=c[u>>2]|0;u=x+4|0;l=Ma[c[x>>2]&1](c[u>>2]|0,0,5,32)|0;if(!l){if(!(a[x+51>>0]|0))jc(w,4);vc(w,1);e=Ma[c[x>>2]&1](c[u>>2]|0,0,5,32)|0;if(!e)jc(w,4);else D=e}else D=l;l=x+12|0;c[l>>2]=(c[l>>2]|0)+32;l=x+56|0;a[D+5>>0]=a[x+48>>0]&3;a[D+4>>0]=5;c[D>>2]=c[l>>2];c[l>>2]=D;c[D+8>>2]=0;a[D+6>>0]=-1;c[D+12>>2]=0;c[D+28>>2]=0;c[D+16>>2]=2099924;a[D+7>>0]=0;c[D+20>>2]=2099924;c[p+4>>2]=D;l=w+8|0;x=c[l>>2]|0;c[x>>2]=D;c[x+4>>2]=69;x=(c[l>>2]|0)+8|0;c[l>>2]=x;l=x;do if(((c[w+24>>2]|0)-l|0)<8){x=c[w+32>>2]|0;if((x|0)>1e6)jc(w,6);D=(l-(c[w+28>>2]|0)>>3)+5|0;e=x<<1;x=(e|0)<1e6?e:1e6;e=(x|0)<(D|0)?D:x;if((e|0)>1e6){kc(w,1000200);lc(w,45510,k)}else{kc(w,e);break}}while(0);a[m+10>>0]=0;a[m+8>>0]=a[p+46>>0]|0;w=c[(c[t>>2]|0)+44>>2]|0;b[m+4>>1]=c[w+28>>2];b[m+6>>1]=c[w+16>>2];a[m+9>>0]=0;c[m>>2]=c[f>>2];c[f>>2]=m;a[(c[p>>2]|0)+77>>0]=1;c[n+8>>2]=-1;c[n+12>>2]=-1;c[n>>2]=7;c[n+4>>2]=0;Vd(p,c[d>>2]|0,n)|0;c[r>>2]=c[i>>2];i=o+20|0;if((c[i>>2]|0)==286){r=Wd(o,o+16|0)|0;n=o+12|0;c[n>>2]=r;E=r;F=n}else{n=i;r=c[n>>2]|0;d=c[n+4>>2]|0;n=o+12|0;c[n>>2]=r;c[n+4>>2]=d;c[i>>2]=286;E=r;F=o+12|0}r=E;a:while(1){switch(r|0){case 277:case 286:case 262:case 261:case 260:{G=r;break a;break}default:{}}Xd(o);E=c[F>>2]|0;if((r|0)==274){G=E;break}else r=E}if((G|0)==286){Zd(o);Fa=j;return v|0}else Yd(o,286);return 0}function Vd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[b>>2]|0;h=g+40|0;i=c[h>>2]|0;j=b+47|0;k=a[j>>0]|0;if(k<<24>>24==-1)me(b,255,47344);if((i|0)>(k&255|0))l=i;else{k=g+28|0;c[k>>2]=ce(c[(c[b+12>>2]|0)+32>>2]|0,c[k>>2]|0,h,8,255,47344)|0;l=c[h>>2]|0}h=c[g+28>>2]|0;if((i|0)<(l|0)){k=i;do{c[h+(k<<3)>>2]=0;k=k+1|0}while((k|0)<(l|0))}l=d[j>>0]|0;a[h+(l<<3)+4>>0]=(c[f>>2]|0)==7&1;a[h+(l<<3)+5>>0]=c[f+4>>2];c[h+(l<<3)>>2]=e;if(!(a[e+5>>0]&3)){m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}l=g+5|0;g=a[l>>0]|0;if(!(g&4)){m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}h=c[(c[(c[b+12>>2]|0)+32>>2]|0)+12>>2]|0;if((d[h+49>>0]|0)<2){uc(h,e);m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}else{a[l>>0]=a[h+48>>0]&3|g&-72;m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}return 0}function Wd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Ic=0,Jc=0;f=Fa;Fa=Fa+16|0;g=f+12|0;h=f;i=b+40|0;c[(c[i>>2]|0)+4>>2]=0;j=b+36|0;a:while(1){k=c[b>>2]|0;b:do switch(k|0){case 91:{l=34;break a;break}case 61:{l=38;break a;break}case 94:{l=50;break a;break}case 64:{l=62;break a;break}case 60:{l=68;break a;break}case 62:{l=92;break a;break}case 126:{l=122;break a;break}case 58:{l=134;break a;break}case 39:case 34:{l=146;break a;break}case 46:{l=293;break a;break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{m=k;break a;break}case -1:{n=286;l=497;break a;break}case 13:case 10:{Re(b);break}case 11:case 9:case 12:case 32:{o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=La[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)r=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;r=d[p>>0]|0}s=r}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;s=d[o>>0]|0}c[b>>2]=s;break}case 45:{o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=La[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)t=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;t=d[p>>0]|0}u=t}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;u=d[o>>0]|0}c[b>>2]=u;if((u|0)!=45){n=45;l=497;break a}o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=La[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)v=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;v=d[p>>0]|0}w=v}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;w=d[o>>0]|0}c[b>>2]=w;do if((w|0)==91){o=Se(b)|0;c[(c[i>>2]|0)+4>>2]=0;if((o|0)>-1){Te(b,0,o);c[(c[i>>2]|0)+4>>2]=0;break b}else{x=c[b>>2]|0;break}}else x=w;while(0);o=x;while(1){switch(o|0){case -1:case 13:case 10:{break b;break}default:{}}p=c[j>>2]|0;q=c[p>>2]|0;c[p>>2]=q+-1;if(!q){q=La[c[p+8>>2]&7](c[p+16>>2]|0,c[p+12>>2]|0,g)|0;y=c[g>>2]|0;if((q|0)==0|(y|0)==0)z=-1;else{c[p>>2]=y+-1;c[p+4>>2]=q+1;z=d[q>>0]|0}A=z}else{q=p+4|0;p=c[q>>2]|0;c[q>>2]=p+1;A=d[p>>0]|0}c[b>>2]=A;o=A}break}default:{l=469;break a}}while(0)}switch(l|0){case 34:{A=Se(b)|0;if((A|0)>-1){Te(b,e,A);n=289;Fa=f;return n|0}if((A|0)==-1){n=91;Fa=f;return n|0}else ke(b,47119,289);break}case 38:{A=c[j>>2]|0;z=c[A>>2]|0;c[A>>2]=z+-1;if(!z){z=La[c[A+8>>2]&7](c[A+16>>2]|0,c[A+12>>2]|0,g)|0;x=c[g>>2]|0;if((z|0)==0|(x|0)==0)B=-1;else{c[A>>2]=x+-1;c[A+4>>2]=z+1;B=d[z>>0]|0}C=B}else{B=A+4|0;A=c[B>>2]|0;c[B>>2]=A+1;C=d[A>>0]|0}c[b>>2]=C;if((C|0)!=61){n=61;Fa=f;return n|0}C=c[j>>2]|0;A=c[C>>2]|0;c[C>>2]=A+-1;if(!A){A=La[c[C+8>>2]&7](c[C+16>>2]|0,c[C+12>>2]|0,g)|0;B=c[g>>2]|0;if((A|0)==0|(B|0)==0)D=-1;else{c[C>>2]=B+-1;c[C+4>>2]=A+1;D=d[A>>0]|0}E=D}else{D=C+4|0;C=c[D>>2]|0;c[D>>2]=C+1;E=d[C>>0]|0}c[b>>2]=E;n=281;Fa=f;return n|0}case 50:{E=c[j>>2]|0;C=c[E>>2]|0;c[E>>2]=C+-1;if(!C){C=La[c[E+8>>2]&7](c[E+16>>2]|0,c[E+12>>2]|0,g)|0;D=c[g>>2]|0;if((C|0)==0|(D|0)==0)F=-1;else{c[E>>2]=D+-1;c[E+4>>2]=C+1;F=d[C>>0]|0}G=F}else{F=E+4|0;E=c[F>>2]|0;c[F>>2]=E+1;G=d[E>>0]|0}c[b>>2]=G;if((G|0)!=94){n=94;Fa=f;return n|0}G=c[j>>2]|0;E=c[G>>2]|0;c[G>>2]=E+-1;if(!E){E=La[c[G+8>>2]&7](c[G+16>>2]|0,c[G+12>>2]|0,g)|0;F=c[g>>2]|0;if((E|0)==0|(F|0)==0)H=-1;else{c[G>>2]=F+-1;c[G+4>>2]=E+1;H=d[E>>0]|0}I=H}else{H=G+4|0;G=c[H>>2]|0;c[H>>2]=G+1;I=d[G>>0]|0}c[b>>2]=I;n=295;Fa=f;return n|0}case 62:{I=c[j>>2]|0;G=c[I>>2]|0;c[I>>2]=G+-1;if(!G){G=La[c[I+8>>2]&7](c[I+16>>2]|0,c[I+12>>2]|0,g)|0;H=c[g>>2]|0;if((G|0)==0|(H|0)==0)J=-1;else{c[I>>2]=H+-1;c[I+4>>2]=G+1;J=d[G>>0]|0}K=J}else{J=I+4|0;I=c[J>>2]|0;c[J>>2]=I+1;K=d[I>>0]|0}c[b>>2]=K;n=64;Fa=f;return n|0}case 68:{K=c[j>>2]|0;I=c[K>>2]|0;c[K>>2]=I+-1;if(!I){I=La[c[K+8>>2]&7](c[K+16>>2]|0,c[K+12>>2]|0,g)|0;J=c[g>>2]|0;if((I|0)==0|(J|0)==0)L=-1;else{c[K>>2]=J+-1;c[K+4>>2]=I+1;L=d[I>>0]|0}M=L}else{L=K+4|0;K=c[L>>2]|0;c[L>>2]=K+1;M=d[K>>0]|0}c[b>>2]=M;switch(M|0){case 61:{M=c[j>>2]|0;K=c[M>>2]|0;c[M>>2]=K+-1;if(!K){K=La[c[M+8>>2]&7](c[M+16>>2]|0,c[M+12>>2]|0,g)|0;L=c[g>>2]|0;if((K|0)==0|(L|0)==0)N=-1;else{c[M>>2]=L+-1;c[M+4>>2]=K+1;N=d[K>>0]|0}O=N}else{N=M+4|0;M=c[N>>2]|0;c[N>>2]=M+1;O=d[M>>0]|0}c[b>>2]=O;n=283;Fa=f;return n|0}case 60:{O=c[j>>2]|0;M=c[O>>2]|0;c[O>>2]=M+-1;if(!M){M=La[c[O+8>>2]&7](c[O+16>>2]|0,c[O+12>>2]|0,g)|0;N=c[g>>2]|0;if((M|0)==0|(N|0)==0)P=-1;else{c[O>>2]=N+-1;c[O+4>>2]=M+1;P=d[M>>0]|0}Q=P}else{P=O+4|0;O=c[P>>2]|0;c[P>>2]=O+1;Q=d[O>>0]|0}c[b>>2]=Q;if((Q|0)!=62){n=290;Fa=f;return n|0}Q=c[j>>2]|0;O=c[Q>>2]|0;c[Q>>2]=O+-1;if(!O){O=La[c[Q+8>>2]&7](c[Q+16>>2]|0,c[Q+12>>2]|0,g)|0;P=c[g>>2]|0;if((O|0)==0|(P|0)==0)R=-1;else{c[Q>>2]=P+-1;c[Q+4>>2]=O+1;R=d[O>>0]|0}S=R}else{R=Q+4|0;Q=c[R>>2]|0;c[R>>2]=Q+1;S=d[Q>>0]|0}c[b>>2]=S;n=293;Fa=f;return n|0}default:{n=60;Fa=f;return n|0}}break}case 92:{S=c[j>>2]|0;Q=c[S>>2]|0;c[S>>2]=Q+-1;if(!Q){Q=La[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,g)|0;R=c[g>>2]|0;if((Q|0)==0|(R|0)==0)T=-1;else{c[S>>2]=R+-1;c[S+4>>2]=Q+1;T=d[Q>>0]|0}U=T}else{T=S+4|0;S=c[T>>2]|0;c[T>>2]=S+1;U=d[S>>0]|0}c[b>>2]=U;switch(U|0){case 61:{U=c[j>>2]|0;S=c[U>>2]|0;c[U>>2]=S+-1;if(!S){S=La[c[U+8>>2]&7](c[U+16>>2]|0,c[U+12>>2]|0,g)|0;T=c[g>>2]|0;if((S|0)==0|(T|0)==0)V=-1;else{c[U>>2]=T+-1;c[U+4>>2]=S+1;V=d[S>>0]|0}W=V}else{V=U+4|0;U=c[V>>2]|0;c[V>>2]=U+1;W=d[U>>0]|0}c[b>>2]=W;n=282;Fa=f;return n|0}case 62:{W=c[j>>2]|0;U=c[W>>2]|0;c[W>>2]=U+-1;if(!U){U=La[c[W+8>>2]&7](c[W+16>>2]|0,c[W+12>>2]|0,g)|0;V=c[g>>2]|0;if((U|0)==0|(V|0)==0)X=-1;else{c[W>>2]=V+-1;c[W+4>>2]=U+1;X=d[U>>0]|0}Y=X}else{X=W+4|0;W=c[X>>2]|0;c[X>>2]=W+1;Y=d[W>>0]|0}c[b>>2]=Y;switch(Y|0){case 62:{Y=c[j>>2]|0;W=c[Y>>2]|0;c[Y>>2]=W+-1;if(!W){W=La[c[Y+8>>2]&7](c[Y+16>>2]|0,c[Y+12>>2]|0,g)|0;X=c[g>>2]|0;if((W|0)==0|(X|0)==0)Z=-1;else{c[Y>>2]=X+-1;c[Y+4>>2]=W+1;Z=d[W>>0]|0}_=Z}else{Z=Y+4|0;Y=c[Z>>2]|0;c[Z>>2]=Y+1;_=d[Y>>0]|0}c[b>>2]=_;n=292;Fa=f;return n|0}case 60:{_=c[j>>2]|0;Y=c[_>>2]|0;c[_>>2]=Y+-1;if(!Y){Y=La[c[_+8>>2]&7](c[_+16>>2]|0,c[_+12>>2]|0,g)|0;Z=c[g>>2]|0;if((Y|0)==0|(Z|0)==0)$=-1;else{c[_>>2]=Z+-1;c[_+4>>2]=Y+1;$=d[Y>>0]|0}aa=$}else{$=_+4|0;_=c[$>>2]|0;c[$>>2]=_+1;aa=d[_>>0]|0}c[b>>2]=aa;n=294;Fa=f;return n|0}default:{n=291;Fa=f;return n|0}}break}default:{n=62;Fa=f;return n|0}}break}case 122:{aa=c[j>>2]|0;_=c[aa>>2]|0;c[aa>>2]=_+-1;if(!_){_=La[c[aa+8>>2]&7](c[aa+16>>2]|0,c[aa+12>>2]|0,g)|0;$=c[g>>2]|0;if((_|0)==0|($|0)==0)ba=-1;else{c[aa>>2]=$+-1;c[aa+4>>2]=_+1;ba=d[_>>0]|0}ca=ba}else{ba=aa+4|0;aa=c[ba>>2]|0;c[ba>>2]=aa+1;ca=d[aa>>0]|0}c[b>>2]=ca;if((ca|0)!=61){n=126;Fa=f;return n|0}ca=c[j>>2]|0;aa=c[ca>>2]|0;c[ca>>2]=aa+-1;if(!aa){aa=La[c[ca+8>>2]&7](c[ca+16>>2]|0,c[ca+12>>2]|0,g)|0;ba=c[g>>2]|0;if((aa|0)==0|(ba|0)==0)da=-1;else{c[ca>>2]=ba+-1;c[ca+4>>2]=aa+1;da=d[aa>>0]|0}ea=da}else{da=ca+4|0;ca=c[da>>2]|0;c[da>>2]=ca+1;ea=d[ca>>0]|0}c[b>>2]=ea;n=284;Fa=f;return n|0}case 134:{ea=c[j>>2]|0;ca=c[ea>>2]|0;c[ea>>2]=ca+-1;if(!ca){ca=La[c[ea+8>>2]&7](c[ea+16>>2]|0,c[ea+12>>2]|0,g)|0;da=c[g>>2]|0;if((ca|0)==0|(da|0)==0)fa=-1;else{c[ea>>2]=da+-1;c[ea+4>>2]=ca+1;fa=d[ca>>0]|0}ga=fa}else{fa=ea+4|0;ea=c[fa>>2]|0;c[fa>>2]=ea+1;ga=d[ea>>0]|0}c[b>>2]=ga;if((ga|0)!=58){n=58;Fa=f;return n|0}ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;fa=c[g>>2]|0;if((ea|0)==0|(fa|0)==0)ha=-1;else{c[ga>>2]=fa+-1;c[ga+4>>2]=ea+1;ha=d[ea>>0]|0}ia=ha}else{ha=ga+4|0;ga=c[ha>>2]|0;c[ha>>2]=ga+1;ia=d[ga>>0]|0}c[b>>2]=ia;n=285;Fa=f;return n|0}case 146:{ia=c[i>>2]|0;ga=ia+4|0;ha=c[ga>>2]|0;ea=ha+1|0;fa=ia+8|0;ca=c[fa>>2]|0;if(ea>>>0>ca>>>0){if(ca>>>0>2147483645)ke(b,46491,0);da=ca<<1;aa=c[b+32>>2]|0;if((da|0)==-2)wc(aa);ba=c[ia>>2]|0;_=c[aa+12>>2]|0;$=(ba|0)==0;Y=_+4|0;Z=Ma[c[_>>2]&1](c[Y>>2]|0,ba,ca,da)|0;if((da|0)!=0&(Z|0)==0){if(!(a[_+51>>0]|0))jc(aa,4);vc(aa,1);W=Ma[c[_>>2]&1](c[Y>>2]|0,ba,ca,da)|0;if(!W)jc(aa,4);else ja=W}else ja=Z;Z=_+12|0;c[Z>>2]=($?0:0-ca|0)+da+(c[Z>>2]|0);c[ia>>2]=ja;c[fa>>2]=da;da=c[ga>>2]|0;ka=da+1|0;la=ja;ma=da}else{ka=ea;la=c[ia>>2]|0;ma=ha}ha=k&255;c[ga>>2]=ka;a[la+ma>>0]=ha;ma=c[j>>2]|0;la=c[ma>>2]|0;c[ma>>2]=la+-1;if(!la){la=La[c[ma+8>>2]&7](c[ma+16>>2]|0,c[ma+12>>2]|0,g)|0;ka=c[g>>2]|0;if((la|0)==0|(ka|0)==0)na=-1;else{c[ma>>2]=ka+-1;c[ma+4>>2]=la+1;na=d[la>>0]|0}oa=na}else{na=ma+4|0;ma=c[na>>2]|0;c[na>>2]=ma+1;oa=d[ma>>0]|0}c[b>>2]=oa;c:do if((oa|0)!=(k|0)){ma=b+32|0;na=h+4|0;la=h+8|0;ka=oa;d:while(1){e:do switch(ka|0){case -1:{l=165;break d;break}case 13:case 10:{l=166;break d;break}case 92:{ga=c[j>>2]|0;ia=c[ga>>2]|0;c[ga>>2]=ia+-1;if(!ia){ia=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ia|0)==0|(ea|0)==0)pa=-1;else{c[ga>>2]=ea+-1;c[ga+4>>2]=ia+1;pa=d[ia>>0]|0}qa=pa}else{ia=ga+4|0;ga=c[ia>>2]|0;c[ia>>2]=ga+1;qa=d[ga>>0]|0}c[b>>2]=qa;do switch(qa|0){case -1:{ra=qa;break e;break}case 97:{sa=7;l=240;break}case 98:{sa=8;l=240;break}case 102:{sa=12;l=240;break}case 110:{sa=10;l=240;break}case 114:{sa=13;l=240;break}case 116:{sa=9;l=240;break}case 118:{sa=11;l=240;break}case 42:{sa=1;l=240;break}case 35:{sa=2;l=240;break}case 45:{sa=3;l=240;break}case 124:{sa=4;l=240;break}case 43:{sa=5;l=240;break}case 94:{sa=6;l=240;break}case 120:{c[h>>2]=120;ga=c[j>>2]|0;ia=c[ga>>2]|0;c[ga>>2]=ia+-1;if(!ia){ia=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ia|0)==0|(ea|0)==0)ta=-1;else{c[ga>>2]=ea+-1;c[ga+4>>2]=ia+1;ta=d[ia>>0]|0}ua=ta}else{ia=ga+4|0;ga=c[ia>>2]|0;c[ia>>2]=ga+1;ua=d[ga>>0]|0}c[b>>2]=ua;c[na>>2]=ua;if(!(a[64+(ua+1)>>0]&16)){va=2;l=191;break d}ga=ua+-48|0;ia=ga>>>0<10?ga:(ua|32)+268435369|0;ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)wa=-1;else{c[ga>>2]=da+-1;c[ga+4>>2]=ea+1;wa=d[ea>>0]|0}xa=wa}else{ea=ga+4|0;ga=c[ea>>2]|0;c[ea>>2]=ga+1;xa=d[ga>>0]|0}c[b>>2]=xa;c[la>>2]=xa;if(!(a[64+(xa+1)>>0]&16)){va=3;l=191;break d}ga=xa+-48|0;sa=(ga>>>0<10?ga:(xa|32)+-87|0)+(ia<<4)|0;l=240;break}case 13:case 10:{Re(b);ya=10;break}case 39:case 34:case 92:{sa=qa;l=240;break}case 122:{ia=c[j>>2]|0;ga=c[ia>>2]|0;c[ia>>2]=ga+-1;if(!ga){ga=La[c[ia+8>>2]&7](c[ia+16>>2]|0,c[ia+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ga|0)==0|(ea|0)==0)za=-1;else{c[ia>>2]=ea+-1;c[ia+4>>2]=ga+1;za=d[ga>>0]|0}Aa=za}else{ga=ia+4|0;ia=c[ga>>2]|0;c[ga>>2]=ia+1;Aa=d[ia>>0]|0}c[b>>2]=Aa;if(!(a[64+(Aa+1)>>0]&8)){ra=Aa;break e}ia=Aa;while(1){switch(ia|0){case 13:case 10:{Re(b);Ba=c[b>>2]|0;break}default:{ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)Ca=-1;else{c[ga>>2]=da+-1;c[ga+4>>2]=ea+1;Ca=d[ea>>0]|0}Da=Ca}else{ea=ga+4|0;ga=c[ea>>2]|0;c[ea>>2]=ga+1;Da=d[ga>>0]|0}c[b>>2]=Da;Ba=Da}}if(!(a[64+(Ba+1)>>0]&8)){ra=Ba;break e}else ia=Ba}break}default:{ia=qa+-48|0;if(ia>>>0>=10){l=218;break d}c[h>>2]=qa;ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)Ea=-1;else{c[ga>>2]=da+-1;c[ga+4>>2]=ea+1;Ea=d[ea>>0]|0}Ga=Ea}else{ea=ga+4|0;ga=c[ea>>2]|0;c[ea>>2]=ga+1;Ga=d[ga>>0]|0}c[b>>2]=Ga;ga=Ga+-48|0;if(ga>>>0<10){c[na>>2]=Ga;ea=ga+(ia*10|0)|0;ga=c[j>>2]|0;da=c[ga>>2]|0;c[ga>>2]=da+-1;if(!da){da=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;ja=c[g>>2]|0;if((da|0)==0|(ja|0)==0)Ha=-1;else{c[ga>>2]=ja+-1;c[ga+4>>2]=da+1;Ha=d[da>>0]|0}Ia=Ha}else{da=ga+4|0;ga=c[da>>2]|0;c[da>>2]=ga+1;Ia=d[ga>>0]|0}c[b>>2]=Ia;ga=Ia+-48|0;if(ga>>>0<10){c[la>>2]=Ia;da=ga+(ea*10|0)|0;ga=c[j>>2]|0;ja=c[ga>>2]|0;c[ga>>2]=ja+-1;if(!ja){ja=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;fa=c[g>>2]|0;if((ja|0)==0|(fa|0)==0)Ja=-1;else{c[ga>>2]=fa+-1;c[ga+4>>2]=ja+1;Ja=d[ja>>0]|0}Ka=Ja}else{ja=ga+4|0;ga=c[ja>>2]|0;c[ja>>2]=ga+1;Ka=d[ga>>0]|0}c[b>>2]=Ka;Na=da;Oa=3}else{Na=ea;Oa=2}if((Na|0)>255){l=226;break d}else Pa=Na}else Pa=ia;ya=Pa}}while(0);if((l|0)==240){l=0;ia=c[j>>2]|0;ea=c[ia>>2]|0;c[ia>>2]=ea+-1;if(!ea){ea=La[c[ia+8>>2]&7](c[ia+16>>2]|0,c[ia+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)Qa=-1;else{c[ia>>2]=da+-1;c[ia+4>>2]=ea+1;Qa=d[ea>>0]|0}Ra=Qa}else{ea=ia+4|0;ia=c[ea>>2]|0;c[ea>>2]=ia+1;Ra=d[ia>>0]|0}c[b>>2]=Ra;ya=sa}ia=c[i>>2]|0;ea=ia+4|0;da=c[ea>>2]|0;ga=da+1|0;ja=ia+8|0;fa=c[ja>>2]|0;if(ga>>>0>fa>>>0){if(fa>>>0>2147483645){l=249;break d}Z=fa<<1;Sa=c[ma>>2]|0;if((Z|0)==-2){l=251;break d}ca=c[ia>>2]|0;$=c[Sa+12>>2]|0;_=(ca|0)==0;W=$+4|0;aa=Ma[c[$>>2]&1](c[W>>2]|0,ca,fa,Z)|0;if((Z|0)!=0&(aa|0)==0){if(!(a[$+51>>0]|0)){l=255;break d}vc(Sa,1);ba=Ma[c[$>>2]&1](c[W>>2]|0,ca,fa,Z)|0;if(!ba){l=255;break d}else Ta=ba}else Ta=aa;aa=$+12|0;c[aa>>2]=(_?0:0-fa|0)+Z+(c[aa>>2]|0);c[ia>>2]=Ta;c[ja>>2]=Z;Z=c[ea>>2]|0;Ua=Z+1|0;Va=Ta;Wa=Z}else{Ua=ga;Va=c[ia>>2]|0;Wa=da}c[ea>>2]=Ua;a[Va+Wa>>0]=ya;ra=c[b>>2]|0;break}default:{ea=c[i>>2]|0;da=ea+4|0;ia=c[da>>2]|0;ga=ia+1|0;Z=ea+8|0;ja=c[Z>>2]|0;if(ga>>>0>ja>>>0){if(ja>>>0>2147483645){l=261;break d}aa=ja<<1;Xa=c[ma>>2]|0;if((aa|0)==-2){l=263;break d}fa=c[ea>>2]|0;_=c[Xa+12>>2]|0;$=(fa|0)==0;ba=_+4|0;ca=Ma[c[_>>2]&1](c[ba>>2]|0,fa,ja,aa)|0;if((aa|0)!=0&(ca|0)==0){if(!(a[_+51>>0]|0)){l=267;break d}vc(Xa,1);W=Ma[c[_>>2]&1](c[ba>>2]|0,fa,ja,aa)|0;if(!W){l=267;break d}else Ya=W}else Ya=ca;ca=_+12|0;c[ca>>2]=($?0:0-ja|0)+aa+(c[ca>>2]|0);c[ea>>2]=Ya;c[Z>>2]=aa;aa=c[da>>2]|0;Za=aa+1|0;_a=Ya;$a=aa}else{Za=ga;_a=c[ea>>2]|0;$a=ia}c[da>>2]=Za;a[_a+$a>>0]=ka;da=c[j>>2]|0;ia=c[da>>2]|0;c[da>>2]=ia+-1;if(!ia){ia=La[c[da+8>>2]&7](c[da+16>>2]|0,c[da+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ia|0)==0|(ea|0)==0)ab=-1;else{c[da>>2]=ea+-1;c[da+4>>2]=ia+1;ab=d[ia>>0]|0}bb=ab}else{ia=da+4|0;da=c[ia>>2]|0;c[ia>>2]=da+1;bb=d[da>>0]|0}c[b>>2]=bb;ra=bb}}while(0);if((ra|0)==(k|0))break c;else ka=ra}switch(l|0){case 165:{ke(b,47149,286);break}case 166:{ke(b,47149,289);break}case 191:{Ue(b,h,va,47167);break}case 218:{Ue(b,b,1,47194);break}case 226:{Ue(b,h,Oa,47218);break}case 249:{ke(b,46491,0);break}case 251:{wc(Sa);break}case 255:{jc(Sa,4);break}case 261:{ke(b,46491,0);break}case 263:{wc(Xa);break}case 267:{jc(Xa,4);break}}}while(0);Xa=c[i>>2]|0;Sa=Xa+4|0;Oa=c[Sa>>2]|0;h=Oa+1|0;va=Xa+8|0;ra=c[va>>2]|0;if(h>>>0>ra>>>0){if(ra>>>0>2147483645)ke(b,46491,0);bb=ra<<1;ab=c[b+32>>2]|0;if((bb|0)==-2)wc(ab);$a=c[Xa>>2]|0;_a=c[ab+12>>2]|0;Za=($a|0)==0;Ya=_a+4|0;ya=Ma[c[_a>>2]&1](c[Ya>>2]|0,$a,ra,bb)|0;if((bb|0)!=0&(ya|0)==0){if(!(a[_a+51>>0]|0))jc(ab,4);vc(ab,1);Wa=Ma[c[_a>>2]&1](c[Ya>>2]|0,$a,ra,bb)|0;if(!Wa)jc(ab,4);else cb=Wa}else cb=ya;ya=_a+12|0;c[ya>>2]=(Za?0:0-ra|0)+bb+(c[ya>>2]|0);c[Xa>>2]=cb;c[va>>2]=bb;bb=c[Sa>>2]|0;db=bb+1|0;eb=cb;fb=bb}else{db=h;eb=c[Xa>>2]|0;fb=Oa}c[Sa>>2]=db;a[eb+fb>>0]=ha;ha=c[j>>2]|0;fb=c[ha>>2]|0;c[ha>>2]=fb+-1;if(!fb){fb=La[c[ha+8>>2]&7](c[ha+16>>2]|0,c[ha+12>>2]|0,g)|0;eb=c[g>>2]|0;if((fb|0)==0|(eb|0)==0)gb=-1;else{c[ha>>2]=eb+-1;c[ha+4>>2]=fb+1;gb=d[fb>>0]|0}hb=gb}else{gb=ha+4|0;ha=c[gb>>2]|0;c[gb>>2]=ha+1;hb=d[ha>>0]|0}c[b>>2]=hb;hb=c[i>>2]|0;c[e>>2]=ae(b,(c[hb>>2]|0)+1|0,(c[hb+4>>2]|0)+-2|0)|0;n=289;Fa=f;return n|0}case 293:{hb=c[i>>2]|0;ha=hb+4|0;gb=c[ha>>2]|0;fb=gb+1|0;eb=hb+8|0;db=c[eb>>2]|0;if(fb>>>0>db>>>0){if(db>>>0>2147483645)ke(b,46491,0);Sa=db<<1;Oa=c[b+32>>2]|0;if((Sa|0)==-2)wc(Oa);Xa=c[hb>>2]|0;h=c[Oa+12>>2]|0;bb=(Xa|0)==0;cb=h+4|0;va=Ma[c[h>>2]&1](c[cb>>2]|0,Xa,db,Sa)|0;if((Sa|0)!=0&(va|0)==0){if(!(a[h+51>>0]|0))jc(Oa,4);vc(Oa,1);ya=Ma[c[h>>2]&1](c[cb>>2]|0,Xa,db,Sa)|0;if(!ya)jc(Oa,4);else ib=ya}else ib=va;va=h+12|0;c[va>>2]=(bb?0:0-db|0)+Sa+(c[va>>2]|0);c[hb>>2]=ib;c[eb>>2]=Sa;Sa=c[ha>>2]|0;jb=Sa+1|0;kb=ib;lb=Sa}else{jb=fb;kb=c[hb>>2]|0;lb=gb}c[ha>>2]=jb;a[kb+lb>>0]=46;lb=c[j>>2]|0;kb=c[lb>>2]|0;c[lb>>2]=kb+-1;if(!kb){kb=La[c[lb+8>>2]&7](c[lb+16>>2]|0,c[lb+12>>2]|0,g)|0;jb=c[g>>2]|0;if((kb|0)==0|(jb|0)==0)mb=-1;else{c[lb>>2]=jb+-1;c[lb+4>>2]=kb+1;mb=d[kb>>0]|0}nb=mb}else{mb=lb+4|0;lb=c[mb>>2]|0;c[mb>>2]=lb+1;nb=d[lb>>0]|0}c[b>>2]=nb;if(!nb){n=46;Fa=f;return n|0}if(!(Js(72022,nb,2)|0)){if((nb+-48|0)>>>0<10){m=nb;break}else n=46;Fa=f;return n|0}lb=c[i>>2]|0;mb=lb+4|0;kb=c[mb>>2]|0;jb=kb+1|0;ha=lb+8|0;gb=c[ha>>2]|0;if(jb>>>0>gb>>>0){if(gb>>>0>2147483645)ke(b,46491,0);hb=gb<<1;fb=c[b+32>>2]|0;if((hb|0)==-2)wc(fb);Sa=c[lb>>2]|0;ib=c[fb+12>>2]|0;eb=(Sa|0)==0;va=ib+4|0;db=Ma[c[ib>>2]&1](c[va>>2]|0,Sa,gb,hb)|0;if((hb|0)!=0&(db|0)==0){if(!(a[ib+51>>0]|0))jc(fb,4);vc(fb,1);bb=Ma[c[ib>>2]&1](c[va>>2]|0,Sa,gb,hb)|0;if(!bb)jc(fb,4);else ob=bb}else ob=db;db=ib+12|0;c[db>>2]=(eb?0:0-gb|0)+hb+(c[db>>2]|0);c[lb>>2]=ob;c[ha>>2]=hb;hb=c[mb>>2]|0;pb=hb+1|0;qb=ob;rb=hb}else{pb=jb;qb=c[lb>>2]|0;rb=kb}c[mb>>2]=pb;a[qb+rb>>0]=nb;nb=c[j>>2]|0;rb=c[nb>>2]|0;c[nb>>2]=rb+-1;if(!rb){rb=La[c[nb+8>>2]&7](c[nb+16>>2]|0,c[nb+12>>2]|0,g)|0;qb=c[g>>2]|0;if((rb|0)==0|(qb|0)==0)sb=-1;else{c[nb>>2]=qb+-1;c[nb+4>>2]=rb+1;sb=d[rb>>0]|0}tb=sb}else{sb=nb+4|0;nb=c[sb>>2]|0;c[sb>>2]=nb+1;tb=d[nb>>0]|0}c[b>>2]=tb;if(!tb){n=279;Fa=f;return n|0}if(!(Js(72022,tb,2)|0)){n=279;Fa=f;return n|0}nb=c[i>>2]|0;sb=nb+4|0;rb=c[sb>>2]|0;qb=rb+1|0;pb=nb+8|0;mb=c[pb>>2]|0;if(qb>>>0>mb>>>0){if(mb>>>0>2147483645)ke(b,46491,0);kb=mb<<1;lb=c[b+32>>2]|0;if((kb|0)==-2)wc(lb);jb=c[nb>>2]|0;hb=c[lb+12>>2]|0;ob=(jb|0)==0;ha=hb+4|0;db=Ma[c[hb>>2]&1](c[ha>>2]|0,jb,mb,kb)|0;if((kb|0)!=0&(db|0)==0){if(!(a[hb+51>>0]|0))jc(lb,4);vc(lb,1);gb=Ma[c[hb>>2]&1](c[ha>>2]|0,jb,mb,kb)|0;if(!gb)jc(lb,4);else ub=gb}else ub=db;db=hb+12|0;c[db>>2]=(ob?0:0-mb|0)+kb+(c[db>>2]|0);c[nb>>2]=ub;c[pb>>2]=kb;kb=c[sb>>2]|0;vb=kb+1|0;wb=ub;xb=kb}else{vb=qb;wb=c[nb>>2]|0;xb=rb}c[sb>>2]=vb;a[wb+xb>>0]=tb;tb=c[j>>2]|0;xb=c[tb>>2]|0;c[tb>>2]=xb+-1;if(!xb){xb=La[c[tb+8>>2]&7](c[tb+16>>2]|0,c[tb+12>>2]|0,g)|0;wb=c[g>>2]|0;if((xb|0)==0|(wb|0)==0)yb=-1;else{c[tb>>2]=wb+-1;c[tb+4>>2]=xb+1;yb=d[xb>>0]|0}zb=yb}else{yb=tb+4|0;tb=c[yb>>2]|0;c[yb>>2]=tb+1;zb=d[tb>>0]|0}c[b>>2]=zb;n=280;Fa=f;return n|0}case 469:{if(!((k&-128|0)==128|((k|0)==95|(Cu(k)|0)!=0))?!((k|0)<0|(k&-2|0)==30):0){zb=c[j>>2]|0;tb=c[zb>>2]|0;c[zb>>2]=tb+-1;if(!tb){tb=La[c[zb+8>>2]&7](c[zb+16>>2]|0,c[zb+12>>2]|0,g)|0;yb=c[g>>2]|0;if((tb|0)==0|(yb|0)==0)Ab=-1;else{c[zb>>2]=yb+-1;c[zb+4>>2]=tb+1;Ab=d[tb>>0]|0}Bb=Ab}else{Ab=zb+4|0;zb=c[Ab>>2]|0;c[Ab>>2]=zb+1;Bb=d[zb>>0]|0}c[b>>2]=Bb;n=k;Fa=f;return n|0}Bb=b+32|0;zb=k;while(1){k=c[i>>2]|0;Ab=k+4|0;tb=c[Ab>>2]|0;yb=tb+1|0;xb=k+8|0;wb=c[xb>>2]|0;if(yb>>>0>wb>>>0){if(wb>>>0>2147483645){l=475;break}vb=wb<<1;Cb=c[Bb>>2]|0;if((vb|0)==-2){l=477;break}sb=c[k>>2]|0;rb=c[Cb+12>>2]|0;nb=(sb|0)==0;qb=rb+4|0;kb=Ma[c[rb>>2]&1](c[qb>>2]|0,sb,wb,vb)|0;if((vb|0)!=0&(kb|0)==0){if(!(a[rb+51>>0]|0)){l=481;break}vc(Cb,1);ub=Ma[c[rb>>2]&1](c[qb>>2]|0,sb,wb,vb)|0;if(!ub){l=481;break}else Db=ub}else Db=kb;kb=rb+12|0;c[kb>>2]=(nb?0:0-wb|0)+vb+(c[kb>>2]|0);c[k>>2]=Db;c[xb>>2]=vb;vb=c[Ab>>2]|0;Eb=vb+1|0;Fb=Db;Gb=vb}else{Eb=yb;Fb=c[k>>2]|0;Gb=tb}c[Ab>>2]=Eb;a[Fb+Gb>>0]=zb;Ab=c[j>>2]|0;tb=c[Ab>>2]|0;c[Ab>>2]=tb+-1;if(!tb){tb=La[c[Ab+8>>2]&7](c[Ab+16>>2]|0,c[Ab+12>>2]|0,g)|0;k=c[g>>2]|0;if((tb|0)==0|(k|0)==0)Hb=-1;else{c[Ab>>2]=k+-1;c[Ab+4>>2]=tb+1;Hb=d[tb>>0]|0}Ib=Hb}else{tb=Ab+4|0;Ab=c[tb>>2]|0;c[tb>>2]=Ab+1;Ib=d[Ab>>0]|0}c[b>>2]=Ib;if(Ib>>>0>127|((Bu(Ib)|0)!=0|(Ib|0)==95)|(Ib&-2|0)==30)zb=Ib;else{l=489;break}}if((l|0)==475)ke(b,46491,0);else if((l|0)==477)wc(Cb);else if((l|0)==481)jc(Cb,4);else if((l|0)==489){Cb=c[i>>2]|0;Ib=ae(b,c[Cb>>2]|0,c[Cb+4>>2]|0)|0;c[e>>2]=Ib;if((a[Ib+4>>0]|0)==4){Cb=a[Ib+6>>0]|0;Fa=f;return (Cb<<24>>24==0?288:Cb&255|256)|0}else{n=288;Fa=f;return n|0}}break}case 497:{Fa=f;return n|0}}Cb=c[i>>2]|0;Ib=Cb+4|0;zb=c[Ib>>2]|0;Hb=zb+1|0;Gb=Cb+8|0;Fb=c[Gb>>2]|0;if(Hb>>>0>Fb>>>0){if(Fb>>>0>2147483645)ke(b,46491,0);Eb=Fb<<1;Db=c[b+32>>2]|0;if((Eb|0)==-2)wc(Db);Bb=c[Cb>>2]|0;Ab=c[Db+12>>2]|0;tb=(Bb|0)==0;k=Ab+4|0;yb=Ma[c[Ab>>2]&1](c[k>>2]|0,Bb,Fb,Eb)|0;if((Eb|0)!=0&(yb|0)==0){if(!(a[Ab+51>>0]|0))jc(Db,4);vc(Db,1);vb=Ma[c[Ab>>2]&1](c[k>>2]|0,Bb,Fb,Eb)|0;if(!vb)jc(Db,4);else Jb=vb}else Jb=yb;yb=Ab+12|0;c[yb>>2]=(tb?0:0-Fb|0)+Eb+(c[yb>>2]|0);c[Cb>>2]=Jb;c[Gb>>2]=Eb;Eb=c[Ib>>2]|0;Kb=Eb+1|0;Lb=Jb;Mb=Eb}else{Kb=Hb;Lb=c[Cb>>2]|0;Mb=zb}c[Ib>>2]=Kb;a[Lb+Mb>>0]=m;Mb=c[j>>2]|0;Lb=c[Mb>>2]|0;c[Mb>>2]=Lb+-1;if(!Lb){Lb=La[c[Mb+8>>2]&7](c[Mb+16>>2]|0,c[Mb+12>>2]|0,g)|0;Kb=c[g>>2]|0;if((Lb|0)==0|(Kb|0)==0)Nb=-1;else{c[Mb>>2]=Kb+-1;c[Mb+4>>2]=Lb+1;Nb=d[Lb>>0]|0}Ob=Nb}else{Nb=Mb+4|0;Mb=c[Nb>>2]|0;c[Nb>>2]=Mb+1;Ob=d[Mb>>0]|0}c[b>>2]=Ob;if(!((m|0)!=48|(Ob|0)==0)?(Js(47243,Ob,3)|0)!=0:0){m=c[i>>2]|0;Mb=m+4|0;Nb=c[Mb>>2]|0;Lb=Nb+1|0;Kb=m+8|0;Ib=c[Kb>>2]|0;if(Lb>>>0>Ib>>>0){if(Ib>>>0>2147483645)ke(b,46491,0);zb=Ib<<1;Cb=c[b+32>>2]|0;if((zb|0)==-2)wc(Cb);Hb=c[m>>2]|0;Eb=c[Cb+12>>2]|0;Jb=(Hb|0)==0;Gb=Eb+4|0;yb=Ma[c[Eb>>2]&1](c[Gb>>2]|0,Hb,Ib,zb)|0;if((zb|0)!=0&(yb|0)==0){if(!(a[Eb+51>>0]|0))jc(Cb,4);vc(Cb,1);Fb=Ma[c[Eb>>2]&1](c[Gb>>2]|0,Hb,Ib,zb)|0;if(!Fb)jc(Cb,4);else Pb=Fb}else Pb=yb;yb=Eb+12|0;c[yb>>2]=(Jb?0:0-Ib|0)+zb+(c[yb>>2]|0);c[m>>2]=Pb;c[Kb>>2]=zb;zb=c[Mb>>2]|0;Qb=zb+1|0;Rb=Pb;Sb=zb}else{Qb=Lb;Rb=c[m>>2]|0;Sb=Nb}c[Mb>>2]=Qb;a[Rb+Sb>>0]=Ob;Sb=c[j>>2]|0;Rb=c[Sb>>2]|0;c[Sb>>2]=Rb+-1;if(!Rb){Rb=La[c[Sb+8>>2]&7](c[Sb+16>>2]|0,c[Sb+12>>2]|0,g)|0;Qb=c[g>>2]|0;if((Rb|0)==0|(Qb|0)==0)Tb=-1;else{c[Sb>>2]=Qb+-1;c[Sb+4>>2]=Rb+1;Tb=d[Rb>>0]|0}Ub=Tb}else{Tb=Sb+4|0;Sb=c[Tb>>2]|0;c[Tb>>2]=Sb+1;Ub=d[Sb>>0]|0}c[b>>2]=Ub;Vb=47249;Wb=Ub}else{Vb=47246;Wb=Ob}Ob=b+32|0;Ub=Wb;while(1){if(Ub)if(Js(Vb,Ub,3)|0){Wb=c[i>>2]|0;Sb=Wb+4|0;Tb=c[Sb>>2]|0;Rb=Tb+1|0;Qb=Wb+8|0;Mb=c[Qb>>2]|0;if(Rb>>>0>Mb>>>0){if(Mb>>>0>2147483645){l=388;break}Nb=Mb<<1;Xb=c[Ob>>2]|0;if((Nb|0)==-2){l=390;break}m=c[Wb>>2]|0;Lb=c[Xb+12>>2]|0;zb=(m|0)==0;Pb=Lb+4|0;Kb=Ma[c[Lb>>2]&1](c[Pb>>2]|0,m,Mb,Nb)|0;if((Nb|0)!=0&(Kb|0)==0){if(!(a[Lb+51>>0]|0)){l=394;break}vc(Xb,1);yb=Ma[c[Lb>>2]&1](c[Pb>>2]|0,m,Mb,Nb)|0;if(!yb){l=394;break}else Yb=yb}else Yb=Kb;Kb=Lb+12|0;c[Kb>>2]=(zb?0:0-Mb|0)+Nb+(c[Kb>>2]|0);c[Wb>>2]=Yb;c[Qb>>2]=Nb;Nb=c[Sb>>2]|0;Zb=Nb+1|0;_b=Yb;$b=Nb}else{Zb=Rb;_b=c[Wb>>2]|0;$b=Tb}c[Sb>>2]=Zb;a[_b+$b>>0]=Ub;Sb=c[j>>2]|0;Tb=c[Sb>>2]|0;c[Sb>>2]=Tb+-1;if(!Tb){Tb=La[c[Sb+8>>2]&7](c[Sb+16>>2]|0,c[Sb+12>>2]|0,g)|0;Wb=c[g>>2]|0;if((Tb|0)==0|(Wb|0)==0)ac=-1;else{c[Sb>>2]=Wb+-1;c[Sb+4>>2]=Tb+1;ac=d[Tb>>0]|0}bc=ac}else{Tb=Sb+4|0;Sb=c[Tb>>2]|0;c[Tb>>2]=Sb+1;bc=d[Sb>>0]|0}c[b>>2]=bc;if(bc)if(!(Js(47252,bc,3)|0))cc=bc;else{Sb=c[i>>2]|0;Tb=Sb+4|0;Wb=c[Tb>>2]|0;Rb=Wb+1|0;Nb=Sb+8|0;Qb=c[Nb>>2]|0;if(Rb>>>0>Qb>>>0){if(Qb>>>0>2147483645){l=406;break}Kb=Qb<<1;dc=c[Ob>>2]|0;if((Kb|0)==-2){l=408;break}Mb=c[Sb>>2]|0;zb=c[dc+12>>2]|0;Lb=(Mb|0)==0;yb=zb+4|0;m=Ma[c[zb>>2]&1](c[yb>>2]|0,Mb,Qb,Kb)|0;if((Kb|0)!=0&(m|0)==0){if(!(a[zb+51>>0]|0)){l=412;break}vc(dc,1);Pb=Ma[c[zb>>2]&1](c[yb>>2]|0,Mb,Qb,Kb)|0;if(!Pb){l=412;break}else ec=Pb}else ec=m;m=zb+12|0;c[m>>2]=(Lb?0:0-Qb|0)+Kb+(c[m>>2]|0);c[Sb>>2]=ec;c[Nb>>2]=Kb;Kb=c[Tb>>2]|0;fc=Kb+1|0;gc=ec;hc=Kb}else{fc=Rb;gc=c[Sb>>2]|0;hc=Wb}c[Tb>>2]=fc;a[gc+hc>>0]=bc;Tb=c[j>>2]|0;Wb=c[Tb>>2]|0;c[Tb>>2]=Wb+-1;if(!Wb){Wb=La[c[Tb+8>>2]&7](c[Tb+16>>2]|0,c[Tb+12>>2]|0,g)|0;Sb=c[g>>2]|0;if((Wb|0)==0|(Sb|0)==0)ic=-1;else{c[Tb>>2]=Sb+-1;c[Tb+4>>2]=Wb+1;ic=d[Wb>>0]|0}kc=ic}else{Wb=Tb+4|0;Tb=c[Wb>>2]|0;c[Wb>>2]=Tb+1;kc=d[Tb>>0]|0}c[b>>2]=kc;cc=kc}else cc=0}else cc=Ub;else cc=0;lc=c[i>>2]|0;mc=lc+4|0;nc=c[mc>>2]|0;oc=nc+1|0;pc=lc+8|0;qc=c[pc>>2]|0;rc=oc>>>0>qc>>>0;if(!((cc|0)==46?1:(a[64+(cc+1)>>0]&16)!=0)){l=438;break}if(rc){if(qc>>>0>2147483645){l=424;break}Tb=qc<<1;sc=c[Ob>>2]|0;if((Tb|0)==-2){l=426;break}Wb=c[lc>>2]|0;Sb=c[sc+12>>2]|0;Rb=(Wb|0)==0;Kb=Sb+4|0;Nb=Ma[c[Sb>>2]&1](c[Kb>>2]|0,Wb,qc,Tb)|0;if((Tb|0)!=0&(Nb|0)==0){if(!(a[Sb+51>>0]|0)){l=430;break}vc(sc,1);m=Ma[c[Sb>>2]&1](c[Kb>>2]|0,Wb,qc,Tb)|0;if(!m){l=430;break}else tc=m}else tc=Nb;Nb=Sb+12|0;c[Nb>>2]=(Rb?0:0-qc|0)+Tb+(c[Nb>>2]|0);c[lc>>2]=tc;c[pc>>2]=Tb;Tb=c[mc>>2]|0;uc=Tb+1|0;xc=tc;yc=Tb}else{uc=oc;xc=c[lc>>2]|0;yc=nc}c[mc>>2]=uc;a[xc+yc>>0]=cc;Tb=c[j>>2]|0;Nb=c[Tb>>2]|0;c[Tb>>2]=Nb+-1;if(!Nb){Nb=La[c[Tb+8>>2]&7](c[Tb+16>>2]|0,c[Tb+12>>2]|0,g)|0;Rb=c[g>>2]|0;if((Nb|0)==0|(Rb|0)==0)zc=-1;else{c[Tb>>2]=Rb+-1;c[Tb+4>>2]=Nb+1;zc=d[Nb>>0]|0}Ac=zc}else{Nb=Tb+4|0;Tb=c[Nb>>2]|0;c[Nb>>2]=Tb+1;Ac=d[Tb>>0]|0}c[b>>2]=Ac;Ub=Ac}switch(l|0){case 388:{ke(b,46491,0);break}case 390:{wc(Xb);break}case 394:{jc(Xb,4);break}case 406:{ke(b,46491,0);break}case 408:{wc(dc);break}case 412:{jc(dc,4);break}case 424:{ke(b,46491,0);break}case 426:{wc(sc);break}case 430:{jc(sc,4);break}case 438:{if(rc){if(qc>>>0>2147483645)ke(b,46491,0);rc=qc<<1;sc=c[Ob>>2]|0;if((rc|0)==-2)wc(sc);Ob=c[lc>>2]|0;dc=c[sc+12>>2]|0;Xb=(Ob|0)==0;l=dc+4|0;Ac=Ma[c[dc>>2]&1](c[l>>2]|0,Ob,qc,rc)|0;if((rc|0)!=0&(Ac|0)==0){if(!(a[dc+51>>0]|0))jc(sc,4);vc(sc,1);Ub=Ma[c[dc>>2]&1](c[l>>2]|0,Ob,qc,rc)|0;if(!Ub)jc(sc,4);else Bc=Ub}else Bc=Ac;Ac=dc+12|0;c[Ac>>2]=(Xb?0:0-qc|0)+rc+(c[Ac>>2]|0);c[lc>>2]=Bc;c[pc>>2]=rc;rc=c[mc>>2]|0;Cc=rc+1|0;Dc=Bc;Ec=rc}else{Cc=oc;Dc=c[lc>>2]|0;Ec=nc}c[mc>>2]=Cc;a[Dc+Ec>>0]=0;Ec=b+56|0;Dc=a[Ec>>0]|0;Cc=c[i>>2]|0;mc=c[Cc>>2]|0;nc=c[Cc+4>>2]|0;if(!nc){Fc=mc;Gc=-1}else{Cc=nc;do{Cc=Cc+-1|0;nc=mc+Cc|0;if((a[nc>>0]|0)==46)a[nc>>0]=Dc}while((Cc|0)!=0);Cc=c[i>>2]|0;Fc=c[Cc>>2]|0;Gc=(c[Cc+4>>2]|0)+-1|0}if(Hc(Fc,Gc,e)|0){n=287;Fa=f;return n|0}Gc=a[Ec>>0]|0;Fc=a[c[(Du()|0)>>2]>>0]|0;a[Ec>>0]=Fc;Cc=c[i>>2]|0;Dc=c[Cc>>2]|0;mc=c[Cc+4>>2]|0;if(!mc){Ic=Dc;Jc=-1}else{Cc=mc;do{Cc=Cc+-1|0;mc=Dc+Cc|0;if((a[mc>>0]|0)==Gc<<24>>24)a[mc>>0]=Fc}while((Cc|0)!=0);Cc=c[i>>2]|0;Ic=c[Cc>>2]|0;Jc=(c[Cc+4>>2]|0)+-1|0}if(Hc(Ic,Jc,e)|0){n=287;Fa=f;return n|0}n=a[Ec>>0]|0;Ec=c[i>>2]|0;i=c[Ec>>2]|0;f=c[Ec+4>>2]|0;if(!f)ke(b,47255,287);Ec=f;do{Ec=Ec+-1|0;f=i+Ec|0;if((a[f>>0]|0)==n<<24>>24)a[f>>0]=46}while((Ec|0)!=0);ke(b,47255,287);break}}return 0}function Xd(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0;f=Fa;Fa=Fa+96|0;g=f;h=f+64|0;i=f+48|0;j=f+32|0;k=f+16|0;l=e+4|0;m=c[l>>2]|0;c[8775]=m;n=e+28|0;o=c[n>>2]|0;p=e+32|0;q=(c[p>>2]|0)+38|0;r=(b[q>>1]|0)+1<<16>>16;b[q>>1]=r;if((r&65535)>200)me(o,200,46631);r=e+12|0;do switch(c[r>>2]|0){case 59:{c[e+8>>2]=m;q=e+20|0;if((c[q>>2]|0)==286){c[r>>2]=Wd(e,e+16|0)|0;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}else{A=q;B=c[A+4>>2]|0;C=e+12|0;c[C>>2]=c[A>>2];c[C+4>>2]=B;c[q>>2]=286;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}break}case 267:{c[i>>2]=-1;ne(e,i);a:while(1){switch(c[r>>2]|0){case 260:{D=10;break a;break}case 261:break;default:break a}ne(e,i)}if((D|0)==10){c[e+8>>2]=c[l>>2];q=e+20|0;if((c[q>>2]|0)==286){B=Wd(e,e+16|0)|0;c[r>>2]=B;E=B}else{B=q;C=c[B>>2]|0;A=c[B+4>>2]|0;B=e+12|0;c[B>>2]=C;c[B+4>>2]=A;c[q>>2]=286;E=C}C=c[n>>2]|0;a[h+10>>0]=0;a[h+8>>0]=a[C+46>>0]|0;q=c[(c[C+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[q+28>>2];b[h+6>>1]=c[q+16>>2];a[h+9>>0]=0;q=C+16|0;c[h>>2]=c[q>>2];c[q>>2]=h;q=E;b:while(1){switch(q|0){case 277:case 286:case 262:case 261:case 260:{break b;break}default:{}}Xd(e);if((q|0)==274)break;q=c[r>>2]|0}$d(C)}oe(e,262,267,m);q=c[i>>2]|0;c[o+24>>2]=c[o+20>>2];A=o+28|0;do if((q|0)!=-1){B=c[A>>2]|0;if((B|0)==-1){c[A>>2]=q;break}F=c[(c[o>>2]|0)+12>>2]|0;G=B;while(1){H=F+(G<<2)|0;I=c[H>>2]|0;B=(I>>>14)+-131071|0;J=(B|0)==-1?-1:G+1+B|0;if((J|0)==-1)break;else G=J}F=q+~G|0;if((((F|0)>-1?F:0-F|0)|0)>131071)be(c[o+12>>2]|0,46263);else{c[H>>2]=(F<<14)+2147467264|I&16383;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 278:{q=e+8|0;c[q>>2]=m;A=e+20|0;if((c[A>>2]|0)==286)c[r>>2]=Wd(e,e+16|0)|0;else{C=A;F=c[C+4>>2]|0;J=e+12|0;c[J>>2]=c[C>>2];c[J+4>>2]=F;c[A>>2]=286}F=o+20|0;J=c[F>>2]|0;C=o+24|0;c[C>>2]=J;pe(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;qe(c[n>>2]|0,h);B=c[h+12>>2]|0;a[i+10>>0]=1;a[i+8>>0]=a[o+46>>0]|0;K=o+12|0;L=c[(c[K>>2]|0)+44>>2]|0;b[i+4>>1]=c[L+28>>2];b[i+6>>1]=c[L+16>>2];a[i+9>>0]=0;L=o+16|0;c[i>>2]=c[L>>2];c[L>>2]=i;if((c[r>>2]|0)!=259)Yd(e,259);c[q>>2]=c[l>>2];if((c[A>>2]|0)==286){q=Wd(e,e+16|0)|0;c[r>>2]=q;M=q}else{q=A;L=c[q>>2]|0;N=c[q+4>>2]|0;q=e+12|0;c[q>>2]=L;c[q+4>>2]=N;c[A>>2]=286;M=L}L=c[n>>2]|0;a[h+10>>0]=0;a[h+8>>0]=a[L+46>>0]|0;A=c[(c[L+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[A+28>>2];b[h+6>>1]=c[A+16>>2];a[h+9>>0]=0;A=L+16|0;c[h>>2]=c[A>>2];c[A>>2]=h;A=M;c:while(1){switch(A|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}Xd(e);if((A|0)==274)break;A=c[r>>2]|0}$d(L);A=o+28|0;N=c[A>>2]|0;c[A>>2]=-1;q=_d(o,2147450916)|0;do if((N|0)!=-1)if((q|0)!=-1){O=c[(c[o>>2]|0)+12>>2]|0;P=q;while(1){Q=O+(P<<2)|0;R=c[Q>>2]|0;S=(R>>>14)+-131071|0;T=(S|0)==-1?-1:P+1+S|0;if((T|0)==-1)break;else P=T}O=N+~P|0;if((((O|0)>-1?O:0-O|0)|0)>131071)be(c[K>>2]|0,46263);else{c[Q>>2]=(O<<14)+2147467264|R&16383;U=q;break}}else U=N;else U=q;while(0);je(o,U,J);oe(e,262,278,m);$d(o);c[C>>2]=c[F>>2];do if((B|0)!=-1){q=c[A>>2]|0;if((q|0)==-1){c[A>>2]=B;break}N=c[(c[o>>2]|0)+12>>2]|0;L=q;while(1){V=N+(L<<2)|0;W=c[V>>2]|0;q=(W>>>14)+-131071|0;O=(q|0)==-1?-1:L+1+q|0;if((O|0)==-1)break;else L=O}N=B+~L|0;if((((N|0)>-1?N:0-N|0)|0)>131071)be(c[K>>2]|0,46263);else{c[V>>2]=(N<<14)+2147467264|W&16383;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 259:{c[e+8>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){B=Wd(e,e+16|0)|0;c[r>>2]=B;X=B;Y=c[n>>2]|0}else{B=K;A=c[B>>2]|0;F=c[B+4>>2]|0;B=e+12|0;c[B>>2]=A;c[B+4>>2]=F;c[K>>2]=286;X=A;Y=o}a[h+10>>0]=0;a[h+8>>0]=a[Y+46>>0]|0;A=c[(c[Y+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[A+28>>2];b[h+6>>1]=c[A+16>>2];a[h+9>>0]=0;A=Y+16|0;c[h>>2]=c[A>>2];c[A>>2]=h;A=X;d:while(1){switch(A|0){case 277:case 286:case 262:case 261:case 260:{break d;break}default:{}}Xd(e);if((A|0)==274)break;A=c[r>>2]|0}$d(Y);oe(e,262,259,m);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 264:{a[i+10>>0]=1;a[i+8>>0]=a[o+46>>0]|0;A=c[(c[o+12>>2]|0)+44>>2]|0;b[i+4>>1]=c[A+28>>2];b[i+6>>1]=c[A+16>>2];a[i+9>>0]=0;A=o+16|0;c[i>>2]=c[A>>2];c[A>>2]=i;A=e+8|0;c[A>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){F=Wd(e,e+16|0)|0;c[r>>2]=F;Z=F}else{F=K;B=c[F>>2]|0;C=c[F+4>>2]|0;F=e+12|0;c[F>>2]=B;c[F+4>>2]=C;c[K>>2]=286;Z=B}if((Z|0)!=288)Yd(e,288);B=e+16|0;C=c[B>>2]|0;c[A>>2]=c[l>>2];if((c[K>>2]|0)==286){F=Wd(e,B)|0;c[r>>2]=F;_=F}else{F=K;J=c[F>>2]|0;N=c[F+4>>2]|0;F=e+12|0;c[F>>2]=J;c[F+4>>2]=N;c[K>>2]=286;_=J}switch(_|0){case 61:{J=c[n>>2]|0;N=J+48|0;F=d[N>>0]|0;re(e,ae(e,46640,11)|0);re(e,ae(e,46652,11)|0);re(e,ae(e,46664,10)|0);re(e,C);if((c[r>>2]|0)!=61)Yd(e,61);c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Wd(e,B)|0;else{P=K;O=c[P+4>>2]|0;q=e+12|0;c[q>>2]=c[P>>2];c[q+4>>2]=O;c[K>>2]=286}se(e);if((c[r>>2]|0)!=44)Yd(e,44);c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Wd(e,B)|0;else{O=K;q=c[O+4>>2]|0;P=e+12|0;c[P>>2]=c[O>>2];c[P+4>>2]=q;c[K>>2]=286}se(e);if((c[r>>2]|0)==44){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Wd(e,B)|0;else{q=K;P=c[q+4>>2]|0;O=e+12|0;c[O>>2]=c[q>>2];c[O+4>>2]=P;c[K>>2]=286}se(e)}else{P=d[N>>0]|0;O=J+12|0;c[h>>2]=65536;c[h+4>>2]=3;q=te(J,h,h)|0;G=P<<6;if((q|0)<262144)_d(J,G|q<<14|1)|0;else{_d(J,G|2)|0;_d(J,q<<6|52)|0}q=a[N>>0]|0;G=(q&255)+1|0;P=(c[J>>2]|0)+78|0;do if((q&255)>=(d[P>>0]|0))if((q&255)>248)be(c[O>>2]|0,46675);else{J=G&255;a[P>>0]=J;$=J;break}else $=G&255;while(0);a[N>>0]=$}ue(e,F,m,1,1);break}case 268:case 44:{G=c[n>>2]|0;P=G+48|0;O=d[P>>0]|0;re(e,ae(e,46710,15)|0);re(e,ae(e,46726,11)|0);re(e,ae(e,46738,13)|0);re(e,C);q=c[r>>2]|0;do if((q|0)==44){J=e+12|0;T=4;while(1){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286){S=Wd(e,B)|0;c[r>>2]=S;aa=S}else{S=K;ba=c[S>>2]|0;ca=c[S+4>>2]|0;S=J;c[S>>2]=ba;c[S+4>>2]=ca;c[K>>2]=286;aa=ba}if((aa|0)!=288){D=105;break}ba=c[B>>2]|0;c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Wd(e,B)|0;else{ca=K;S=c[ca+4>>2]|0;da=J;c[da>>2]=c[ca>>2];c[da+4>>2]=S;c[K>>2]=286}re(e,ba);ea=c[r>>2]|0;if((ea|0)==44)T=T+1|0;else{D=110;break}}if((D|0)==105)Yd(e,288);else if((D|0)==110){fa=T+-2|0;ga=ea;break}}else{fa=1;ga=q}while(0);if((ga|0)!=268)Yd(e,268);q=c[l>>2]|0;c[A>>2]=q;if((c[K>>2]|0)==286){c[r>>2]=Wd(e,B)|0;ha=c[l>>2]|0}else{C=K;F=c[C+4>>2]|0;N=e+12|0;c[N>>2]=c[C>>2];c[N+4>>2]=F;c[K>>2]=286;ha=q}pe(e,h,0)|0;e:do if((c[r>>2]|0)==44){q=e+12|0;F=h+4|0;N=1;while(1){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Wd(e,B)|0;else{C=K;J=c[C+4>>2]|0;L=q;c[L>>2]=c[C>>2];c[L+4>>2]=J;c[K>>2]=286}ia=c[n>>2]|0;ve(ia,h);if(((c[h>>2]|0)==6?(J=c[F>>2]|0,(J&256|0)==0):0)?(J|0)>=(d[ia+46>>0]|0):0){J=ia+48|0;a[J>>0]=(a[J>>0]|0)+-1<<24>>24}J=ia+48|0;L=a[J>>0]|0;C=(L&255)+1|0;ba=(c[ia>>2]|0)+78|0;if((L&255)<(d[ba>>0]|0))ja=C&255;else{if((L&255)>248)break;L=C&255;a[ba>>0]=L;ja=L}a[J>>0]=ja;we(ia,h,(ja&255)+-1|0);pe(e,h,0)|0;J=N+1|0;if((c[r>>2]|0)==44)N=J;else{ka=J;break e}}be(c[ia+12>>2]|0,46675)}else ka=1;while(0);xe(c[n>>2]|0,3,ka,h);K=(d[P>>0]|0)+3|0;B=(c[G>>2]|0)+78|0;do if(K>>>0>(d[B>>0]|0)>>>0)if(K>>>0>249)be(c[G+12>>2]|0,46675);else{a[B>>0]=K;break}while(0);ue(e,O,ha,fa,0);break}default:be(e,46752)}oe(e,262,264,m);$d(o);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 273:{K=c[o+20>>2]|0;c[o+24>>2]=K;a[i+10>>0]=1;B=a[o+46>>0]|0;a[i+8>>0]=B;G=c[(c[o+12>>2]|0)+44>>2]|0;P=c[G+28>>2]&65535;b[i+4>>1]=P;A=c[G+16>>2]&65535;b[i+6>>1]=A;a[i+9>>0]=0;G=o+16|0;c[i>>2]=c[G>>2];a[j+10>>0]=0;N=j+8|0;a[N>>0]=B;b[j+4>>1]=P;b[j+6>>1]=A;A=j+9|0;a[A>>0]=0;c[j>>2]=i;c[G>>2]=j;c[e+8>>2]=m;G=e+20|0;if((c[G>>2]|0)==286){P=Wd(e,e+16|0)|0;c[r>>2]=P;la=P}else{P=G;B=c[P>>2]|0;F=c[P+4>>2]|0;P=e+12|0;c[P>>2]=B;c[P+4>>2]=F;c[G>>2]=286;la=B}B=la;f:while(1){switch(B|0){case 277:case 286:case 262:case 261:case 260:{break f;break}default:{}}Xd(e);if((B|0)==274)break;B=c[r>>2]|0}oe(e,277,273,m);pe(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;qe(c[n>>2]|0,h);B=c[h+12>>2]|0;if(!((B|0)==-1|(a[A>>0]|0)==0)){O=c[(c[o>>2]|0)+12>>2]|0;G=(d[N>>0]<<6)+64&16320;F=B;do{P=O+(F<<2)|0;q=c[P>>2]|0;T=(q>>>14)+-131071|0;c[P>>2]=q&-16321|G;F=(T|0)==-1?-1:F+1+T|0}while((F|0)!=-1)}$d(o);je(o,B,K);$d(o);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 265:{F=e+8|0;c[F>>2]=m;G=e+20|0;if((c[G>>2]|0)==286){O=e+16|0;c[r>>2]=Wd(e,O)|0;ma=G;na=e+12|0;oa=O}else{O=e+12|0;N=G;A=c[N+4>>2]|0;T=O;c[T>>2]=c[N>>2];c[T+4>>2]=A;c[G>>2]=286;ma=G;na=O;oa=e+16|0}ye(e,j);O=j+8|0;A=j+12|0;T=h+4|0;N=i+8|0;q=i+12|0;P=i+4|0;J=j+4|0;L=J+2|0;ba=J+3|0;g:while(1){switch(c[r>>2]|0){case 58:{D=168;break g;break}case 46:break;default:{pa=0;break g}}C=c[n>>2]|0;if(!((c[j>>2]|0)==8?(c[O>>2]|0)==(c[A>>2]|0):0))ze(C,j)|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286){S=Wd(e,oa)|0;c[r>>2]=S;qa=S}else{S=ma;da=c[S>>2]|0;ca=c[S+4>>2]|0;S=na;c[S>>2]=da;c[S+4>>2]=ca;c[G>>2]=286;qa=da}if((qa|0)!=288){D=163;break}da=c[oa>>2]|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286)c[r>>2]=Wd(e,oa)|0;else{ca=ma;S=c[ca+4>>2]|0;ra=na;c[ra>>2]=c[ca>>2];c[ra+4>>2]=S;c[G>>2]=286}S=c[n>>2]|0;c[h>>2]=da;c[T>>2]=(a[da+4>>0]|64)&255;da=te(S,h,h)|0;c[N>>2]=-1;c[q>>2]=-1;c[i>>2]=4;c[P>>2]=da;a[L>>0]=c[J>>2];b[J>>1]=Ae(C,i)|0;a[ba>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9}if((D|0)==163)Yd(e,288);if((D|0)==168){P=c[n>>2]|0;if(!((c[j>>2]|0)==8?(c[O>>2]|0)==(c[A>>2]|0):0))ze(P,j)|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286){q=Wd(e,oa)|0;c[r>>2]=q;sa=q}else{q=ma;N=c[q>>2]|0;T=c[q+4>>2]|0;q=na;c[q>>2]=N;c[q+4>>2]=T;c[G>>2]=286;sa=N}if((sa|0)!=288)Yd(e,288);N=c[oa>>2]|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286)c[r>>2]=Wd(e,oa)|0;else{T=ma;q=c[T+4>>2]|0;K=na;c[K>>2]=c[T>>2];c[K+4>>2]=q;c[G>>2]=286}q=c[n>>2]|0;c[h>>2]=N;c[h+4>>2]=(a[N+4>>0]|64)&255;N=te(q,h,h)|0;c[i+8>>2]=-1;c[i+12>>2]=-1;c[i>>2]=4;c[i+4>>2]=N;a[L>>0]=c[J>>2];b[J>>1]=Ae(P,i)|0;a[ba>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9;pa=1}Be(e,k,pa,m);Ce(c[n>>2]|0,j,k);P=c[n>>2]|0;c[(c[(c[P>>2]|0)+20>>2]|0)+((c[P+20>>2]|0)+-1<<2)>>2]=m;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 269:{P=e+8|0;c[P>>2]=m;N=e+20|0;if((c[N>>2]|0)==286){q=Wd(e,e+16|0)|0;c[r>>2]=q;ta=q}else{q=N;K=c[q>>2]|0;T=c[q+4>>2]|0;q=e+12|0;c[q>>2]=K;c[q+4>>2]=T;c[N>>2]=286;ta=K}if((ta|0)==265){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286){K=Wd(e,e+16|0)|0;c[r>>2]=K;ua=K}else{K=N;T=c[K>>2]|0;q=c[K+4>>2]|0;K=e+12|0;c[K>>2]=T;c[K+4>>2]=q;c[N>>2]=286;ua=T}T=c[n>>2]|0;if((ua|0)!=288)Yd(e,288);q=e+16|0;K=c[q>>2]|0;c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Wd(e,q)|0;else{q=N;B=c[q+4>>2]|0;C=e+12|0;c[C>>2]=c[q>>2];c[C+4>>2]=B;c[N>>2]=286}re(e,K);K=c[n>>2]|0;B=K+46|0;C=a[B>>0]|0;a[B>>0]=(C&255)+1;c[(c[(c[K>>2]|0)+24>>2]|0)+((b[(c[c[(c[K+12>>2]|0)+44>>2]>>2]|0)+((c[K+40>>2]|0)+(C+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[K+20>>2];Be(e,h,0,c[l>>2]|0);c[(c[(c[T>>2]|0)+24>>2]|0)+((b[(c[c[(c[T+12>>2]|0)+44>>2]>>2]|0)+((c[T+40>>2]|0)+(c[h+4>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[T+20>>2];s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}if((ta|0)!=288)Yd(e,288);T=e+16|0;K=e+12|0;C=0;h:while(1){B=c[T>>2]|0;c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Wd(e,T)|0;else{q=N;da=c[q+4>>2]|0;S=K;c[S>>2]=c[q>>2];c[S+4>>2]=da;c[N>>2]=286}re(e,B);C=C+1|0;switch(c[r>>2]|0){case 61:{D=205;break h;break}case 44:break;default:{D=223;break h}}c[P>>2]=c[l>>2];if((c[N>>2]|0)==286){B=Wd(e,T)|0;c[r>>2]=B;va=B}else{B=N;da=c[B>>2]|0;S=c[B+4>>2]|0;B=K;c[B>>2]=da;c[B+4>>2]=S;c[N>>2]=286;va=da}if((va|0)!=288){D=196;break}}i:do if((D|0)==196)Yd(e,288);else if((D|0)==205){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Wd(e,T)|0;else{ba=N;J=c[ba+4>>2]|0;L=K;c[L>>2]=c[ba>>2];c[L+4>>2]=J;c[N>>2]=286}pe(e,h,0)|0;if((c[r>>2]|0)==44){J=h+4|0;L=1;while(1){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Wd(e,T)|0;else{ba=N;G=c[ba+4>>2]|0;F=K;c[F>>2]=c[ba>>2];c[F+4>>2]=G;c[N>>2]=286}wa=c[n>>2]|0;ve(wa,h);if(((c[h>>2]|0)==6?(G=c[J>>2]|0,(G&256|0)==0):0)?(G|0)>=(d[wa+46>>0]|0):0){G=wa+48|0;a[G>>0]=(a[G>>0]|0)+-1<<24>>24}G=wa+48|0;F=a[G>>0]|0;ba=(F&255)+1|0;A=(c[wa>>2]|0)+78|0;if((F&255)<(d[A>>0]|0))xa=ba&255;else{if((F&255)>248)break;F=ba&255;a[A>>0]=F;xa=F}a[G>>0]=xa;we(wa,h,(xa&255)+-1|0);pe(e,h,0)|0;G=L+1|0;if((c[r>>2]|0)==44)L=G;else{ya=G;break i}}be(c[wa+12>>2]|0,46675)}else ya=1}else if((D|0)==223){c[h>>2]=0;ya=0}while(0);xe(c[n>>2]|0,C,ya,h);N=c[n>>2]|0;K=N+46|0;T=C+(d[K>>0]|0)|0;a[K>>0]=T;K=c[N+20>>2]|0;P=c[(c[N>>2]|0)+24>>2]|0;L=c[c[(c[N+12>>2]|0)+44>>2]>>2]|0;J=(c[N+40>>2]|0)+(T&255)|0;T=C;do{c[P+((b[L+(J-T<<1)>>1]|0)*12|0)+4>>2]=K;T=T+-1|0}while((T|0)!=0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 285:{T=e+8|0;c[T>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){J=Wd(e,e+16|0)|0;c[r>>2]=J;za=J}else{J=K;L=c[J>>2]|0;P=c[J+4>>2]|0;J=e+12|0;c[J>>2]=L;c[J+4>>2]=P;c[K>>2]=286;za=L}if((za|0)!=288)Yd(e,288);L=e+16|0;P=c[L>>2]|0;c[T>>2]=c[l>>2];if((c[K>>2]|0)==286){J=Wd(e,L)|0;c[r>>2]=J;Aa=J}else{J=K;C=c[J>>2]|0;N=c[J+4>>2]|0;J=e+12|0;c[J>>2]=C;c[J+4>>2]=N;c[K>>2]=286;Aa=C}C=c[n>>2]|0;N=e+44|0;J=c[N>>2]|0;G=J+24|0;F=C+16|0;A=b[(c[F>>2]|0)+4>>1]|0;ba=J+28|0;O=c[ba>>2]|0;j:do if((O|0)>(A|0)){da=c[G>>2]|0;S=a[P+4>>0]|0;B=P+12|0;q=P+16|0;if(S<<24>>24==4){ra=A;while(1){ca=c[da+(ra<<4)>>2]|0;if((ca|0)==(P|0)&(a[ca+4>>0]|0)==4){Ba=ra;break}ra=ra+1|0;if((ra|0)>=(O|0))break j}Ca=C+12|0;Da=c[Ca>>2]|0;Ea=Da+32|0;Ga=c[Ea>>2]|0;Ha=da+(Ba<<4)+8|0;Ia=c[Ha>>2]|0;Ja=ge(Ia)|0;Ka=c[G>>2]|0;La=Ka+(Ba<<4)+8|0;Ma=c[La>>2]|0;Na=he(Ma)|0;c[g>>2]=q;Oa=g+4|0;c[Oa>>2]=Ja;Pa=g+8|0;c[Pa>>2]=Na;Qa=hd(Ga,46773,g)|0;Ra=c[Ca>>2]|0;ie(Ra,Qa)}ra=A;while(1){ca=c[da+(ra<<4)>>2]|0;if(S<<24>>24==(a[ca+4>>0]|0)){Sa=c[B>>2]|0;if((ca|0)==(P|0)){Ba=ra;D=245;break}if((Sa|0)==(c[ca+12>>2]|0)?(ss(q,ca+16|0,Sa)|0)==0:0){Ba=ra;D=245;break}}ra=ra+1|0;if((ra|0)>=(O|0))break j}if((D|0)==245){Ca=C+12|0;Da=c[Ca>>2]|0;Ea=Da+32|0;Ga=c[Ea>>2]|0;Ha=da+(Ba<<4)+8|0;Ia=c[Ha>>2]|0;Ja=ge(Ia)|0;Ka=c[G>>2]|0;La=Ka+(Ba<<4)+8|0;Ma=c[La>>2]|0;Na=he(Ma)|0;c[g>>2]=q;Oa=g+4|0;c[Oa>>2]=Ja;Pa=g+8|0;c[Pa>>2]=Na;Qa=hd(Ga,46773,g)|0;Ra=c[Ca>>2]|0;ie(Ra,Qa)}}while(0);if((Aa|0)!=285)Yd(e,285);c[T>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Wd(e,L)|0;else{O=K;A=c[O+4>>2]|0;ra=e+12|0;c[ra>>2]=c[O>>2];c[ra+4>>2]=A;c[K>>2]=286}A=c[C+20>>2]|0;ra=c[ba>>2]|0;O=J+32|0;if((ra|0)<(c[O>>2]|0)){Ta=c[G>>2]|0;Ua=ra}else{B=ce(c[p>>2]|0,c[G>>2]|0,O,16,32767,46290)|0;c[G>>2]=B;Ta=B;Ua=c[ba>>2]|0}c[Ta+(ra<<4)>>2]=P;c[Ta+(ra<<4)+8>>2]=m;a[Ta+(ra<<4)+12>>0]=a[(c[n>>2]|0)+46>>0]|0;c[Ta+(ra<<4)+4>>2]=A;c[ba>>2]=Ua+1;k:while(1){switch(c[r>>2]|0){case 286:case 262:case 261:case 260:{D=259;break k;break}case 285:case 59:break;default:{D=258;break k}}Xd(e)}if((D|0)==258)Va=c[G>>2]|0;else if((D|0)==259){ba=c[G>>2]|0;a[ba+(ra<<4)+12>>0]=a[(c[F>>2]|0)+8>>0]|0;Va=ba}ba=Va+(ra<<4)|0;P=c[N>>2]|0;J=b[(c[(c[n>>2]|0)+16>>2]|0)+6>>1]|0;C=P+16|0;K=c[C>>2]|0;if((K|0)<=(J|0)){s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}L=P+12|0;P=J;J=K;while(1){K=c[(c[L>>2]|0)+(P<<4)>>2]|0;T=c[ba>>2]|0;A=a[K+4>>0]|0;do if(A<<24>>24==(a[T+4>>0]|0)){if(A<<24>>24==4){if((K|0)!=(T|0)){D=269;break}}else{B=c[K+12>>2]|0;if((K|0)!=(T|0)){if((B|0)!=(c[T+12>>2]|0)){D=269;break}if(ss(K+16|0,T+16|0,B)|0){D=269;break}}}de(e,P,ba);Wa=P;Xa=c[C>>2]|0}else D=269;while(0);if((D|0)==269){D=0;Wa=P+1|0;Xa=J}if((Wa|0)<(Xa|0)){P=Wa;J=Xa}else break}s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 274:{J=e+8|0;c[J>>2]=m;P=e+20|0;if((c[P>>2]|0)==286){C=Wd(e,e+16|0)|0;c[r>>2]=C;Ya=C;Za=c[n>>2]|0}else{C=P;ba=c[C>>2]|0;L=c[C+4>>2]|0;C=e+12|0;c[C>>2]=ba;c[C+4>>2]=L;c[P>>2]=286;Ya=ba;Za=o}l:do switch(Ya|0){case 59:case 277:case 286:case 262:case 261:case 260:{_a=0;$a=0;break}default:{pe(e,h,0)|0;m:do if((c[r>>2]|0)==44){ba=e+16|0;L=e+12|0;C=h+4|0;N=1;while(1){c[J>>2]=c[l>>2];if((c[P>>2]|0)==286)c[r>>2]=Wd(e,ba)|0;else{ra=P;F=c[ra+4>>2]|0;G=L;c[G>>2]=c[ra>>2];c[G+4>>2]=F;c[P>>2]=286}ab=c[n>>2]|0;ve(ab,h);if(((c[h>>2]|0)==6?(F=c[C>>2]|0,(F&256|0)==0):0)?(F|0)>=(d[ab+46>>0]|0):0){F=ab+48|0;a[F>>0]=(a[F>>0]|0)+-1<<24>>24}F=ab+48|0;G=a[F>>0]|0;ra=(G&255)+1|0;T=(c[ab>>2]|0)+78|0;if((G&255)<(d[T>>0]|0))bb=ra&255;else{if((G&255)>248)break;G=ra&255;a[T>>0]=G;bb=G}a[F>>0]=bb;we(ab,h,(bb&255)+-1|0);pe(e,h,0)|0;F=N+1|0;if((c[r>>2]|0)==44)N=F;else{cb=F;db=h;break m}}be(c[ab+12>>2]|0,46675)}else{cb=1;db=h}while(0);N=c[db>>2]|0;if((N&-2|0)==12){switch(N|0){case 12:{N=(c[(c[Za>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[N>>2]=c[N>>2]&-8372225;if((cb|0)==1){N=(c[(c[Za>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[N>>2]=c[N>>2]&-64|43}break}case 13:{N=c[Za>>2]|0;C=c[N+12>>2]|0;L=h+4|0;ba=C+(c[L>>2]<<2)|0;c[ba>>2]=c[ba>>2]&8388607;ba=C+(c[L>>2]<<2)|0;L=Za+48|0;C=a[L>>0]|0;F=C&255;c[ba>>2]=F<<6|c[ba>>2]&-16321;ba=F+1|0;F=N+78|0;do if((C&255)>=(d[F>>0]|0))if((C&255)>248)be(c[Za+12>>2]|0,46675);else{N=ba&255;a[F>>0]=N;eb=N;break}else eb=ba&255;while(0);a[L>>0]=eb;break}default:{}}_a=-1;$a=d[Za+46>>0]|0;break l}if((cb|0)==1){_a=1;$a=ze(Za,h)|0;break l}ve(Za,h);if(((c[db>>2]|0)==6?(ba=c[h+4>>2]|0,(ba&256|0)==0):0)?(ba|0)>=(d[Za+46>>0]|0):0){ba=Za+48|0;a[ba>>0]=(a[ba>>0]|0)+-1<<24>>24}ba=Za+48|0;F=a[ba>>0]|0;C=(F&255)+1|0;N=(c[Za>>2]|0)+78|0;do if((F&255)>=(d[N>>0]|0))if((F&255)>248)be(c[Za+12>>2]|0,46675);else{G=C&255;a[N>>0]=G;fb=G;break}else fb=C&255;while(0);a[ba>>0]=fb;we(Za,h,(fb&255)+-1|0);_a=cb;$a=d[Za+46>>0]|0}}while(0);_d(Za,$a<<6|(_a<<23)+8388608|44)|0;do if((c[r>>2]|0)==59){c[J>>2]=c[l>>2];if((c[P>>2]|0)==286){c[r>>2]=Wd(e,e+16|0)|0;break}else{C=P;N=c[C+4>>2]|0;F=e+12|0;c[F>>2]=c[C>>2];c[F+4>>2]=N;c[P>>2]=286;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 266:case 258:{P=o+28|0;J=c[P>>2]|0;c[P>>2]=-1;P=_d(o,2147450916)|0;do if((J|0)!=-1)if((P|0)!=-1){N=c[(c[o>>2]|0)+12>>2]|0;F=P;while(1){gb=N+(F<<2)|0;hb=c[gb>>2]|0;C=(hb>>>14)+-131071|0;L=(C|0)==-1?-1:F+1+C|0;if((L|0)==-1)break;else F=L}N=J+~F|0;if((((N|0)>-1?N:0-N|0)|0)>131071)be(c[o+12>>2]|0,46263);else{c[gb>>2]=(N<<14)+2147467264|hb&16383;ib=P;break}}else ib=J;else ib=P;while(0);P=c[l>>2]|0;J=(c[r>>2]|0)==266;N=e+8|0;c[N>>2]=P;ba=e+20|0;L=(c[ba>>2]|0)==286;do if(J){if(L){C=Wd(e,e+16|0)|0;c[r>>2]=C;jb=C}else{C=ba;G=c[C>>2]|0;T=c[C+4>>2]|0;C=e+12|0;c[C>>2]=G;c[C+4>>2]=T;c[ba>>2]=286;jb=G}if((jb|0)!=288)Yd(e,288);G=e+16|0;T=c[G>>2]|0;c[N>>2]=c[l>>2];if((c[ba>>2]|0)==286){c[r>>2]=Wd(e,G)|0;kb=T;break}else{G=ba;C=c[G+4>>2]|0;ra=e+12|0;c[ra>>2]=c[G>>2];c[ra+4>>2]=C;c[ba>>2]=286;kb=T;break}}else{if(L)c[r>>2]=Wd(e,e+16|0)|0;else{T=ba;C=c[T+4>>2]|0;ra=e+12|0;c[ra>>2]=c[T>>2];c[ra+4>>2]=C;c[ba>>2]=286}kb=id(c[p>>2]|0,56767,5)|0}while(0);ba=c[e+44>>2]|0;L=ba+12|0;N=ba+16|0;J=c[N>>2]|0;C=ba+20|0;if((J|0)<(c[C>>2]|0)){lb=c[L>>2]|0;mb=J}else{ba=ce(c[p>>2]|0,c[L>>2]|0,C,16,32767,46290)|0;c[L>>2]=ba;lb=ba;mb=c[N>>2]|0}c[lb+(J<<4)>>2]=kb;c[lb+(J<<4)+8>>2]=P;a[lb+(J<<4)+12>>0]=a[(c[n>>2]|0)+46>>0]|0;c[lb+(J<<4)+4>>2]=ib;c[N>>2]=mb+1;ee(e,J)|0;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}default:{J=h+4|0;De(e,J);n:do switch(c[r>>2]|0){case 44:case 61:{c[h>>2]=0;Ee(e,h,1);break}default:if((c[J>>2]|0)==12){N=(c[(c[o>>2]|0)+12>>2]|0)+(c[h+8>>2]<<2)|0;c[N>>2]=c[N>>2]&-8372225|16384;break n}else be(e,56198)}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}}while(0)}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=d;d=c[a+32>>2]|0;c[e>>2]=le(a,b)|0;be(a,hd(d,46619,e)|0)}function Zd(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=c[e+32>>2]|0;g=e+28|0;h=c[g>>2]|0;i=c[h>>2]|0;_d(h,8388652)|0;$d(h);j=h+20|0;k=c[j>>2]|0;if((k+1|0)>>>0>1073741823)wc(f);l=i+12|0;m=c[l>>2]|0;n=i+48|0;o=c[n>>2]<<2;p=k<<2;k=f+12|0;q=c[k>>2]|0;r=(m|0)==0;s=q+4|0;t=Ma[c[q>>2]&1](c[s>>2]|0,m,o,p)|0;if((p|0)!=0&(t|0)==0){if(!(a[q+51>>0]|0))jc(f,4);vc(f,1);u=Ma[c[q>>2]&1](c[s>>2]|0,m,o,p)|0;if(!u)jc(f,4);else v=u}else v=t;t=q+12|0;c[t>>2]=(r?0:0-o|0)+p+(c[t>>2]|0);c[l>>2]=v;v=c[j>>2]|0;c[n>>2]=v;if((v+1|0)>>>0>1073741823)wc(f);n=i+20|0;l=c[n>>2]|0;t=i+52|0;p=c[t>>2]<<2;o=v<<2;v=c[k>>2]|0;r=(l|0)==0;q=v+4|0;u=Ma[c[v>>2]&1](c[q>>2]|0,l,p,o)|0;if((o|0)!=0&(u|0)==0){if(!(a[v+51>>0]|0))jc(f,4);vc(f,1);m=Ma[c[v>>2]&1](c[q>>2]|0,l,p,o)|0;if(!m)jc(f,4);else w=m}else w=u;u=v+12|0;c[u>>2]=(r?0:0-p|0)+o+(c[u>>2]|0);c[n>>2]=w;c[t>>2]=c[j>>2];j=h+32|0;t=c[j>>2]|0;if((t+1|0)>>>0>536870911)wc(f);w=i+8|0;n=c[w>>2]|0;u=i+44|0;o=c[u>>2]<<3;p=t<<3;t=c[k>>2]|0;r=(n|0)==0;v=t+4|0;m=Ma[c[t>>2]&1](c[v>>2]|0,n,o,p)|0;if((p|0)!=0&(m|0)==0){if(!(a[t+51>>0]|0))jc(f,4);vc(f,1);l=Ma[c[t>>2]&1](c[v>>2]|0,n,o,p)|0;if(!l)jc(f,4);else x=l}else x=m;m=t+12|0;c[m>>2]=(r?0:0-o|0)+p+(c[m>>2]|0);c[w>>2]=x;c[u>>2]=c[j>>2];j=h+36|0;u=c[j>>2]|0;if((u+1|0)>>>0>1073741823)wc(f);x=i+16|0;w=c[x>>2]|0;m=i+56|0;p=c[m>>2]<<2;o=u<<2;u=c[k>>2]|0;r=(w|0)==0;t=u+4|0;l=Ma[c[u>>2]&1](c[t>>2]|0,w,p,o)|0;if((o|0)!=0&(l|0)==0){if(!(a[u+51>>0]|0))jc(f,4);vc(f,1);n=Ma[c[u>>2]&1](c[t>>2]|0,w,p,o)|0;if(!n)jc(f,4);else y=n}else y=l;l=u+12|0;c[l>>2]=(r?0:0-p|0)+o+(c[l>>2]|0);c[x>>2]=y;c[m>>2]=c[j>>2];j=h+44|0;m=b[j>>1]|0;y=m<<16>>16;if((y+1|0)>>>0>357913941)wc(f);x=i+24|0;l=c[x>>2]|0;o=i+60|0;p=(c[o>>2]|0)*12|0;r=y*12|0;y=c[k>>2]|0;u=(l|0)==0;n=y+4|0;w=Ma[c[y>>2]&1](c[n>>2]|0,l,p,r)|0;if(m<<16>>16!=0&(w|0)==0){if(!(a[y+51>>0]|0))jc(f,4);vc(f,1);m=Ma[c[y>>2]&1](c[n>>2]|0,l,p,r)|0;if(!m)jc(f,4);else z=m}else z=w;w=y+12|0;c[w>>2]=(u?0:0-p|0)+r+(c[w>>2]|0);c[x>>2]=z;c[o>>2]=b[j>>1];j=h+47|0;o=a[j>>0]|0;z=i+28|0;x=c[z>>2]|0;w=i+40|0;i=c[w>>2]<<3;r=(o&255)<<3;p=c[k>>2]|0;u=(x|0)==0;y=p+4|0;m=Ma[c[p>>2]&1](c[y>>2]|0,x,i,r)|0;if(o<<24>>24!=0&(m|0)==0){if(!(a[p+51>>0]|0))jc(f,4);vc(f,1);o=Ma[c[p>>2]&1](c[y>>2]|0,x,i,r)|0;if(!o)jc(f,4);else A=o}else A=m;m=p+12|0;c[m>>2]=(u?0:0-i|0)+r+(c[m>>2]|0);c[z>>2]=A;c[w>>2]=d[j>>0];c[g>>2]=c[h+8>>2];if((c[e+12>>2]&-2|0)==288){h=c[e+16>>2]|0;ae(e,h+16|0,c[h+12>>2]|0)|0}h=f+8|0;c[h>>2]=(c[h>>2]|0)+-8;h=c[k>>2]|0;k=h+12|0;e=c[k>>2]|0;if((e|0)<=0)return;if(!(a[h+51>>0]|0)){g=h+8|0;c[g>>2]=e+1600+(c[g>>2]|0);c[k>>2]=-1600;return}else{zc(f);return}}
  7561. function Bp(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;j=Fa;Fa=Fa+64|0;k=j;switch(h|0){case 3:case 0:{l=1;break}case 2:{l=3;break}case 4:{l=2;break}case 6:{l=4;break}default:l=0}m=B(l,i)|0;l=((B(m,f)|0)+7|0)>>>3;f=(m+7|0)>>>3;if(!m){n=31;Fa=j;return n|0}if((h|0)==3|i>>>0<8){if(!g){n=0;Fa=j;return n|0}i=l+1|0;if(!l){h=0;do{a[b+(B(h,i)|0)>>0]=0;h=h+1|0}while((h|0)!=(g|0));n=0;Fa=j;return n|0}h=0;do{m=B(h,i)|0;o=B(h,l)|0;a[b+m>>0]=0;p=b+(m+1)|0;m=e+o|0;o=0;do{a[p+o>>0]=a[m+o>>0]|0;o=o+1|0}while((o|0)!=(l|0));h=h+1|0}while((h|0)!=(g|0));n=0;Fa=j;return n|0}h=k;i=h+60|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));h=l<<1;i=k+8|0;do if(!l){c[k+4>>2]=l;c[k+16>>2]=l;c[k+28>>2]=l;c[k+40>>2]=l;q=k+56|0;r=k+44|0;s=k+32|0;t=k+20|0;u=0;v=0;w=0;x=0;y=0;z=89}else{o=Gp(0,h)|0;if(o){c[i>>2]=h;c[k>>2]=o;c[k+4>>2]=l;m=k+20|0;p=Gp(0,h)|0;if(p){c[m>>2]=h;c[k+12>>2]=p;c[k+16>>2]=l;A=k+32|0;C=Gp(0,h)|0;if(C){c[A>>2]=h;c[k+24>>2]=C;c[k+28>>2]=l;D=k+44|0;E=Gp(0,h)|0;if(E){c[D>>2]=h;c[k+36>>2]=E;c[k+40>>2]=l;F=k+56|0;G=Gp(0,h)|0;if(!G){H=m;I=E;J=C;K=p;L=o}else{c[F>>2]=h;c[k+48>>2]=G;q=F;r=D;s=A;t=m;u=E;v=p;w=o;x=C;y=G;z=89;break}}else{H=m;I=0;J=C;K=p;L=o}}else{H=m;I=0;J=0;K=p;L=o}}else{H=m;I=0;J=0;K=0;L=o}}else{H=k+20|0;I=0;J=0;K=0;L=0}M=9949;N=k+32|0;O=k+44|0;P=k+56|0;Q=H;R=L;S=K;T=J;U=I;V=0}while(0);if((z|0)==89){c[k+52>>2]=l;if(!g){M=0;N=s;O=r;P=q;Q=t;R=w;S=v;T=x;U=u;V=y}else{y=(l|0)==0;u=(f|0)!=0;x=(l|0)!=0;v=f>>>0<l>>>0;w=l+1|0;z=0;I=0;J=0;K=0;while(1){L=J;J=e+(B(K,l)|0)|0;H=(L|0)==0;h=z;i=I;o=0;do{m=c[k+(o*12|0)>>2]|0;a:do switch((o&255)<<24>>24){case 0:{if(!y){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(l|0))}break}case 1:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}break}case 2:{if(H){if(!x)break a;p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(l|0))}else{if(!x)break a;p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[L+p>>0]|0);p=p+1|0}while((p|0)!=(l|0))}break}case 3:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-((d[J+(p-f)>>0]|0)>>>1&255);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-((d[L+p>>0]|0)>>>1&255);p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(((d[L+p>>0]|0)+(d[J+(p-f)>>0]|0)|0)>>>1);p=p+1|0}while((p|0)!=(l|0))}break}case 4:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[L+p>>0]|0);p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{C=p-f|0;G=a[J+C>>0]|0;E=a[L+p>>0]|0;A=a[L+C>>0]|0;C=E&255;D=A&255;F=C-D|0;W=(F|0)>-1?F:0-F|0;F=G&255;X=F-D|0;Y=(X|0)>-1?X:0-X|0;X=C+F+(B(D,-2)|0)|0;D=(X|0)>-1?X:0-X|0;a[m+p>>0]=(d[J+p>>0]|0)-(((W|0)>(Y|0)|(W|0)>(D|0)?((Y|0)>(D|0)?A:E):G)&255);p=p+1|0}while((p|0)!=(l|0))}break}default:{}}while(0);p=c[k+(o*12|0)+4>>2]|0;if(!p)Z=0;else{G=0;E=0;while(1){A=E+(d[m+G>>0]|0)|0;G=G+3|0;if(G>>>0>=p>>>0){Z=A;break}else E=A}}E=(o|0)==0|Z>>>0<h>>>0;h=E?Z:h;i=E?o:i;o=o+1|0}while((o|0)!=5);o=B(K,w)|0;a[b+o>>0]=i;if(!y){L=c[k+(i*12|0)>>2]|0;H=0;do{E=H;H=H+1|0;a[b+(H+o)>>0]=a[L+E>>0]|0}while((H|0)!=(l|0))}K=K+1|0;if((K|0)==(g|0))break;else{z=h;I=i}}M=0;N=s;O=r;P=q;Q=t;R=c[k>>2]|0;S=c[k+12>>2]|0;T=c[k+24>>2]|0;U=c[k+36>>2]|0;V=c[k+48>>2]|0}}Hp(R);c[Q>>2]=0;Hp(S);c[N>>2]=0;Hp(T);c[O>>2]=0;Hp(U);c[P>>2]=0;Hp(V);n=M;Fa=j;return n|0}function Cp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=Fa;Fa=Fa+240|0;j=i+8|0;k=i+4|0;l=i;c[j>>2]=2;c[j+4>>2]=1;c[j+8>>2]=2048;c[j+12>>2]=1;c[j+16>>2]=0;c[j+20>>2]=1;c[j+24>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;m=j+64|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[j+48>>2]=6;c[j+52>>2]=8;c[j+56>>2]=0;c[j+60>>2]=0;c[j+44>>2]=0;c[j+36>>2]=0;c[j+40>>2]=0;m=j+80|0;c[j+144>>2]=0;n=j+160|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;n=m;o=n+48|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));a[m+48>>0]=0;m=j+192|0;n=j+216|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[n>>2]=1;c[j+184>>2]=g;c[j+188>>2]=h;wp(j,k,l,d,e,f);f=c[n>>2]|0;op(j+28|0);j=c[m>>2]|0;if(j|0)Hp(j);j=c[k>>2]|0;k=c[l>>2]|0;l=Jt(b,71945)|0;if(!l){Hp(j);Fa=i;return f|0}ku(j,1,k,l)|0;Pt(l)|0;Hp(j);Fa=i;return f|0}function Dp(a){a=a|0;var b=0,d=0;if(a>>>0<=1073741824?(c[526429]=(c[526429]|0)+1,(a|0)!=0):0){b=Wr(a+8|0)|0;c[b>>2]=-1060065012;c[b+4>>2]=a;c[526431]=(c[526431]|0)+a;d=b+8|0}else d=0;Yu(d|0,0,a|0)|0;return d|0}function Ep(a,b,c){a=a|0;b=b|0;c=c|0;Yu(a|0,b&255|0,c|0)|0;return}function Fp(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;if(b>>>0<=1073741824?(c[526429]=(c[526429]|0)+1,(b|0)!=0):0){d=Wr(a+24|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=b;c[526431]=(c[526431]|0)+b;e=d+8|0}else e=0;Yu(e|0,0,b|0)|0;return e|0}function Gp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(a|0){c[526431]=b-(c[a+-4>>2]|0)+(c[526431]|0);d=Zr(a+-8|0,b+8|0)|0;c[d+4>>2]=b;e=d+8|0;return e|0}d=b+16|0;if(d>>>0<=1073741824?(c[526429]=(c[526429]|0)+1,(d|0)!=0):0){a=Wr(b+24|0)|0;c[a>>2]=-1060065012;c[a+4>>2]=d;c[526431]=(c[526431]|0)+d;f=a+8|0}else f=0;Yu(f|0,0,d|0)|0;e=f;return e|0}function Hp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Fa;Fa=Fa+16|0;d=b+8|0;e=b;if(c[526404]|0){Fa=b;return}if(!a){Fa=b;return}c[526430]=(c[526430]|0)+1;f=a+-8|0;g=c[f>>2]|0;h=a+-4|0;i=c[h>>2]|0;if((g|0)!=-1060065012){c[e>>2]=g;c[e+4>>2]=i;xu(64344,e)|0;Rt(c[8793]|0)|0;e=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;vs(1504976,64344,d)|0;Pm(1504976);Fa=b;return}if(i>>>0>3){d=i>>>2;e=0;do{c[a+(e<<2)>>2]=-559038737;e=e+1|0}while(e>>>0<d>>>0)}c[526431]=(c[526431]|0)-i;c[f>>2]=11254272;c[h>>2]=13491200;Xr(f);Fa=b;return}function Ip(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[526429]|0;c[526429]=d+1;e=Wr(100)|0;c[e>>2]=-1060065012;c[e+4>>2]=92;f=(c[526431]|0)+92|0;c[526431]=f;g=e+8|0;h=e+12|0;i=h+84|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));c[g>>2]=1;h=e+20|0;c[h>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;i=(b|0)>4?b:4;c[e+96>>2]=i;if(i>>>0>1073741824){j=0;Yu(j|0,0,i|0)|0;c[h>>2]=j;return g|0}c[526429]=d+2;if(!i){j=0;Yu(j|0,0,i|0)|0;c[h>>2]=j;return g|0}d=Wr(i+8|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=i;c[526431]=f+i;j=d+8|0;Yu(j|0,0,i|0)|0;c[h>>2]=j;return g|0}function Jp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=a+88|0;e=c[d>>2]|0;if((e|0)>=(b|0))return 0;f=b<<1;c[d>>2]=f;b=a+12|0;a=c[b>>2]|0;if(!a){g=f+16|0;if(g>>>0<=1073741824?(c[526429]=(c[526429]|0)+1,(g|0)!=0):0){h=Wr(f+24|0)|0;c[h>>2]=-1060065012;c[h+4>>2]=g;c[526431]=(c[526431]|0)+g;i=h+8|0}else i=0;Yu(i|0,0,g|0)|0;j=i;k=f}else{c[526431]=f-(c[a+-4>>2]|0)+(c[526431]|0);i=Zr(a+-8|0,f+8|0)|0;c[i+4>>2]=f;j=i+8|0;k=c[d>>2]|0}c[b>>2]=j;Yu(j+e|0,0,k-e|0)|0;return 0}function Kp(a){a=a|0;Zn(a);return}function Lp(a){a=a|0;if(!a)return;c[a+16>>2]=0;c[a+20>>2]=0;return}function Mp(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+92|0;e=c[d>>2]|0;c[d>>2]=e+1;a[b+28+e>>0]=-128;f=c[d>>2]|0;if((e|0)>55){if((f|0)<64){e=f;do{c[d>>2]=e+1;a[b+28+e>>0]=0;e=c[d>>2]|0}while((e|0)<64)}Np(b);e=c[d>>2]|0;if((e|0)<56){g=e;do{c[d>>2]=g+1;a[b+28+g>>0]=0;g=c[d>>2]|0}while((g|0)<56)}}else if((f|0)<56){g=f;do{c[d>>2]=g+1;a[b+28+g>>0]=0;g=c[d>>2]|0}while((g|0)<56)}g=c[b+24>>2]|0;a[b+84>>0]=g>>>24;a[b+85>>0]=g>>>16;a[b+86>>0]=g>>>8;a[b+87>>0]=g;g=c[b+20>>2]|0;a[b+88>>0]=g>>>24;a[b+89>>0]=g>>>16;a[b+90>>0]=g>>>8;a[b+91>>0]=g;Np(b);return}function Np(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=Fa;Fa=Fa+320|0;e=b;f=0;do{g=f<<2;c[e+(f<<2)>>2]=(d[(g|2)+(a+28)>>0]|0)<<8|((d[(g|1)+(a+28)>>0]|0)<<16|(d[a+28+g>>0]|0)<<24)|(d[(g|3)+(a+28)>>0]|0);f=f+1|0}while((f|0)!=16);f=16;do{g=c[e+(f+-8<<2)>>2]^c[e+(f+-3<<2)>>2]^c[e+(f+-14<<2)>>2]^c[e+(f+-16<<2)>>2];c[e+(f<<2)>>2]=g<<1|g>>>31;f=f+1|0}while((f|0)!=80);f=c[a>>2]|0;g=a+4|0;h=c[g>>2]|0;i=a+8|0;j=c[i>>2]|0;k=a+12|0;l=c[k>>2]|0;m=a+16|0;n=c[m>>2]|0;o=l;p=j;q=h;r=f;s=n;t=0;while(1){u=(r<<5|r>>>27)+1518500249+s+(o&~q|p&q)+(c[e+(t<<2)>>2]|0)|0;v=q<<30|q>>>2;t=t+1|0;if((t|0)==20)break;else{w=r;x=p;p=v;r=u;s=o;q=w;o=x}}q=p;p=v;v=r;r=u;u=o;o=20;while(1){y=(r<<5|r>>>27)+1859775393+(p^v^q)+u+(c[e+(o<<2)>>2]|0)|0;z=v<<30|v>>>2;o=o+1|0;if((o|0)==40)break;else{s=r;t=p;p=z;r=y;u=q;v=s;q=t}}v=p;p=z;z=r;r=y;y=q;q=40;while(1){A=(r<<5|r>>>27)+-1894007588+y+((v|p)&z|v&p)+(c[e+(q<<2)>>2]|0)|0;B=z<<30|z>>>2;q=q+1|0;if((q|0)==60)break;else{u=r;o=p;p=B;r=A;y=v;z=u;v=o}}z=p;p=B;B=r;r=A;A=v;v=60;while(1){C=(r<<5|r>>>27)+-899497514+(p^B^z)+A+(c[e+(v<<2)>>2]|0)|0;D=B<<30|B>>>2;v=v+1|0;if((v|0)==80)break;else{y=r;q=p;p=D;r=C;A=z;B=y;z=q}}c[a>>2]=C+f;c[g>>2]=r+h;c[i>>2]=D+j;c[k>>2]=p+l;c[m>>2]=z+n;c[a+92>>2]=0;Fa=b;return}function Op(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=Fa;Fa=Fa+128|0;g=f;h=f+24|0;i=h+20|0;c[i>>2]=0;j=h+24|0;c[j>>2]=0;k=h+92|0;c[k>>2]=0;c[h>>2]=1732584193;l=h+4|0;c[l>>2]=-271733879;m=h+8|0;c[m>>2]=-1732584194;n=h+12|0;c[n>>2]=271733878;o=h+16|0;c[o>>2]=-1009589776;p=h+96|0;c[p>>2]=0;q=h+100|0;c[q>>2]=0;a:do if(d){r=b;s=d;t=0;u=0;while(1){v=s+-1|0;w=a[r>>0]|0;c[k>>2]=t+1;a[h+28+t>>0]=w;w=u+8|0;c[i>>2]=w;if((w|0)==0?(w=(c[j>>2]|0)+1|0,c[j>>2]=w,(w|0)==0):0)c[q>>2]=1;if((c[k>>2]|0)==64)Np(h);x=(c[q>>2]|0)==0;if(!v)break;if(!x){y=0;break a}r=r+1|0;s=v;t=c[k>>2]|0;u=c[i>>2]|0}if(x)if(!(c[p>>2]|0))z=13;else y=1;else y=0}else z=13;while(0);if((z|0)==13){Mp(h);c[p>>2]=1;y=1}p=c[l>>2]|0;l=c[m>>2]|0;m=c[n>>2]|0;n=c[o>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=p;c[g+8>>2]=l;c[g+12>>2]=m;c[g+16>>2]=n;vs(e,64366,g)|0;Fa=f;return y|0}function Pp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=b+f|0;i=e+g|0;j=i+-12|0;if(!g){if((f|0)!=1){k=-1;return k|0}k=((a[b>>0]|0)!=0)<<31>>31;return k|0}f=i+-8|0;g=h+-8|0;l=h+-6|0;m=i+-5|0;n=b;o=e;while(1){p=o;q=n+1|0;r=d[n>>0]|0;s=r>>>4;if((s|0)==15)if(q>>>0<h>>>0){t=15;u=q;while(1){v=u+1|0;w=a[u>>0]|0;x=t+(w&255)|0;if(w<<24>>24==-1&v>>>0<h>>>0){t=x;u=v}else{y=x;z=v;break}}}else{y=15;z=q}else{y=s;z=q}A=o+y|0;B=z+y|0;if(A>>>0>j>>>0|B>>>0>g>>>0){C=10;break}u=o+8|0;t=(A>>>0>u>>>0?A:u)+-1+(0-p)&-8;v=o;x=z;while(1){w=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[v>>0]=w;a[v+1>>0]=w>>8;a[v+2>>0]=w>>16;a[v+3>>0]=w>>24;w=v+4|0;D=x+4|0;E=d[D>>0]|d[D+1>>0]<<8|d[D+2>>0]<<16|d[D+3>>0]<<24;a[w>>0]=E;a[w+1>>0]=E>>8;a[w+2>>0]=E>>16;a[w+3>>0]=E>>24;v=v+8|0;if(v>>>0>=A>>>0)break;else x=x+8|0}x=z+8+t+(A-(u+t))|0;v=d[x>>0]|d[x+1>>0]<<8;p=A+(0-(v&65535))|0;q=x+2|0;if(p>>>0<e>>>0){F=q;break}x=r&15;a:do if((x|0)==15){s=15;E=q;while(1){if(E>>>0>=l>>>0){G=s;H=E;break a}w=E+1|0;D=a[E>>0]|0;I=s+(D&255)|0;if(D<<24>>24==-1){s=I;E=w}else{G=I;H=w;break}}}else{G=x;H=q}while(0);if((v&65535)<4){a[A>>0]=a[p>>0]|0;a[A+1>>0]=a[p+1>>0]|0;a[A+2>>0]=a[p+2>>0]|0;a[A+3>>0]=a[p+3>>0]|0;q=A+4|0;x=p+4|0;r=q;t=x+(0-(c[28688+(r-x<<2)>>2]|0))|0;x=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;a[q>>0]=x;a[q+1>>0]=x>>8;a[q+2>>0]=x>>16;a[q+3>>0]=x>>24;J=t;K=q;L=r}else{r=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[A>>0]=r;a[A+1>>0]=r>>8;a[A+2>>0]=r>>16;a[A+3>>0]=r>>24;r=A+4|0;J=p+4|0;K=r;L=r}r=A+4+G|0;if(r>>>0>f>>>0){if(r>>>0>m>>>0){F=H;break}q=A+12|0;t=(f>>>0>q>>>0?f:q)+-1+(0-L)&-8;x=J;u=K;while(1){E=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[u>>0]=E;a[u+1>>0]=E>>8;a[u+2>>0]=E>>16;a[u+3>>0]=E>>24;E=u+4|0;s=x+4|0;w=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;a[E>>0]=w;a[E+1>>0]=w>>8;a[E+2>>0]=w>>16;a[E+3>>0]=w>>24;u=u+8|0;if(u>>>0>=f>>>0)break;else x=x+8|0}x=q+t|0;if(x>>>0<r>>>0){u=J+8+t|0;p=x;while(1){a[p>>0]=a[u>>0]|0;p=p+1|0;if((p|0)==(r|0))break;else u=u+1|0}}}else{u=J;p=K;while(1){t=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;a[p>>0]=t;a[p+1>>0]=t>>8;a[p+2>>0]=t>>16;a[p+3>>0]=t>>24;t=p+4|0;q=u+4|0;x=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;a[t>>0]=x;a[t+1>>0]=x>>8;a[t+2>>0]=x>>16;a[t+3>>0]=x>>24;p=p+8|0;if(p>>>0>=r>>>0)break;else u=u+8|0}}n=H;o=r}if((C|0)==10)if(A>>>0>i>>>0|(B|0)!=(h|0))F=z;else{Xu(o|0,z|0,y|0)|0;k=A-e|0;return k|0}k=b+-1-F|0;return k|0}function Qp(a,b,d){a=a|0;b=b|0;d=d|0;if(!d)return;if(c[525571]|c[525569]|0){Yu(b|0,0,d|0)|0;return}if((c[525584]|0)==(c[525582]|0)?(c[525585]|0)==(c[525583]|0):0){Rp(0,b,d);return}if((d|0)<=0)return;Yu(b|0,0,d|0)|0;return}function Rp(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(ka(26)|0){Yu(d|0,0,e|0)|0;return}a=c[525570]|0;c[525570]=a+1;if((a|0)>2){Yu(d|0,0,e|0)|0;return}c[704816]=1;a=(e|0)/2|0;f=(c[525583]|0)==2?(e|0)/4|0:a;g=(c[525582]|0)==44100?(f|0)/2|0:f;f=(c[8789]|0)==-1;h=_q()|0;if(!f){f=(h-(c[8789]|0)|0)>500;c[8789]=_q()|0;if(f){if((g|0)<=0)return;Yu(d|0,0,g<<1|0)|0;return}}else c[8789]=h;c[526437]=0;Sp(2631360,g);Sp(2643104,g);Sp(2654848,g);Sp(2666592,g);Sp(2678336,g);Sp(2690080,g);Sp(2701824,g);Sp(2713568,g);Sp(2725312,g);Sp(2737056,g);Sp(2748800,g);Sp(2760544,g);Sp(2772288,g);Sp(2784032,g);Sp(2795776,g);Sp(2807520,g);if(c[526437]|0)c[525577]=(c[525577]|0)+1;h=(c[525872]|0)==0;if(!h){if(c[659896]|0)Yu(2678336,0,e|0)|0;if(c[662832]|0)Yu(2690080,0,e|0)|0;if(c[665768]|0)Yu(2701824,0,e|0)|0;if(c[668704]|0)Yu(2713568,0,e|0)|0}e=h?16:8;h=(g|0)>0;if(h){f=2;do{i=(f|0)/2|0;j=0;do{k=j+i|0;l=0;do{m=2631360+(j*11744|0)+(l<<1)|0;n=(b[2631360+(k*11744|0)+(l<<1)>>1]|0)+(b[m>>1]|0)|0;if((n|0)<=24575)if((n|0)<-24575)o=((n+24576|0)/5|0)+-24576|0;else o=n;else o=((n+-24576|0)/5|0)+24576|0;b[m>>1]=o;l=l+1|0}while((l|0)!=(g|0));j=j+f|0}while(j>>>0<e>>>0);f=f<<1}while(f>>>0<=e>>>0)}else{f=2;do{o=0;do o=o+f|0;while(o>>>0<e>>>0);f=f<<1}while(f>>>0<=e>>>0)}e=c[525853]|0;if((e|0)!=256&h){f=0;do{o=2631360+(f<<1)|0;b[o>>1]=(B(e,b[o>>1]|0)|0)>>>8;f=f+1|0}while((f|0)!=(g|0))}if(!((c[657839]|0)==0|(c[526438]|0)==0)?(f=c[526436]|0,f|0):0){e=(B(c[525854]|0,f)|0)>>16;if(0)Vr(2105752,1517392,g);if(h){f=0;do{o=1517392+(f<<1)|0;b[o>>1]=(B(e,b[o>>1]|0)|0)>>>8;f=f+1|0}while((f|0)!=(g|0));f=0;do{e=2631360+(f<<1)|0;o=(b[1517392+(f<<1)>>1]|0)+(b[e>>1]|0)|0;if((o|0)<=24575)if((o|0)<-24575)p=((o+24576|0)/5|0)+-24576|0;else p=o;else p=((o+-24576|0)/5|0)+24576|0;b[e>>1]=p;f=f+1|0}while((f|0)!=(g|0))}}f=c[525582]|0;p=c[525583]|0;if((f|0)==22050&(p|0)==1){if(h){e=0;do{b[d+(e<<1)>>1]=b[2631360+(e<<1)>>1]|0;e=e+1|0}while((e|0)!=(g|0));if((c[525576]|0)!=0&h){e=0;do{Tn(b[d+(e<<1)>>1]|0,0);e=e+1|0}while((e|0)!=(g|0))}}}else if((f|0)==44100&(p|0)==2?(p=g<<2,h):0){h=0;do{b[d+(h<<1)>>1]=b[2631360+(h>>>2<<1)>>1]|0;h=h+1|0}while((h|0)<(p|0))}p=c[704817]|0;if(p|0)Pa[p&7](d,a);c[704816]=0;return}function Sp(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;Ep(a,0,8192);if(1<<c[a+8236>>2]&c[742906]){Tp(a,((d|0)/2|0)+1|0);if((d|0)>0){e=d;do{f=e;e=e+-1|0;b[a+(e<<1)>>1]=b[a+(((e|0)/2|0)<<1)>>1]|0}while((f|0)>1)}}else Tp(a,d);e=a+8208|0;f=c[e>>2]|0;if(!((f|0)!=0&(d|0)>0))return;g=c[f>>2]|0;h=a+8216|0;i=f+28|0;j=f+20|0;f=~d;k=~g;l=0;m=c[h>>2]|0;while(1){n=d-l|0;o=g-m|0;p=(n|0)<(o|0)?n:o;if((p|0)<1)break;o=c[j>>2]|0;n=l+f|0;q=m+k|0;r=(n|0)>(q|0)?n:q;q=l+-1|0;n=0;s=l;t=m;while(1){b[a+(s<<1)>>1]=b[o+(t<<1)>>1]|0;n=n+1|0;if((n|0)>=(p|0))break;else{s=s+1|0;t=t+1|0}}t=m+-1-r|0;l=q-r|0;c[h>>2]=t;s=(c[i>>2]|0)==0|(t|0)<(g|0);c[h>>2]=s?t:0;if((l|0)>=(d|0)){u=14;break}else m=s?t:0}if((u|0)==14)return;if((g|0)>(m|0))return;c[a+11544>>2]=0;c[e>>2]=0;c[a+8232>>2]=0;e=a+8220|0;c[e>>2]=0;c[e+4>>2]=0;return}function Tp(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;if((d|0)<=0)return;f=a+11540|0;g=a+8240|0;h=a+8604|0;i=a+8224|0;j=a+11624|0;k=a+8236|0;l=a+11732|0;m=a+11736|0;n=a+11536|0;o=a;p=d;while(1){d=b[f>>1]|0;q=d<<16>>16;if(d<<16>>16<183){d=183-q|0;r=(d|0)<(p|0)?d:p;Xu(o|0,a+8240+(q<<1)|0,r<<1|0)|0;b[f>>1]=r+(e[f>>1]|0);q=p-r|0;if((q|0)>0){s=o+(r<<1)|0;t=q}else{u=28;break}}else{s=o;t=p}q=b[h>>1]|0;r=c[i>>2]|0;d=(r|0)==0;if(d)v=0;else v=((c[r>>2]>>3|0)/3|0|0)%3|0;w=c[j>>2]>>3;x=((w|0)/3|0|0)%3|0;y=(v|0)>(x|0)?v:x;x=c[742907]|0;z=c[k>>2]|0;A=1<<z+4;C=1<<z;c[l>>2]=(C&x|0)==0?((A&x|0)==0|(y|0)>1?y:1):2;if(d)D=0;else D=((c[r>>2]>>3|0)/9|0|0)%3|0;r=((w|0)/9|0|0)%3|0;w=(D|0)>(r|0)?D:r;r=(w|0)==2?12:w;w=(r|0)==1?8:r;c[m>>2]=w;r=c[742909]|0;if(!(r&A))E=w;else{A=(w|0)>8?w:8;c[m>>2]=A;E=A}if(!(r&C))F=E;else{C=(E|0)>12?E:12;c[m>>2]=C;F=C}C=17<<z;if((r&C|0)==(C|0))c[m>>2]=(F|0)>15?F:15;Up(a,g);C=c[742908]|0;r=c[k>>2]|0;if(!(1<<r&C)){if(1<<r+4&C|0){C=0;do{r=a+8240+(C<<1)|0;b[r>>1]=b[r>>1]&-4089;C=C+1|0}while((C|0)!=183)}}else{C=0;do{r=a+8240+(C<<1)|0;z=b[r>>1]|0;A=z<<16>>16;if(z<<16>>16>-1)G=A&-4096;else G=0-((0-(A<<16)|0)>>>16&61440)|0;b[r>>1]=G;C=C+1|0}while((C|0)!=183)}C=c[m>>2]|0;if((C|0)>0){r=16-C|0;A=((B(r,b[g>>1]|0)|0)+(B(C,q<<16>>16)|0)|0)/16|0;b[g>>1]=A;z=1;w=A;do{A=a+8240+(z<<1)|0;w=((B(C,w<<16>>16)|0)+(B(r,b[A>>1]|0)|0)|0)/16|0;b[A>>1]=w;z=z+1|0}while((z|0)!=183)}b[f>>1]=0;Xu(a+8606+(((c[n>>2]|0)%8|0)*366|0)|0,g|0,366)|0;c[n>>2]=((c[n>>2]|0)+1|0)%8|0;if((t|0)>0){o=s;p=t}else{u=28;break}}if((u|0)==28)return}function Up(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;e=Fa;Fa=Fa+96|0;f=e;Yu(d|0,0,366)|0;g=a+8224|0;h=c[g>>2]|0;i=(h|0)!=0;if(i){j=c[h+8>>2]|0;k=(j|0)>1?j:1;j=a+8228|0;l=c[j>>2]|0;m=(l+1|0)/(k|0)|0;n=(l|0)%(k|0)|0;l=a+11552|0;o=f;p=l;q=o+96|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));if(!n){c[a+11652>>2]=c[a+11616>>2];c[a+11648>>2]=c[a+11612>>2];c[a+11656>>2]=c[a+11608>>2]}Wp(a,l);Vp(l,d,183,a);o=1525584;q=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(q|0));Vp(f,1525584,64,a);f=0;do{o=d+(f<<1)|0;q=B(f,b[o>>1]|0)|0;b[o>>1]=((B(64-f|0,b[1525584+(f<<1)>>1]|0)|0)+q|0)/64|0;f=f+1|0}while((f|0)!=64);f=a+11728|0;r=k;s=f;t=j;u=c[f>>2]|0;v=m}else{m=a+8228|0;f=c[m>>2]|0;Yu(d|0,0,366)|0;j=f+1|0;f=a+11552|0;k=a+11580|0;if(c[a+11560>>2]|0?c[k>>2]|0:0){Vp(f,d,64,a);f=0;do{q=d+(f<<1)|0;b[q>>1]=(B(64-f|0,b[q>>1]|0)|0)/64|0;f=f+1|0}while((f|0)!=64)}c[k>>2]=0;k=a+11728|0;c[k>>2]=0;r=1;s=k;t=m;u=0;v=j}j=(c[t>>2]|0)+1|0;c[t>>2]=j;m=a+11740|0;k=(c[m>>2]|0)+-1|0;c[m>>2]=k;c[s>>2]=u+1;if((i?(c[a+8232>>2]|0)!=0:0)?(i=c[h+16>>2]|0,u=c[h+12>>2]|0,!((i|0)<=(u|0)|(j|0)<(B(i,r)|0))):0){i=B(u,r)|0;c[t>>2]=i;w=i}else w=j;a:do if(c[g>>2]|0?(c[a+11544>>2]|0)==0:0){if(!k){c[g>>2]=0;break}j=c[h+16>>2]|0;i=c[h+12>>2]|0;if((j|0)<=(i|0)){do if((v|0)<(((j|0)==0&(i|0)>0?i:32)|0)){if((v|0)<32){r=0;u=v;while(1){r=(c[h+20+(u*20|0)+8>>2]|0)>0?1:r;if((u|0)>=31)break;else u=u+1|0}if((v|0)<31)x=(c[h+20+(v*20|0)+12>>2]|0)==1?1:r;else x=r}else x=0;if(!(c[a+11732>>2]|0))if(!x)break;else break a;else{u=c[h+8>>2]|0;if((x|0)==0?(w|0)>=((((u|0)>1?u:1)<<5)+128|0):0)break;else break a}}while(0);c[g>>2]=0}}while(0);w=a+8220|0;x=c[w>>2]|0;if(!x){Fa=e;return}h=a+11544|0;if(!((k|0)==0&(c[h>>2]|0)!=0)){Fa=e;return}k=a+11548|0;v=c[k>>2]|0;if(v>>>0>=64){Fa=e;return}c[526437]=1;i=c[x+43276+(v<<2)>>2]|0;do if(!(i&4)){b:do if(i&2){if((v|0)<=0){c[525578]=v;y=0;break}if(!(i&1)){j=v;while(1){u=j+-1|0;c[k>>2]=u;if((j|0)<=1){z=u;A=44;break b}if(!(c[x+43276+(u<<2)>>2]&1))j=u;else{z=u;A=44;break}}}else{z=v;A=44}}else{j=v+1|0;c[k>>2]=j;z=j;A=44}while(0);if((A|0)==44){c[525578]=z;if(z>>>0>63)break;else y=z}j=x+42252+(y<<4)|0;if((((c[j>>2]|0)>63?(c[x+42252+(y<<4)+4>>2]|0)>63:0)?(c[x+42252+(y<<4)+8>>2]|0)>63:0)?(c[x+42252+(y<<4)+12>>2]|0)>63:0){c[h>>2]=0;c[a+8208>>2]=0;c[a+8232>>2]=0;r=w;c[r>>2]=0;c[r+4>>2]=0;Fa=e;return}r=c[x+42252+(y<<4)+(c[a+8236>>2]<<2)>>2]|0;if((r|0)>63)C=0;else C=x+12+(((r|0)>0?r:0)*660|0)|0;c[g>>2]=C;c[t>>2]=0;b[a+11540>>1]=183;c[m>>2]=Xp(x,j)|0;Fa=e;return}else{c[k>>2]=-1;c[525578]=-1}while(0);c[h>>2]=0;c[a+8208>>2]=0;c[a+8232>>2]=0;a=w;c[a>>2]=0;c[a+4>>2]=0;Fa=e;return}function Vp(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;g=c[a+84>>2]|0;h=c[a+80>>2]|0;i=c[a+28>>2]|0;if((i|0)==0?(c[f+11732>>2]|0)==0:0){c[a+4>>2]=0;Yu(d|0,0,e<<1|0)|0;return}j=a+4|0;k=c[j>>2]|0;l=a+12|0;m=c[a+8>>2]|0;n=c[a+16>>2]|0;o=(m|0)==(n|0)?k:c[l>>2]|0;p=(i*3|0)/2|0;i=c[a>>2]|0;switch(i|0){case 7:case 0:{if((e|0)>0){q=(g|0)==0;r=k;s=0;t=o;while(1){u=(r&32768|0)==0?(r*3|0)+-49152|0:(49152-r|0)*3|0;if(q){v=t&65535;w=u;x=(t&32768|0)==0?(v*3|0)+-49152|0:(49152-v|0)*3|0}else{v=(r|0)>57343;y=t&65535;if(y>>>0>57343)z=((y^65535)*24572|0)>>>13;else z=((y*24572|0)>>>0)/57344|0;w=(((u|0)/4|0)*3|0)+-12286+(((v?65535-r|0:r)*24572|0)/((v?8192:57344)|0)|0)|0;x=(((((t&32768|0)==0?(y*3|0)+-49152|0:(49152-y|0)*3|0)|0)/4|0)*3|0)+-12286+z|0}y=r+m&65535;v=t+n&131071;b[d+(s<<1)>>1]=(B(((w|0)/4|0)+((x|0)/8|0)|0,p)|0)/3072|0;s=s+1|0;if((s|0)==(e|0)){A=y;C=v;D=14;break}else{r=y;t=v}}}else{E=k;F=o;G=0}break}default:{A=k;C=o;D=14}}if((D|0)==14){o=(e|0)>0;if((i|0)==1&o){k=(h|0)==2&1;t=(g|0)==0;r=0;s=A;x=C;while(1){w=x<<k;do if(t){z=(s|0)>57343;q=((z?65535-s|0:s)*24572|0)/((z?8192:57344)|0)|0;z=w&65535;if(z>>>0>57343){H=q;I=((z^65535)*24572|0)>>>13;break}else{H=q;I=((z*24572|0)>>>0)/57344|0;break}}else{z=(s|0)>61439;q=((z?65535-s|0:s)*24572|0)/((z?4096:61440)|0)|0;z=w&65535;if(z>>>0>61439){H=q;I=((z^65535)*24572|0)>>>12;break}else{H=q;I=((z*24572|0)>>>0)/61440|0;break}}while(0);w=s+m&65535;z=x+n&131071;b[d+(r<<1)>>1]=(B(H+-12286+((I+-12286|0)/2|0)|0,p)|0)/3072|0;r=r+1|0;if((r|0)==(e|0)){E=w;F=z;G=o;break}else{s=w;x=z}}}else{E=A;F=C;G=o}}if((i|0)==2&G){o=(h|0)==2&1;C=(g|0)==0;A=0;x=E;s=F;while(1){r=s<<o;if(C){J=(x+-32768|0)/4|0;K=(r&65535)+-32768|0;L=4}else{J=(((((x|0)/2|0)+-32768|0)/4|0)+(((x&65535)+-32768|0)/4|0)|0)/2|0;K=((((r|0)/2|0)+-32768|0)/4|0)+(((r&65535)+-32768|0)/4|0)|0;L=2}r=x+m&65535;I=s+n&131071;b[d+(A<<1)>>1]=(B((((K|0)/(L|0)|0|0)/2|0)+J|0,p)|0)/3072|0;A=A+1|0;if((A|0)==(e|0)){M=r;N=I;break}else{x=r;s=I}}}else{M=E;N=F}if((i+-3|0)>>>0<2){F=(i|0)==3?32768:45056;E=(g|0)==0?F:F+6144|0;if(G)if((h|0)==2){F=0;s=M;x=N;while(1){A=s+m&65535;J=x+n&131071;b[d+(F<<1)>>1]=(B(((x<<1&65534)>>>0<E>>>0?-3071:3071)+((s|0)<(E|0)?-6143:6143)|0,p)|0)/3072|0;F=F+1|0;if((F|0)==(e|0)){O=A;P=J;D=37;break}else{s=A;x=J}}}else{x=0;s=M;F=N;while(1){J=s+m&65535;A=F+n&131071;b[d+(x<<1)>>1]=(B(((F&65535)>>>0<E>>>0?-3071:3071)+((s|0)<(E|0)?-6143:6143)|0,p)|0)/3072|0;x=x+1|0;if((x|0)==(e|0)){O=J;P=A;D=37;break}else{s=J;F=A}}}else{Q=N;R=M;S=0}}else{O=M;P=N;D=37}a:do if((D|0)==37){b:do if((i|0)==5&G){N=(h|0)==2&1;if(g|0){M=32768>>>N;F=0;s=O;x=P;while(1){E=(s&16384|0)!=0;if(!(s&32768))T=E?32768-s|0:s;else T=((E?65536-s|0:s+-32768|0)<<1|0)/3|0;E=s+m&65535;A=x+n&131071;b[d+(F<<1)>>1]=(B(T+-8192+((x&M|0)==0?-1535:1535)|0,p)|0)/3072|0;F=F+1|0;if((F|0)==(e|0)){U=A;V=E;break b}else{s=E;x=A}}}x=0;s=O;F=P;while(1){M=(s&16384|0)!=0;if(!(s&32768))W=M?32768-s|0:s;else W=((M?65536-s|0:s+-32768|0)<<1|0)/3|0;M=F<<N;A=M&65535;E=(M&16384|0)!=0;if(!(M&32768))X=E?32768-A|0:A;else X=((E?65536-A|0:A+-32768|0)<<1|0)/3|0;A=s+m&65535;E=F+n&131071;b[d+(x<<1)>>1]=(B(W+-8192+((X+-8192|0)/2|0)|0,p)|0)/3072|0;x=x+1|0;if((x|0)==(e|0)){U=E;V=A;break}else{s=A;F=E}}}else{U=P;V=O}while(0);if((i|0)==6){F=a+88|0;if(c[F>>2]|0?(s=64-(c[a+32>>2]>>16)|0,x=(s|0)>1?s:1,s=(x|0)>63?(x<<2)+-192|0:x,G):0){x=a+44|0;N=a+52|0;E=a+48|0;A=0;M=c[x>>2]|0;do{do if(M)if((c[F>>2]|0)>1){J=(B(s-M|0,p)|0)/(s|0)|0;L=(B(M,p)|0)/(s|0)|0;K=B(c[E>>2]|0,J)|0;b[d+(A<<1)>>1]=((B(c[N>>2]|0,L)|0)+K|0)/2048|0;Y=M;break}else{b[d+(A<<1)>>1]=(B(c[E>>2]|0,p)|0)/2048|0;Y=M;break}else{c[E>>2]=c[N>>2];c[N>>2]=(Bo(12286)|0)+-6143;b[d+(A<<1)>>1]=(B(c[E>>2]|0,p)|0)/2048|0;Y=c[x>>2]|0}while(0);M=(Y+1|0)%(s|0)|0;c[x>>2]=M;A=A+1|0}while((A|0)!=(e|0));if((c[a>>2]|0)!=6){Q=U;R=V;S=G;break}}if(!(c[a+88>>2]|0)){if((m|0)>78)Z=(m<<3)+1120|0;else Z=(B(79-m|0,-60)|0)+1752|0;A=(Z|0)>0?Z:0;M=(g|0)==0?c[a+40>>2]|0:0;if(G){x=a+24|0;s=A>>>1;E=a+20|0;N=a+36|0;F=(m+500|0)/3|0;if(!M){K=V;L=0;while(1){J=c[x>>2]&1^1;c[x>>2]=J;if(!J)_=c[E>>2]|0;else{J=(Bo(A)|0)-s|0;C=J+(c[E>>2]|0)|0;c[E>>2]=C;_=C}C=c[N>>2]|0;J=(2048/(((C|0)<48?64:C+16|0)|0)|0)+48|0;C=(_|0)<6143?_:6143;c[E>>2]=(C|0)>-6143?C:-6143;b[d+(L<<1)>>1]=(B(B(_>>6,p)|0,(J|0)>64?J:64)|0)/2048|0;J=K+m&65535;L=L+1|0;if((L|0)==(e|0)){Q=U;R=J;S=G;break a}else K=J}}K=V;L=0;while(1){J=c[x>>2]&1^1;c[x>>2]=J;if(J|0){J=(Bo(A)|0)-s|0;c[E>>2]=J+(c[E>>2]|0)}if(((B(K+101|0,K+317|0)|0)&8191|0)<(F|0)){J=(B((Bo(12286)|0)+-6143|0,M)|0)/1792|0;C=J+(c[E>>2]|0)|0;c[E>>2]=C;$=C}else $=c[E>>2]|0;C=c[N>>2]|0;J=(2048/(((C|0)<48?64:C+16|0)|0)|0)+48|0;C=($|0)<6143?$:6143;c[E>>2]=(C|0)>-6143?C:-6143;b[d+(L<<1)>>1]=(B(B($>>6,p)|0,(J|0)>64?J:64)|0)/2048|0;J=K+m&65535;L=L+1|0;if((L|0)==(e|0)){Q=U;R=J;S=G;break}else K=J}}else{Q=U;R=V;S=0}}else{Q=U;R=V;S=G}}else{Q=U;R=V;S=G}}while(0);c[j>>2]=R;c[l>>2]=Q;Q=c[a+92>>2]|0;if((Q|0)<=0)return;a=(c[f+11536>>2]|0)-((Q|0)==1?2:4)|0;if((a|0)>-1)aa=a;else aa=8-((0-a|0)%8|0)|0;a=(aa|0)%8|0;if(!S)return;S=0;do{aa=d+(S<<1)|0;b[aa>>1]=((b[f+8606+(a*366|0)+(S<<1)>>1]<<1)+(b[aa>>1]<<2)|0)/4|0;S=S+1|0}while((S|0)!=(e|0));return}function Wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;d=a+8224|0;e=c[d>>2]|0;f=(e|0)==0;if(!f?(g=c[e+8>>2]|0,h=(g|0)>1?g:1,g=a+8228|0,i=c[g>>2]|0,j=(i|0)/(h|0)|0,k=i-(B(j,h)|0)|0,!(f|j>>>0>31)):0){f=(c[e+8>>2]|0)<9;l=e+20+(j*20|0)|0;m=c[e+20+(j*20|0)+4>>2]|0;c[b>>2]=m;n=c[e+20+(j*20|0)+8>>2]|0;o=n<<8;p=b+28|0;c[p>>2]=o;q=c[l>>2]|0;r=q<<16;s=b+32|0;c[s>>2]=r;c[b+60>>2]=q;c[b+64>>2]=m;c[b+56>>2]=n;n=e+20+(j*20|0)+12|0;t=c[n>>2]|0;switch(t|0){case 1:{if((j|0)>0){u=c[a+11648>>2]|0;v=c[a+11656>>2]<<8}else{u=24;v=o}w=h-k|0;x=((B(w<<16,u)|0)+(B(r,k)|0)|0)/(h|0)|0;c[s>>2]=x;u=((B(v,w)|0)+(B(o,k)|0)|0)/(h|0)|0;c[p>>2]=u;y=x;z=0;A=u;break}case 4:{u=(B(o,k)|0)/(h|0)|0;c[p>>2]=u;y=r;z=1;A=u;break}case 5:{u=(B(o,h-k|0)|0)/(h|0)|0;c[p>>2]=u;y=r;z=0;A=u;break}case 6:{u=c[e+20+(((((i|0)/((f?2:4)|0)|0|0)%4|0)+(j&28)|0)*20|0)>>2]<<16;c[s>>2]=u;y=u;z=0;A=o;break}case 7:{u=c[e+20+(((((i|0)/((f?4:8)|0)|0|0)%4|0)+(j&28)|0)*20|0)>>2]<<16;c[s>>2]=u;y=u;z=0;A=o;break}default:{y=r;z=0;A=o}}c[b+36>>2]=q;c[b+40>>2]=A;A=b+68|0;c[A>>2]=0;o=b+72|0;c[o>>2]=0;r=e+20+(j*20|0)+16|0;if(!(c[r>>2]|0)){c[a+11728>>2]=0;C=y}else{do if(!k){y=a+11728|0;u=c[a+8220>>2]|0;f=(m|0)<7?m:7;i=(f|0)>0?f:0;f=c[u+12+(i*660|0)+16>>2]|0;x=c[u+12+(i*660|0)+12>>2]|0;if((f|0)>(x|0))D=16777216;else{w=c[u+12+(i*660|0)+8>>2]|0;D=B((w|0)>1?w:1,(f|0)==0&(x|0)>0?x:32)|0}x=(t|0)==3;if((t|0)!=1&((j|0)==0?1:(q|0)!=(c[a+11648>>2]|0))|(c[y>>2]|0)>=(D|0)){if(!(z|x^1))E=19}else if(!(x|z))E=19;if((E|0)==19?(m|0)==(c[a+11652>>2]|0):0)break;c[y>>2]=0}while(0);Yp(a,l,b);C=c[s>>2]|0}l=c[a+8236>>2]|0;m=1<<l+4;if(!(m&c[742906]))F=C;else{z=C+-786432|0;c[s>>2]=z;F=z}z=F&65535;s=F>>16;C=((s+48|0)/12|0)+-4|0;if((F|0)>-1)G=s;else G=12-((0-s|0)%12|0)|0;s=(G|0)%12|0;G=B(c[28720+(s<<2)>>2]|0,65536-z|0)|0;D=((B(c[28720+(s+1<<2)>>2]|0,z)|0)+G|0)/22050|0;if((F|0)<2359296){F=D;G=C;while(1){z=G+1|0;s=(F|0)/2|0;if((G|0)<2){F=s;G=z}else{H=z;I=s;break}}}else{H=C;I=D}if((H|0)>3){D=I;C=H;while(1){H=D<<1;if((C|0)>4){D=H;C=C+-1|0}else{J=H;break}}}else J=I;I=(J|0)<32768?J:32768;J=(I|0)>8?I:8;I=b+8|0;c[I>>2]=J;C=c[n>>2]|0;n=c[A>>2]|0;A=(n|0)==2;a:do if((C|0)==2)if(A)switch((c[g>>2]|0)>>>1&7){case 1:{D=(J*130|0)>>>7;c[I>>2]=D;K=D;break a;break}case 2:{D=(J*132|0)>>>7;c[I>>2]=D;K=D;break a;break}case 3:{D=(J*130|0)>>>7;c[I>>2]=D;K=D;break a;break}case 5:{D=(J*126|0)>>>7;c[I>>2]=D;K=D;break a;break}case 6:{D=(J*124|0)>>>7;c[I>>2]=D;K=D;break a;break}case 7:{D=(J*126|0)>>>7;c[I>>2]=D;K=D;break a;break}default:{K=J;break a}}else E=43;else if(A)E=43;else{L=J;E=50}while(0);b:do if((E|0)==43)switch((c[g>>2]|0)>>>1&7){case 1:{A=(J*129|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 2:{A=(J*130|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 3:{A=(J*129|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 5:{A=(J*127|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 6:{A=(J*126|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 7:{A=(J*127|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}default:{L=J;E=50;break b}}while(0);if((E|0)==50){if((C|0)==3&(c[r>>2]|0)==0){r=(B(L,h-k|0)|0)/(h|0)|0;c[I>>2]=r;M=r}else M=L;if((n|0)==3){n=(B(c[b+76>>2]|0,M)|0)/256|0;c[I>>2]=n;K=n}else K=M}if(c[a+11544>>2]|0){M=(B(c[526436]>>8,c[p>>2]|0)|0)/256|0;c[p>>2]=(B(M,c[525854]|0)|0)/256|0}M=c[e>>2]|0;e=(M>>3|0)%3|0;n=M>>>2&1;I=c[o>>2]|0;o=(I>>3|0)%3|0;L=(e|0)>(o|0)?e:o;c[b+80>>2]=L;o=I>>>2&1;c[b+84>>2]=n>>>0>o>>>0?n:o;o=M>>>1&1;M=b+88|0;n=I>>>1&1;I=o>>>0>n>>>0?o:n;c[M>>2]=I;n=c[b>>2]|0;c:do if((n|0)!=6|(I|0)==0){o=(L|0)==0;e=b+16|0;c[e>>2]=(B(K,o?256:255)|0)/256|0;d:do switch(n|0){case 0:{switch(L|0){case 1:{c[e>>2]=(K*193|0)/256|0;break d;break}case 2:{c[e>>2]=(K*384|0)/256|0;break d;break}default:break d}break}case 7:{if(o){c[e>>2]=(K*254|0)/256|0;break c}switch(L|0){case 1:{c[e>>2]=(K*250|0)/256|0;break c;break}case 2:{c[e>>2]=(K*508|0)/256|0;break c;break}default:break c}break}default:{}}while(0);if(n>>>0<6&(L|0)>0)c[p>>2]=((c[p>>2]|0)*5|0)/4|0}else{e=a+11736|0;if((c[e>>2]|0)>11){c[M>>2]=2;c[e>>2]=0}c[b+16>>2]=(B(K,(L|0)==0?256:255)|0)/256|0}while(0);L=c[d>>2]|0;if(!L)N=0;else N=((c[L>>2]>>3|0)/3|0|0)%3|0;L=b+92|0;d=((c[a+11624>>2]>>3|0)/3|0|0)%3|0;a=(N|0)>(d|0)?N:d;c[L>>2]=a;d=c[742907]|0;if(!(d&m))O=a;else{m=(a|0)>1?a:1;c[L>>2]=m;O=m}if(!(d&1<<l))return;c[L>>2]=(O|0)>2?O:2;return}c[b+28>>2]=0;c[b>>2]=0;c[b+8>>2]=0;return}function Xp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0;d=c[b>>2]|0;e=d>>>0<64;if(e?(f=c[a+12+(d*660|0)+16>>2]|0,g=c[a+12+(d*660|0)+12>>2]|0,(f|0)<=(g|0)):0){h=d;i=f;j=g}else k=4;do if((k|0)==4){g=c[b+4>>2]|0;f=g>>>0<64;if(f?(l=c[a+12+(g*660|0)+16>>2]|0,m=c[a+12+(g*660|0)+12>>2]|0,(l|0)<=(m|0)):0){h=g;i=l;j=m;break}m=c[b+8>>2]|0;l=m>>>0<64;if(l?(n=c[a+12+(m*660|0)+16>>2]|0,o=c[a+12+(m*660|0)+12>>2]|0,(n|0)<=(o|0)):0){h=m;i=n;j=o;break}o=c[b+12>>2]|0;n=o>>>0<64;if(n?(p=c[a+12+(o*660|0)+16>>2]|0,q=c[a+12+(o*660|0)+12>>2]|0,(p|0)<=(q|0)):0){h=o;i=p;j=q;break}if(e){q=c[a+12+(d*660|0)+8>>2]|0;p=(q|0)>1?q:1;q=(c[a+12+(d*660|0)+16>>2]|0)==0;if(q?(r=c[a+12+(d*660|0)+12>>2]|0,(r|0)>0):0)s=r;else s=32;if((B(s,p)|0)>=0){if(q?(q=c[a+12+(d*660|0)+12>>2]|0,(q|0)>0):0)t=q;else t=32;u=B(t,p)|0}else u=0}else u=0;if(f){f=c[a+12+(g*660|0)+8>>2]|0;p=(f|0)>1?f:1;f=(c[a+12+(g*660|0)+16>>2]|0)==0;if(f?(q=c[a+12+(g*660|0)+12>>2]|0,(q|0)>0):0)v=q;else v=32;if((u|0)<=(B(v,p)|0)){if(f?(f=c[a+12+(g*660|0)+12>>2]|0,(f|0)>0):0)w=f;else w=32;x=B(w,p)|0}else x=u}else x=u;if(l){l=c[a+12+(m*660|0)+8>>2]|0;p=(l|0)>1?l:1;l=(c[a+12+(m*660|0)+16>>2]|0)==0;if(l?(f=c[a+12+(m*660|0)+12>>2]|0,(f|0)>0):0)y=f;else y=32;if((x|0)<=(B(y,p)|0)){if(l?(l=c[a+12+(m*660|0)+12>>2]|0,(l|0)>0):0)z=l;else z=32;A=B(z,p)|0}else A=x}else A=x;if(!n){C=A;return C|0}n=c[a+12+(o*660|0)+8>>2]|0;p=(n|0)>1?n:1;n=(c[a+12+(o*660|0)+16>>2]|0)==0;if(n?(l=c[a+12+(o*660|0)+12>>2]|0,(l|0)>0):0)D=l;else D=32;if((A|0)>(B(D,p)|0)){C=A;return C|0}if(n?(n=c[a+12+(o*660|0)+12>>2]|0,(n|0)>0):0)E=n;else E=32;C=B(E,p)|0;return C|0}while(0);E=c[a+12+(h*660|0)+8>>2]|0;C=B((i|0)==0&(j|0)>0?j:32,(E|0)>1?E:1)|0;return C|0}function Yp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[a+8220>>2]|0;if(!e)return;f=c[b+4>>2]|0;b=(f|0)<7?f:7;f=(b|0)>0?b:0;b=c[e+12+(f*660|0)+8>>2]|0;g=(b|0)>1?b:1;h=(b|0)<9;b=h?4:8;i=h?2:4;h=c[e+12+(f*660|0)+16>>2]|0;j=c[e+12+(f*660|0)+12>>2]|0;k=a+11728|0;l=c[k>>2]|0;if((h|0)<=(j|0)|(l|0)<(B(g,h)|0))m=l;else{l=B(j,g)|0;c[k>>2]=l;m=l}l=(m|0)/(g|0)|0;k=m-(B(l,g)|0)|0;if((l|0)<=31?(l|0)<(((h|0)==0&(j|0)>0?j:32)|0):0){j=(l|0)<31?l:31;h=(j|0)>0?j:0;j=e+12+(f*660|0)+20+(h*20|0)|0;n=c[j>>2]|0;o=n<<16;p=e+12+(f*660|0)+20+(h*20|0)+8|0;q=c[p>>2]|0;r=q<<8;if((k|0)==(g+-1|0)){c[a+11668>>2]=n;c[a+11676>>2]=q;c[a+11672>>2]=c[e+12+(f*660|0)+20+(h*20|0)+4>>2]}q=c[e+12+(f*660|0)+20+(h*20|0)+12>>2]|0;switch(q|0){case 1:{if((l|0)>0){s=c[a+11668>>2]<<16;t=c[a+11676>>2]<<8}else{s=1572864;t=r}a=g-k|0;u=((B(s,a)|0)+(B(k<<16,c[j>>2]|0)|0)|0)/(g|0)|0;v=((B(t,a)|0)+(B(r,k)|0)|0)/(g|0)|0;break}case 3:{c[d+76>>2]=(g-k<<8|0)/(g|0)|0;u=o;v=r;break}case 4:{u=o;v=(B(r,k)|0)/(g|0)|0;break}case 5:{u=o;v=(B(r,g-k|0)|0)/(g|0)|0;break}case 6:{u=c[e+12+(f*660|0)+20+(((((m|0)/(i|0)|0|0)%4|0)+(l&28)|0)*20|0)>>2]<<16;v=r;break}case 7:{u=c[e+12+(f*660|0)+20+(((((m|0)/(b|0)|0|0)%4|0)+(l&28)|0)*20|0)>>2]<<16;v=r;break}default:{u=o;v=r}}c[d>>2]=c[e+12+(f*660|0)+20+(h*20|0)+4>>2];h=d+32|0;c[h>>2]=u+-1572864+(c[h>>2]|0);h=d+36|0;c[h>>2]=(c[j>>2]|0)+-24+(c[h>>2]|0);h=c[p>>2]|0;c[d+40>>2]=(v*7|0)/(((h|0)>1?h:1)|0)|0;h=d+28|0;c[h>>2]=(B(c[h>>2]|0,v)|0)/1792|0;c[d+68>>2]=q;c[d+72>>2]=c[e+12+(f*660|0)>>2];return}c[d+28>>2]=0;c[d>>2]=0;return}function Zp(){Uq();return}function _p(){Vq();return}function $p(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Fa;Fa=Fa+16|0;e=d;Ep(1517392,0,8192);c[526438]=0;Ep(2631360,0,187904);c[e>>2]=c[525865];vs(1504976,64423,e)|0;Pm(1504976);if(c[525889]|0){f=0;Fa=d;return f|0}e=Sq(a,b)|0;if(e|0){f=e;Fa=d;return f|0}c[525582]=a;c[525583]=b;f=0;Fa=d;return f|0}function aq(){return Tq()|0}function bq(a){a=a|0;c[704817]=a;return}function cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Fp(40)|0;if(!d){e=0;return e|0}c[d>>2]=a;c[d+8>>2]=22050;c[d+4>>2]=b;c[d+12>>2]=1;c[d+28>>2]=0;c[d+32>>2]=256;f=Fp(B((b|0)/8|0,a)|0)|0;c[d+16>>2]=f;c[d+20>>2]=f;c[d+36>>2]=-1;c[525418]=(c[525418]|0)+1;e=d;return e|0}function dq(a){a=a|0;var b=0,d=0,e=0;if(!a)return;Uq();if(0){Uq();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=2631360+(d*11744|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[2631360+(d*11744|0)+11544>>2]=0;c[e>>2]=0;c[2631360+(d*11744|0)+8232>>2]=0;e=2631360+(d*11744|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}Vq()}Hp(c[a+16>>2]|0);Hp(a);c[525418]=(c[525418]|0)+-1;Vq();return}function eq(a){a=a|0;var b=0,d=0,e=0;if(!((a|0)!=0&0!=0))return;Uq();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=2631360+(d*11744|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[2631360+(d*11744|0)+11544>>2]=0;c[e>>2]=0;c[2631360+(d*11744|0)+8232>>2]=0;e=2631360+(d*11744|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}Vq();return}function fq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;Uq();g=(d|0)==0?-1:d;do if(!a){if((f|0)!=-1){c[2631360+(f*11744|0)+11544>>2]=0;c[2631360+(f*11744|0)+8208>>2]=0;c[2631360+(f*11744|0)+8232>>2]=0;d=2631360+(f*11744|0)+8220|0;c[d>>2]=0;c[d+4>>2]=0;break}d=(c[525872]|0)==0?16:4;h=0;do{c[2631360+(h*11744|0)+11544>>2]=0;c[2631360+(h*11744|0)+8208>>2]=0;c[2631360+(h*11744|0)+8232>>2]=0;i=2631360+(h*11744|0)+8220|0;c[i>>2]=0;c[i+4>>2]=0;h=h+1|0}while(h>>>0<d>>>0)}else{d=(f|0)==-1;do if(!(c[525872]|0))if(d)if(!((c[683380]|0)==0&(c[683384]|0)==0&(c[684214]|0)==0))if(!((c[686316]|0)==0&(c[686320]|0)==0&(c[687150]|0)==0))if(!((c[689252]|0)==0&(c[689256]|0)==0&(c[690086]|0)==0))if(!((c[692188]|0)==0&(c[692192]|0)==0&(c[693022]|0)==0))if(!((c[695124]|0)==0&(c[695128]|0)==0&(c[695958]|0)==0))if(!((c[698060]|0)==0&(c[698064]|0)==0&(c[698894]|0)==0))if(!((c[700996]|0)==0&(c[701e3]|0)==0&(c[701830]|0)==0))if((c[703932]|0)==0&(c[703936]|0)==0&(c[704766]|0)==0)j=15;else{h=c[683384]|0;if((h|0)!=0&(c[684214]|0)==0){k=c[h+8>>2]|0;l=8}else{k=256;l=-1}h=c[686320]|0;if((h|0)!=0&(c[687150]|0)==0){i=c[h+8>>2]|0;h=(l|0)==-1|(i|0)<(k|0);m=h?i:k;n=h?9:l}else{m=k;n=l}h=c[689256]|0;if((h|0)!=0&(c[690086]|0)==0){i=c[h+8>>2]|0;h=(n|0)==-1|(i|0)<(m|0);o=h?i:m;p=h?10:n}else{o=m;p=n}h=c[692192]|0;if((h|0)!=0&(c[693022]|0)==0){i=c[h+8>>2]|0;h=(p|0)==-1|(i|0)<(o|0);q=h?i:o;r=h?11:p}else{q=o;r=p}h=c[695128]|0;if((h|0)!=0&(c[695958]|0)==0){i=c[h+8>>2]|0;h=(r|0)==-1|(i|0)<(q|0);s=h?i:q;t=h?12:r}else{s=q;t=r}h=c[698064]|0;if((h|0)!=0&(c[698894]|0)==0){i=c[h+8>>2]|0;h=(t|0)==-1|(i|0)<(s|0);u=h?i:s;v=h?13:t}else{u=s;v=t}h=c[701e3]|0;if((h|0)!=0&(c[701830]|0)==0){i=c[h+8>>2]|0;h=(v|0)==-1|(i|0)<(u|0);w=h?i:u;x=h?14:v}else{w=u;x=v}h=c[703936]|0;if(!((h|0)!=0&(c[704766]|0)==0)){y=x;z=25;break}if((x|0)!=-1?(c[h+8>>2]|0)>=(w|0):0){j=x;break}j=15}else j=14;else j=13;else j=12;else j=11;else j=10;else j=9;else j=8;else{y=f;z=25}else if(d){h=(c[659892]|0)==0;if(!(h&(c[659896]|0)==0&(c[660726]|0)==0&(c[671636]|0)==0&(c[671640]|0)==0&(c[672470]|0)==0)){i=(c[662828]|0)==0;if(!(i&(c[662832]|0)==0&(c[663662]|0)==0&(c[674572]|0)==0&(c[674576]|0)==0&(c[675406]|0)==0)){A=(c[665764]|0)==0;if(!(A&(c[665768]|0)==0&(c[666598]|0)==0&(c[677508]|0)==0&(c[677512]|0)==0&(c[678342]|0)==0)){C=(c[668700]|0)==0;if(!(C&(c[668704]|0)==0&(c[669534]|0)==0&(c[680444]|0)==0&(c[680448]|0)==0&(c[681278]|0)==0)){D=c[742905]|0;if(!(h&(c[659896]|0)==0&(c[660726]|0)==0&(c[671636]|0)==0&(c[671640]|0)==0&(D&1|0)==0))if(!(i&(c[662832]|0)==0&(c[663662]|0)==0&(c[674572]|0)==0&(c[674576]|0)==0&(D&2|0)==0))if(!(A&(c[665768]|0)==0&(c[666598]|0)==0&(c[677508]|0)==0&(c[677512]|0)==0&(D&4|0)==0))if(!(C&(c[668704]|0)==0&(c[669534]|0)==0&(c[680444]|0)==0&(c[680448]|0)==0&(D&8|0)==0))if(!((c[660726]|D&1|0)==0&(h&(c[659896]|0)==0)))if(!((c[663662]|D&2|0)==0&(i&(c[662832]|0)==0)))if(!((c[666598]|D&4|0)==0&(A&(c[665768]|0)==0)))if((c[669534]|D&8|0)==0&(C&(c[668704]|0)==0))j=3;else{if((D&1|0)!=0?!((c[671636]|0)==0&(c[671640]|0)==0&(c[672470]|0)==0):0){E=256;F=-1}else{C=c[659896]|0;if(!C){E=256;F=-1}else{E=c[C+8>>2]|0;F=0}}if((D&2|0)!=0?!((c[674572]|0)==0&(c[674576]|0)==0&(c[675406]|0)==0):0){G=E;H=F}else z=51;do if((z|0)==51){C=c[662832]|0;if(!C){G=E;H=F;break}A=(F|0)!=-1;i=c[C+8>>2]|0;C=(i|0)>(E|0);G=A&C?E:i;H=(A&C^1)&1}while(0);if((D&4|0)!=0?!((c[677508]|0)==0&(c[677512]|0)==0&(c[678342]|0)==0):0){I=G;J=H}else z=55;do if((z|0)==55){C=c[665768]|0;if(!C){I=G;J=H;break}A=c[C+8>>2]|0;C=(H|0)!=-1&(A|0)>(G|0);I=C?G:A;J=C?H:2}while(0);if(D&8|0?!((c[680444]|0)==0&(c[680448]|0)==0&(c[681278]|0)==0):0){y=J;z=25;break}C=c[668704]|0;if(!C){y=J;z=25;break}if((J|0)!=-1?(c[C+8>>2]|0)>(I|0):0){j=J;break}j=3}else j=2;else j=1;else j=0;else j=3;else j=2;else j=1;else j=0}else j=3}else j=2}else j=1}else j=0}else{y=f;z=25}while(0);if((z|0)==25)if(y>>>0>15)break;else j=y;d=c[a+8>>2]|0;C=(d|0)>1?d:1;c[2631360+(j*11744|0)+8224>>2]=a;c[2631360+(j*11744|0)+8236>>2]=j&3;c[2631360+(j*11744|0)+8228>>2]=B(C,b)|0;c[2631360+(j*11744|0)+11740>>2]=B(C,g)|0;c[2631360+(j*11744|0)+8220>>2]=e;c[2631360+(j*11744|0)+11544>>2]=0;c[2631360+(j*11744|0)+8232>>2]=1;Vq();K=j;return K|0}while(0);Vq();K=-1;return K|0}function gq(a,b){a=a|0;b=b|0;var d=0,e=0;hq(a);d=c[a+16>>2]|0;e=c[a+12>>2]|0;fq(a,0,(d|0)>(e|0)?-1:(d|0)==0&(e|0)>0?e:32,b,-1)|0;return}function hq(a){a=a|0;var b=0;Uq();if(!a){if(!(c[660726]|0)){c[660726]=0;c[659892]=0;c[659898]=0;b=2639580;c[b>>2]=0;c[b+4>>2]=0}if(!(c[663662]|0)){c[663662]=0;c[662828]=0;c[662834]=0;b=2651324;c[b>>2]=0;c[b+4>>2]=0}if(!(c[666598]|0)){c[666598]=0;c[665764]=0;c[665770]=0;b=2663068;c[b>>2]=0;c[b+4>>2]=0}if(!(c[669534]|0)){c[669534]=0;c[668700]=0;c[668706]=0;b=2674812;c[b>>2]=0;c[b+4>>2]=0}if(!(c[672470]|0)){c[672470]=0;c[671636]=0;c[671642]=0;b=2686556;c[b>>2]=0;c[b+4>>2]=0}if(!(c[675406]|0)){c[675406]=0;c[674572]=0;c[674578]=0;b=2698300;c[b>>2]=0;c[b+4>>2]=0}if(!(c[678342]|0)){c[678342]=0;c[677508]=0;c[677514]=0;b=2710044;c[b>>2]=0;c[b+4>>2]=0}if(!(c[681278]|0)){c[681278]=0;c[680444]=0;c[680450]=0;b=2721788;c[b>>2]=0;c[b+4>>2]=0}if(!(c[684214]|0)){c[684214]=0;c[683380]=0;c[683386]=0;b=2733532;c[b>>2]=0;c[b+4>>2]=0}if(!(c[687150]|0)){c[687150]=0;c[686316]=0;c[686322]=0;b=2745276;c[b>>2]=0;c[b+4>>2]=0}if(!(c[690086]|0)){c[690086]=0;c[689252]=0;c[689258]=0;b=2757020;c[b>>2]=0;c[b+4>>2]=0}if(!(c[693022]|0)){c[693022]=0;c[692188]=0;c[692194]=0;b=2768764;c[b>>2]=0;c[b+4>>2]=0}if(!(c[695958]|0)){c[695958]=0;c[695124]=0;c[695130]=0;b=2780508;c[b>>2]=0;c[b+4>>2]=0}if(!(c[698894]|0)){c[698894]=0;c[698060]=0;c[698066]=0;b=2792252;c[b>>2]=0;c[b+4>>2]=0}if(!(c[701830]|0)){c[701830]=0;c[700996]=0;c[701002]=0;b=2803996;c[b>>2]=0;c[b+4>>2]=0}if(c[704766]|0){Vq();return}c[704766]=0;c[703932]=0;c[703938]=0;b=2815740;c[b>>2]=0;c[b+4>>2]=0;Vq();return}else{if((c[659896]|0)==(a|0)){c[660726]=0;c[659892]=0;c[659898]=0;b=2639580;c[b>>2]=0;c[b+4>>2]=0}if((c[662832]|0)==(a|0)){c[663662]=0;c[662828]=0;c[662834]=0;b=2651324;c[b>>2]=0;c[b+4>>2]=0}if((c[665768]|0)==(a|0)){c[666598]=0;c[665764]=0;c[665770]=0;b=2663068;c[b>>2]=0;c[b+4>>2]=0}if((c[668704]|0)==(a|0)){c[669534]=0;c[668700]=0;c[668706]=0;b=2674812;c[b>>2]=0;c[b+4>>2]=0}if((c[671640]|0)==(a|0)){c[672470]=0;c[671636]=0;c[671642]=0;b=2686556;c[b>>2]=0;c[b+4>>2]=0}if((c[674576]|0)==(a|0)){c[675406]=0;c[674572]=0;c[674578]=0;b=2698300;c[b>>2]=0;c[b+4>>2]=0}if((c[677512]|0)==(a|0)){c[678342]=0;c[677508]=0;c[677514]=0;b=2710044;c[b>>2]=0;c[b+4>>2]=0}if((c[680448]|0)==(a|0)){c[681278]=0;c[680444]=0;c[680450]=0;b=2721788;c[b>>2]=0;c[b+4>>2]=0}if((c[683384]|0)==(a|0)){c[684214]=0;c[683380]=0;c[683386]=0;b=2733532;c[b>>2]=0;c[b+4>>2]=0}if((c[686320]|0)==(a|0)){c[687150]=0;c[686316]=0;c[686322]=0;b=2745276;c[b>>2]=0;c[b+4>>2]=0}if((c[689256]|0)==(a|0)){c[690086]=0;c[689252]=0;c[689258]=0;b=2757020;c[b>>2]=0;c[b+4>>2]=0}if((c[692192]|0)==(a|0)){c[693022]=0;c[692188]=0;c[692194]=0;b=2768764;c[b>>2]=0;c[b+4>>2]=0}if((c[695128]|0)==(a|0)){c[695958]=0;c[695124]=0;c[695130]=0;b=2780508;c[b>>2]=0;c[b+4>>2]=0}if((c[698064]|0)==(a|0)){c[698894]=0;c[698060]=0;c[698066]=0;b=2792252;c[b>>2]=0;c[b+4>>2]=0}if((c[701e3]|0)==(a|0)){c[701830]=0;c[700996]=0;c[701002]=0;b=2803996;c[b>>2]=0;c[b+4>>2]=0}if((c[703936]|0)!=(a|0)){Vq();return}c[704766]=0;c[703932]=0;c[703938]=0;a=2815740;c[a>>2]=0;c[a+4>>2]=0;Vq();return}}function iq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;Uq();b=(c[660726]|0)==0;do if(!a)if(b|(c[659895]|0)==0)if((c[663662]|0)==0|(c[662831]|0)==0)if((c[666598]|0)==0|(c[665767]|0)==0)if((c[669534]|0)==0|(c[668703]|0)==0)if((c[672470]|0)==0|(c[671639]|0)==0)if((c[675406]|0)==0|(c[674575]|0)==0)if((c[678342]|0)==0|(c[677511]|0)==0)if((c[681278]|0)==0|(c[680447]|0)==0)if((c[684214]|0)==0|(c[683383]|0)==0)if((c[687150]|0)==0|(c[686319]|0)==0)if((c[690086]|0)==0|(c[689255]|0)==0)if((c[693022]|0)==0|(c[692191]|0)==0)if((c[695958]|0)==0|(c[695127]|0)==0)if((c[698894]|0)==0|(c[698063]|0)==0)if((c[701830]|0)==0|(c[700999]|0)==0)if((c[704766]|0)==0|(c[703935]|0)==0)d=8;else{e=15;d=6}else{e=14;d=6}else{e=13;d=6}else{e=12;d=6}else{e=11;d=6}else{e=10;d=6}else{e=9;d=6}else{e=8;d=6}else{e=7;d=6}else{e=6;d=6}else{e=5;d=6}else{e=4;d=6}else{e=3;d=6}else{e=2;d=6}else{e=1;d=6}else{e=0;d=6}else{if(!b?(f=c[659895]|0,(f|0)!=0&(f|0)==(a|0)):0){e=0;d=6;break}if(c[663662]|0?(f=c[662831]|0,(f|0)!=0&(f|0)==(a|0)):0){e=1;d=6;break}if(c[666598]|0?(f=c[665767]|0,(f|0)!=0&(f|0)==(a|0)):0){e=2;d=6;break}if(c[669534]|0?(f=c[668703]|0,(f|0)!=0&(f|0)==(a|0)):0){e=3;d=6;break}if(c[672470]|0?(f=c[671639]|0,(f|0)!=0&(f|0)==(a|0)):0){e=4;d=6;break}if(c[675406]|0?(f=c[674575]|0,(f|0)!=0&(f|0)==(a|0)):0){e=5;d=6;break}if(c[678342]|0?(f=c[677511]|0,(f|0)!=0&(f|0)==(a|0)):0){e=6;d=6;break}if(c[681278]|0?(f=c[680447]|0,(f|0)!=0&(f|0)==(a|0)):0){e=7;d=6;break}if(c[684214]|0?(f=c[683383]|0,(f|0)!=0&(f|0)==(a|0)):0){e=8;d=6;break}if(c[687150]|0?(f=c[686319]|0,(f|0)!=0&(f|0)==(a|0)):0){e=9;d=6;break}if(c[690086]|0?(f=c[689255]|0,(f|0)!=0&(f|0)==(a|0)):0){e=10;d=6;break}if(c[693022]|0?(f=c[692191]|0,(f|0)!=0&(f|0)==(a|0)):0){e=11;d=6;break}if(c[695958]|0?(f=c[695127]|0,(f|0)!=0&(f|0)==(a|0)):0){e=12;d=6;break}if(c[698894]|0?(f=c[698063]|0,(f|0)!=0&(f|0)==(a|0)):0){e=13;d=6;break}if(c[701830]|0?(f=c[700999]|0,(f|0)!=0&(f|0)==(a|0)):0){e=14;d=6;break}if((c[704766]|0)!=0?(f=c[703935]|0,(f|0)!=0&(f|0)==(a|0)):0){e=15;d=6}else d=8}while(0);if((d|0)==6){Vq();g=c[2631360+(e*11744|0)+11548>>2]|0;return g|0}else if((d|0)==8){Vq();g=-1;return g|0}return 0}function jq(a){a=a|0;var b=0,d=0,e=0;Uq();if((c[659896]|0)!=(a|0))if((c[662832]|0)!=(a|0))if((c[665768]|0)!=(a|0))if((c[668704]|0)!=(a|0))if((c[671640]|0)!=(a|0))if((c[674576]|0)!=(a|0))if((c[677512]|0)!=(a|0))if((c[680448]|0)!=(a|0))if((c[683384]|0)!=(a|0))if((c[686320]|0)!=(a|0))if((c[689256]|0)!=(a|0))if((c[692192]|0)!=(a|0))if((c[695128]|0)!=(a|0))if((c[698064]|0)!=(a|0))if((c[701e3]|0)!=(a|0))if((c[703936]|0)==(a|0))b=15;else{Vq();d=-1;return d|0}else b=14;else b=13;else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;Vq();e=c[a+8>>2]|0;d=(c[2631360+(b*11744|0)+8228>>2]|0)/(((e|0)>1?e:1)|0)|0;return d|0}function kq(a){a=a|0;var b=0;Uq();b=c[2631360+(a*11744|0)+8224>>2]|0;Vq();return b|0}function lq(a){a=a|0;if(a>>>0>15)return;Uq();c[2631360+(a*11744|0)+8232>>2]=0;Vq();return}function mq(a){a=a|0;var b=0,d=0;Uq();b=(c[660726]|0)==0;if(!a){if(!b){c[660726]=0;c[659892]=0;c[659898]=0;d=2639580;c[d>>2]=0;c[d+4>>2]=0}if(c[663662]|0){c[663662]=0;c[662828]=0;c[662834]=0;d=2651324;c[d>>2]=0;c[d+4>>2]=0}if(c[666598]|0){c[666598]=0;c[665764]=0;c[665770]=0;d=2663068;c[d>>2]=0;c[d+4>>2]=0}if(c[669534]|0){c[669534]=0;c[668700]=0;c[668706]=0;d=2674812;c[d>>2]=0;c[d+4>>2]=0}if(c[672470]|0){c[672470]=0;c[671636]=0;c[671642]=0;d=2686556;c[d>>2]=0;c[d+4>>2]=0}if(c[675406]|0){c[675406]=0;c[674572]=0;c[674578]=0;d=2698300;c[d>>2]=0;c[d+4>>2]=0}if(c[678342]|0){c[678342]=0;c[677508]=0;c[677514]=0;d=2710044;c[d>>2]=0;c[d+4>>2]=0}if(c[681278]|0){c[681278]=0;c[680444]=0;c[680450]=0;d=2721788;c[d>>2]=0;c[d+4>>2]=0}if(c[684214]|0){c[684214]=0;c[683380]=0;c[683386]=0;d=2733532;c[d>>2]=0;c[d+4>>2]=0}if(c[687150]|0){c[687150]=0;c[686316]=0;c[686322]=0;d=2745276;c[d>>2]=0;c[d+4>>2]=0}if(c[690086]|0){c[690086]=0;c[689252]=0;c[689258]=0;d=2757020;c[d>>2]=0;c[d+4>>2]=0}if(c[693022]|0){c[693022]=0;c[692188]=0;c[692194]=0;d=2768764;c[d>>2]=0;c[d+4>>2]=0}if(c[695958]|0){c[695958]=0;c[695124]=0;c[695130]=0;d=2780508;c[d>>2]=0;c[d+4>>2]=0}if(c[698894]|0){c[698894]=0;c[698060]=0;c[698066]=0;d=2792252;c[d>>2]=0;c[d+4>>2]=0}if(c[701830]|0){c[701830]=0;c[700996]=0;c[701002]=0;d=2803996;c[d>>2]=0;c[d+4>>2]=0}if(!(c[704766]|0)){Vq();return}c[704766]=0;c[703932]=0;c[703938]=0;d=2815740;c[d>>2]=0;c[d+4>>2]=0;Vq();return}if(!b?(b=c[659895]|0,(b|0)!=0&(b|0)==(a|0)):0){c[660726]=0;c[659892]=0;c[659898]=0;b=2639580;c[b>>2]=0;c[b+4>>2]=0}if(c[663662]|0?(b=c[662831]|0,(b|0)!=0&(b|0)==(a|0)):0){c[663662]=0;c[662828]=0;c[662834]=0;b=2651324;c[b>>2]=0;c[b+4>>2]=0}if(c[666598]|0?(b=c[665767]|0,(b|0)!=0&(b|0)==(a|0)):0){c[666598]=0;c[665764]=0;c[665770]=0;b=2663068;c[b>>2]=0;c[b+4>>2]=0}if(c[669534]|0?(b=c[668703]|0,(b|0)!=0&(b|0)==(a|0)):0){c[669534]=0;c[668700]=0;c[668706]=0;b=2674812;c[b>>2]=0;c[b+4>>2]=0}if(c[672470]|0?(b=c[671639]|0,(b|0)!=0&(b|0)==(a|0)):0){c[672470]=0;c[671636]=0;c[671642]=0;b=2686556;c[b>>2]=0;c[b+4>>2]=0}if(c[675406]|0?(b=c[674575]|0,(b|0)!=0&(b|0)==(a|0)):0){c[675406]=0;c[674572]=0;c[674578]=0;b=2698300;c[b>>2]=0;c[b+4>>2]=0}if(c[678342]|0?(b=c[677511]|0,(b|0)!=0&(b|0)==(a|0)):0){c[678342]=0;c[677508]=0;c[677514]=0;b=2710044;c[b>>2]=0;c[b+4>>2]=0}if(c[681278]|0?(b=c[680447]|0,(b|0)!=0&(b|0)==(a|0)):0){c[681278]=0;c[680444]=0;c[680450]=0;b=2721788;c[b>>2]=0;c[b+4>>2]=0}if(c[684214]|0?(b=c[683383]|0,(b|0)!=0&(b|0)==(a|0)):0){c[684214]=0;c[683380]=0;c[683386]=0;b=2733532;c[b>>2]=0;c[b+4>>2]=0}if(c[687150]|0?(b=c[686319]|0,(b|0)!=0&(b|0)==(a|0)):0){c[687150]=0;c[686316]=0;c[686322]=0;b=2745276;c[b>>2]=0;c[b+4>>2]=0}if(c[690086]|0?(b=c[689255]|0,(b|0)!=0&(b|0)==(a|0)):0){c[690086]=0;c[689252]=0;c[689258]=0;b=2757020;c[b>>2]=0;c[b+4>>2]=0}if(c[693022]|0?(b=c[692191]|0,(b|0)!=0&(b|0)==(a|0)):0){c[693022]=0;c[692188]=0;c[692194]=0;b=2768764;c[b>>2]=0;c[b+4>>2]=0}if(c[695958]|0?(b=c[695127]|0,(b|0)!=0&(b|0)==(a|0)):0){c[695958]=0;c[695124]=0;c[695130]=0;b=2780508;c[b>>2]=0;c[b+4>>2]=0}if(c[698894]|0?(b=c[698063]|0,(b|0)!=0&(b|0)==(a|0)):0){c[698894]=0;c[698060]=0;c[698066]=0;b=2792252;c[b>>2]=0;c[b+4>>2]=0}if(c[701830]|0?(b=c[700999]|0,(b|0)!=0&(b|0)==(a|0)):0){c[701830]=0;c[700996]=0;c[701002]=0;b=2803996;c[b>>2]=0;c[b+4>>2]=0}if(!(c[704766]|0)){Vq();return}b=c[703935]|0;if(!((b|0)!=0&(b|0)==(a|0))){Vq();return}c[704766]=0;c[703932]=0;c[703938]=0;a=2815740;c[a>>2]=0;c[a+4>>2]=0;Vq();return}function nq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;Uq();mq(a);if(!((a|0)!=0&b>>>0<64)){Vq();return}e=a+42252+(b<<4)|0;if(!(Xp(a,e)|0)){Vq();return}c[525577]=0;c[525578]=b;f=c[e>>2]|0;g=(f|0)<63?f:63;f=fq(a+12+(((g|0)>0?g:0)*660|0)|0,0,32,a,4)|0;if((f|0)!=-1){if((c[e>>2]|0)>63)c[2631360+(f*11744|0)+8224>>2]=0;c[2631360+(f*11744|0)+11544>>2]=1;c[2631360+(f*11744|0)+8220>>2]=a;c[2631360+(f*11744|0)+11548>>2]=b;c[2631360+(f*11744|0)+8236>>2]=0;c[2631360+(f*11744|0)+11740>>2]=Xp(a,e)|0}f=a+42252+(b<<4)+4|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=fq(a+12+(((h|0)>0?h:0)*660|0)|0,0,32,a,5)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[2631360+(g*11744|0)+8224>>2]=0;c[2631360+(g*11744|0)+11544>>2]=1;c[2631360+(g*11744|0)+8220>>2]=a;c[2631360+(g*11744|0)+11548>>2]=b;c[2631360+(g*11744|0)+8236>>2]=1;c[2631360+(g*11744|0)+11740>>2]=Xp(a,e)|0}g=a+42252+(b<<4)+8|0;f=c[g>>2]|0;h=(f|0)<63?f:63;f=fq(a+12+(((h|0)>0?h:0)*660|0)|0,0,32,a,6)|0;if((f|0)!=-1){if((c[g>>2]|0)>63)c[2631360+(f*11744|0)+8224>>2]=0;c[2631360+(f*11744|0)+11544>>2]=1;c[2631360+(f*11744|0)+8220>>2]=a;c[2631360+(f*11744|0)+11548>>2]=b;c[2631360+(f*11744|0)+8236>>2]=2;c[2631360+(f*11744|0)+11740>>2]=Xp(a,e)|0}f=a+42252+(b<<4)+12|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=fq(a+12+(((h|0)>0?h:0)*660|0)|0,0,32,a,7)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[2631360+(g*11744|0)+8224>>2]=0;c[2631360+(g*11744|0)+11544>>2]=1;c[2631360+(g*11744|0)+8220>>2]=a;c[2631360+(g*11744|0)+11548>>2]=b;c[2631360+(g*11744|0)+8236>>2]=3;c[2631360+(g*11744|0)+11740>>2]=Xp(a,e)|0}c[526433]=d;c[526432]=_q()|0;c[526434]=0;c[526435]=65536;oq();Vq();return}function oq(){var a=0,b=0,d=0,e=0;a=c[526436]|0;b=c[526435]|0;if((a|0)==(b|0)){if(a|0)return;c[657839]=0;mq(0);return}if(!(c[526433]|0)){c[526436]=b;if(b|0)return;c[657839]=0;mq(0);return}b=_q()|0;a=b-(c[526432]|0)|0;b=c[526433]|0;if((b|0)>(a|0)){d=B(c[526434]|0,b-a|0)|0;e=((B(c[526435]|0,a)|0)+d|0)/(b|0)|0;b=(e|0)<65536?e:65536;c[526436]=(b|0)>0?b:0;return}b=c[526435]|0;c[526436]=b;if(b|0)return;c[657839]=0;mq(0);return}function pq(a){a=a|0;return c[a+16>>2]|0}function qq(a){a=a|0;return}function rq(a,b){a=a|0;b=b|0;if(!a)return;c[a+8>>2]=b;return}function sq(a){a=a|0;if(!0)return;c[525853]=a;return}function tq(a,b){a=a|0;b=b|0;c[526434]=c[526436];c[526435]=0;c[526432]=_q()|0;c[526433]=b;oq();return}function uq(a){a=a|0;c[525854]=a;return}function vq(){var a=0;if((iq(0)|0)!=-1){a=1;return a|0}if(0==0|(c[526438]|0)==0){a=0;return a|0}if(!(c[526436]|c[526435])){a=0;return a|0}a=(c[657839]|0)!=0&1;return a|0}function wq(){var a=0;c[660726]=0;c[659892]=0;c[659898]=0;a=2639580;c[a>>2]=0;c[a+4>>2]=0;c[663662]=0;c[662828]=0;c[662834]=0;a=2651324;c[a>>2]=0;c[a+4>>2]=0;c[666598]=0;c[665764]=0;c[665770]=0;a=2663068;c[a>>2]=0;c[a+4>>2]=0;c[669534]=0;c[668700]=0;c[668706]=0;a=2674812;c[a>>2]=0;c[a+4>>2]=0;c[672470]=0;c[671636]=0;c[671642]=0;a=2686556;c[a>>2]=0;c[a+4>>2]=0;c[675406]=0;c[674572]=0;c[674578]=0;a=2698300;c[a>>2]=0;c[a+4>>2]=0;c[678342]=0;c[677508]=0;c[677514]=0;a=2710044;c[a>>2]=0;c[a+4>>2]=0;c[681278]=0;c[680444]=0;c[680450]=0;a=2721788;c[a>>2]=0;c[a+4>>2]=0;c[684214]=0;c[683380]=0;c[683386]=0;a=2733532;c[a>>2]=0;c[a+4>>2]=0;c[687150]=0;c[686316]=0;c[686322]=0;a=2745276;c[a>>2]=0;c[a+4>>2]=0;c[690086]=0;c[689252]=0;c[689258]=0;a=2757020;c[a>>2]=0;c[a+4>>2]=0;c[693022]=0;c[692188]=0;c[692194]=0;a=2768764;c[a>>2]=0;c[a+4>>2]=0;c[695958]=0;c[695124]=0;c[695130]=0;a=2780508;c[a>>2]=0;c[a+4>>2]=0;c[698894]=0;c[698060]=0;c[698066]=0;a=2792252;c[a>>2]=0;c[a+4>>2]=0;c[701830]=0;c[700996]=0;c[701002]=0;a=2803996;c[a>>2]=0;c[a+4>>2]=0;c[704766]=0;c[703932]=0;c[703938]=0;a=2815740;c[a>>2]=0;c[a+4>>2]=0;return}function xq(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[659896]|0)==0|(c[660726]|0)==0)a=0;else{b=c[659897]|0;a=(b|0)>0?b:0}if((c[662832]|0)==0|(c[663662]|0)==0)d=a;else{b=c[662833]|0;d=(a|0)>(b|0)?a:b}if((c[665768]|0)==0|(c[666598]|0)==0)e=d;else{b=c[665769]|0;e=(d|0)>(b|0)?d:b}if((c[668704]|0)==0|(c[669534]|0)==0)f=e;else{b=c[668705]|0;f=(e|0)>(b|0)?e:b}if((c[671640]|0)==0|(c[672470]|0)==0)g=f;else{b=c[671641]|0;g=(f|0)>(b|0)?f:b}if((c[674576]|0)==0|(c[675406]|0)==0)h=g;else{b=c[674577]|0;h=(g|0)>(b|0)?g:b}if((c[677512]|0)==0|(c[678342]|0)==0)i=h;else{b=c[677513]|0;i=(h|0)>(b|0)?h:b}if((c[680448]|0)==0|(c[681278]|0)==0)j=i;else{b=c[680449]|0;j=(i|0)>(b|0)?i:b}if((c[683384]|0)==0|(c[684214]|0)==0)k=j;else{b=c[683385]|0;k=(j|0)>(b|0)?j:b}if((c[686320]|0)==0|(c[687150]|0)==0)l=k;else{b=c[686321]|0;l=(k|0)>(b|0)?k:b}if((c[689256]|0)==0|(c[690086]|0)==0)m=l;else{b=c[689257]|0;m=(l|0)>(b|0)?l:b}if((c[692192]|0)==0|(c[693022]|0)==0)n=m;else{b=c[692193]|0;n=(m|0)>(b|0)?m:b}if((c[695128]|0)==0|(c[695958]|0)==0)o=n;else{b=c[695129]|0;o=(n|0)>(b|0)?n:b}if((c[698064]|0)==0|(c[698894]|0)==0)p=o;else{b=c[698065]|0;p=(o|0)>(b|0)?o:b}if((c[701e3]|0)==0|(c[701830]|0)==0)q=p;else{b=c[701001]|0;q=(p|0)>(b|0)?p:b}if((c[703936]|0)==0|(c[704766]|0)==0){r=q;return r|0}b=c[703937]|0;r=(q|0)>(b|0)?q:b;return r|0}function yq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=Fa;Fa=Fa+48|0;g=f+32|0;h=f+24|0;i=f+16|0;j=f;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;vs(1504976,64460,j)|0;Pm(1504976);if((a|0)==0|(b|0)==0){c[i>>2]=0;c[i+4>>2]=0;vs(1504976,64489,i)|0;Pm(1504976);k=0;l=0}else{k=a;l=b}if((c[525575]|0)==1){b=c[525850]|0;a=c[525851]|0;if((b|0)<32|(a|0)<32){c[525850]=640;c[525851]=540;m=640;n=540}else{m=b;n=a}c[h>>2]=m;c[h+4>>2]=n;vs(1504976,64527,h)|0;Pm(1504976);o=m;p=n}else{c[525850]=k;c[525851]=l;o=k;p=l}if(!(e&256)){if(e&4|0)c[8790]=0;if(e&8|0)c[8790]=1}else if(c[525852]|0)c[8790]=0;n=((l|0)==0|(k|0)==0)&((p|0)==0|(o|0)==0);m=n?216:p;p=n?384:o;o=n?384:k;k=n?216:l;l=c[704835]|0;do if(!l)q=20;else{if(((c[l>>2]|0)==(o|0)?(c[l+4>>2]|0)==(k|0):0)?(c[l+8>>2]|0)==(d|0):0)break;dn(l)|0;c[704835]=0;q=20}while(0);if((q|0)==20)c[704835]=cn(o,k,d)|0;if((c[525889]|c[525890]|0)==0?(q=Yq(p,m,o,k,d,e)|0,q|0):0){r=q;Fa=f;return r|0}c[704818]=p;c[704819]=m;c[704820]=d;c[704825]=0;c[704827]=0;c[704826]=p;c[704828]=m;c[g>>2]=0;c[g+4>>2]=0;vs(1504976,64548,g)|0;Pm(1504976);Pm(64570);r=0;Fa=f;return r|0}function zq(a){a=a|0;var b=0;b=c[704831]|0;if((b|0)==(a|0))return;Xu(b|0,a|0,768)|0;return}function Aq(){var b=0,d=0,e=0;if(c[704833]|0){b=0;return b|0}c[704833]=1;c[704831]=Wm()|0;c[704832]=Wm()|0;d=0;do{e=d&255;a[(c[704831]|0)+(d*3|0)>>0]=e;a[(c[704831]|0)+(d*3|0)+1>>0]=e;a[(c[704831]|0)+(d*3|0)+2>>0]=e;d=d+1|0}while((d|0)!=256);if(c[525889]|0){b=0;return b|0}b=Wq()|0;return b|0}function Bq(){var a=0,b=0;if(!(c[704833]|0)){a=0;return a|0}c[704833]=0;b=c[704835]|0;if(b|0)dn(b)|0;b=c[526412]|0;if(b|0)dn(b)|0;c[526412]=0;c[704835]=0;Xm(c[704831]|0);Xm(c[704832]|0);if(c[525889]|0){a=0;return a|0}a=Xq()|0;return a|0}function Cq(){var a=0;if(c[525890]|c[525889]|0)return;c[8790]=(c[8790]|0)==0&1;a=c[704835]|0;Yq(c[525850]|0,c[525851]|0,c[a>>2]|0,c[a+4>>2]|0,c[704820]|0,0)|0;return}function Dq(){c[704834]=_q()|0;return}function Eq(){var a=0,b=0;a=_q()|0;b=a-(c[704834]|0)|0;c[704834]=_q()|0;a=(b|0)<1e3?b:1e3;c[8791]=(1e3/(((a|0)>1?a:1)>>>0)|0)<<16;return}function Fq(){var a=0;a=c[704835]|0;if(!a)return;Oo(a,2819272,0,0,0,0,c[704818]|0,c[704819]|0);return}function Gq(){return c[8791]>>16|0}function Hq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;Lm(e,b)|0;g=e+548|0;if((a[d>>0]|0)==42){Lm(g,d+1|0)|0;h=ft(g)|0}else{a[g>>0]=0;h=0}c[e+804>>2]=h;c[e+812>>2]=st(b)|0;c[e+808>>2]=f;return Iq(e)|0}function Iq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=Fa;Fa=Fa+608|0;d=b+512|0;e=b+520|0;f=b;g=a+812|0;h=c[g>>2]|0;if(!h){i=1;Fa=b;return i|0}j=vt(h)|0;h=a+808|0;if(!j){i=1;Fa=b;return i|0}k=a+256|0;l=a+520|0;m=e+56|0;n=e+36|0;o=a+516|0;p=e+12|0;q=a+512|0;r=a+804|0;s=j;while(1){j=s+11|0;Lm(k,j)|0;c[d>>2]=a;c[d+4>>2]=j;vs(f,64592,d)|0;Ep(e,0,1);tt(f,e)|0;c[l>>2]=c[m>>2];c[o>>2]=c[n>>2];t=c[p>>2]|0;c[q>>2]=t;u=ft(j)|0;if((u|0)>=(c[r>>2]|0)?c[h>>2]&t|0:0){i=0;v=7;break}s=vt(c[g>>2]|0)|0;if(!s){i=1;v=7;break}}if((v|0)==7){Fa=b;return i|0}return 0}function Jq(a){a=a|0;var b=0;if(!a)return 0;b=c[a+812>>2]|0;if(!b)return 0;ut(b)|0;return 0}function Kq(a){a=a|0;var b=0,c=0;b=Yn(a,71765)|0;if(!b){c=0;return c|0}Zn(b);c=1;return c|0}function Lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Fa;Fa=Fa+96|0;e=d+64|0;f=d+88|0;g=d;Ca(f|0)|0;if(!b)h=wa(f|0)|0;else h=ya(f|0)|0;Ba(g|0,64,64574,h|0)|0;h=a+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[e>>2]=h;c[e+4>>2]=a+8;c[e+8>>2]=a+12;c[e+12>>2]=a+16;c[e+16>>2]=a+20;c[e+20>>2]=a+24;Vt(g,64598,e)|0;Fa=d;return}function Mq(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;Qp(0,1525712,a<<1);if((c|0)<=0)return 1558480;d=a<<4;e=a+-1|0;a=0;do{f=(B(d,a)|0)/(c|0)|0;g=f&15;h=(f|0)/16|0;f=h+1|0;i=B(16-g|0,b[1525712+(h<<1)>>1]|0)|0;b[1558480+(a<<1)>>1]=((B(g,b[1525712+(((f|0)<(e|0)?f:e)<<1)>>1]|0)|0)+i|0)/16|0;a=a+1|0}while((a|0)!=(c|0));return 1558480}function Nq(){if((O(65535)|0)<0)Oq(66250);else{ka(27)|0;ka(28)|0;ka(29)|0;return 0}return 0}function Oq(a){a=a|0;var b=0,d=0,e=0;b=Fa;Fa=Fa+16|0;d=b+8|0;e=b;Pq();c[e>>2]=a;xu(67146,e)|0;Rt(c[8793]|0)|0;c[d>>2]=a;vs(1504976,67146,d)|0;Pm(1504976);Qm()|0;va(0)}function Pq(){var b=0,d=0,e=0;b=Fa;Fa=Fa+16|0;d=b;e=J()|0;if(!(a[e>>0]|0)){Fa=b;return}c[d>>2]=e;xu(67169,d)|0;Rt(c[8793]|0)|0;I();Fa=b;return}function Qq(){return 0}function Rq(b){b=b|0;var d=0,e=0;a[1591248]=63;a[1591249]=0;if(b>>>0>511)return 1591248;ot(1591248,c[28784+(b<<2)>>2]|0)|0;if(!(ft(1591248)|0))return 1591248;b=0;do{d=1591248+b|0;e=a[d>>0]|0;if((e+-97&255)<26)a[d>>0]=(e&255)+224;b=b+1|0}while(b>>>0<(ft(1591248)|0)>>>0);return 1591248}function Sq(a,b){a=a|0;b=b|0;la(30,c[525865]|0)|0;c[525584]=a;c[525585]=b;c[525582]=a;c[525583]=b;sq(c[525853]|0);uq(c[525854]|0);return 0}function Tq(){return 0}function Uq(){P();c[704836]=(c[704836]|0)+1;return}function Vq(){c[704836]=(c[704836]|0)+-1;T();return}function Wq(){return 0}function Xq(){return 0}function Yq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=No()|0;c[704840]=S(B(g,d)|0,B(g,e)|0,32,0)|0;return 0}function Zq(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(f|e|g|h|0)return;if((c[a+8>>2]|0)==8){h=c[704841]|0;do if(!h){l=a;m=8}else{g=c[h>>2]|0;if((g|0)==(c[a>>2]|0)?(e=c[h+4>>2]|0,(e|0)==(c[a+4>>2]|0)):0){n=h;o=g;p=e;q=g;break}dn(h)|0;l=a;m=8}while(0);if((m|0)==8){m=a+4|0;h=cn(c[l>>2]|0,c[m>>2]|0,32)|0;c[704841]=h;n=h;o=c[h>>2]|0;p=c[m>>2]|0;q=c[l>>2]|0}l=c[n+12>>2]|0;m=c[704831]|0;h=0;do{c[1591504+(h<<2)>>2]=(d[m+(h*3|0)>>0]|0)<<16|(d[m+(h*3|0)+1>>0]|0)<<8|(d[m+(h*3|0)+2>>0]|0)|-16777216;h=h+1|0}while((h|0)!=256);h=o<<2;o=0;do{m=1591504+(o<<2)|0;g=c[m>>2]|0;c[m>>2]=g<<16&16711680|g&-16711936|g>>>16&255;o=o+1|0}while((o|0)!=256);if((p|0)<1|(q|0)==0)r=n;else{o=c[a+16>>2]|0;g=l;l=0;while(1){m=c[o+(l<<2)>>2]|0;e=g;f=q;while(1){c[e>>2]=c[1591504+((d[m>>0]|0)<<2)>>2];f=f+-1|0;if(!f)break;else{m=m+1|0;e=e+4|0}}l=l+1|0;if((l|0)==(p|0)){r=n;break}else g=g+h|0}}}else r=a;Q(c[704840]|0)|0;a=c[704840]|0;if((j|0)>0?(h=r+16|0,r=i<<2,g=a+20|0,Xu(c[g>>2]|0,c[c[h>>2]>>2]|0,r|0)|0,(j|0)!=1):0){n=1;do{p=(c[g>>2]|0)+((B(n,i)|0)<<2)|0;Xu(p|0,c[(c[h>>2]|0)+(n<<2)>>2]|0,r|0)|0;n=n+1|0}while((n|0)!=(j|0))}U(a|0);return}function _q(){return M()|0}function $q(){return}function ar(){return}function br(){return 0}function cr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(b|0)c[b>>2]=0;if(d|0)c[d>>2]=0;if(!e)return;c[e>>2]=0;return}function dr(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=Fa;Fa=Fa+64|0;d=b+48|0;e=b+56|0;f=b+52|0;g=b;h=0;do{i=1513808+h|0;j=a[i>>0]|0;a[1514832+h>>0]=j;if(j<<24>>24==3)a[i>>0]=1;h=h+1|0}while((h|0)!=512);h=0;do{if(!(a[1513808+h>>0]|0))a[1514320+h>>0]=0;h=h+1|0}while((h|0)!=512);h=K()|0;a[1514032]=h&64;a[1514036]=h&128;a[1514034]=0;a[1514038]=0;a[1514033]=h&1;a[1514037]=h&2;a:do if(R(g|0)|0){h=g+12|0;i=g+28|0;j=g+32|0;while(1){k=c[g>>2]|0;b:do switch(k|0){case 768:case 769:{l=c[h>>2]|0;m=(l|0)==1104?80:l;l=(m|0)==1103?79:m;m=(l|0)==1106?82:l;l=(m|0)==1105?81:m;m=(l|0)==1099?75:l;l=(m|0)==1102?78:m;m=(l|0)==1248?224:l;if((k|0)!=768){if((m|0)>=512)break b;a[1513808+m>>0]=0;a[1514832]=0;break b}if((((An(80)|0)==0?(An(79)|0)==0:0)?(An(82)|0)==0:0)?(An(81)|0)==0:0)n=0;else n=-1;if((m|0)<512){a[1513808+m>>0]=3;a[1514832+m>>0]=0;a[1514320+m>>0]=0}m=c[526414]|0;if((n|0)!=0&(m|0)<32){c[1513680+(m<<2)>>2]=n;c[526414]=m+1}break}case 1024:{do if(c[525568]|0){if(ka(31)|0){m=c[i>>2]|0;c[525562]=(c[525562]|0)+m;l=c[j>>2]|0;c[525563]=(c[525563]|0)+l;o=(c[704838]|0)+m|0;m=c[704835]|0;p=(c[m>>2]<<2)+-1|0;q=(o|0)<(p|0)?o:p;c[704838]=(q|0)>0?q:0;q=(c[704839]|0)+l|0;l=(c[m+4>>2]<<2)+-1|0;m=(q|0)<(l|0)?q:l;c[704839]=(m|0)>0?m:0;break}if(c[525568]|0){L(e|0,f|0)|0;if(!(ka(32)|0))r=c[f>>2]|0;else{c[e>>2]=ka(33)|0;m=ka(34)|0;c[f>>2]=m;r=m}c[704838]=c[e>>2]<<2;c[704839]=r<<2}}while(0);m=c[525562]|0;if((m|0)>=0){if(m|0){l=~m;q=(l|0)>-2?l:-2;s=-2-q|0;t=m+2+(c[525564]|0)+q|0;u=24}}else{s=0;t=m+(c[525564]|0)|0;u=24}if((u|0)==24){u=0;c[525564]=t;c[525562]=s}m=c[525563]|0;if((m|0)<0){c[525565]=m+(c[525565]|0);c[525563]=0;break b}if(m|0){q=~m;l=(q|0)>-2?q:-2;c[525565]=m+2+(c[525565]|0)+l;c[525563]=-2-l}break}default:{}}while(0);if(!(R(g|0)|0))break a}}while(0);g=(ka(35)|0)!=0;if(g&(c[526414]|0)<32)do{g=ka(36)|0;s=(g|0)<-1;if(s){c[d>>2]=g;xu(69196,d)|0}t=c[526414]|0;c[1513680+(t<<2)>>2]=s?-1:g;c[526414]=t+1;t=(ka(35)|0)!=0}while(t&(c[526414]|0)<32);d=ka(37)|0;c[525558]=(c[525558]|0)+d;c[525560]=(c[525560]|0)+d;d=ka(38)|0;c[525559]=(c[525559]|0)+d;c[525561]=(c[525561]|0)+d;er();if((c[525569]|0)==0?(ka(39)|0)!=0:0){if(c[526414]|0){Fa=b;return 0}}else{c[526414]=0;Yu(1513808,0,512)|0;Yu(1514832,0,512)|0;Yu(1514320,0,512)|0;c[525558]=0;c[525559]=0;c[525560]=0;c[525561]=0}d=0;while(1){if((An(d)|0)==3)break;if(d>>>0<511)d=d+1|0;else{u=55;break}}if((u|0)==55){Fa=b;return 0}c[378420]=-1;c[526414]=(c[526414]|0)+1;Fa=b;return 0}function er(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=Fa;Fa=Fa+16|0;b=a+8|0;d=a+4|0;e=a;fr(b,d,e);if(!(c[8792]|0)){f=(c[e>>2]|0)>0;g=c[b>>2]|0;h=c[d>>2]|0}else{c[e>>2]=1;c[d>>2]=1;c[b>>2]=1;c[8792]=0;f=1;g=1;h=1}if((f&(h|g|0)>-1?(g|0)<(c[704818]|0):0)?(h|0)<(c[704819]|0):0)ka(40)|0;if(c[525569]|0){Fa=a;return}if(!(ka(39)|0)){Fa=a;return}ka(41)|0;Fa=a;return}function fr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Fa;Fa=Fa+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;j=ka(32)|0;if(!(c[525568]|0))k=1;else k=(ka(31)|0)==0;if((j|0)!=0&k){if(a|0)c[a>>2]=ka(33)|0;if(b|0)c[b>>2]=ka(34)|0;if(!d){Fa=e;return}c[d>>2]=ka(42)|0;Fa=e;return}k=(L(f|0,g|0)|0)&255;if(c[525568]|0?ka(31)|0:0){c[f>>2]=(c[704838]|0)/4|0;c[g>>2]=(c[704839]|0)/4|0}N(0,h|0,i|0);j=c[h>>2]|0;h=c[i>>2]|0;if((j|0)==0|(h|0)==0){Fa=e;return}i=c[704818]|0;l=c[704819]|0;if(!(+(j|0)/+(h|0)>=+(i|0)/+(l|0))){m=(h-((B(l,j)|0)/(i|0)|0)|0)/2|0;n=(c[g>>2]|0)-m|0;c[g>>2]=n;m=(B(c[704818]|0,c[f>>2]|0)|0)/(j|0)|0;c[f>>2]=m;o=B(c[704818]|0,n)|0;p=j;q=m}else{m=(j-((B(i,h)|0)/(l|0)|0)|0)/2|0;i=(B((c[f>>2]|0)-m|0,l)|0)/(h|0)|0;c[f>>2]=i;o=B(c[g>>2]|0,l)|0;p=h;q=i}i=(o|0)/(p|0)|0;c[g>>2]=i;if(a|0)c[a>>2]=q;if(b|0)c[b>>2]=i;if(!d){Fa=e;return}c[d>>2]=k<<1&4|k&1|k>>>1&2;Fa=e;return}function gr(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=d;c[e>>2]=a;vs(b,70103,e)|0;Fa=d;return}function hr(a,b){a=a|0;b=b|0;ot(b,a)|0;return}function ir(a,b){a=a|0;b=b|0;ot(b,a)|0;return}function jr(a,b){a=a|0;b=b|0;ot(b,a)|0;return}function kr(b){b=b|0;var c=0,d=0;if(!(ka(24)|0)){su(70203)|0;return 0}ka(43)|0;c=ft(b)|0;if((c|0)>0){d=0;do{la(44,a[b+d>>0]|0)|0;d=d+1|0}while((d|0)!=(c|0))}ka(45)|0;return 0}function lr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Fa;Fa=Fa+16|0;d=b+4|0;e=b;f=(a|0)==0;g=c[525568]|0;if(f|(g|0)!=0)h=g;else{L(d|0,e|0)|0;if(!(ka(32)|0))i=c[e>>2]|0;else{c[d>>2]=ka(33)|0;g=ka(34)|0;c[e>>2]=g;i=g}c[704838]=c[d>>2]<<2;c[704839]=i<<2;h=c[525568]|0}if(!(f&(h|0)!=0)){c[525568]=a;Fa=b;return}su(70408)|0;ka(46)|0;c[525568]=a;Fa=b;return}function mr(a){a=a|0;return}function nr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;if(a|0){c[f>>2]=d;c[f+4>>2]=a;xu(70474,f)|0}Rt(c[8793]|0)|0;f=wr(a,71945)|0;if(f|0){Qn(b,1,d,f)|0;Zn(f)}f=c[a+1024>>2]|0;if(!f){Hp(a);Fa=e;return}Oa[f&7](a);Hp(a);Fa=e;return}function or(a){a=a|0;var b=0,d=0;b=Fa;Fa=Fa+16|0;d=b;if(a|0){c[d>>2]=a;xu(70518,d)|0}Rt(c[8793]|0)|0;d=c[a+1028>>2]|0;if(!d){Hp(a);Fa=b;return}Oa[d&7](a);Hp(a);Fa=b;return}function pr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Fa;Fa=Fa+16|0;g=f;h=Dp(1032)|0;ot(h,b)|0;c[h+1024>>2]=d;c[h+1028>>2]=e;c[g>>2]=a;c[g+4>>2]=h;xu(70544,g)|0;Rt(c[8793]|0)|0;oa(a|0,h|0,2,4);Fa=f;return 0}function qr(){var a=0;if(c[525569]|0){a=0;return a|0}a=ka(39)|0;return a|0}function rr(a){a=a|0;var b=0;b=c[704842]|0;if(b|0)Hp(b);b=Dp((ft(a)|0)+1|0)|0;c[704842]=b;ot(b,a)|0;ka(47)|0;return 0}function sr(b){b=b|0;var c=0,d=0,e=0;ka(48)|0;c=ft(b)|0;if((c|0)<=0){d=ka(50)|0;return d|0}e=0;do{la(49,a[b+e>>0]|0)|0;e=e+1|0}while((e|0)!=(c|0));d=ka(50)|0;return d|0}function tr(){if(c[704837]|0)return;c[704837]=1;ka(51)|0;return}function ur(){var b=0,d=0,e=0;if(!(ka(52)|0)){b=c[704842]|0;if(!b){d=Fp(2)|0;a[d>>0]=0;e=d;return e|0}else{d=Dp((ft(b)|0)+1|0)|0;ot(d,c[704842]|0)|0;e=d;return e|0}}a[1592528]=0;if(!(ka(53)|0)){ka(54)|0;a[1592528]=0;d=0;do{b=ka(55)|0;a[1592528+d>>0]=b;d=d+1|0;a[1592528+d>>0]=0}while((b|0)!=0&d>>>0<65536)}else a[1592528]=0;d=Fp((ft(1592528)|0)+1|0)|0;ot(d,1592528)|0;e=d;return e|0}function vr(a){a=a|0;return 0}function wr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Fa;Fa=Fa+1296|0;f=e+1280|0;g=e+1024|0;h=e+512|0;i=e;eo(b,0,h,i);c[f>>2]=h;c[f+4>>2]=i;vs(g,71619,f)|0;f=c[704843]|0;a:do if((f|0)>0){i=0;while(1){h=c[1658080+(i<<2)>>2]|0;i=i+1|0;if(!(Xs(g,h+24|0)|0)){j=h;break a}if((i|0)>=(f|0)){j=0;break}}}else j=0;while(0);switch(a[d>>0]|0){case 114:{if(!j){k=0;Fa=e;return k|0}c[j+20>>2]=0;k=j;Fa=e;return k|0}case 119:{if(!j){d=Ip(0)|0;c[d+4>>2]=1;Lm(d+24|0,g)|0;g=c[704843]|0;c[1658080+(g<<2)>>2]=d;c[704843]=g+1;k=d;Fa=e;return k|0}else{c[j+16>>2]=0;c[j+20>>2]=0;k=j;Fa=e;return k|0}break}default:{k=0;Fa=e;return k|0}}return 0}function xr(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[704843]|0;if((b|0)<=0){d=0;return d|0}e=0;while(1){if((c[1658080+(e<<2)>>2]|0)==(a|0)){d=1;f=5;break}e=e+1|0;if((e|0)>=(b|0)){d=0;f=5;break}}if((f|0)==5)return d|0;return 0}function yr(){var a=0,b=0,d=0;a=Fp(46744)|0;Yu(a|0,0,46744)|0;c[a>>2]=Dp(65538)|0;c[a+4>>2]=cn(128,128,8)|0;c[a+8>>2]=cn(128,64,8)|0;b=a+12|0;d=0;do{c[b+(d*660|0)+8>>2]=(d|0)==0?1:16;d=d+1|0}while((d|0)!=64);d=a+42252|0;b=0;do{c[d+(b<<4)>>2]=65;c[d+(b<<4)+4>>2]=66;c[d+(b<<4)+8>>2]=67;c[d+(b<<4)+12>>2]=68;b=b+1|0}while((b|0)!=64);c[a+44584>>2]=Nr()|0;c[a+44588>>2]=Nr()|0;c[a+44592>>2]=Nr()|0;c[a+44596>>2]=Nr()|0;Yu(a+44600|0,-1,2144)|0;return a|0}function zr(a){a=a|0;if(!a)return;dn(c[a+4>>2]|0)|0;dn(c[a+8>>2]|0)|0;mq(a);hq(a+12|0);hq(a+672|0);hq(a+1332|0);hq(a+1992|0);hq(a+2652|0);hq(a+3312|0);hq(a+3972|0);hq(a+4632|0);hq(a+5292|0);hq(a+5952|0);hq(a+6612|0);hq(a+7272|0);hq(a+7932|0);hq(a+8592|0);hq(a+9252|0);hq(a+9912|0);hq(a+10572|0);hq(a+11232|0);hq(a+11892|0);hq(a+12552|0);hq(a+13212|0);hq(a+13872|0);hq(a+14532|0);hq(a+15192|0);hq(a+15852|0);hq(a+16512|0);hq(a+17172|0);hq(a+17832|0);hq(a+18492|0);hq(a+19152|0);hq(a+19812|0);hq(a+20472|0);hq(a+21132|0);hq(a+21792|0);hq(a+22452|0);hq(a+23112|0);hq(a+23772|0);hq(a+24432|0);hq(a+25092|0);hq(a+25752|0);hq(a+26412|0);hq(a+27072|0);hq(a+27732|0);hq(a+28392|0);hq(a+29052|0);hq(a+29712|0);hq(a+30372|0);hq(a+31032|0);hq(a+31692|0);hq(a+32352|0);hq(a+33012|0);hq(a+33672|0);hq(a+34332|0);hq(a+34992|0);hq(a+35652|0);hq(a+36312|0);hq(a+36972|0);hq(a+37632|0);hq(a+38292|0);hq(a+38952|0);hq(a+39612|0);hq(a+40272|0);hq(a+40932|0);hq(a+41592|0);Hp(c[a>>2]|0);Or(c[a+44584>>2]|0);Or(c[a+44588>>2]|0);Or(c[a+44592>>2]|0);Or(c[a+44596>>2]|0);Hp(a);if((c[743521]|0)!=(a|0))return;c[743521]=0;return}function Ar(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;d=Fa;Fa=Fa+80|0;e=d+48|0;f=d+40|0;g=d+24|0;h=d+8|0;i=d;j=d+64|0;c[741076]=0;k=Dp(196609)|0;l=Dp(196609)|0;a[k>>0]=0;m=_n(k,196608,b)|0;a:while(1){switch(a[m>>0]|0){case 0:{break a;break}case 112:case 10:{n=4;break a;break}default:{}}m=m+1|0}if((n|0)==4?(ts(m,71624,16)|0)==0:0){_n(k,196608,b)|0;c[j>>2]=0;c[i>>2]=j;Vt(k,71641,i)|0;if((c[j>>2]|0)>32){Hp(k);Hp(l);c[741076]=1;o=0;Fa=d;return o|0}m=yr()|0;c[m+44576>>2]=c[j>>2];p=0;do{Yu(m+12+(p*660|0)|0,0,660)|0;c[m+12+(p*660|0)+8>>2]=(p|0)==0?1:16;p=p+1|0}while((p|0)!=64);p=m+4|0;Zm(c[p>>2]|0);q=m+8|0;Zm(c[q>>2]|0);Yu(m+43548|0,0,1024)|0;a[c[m>>2]>>0]=0;b:do if(!(Wn(b)|0)){r=k+3|0;s=m+44572|0;t=0;u=0;v=0;w=0;x=0;y=0;z=0;c:while(1){Yu(k|0,0,196609)|0;_n(k,196608,b)|0;if((Wn(b)|0)!=0?(a[k>>0]|0)==0:0){A=-1;B=u;C=v;D=w;E=x;F=y;G=z}else n=14;do if((n|0)==14){n=0;if(ts(k,71652,7)|0)if(ts(k,71660,7)|0)if(ts(k,71668,7)|0)if(ts(k,71676,7)|0)if(ts(k,71684,7)|0)if(ts(k,71692,9)|0)if(ts(k,71702,9)|0)if(!(ts(k,71712,15)|0)){A=7;B=u;C=v;D=w;E=x;F=y;G=z}else{if((t|0)==1){Hr(k,l)|0;H=c[m>>2]|0;I=ft(H)|0;if(((ft(l)|0)+I|0)>>>0>=65536)break c;pt(H,l)|0;if(!(Wn(b)|0)){H=c[m>>2]|0;I=H+(ft(H)|0)|0;a[I>>0]=10;a[I+1>>0]=0}a[(c[m>>2]|0)+65536>>0]=0;A=1;B=u;C=v;D=w;E=x;F=y;G=z;break}if((z|0)<128&(t|0)==2){I=0;do{H=a[k+I>>0]|0;J=H+-48|0;a[(c[(c[(c[p>>2]|0)+16>>2]|0)+(z<<2)>>2]|0)+I>>0]=J>>>0<10?J:(H+-97|0)>>>0<6?H+169|0:0;I=I+1|0}while((I|0)!=128);K=z+1|0}else K=z;if((u|0)<2&(t|0)==10){I=u<<7;H=(c[j>>2]|0)>2;J=0;do{if(H){L=J<<1;M=a[k+L>>0]|0;N=M+-48|0;O=a[k+(L|1)>>0]|0;L=O+-48|0;P=((N>>>0<10?N:(M+-97|0)>>>0<6?M+268435369|0:0)<<4)+(L>>>0<10?L:(O+-97|0)>>>0<6?O+-87|0:0)|0}else{O=a[k+J>>0]|0;L=O+-48|0;P=L>>>0<10?L:(O+-97|0)>>>0<6?O+-87|0:0}c[m+43548+(J+I<<2)>>2]=P;J=J+1|0}while((J|0)!=128);Q=u+1|0}else Q=u;if((x|0)<64&(t|0)==3){J=0;do{I=J<<1;H=a[k+I>>0]|0;O=H+-48|0;L=a[k+(I|1)>>0]|0;I=L+-48|0;a[(c[(c[(c[q>>2]|0)+16>>2]|0)+(x<<2)>>2]|0)+J>>0]=((O>>>0<10?O:(H+-97|0)>>>0<6?H+9|0:0)<<4)+(I>>>0<10?I:(L+-97|0)>>>0<6?L+169|0:0);J=J+1|0}while((J|0)!=128);R=x+1|0}else R=x;if((w|0)<64&(t|0)==4){c[i>>2]=0;c[h>>2]=i;c[h+4>>2]=m+12+(w*660|0)+8;c[h+8>>2]=m+12+(w*660|0)+12;c[h+12>>2]=m+12+(w*660|0)+16;Vt(k,71728,h)|0;J=c[i>>2]|0;c[m+12+(w*660|0)+4>>2]=J&1;c[m+12+(w*660|0)>>2]=J&254;J=0;do{L=m+12+(w*660|0)+20+(J*20|0)|0;I=m+12+(w*660|0)+20+(J*20|0)+4|0;H=m+12+(w*660|0)+20+(J*20|0)+8|0;O=m+12+(w*660|0)+20+(J*20|0)+12|0;c[g>>2]=L;c[g+4>>2]=I;c[g+8>>2]=H;c[g+12>>2]=O;Vt(k+((J*5|0)+8)|0,71745,g)|0;M=c[O>>2]|0;if(M&8|0)c[m+12+(w*660|0)+20+(J*20|0)+16>>2]=128;N=c[I>>2]|0;if(N&8|0)c[m+12+(w*660|0)+20+(J*20|0)+16>>2]=128;c[O>>2]=M&7;c[I>>2]=N&7;c[H>>2]=c[H>>2]&7;c[L>>2]=c[L>>2]&63;J=J+1|0}while((J|0)!=32);S=w+1|0}else S=w;if((v|0)<64&(t|0)==5){if((c[j>>2]|0)>2){c[f>>2]=m+43276+(v<<2);Vt(k,71759,f)|0;T=r}else T=k;J=m+42252+(v<<4)|0;L=m+42252+(v<<4)+4|0;H=m+42252+(v<<4)+8|0;N=m+42252+(v<<4)+12|0;c[e>>2]=J;c[e+4>>2]=L;c[e+8>>2]=H;c[e+12>>2]=N;Vt(T,71728,e)|0;do if((c[j>>2]|0)<4){if(!(c[J>>2]|0))c[J>>2]=65;if(!(c[L>>2]|0))c[L>>2]=65;if(!(c[H>>2]|0))c[H>>2]=65;if(c[N>>2]|0)break;c[N>>2]=65}while(0);A=5;B=Q;C=v+1|0;D=S;E=R;F=y;G=K;break}if((y|0)<128&(t|0)==6){if(!(c[s>>2]|0))c[s>>2]=cn(128,128,8)|0;N=0;do{H=a[k+N>>0]|0;L=H+-48|0;do if(L>>>0>=10)if((H+-97|0)>>>0<22){U=H+-87|0;break}else{U=(H+-65|0)>>>0<22?H+-55|0:0;break}else U=L;while(0);a[(c[(c[(c[s>>2]|0)+16>>2]|0)+(y<<2)>>2]|0)+N>>0]=(U|0)>15?U+112|0:U;N=N+1|0}while((N|0)!=128);V=y+1|0}else V=y;if((t|0)!=7){A=t;B=Q;C=v;D=S;E=R;F=V;G=K;break}N=0;do{L=N<<1;H=a[k+L>>0]|0;J=H+-48|0;I=a[k+(L|1)>>0]|0;L=I+-48|0;a[m+44600+N>>0]=((J>>>0<10?J:(H+-97|0)>>>0<6?H+9|0:0)<<4)+(L>>>0<10?L:(I+-97|0)>>>0<6?I+169|0:0);N=N+1|0}while((N|0)!=2144);A=0;B=Q;C=v;D=S;E=R;F=V;G=K}else{A=6;B=u;C=v;D=w;E=x;F=y;G=z}else{A=5;B=u;C=v;D=w;E=x;F=y;G=z}else{A=4;B=u;C=v;D=w;E=x;F=y;G=z}else{A=3;B=u;C=v;D=w;E=x;F=y;G=z}else{A=10;B=u;C=v;D=w;E=x;F=y;G=z}else{A=2;B=u;C=v;D=w;E=x;F=y;G=z}else{A=1;B=u;C=v;D=w;E=x;F=y;G=z}}while(0);if((A|0)!=-1&(Wn(b)|0)==0){t=A;u=B;v=C;w=D;x=E;y=F;z=G}else break b}Hp(k);Hp(l);c[741076]=2;o=0;Fa=d;return o|0}while(0);G=c[m>>2]|0;if(a[G>>0]|0)a[G+((ft(G)|0)+-1)>>0]=0;Hp(k);Hp(l);o=m;Fa=d;return o|0}Hp(k);Hp(l);o=0;Fa=d;return o|0}function Br(a){a=a|0;var b=0,c=0;b=Yn(a,71765)|0;if(!b){c=0;return c|0}a=Ar(b)|0;Zn(b);c=a;return c|0}function Cr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=Fa;Fa=Fa+256|0;g=f;Yu(g|0,0,256)|0;jo(e,71767,0)|0;jo(e,71810,32)|0;jo(e,71822,0)|0;h=Fp(196614)|0;Lr(c[b>>2]|0,h)|0;Qn(h,1,ft(h)|0,e)|0;Hp(h);jo(e,71831,0)|0;h=b+4|0;i=c[(c[h>>2]|0)+16>>2]|0;j=-1;k=0;while(1){l=c[i+(k<<2)>>2]|0;m=0;n=j;do{n=(a[l+m>>0]|0)==0?n:k;m=m+1|0}while((m|0)!=128);k=k+1|0;if((k|0)==128)break;else j=n}if((n|0)>-1){jo(e,71833,0)|0;j=0;while(1){k=0;do{i=a[(c[(c[(c[h>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+k>>0]|0;ko(e,71842,((i&255)<15?i:15)&255,0,0,0)|0;k=k+1|0}while((k|0)!=128);jo(e,71831,0)|0;if((j|0)==(n|0))break;else j=j+1|0}}j=b+44572|0;n=c[j>>2]|0;if((n|0?(c[n>>2]|0)==128:0)?(c[n+4>>2]|0)==128:0){h=c[n+12>>2]|0;n=0;k=0;do{n=(a[h+k>>0]|0)==0?n:1;k=k+1|0}while((k|0)!=16384);if(n|0){jo(e,71845,0)|0;n=0;do{k=(c[j>>2]|0)+16|0;h=0;do{i=a[(c[(c[k>>2]|0)+(n<<2)>>2]|0)+h>>0]|0;m=i&15;l=i<<24>>24<0?m|16:m;a[g+h>>0]=(l>>>0<10?48:87)+l;h=h+1|0}while((h|0)!=128);Qn(g,1,128,e)|0;jo(e,71831,0)|0;n=n+1|0}while((n|0)!=128);jo(e,71831,0)|0}}n=0;g=0;do{n=(c[b+43548+(g<<2)>>2]|0)==0?n:1;g=g+1|0}while((g|0)!=256);if(n|0){jo(e,71856,0)|0;n=0;do{ko(e,71865,c[b+43548+(n<<2)>>2]&255,0,0,0)|0;n=n+1|0}while((n|0)!=128);jo(e,71831,0)|0;n=0;do{ko(e,71865,c[b+43548+(n+128<<2)>>2]&255,0,0,0)|0;n=n+1|0}while((n|0)!=128);jo(e,71831,0)|0}n=b+8|0;g=c[(c[n>>2]|0)+16>>2]|0;j=-1;h=0;while(1){k=c[g+(h<<2)>>2]|0;o=j;l=0;do{o=(a[k+l>>0]|0)==0?o:h;l=l+1|0}while((l|0)!=128);h=h+1|0;if((h|0)==32)break;else j=o}if((o|0)>-1){jo(e,71870,0)|0;j=0;while(1){h=0;do{ko(e,71865,d[(c[(c[(c[n>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+h>>0]|0,0,0,0)|0;h=h+1|0}while((h|0)!=128);jo(e,71831,0)|0;if((j|0)==(o|0))break;else j=j+1|0}}j=-1;o=0;while(1){n=(c[b+12+(o*660|0)+4>>2]|0)==0?j:o;h=c[b+12+(o*660|0)+8>>2]|0;p=(c[b+12+(o*660|0)+16>>2]|c[b+12+(o*660|0)+12>>2]|0)==0?((o|0)==0?((h|0)==1?n:o):(h|0)==16?n:o):o;n=0;do{p=(c[b+12+(o*660|0)+20+(n*20|0)+4>>2]|c[b+12+(o*660|0)+20+(n*20|0)>>2]|c[b+12+(o*660|0)+20+(n*20|0)+16>>2]|c[b+12+(o*660|0)+20+(n*20|0)+8>>2]|c[b+12+(o*660|0)+20+(n*20|0)+12>>2]|0)==0?p:o;n=n+1|0}while((n|0)!=32);o=o+1|0;if((o|0)==64)break;else j=p}if((p|0)>-1){jo(e,71879,0)|0;j=0;while(1){o=c[b+12+(j*660|0)+8>>2]|0;n=(o|0)<255?o:255;o=c[b+12+(j*660|0)+12>>2]|0;h=(o|0)<255?o:255;o=c[b+12+(j*660|0)+16>>2]|0;g=(o|0)<255?o:255;ko(e,71728,c[b+12+(j*660|0)>>2]&254|(c[b+12+(j*660|0)+4>>2]|0)!=0,(n|0)>0?n:0,(h|0)>0?h:0,(g|0)>0?g:0)|0;g=0;do{h=c[b+12+(j*660|0)+20+(g*20|0)>>2]|0;n=(h|0)<63?h:63;h=c[b+12+(j*660|0)+20+(g*20|0)+4>>2]|0;o=(h|0)<7?h:7;h=c[b+12+(j*660|0)+20+(g*20|0)+8>>2]|0;l=(h|0)<7?h:7;h=c[b+12+(j*660|0)+20+(g*20|0)+12>>2]|0;k=(h|0)<7?h:7;ko(e,71888,(n|0)>0?n:0,((o|0)>0?o:0)+((c[b+12+(j*660|0)+20+(g*20|0)+16>>2]|0)==0?0:8)|0,(l|0)>0?l:0,(k|0)>0?k:0)|0;g=g+1|0}while((g|0)!=32);jo(e,71831,0)|0;if((j|0)==(p|0))break;else j=j+1|0}}j=-1;p=0;do{j=(c[b+42252+(p<<4)+8>>2]|0)==67&((c[b+42252+(p<<4)+4>>2]|0)==66&((c[b+43276+(p<<2)>>2]|0)==0?(c[b+42252+(p<<4)>>2]|0)==65:0))?j:p;p=p+1|0}while((p|0)!=64);if((j|0)>-1){jo(e,71899,0)|0;p=0;while(1){ko(e,71759,c[b+43276+(p<<2)>>2]|0,0,0,0)|0;ko(e,71910,c[b+42252+(p<<4)>>2]|0,c[b+42252+(p<<4)+4>>2]|0,c[b+42252+(p<<4)+8>>2]|0,c[b+42252+(p<<4)+12>>2]|0)|0;if((p|0)==(j|0))break;else p=p+1|0}jo(e,71831,0)|0}p=0;j=0;do{j=(a[b+44600+p>>0]|0)==-1?j:1;p=p+1|0}while((p|0)!=2144);if(!j){Fa=f;return 0}jo(e,71928,0)|0;j=0;do{ko(e,71865,d[b+44600+j>>0]|0,0,0,0)|0;j=j+1|0}while((j|0)!=2144);jo(e,71831,0)|0;Fa=f;return 0}function Dr(a,b){a=a|0;b=b|0;var c=0,d=0;c=Yn(b,71945)|0;if(!c){d=1;return d|0}Cr(a,c)|0;Zn(c);d=0;return d|0}function Er(a,b){a=a|0;b=b|0;var d=0,e=0;d=Dp(370)|0;if(!a){e=Ip(b+1|0)|0;c[d+4>>2]=e;c[d>>2]=c[e+12>>2]}else c[d>>2]=a;c[d+8>>2]=b;b=Nr()|0;c[d+364>>2]=b;c[b+16>>2]=24;Fr(d);return d|0}function Fr(a){a=a|0;var b=0,d=0;b=Ip(2048)|0;d=c[a>>2]|0;Qn(d,1,(ft(d)|0)+1|0,b)|0;Pn(c[a+336>>2]|0,b);Pn(c[a+344>>2]|0,b);Pn(c[a+348>>2]|0,b);Pn(c[a+320>>2]|0,b);Pn(c[a+324>>2]|0,b);Pn(c[a+352>>2]|0,b);d=c[a+364>>2]|0;Qr(b,d,(ft(c[a>>2]|0)|0)+1|0)|0;return}function Gr(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b|0)Kp(b);Or(c[a+364>>2]|0);Hp(a);return}function Hr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=ft(b)|0;if(!d)f=Fp(e+1|0)|0;else f=d;a[f>>0]=0;if((e|0)<=0)return f|0;d=f;g=0;while(1){h=(a[b+g>>0]|0)+256|0;i=(h|0)%256|0;do if((i|0)>127){j=b+(g+1)|0;k=b+(g+2)|0;l=b+(g+3)|0;m=b+(g+4)|0;n=b+(g+5)|0;o=b+(g+6)|0;p=0;while(1){q=a[30832+(p*7|0)>>0]|0;if(q<<24>>24!=0&(i|0)==(q&255|0)){r=a[30832+(p*7|0)+1>>0]|0;if(r<<24>>24?(((a[j>>0]|0)+256|0)%256|0|0)==(r&255|0):0){s=a[30832+(p*7|0)+2>>0]|0;if(s<<24>>24?(((a[k>>0]|0)+256|0)%256|0|0)==(s&255|0):0){t=a[30832+(p*7|0)+3>>0]|0;if(t<<24>>24?(((a[l>>0]|0)+256|0)%256|0|0)==(t&255|0):0){u=a[30832+(p*7|0)+4>>0]|0;if(u<<24>>24?(((a[m>>0]|0)+256|0)%256|0|0)==(u&255|0):0){v=a[30832+(p*7|0)+5>>0]|0;if(v<<24>>24?(((a[n>>0]|0)+256|0)%256|0|0)==(v&255|0):0){w=a[30832+(p*7|0)+6>>0]|0;if(w<<24>>24?(((a[o>>0]|0)+256|0)%256|0|0)==(w&255|0):0){x=7;y=11;break}else{z=6;A=w}}else{z=5;A=v}}else{z=4;A=u}}else{z=3;A=t}}else{z=2;A=s}}else{z=1;A=r}}else{z=0;A=q}if(!(A<<24>>24)){x=z;y=11;break}q=p+1|0;if(q>>>0<70)p=q;else break}if((y|0)==11){y=0;if(p>>>0>=26)if(p>>>0<42)B=246;else B=p>>>0<44?212:21;else B=128;a[d>>0]=p+B;o=d+1|0;a[o>>0]=0;C=o;D=g+-1+x|0;break}if((i|0)==227){o=d;n=g;m=0;l=-1;while(1){k=b+(n+1)|0;j=c[31392+(m<<2)>>2]|0;if((((a[k>>0]|0)+256|0)%256|0|0)==(j>>>8&255|0)?(q=n+2|0,r=o+1|0,(((a[b+q>>0]|0)+256|0)%256|0|0)==(j&255|0)):0){a[o>>0]=m+154;a[r>>0]=0;E=r;F=q;G=m;H=b+(n+3)|0}else{E=o;F=n;G=l;H=k}k=c[31600+(m<<2)>>2]|0;if((((a[H>>0]|0)+256|0)%256|0|0)==(k>>>8&255|0)?(q=F+2|0,r=E+1|0,(((a[b+q>>0]|0)+256|0)%256|0|0)==(k&255|0)):0){a[E>>0]=m+204;a[r>>0]=0;I=r;J=q;K=m}else{I=E;J=F;K=G}m=m+1|0;if((m|0)==50)break;else{o=I;n=J;l=K}}if((K|0)<0){L=I;M=J;N=K;O=(a[b+J>>0]|0)+256|0;y=26}else{C=I;D=J}}else{L=d;M=g;N=-1;O=h;y=26}}else{L=d;M=g;N=-1;O=h;y=26}while(0);do if((y|0)==26){y=0;if((((O|0)%256|0|0)==226?(((a[b+(M+1)>>0]|0)+256|0)%256|0|0)==151:0)?(h=M+2|0,(((a[b+h>>0]|0)+256|0)%256|0|0)==139):0){a[L>>0]=127;i=L+1|0;a[i>>0]=0;C=i;D=h;break}h=1;i=L;l=M;n=N;while(1){a:do if((h|0)<4){o=c[31328+(h<<2)>>2]|0;if((o>>>8&255|0)==(((a[b+l>>0]|0)+256|0)%256|0|0)?(m=l+1|0,(o&255|0)==(((a[b+m>>0]|0)+256|0)%256|0|0)):0){a[i>>0]=h;o=i+1|0;a[o>>0]=0;P=1e3;Q=o;R=m;S=h}else{P=h;Q=i;R=l;S=n}}else{switch(h|0){case 9:case 10:case 13:{P=h;Q=i;R=l;S=n;break a;break}default:{}}m=c[31328+(h<<2)>>2]|0;if(((m>>>16&255|0)==(((a[b+l>>0]|0)+256|0)%256|0|0)?(m>>>8&255|0)==(((a[b+(l+1)>>0]|0)+256|0)%256|0|0):0)?(o=l+2|0,(m&255|0)==(((a[b+o>>0]|0)+256|0)%256|0|0)):0){a[i>>0]=h;m=i+1|0;a[m>>0]=0;P=1e3;Q=m;R=o;S=h}else{P=h;Q=i;R=l;S=n}}while(0);if((P|0)<15){h=P+1|0;i=Q;l=R;n=S}else break}if((S|0)<0?(n=a[b+R>>0]|0,n<<24>>24!=13):0){a[Q>>0]=n;n=Q+1|0;a[n>>0]=0;C=n;D=R}else{C=Q;D=R}}while(0);g=D+1|0;if((g|0)>=(e|0))break;else d=C}return f|0}function Ir(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=ft(b)|0;if(!d)g=Fp((f*7|0)+1|0)|0;else g=d;a[g>>0]=0;if((f|0)<=0)return g|0;d=(e|0)==0;e=g;h=0;while(1){i=a[b+h>>0]|0;j=((i<<24>>24)+256|0)%256|0;a:do if((j+-1|0)>>>0>=3){b:do if((j|0)<16){switch(j|0){case 13:case 10:case 9:{break b;break}default:{}}k=c[31328+(j<<2)>>2]|0;a[e>>0]=k>>>16;a[e+1>>0]=k>>>8;a[e+2>>0]=k;l=e+3|0;break a}else{if((j|0)==127){a[e>>0]=-30;a[e+1>>0]=-105;a[e+2>>0]=-117;l=e+3|0;break a}k=j+-128|0;if(k>>>0>=26){m=j+-154|0;if(m>>>0<50){a[e>>0]=-29;n=c[31392+(m<<2)>>2]|0;a[e+1>>0]=n>>>8;a[e+2>>0]=n;l=e+3|0;break a}n=j+-204|0;if(n>>>0>=50)break;a[e>>0]=-29;m=c[31600+(n<<2)>>2]|0;a[e+1>>0]=m>>>8;a[e+2>>0]=m;l=e+3|0;break a}m=a[30832+(k*7|0)>>0]|0;if(!(m<<24>>24))o=e;else{a[e>>0]=m;o=e+1|0}m=a[30832+(k*7|0)+1>>0]|0;if(!(m<<24>>24))p=o;else{a[o>>0]=m;p=o+1|0}m=a[30832+(k*7|0)+2>>0]|0;if(!(m<<24>>24))q=p;else{a[p>>0]=m;q=p+1|0}m=a[30832+(k*7|0)+3>>0]|0;if(!(m<<24>>24))r=q;else{a[q>>0]=m;r=q+1|0}m=a[30832+(k*7|0)+4>>0]|0;if(!(m<<24>>24))s=r;else{a[r>>0]=m;s=r+1|0}m=a[30832+(k*7|0)+5>>0]|0;if(!(m<<24>>24))t=s;else{a[s>>0]=m;t=s+1|0}m=a[30832+(k*7|0)+6>>0]|0;if(!(m<<24>>24)){l=t;break a}a[t>>0]=m;l=t+1|0;break a}while(0);if((j&-16|0)==16){m=j+10|0;k=a[30832+(m*7|0)>>0]|0;if(!(k<<24>>24))u=e;else{a[e>>0]=k;u=e+1|0}k=a[30832+(m*7|0)+1>>0]|0;if(!(k<<24>>24))v=u;else{a[u>>0]=k;v=u+1|0}k=a[30832+(m*7|0)+2>>0]|0;if(!(k<<24>>24))w=v;else{a[v>>0]=k;w=v+1|0}k=a[30832+(m*7|0)+3>>0]|0;if(!(k<<24>>24))x=w;else{a[w>>0]=k;x=w+1|0}k=a[30832+(m*7|0)+4>>0]|0;if(!(k<<24>>24))y=x;else{a[x>>0]=k;y=x+1|0}k=a[30832+(m*7|0)+5>>0]|0;if(!(k<<24>>24))z=y;else{a[y>>0]=k;z=y+1|0}k=a[30832+(m*7|0)+6>>0]|0;if(!(k<<24>>24)){l=z;break}a[z>>0]=k;l=z+1|0;break}if((j|0)>253){k=j+-212|0;m=a[30832+(k*7|0)>>0]|0;if(!(m<<24>>24))A=e;else{a[e>>0]=m;A=e+1|0}m=a[30832+(k*7|0)+1>>0]|0;if(!(m<<24>>24))B=A;else{a[A>>0]=m;B=A+1|0}m=a[30832+(k*7|0)+2>>0]|0;if(!(m<<24>>24))C=B;else{a[B>>0]=m;C=B+1|0}m=a[30832+(k*7|0)+3>>0]|0;if(!(m<<24>>24))D=C;else{a[C>>0]=m;D=C+1|0}m=a[30832+(k*7|0)+4>>0]|0;if(!(m<<24>>24))E=D;else{a[D>>0]=m;E=D+1|0}m=a[30832+(k*7|0)+5>>0]|0;if(!(m<<24>>24))F=E;else{a[E>>0]=m;F=E+1|0}m=a[30832+(k*7|0)+6>>0]|0;if(!(m<<24>>24)){l=F;break}a[F>>0]=m;l=F+1|0;break}if(!(d&(j+-65|0)>>>0<26)){a[e>>0]=i;l=e+1|0;break}m=j+-21|0;k=a[30832+(m*7|0)>>0]|0;if(!(k<<24>>24))G=e;else{a[e>>0]=k;G=e+1|0}k=a[30832+(m*7|0)+1>>0]|0;if(!(k<<24>>24))H=G;else{a[G>>0]=k;H=G+1|0}k=a[30832+(m*7|0)+2>>0]|0;if(!(k<<24>>24))I=H;else{a[H>>0]=k;I=H+1|0}k=a[30832+(m*7|0)+3>>0]|0;if(!(k<<24>>24))J=I;else{a[I>>0]=k;J=I+1|0}k=a[30832+(m*7|0)+4>>0]|0;if(!(k<<24>>24))K=J;else{a[J>>0]=k;K=J+1|0}k=a[30832+(m*7|0)+5>>0]|0;if(!(k<<24>>24))L=K;else{a[K>>0]=k;L=K+1|0}k=a[30832+(m*7|0)+6>>0]|0;if(!(k<<24>>24))l=L;else{a[L>>0]=k;l=L+1|0}}else{k=c[31328+(j<<2)>>2]|0;a[e>>0]=k>>>8;a[e+1>>0]=k;l=e+2|0}while(0);a[l>>0]=0;h=h+1|0;if((h|0)==(f|0))break;else e=l}return g|0}function Jr(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;if((c|0)==0|d<<24>>24==0){e=0;return e|0}f=c;c=b;b=0;g=d;while(1){f=f+-1|0;d=b+(g<<24>>24==10&1)|0;c=c+1|0;g=a[c>>0]|0;if((f|0)==0|g<<24>>24==0){e=d;break}else b=d}return e|0}function Kr(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=a[b>>0]|0;if((c|0)==0|d<<24>>24==0){e=b;f=e;g=b;h=f-g|0;return h|0}i=0;j=b;k=d;while(1){i=i+(k<<24>>24==10&1)|0;d=j+1|0;k=a[d>>0]|0;if((i|0)==(c|0)|k<<24>>24==0){e=d;break}else j=d}f=e;g=b;h=f-g|0;return h|0}function Lr(a,b){a=a|0;b=b|0;return Ir(a,b,1)|0}function Mr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[b+292>>2]|0;if(!e)return;f=c[b+336>>2]|0;a:do if(!f){g=0;h=0;i=b+308|0;j=b+312|0}else{k=c[b>>2]|0;l=b+316|0;m=b+308|0;n=b+312|0;o=k;p=0;q=0;r=k;while(1){k=a[r>>0]|0;if(!(k<<24>>24)){g=0;h=0;i=m;j=n;break a}s=c[l>>2]|0;t=(s|0)>4?s:4;if(k<<24>>24!=9)if(k<<24>>24==10){u=0;v=(c[n>>2]|0)+q|0}else{u=(c[m>>2]<<((k&255)>>>7))+p|0;v=q}else{u=t+p-((p|0)%(t|0)|0)|0;v=q}r=r+1|0;if((r-o|0)==(f|0)){g=v;h=u;i=m;j=n;break}else{p=u;q=v}}}while(0);v=(c[j>>2]|0)-(c[e+16>>2]|0)+g|0;j=b+324|0;u=c[j>>2]|0;f=(u|0)<(g|0)?u:g;u=(d|0)==0?((v|0)>(f|0)?v:f):g-d|0;c[j>>2]=(u|0)>0?u:0;u=(c[i>>2]|0)-(c[e+12>>2]|0)+h|0;e=b+320|0;b=c[e>>2]|0;i=(b|0)<(h|0)?b:h;h=(u|0)>(i|0)?u:i;c[e>>2]=(h|0)>0?h:0;return}function Nr(){var a=0;a=Dp(20)|0;c[a>>2]=Ip(0)|0;c[a+4>>2]=Ip(0)|0;c[a+8>>2]=Ip(0)|0;c[a+12>>2]=Ip(0)|0;return a|0}function Or(a){a=a|0;if(!a)return;Kp(c[a>>2]|0);Kp(c[a+4>>2]|0);Kp(c[a+8>>2]|0);Kp(c[a+12>>2]|0);return}function Pr(a){a=a|0;if(!a)return;Lp(c[a>>2]|0);Lp(c[a+4>>2]|0);Lp(c[a+8>>2]|0);Lp(c[a+12>>2]|0);return}function Qr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+8|0;f=c[e>>2]|0;g=c[f+16>>2]|0;if(!g){Kp(f);c[e>>2]=a;h=0;return h|0}if((c[a+16>>2]|0)==(g|0)?(ss(c[a+12>>2]|0,c[f+12>>2]|0,((d|0)<1?g:0)+d|0)|0)==0:0){Kp(a);h=0;return h|0}d=Rr(a,f,c[b+16>>2]|0)|0;f=c[b+4>>2]|0;g=d+16|0;Qn(c[d+12>>2]|0,1,c[g>>2]|0,f)|0;Pn(c[g>>2]|0,f);Kp(d);Lp(c[b>>2]|0);Kp(c[e>>2]|0);c[e>>2]=a;h=1;return h|0}function Rr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=Ip(0)|0;h=(c[b+16>>2]|0)-f|0;i=e+16|0;j=(c[i>>2]|0)-f|0;k=(h|0)<(j|0)?h:j;if((k|0)<0)return g|0;a:do if(k){l=c[b+12>>2]|0;m=c[e+12>>2]|0;n=0;while(1){if((a[l+n>>0]|0)!=(a[m+n>>0]|0)){o=n;break}p=n+1|0;if((p|0)<(k|0))n=p;else{o=p;break}}if((k|0)>0){n=c[b+12>>2]|0;m=h+-1|0;l=c[e+12>>2]|0;p=j+-1|0;q=0;r=0;while(1){if((a[n+(m+q)>>0]|0)!=(a[l+(p+q)>>0]|0)){s=r;t=q;u=o;break a}v=r+1|0;w=~r;if((v|0)<(k-v|0)){q=w;r=v}else{s=v;t=w;u=o;break}}}else{s=0;t=0;u=o}}else{s=0;t=0;u=0}while(0);Rn(j,g);Rn(u,g);Rn(s,g);s=j-u+t|0;t=(s+7|0)/8|0;j=(s|0)>0;if(j){o=b+12|0;b=e+12|0;k=0;do{r=k<<3;do if((r|0)<(s|0)){q=r+u|0;if((q|0)<(h|0)?(a[(c[o>>2]|0)+q>>0]|0)==(a[(c[b>>2]|0)+q>>0]|0):0){x=0;break}x=1}else x=0;while(0);q=r|1;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){y=x;break}y=x|2}else y=x;while(0);q=r|2;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){z=y;break}z=y|4}else z=y;while(0);q=r|3;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){A=z;break}A=z|8}else A=z;while(0);q=r|4;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){B=A;break}B=A|16}else B=A;while(0);q=r|5;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){C=B;break}C=B|32}else C=B;while(0);q=r|6;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){D=C;break}D=C|64}else D=C;while(0);q=r|7;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){E=D;break}E=D|-128}else E=D;while(0);Sn(E,g);k=k+1|0}while((k|0)<(t|0));if(j){j=g+12|0;t=e+12|0;k=0;do{E=k+u|0;if(!((E|0)<(h|0)?!(1<<(k&7)&d[(c[j>>2]|0)+((k>>>3)+12)>>0]|0):0))Sn(a[(c[t>>2]|0)+E>>0]|0,g);k=k+1|0}while((k|0)!=(s|0));F=t}else G=18}else G=18;if((G|0)==18)F=e+12|0;e=g+20|0;c[e>>2]=c[g+16>>2];Qn((c[F>>2]|0)+((c[i>>2]|0)-f)|0,1,f,g)|0;Pn(f,g);c[e>>2]=0;return g|0}function Sr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0,D=0,E=0,F=0;e=d+64|0;f=c[e>>2]|0;g=d+68|0;h=c[g>>2]|0;i=c[b+525580>>2]|0;a:do if(!i)j=f;else{k=c[d+28>>2]|0;if((k|0)<=-1?(c[d+32>>2]|0)==0:0){j=f;break}switch(k|0){case 0:{switch((i|0)%3|0|0){case 1:{j=(c[d+32>>2]>>4)+f|0;break a;break}case 2:{j=(c[d+32>>2]&15)+f|0;break a;break}default:{j=f;break a}}break}case 1:{c[g>>2]=(c[d+32>>2]<<4)+h;j=f;break a;break}case 2:{c[g>>2]=h-(c[d+32>>2]<<4);j=f;break a;break}case 3:{k=c[d+76>>2]|0;if((f|0)<(k|0)){l=(c[d+32>>2]<<4)+h|0;c[g>>2]=l;if((l|0)<0){m=255-l+((l|0)>-256?l:-256)|0;n=f+-1-(m>>>8)|0;o=l+256+(m&-256)|0;c[e>>2]=n;c[g>>2]=o;p=o;q=n}else{p=l;q=f}if((p|0)>255){l=~p;n=p+256+((l|0)>-512?l:-512)|0;l=(n>>>8)+1+q|0;c[e>>2]=l;c[g>>2]=p+-256-(n&-256);r=l}else r=q;if((r|0)<(k|0)){j=f;break a}c[e>>2]=k;c[g>>2]=0;j=f;break a}if((f|0)<=(k|0)?(h|0)==0|(f|0)!=(k|0):0){j=f;break a}l=h-(c[d+32>>2]<<4)|0;c[g>>2]=l;if((l|0)<0){n=255-l+((l|0)>-256?l:-256)|0;o=f+-1-(n>>>8)|0;m=l+256+(n&-256)|0;c[e>>2]=o;c[g>>2]=m;s=m;t=o}else{s=l;t=f}if((s|0)>255){l=~s;o=s+256+((l|0)>-512?l:-512)|0;l=(o>>>8)+1+t|0;c[e>>2]=l;c[g>>2]=s+-256-(o&-256);u=l}else u=t;if((u|0)>(k|0)){j=f;break a}c[e>>2]=k;c[g>>2]=0;j=f;break a;break}case 4:{k=c[d+32>>2]>>4;if(!k){j=f;break a}l=B(c[b+525588>>2]|0,k)|0;k=c[(c[b>>2]|0)+48>>2]|0;c[d+60>>2]=65536/((B(l,k)|0)/(k+-1|0)|0|0)|0;j=f;break a;break}case 10:{k=d+8|0;l=(c[k>>2]|0)-(c[d+32>>2]|0)|0;o=(l|0)<63?l:63;c[k>>2]=(o|0)>0?o:0;j=f;break a;break}default:{j=f;break a}}}while(0);f=c[d+4>>2]|0;if(!f)return;g=c[b>>2]|0;if((f|0)>(c[g+64>>2]|0))return;b=c[g+68>>2]|0;if((c[d+28>>2]|0)==4){g=c[d+32>>2]|0;e=d+56|0;u=(g>>4<<5)+(c[e>>2]|0)|0;c[e>>2]=u&2047;e=u+512&2047;v=(B(512-(e>>>0<1024?e:2048-e|0)|0,g&15)|0)/16|0}else v=0;g=(c[b+(f*332|0)+100>>2]|0)+j|0;j=h-((c[b+(f*332|0)+88>>2]|0)/2|0)+v|0;if((j|0)<0){v=255-j+((j|0)>-256?j:-256)|0;w=g+-1-(v>>>8)|0;x=j+256+(v&-256)|0}else{w=g;x=j}if((x|0)>255){j=~x;g=x+256+((j|0)>-512?j:-512)|0;y=w+1+(g>>>8)|0;z=x+-256-(g&-256)|0}else{y=w;z=x}if((y|0)<0)A=1;else{x=(y>>>0)/12|0;C=+(c[31808+((y-(x*12|0)<<3)+((z|0)/32|0)<<2)>>2]<<4|0)*64.0/+(1<<x|0);A=C!=0.0?~~(916317184.0/C/44742.0*65536.0*256.0+.5):3749769}c[d+52>>2]=A;A=c[b+(f*332|0)+128>>2]|0;if(A|0?a[b+(f*332|0)+116>>0]&1:0){x=d+20|0;z=c[x>>2]|0;y=A+-1|0;if((z|0)<(y|0)?(w=z+1|0,(c[d+24>>2]|0)>=(c[b+(f*332|0)+132+(w<<2)>>2]|0)):0){c[x>>2]=w;D=w}else D=z;z=(D|0)<(y|0)?D:y;y=(z|0)>0?z:0;c[x>>2]=y;x=y+1|0;if((x|0)<(A|0)){A=c[b+(f*332|0)+132+(y<<2)>>2]|0;z=(c[b+(f*332|0)+132+(x<<2)>>2]|0)-A|0;D=d+24|0;w=c[D>>2]|0;g=w-A|0;A=B(z-g|0,c[b+(f*332|0)+180+(y<<2)>>2]|0)|0;j=d+16|0;c[j>>2]=A;c[j>>2]=((B(c[b+(f*332|0)+180+(x<<2)>>2]|0,g)|0)+A|0)/(z|0)|0;E=D;F=w}else{c[d+16>>2]=c[b+(f*332|0)+180+(y<<2)>>2];y=d+24|0;E=y;F=c[y>>2]|0}c[E>>2]=F+1;return}c[d+16>>2]=64;return}function Tr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=e+28|0;g=c[f>>2]|0;h=e+36|0;c[h>>2]=g;i=e+32|0;j=c[i>>2]|0;k=e+40|0;c[k>>2]=j;l=c[b>>2]|0;m=c[l+60>>2]|0;n=d[(c[b+525572>>2]|0)+(l+72)>>0]|0;o=c[e>>2]|0;p=c[b+525576>>2]|0;q=m+(n*2596|0)+36+(o*320|0)+(p*5|0)|0;r=a[m+(n*2596|0)+36+(o*320|0)+(p*5|0)+1>>0]|0;s=e+4|0;do if(!(r<<24>>24)){t=c[s>>2]|0;if(!t){u=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+3|0;if((a[u>>0]|0)==11){v=u;w=11;x=c[l+68>>2]|0;y=0;z=1;A=7;break}else return}else{B=t;A=6}}else{t=r&255;c[s>>2]=t;B=t;A=6}while(0);if((A|0)==6){s=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+3|0;r=a[s>>0]|0;t=c[l+68>>2]|0;if(!(r<<24>>24)){C=s;D=t;E=B;F=0;G=g}else{v=s;w=r;x=t;y=B;z=0;A=7}}if((A|0)==7){A=w&255;c[f>>2]=A;C=v;D=x;E=y;F=z;G=A}A=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+4|0;z=a[A>>0]|0;if(z<<24>>24)c[i>>2]=z&255;if((a[C>>0]|0)==0?(a[A>>0]|0)==0:0){c[i>>2]=0;c[f>>2]=0;H=0}else H=G;G=a[q>>0]|0;do if(G<<24>>24){q=G&255;if((G&255)>96){c[e+8>>2]=0;break}if((H|0)==3){c[e+76>>2]=q;c[e+20>>2]=0;c[e+24>>2]=0;break}c[e+64>>2]=q;if(!F){c[e+68>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+8>>2]=c[D+(E*332|0)+84>>2];c[e+20>>2]=0;c[e+24>>2]=0;c[e+56>>2]=0}}while(0);E=a[m+(n*2596|0)+36+(o*320|0)+(p*5|0)+2>>0]|0;if(E<<24>>24)c[e+8>>2]=(E&255)+-16;if((g|0)!=11)return;c[b+525592>>2]=j;c[f>>2]=0;c[k>>2]=0;c[h>>2]=0;return}function Ur(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=d+8|0;h=B(c[d+16>>2]|0,c[g>>2]|0)|0;i=(e|0)==0?d+80|0:e;if((h|0?(e=c[d+4>>2]|0,e|0):0)?(j=c[a>>2]|0,(e|0)<=(c[j+64>>2]|0)):0){k=c[j+68>>2]|0;j=c[k+(e*332|0)+72>>2]|0;l=c[k+(e*332|0)+328>>2]|0;if(l|0){Ra[l&0](a,d,i,f,h);return}if((f|0)<=0)return;a=k+(e*332|0)+104|0;l=d+52|0;m=d+48|0;n=d+44|0;d=k+(e*332|0)+80|0;o=k+(e*332|0)+68|0;p=k+(e*332|0)+92|0;q=k+(e*332|0)+76|0;e=h;h=0;k=i;while(1){if((c[a>>2]|0)==8){r=Bo(32e3)|0;s=r;t=c[m>>2]|0;u=c[n>>2]|0}else{r=c[n>>2]|0;v=c[m>>2]|0;w=v>>16;x=B(256-w|0,b[j+(r<<1)>>1]|0)|0;s=x+(B(w,b[j+(r+1<<1)>>1]|0)|0)>>8;t=v;u=r}b[k>>1]=(B(s,e)|0)>>>12;k=k+2|0;r=t+(c[l>>2]|0)|0;v=u+(r>>24)|0;c[n>>2]=v;c[m>>2]=r&16777215;r=c[d>>2]|0;if(((r|0)!=0?(c[p>>2]&3|0)!=0:0)?(v|0)>=((c[q>>2]|0)+r|0):0){w=v-r|0;c[n>>2]=w;y=w}else y=v;if((y|0)<(c[o>>2]|0))z=e;else{c[g>>2]=0;z=0}h=h+1|0;if((h|0)==(f|0))break;else e=z}return}Ep(i,0,f<<1);return}function Vr(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=c[a>>2]|0;_q()|0;if((f|0)<=0)return;h=a+525596|0;i=a+525588|0;j=a+525572|0;k=g+32|0;l=g+40|0;g=a+525592|0;m=a+525580|0;n=a+525576|0;o=a+525600|0;p=a+525584|0;q=e;e=f;f=c[h>>2]|0;a:while(1){r=c[i>>2]|0;if((r|0)>(f|0)){s=r-f|0;r=(s|0)<(e|0)?s:e;do if((r|0)!=0?(s=r+f|0,(r|0)>0):0){t=c[(c[a>>2]|0)+40>>2]|0;if((t|0)<=0){u=f+1|0;Yu(q|0,0,((s|0)>(u|0)?s:u)-f<<1|0)|0;v=c[h>>2]|0;break}u=f;w=q;while(1){x=0;y=0;do{y=y+(b[a+4+(x*32848|0)+80+(u<<1)>>1]|0)|0;x=x+1|0}while((x|0)!=(t|0));x=(y|0)/3|0;z=(x|0)<32767?x:32767;b[w>>1]=(z|0)>-32767?z:-32767;u=u+1|0;if((u|0)>=(s|0)){v=f;break}else w=w+2|0}}else v=f;while(0);c[h>>2]=v+r;w=e-r|0;if((w|0)>0){A=q+(r<<1)|0;C=w}else{D=44;break}}else{A=q;C=e}w=c[l>>2]|0;b:do if((c[j>>2]|0)<(c[k>>2]|0))E=w;else{c:do if((w|0)>0){s=0;while(1){F=a+4+(s*32848|0)+28|0;if((c[F>>2]|0)==11)break;u=s+1|0;if((u|0)<(w|0))s=u;else break c}y=c[a+4+(s*32848|0)+32>>2]|0;c[j>>2]=y;c[j>>2]=((y|0)<0?1:(y|0)>=(c[k>>2]|0))?0:y;c[F>>2]=0;c[a+4+(s*32848|0)+40>>2]=0;c[a+4+(s*32848|0)+36>>2]=0;c[m>>2]=0;c[n>>2]=0;E=c[l>>2]|0;break b}while(0);if(!(c[o>>2]|0)){D=21;break a}c[j>>2]=0;E=w}while(0);if((E|0)>0){w=0;do{r=a+262788+(w*32848|0)|0;y=a+4+(w*32848|0)|0;u=r+80|0;do{c[r>>2]=c[y>>2];r=r+4|0;y=y+4|0}while((r|0)<(u|0));w=w+1|0;y=c[l>>2]|0}while((w|0)<(y|0));G=y}else G=E;c[g>>2]=-1;if(!(c[m>>2]|0)){if((G|0)>0){w=0;do{Tr(a,a+4+(w*32848|0)|0);w=w+1|0;H=c[l>>2]|0}while((w|0)<(H|0));w=c[g>>2]|0;if((w|0)!=-1){c[j>>2]=w;c[m>>2]=0;c[n>>2]=0;if((H|0)>0){w=0;do{Tr(a,a+4+(w*32848|0)|0);w=w+1|0;y=c[l>>2]|0}while((w|0)<(y|0));I=y;D=33}}else{I=H;D=33}}}else{I=G;D=33}if((D|0)==33?(D=0,(I|0)>0):0){w=0;do{y=a+4+(w*32848|0)|0;Sr(a,y);Ur(a,y,0,c[i>>2]|0);Ur(a,a+262788+(w*32848|0)|0,0,128);y=0;do{r=B(128-y|0,b[a+262788+(w*32848|0)+80+(y<<1)>>1]|0)|0;u=a+4+(w*32848|0)+80+(y<<1)|0;b[u>>1]=((B(y,b[u>>1]|0)|0)+r|0)>>>7;y=y+1|0}while((y|0)!=128);w=w+1|0}while((w|0)<(c[l>>2]|0))}c[h>>2]=0;w=(c[m>>2]|0)+1|0;c[m>>2]=w;if((w|0)<(c[p>>2]|0))J=c[n>>2]|0;else{c[m>>2]=0;w=(c[n>>2]|0)+1|0;c[n>>2]=w;J=w}w=c[a>>2]|0;y=c[j>>2]|0;if((J|0)>=(c[(c[w+60>>2]|0)+((d[w+72+y>>0]|0)*2596|0)+32>>2]|0)){c[n>>2]=0;c[j>>2]=y+1}if((C|0)>0){q=A;e=C;f=0}else{D=44;break}}if((D|0)==21){c[a+525604>>2]=0;return}else if((D|0)==44)return}function Wr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0;b=Fa;Fa=Fa+16|0;d=b;do if(a>>>0<245){e=a>>>0<11?16:a+11&-8;f=e>>>3;g=c[760464]|0;h=g>>>f;if(h&3|0){i=(h&1^1)+f|0;j=3041896+(i<<1<<2)|0;k=j+8|0;l=c[k>>2]|0;m=l+8|0;n=c[m>>2]|0;if((n|0)==(j|0))c[760464]=g&~(1<<i);else{c[n+12>>2]=j;c[k>>2]=n}n=i<<3;c[l+4>>2]=n|3;i=l+n+4|0;c[i>>2]=c[i>>2]|1;o=m;Fa=b;return o|0}m=c[760466]|0;if(e>>>0>m>>>0){if(h|0){i=2<<f;n=h<<f&(i|0-i);i=(n&0-n)+-1|0;n=i>>>12&16;f=i>>>n;i=f>>>5&8;h=f>>>i;f=h>>>2&4;l=h>>>f;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|f|h|l)+(k>>>l)|0;l=3041896+(j<<1<<2)|0;k=l+8|0;h=c[k>>2]|0;f=h+8|0;n=c[f>>2]|0;if((n|0)==(l|0)){i=g&~(1<<j);c[760464]=i;p=i}else{c[n+12>>2]=l;c[k>>2]=n;p=g}n=j<<3;j=n-e|0;c[h+4>>2]=e|3;k=h+e|0;c[k+4>>2]=j|1;c[h+n>>2]=j;if(m|0){n=c[760469]|0;h=m>>>3;l=3041896+(h<<1<<2)|0;i=1<<h;if(!(p&i)){c[760464]=p|i;q=l;r=l+8|0}else{i=l+8|0;q=c[i>>2]|0;r=i}c[r>>2]=n;c[q+12>>2]=n;c[n+8>>2]=q;c[n+12>>2]=l}c[760466]=j;c[760469]=k;o=f;Fa=b;return o|0}f=c[760465]|0;if(f){k=(f&0-f)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=c[3042160+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=s;h=s;n=(c[s+4>>2]&-8)-e|0;while(1){s=c[i+16>>2]|0;if(!s){l=c[i+20>>2]|0;if(!l)break;else t=l}else t=s;s=(c[t+4>>2]&-8)-e|0;l=s>>>0<n>>>0;i=t;h=l?t:h;n=l?s:n}i=h+e|0;if(i>>>0>h>>>0){s=c[h+24>>2]|0;l=c[h+12>>2]|0;do if((l|0)==(h|0)){j=h+20|0;k=c[j>>2]|0;if(!k){u=h+16|0;v=c[u>>2]|0;if(!v){w=0;break}else{x=v;y=u}}else{x=k;y=j}j=x;k=y;while(1){u=j+20|0;v=c[u>>2]|0;if(!v){z=j+16|0;A=c[z>>2]|0;if(!A)break;else{B=A;C=z}}else{B=v;C=u}j=B;k=C}c[k>>2]=0;w=j}else{u=c[h+8>>2]|0;c[u+12>>2]=l;c[l+8>>2]=u;w=l}while(0);do if(s|0){l=c[h+28>>2]|0;u=3042160+(l<<2)|0;if((h|0)==(c[u>>2]|0)){c[u>>2]=w;if(!w){c[760465]=f&~(1<<l);break}}else{l=s+16|0;c[((c[l>>2]|0)==(h|0)?l:s+20|0)>>2]=w;if(!w)break}c[w+24>>2]=s;l=c[h+16>>2]|0;if(l|0){c[w+16>>2]=l;c[l+24>>2]=w}l=c[h+20>>2]|0;if(l|0){c[w+20>>2]=l;c[l+24>>2]=w}}while(0);if(n>>>0<16){s=n+e|0;c[h+4>>2]=s|3;f=h+s+4|0;c[f>>2]=c[f>>2]|1}else{c[h+4>>2]=e|3;c[i+4>>2]=n|1;c[i+n>>2]=n;if(m|0){f=c[760469]|0;s=m>>>3;l=3041896+(s<<1<<2)|0;u=1<<s;if(!(u&g)){c[760464]=u|g;D=l;E=l+8|0}else{u=l+8|0;D=c[u>>2]|0;E=u}c[E>>2]=f;c[D+12>>2]=f;c[f+8>>2]=D;c[f+12>>2]=l}c[760466]=n;c[760469]=i}o=h+8|0;Fa=b;return o|0}else F=e}else F=e}else F=e}else if(a>>>0<=4294967231){l=a+11|0;f=l&-8;u=c[760465]|0;if(u){s=0-f|0;v=l>>>8;if(v)if(f>>>0>16777215)G=31;else{l=(v+1048320|0)>>>16&8;z=v<<l;v=(z+520192|0)>>>16&4;A=z<<v;z=(A+245760|0)>>>16&2;H=14-(v|l|z)+(A<<z>>>15)|0;G=f>>>(H+7|0)&1|H<<1}else G=0;H=c[3042160+(G<<2)>>2]|0;a:do if(!H){I=0;J=0;K=s;L=61}else{z=0;A=s;l=H;v=f<<((G|0)==31?0:25-(G>>>1)|0);M=0;while(1){N=(c[l+4>>2]&-8)-f|0;if(N>>>0<A>>>0)if(!N){O=l;P=0;Q=l;L=65;break a}else{R=l;S=N}else{R=z;S=A}N=c[l+20>>2]|0;l=c[l+16+(v>>>31<<2)>>2]|0;T=(N|0)==0|(N|0)==(l|0)?M:N;if(!l){I=T;J=R;K=S;L=61;break}else{z=R;A=S;v=v<<1;M=T}}}while(0);if((L|0)==61){if((I|0)==0&(J|0)==0){H=2<<G;s=(H|0-H)&u;if(!s){F=f;break}H=(s&0-s)+-1|0;s=H>>>12&16;e=H>>>s;H=e>>>5&8;h=e>>>H;e=h>>>2&4;i=h>>>e;h=i>>>1&2;n=i>>>h;i=n>>>1&1;U=0;V=c[3042160+((H|s|e|h|i)+(n>>>i)<<2)>>2]|0}else{U=J;V=I}if(!V){W=U;X=K}else{O=U;P=K;Q=V;L=65}}if((L|0)==65){i=O;n=P;h=Q;while(1){e=(c[h+4>>2]&-8)-f|0;s=e>>>0<n>>>0;H=s?e:n;e=s?h:i;s=c[h+16>>2]|0;if(!s)Y=c[h+20>>2]|0;else Y=s;if(!Y){W=e;X=H;break}else{i=e;n=H;h=Y}}}if(((W|0)!=0?X>>>0<((c[760466]|0)-f|0)>>>0:0)?(h=W+f|0,h>>>0>W>>>0):0){n=c[W+24>>2]|0;i=c[W+12>>2]|0;do if((i|0)==(W|0)){H=W+20|0;e=c[H>>2]|0;if(!e){s=W+16|0;g=c[s>>2]|0;if(!g){Z=0;break}else{_=g;$=s}}else{_=e;$=H}H=_;e=$;while(1){s=H+20|0;g=c[s>>2]|0;if(!g){m=H+16|0;M=c[m>>2]|0;if(!M)break;else{aa=M;ba=m}}else{aa=g;ba=s}H=aa;e=ba}c[e>>2]=0;Z=H}else{s=c[W+8>>2]|0;c[s+12>>2]=i;c[i+8>>2]=s;Z=i}while(0);do if(n){i=c[W+28>>2]|0;s=3042160+(i<<2)|0;if((W|0)==(c[s>>2]|0)){c[s>>2]=Z;if(!Z){s=u&~(1<<i);c[760465]=s;ca=s;break}}else{s=n+16|0;c[((c[s>>2]|0)==(W|0)?s:n+20|0)>>2]=Z;if(!Z){ca=u;break}}c[Z+24>>2]=n;s=c[W+16>>2]|0;if(s|0){c[Z+16>>2]=s;c[s+24>>2]=Z}s=c[W+20>>2]|0;if(s){c[Z+20>>2]=s;c[s+24>>2]=Z;ca=u}else ca=u}else ca=u;while(0);b:do if(X>>>0<16){u=X+f|0;c[W+4>>2]=u|3;n=W+u+4|0;c[n>>2]=c[n>>2]|1}else{c[W+4>>2]=f|3;c[h+4>>2]=X|1;c[h+X>>2]=X;n=X>>>3;if(X>>>0<256){u=3041896+(n<<1<<2)|0;s=c[760464]|0;i=1<<n;if(!(s&i)){c[760464]=s|i;da=u;ea=u+8|0}else{i=u+8|0;da=c[i>>2]|0;ea=i}c[ea>>2]=h;c[da+12>>2]=h;c[h+8>>2]=da;c[h+12>>2]=u;break}u=X>>>8;if(u)if(X>>>0>16777215)fa=31;else{i=(u+1048320|0)>>>16&8;s=u<<i;u=(s+520192|0)>>>16&4;n=s<<u;s=(n+245760|0)>>>16&2;g=14-(u|i|s)+(n<<s>>>15)|0;fa=X>>>(g+7|0)&1|g<<1}else fa=0;g=3042160+(fa<<2)|0;c[h+28>>2]=fa;s=h+16|0;c[s+4>>2]=0;c[s>>2]=0;s=1<<fa;if(!(ca&s)){c[760465]=ca|s;c[g>>2]=h;c[h+24>>2]=g;c[h+12>>2]=h;c[h+8>>2]=h;break}s=c[g>>2]|0;c:do if((c[s+4>>2]&-8|0)==(X|0))ga=s;else{g=X<<((fa|0)==31?0:25-(fa>>>1)|0);n=s;while(1){ha=n+16+(g>>>31<<2)|0;i=c[ha>>2]|0;if(!i)break;if((c[i+4>>2]&-8|0)==(X|0)){ga=i;break c}else{g=g<<1;n=i}}c[ha>>2]=h;c[h+24>>2]=n;c[h+12>>2]=h;c[h+8>>2]=h;break b}while(0);s=ga+8|0;H=c[s>>2]|0;c[H+12>>2]=h;c[s>>2]=h;c[h+8>>2]=H;c[h+12>>2]=ga;c[h+24>>2]=0}while(0);o=W+8|0;Fa=b;return o|0}else F=f}else F=f}else F=-1;while(0);W=c[760466]|0;if(W>>>0>=F>>>0){ga=W-F|0;ha=c[760469]|0;if(ga>>>0>15){X=ha+F|0;c[760469]=X;c[760466]=ga;c[X+4>>2]=ga|1;c[ha+W>>2]=ga;c[ha+4>>2]=F|3}else{c[760466]=0;c[760469]=0;c[ha+4>>2]=W|3;ga=ha+W+4|0;c[ga>>2]=c[ga>>2]|1}o=ha+8|0;Fa=b;return o|0}ha=c[760467]|0;if(ha>>>0>F>>>0){ga=ha-F|0;c[760467]=ga;W=c[760470]|0;X=W+F|0;c[760470]=X;c[X+4>>2]=ga|1;c[W+4>>2]=F|3;o=W+8|0;Fa=b;return o|0}if(!(c[760582]|0)){c[760584]=4096;c[760583]=4096;c[760585]=-1;c[760586]=-1;c[760587]=0;c[760575]=0;c[760582]=d&-16^1431655768;ia=4096}else ia=c[760584]|0;d=F+48|0;W=F+47|0;ga=ia+W|0;X=0-ia|0;ia=ga&X;if(ia>>>0<=F>>>0){o=0;Fa=b;return o|0}fa=c[760574]|0;if(fa|0?(ca=c[760572]|0,da=ca+ia|0,da>>>0<=ca>>>0|da>>>0>fa>>>0):0){o=0;Fa=b;return o|0}d:do if(!(c[760575]&4)){fa=c[760470]|0;e:do if(fa){da=3042304;while(1){ca=c[da>>2]|0;if(ca>>>0<=fa>>>0?(ca+(c[da+4>>2]|0)|0)>>>0>fa>>>0:0)break;ca=c[da+8>>2]|0;if(!ca){L=128;break e}else da=ca}ca=ga-ha&X;if(ca>>>0<2147483647){ea=Zu(ca|0)|0;if((ea|0)==((c[da>>2]|0)+(c[da+4>>2]|0)|0))if((ea|0)==(-1|0))ja=ca;else{ka=ca;la=ea;L=145;break d}else{ma=ea;na=ca;L=136}}else ja=0}else L=128;while(0);do if((L|0)==128){fa=Zu(0)|0;if((fa|0)!=(-1|0)?(f=fa,ca=c[760583]|0,ea=ca+-1|0,Z=((ea&f|0)==0?0:(ea+f&0-ca)-f|0)+ia|0,f=c[760572]|0,ca=Z+f|0,Z>>>0>F>>>0&Z>>>0<2147483647):0){ea=c[760574]|0;if(ea|0?ca>>>0<=f>>>0|ca>>>0>ea>>>0:0){ja=0;break}ea=Zu(Z|0)|0;if((ea|0)==(fa|0)){ka=Z;la=fa;L=145;break d}else{ma=ea;na=Z;L=136}}else ja=0}while(0);do if((L|0)==136){Z=0-na|0;if(!(d>>>0>na>>>0&(na>>>0<2147483647&(ma|0)!=(-1|0))))if((ma|0)==(-1|0)){ja=0;break}else{ka=na;la=ma;L=145;break d}ea=c[760584]|0;fa=W-na+ea&0-ea;if(fa>>>0>=2147483647){ka=na;la=ma;L=145;break d}if((Zu(fa|0)|0)==(-1|0)){Zu(Z|0)|0;ja=0;break}else{ka=fa+na|0;la=ma;L=145;break d}}while(0);c[760575]=c[760575]|4;oa=ja;L=143}else{oa=0;L=143}while(0);if(((L|0)==143?ia>>>0<2147483647:0)?(ja=Zu(ia|0)|0,ia=Zu(0)|0,ma=ia-ja|0,na=ma>>>0>(F+40|0)>>>0,!((ja|0)==(-1|0)|na^1|ja>>>0<ia>>>0&((ja|0)!=(-1|0)&(ia|0)!=(-1|0))^1)):0){ka=na?ma:oa;la=ja;L=145}if((L|0)==145){ja=(c[760572]|0)+ka|0;c[760572]=ja;if(ja>>>0>(c[760573]|0)>>>0)c[760573]=ja;ja=c[760470]|0;f:do if(ja){oa=3042304;while(1){pa=c[oa>>2]|0;qa=c[oa+4>>2]|0;if((la|0)==(pa+qa|0)){L=154;break}ma=c[oa+8>>2]|0;if(!ma)break;else oa=ma}if(((L|0)==154?(ma=oa+4|0,(c[oa+12>>2]&8|0)==0):0)?la>>>0>ja>>>0&pa>>>0<=ja>>>0:0){c[ma>>2]=qa+ka;ma=(c[760467]|0)+ka|0;na=ja+8|0;ia=(na&7|0)==0?0:0-na&7;na=ja+ia|0;W=ma-ia|0;c[760470]=na;c[760467]=W;c[na+4>>2]=W|1;c[ja+ma+4>>2]=40;c[760471]=c[760586];break}if(la>>>0<(c[760468]|0)>>>0)c[760468]=la;ma=la+ka|0;W=3042304;while(1){if((c[W>>2]|0)==(ma|0)){L=162;break}na=c[W+8>>2]|0;if(!na)break;else W=na}if((L|0)==162?(c[W+12>>2]&8|0)==0:0){c[W>>2]=la;oa=W+4|0;c[oa>>2]=(c[oa>>2]|0)+ka;oa=la+8|0;na=la+((oa&7|0)==0?0:0-oa&7)|0;oa=ma+8|0;ia=ma+((oa&7|0)==0?0:0-oa&7)|0;oa=na+F|0;d=ia-na-F|0;c[na+4>>2]=F|3;g:do if((ja|0)==(ia|0)){X=(c[760467]|0)+d|0;c[760467]=X;c[760470]=oa;c[oa+4>>2]=X|1}else{if((c[760469]|0)==(ia|0)){X=(c[760466]|0)+d|0;c[760466]=X;c[760469]=oa;c[oa+4>>2]=X|1;c[oa+X>>2]=X;break}X=c[ia+4>>2]|0;if((X&3|0)==1){ha=X&-8;ga=X>>>3;h:do if(X>>>0<256){fa=c[ia+8>>2]|0;Z=c[ia+12>>2]|0;if((Z|0)==(fa|0)){c[760464]=c[760464]&~(1<<ga);break}else{c[fa+12>>2]=Z;c[Z+8>>2]=fa;break}}else{fa=c[ia+24>>2]|0;Z=c[ia+12>>2]|0;do if((Z|0)==(ia|0)){ea=ia+16|0;ca=ea+4|0;f=c[ca>>2]|0;if(!f){ba=c[ea>>2]|0;if(!ba){ra=0;break}else{sa=ba;ta=ea}}else{sa=f;ta=ca}ca=sa;f=ta;while(1){ea=ca+20|0;ba=c[ea>>2]|0;if(!ba){aa=ca+16|0;$=c[aa>>2]|0;if(!$)break;else{ua=$;va=aa}}else{ua=ba;va=ea}ca=ua;f=va}c[f>>2]=0;ra=ca}else{ea=c[ia+8>>2]|0;c[ea+12>>2]=Z;c[Z+8>>2]=ea;ra=Z}while(0);if(!fa)break;Z=c[ia+28>>2]|0;n=3042160+(Z<<2)|0;do if((c[n>>2]|0)!=(ia|0)){ea=fa+16|0;c[((c[ea>>2]|0)==(ia|0)?ea:fa+20|0)>>2]=ra;if(!ra)break h}else{c[n>>2]=ra;if(ra|0)break;c[760465]=c[760465]&~(1<<Z);break h}while(0);c[ra+24>>2]=fa;Z=ia+16|0;n=c[Z>>2]|0;if(n|0){c[ra+16>>2]=n;c[n+24>>2]=ra}n=c[Z+4>>2]|0;if(!n)break;c[ra+20>>2]=n;c[n+24>>2]=ra}while(0);wa=ia+ha|0;xa=ha+d|0}else{wa=ia;xa=d}ga=wa+4|0;c[ga>>2]=c[ga>>2]&-2;c[oa+4>>2]=xa|1;c[oa+xa>>2]=xa;ga=xa>>>3;if(xa>>>0<256){X=3041896+(ga<<1<<2)|0;da=c[760464]|0;n=1<<ga;if(!(da&n)){c[760464]=da|n;ya=X;za=X+8|0}else{n=X+8|0;ya=c[n>>2]|0;za=n}c[za>>2]=oa;c[ya+12>>2]=oa;c[oa+8>>2]=ya;c[oa+12>>2]=X;break}X=xa>>>8;do if(!X)Aa=0;else{if(xa>>>0>16777215){Aa=31;break}n=(X+1048320|0)>>>16&8;da=X<<n;ga=(da+520192|0)>>>16&4;Z=da<<ga;da=(Z+245760|0)>>>16&2;ea=14-(ga|n|da)+(Z<<da>>>15)|0;Aa=xa>>>(ea+7|0)&1|ea<<1}while(0);X=3042160+(Aa<<2)|0;c[oa+28>>2]=Aa;ha=oa+16|0;c[ha+4>>2]=0;c[ha>>2]=0;ha=c[760465]|0;ea=1<<Aa;if(!(ha&ea)){c[760465]=ha|ea;c[X>>2]=oa;c[oa+24>>2]=X;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break}ea=c[X>>2]|0;i:do if((c[ea+4>>2]&-8|0)==(xa|0))Ba=ea;else{X=xa<<((Aa|0)==31?0:25-(Aa>>>1)|0);ha=ea;while(1){Ca=ha+16+(X>>>31<<2)|0;da=c[Ca>>2]|0;if(!da)break;if((c[da+4>>2]&-8|0)==(xa|0)){Ba=da;break i}else{X=X<<1;ha=da}}c[Ca>>2]=oa;c[oa+24>>2]=ha;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break g}while(0);ea=Ba+8|0;X=c[ea>>2]|0;c[X+12>>2]=oa;c[ea>>2]=oa;c[oa+8>>2]=X;c[oa+12>>2]=Ba;c[oa+24>>2]=0}while(0);o=na+8|0;Fa=b;return o|0}oa=3042304;while(1){d=c[oa>>2]|0;if(d>>>0<=ja>>>0?(Da=d+(c[oa+4>>2]|0)|0,Da>>>0>ja>>>0):0)break;oa=c[oa+8>>2]|0}oa=Da+-47|0;na=oa+8|0;d=oa+((na&7|0)==0?0:0-na&7)|0;na=ja+16|0;oa=d>>>0<na>>>0?ja:d;d=oa+8|0;ia=ka+-40|0;ma=la+8|0;W=(ma&7|0)==0?0:0-ma&7;ma=la+W|0;X=ia-W|0;c[760470]=ma;c[760467]=X;c[ma+4>>2]=X|1;c[la+ia+4>>2]=40;c[760471]=c[760586];ia=oa+4|0;c[ia>>2]=27;c[d>>2]=c[760576];c[d+4>>2]=c[760577];c[d+8>>2]=c[760578];c[d+12>>2]=c[760579];c[760576]=la;c[760577]=ka;c[760579]=0;c[760578]=d;d=oa+24|0;do{X=d;d=d+4|0;c[d>>2]=7}while((X+8|0)>>>0<Da>>>0);if((oa|0)!=(ja|0)){d=oa-ja|0;c[ia>>2]=c[ia>>2]&-2;c[ja+4>>2]=d|1;c[oa>>2]=d;X=d>>>3;if(d>>>0<256){ma=3041896+(X<<1<<2)|0;W=c[760464]|0;ea=1<<X;if(!(W&ea)){c[760464]=W|ea;Ea=ma;Ga=ma+8|0}else{ea=ma+8|0;Ea=c[ea>>2]|0;Ga=ea}c[Ga>>2]=ja;c[Ea+12>>2]=ja;c[ja+8>>2]=Ea;c[ja+12>>2]=ma;break}ma=d>>>8;if(ma)if(d>>>0>16777215)Ha=31;else{ea=(ma+1048320|0)>>>16&8;W=ma<<ea;ma=(W+520192|0)>>>16&4;X=W<<ma;W=(X+245760|0)>>>16&2;fa=14-(ma|ea|W)+(X<<W>>>15)|0;Ha=d>>>(fa+7|0)&1|fa<<1}else Ha=0;fa=3042160+(Ha<<2)|0;c[ja+28>>2]=Ha;c[ja+20>>2]=0;c[na>>2]=0;W=c[760465]|0;X=1<<Ha;if(!(W&X)){c[760465]=W|X;c[fa>>2]=ja;c[ja+24>>2]=fa;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}X=c[fa>>2]|0;j:do if((c[X+4>>2]&-8|0)==(d|0))Ia=X;else{fa=d<<((Ha|0)==31?0:25-(Ha>>>1)|0);W=X;while(1){Ja=W+16+(fa>>>31<<2)|0;ea=c[Ja>>2]|0;if(!ea)break;if((c[ea+4>>2]&-8|0)==(d|0)){Ia=ea;break j}else{fa=fa<<1;W=ea}}c[Ja>>2]=ja;c[ja+24>>2]=W;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break f}while(0);d=Ia+8|0;X=c[d>>2]|0;c[X+12>>2]=ja;c[d>>2]=ja;c[ja+8>>2]=X;c[ja+12>>2]=Ia;c[ja+24>>2]=0}}else{X=c[760468]|0;if((X|0)==0|la>>>0<X>>>0)c[760468]=la;c[760576]=la;c[760577]=ka;c[760579]=0;c[760473]=c[760582];c[760472]=-1;c[760477]=3041896;c[760476]=3041896;c[760479]=3041904;c[760478]=3041904;c[760481]=3041912;c[760480]=3041912;c[760483]=3041920;c[760482]=3041920;c[760485]=3041928;c[760484]=3041928;c[760487]=3041936;c[760486]=3041936;c[760489]=3041944;c[760488]=3041944;c[760491]=3041952;c[760490]=3041952;c[760493]=3041960;c[760492]=3041960;c[760495]=3041968;c[760494]=3041968;c[760497]=3041976;c[760496]=3041976;c[760499]=3041984;c[760498]=3041984;c[760501]=3041992;c[760500]=3041992;c[760503]=3042e3;c[760502]=3042e3;c[760505]=3042008;c[760504]=3042008;c[760507]=3042016;c[760506]=3042016;c[760509]=3042024;c[760508]=3042024;c[760511]=3042032;c[760510]=3042032;c[760513]=3042040;c[760512]=3042040;c[760515]=3042048;c[760514]=3042048;c[760517]=3042056;c[760516]=3042056;c[760519]=3042064;c[760518]=3042064;c[760521]=3042072;c[760520]=3042072;c[760523]=3042080;c[760522]=3042080;c[760525]=3042088;c[760524]=3042088;c[760527]=3042096;c[760526]=3042096;c[760529]=3042104;c[760528]=3042104;c[760531]=3042112;c[760530]=3042112;c[760533]=3042120;c[760532]=3042120;c[760535]=3042128;c[760534]=3042128;c[760537]=3042136;c[760536]=3042136;c[760539]=3042144;c[760538]=3042144;X=ka+-40|0;d=la+8|0;na=(d&7|0)==0?0:0-d&7;d=la+na|0;oa=X-na|0;c[760470]=d;c[760467]=oa;c[d+4>>2]=oa|1;c[la+X+4>>2]=40;c[760471]=c[760586]}while(0);la=c[760467]|0;if(la>>>0>F>>>0){ka=la-F|0;c[760467]=ka;la=c[760470]|0;ja=la+F|0;c[760470]=ja;c[ja+4>>2]=ka|1;c[la+4>>2]=F|3;o=la+8|0;Fa=b;return o|0}}c[(es()|0)>>2]=12;o=0;Fa=b;return o|0}function Xr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;if(!a)return;b=a+-8|0;d=c[760468]|0;e=c[a+-4>>2]|0;a=e&-8;f=b+a|0;do if(!(e&1)){g=c[b>>2]|0;if(!(e&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0<d>>>0)return;if((c[760469]|0)==(h|0)){j=f+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}c[760466]=i;c[j>>2]=k&-2;c[h+4>>2]=i|1;c[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=c[h+8>>2]|0;j=c[h+12>>2]|0;if((j|0)==(g|0)){c[760464]=c[760464]&~(1<<k);l=h;m=i;n=h;break}else{c[g+12>>2]=j;c[j+8>>2]=g;l=h;m=i;n=h;break}}g=c[h+24>>2]|0;j=c[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=c[o>>2]|0;if(!p){q=c[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}o=s;p=t;while(1){k=o+20|0;q=c[k>>2]|0;if(!q){u=o+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=k}o=w;p=x}c[p>>2]=0;r=o}else{k=c[h+8>>2]|0;c[k+12>>2]=j;c[j+8>>2]=k;r=j}while(0);if(g){j=c[h+28>>2]|0;k=3042160+(j<<2)|0;if((c[k>>2]|0)==(h|0)){c[k>>2]=r;if(!r){c[760465]=c[760465]&~(1<<j);l=h;m=i;n=h;break}}else{j=g+16|0;c[((c[j>>2]|0)==(h|0)?j:g+20|0)>>2]=r;if(!r){l=h;m=i;n=h;break}}c[r+24>>2]=g;j=h+16|0;k=c[j>>2]|0;if(k|0){c[r+16>>2]=k;c[k+24>>2]=r}k=c[j+4>>2]|0;if(k){c[r+20>>2]=k;c[k+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=f>>>0)return;b=f+4|0;a=c[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((c[760470]|0)==(f|0)){r=(c[760467]|0)+m|0;c[760467]=r;c[760470]=l;c[l+4>>2]=r|1;if((l|0)!=(c[760469]|0))return;c[760469]=0;c[760466]=0;return}if((c[760469]|0)==(f|0)){r=(c[760466]|0)+m|0;c[760466]=r;c[760469]=n;c[l+4>>2]=r|1;c[n+r>>2]=r;return}r=(a&-8)+m|0;x=a>>>3;do if(a>>>0<256){w=c[f+8>>2]|0;t=c[f+12>>2]|0;if((t|0)==(w|0)){c[760464]=c[760464]&~(1<<x);break}else{c[w+12>>2]=t;c[t+8>>2]=w;break}}else{w=c[f+24>>2]|0;t=c[f+12>>2]|0;do if((t|0)==(f|0)){s=f+16|0;d=s+4|0;e=c[d>>2]|0;if(!e){k=c[s>>2]|0;if(!k){y=0;break}else{z=k;A=s}}else{z=e;A=d}d=z;e=A;while(1){s=d+20|0;k=c[s>>2]|0;if(!k){j=d+16|0;q=c[j>>2]|0;if(!q)break;else{B=q;C=j}}else{B=k;C=s}d=B;e=C}c[e>>2]=0;y=d}else{o=c[f+8>>2]|0;c[o+12>>2]=t;c[t+8>>2]=o;y=t}while(0);if(w|0){t=c[f+28>>2]|0;h=3042160+(t<<2)|0;if((c[h>>2]|0)==(f|0)){c[h>>2]=y;if(!y){c[760465]=c[760465]&~(1<<t);break}}else{t=w+16|0;c[((c[t>>2]|0)==(f|0)?t:w+20|0)>>2]=y;if(!y)break}c[y+24>>2]=w;t=f+16|0;h=c[t>>2]|0;if(h|0){c[y+16>>2]=h;c[h+24>>2]=y}h=c[t+4>>2]|0;if(h|0){c[y+20>>2]=h;c[h+24>>2]=y}}}while(0);c[l+4>>2]=r|1;c[n+r>>2]=r;if((l|0)==(c[760469]|0)){c[760466]=r;return}else D=r}else{c[b>>2]=a&-2;c[l+4>>2]=m|1;c[n+m>>2]=m;D=m}m=D>>>3;if(D>>>0<256){n=3041896+(m<<1<<2)|0;a=c[760464]|0;b=1<<m;if(!(a&b)){c[760464]=a|b;E=n;F=n+8|0}else{b=n+8|0;E=c[b>>2]|0;F=b}c[F>>2]=l;c[E+12>>2]=l;c[l+8>>2]=E;c[l+12>>2]=n;return}n=D>>>8;if(n)if(D>>>0>16777215)G=31;else{E=(n+1048320|0)>>>16&8;F=n<<E;n=(F+520192|0)>>>16&4;b=F<<n;F=(b+245760|0)>>>16&2;a=14-(n|E|F)+(b<<F>>>15)|0;G=D>>>(a+7|0)&1|a<<1}else G=0;a=3042160+(G<<2)|0;c[l+28>>2]=G;c[l+20>>2]=0;c[l+16>>2]=0;F=c[760465]|0;b=1<<G;a:do if(!(F&b)){c[760465]=F|b;c[a>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l}else{E=c[a>>2]|0;b:do if((c[E+4>>2]&-8|0)==(D|0))H=E;else{n=D<<((G|0)==31?0:25-(G>>>1)|0);m=E;while(1){I=m+16+(n>>>31<<2)|0;r=c[I>>2]|0;if(!r)break;if((c[r+4>>2]&-8|0)==(D|0)){H=r;break b}else{n=n<<1;m=r}}c[I>>2]=l;c[l+24>>2]=m;c[l+12>>2]=l;c[l+8>>2]=l;break a}while(0);E=H+8|0;w=c[E>>2]|0;c[w+12>>2]=l;c[E>>2]=l;c[l+8>>2]=w;c[l+12>>2]=H;c[l+24>>2]=0}while(0);l=(c[760472]|0)+-1|0;c[760472]=l;if(l|0)return;l=3042312;while(1){H=c[l>>2]|0;if(!H)break;else l=H+8|0}c[760472]=-1;return}function Yr(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=B(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=Wr(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;Yu(d|0,0,e|0)|0;return d|0}function Zr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=Wr(b)|0;return d|0}if(b>>>0>4294967231){c[(es()|0)>>2]=12;d=0;return d|0}e=_r(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=Wr(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;Xu(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;Xr(a);d=e;return d|0}function _r(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;if(!(e&3)){if(b>>>0<256){h=0;return h|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[760584]<<1>>>0:0){h=a;return h|0}h=0;return h|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){h=a;return h|0}j=a+b|0;c[d>>2]=e&1|b|2;c[j+4>>2]=i|3;k=g+4|0;c[k>>2]=c[k>>2]|1;$r(j,i);h=a;return h|0}if((c[760470]|0)==(g|0)){i=(c[760467]|0)+f|0;j=i-b|0;k=a+b|0;if(i>>>0<=b>>>0){h=0;return h|0}c[d>>2]=e&1|b|2;c[k+4>>2]=j|1;c[760470]=k;c[760467]=j;h=a;return h|0}if((c[760469]|0)==(g|0)){j=(c[760466]|0)+f|0;if(j>>>0<b>>>0){h=0;return h|0}k=j-b|0;if(k>>>0>15){i=a+b|0;l=a+j|0;c[d>>2]=e&1|b|2;c[i+4>>2]=k|1;c[l>>2]=k;m=l+4|0;c[m>>2]=c[m>>2]&-2;n=i;o=k}else{c[d>>2]=e&1|j|2;k=a+j+4|0;c[k>>2]=c[k>>2]|1;n=0;o=0}c[760466]=o;c[760469]=n;h=a;return h|0}n=c[g+4>>2]|0;if(n&2|0){h=0;return h|0}o=(n&-8)+f|0;if(o>>>0<b>>>0){h=0;return h|0}f=o-b|0;k=n>>>3;do if(n>>>0<256){j=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(j|0)){c[760464]=c[760464]&~(1<<k);break}else{c[j+12>>2]=i;c[i+8>>2]=j;break}}else{j=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){m=g+16|0;l=m+4|0;p=c[l>>2]|0;if(!p){q=c[m>>2]|0;if(!q){r=0;break}else{s=q;t=m}}else{s=p;t=l}l=s;p=t;while(1){m=l+20|0;q=c[m>>2]|0;if(!q){u=l+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=m}l=w;p=x}c[p>>2]=0;r=l}else{m=c[g+8>>2]|0;c[m+12>>2]=i;c[i+8>>2]=m;r=i}while(0);if(j|0){i=c[g+28>>2]|0;m=3042160+(i<<2)|0;if((c[m>>2]|0)==(g|0)){c[m>>2]=r;if(!r){c[760465]=c[760465]&~(1<<i);break}}else{i=j+16|0;c[((c[i>>2]|0)==(g|0)?i:j+20|0)>>2]=r;if(!r)break}c[r+24>>2]=j;i=g+16|0;m=c[i>>2]|0;if(m|0){c[r+16>>2]=m;c[m+24>>2]=r}m=c[i+4>>2]|0;if(m|0){c[r+20>>2]=m;c[m+24>>2]=r}}}while(0);if(f>>>0<16){c[d>>2]=e&1|o|2;r=a+o+4|0;c[r>>2]=c[r>>2]|1;h=a;return h|0}else{r=a+b|0;c[d>>2]=e&1|b|2;c[r+4>>2]=f|3;b=a+o+4|0;c[b>>2]=c[b>>2]|1;$r(r,f);h=a;return h|0}return 0}
  7562. function bp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0;h=Fa;Fa=Fa+192|0;i=h+136|0;j=h+92|0;k=h+48|0;l=h+4|0;m=h;switch(c[g>>2]|0){case 0:{n=f>>>16;o=b+4|0;p=b+8|0;q=0;r=0;while(1){s=(q|0)==(n|0);t=s&1;u=c[o>>2]|0;v=u+1|0;if((c[p>>2]|0)>>>0<v>>>0){w=v<<1;x=Gp(c[b>>2]|0,w)|0;if(x|0){c[p>>2]=w;c[b>>2]=x;y=x;z=7}}else{y=c[b>>2]|0;z=7}if((z|0)==7){z=0;c[o>>2]=v;a[y+u>>0]=t}t=f-r|0;u=t>>>0<65535?t:65535;t=u^65535;v=u&255;x=c[o>>2]|0;w=x+1|0;if((c[p>>2]|0)>>>0<w>>>0){A=w<<1;B=Gp(c[b>>2]|0,A)|0;if(B|0){c[p>>2]=A;c[b>>2]=B;C=B;z=12}}else{C=c[b>>2]|0;z=12}if((z|0)==12){z=0;c[o>>2]=w;a[C+x>>0]=v}v=u>>>8&255;u=c[o>>2]|0;x=u+1|0;if((c[p>>2]|0)>>>0<x>>>0){w=x<<1;B=Gp(c[b>>2]|0,w)|0;if(B|0){c[p>>2]=w;c[b>>2]=B;D=B;z=17}}else{D=c[b>>2]|0;z=17}if((z|0)==17){z=0;c[o>>2]=x;a[D+u>>0]=v}v=t&255;u=c[o>>2]|0;x=u+1|0;if((c[p>>2]|0)>>>0<x>>>0){B=x<<1;w=Gp(c[b>>2]|0,B)|0;if(w|0){c[p>>2]=B;c[b>>2]=w;E=w;z=22}}else{E=c[b>>2]|0;z=22}if((z|0)==22){z=0;c[o>>2]=x;a[E+u>>0]=v}v=t>>>8&255;t=c[o>>2]|0;u=t+1|0;if((c[p>>2]|0)>>>0<u>>>0){x=u<<1;w=Gp(c[b>>2]|0,x)|0;if(w|0){c[p>>2]=x;c[b>>2]=w;F=w;z=27}}else{F=c[b>>2]|0;z=27}if((z|0)==27){z=0;c[o>>2]=u;a[F+t>>0]=v}if(r>>>0<f>>>0){v=0;t=r;while(1){u=t+1|0;w=a[e+t>>0]|0;x=c[o>>2]|0;B=x+1|0;if((c[p>>2]|0)>>>0<B>>>0){A=B<<1;G=Gp(c[b>>2]|0,A)|0;if(G|0){c[p>>2]=A;c[b>>2]=G;H=G;z=34}}else{H=c[b>>2]|0;z=34}if((z|0)==34){z=0;c[o>>2]=B;a[H+x>>0]=w}v=v+1|0;if(!(v>>>0<65535&u>>>0<f>>>0)){I=u;break}else t=u}}else I=r;if(s){J=0;break}else{q=q+1|0;r=I}}Fa=h;return J|0}case 1:{c[k>>2]=0;K=i;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=j;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));Zo(i);_o(j);I=b+4|0;r=c[I>>2]|0;q=r+1|0;H=b+8|0;if((c[H>>2]|0)>>>0<q>>>0){o=q<<1;p=Gp(c[b>>2]|0,o)|0;if(!p)M=b;else{c[H>>2]=o;c[b>>2]=p;N=b;O=p;z=41}}else{N=b;O=c[b>>2]|0;z=41}if((z|0)==41){c[I>>2]=q;a[O+r>>0]=0;M=N}N=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[N>>0]=a[N>>0]|1;N=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[N>>0]=a[N>>0]|2;N=(c[g+4>>2]|0)==0;c[k>>2]=3;do if(N)if(!f)z=60;else{r=c[i+12>>2]|0;O=c[i+24>>2]|0;q=0;p=3;while(1){o=d[e+q>>0]|0;F=c[r+(o<<2)>>2]|0;E=c[O+(o<<2)>>2]|0;if(!E)P=p;else{o=E+-1|0;D=0;C=p;while(1){y=F>>>(o-D|0)&1;n=C&7;do if(!n){t=c[I>>2]|0;v=t+1|0;if((c[H>>2]|0)>>>0<v>>>0){u=v<<1;w=Gp(c[M>>2]|0,u)|0;if(!w)break;c[H>>2]=u;c[M>>2]=w;Q=w}else Q=c[M>>2]|0;c[I>>2]=v;a[Q+t>>0]=0}while(0);t=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[t>>0]=y<<n|(d[t>>0]|0);D=D+1|0;if((D|0)==(E|0))break;else C=C+1|0}P=E+p|0}q=q+1|0;if((q|0)==(f|0))break;else p=P}c[k>>2]=P;z=60}else{c[l>>2]=0;p=l+8|0;c[p>>2]=0;q=l+4|0;c[q>>2]=0;O=cp(l,e,f,c[g+8>>2]|0)|0;if(!O){dp(k,b,l,i,j);c[p>>2]=0;c[q>>2]=0;Hp(c[l>>2]|0);z=60;break}else{c[p>>2]=0;c[q>>2]=0;Hp(c[l>>2]|0);R=O;S=c[i+12>>2]|0;T=c[i+24>>2]|0;break}}while(0);if((z|0)==60){P=c[i+12>>2]|0;Q=c[P+1024>>2]|0;N=c[i+24>>2]|0;O=c[N+1024>>2]|0;if(!O){R=0;S=P;T=N}else{q=O+-1|0;p=c[k>>2]|0;r=0;s=p;while(1){C=Q>>>(q-r|0)&1;D=s&7;do if(!D){o=c[I>>2]|0;F=o+1|0;if((c[H>>2]|0)>>>0<F>>>0){t=F<<1;v=Gp(c[M>>2]|0,t)|0;if(!v)break;c[H>>2]=t;c[M>>2]=v;U=v}else U=c[M>>2]|0;c[I>>2]=F;a[U+o>>0]=0}while(0);o=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[o>>0]=C<<D|(d[o>>0]|0);r=r+1|0;if((r|0)==(O|0))break;else s=s+1|0}c[k>>2]=p+O;R=0;S=P;T=N}}c[i+8>>2]=0;c[i+4>>2]=0;Hp(c[i>>2]|0);Hp(S);Hp(T);c[j+8>>2]=0;c[j+4>>2]=0;Hp(c[j>>2]|0);c[j>>2]=0;T=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;Hp(c[T>>2]|0);c[T>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;Hp(c[j+24>>2]|0);J=R;Fa=h;return J|0}case 2:{c[m>>2]=0;c[i>>2]=0;R=i+8|0;c[R>>2]=0;T=i+4|0;c[T>>2]=0;K=j;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=k;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=l;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));do if(!(c[g+4>>2]|0)){if(!(f&1073741823))V=0;else{S=f<<3;N=Gp(0,S)|0;if(!N){W=9923;X=0;Y=0;Z=0;_=0;$=0;aa=0;break}c[R>>2]=S;c[i>>2]=N;V=N}c[T>>2]=f;if(!f)z=79;else{N=0;do{c[V+(N<<2)>>2]=d[e+N>>0];N=N+1|0}while((N|0)!=(f|0));z=79}}else{N=cp(i,e,f,c[g+8>>2]|0)|0;if(!N)z=79;else{W=N;X=0;Y=0;Z=0;_=0;$=0;aa=0}}while(0);a:do if((z|0)==79){g=Gp(0,2288)|0;if(g){Yu(g|0,0,1144)|0;f=Gp(0,240)|0;if(f){K=f;L=K+120|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));e=c[T>>2]|0;if(e|0){V=c[i>>2]|0;N=0;do{D=c[V+(N<<2)>>2]|0;C=g+(D<<2)|0;c[C>>2]=(c[C>>2]|0)+1;if(D>>>0>256){D=f+(c[V+(N+2<<2)>>2]<<2)|0;c[D>>2]=(c[D>>2]|0)+1;ba=N+3|0}else ba=N;N=ba+1|0}while(N>>>0<e>>>0)}c[g+1024>>2]=1;e=ep(j,g,286,15)|0;if(!e){N=ep(k,f,30,15)|0;if(!N){V=c[m>>2]&7;D=b+4|0;do if(!V){C=c[D>>2]|0;S=C+1|0;P=b+8|0;if((c[P>>2]|0)>>>0<S>>>0){O=S<<1;p=Gp(c[b>>2]|0,O)|0;if(!p){ca=0;break}c[P>>2]=O;c[b>>2]=p;da=p}else da=c[b>>2]|0;c[D>>2]=S;a[da+C>>0]=0;ca=c[m>>2]&7}else ca=V;while(0);V=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[V>>0]=1<<ca|(d[V>>0]|0);V=(c[m>>2]|0)+1|0;c[m>>2]=V;do if(!(V&7)){C=c[D>>2]|0;S=C+1|0;p=b+8|0;if((c[p>>2]|0)>>>0<S>>>0){O=S<<1;P=Gp(c[b>>2]|0,O)|0;if(!P){ea=V;break}c[p>>2]=O;c[b>>2]=P;fa=P}else fa=c[b>>2]|0;c[D>>2]=S;a[fa+C>>0]=0;ea=c[m>>2]|0}else ea=V;while(0);V=c[b>>2]|0;C=c[D>>2]|0;S=ea+1|0;c[m>>2]=S;P=S&7;do if(!P){S=C+1|0;O=b+8|0;if((c[O>>2]|0)>>>0<S>>>0){p=S<<1;s=Gp(V,p)|0;if(!s){ga=0;break}c[O>>2]=p;c[b>>2]=s;ha=s}else ha=V;c[D>>2]=S;a[ha+C>>0]=0;ga=c[m>>2]&7}else ga=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=1<<ga|(d[P>>0]|0);c[m>>2]=(c[m>>2]|0)+1;P=c[j+40>>2]|0;C=P>>>0<286?P:286;P=c[k+40>>2]|0;V=P>>>0<30?P:30;if(!C){ia=0;ja=0;ka=0;la=0;ma=0}else{P=c[j+24>>2]|0;S=0;s=0;p=0;O=0;r=0;I=0;M=0;while(1){U=c[P+(S<<2)>>2]|0;H=p+1|0;if(H<<2>>>0>O>>>0){q=H<<3;Q=Gp(M,q)|0;if(!Q){na=s;oa=p;pa=O;qa=I;ra=r;sa=M}else{ta=Q;ua=q;va=Q;wa=Q;xa=Q;z=110}}else{ta=s;ua=O;va=I;wa=r;xa=M;z=110}if((z|0)==110){z=0;c[ta+(p<<2)>>2]=U;na=ta;oa=H;pa=ua;qa=va;ra=wa;sa=xa}S=S+1|0;if(S>>>0>=C>>>0){ia=ra;ja=qa;ka=na;la=oa;ma=pa;break}else{s=na;p=oa;O=pa;r=ra;I=qa;M=sa}}}if(!V){ya=ja;za=ka;Aa=la}else{M=c[k+24>>2]|0;I=0;r=ka;O=la;p=ma;s=ja;S=ia;while(1){P=c[M+(I<<2)>>2]|0;H=O+1|0;if(H<<2>>>0>p>>>0){U=H<<3;Q=Gp(S,U)|0;if(!Q){Ba=r;Ca=O;Da=p;Ea=s;Ga=S}else{Ha=Q;Ia=U;Ja=Q;Ka=Q;z=117}}else{Ha=r;Ia=p;Ja=s;Ka=S;z=117}if((z|0)==117){z=0;c[Ha+(O<<2)>>2]=P;Ba=Ha;Ca=H;Da=Ia;Ea=Ja;Ga=Ka}I=I+1|0;if(I>>>0>=V>>>0){ya=Ea;za=Ba;Aa=Ca;break}else{r=Ba;O=Ca;p=Da;s=Ea;S=Ga}}}if(!Aa){La=0;Ma=0;Na=0}else{S=0;s=0;p=0;O=0;r=0;I=0;M=0;H=0;P=0;Q=0;U=0;q=0;o=0;F=0;v=0;while(1){t=S+1|0;w=c[za+(S<<2)>>2]|0;do if(t>>>0<Aa>>>0){u=S+2|0;x=0;B=t;while(1){if((c[za+(B<<2)>>2]|0)!=(w|0)){Oa=x;break}G=x+1|0;B=u+x|0;if(B>>>0>=Aa>>>0){Oa=G;break}else x=G}if((w|0)==0&Oa>>>0>1){x=Oa+1|0;do if(x>>>0<11){B=p+1|0;u=B<<2;do if(u>>>0>O>>>0){n=B<<3;y=Gp(q,n)|0;if(!y){Pa=B;Qa=u;Ra=s;Sa=p;Ta=O;Ua=U;Va=v;Wa=Q;Xa=P;Ya=H;Za=M;_a=F;$a=I;ab=o;bb=q;cb=r;break}db=y;eb=n;fb=y;gb=y;hb=y;ib=y;jb=y;kb=y;lb=y;mb=y;nb=y;ob=y;pb=y;z=130}else{db=s;eb=O;fb=U;gb=v;hb=Q;ib=P;jb=H;kb=M;lb=F;mb=I;nb=o;ob=r;pb=q;z=130}while(0);if((z|0)==130){z=0;c[db+(p<<2)>>2]=17;u=p+2|0;Pa=u;Qa=u<<2;Ra=db;Sa=B;Ta=eb;Ua=fb;Va=gb;Wa=hb;Xa=ib;Ya=jb;Za=kb;_a=lb;$a=mb;ab=nb;bb=pb;cb=ob}u=Oa+-2|0;if(Qa>>>0>Ta>>>0){y=Pa<<3;n=Gp(cb,y)|0;if(!n){qb=x;rb=Ra;sb=Sa;tb=Ta;ub=Ua;vb=Va;wb=Wa;xb=Xa;yb=Ya;zb=Za;Ab=_a;Bb=$a;Cb=ab;Db=cb;Eb=bb;break}Fb=n;Gb=y;Hb=n;Ib=n;Jb=n;Kb=n;Lb=n;Mb=n;Nb=n;Ob=n;Pb=n;Qb=n;Rb=n}else{Fb=Ra;Gb=Ta;Hb=Ua;Ib=Va;Jb=Wa;Kb=Xa;Lb=Ya;Mb=Za;Nb=_a;Ob=$a;Pb=ab;Qb=cb;Rb=bb}c[Fb+(Sa<<2)>>2]=u;qb=x;rb=Fb;sb=Pa;tb=Gb;ub=Hb;vb=Ib;wb=Jb;xb=Kb;yb=Lb;zb=Mb;Ab=Nb;Bb=Ob;Cb=Pb;Db=Qb;Eb=Rb}else{u=x>>>0<138?x:138;n=p+1|0;y=n<<2;do if(y>>>0>O>>>0){G=n<<3;A=Gp(o,G)|0;if(!A){Sb=n;Tb=y;Ub=s;Vb=p;Wb=O;Xb=U;Yb=v;Zb=Q;_b=P;$b=H;ac=M;bc=F;cc=o;dc=r;ec=q;fc=I;break}gc=A;hc=G;ic=A;jc=A;kc=A;lc=A;mc=A;nc=A;oc=A;pc=A;qc=A;rc=A;sc=A;z=138}else{gc=s;hc=O;ic=U;jc=v;kc=Q;lc=P;mc=H;nc=M;oc=F;pc=I;qc=o;rc=r;sc=q;z=138}while(0);if((z|0)==138){z=0;c[gc+(p<<2)>>2]=18;y=p+2|0;Sb=y;Tb=y<<2;Ub=gc;Vb=n;Wb=hc;Xb=ic;Yb=jc;Zb=kc;_b=lc;$b=mc;ac=nc;bc=oc;cc=qc;dc=rc;ec=sc;fc=pc}y=u+-11|0;if(Tb>>>0>Wb>>>0){B=Sb<<3;A=Gp(fc,B)|0;if(!A){qb=u;rb=Ub;sb=Vb;tb=Wb;ub=Xb;vb=Yb;wb=Zb;xb=_b;yb=$b;zb=ac;Ab=bc;Bb=fc;Cb=cc;Db=dc;Eb=ec;break}tc=A;uc=B;vc=A;wc=A;xc=A;yc=A;zc=A;Ac=A;Bc=A;Cc=A;Dc=A;Ec=A;Fc=A}else{tc=Ub;uc=Wb;vc=Xb;wc=Yb;xc=Zb;yc=_b;zc=$b;Ac=ac;Bc=bc;Cc=fc;Dc=cc;Ec=dc;Fc=ec}c[tc+(Vb<<2)>>2]=y;qb=u;rb=tc;sb=Sb;tb=uc;ub=vc;vb=wc;wb=xc;xb=yc;yb=zc;zb=Ac;Ab=Bc;Bb=Cc;Cb=Dc;Db=Ec;Eb=Fc}while(0);Gc=S+-1+qb|0;Hc=rb;Ic=sb;Jc=tb;Kc=ub;Lc=vb;Mc=wb;Nc=xb;Oc=yb;Pc=zb;Qc=Ab;Rc=Bb;Sc=Cb;Tc=Db;Uc=Eb;break}if(Oa>>>0>2){x=(Oa>>>0)/6|0;y=Oa-(x*6|0)|0;A=p+1|0;do if(A<<2>>>0>O>>>0){B=A<<3;G=Gp(F,B)|0;if(!G){Vc=s;Wc=p;Xc=O;Yc=U;Zc=v;_c=Q;$c=P;ad=H;bd=M;cd=F;dd=I;ed=o;fd=r;gd=q;break}hd=G;id=B;jd=G;kd=G;ld=G;md=G;nd=G;od=G;pd=G;qd=G;rd=G;sd=G;td=G;z=148}else{hd=s;id=O;jd=U;kd=v;ld=Q;md=P;nd=H;od=M;pd=F;qd=I;rd=o;sd=r;td=q;z=148}while(0);if((z|0)==148){z=0;c[hd+(p<<2)>>2]=w;Vc=hd;Wc=A;Xc=id;Yc=jd;Zc=kd;_c=ld;$c=md;ad=nd;bd=od;cd=pd;dd=qd;ed=rd;fd=sd;gd=td}if(Oa>>>0>5){G=0;B=Vc;ud=Wc;vd=Xc;wd=gd;xd=fd;yd=ed;zd=dd;Ad=cd;Bd=ad;Cd=$c;Dd=_c;Ed=Zc;Fd=Yc;Gd=bd;while(1){Hd=ud+1|0;Id=Hd<<2;do if(Id>>>0>vd>>>0){Jd=Hd<<3;Kd=Gp(Gd,Jd)|0;if(!Kd){Ld=Hd;Md=Id;Nd=B;Od=ud;Pd=vd;Qd=Fd;Rd=Ed;Sd=Dd;Td=Cd;Ud=Gd;Vd=Ad;Wd=zd;Xd=yd;Yd=xd;Zd=wd;_d=Bd;break}$d=Kd;ae=Jd;be=Kd;ce=Kd;de=Kd;ee=Kd;fe=Kd;ge=Kd;he=Kd;ie=Kd;je=Kd;ke=Kd;le=Kd;z=154}else{$d=B;ae=vd;be=Fd;ce=Ed;de=Dd;ee=Cd;fe=Bd;ge=Gd;he=Ad;ie=zd;je=yd;ke=xd;le=wd;z=154}while(0);if((z|0)==154){z=0;c[$d+(ud<<2)>>2]=16;Id=ud+2|0;Ld=Id;Md=Id<<2;Nd=$d;Od=Hd;Pd=ae;Qd=be;Rd=ce;Sd=de;Td=ee;Ud=ge;Vd=he;Wd=ie;Xd=je;Yd=ke;Zd=le;_d=fe}do if(Md>>>0>Pd>>>0){Id=Ld<<3;u=Gp(_d,Id)|0;if(!u){me=Nd;ne=Od;oe=Pd;pe=Qd;qe=Rd;re=Sd;se=Td;te=_d;ue=Ud;ve=Vd;we=Wd;xe=Xd;ye=Yd;ze=Zd;break}Ae=u;Be=Id;Ce=u;De=u;Ee=u;Fe=u;Ge=u;He=u;Ie=u;Je=u;Ke=u;Le=u;Me=u;z=158}else{Ae=Nd;Be=Pd;Ce=Qd;De=Rd;Ee=Sd;Fe=Td;Ge=_d;He=Ud;Ie=Vd;Je=Wd;Ke=Xd;Le=Yd;Me=Zd;z=158}while(0);if((z|0)==158){z=0;c[Ae+(Od<<2)>>2]=3;me=Ae;ne=Ld;oe=Be;pe=Ce;qe=De;re=Ee;se=Fe;te=Ge;ue=He;ve=Ie;we=Je;xe=Ke;ye=Le;ze=Me}G=G+1|0;if(G>>>0>=x>>>0){Ne=ze;Oe=ye;Pe=xe;Qe=we;Re=ve;Se=ue;Te=te;Ue=se;Ve=re;We=qe;Xe=pe;Ye=me;Ze=ne;_e=oe;break}else{B=me;ud=ne;vd=oe;wd=ze;xd=ye;yd=xe;zd=we;Ad=ve;Bd=te;Cd=se;Dd=re;Ed=qe;Fd=pe;Gd=ue}}}else{Ne=gd;Oe=fd;Pe=ed;Qe=dd;Re=cd;Se=bd;Te=ad;Ue=$c;Ve=_c;We=Zc;Xe=Yc;Ye=Vc;Ze=Wc;_e=Xc}do if(y>>>0>2){Gd=Ze+1|0;Fd=Gd<<2;do if(Fd>>>0>_e>>>0){Ed=Gd<<3;Dd=Gp(Ue,Ed)|0;if(!Dd){$e=Gd;af=Fd;bf=Ye;cf=Ze;df=_e;ef=Xe;ff=We;gf=Ue;hf=Te;jf=Se;kf=Re;lf=Qe;mf=Pe;nf=Oe;of=Ne;pf=Ve;break}qf=Dd;rf=Ed;sf=Dd;tf=Dd;uf=Dd;vf=Dd;wf=Dd;xf=Dd;yf=Dd;zf=Dd;Af=Dd;Bf=Dd;Cf=Dd;z=164}else{qf=Ye;rf=_e;sf=Xe;tf=We;uf=Ve;vf=Ue;wf=Te;xf=Se;yf=Re;zf=Qe;Af=Pe;Bf=Oe;Cf=Ne;z=164}while(0);if((z|0)==164){z=0;c[qf+(Ze<<2)>>2]=16;Fd=Ze+2|0;$e=Fd;af=Fd<<2;bf=qf;cf=Gd;df=rf;ef=sf;ff=tf;gf=vf;hf=wf;jf=xf;kf=yf;lf=zf;mf=Af;nf=Bf;of=Cf;pf=uf}Fd=y+-3|0;if(af>>>0>df>>>0){Dd=$e<<3;Ed=Gp(pf,Dd)|0;if(!Ed){Df=Oa;Ef=bf;Ff=cf;Gf=df;Hf=ef;If=ff;Jf=pf;Kf=gf;Lf=hf;Mf=jf;Nf=kf;Of=lf;Pf=mf;Qf=nf;Rf=of;break}Sf=Ed;Tf=Dd;Uf=Ed;Vf=Ed;Wf=Ed;Xf=Ed;Yf=Ed;Zf=Ed;_f=Ed;$f=Ed;ag=Ed;bg=Ed;cg=Ed}else{Sf=bf;Tf=df;Uf=ef;Vf=ff;Wf=pf;Xf=gf;Yf=hf;Zf=jf;_f=kf;$f=lf;ag=mf;bg=nf;cg=of}c[Sf+(cf<<2)>>2]=Fd;Df=Oa;Ef=Sf;Ff=$e;Gf=Tf;Hf=Uf;If=Vf;Jf=Wf;Kf=Xf;Lf=Yf;Mf=Zf;Nf=_f;Of=$f;Pf=ag;Qf=bg;Rf=cg}else{Df=Oa-y|0;Ef=Ye;Ff=Ze;Gf=_e;Hf=Xe;If=We;Jf=Ve;Kf=Ue;Lf=Te;Mf=Se;Nf=Re;Of=Qe;Pf=Pe;Qf=Oe;Rf=Ne}while(0);Gc=Df+S|0;Hc=Ef;Ic=Ff;Jc=Gf;Kc=Hf;Lc=If;Mc=Jf;Nc=Kf;Oc=Lf;Pc=Mf;Qc=Nf;Rc=Of;Sc=Pf;Tc=Qf;Uc=Rf}else z=171}else z=171;while(0);do if((z|0)==171){z=0;t=p+1|0;if(t<<2>>>0>O>>>0){E=t<<3;y=Gp(v,E)|0;if(!y){Gc=S;Hc=s;Ic=p;Jc=O;Kc=U;Lc=v;Mc=Q;Nc=P;Oc=H;Pc=M;Qc=F;Rc=I;Sc=o;Tc=r;Uc=q;break}dg=y;eg=E;fg=y;gg=y;hg=y;ig=y;jg=y;kg=y;lg=y;mg=y;ng=y;og=y;pg=y}else{dg=s;eg=O;fg=U;gg=v;hg=Q;ig=P;jg=H;kg=M;lg=F;mg=I;ng=o;og=r;pg=q}c[dg+(p<<2)>>2]=w;Gc=S;Hc=dg;Ic=t;Jc=eg;Kc=fg;Lc=gg;Mc=hg;Nc=ig;Oc=jg;Pc=kg;Qc=lg;Rc=mg;Sc=ng;Tc=og;Uc=pg}while(0);S=Gc+1|0;if(S>>>0>=Aa>>>0){La=Kc;Ma=Hc;Na=Ic;break}else{s=Hc;p=Ic;O=Jc;r=Tc;I=Rc;M=Pc;H=Oc;P=Nc;Q=Mc;U=Kc;q=Uc;o=Sc;F=Qc;v=Lc}}}v=Gp(0,152)|0;if(v){K=v;L=K+76|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));F=(Na|0)==0;if(!F){o=0;do{q=Ma+(o<<2)|0;U=v+(c[q>>2]<<2)|0;c[U>>2]=(c[U>>2]|0)+1;o=o+1+((c[q>>2]|0)>>>0>15&1)|0}while(o>>>0<Na>>>0)}o=ep(l,v,19,7)|0;if(!o){q=Gp(0,152)|0;if(!q){W=9927;X=g;Y=f;Z=v;_=La;$=ya;aa=0}else{U=c[l+24>>2]|0;c[q>>2]=c[U+64>>2];c[q+4>>2]=c[U+68>>2];c[q+8>>2]=c[U+72>>2];c[q+12>>2]=c[U>>2];c[q+16>>2]=c[U+32>>2];c[q+20>>2]=c[U+28>>2];c[q+24>>2]=c[U+36>>2];c[q+28>>2]=c[U+24>>2];c[q+32>>2]=c[U+40>>2];c[q+36>>2]=c[U+20>>2];c[q+40>>2]=c[U+44>>2];c[q+44>>2]=c[U+16>>2];c[q+48>>2]=c[U+48>>2];c[q+52>>2]=c[U+12>>2];c[q+56>>2]=c[U+52>>2];c[q+60>>2]=c[U+8>>2];c[q+64>>2]=c[U+56>>2];c[q+68>>2]=c[U+4>>2];Q=c[U+60>>2]|0;c[q+72>>2]=Q;if(!Q){Q=q;P=152;H=q;M=18;I=q;while(1){if(M<<2>>>0>P>>>0){r=M<<3;O=Gp(I,r)|0;if(!O){W=9928;X=g;Y=f;Z=v;_=La;$=ya;aa=H;break a}qg=O;rg=r;sg=O;tg=O}else{qg=Q;rg=P;sg=H;tg=I}O=M+-1|0;if(M>>>0>4?(c[qg+(O<<2)>>2]|0)==0:0){Q=qg;P=rg;H=sg;M=O;I=tg}else{ug=sg;vg=qg;wg=M;break}}}else{ug=q;vg=q;wg=19}M=C+-257|0;I=V+-1|0;H=b+8|0;P=M&1;Q=c[m>>2]&7;do if(!Q){O=c[D>>2]|0;r=O+1|0;if((c[H>>2]|0)>>>0<r>>>0){p=r<<1;s=Gp(c[b>>2]|0,p)|0;if(!s){xg=0;break}c[H>>2]=p;c[b>>2]=s;yg=s}else yg=c[b>>2]|0;c[D>>2]=r;a[yg+O>>0]=0;xg=c[m>>2]&7}else xg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<xg|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=M>>>1&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=Gp(c[b>>2]|0,O)|0;if(!r){zg=0;break}c[H>>2]=O;c[b>>2]=r;Ag=r}else Ag=c[b>>2]|0;c[D>>2]=q;a[Ag+Q>>0]=0;zg=c[m>>2]&7}else zg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<zg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=M>>>2&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0<q>>>0){r=q<<1;O=Gp(c[b>>2]|0,r)|0;if(!O){Bg=0;break}c[H>>2]=r;c[b>>2]=O;Cg=O}else Cg=c[b>>2]|0;c[D>>2]=q;a[Cg+C>>0]=0;Bg=c[m>>2]&7}else Bg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Bg|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=M>>>3&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=Gp(c[b>>2]|0,O)|0;if(!r){Dg=0;break}c[H>>2]=O;c[b>>2]=r;Eg=r}else Eg=c[b>>2]|0;c[D>>2]=q;a[Eg+Q>>0]=0;Dg=c[m>>2]&7}else Dg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Dg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=M>>>4&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0<q>>>0){r=q<<1;O=Gp(c[b>>2]|0,r)|0;if(!O){Fg=0;break}c[H>>2]=r;c[b>>2]=O;Gg=O}else Gg=c[b>>2]|0;c[D>>2]=q;a[Gg+C>>0]=0;Fg=c[m>>2]&7}else Fg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Fg|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;M=wg+-4|0;V=I&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=Gp(c[b>>2]|0,O)|0;if(!r){Hg=0;break}c[H>>2]=O;c[b>>2]=r;Ig=r}else Ig=c[b>>2]|0;c[D>>2]=q;a[Ig+Q>>0]=0;Hg=c[m>>2]&7}else Hg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Hg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=I>>>1&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0<q>>>0){r=q<<1;O=Gp(c[b>>2]|0,r)|0;if(!O){Jg=0;break}c[H>>2]=r;c[b>>2]=O;Kg=O}else Kg=c[b>>2]|0;c[D>>2]=q;a[Kg+C>>0]=0;Jg=c[m>>2]&7}else Jg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Jg|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=I>>>2&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=Gp(c[b>>2]|0,O)|0;if(!r){Lg=0;break}c[H>>2]=O;c[b>>2]=r;Mg=r}else Mg=c[b>>2]|0;c[D>>2]=q;a[Mg+Q>>0]=0;Lg=c[m>>2]&7}else Lg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Lg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=I>>>3&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0<q>>>0){r=q<<1;O=Gp(c[b>>2]|0,r)|0;if(!O){Ng=0;break}c[H>>2]=r;c[b>>2]=O;Og=O}else Og=c[b>>2]|0;c[D>>2]=q;a[Og+C>>0]=0;Ng=c[m>>2]&7}else Ng=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Ng|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=I>>>4&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=Gp(c[b>>2]|0,O)|0;if(!r){Pg=0;break}c[H>>2]=O;c[b>>2]=r;Qg=r}else Qg=c[b>>2]|0;c[D>>2]=q;a[Qg+Q>>0]=0;Pg=c[m>>2]&7}else Pg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Pg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;I=M&1;P=C&7;do if(!P){C=c[D>>2]|0;Q=C+1|0;if((c[H>>2]|0)>>>0<Q>>>0){q=Q<<1;r=Gp(c[b>>2]|0,q)|0;if(!r){Rg=0;break}c[H>>2]=q;c[b>>2]=r;Sg=r}else Sg=c[b>>2]|0;c[D>>2]=Q;a[Sg+C>>0]=0;Rg=c[m>>2]&7}else Rg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=I<<Rg|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=M>>>1&1;C=P&7;do if(!C){P=c[D>>2]|0;Q=P+1|0;if((c[H>>2]|0)>>>0<Q>>>0){r=Q<<1;q=Gp(c[b>>2]|0,r)|0;if(!q){Tg=0;break}c[H>>2]=r;c[b>>2]=q;Ug=q}else Ug=c[b>>2]|0;c[D>>2]=Q;a[Ug+P>>0]=0;Tg=c[m>>2]&7}else Tg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Tg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;I=M>>>2&1;P=C&7;do if(!P){C=c[D>>2]|0;Q=C+1|0;if((c[H>>2]|0)>>>0<Q>>>0){q=Q<<1;r=Gp(c[b>>2]|0,q)|0;if(!r){Vg=0;break}c[H>>2]=q;c[b>>2]=r;Wg=r}else Wg=c[b>>2]|0;c[D>>2]=Q;a[Wg+C>>0]=0;Vg=c[m>>2]&7}else Vg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=I<<Vg|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=M>>>3&1;C=P&7;do if(!C){P=c[D>>2]|0;Q=P+1|0;if((c[H>>2]|0)>>>0<Q>>>0){r=Q<<1;q=Gp(c[b>>2]|0,r)|0;if(!q){Xg=0;break}c[H>>2]=r;c[b>>2]=q;Yg=q}else Yg=c[b>>2]|0;c[D>>2]=Q;a[Yg+P>>0]=0;Xg=c[m>>2]&7}else Xg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Xg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;if(!wg)Zg=C;else{M=0;I=C;while(1){C=c[vg+(M<<2)>>2]|0;P=C&1;Q=I&7;do if(!Q){q=c[D>>2]|0;r=q+1|0;if((c[H>>2]|0)>>>0<r>>>0){O=r<<1;s=Gp(c[b>>2]|0,O)|0;if(!s){_g=0;break}c[H>>2]=O;c[b>>2]=s;$g=s}else $g=c[b>>2]|0;c[D>>2]=r;a[$g+q>>0]=0;_g=c[m>>2]&7}else _g=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<_g|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;q=C>>>1&1;r=Q&7;do if(!r){Q=c[D>>2]|0;s=Q+1|0;if((c[H>>2]|0)>>>0<s>>>0){O=s<<1;p=Gp(c[b>>2]|0,O)|0;if(!p){ah=0;break}c[H>>2]=O;c[b>>2]=p;bh=p}else bh=c[b>>2]|0;c[D>>2]=s;a[bh+Q>>0]=0;ah=c[m>>2]&7}else ah=r;while(0);r=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[r>>0]=q<<ah|(d[r>>0]|0);r=(c[m>>2]|0)+1|0;c[m>>2]=r;P=C>>>2&1;Q=r&7;do if(!Q){r=c[D>>2]|0;s=r+1|0;if((c[H>>2]|0)>>>0<s>>>0){p=s<<1;O=Gp(c[b>>2]|0,p)|0;if(!O){ch=0;break}c[H>>2]=p;c[b>>2]=O;dh=O}else dh=c[b>>2]|0;c[D>>2]=s;a[dh+r>>0]=0;ch=c[m>>2]&7}else ch=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<ch|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;M=M+1|0;if((M|0)==(wg|0)){Zg=Q;break}else I=Q}}b:do if(!F){I=c[l+12>>2]|0;M=0;V=Zg;while(1){Q=Ma+(M<<2)|0;C=c[Q>>2]|0;q=c[I+(C<<2)>>2]|0;r=c[U+(C<<2)>>2]|0;if(!r){eh=V;fh=C}else{C=r+-1|0;s=0;O=V;do{p=q>>>(C-s|0)&1;S=O&7;do if(!S){w=c[D>>2]|0;t=w+1|0;if((c[H>>2]|0)>>>0<t>>>0){y=t<<1;E=Gp(c[b>>2]|0,y)|0;if(!E){gh=0;break}c[H>>2]=y;c[b>>2]=E;hh=E}else hh=c[b>>2]|0;c[D>>2]=t;a[hh+w>>0]=0;gh=c[m>>2]&7}else gh=S;while(0);S=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[S>>0]=p<<gh|(d[S>>0]|0);O=(c[m>>2]|0)+1|0;c[m>>2]=O;s=s+1|0}while((s|0)!=(r|0));eh=O;fh=c[Q>>2]|0}switch(fh|0){case 16:{r=M+1|0;s=c[Ma+(r<<2)>>2]|0;C=s&1;q=eh&7;do if(!q){S=c[D>>2]|0;Gd=S+1|0;if((c[H>>2]|0)>>>0<Gd>>>0){w=Gd<<1;t=Gp(c[b>>2]|0,w)|0;if(!t){ih=0;break}c[H>>2]=w;c[b>>2]=t;jh=t}else jh=c[b>>2]|0;c[D>>2]=Gd;a[jh+S>>0]=0;ih=c[m>>2]&7}else ih=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<<ih|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;Q=s>>>1&1;O=q&7;do if(!O){q=c[D>>2]|0;S=q+1|0;if((c[H>>2]|0)>>>0<S>>>0){Gd=S<<1;t=Gp(c[b>>2]|0,Gd)|0;if(!t){kh=0;break}c[H>>2]=Gd;c[b>>2]=t;lh=t}else lh=c[b>>2]|0;c[D>>2]=S;a[lh+q>>0]=0;kh=c[m>>2]&7}else kh=O;while(0);O=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[O>>0]=Q<<kh|(d[O>>0]|0);O=(c[m>>2]|0)+1|0;c[m>>2]=O;mh=r;nh=O;break}case 17:{O=M+1|0;s=c[Ma+(O<<2)>>2]|0;C=s&1;q=eh&7;do if(!q){S=c[D>>2]|0;t=S+1|0;if((c[H>>2]|0)>>>0<t>>>0){Gd=t<<1;w=Gp(c[b>>2]|0,Gd)|0;if(!w){oh=0;break}c[H>>2]=Gd;c[b>>2]=w;ph=w}else ph=c[b>>2]|0;c[D>>2]=t;a[ph+S>>0]=0;oh=c[m>>2]&7}else oh=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<<oh|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;r=s>>>1&1;Q=q&7;do if(!Q){q=c[D>>2]|0;S=q+1|0;if((c[H>>2]|0)>>>0<S>>>0){t=S<<1;w=Gp(c[b>>2]|0,t)|0;if(!w){qh=0;break}c[H>>2]=t;c[b>>2]=w;rh=w}else rh=c[b>>2]|0;c[D>>2]=S;a[rh+q>>0]=0;qh=c[m>>2]&7}else qh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<qh|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;C=s>>>2&1;q=Q&7;do if(!q){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0<S>>>0){w=S<<1;t=Gp(c[b>>2]|0,w)|0;if(!t){sh=0;break}c[H>>2]=w;c[b>>2]=t;th=t}else th=c[b>>2]|0;c[D>>2]=S;a[th+Q>>0]=0;sh=c[m>>2]&7}else sh=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<<sh|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;mh=O;nh=q;break}case 18:{q=M+1|0;s=c[Ma+(q<<2)>>2]|0;r=s&1;Q=eh&7;do if(!Q){S=c[D>>2]|0;t=S+1|0;if((c[H>>2]|0)>>>0<t>>>0){w=t<<1;Gd=Gp(c[b>>2]|0,w)|0;if(!Gd){uh=0;break}c[H>>2]=w;c[b>>2]=Gd;vh=Gd}else vh=c[b>>2]|0;c[D>>2]=t;a[vh+S>>0]=0;uh=c[m>>2]&7}else uh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<uh|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>1&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0<S>>>0){t=S<<1;Gd=Gp(c[b>>2]|0,t)|0;if(!Gd){wh=0;break}c[H>>2]=t;c[b>>2]=Gd;xh=Gd}else xh=c[b>>2]|0;c[D>>2]=S;a[xh+Q>>0]=0;wh=c[m>>2]&7}else wh=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<<wh|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>2&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0<S>>>0){Gd=S<<1;t=Gp(c[b>>2]|0,Gd)|0;if(!t){yh=0;break}c[H>>2]=Gd;c[b>>2]=t;zh=t}else zh=c[b>>2]|0;c[D>>2]=S;a[zh+C>>0]=0;yh=c[m>>2]&7}else yh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<yh|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>3&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0<S>>>0){t=S<<1;Gd=Gp(c[b>>2]|0,t)|0;if(!Gd){Ah=0;break}c[H>>2]=t;c[b>>2]=Gd;Bh=Gd}else Bh=c[b>>2]|0;c[D>>2]=S;a[Bh+Q>>0]=0;Ah=c[m>>2]&7}else Ah=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<<Ah|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>4&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0<S>>>0){Gd=S<<1;t=Gp(c[b>>2]|0,Gd)|0;if(!t){Ch=0;break}c[H>>2]=Gd;c[b>>2]=t;Dh=t}else Dh=c[b>>2]|0;c[D>>2]=S;a[Dh+C>>0]=0;Ch=c[m>>2]&7}else Ch=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<Ch|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>5&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0<S>>>0){t=S<<1;Gd=Gp(c[b>>2]|0,t)|0;if(!Gd){Eh=0;break}c[H>>2]=t;c[b>>2]=Gd;Fh=Gd}else Fh=c[b>>2]|0;c[D>>2]=S;a[Fh+Q>>0]=0;Eh=c[m>>2]&7}else Eh=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<<Eh|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>6&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0<S>>>0){Gd=S<<1;t=Gp(c[b>>2]|0,Gd)|0;if(!t){Gh=0;break}c[H>>2]=Gd;c[b>>2]=t;Hh=t}else Hh=c[b>>2]|0;c[D>>2]=S;a[Hh+C>>0]=0;Gh=c[m>>2]&7}else Gh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<Gh|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;mh=q;nh=Q;break}default:{mh=M;nh=eh}}M=mh+1|0;if(M>>>0>=Na>>>0)break b;else V=nh}}while(0);dp(m,b,i,j,k);U=c[(c[j+24>>2]|0)+1024>>2]|0;if(!U){W=64;X=g;Y=f;Z=v;_=La;$=ya;aa=ug;break}F=c[(c[j+12>>2]|0)+1024>>2]|0;V=U+-1|0;M=0;I=c[m>>2]|0;do{P=F>>>(V-M|0)&1;Q=I&7;do if(!Q){s=c[D>>2]|0;O=s+1|0;if((c[H>>2]|0)>>>0<O>>>0){C=O<<1;S=Gp(c[b>>2]|0,C)|0;if(!S){Ih=0;break}c[H>>2]=C;c[b>>2]=S;Jh=S}else Jh=c[b>>2]|0;c[D>>2]=O;a[Jh+s>>0]=0;Ih=c[m>>2]&7}else Ih=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Ih|(d[Q>>0]|0);I=(c[m>>2]|0)+1|0;c[m>>2]=I;M=M+1|0}while((M|0)!=(U|0));W=0;X=g;Y=f;Z=v;_=La;$=ya;aa=ug}}else{W=o;X=g;Y=f;Z=v;_=La;$=ya;aa=0}}else{W=9926;X=g;Y=f;Z=0;_=La;$=ya;aa=0}}else{W=N;X=g;Y=f;Z=0;_=0;$=0;aa=0}}else{W=e;X=g;Y=f;Z=0;_=0;$=0;aa=0}}else{W=9925;X=g;Y=0;Z=0;_=0;$=0;aa=0}}else{W=9924;X=0;Y=0;Z=0;_=0;$=0;aa=0}}while(0);c[R>>2]=0;c[T>>2]=0;Hp(c[i>>2]|0);c[j+8>>2]=0;c[j+4>>2]=0;Hp(c[j>>2]|0);c[j>>2]=0;i=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;Hp(c[i>>2]|0);c[i>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;Hp(c[j+24>>2]|0);c[k+8>>2]=0;c[k+4>>2]=0;Hp(c[k>>2]|0);c[k>>2]=0;j=k+12|0;c[k+20>>2]=0;c[k+16>>2]=0;Hp(c[j>>2]|0);c[j>>2]=0;c[k+32>>2]=0;c[k+28>>2]=0;Hp(c[k+24>>2]|0);c[l+8>>2]=0;c[l+4>>2]=0;Hp(c[l>>2]|0);c[l>>2]=0;k=l+12|0;c[l+20>>2]=0;c[l+16>>2]=0;Hp(c[k>>2]|0);c[k>>2]=0;c[l+32>>2]=0;c[l+28>>2]=0;Hp(c[l+24>>2]|0);Hp(X);Hp(Y);Hp(Z);Hp(_);Hp($);Hp(aa);J=W;Fa=h;return J|0}default:{J=61;Fa=h;return J|0}}return 0}function cp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0;h=Gp(0,1572864)|0;if(!h){i=9917;return i|0}Yu(h|0,0,786432)|0;j=Gp(0,524288)|0;if(!j){k=0;l=9918;m=0}else{Yu(j|0,0,262144)|0;k=j;l=0;m=j}j=Gp(0,524288)|0;a:do if(j){Yu(j|0,0,262144)|0;if(!l)if(!f){n=0;o=j;p=0}else{q=b+4|0;r=b+8|0;s=0;t=0;u=0;v=0;w=0;x=0;y=0;z=0;while(1){A=s>>>0<g>>>0?s:g;B=f-s|0;C=(s+6|0)>>>0<f>>>0?6:B;if(!C)D=0;else{E=0;F=0;do{E=d[e+(F+s)>>0]<<(F<<1)^E;F=F+1|0}while(F>>>0<C>>>0);D=E&65535}C=B>>>0<258?B:258;b:do if(!C)G=0;else{F=0;while(1){if(a[e+(F+s)>>0]|0){G=F;break b}F=F+1|0;if(F>>>0>=C>>>0){G=C;break}}}while(0);C=h+(D*12|0)|0;E=C+4|0;F=c[E>>2]|0;H=F+1|0;I=C+8|0;if(H<<2>>>0>(c[I>>2]|0)>>>0){J=H<<3;K=Gp(c[C>>2]|0,J)|0;if(!K){n=9920;o=j;p=y;break a}c[I>>2]=J;c[C>>2]=K;L=K}else L=c[C>>2]|0;c[E>>2]=H;c[L+(F<<2)>>2]=s;F=(D|0)==0;if(F){H=v+1|0;if(H<<2>>>0>w>>>0){E=H<<3;K=Gp(z,E)|0;if(!K){n=9920;o=j;p=y;break a}M=C;N=c[C>>2]|0;O=K;P=E;Q=K;R=K;S=K}else{M=C;N=L;O=u;P=w;Q=y;R=x;S=z}c[O+(v<<2)>>2]=G;T=M;U=O;V=H;W=P;X=Q;Y=R;Z=S;_=N}else{T=C;U=u;V=v;W=w;X=y;Y=x;Z=z;_=L}C=k+(D<<2)|0;H=c[C>>2]|0;K=s-A|0;if((c[_+(H<<2)>>2]|0)>>>0<K>>>0){E=c[T>>2]|0;J=H;while(1){I=J+1|0;c[C>>2]=I;if((c[E+(I<<2)>>2]|0)>>>0<K>>>0)J=I;else{$=E;aa=I;break}}}else{$=_;aa=H}E=j+(D<<2)|0;J=c[E>>2]|0;if((c[$+(J<<2)>>2]|0)>>>0<s>>>0){K=J;do{K=K+1|0;c[E>>2]=K}while((c[$+(K<<2)>>2]|0)>>>0<s>>>0);ba=K;ca=c[C>>2]|0}else{ba=J;ca=aa}E=s+258|0;H=E>>>0>f>>>0?f:E;E=e+H|0;A=ba+-1|0;c:do if(A>>>0>=ca>>>0&(ba|0)!=0){I=e+s|0;da=I;d:do if(F){ea=0;fa=0;ga=A;while(1){ha=c[$+(ga<<2)>>2]|0;ia=s-ha|0;ja=c[U+(ga<<2)>>2]|0;ka=ja>>>0>G>>>0?G:ja;ja=ka>>>0>B>>>0?B:ka;ka=I+ja|0;e:do if((ka|0)==(E|0))la=E;else{ma=e+ha+ja|0;na=ka;while(1){if((a[ma>>0]|0)!=(a[na>>0]|0)){la=na;break e}na=na+1|0;if((na|0)==(E|0)){la=E;break}else ma=ma+1|0}}while(0);ka=la-da|0;if(ka>>>0>ea>>>0)if((ka|0)==258){oa=258;pa=ia;break d}else{qa=ka;ra=ia}else{qa=ea;ra=fa}ga=ga+-1|0;if(!(ga>>>0>=ca>>>0&ga>>>0<ba>>>0)){sa=qa;ta=ra;ua=53;break}else{ea=qa;fa=ra}}}else{fa=(s|0)==(H|0);ea=0;ga=0;ka=A;while(1){ja=c[$+(ka<<2)>>2]|0;ha=s-ja|0;if(fa)va=da;else{ma=e+ja|0;ja=I;while(1){if((a[ma>>0]|0)!=(a[ja>>0]|0)){wa=ja;break}ja=ja+1|0;if((ja|0)==(E|0)){wa=E;break}else ma=ma+1|0}va=wa}ma=va-da|0;if(ma>>>0>ea>>>0)if((ma|0)==258){oa=258;pa=ha;break d}else{xa=ma;ya=ha}else{xa=ea;ya=ga}ka=ka+-1|0;if(!(ka>>>0>=ca>>>0&ka>>>0<ba>>>0)){sa=xa;ta=ya;ua=53;break}else{ea=xa;ga=ya}}}while(0);if((ua|0)==53){ua=0;if(sa>>>0<3){ua=54;break}else{oa=sa;pa=ta}}da=28;I=1;while(1){ga=(I+da|0)>>>1;if((c[28176+(ga<<2)>>2]|0)>>>0>oa>>>0){ea=ga+-1|0;ka=c[28176+(ea<<2)>>2]|0;if(ka>>>0>oa>>>0){za=ea;Aa=I}else{Ba=ea;Ca=ka;break}}else{za=da;Aa=ga+1|0}if(Aa>>>0>za>>>0){Ba=28;Ca=258;break}else{da=za;I=Aa}}I=oa-Ca|0;da=29;ga=1;while(1){ka=(ga+da|0)>>>1;if((c[28432+(ka<<2)>>2]|0)>>>0>pa>>>0){ea=ka+-1|0;fa=c[28432+(ea<<2)>>2]|0;if(fa>>>0>pa>>>0){Da=ea;Ea=ga}else{Fa=ea;Ga=fa;break}}else{Da=da;Ea=ka+1|0}if(Ea>>>0>Da>>>0){Fa=29;Ga=24577;break}else{da=Da;ga=Ea}}ga=pa-Ga|0;da=Ba+257|0;ka=c[q>>2]|0;fa=ka+1|0;ea=c[r>>2]|0;do if(fa<<2>>>0>ea>>>0){ma=fa<<3;ja=Gp(c[b>>2]|0,ma)|0;if(!ja){Ha=c[q>>2]|0;Ia=c[r>>2]|0;break}else{c[r>>2]=ma;c[b>>2]=ja;Ja=ja;Ka=ma;ua=74;break}}else{Ja=c[b>>2]|0;Ka=ea;ua=74}while(0);if((ua|0)==74){ua=0;c[q>>2]=fa;c[Ja+(ka<<2)>>2]=da;Ha=fa;Ia=Ka}ea=Ha+1|0;do if(ea<<2>>>0>Ia>>>0){ma=ea<<3;ja=Gp(c[b>>2]|0,ma)|0;if(!ja){La=c[q>>2]|0;Ma=c[r>>2]|0;break}else{c[r>>2]=ma;c[b>>2]=ja;Na=ja;Oa=ma;ua=80;break}}else{Na=c[b>>2]|0;Oa=Ia;ua=80}while(0);if((ua|0)==80){ua=0;c[q>>2]=ea;c[Na+(Ha<<2)>>2]=I;La=ea;Ma=Oa}fa=La+1|0;do if(fa<<2>>>0>Ma>>>0){da=fa<<3;ka=Gp(c[b>>2]|0,da)|0;if(!ka){Pa=c[q>>2]|0;Qa=c[r>>2]|0;break}else{c[r>>2]=da;c[b>>2]=ka;Ra=ka;Sa=da;ua=86;break}}else{Ra=c[b>>2]|0;Sa=Ma;ua=86}while(0);if((ua|0)==86){ua=0;c[q>>2]=fa;c[Ra+(La<<2)>>2]=Fa;Pa=fa;Qa=Sa}ea=Pa+1|0;do if(ea<<2>>>0>Qa>>>0){I=ea<<3;da=Gp(c[b>>2]|0,I)|0;if(!da)break;c[r>>2]=I;c[b>>2]=da;Ta=da;ua=91}else{Ta=c[b>>2]|0;ua=91}while(0);if((ua|0)==91){ua=0;c[q>>2]=ea;c[Ta+(Pa<<2)>>2]=ga}fa=oa+-1|0;if(!fa){Ua=s;Va=t;Wa=U;Xa=V;Ya=W;Za=X;_a=Y;$a=Z;break}da=0;I=s;ka=U;ma=V;ja=W;ia=Y;na=Z;ab=X;while(1){bb=I+1|0;do if(bb>>>0<f>>>0){cb=(I+7|0)>>>0<f>>>0?6:f-bb|0;if(!cb){db=0;break}eb=0;fb=0;do{eb=d[e+(fb+bb)>>0]<<(fb<<1)^eb;fb=fb+1|0}while(fb>>>0<cb>>>0);db=eb&65535}else db=0;while(0);cb=h+(db*12|0)|0;fb=cb+4|0;ha=c[fb>>2]|0;gb=ha+1|0;hb=cb+8|0;if(gb<<2>>>0>(c[hb>>2]|0)>>>0){ib=gb<<3;jb=Gp(c[cb>>2]|0,ib)|0;if(!jb){Ua=bb;Va=9922;Wa=ka;Xa=ma;Ya=ja;Za=ab;_a=ia;$a=na;break c}c[hb>>2]=ib;c[cb>>2]=jb;kb=jb}else kb=c[cb>>2]|0;c[fb>>2]=gb;c[kb+(ha<<2)>>2]=bb;if(!db){ha=f-bb|0;gb=ha>>>0<258?ha:258;f:do if(!gb)lb=0;else{ha=0;while(1){if(a[e+(ha+bb)>>0]|0){lb=ha;break f}ha=ha+1|0;if(ha>>>0>=gb>>>0){lb=gb;break}}}while(0);gb=ma+1|0;if(gb<<2>>>0>ja>>>0){ha=gb<<3;eb=Gp(ia,ha)|0;if(!eb){Ua=bb;Va=9922;Wa=ka;Xa=ma;Ya=ja;Za=ab;_a=ia;$a=na;break c}mb=eb;nb=ha;ob=eb;pb=eb;qb=eb}else{mb=ka;nb=ja;ob=ab;pb=ia;qb=na}c[mb+(ma<<2)>>2]=lb;rb=mb;sb=gb;tb=nb;ub=ob;vb=pb;wb=qb}else{rb=ka;sb=ma;tb=ja;ub=ab;vb=ia;wb=na}da=da+1|0;if(da>>>0>=fa>>>0){Ua=bb;Va=t;Wa=rb;Xa=sb;Ya=tb;Za=ub;_a=vb;$a=wb;break}else{I=bb;ka=rb;ma=sb;ja=tb;ia=vb;na=wb;ab=ub}}}else ua=54;while(0);if((ua|0)==54){ua=0;E=d[e+s>>0]|0;A=c[q>>2]|0;H=A+1|0;if(H<<2>>>0>(c[r>>2]|0)>>>0){B=H<<3;F=Gp(c[b>>2]|0,B)|0;if(!F){n=9921;o=j;p=X;break a}c[r>>2]=B;c[b>>2]=F;xb=F}else xb=c[b>>2]|0;c[q>>2]=H;c[xb+(A<<2)>>2]=E;Ua=s;Va=t;Wa=U;Xa=V;Ya=W;Za=X;_a=Y;$a=Z}s=Ua+1|0;if(s>>>0>=f>>>0){n=Va;o=j;p=Za;break}else{t=Va;u=Wa;v=Xa;w=Ya;x=_a;y=Za;z=$a}}}else{n=l;o=j;p=0}}else{n=9919;o=0;p=0}while(0);j=0;do{l=h+(j*12|0)|0;c[l+8>>2]=0;c[l+4>>2]=0;Hp(c[l>>2]|0);c[l>>2]=0;j=j+1|0}while((j|0)!=65536);Hp(h);Hp(m);Hp(o);Hp(p);i=n;return i|0}function dp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=f+4|0;if(!(c[i>>2]|0))return;j=g+12|0;k=g+24|0;g=e+4|0;l=e+8|0;m=h+12|0;n=h+24|0;h=0;do{o=c[(c[f>>2]|0)+(h<<2)>>2]|0;p=c[(c[j>>2]|0)+(o<<2)>>2]|0;q=c[(c[k>>2]|0)+(o<<2)>>2]|0;if(q|0){r=q+-1|0;s=0;t=c[b>>2]|0;do{u=p>>>(r-s|0)&1;do if(!(t&7)){v=c[g>>2]|0;w=v+1|0;if((c[l>>2]|0)>>>0<w>>>0){x=w<<1;y=Gp(c[e>>2]|0,x)|0;if(!y)break;c[l>>2]=x;c[e>>2]=y;z=y}else z=c[e>>2]|0;c[g>>2]=w;a[z+v>>0]=0}while(0);v=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[v>>0]=u<<(c[b>>2]&7)|(d[v>>0]|0);t=(c[b>>2]|0)+1|0;c[b>>2]=t;s=s+1|0}while((s|0)!=(q|0))}if(o>>>0>256){q=c[28048+(o+-257<<2)>>2]|0;s=c[f>>2]|0;t=c[s+(h+1<<2)>>2]|0;r=c[s+(h+2<<2)>>2]|0;p=c[28304+(r<<2)>>2]|0;v=h+3|0;w=c[s+(v<<2)>>2]|0;if((o+-265|0)>>>0<=19){s=0;y=c[b>>2]|0;do{x=t>>>s&1;do if(!(y&7)){A=c[g>>2]|0;B=A+1|0;if((c[l>>2]|0)>>>0<B>>>0){C=B<<1;D=Gp(c[e>>2]|0,C)|0;if(!D)break;c[l>>2]=C;c[e>>2]=D;E=D}else E=c[e>>2]|0;c[g>>2]=B;a[E+A>>0]=0}while(0);u=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[u>>0]=x<<(c[b>>2]&7)|(d[u>>0]|0);y=(c[b>>2]|0)+1|0;c[b>>2]=y;s=s+1|0}while((s|0)!=(q|0))}q=c[(c[m>>2]|0)+(r<<2)>>2]|0;s=c[(c[n>>2]|0)+(r<<2)>>2]|0;if(s|0){y=s+-1|0;t=0;o=c[b>>2]|0;do{u=q>>>(y-t|0)&1;do if(!(o&7)){A=c[g>>2]|0;B=A+1|0;if((c[l>>2]|0)>>>0<B>>>0){D=B<<1;C=Gp(c[e>>2]|0,D)|0;if(!C)break;c[l>>2]=D;c[e>>2]=C;F=C}else F=c[e>>2]|0;c[g>>2]=B;a[F+A>>0]=0}while(0);x=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[x>>0]=u<<(c[b>>2]&7)|(d[x>>0]|0);o=(c[b>>2]|0)+1|0;c[b>>2]=o;t=t+1|0}while((t|0)!=(s|0))}if(r>>>0<4)G=v;else{s=0;t=c[b>>2]|0;do{o=w>>>s&1;do if(!(t&7)){y=c[g>>2]|0;q=y+1|0;if((c[l>>2]|0)>>>0<q>>>0){x=q<<1;A=Gp(c[e>>2]|0,x)|0;if(!A)break;c[l>>2]=x;c[e>>2]=A;H=A}else H=c[e>>2]|0;c[g>>2]=q;a[H+y>>0]=0}while(0);u=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[u>>0]=o<<(c[b>>2]&7)|(d[u>>0]|0);t=(c[b>>2]|0)+1|0;c[b>>2]=t;s=s+1|0}while((s|0)!=(p|0));G=v}}else G=h;h=G+1|0}while(h>>>0<(c[i>>2]|0)>>>0);return}function ep(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=Fa;Fa=Fa+16|0;h=g;c[a+36>>2]=e;i=(d|0)==0;if(i){j=80;Fa=g;return j|0}k=0;l=0;m=0;do{n=c[b+(m<<2)>>2]|0;l=n+l|0;k=k+((n|0)!=0&1)|0;m=m+1|0}while((m|0)!=(d|0));if(i){j=80;Fa=g;return j|0}i=a+40|0;c[i>>2]=d;m=a+24|0;n=a+32|0;o=a+28|0;c[o>>2]=0;p=d<<2;do if(p>>>0>(c[n>>2]|0)>>>0){q=d<<3;r=Gp(c[m>>2]|0,q)|0;if(!r){j=9905;Fa=g;return j|0}else{c[n>>2]=q;c[m>>2]=r;break}}while(0);c[o>>2]=d;Yu(c[m>>2]|0,0,p|0)|0;switch(k|0){case 0:{c[c[m>>2]>>2]=1;j=$o(a)|0;Fa=g;return j|0}case 1:{p=0;do{if(c[b+(p<<2)>>2]|0)c[(c[m>>2]|0)+(p<<2)>>2]=1;p=p+1|0}while((p|0)!=(d|0));j=$o(a)|0;Fa=g;return j|0}default:{c[h>>2]=0;d=h+8|0;c[d>>2]=0;p=h+4|0;c[p>>2]=0;o=h+12|0;c[o>>2]=16;n=fp(h,b,c[i>>2]|0,l)|0;do if(!n){if(e){r=1;q=0;s=0;t=0;do{u=t;t=c[p>>2]|0;c[p>>2]=u;v=q;q=c[d>>2]|0;c[d>>2]=v;w=s;s=c[h>>2]|0;c[h>>2]=w;x=w;if(u|0){w=c[o>>2]|0;y=0;do{z=x+(B(w,y)|0)|0;c[z+8>>2]=0;c[z+4>>2]=0;Hp(c[z>>2]|0);c[z>>2]=0;y=y+1|0}while(y>>>0<u>>>0)}c[p>>2]=0;if(t>>>0>1){u=c[o>>2]|0;y=s;w=0;z=0;A=v;C=x;D=1;while(1){E=z+1|0;F=B(u,E)|0;if(F>>>0>A>>>0){G=F<<1;F=Gp(C,G)|0;if(!F){H=9907;I=C;J=A;K=z;break}else{L=G;M=F}}else{L=A;M=C}F=M+(B(u,z)|0)|0;c[F>>2]=0;G=F+8|0;c[G>>2]=0;N=F+4|0;c[N>>2]=0;O=y+(w<<4)|0;P=F+12|0;c[P>>2]=c[O+12>>2];Q=O+4|0;R=c[Q>>2]|0;if(R&1073741823){S=R<<3;T=Gp(0,S)|0;if(T|0){c[G>>2]=S;c[F>>2]=T;U=T;V=28}}else{U=0;V=28}if((V|0)==28?(V=0,c[N>>2]=R,R=c[Q>>2]|0,R|0):0){Q=c[O>>2]|0;O=0;do{c[U+(O<<2)>>2]=c[Q+(O<<2)>>2];O=O+1|0}while((O|0)!=(R|0))}R=y+(D<<4)|0;O=R+4|0;if(c[O>>2]|0){Q=0;do{T=c[(c[R>>2]|0)+(Q<<2)>>2]|0;S=c[N>>2]|0;W=S+1|0;do if(W<<2>>>0>(c[G>>2]|0)>>>0){X=W<<3;Y=Gp(c[F>>2]|0,X)|0;if(!Y)break;c[G>>2]=X;c[F>>2]=Y;Z=Y;V=37}else{Z=c[F>>2]|0;V=37}while(0);if((V|0)==37){V=0;c[N>>2]=W;c[Z+(S<<2)>>2]=T}Q=Q+1|0}while(Q>>>0<(c[O>>2]|0)>>>0)}f[P>>2]=+f[R+12>>2]+ +f[P>>2];w=w+2|0;D=w|1;if(D>>>0>=t>>>0){H=0;I=M;J=L;K=E;break}else{z=E;A=L;C=M}}c[p>>2]=K;c[d>>2]=J;c[h>>2]=I;_=H}else _=0;if(r>>>0<e>>>0)$=fp(h,b,c[i>>2]|0,l)|0;else $=_;r=r+1|0}while(r>>>0<=e>>>0&($|0)==0);if(!$){aa=s;ba=t}else{ca=$;da=s;ea=t;V=60;break}}else{aa=0;ba=0}r=k+-1|0;q=c[p>>2]|0;if(q>>>0>r>>>0){C=c[h>>2]|0;A=c[o>>2]|0;z=r;do{D=C+(B(A,z)|0)|0;c[D+8>>2]=0;c[D+4>>2]=0;Hp(c[D>>2]|0);c[D>>2]=0;z=z+1|0}while(z>>>0<q>>>0);fa=A}else fa=c[o>>2]|0;A=B(fa,r)|0;if(A>>>0>(c[d>>2]|0)>>>0){z=A<<1;A=Gp(c[h>>2]|0,z)|0;if(!A)ga=q;else{c[d>>2]=z;c[h>>2]=A;V=52}}else V=52;if((V|0)==52){c[p>>2]=r;ga=r}if(!ga)ha=0;else{A=c[h>>2]|0;z=0;do{C=A+(B(fa,z)|0)|0;t=c[C+4>>2]|0;if(t|0){s=c[m>>2]|0;D=c[C>>2]|0;C=0;do{w=s+(c[D+(C<<2)>>2]<<2)|0;c[w>>2]=(c[w>>2]|0)+1;C=C+1|0}while(C>>>0<t>>>0)}z=z+1|0}while(z>>>0<ga>>>0);ha=ga}ia=$o(a)|0;ja=aa;ka=ba;la=ha;ma=ga}else{ca=n;da=0;ea=0;V=60}while(0);if((V|0)==60){V=c[p>>2]|0;ia=ca;ja=da;ka=ea;la=V;ma=V}V=c[h>>2]|0;if(la|0){la=c[o>>2]|0;o=0;do{ea=V+(B(la,o)|0)|0;c[ea+8>>2]=0;c[ea+4>>2]=0;Hp(c[ea>>2]|0);c[ea>>2]=0;o=o+1|0}while(o>>>0<ma>>>0)}ma=p;c[ma>>2]=0;c[ma+4>>2]=0;Hp(V);c[h>>2]=0;h=ja;if(ka|0){ja=0;do{V=h+(ja<<4)|0;c[V+8>>2]=0;c[V+4>>2]=0;Hp(c[V>>2]|0);c[V>>2]=0;ja=ja+1|0}while((ja|0)!=(ka|0))}Hp(h);j=ia;Fa=g;return j|0}}return 0}function fp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;g=a+4|0;a:do if(d|0){h=a+12|0;i=a+8|0;j=+(e>>>0);k=0;while(1){l=b+(k<<2)|0;m=c[l>>2]|0;if(m|0){n=c[g>>2]|0;o=n+1|0;p=c[h>>2]|0;q=B(p,o)|0;if(q>>>0>(c[i>>2]|0)>>>0){r=q<<1;q=Gp(c[a>>2]|0,r)|0;if(!q)break;c[i>>2]=r;c[a>>2]=q;s=q;t=c[h>>2]|0;u=c[l>>2]|0}else{s=c[a>>2]|0;t=p;u=m}c[g>>2]=o;o=s+(B(t,n)|0)|0;c[o>>2]=0;n=o+8|0;c[n>>2]=0;m=o+4|0;c[m>>2]=0;f[o+12>>2]=+(u>>>0)/j;p=Gp(0,8)|0;if(p|0){c[n>>2]=8;c[o>>2]=p;c[m>>2]=1;c[p>>2]=k}}k=k+1|0;if(k>>>0>=d>>>0)break a}c[i>>2]=0;c[g>>2]=0;Hp(c[a>>2]|0);c[a>>2]=0;v=9904;return v|0}while(0);d=c[g>>2]|0;if(!d){v=0;return v|0}g=c[a>>2]|0;if((d|0)==1){v=0;return v|0}a=d;do{u=a*10|0;t=(u+-117|0)>>>0<13|(u+-130|0)>>>0<13?11:(u>>>0)/13|0;a=(t|0)==0?1:t;t=d-a|0;if(!t)w=0;else{u=0;s=0;while(1){b=u+a|0;e=g+(b<<4)+12|0;j=+f[e>>2];k=g+(u<<4)+12|0;x=+f[k>>2];if(j<x){f[e>>2]=x;f[k>>2]=j;k=g+(u<<4)|0;e=g+(b<<4)|0;h=g+(u<<4)+4|0;p=c[h>>2]|0;m=g+(b<<4)+4|0;c[h>>2]=c[m>>2];c[m>>2]=p;p=g+(u<<4)+8|0;m=c[p>>2]|0;h=g+(b<<4)+8|0;c[p>>2]=c[h>>2];c[h>>2]=m;m=c[k>>2]|0;c[k>>2]=c[e>>2];c[e>>2]=m;y=1}else y=s;u=u+1|0;if(u>>>0>=t>>>0){w=y;break}else s=y}}}while(a>>>0>1|w<<24>>24!=0);v=0;return v|0}function gp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d>>>24&255;f=b+4|0;g=c[f>>2]|0;h=g+1|0;i=b+8|0;if((c[i>>2]|0)>>>0<h>>>0){j=h<<1;k=Gp(c[b>>2]|0,j)|0;if(k|0){c[i>>2]=j;c[b>>2]=k;l=k;m=5}}else{l=c[b>>2]|0;m=5}if((m|0)==5){c[f>>2]=h;a[l+g>>0]=e}e=d>>>16&255;g=c[f>>2]|0;l=g+1|0;if((c[i>>2]|0)>>>0<l>>>0){h=l<<1;k=Gp(c[b>>2]|0,h)|0;if(k|0){c[i>>2]=h;c[b>>2]=k;n=k;m=10}}else{n=c[b>>2]|0;m=10}if((m|0)==10){c[f>>2]=l;a[n+g>>0]=e}e=d>>>8&255;g=c[f>>2]|0;n=g+1|0;if((c[i>>2]|0)>>>0<n>>>0){l=n<<1;k=Gp(c[b>>2]|0,l)|0;if(k|0){c[i>>2]=l;c[b>>2]=k;o=k;m=15}}else{o=c[b>>2]|0;m=15}if((m|0)==15){c[f>>2]=n;a[o+g>>0]=e}e=d&255;d=c[f>>2]|0;g=d+1|0;do if((c[i>>2]|0)>>>0<g>>>0){o=g<<1;n=Gp(c[b>>2]|0,o)|0;if(!n)return;else{c[i>>2]=o;c[b>>2]=n;p=n;break}}else p=c[b>>2]|0;while(0);c[f>>2]=g;a[p+d>>0]=e;return}function hp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=Fa;Fa=Fa+16|0;j=i;if(g>>>0<2){k=53;Fa=i;return k|0}l=a[f>>0]|0;m=l&255;n=d[f+1>>0]|0;if(((m<<8|n)>>>0)%31|0|0){k=24;Fa=i;return k|0}if(l<<24>>24<0|(m&15|0)!=8){k=25;Fa=i;return k|0}if(n&32|0){k=26;Fa=i;return k|0}n=c[e>>2]|0;c[j>>2]=c[b>>2];m=j+4|0;c[m>>2]=n;c[j+8>>2]=n;n=Yo(j,f,g,2)|0;l=c[j>>2]|0;c[b>>2]=l;b=c[m>>2]|0;c[e>>2]=b;e=l;if(n|0){k=n;Fa=i;return k|0}if(!(c[h>>2]|0)){h=f+(g+-4)|0;g=(d[h+1>>0]|0)<<16|(d[h>>0]|0)<<24|(d[h+2>>0]|0)<<8|(d[h+3>>0]|0);if(!b){o=0;p=1}else{h=0;f=1;n=b;b=e;while(1){e=n>>>0<5550?n:5550;n=n-e|0;if(!e){q=h;r=f;s=b}else{l=e;m=f;j=b;t=h;while(1){m=m+(d[j>>0]|0)|0;t=m+t|0;l=l+-1|0;if(!l)break;else j=j+1|0}q=t;r=m;s=b+e|0}f=(r>>>0)%65521|0;h=(q>>>0)%65521|0;if(!n)break;else b=s}o=h<<16;p=f}if((o|p|0)!=(g|0)){k=58;Fa=i;return k|0}}k=0;Fa=i;return k|0}function ip(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;i=Fa;Fa=Fa+32|0;j=i+12|0;k=i;l=c[b>>2]|0;m=c[e>>2]|0;c[k>>2]=l;n=k+4|0;c[n>>2]=m;o=k+8|0;c[o>>2]=m;p=m+1|0;if((m|0)!=-1){q=p<<1;r=Gp(l,q)|0;if(!r){s=p;t=m;u=l;v=m}else{c[o>>2]=q;c[k>>2]=r;w=r;x=q;y=4}}else{w=l;x=-1;y=4}if((y|0)==4){c[n>>2]=p;a[w+m>>0]=120;s=m+2|0;t=x;u=w;v=p}if(t>>>0<s>>>0){t=s<<1;p=Gp(u,t)|0;if(p|0){c[o>>2]=t;c[k>>2]=p;z=p;y=8}}else{z=u;y=8}if((y|0)==8){c[n>>2]=s;a[z+v>>0]=1}c[j>>2]=0;v=j+8|0;c[v>>2]=0;z=j+4|0;c[z>>2]=0;s=bp(j,f,g,h)|0;if(s|0){A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Fa=i;return s|0}if(!g){C=0;D=1}else{h=0;u=1;p=g;g=f;while(1){f=p>>>0<5550?p:5550;p=p-f|0;if(!f){E=h;F=u;G=g}else{t=f;w=u;x=g;m=h;while(1){w=w+(d[x>>0]|0)|0;m=w+m|0;t=t+-1|0;if(!t)break;else x=x+1|0}E=m;F=w;G=g+f|0}u=(F>>>0)%65521|0;h=(E>>>0)%65521|0;if(!p)break;else g=G}C=h<<16;D=u}u=C|D;if(c[z>>2]|0){D=0;C=c[k>>2]|0;h=c[n>>2]|0;G=c[o>>2]|0;while(1){g=a[(c[j>>2]|0)+D>>0]|0;p=h+1|0;if(G>>>0<p>>>0){E=p<<1;F=Gp(C,E)|0;if(!F){H=C;I=h;J=G}else{K=F;L=E;y=22}}else{K=C;L=G;y=22}if((y|0)==22){y=0;a[K+h>>0]=g;H=K;I=p;J=L}D=D+1|0;if(D>>>0>=(c[z>>2]|0)>>>0)break;else{C=H;h=I;G=J}}c[n>>2]=I;c[o>>2]=J;c[k>>2]=H}c[v>>2]=0;c[z>>2]=0;Hp(c[j>>2]|0);c[j>>2]=0;gp(k,u);A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Fa=i;return s|0}function jp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;if(!(c[526428]|0)){e=0;do{f=e>>>1;g=(e&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;c[1516368+(e<<2)>>2]=(g&1|0)==0?f:f^-306674912;e=e+1|0}while((e|0)!=256);c[526428]=1}if(!b){i=0;return i|0}e=-1;f=0;do{e=c[1516368+((e&255^(d[a+f>>0]|0))<<2)>>2]^e>>>8;f=f+1|0}while((f|0)!=(b|0));i=~e;return i|0}function kp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=c[d>>2]|0;i=e+12|0;j=i+h|0;if(j>>>0<i>>>0|j>>>0<h>>>0){k=77;return k|0}i=Gp(c[b>>2]|0,j)|0;if(!i){k=9930;return k|0}c[b>>2]=i;c[d>>2]=j;j=i+h|0;h=e>>>24&255;a[j>>0]=h;i=e>>>16&255;d=j+1|0;a[d>>0]=i;b=e>>>8&255;l=j+2|0;a[l>>0]=b;m=j+3|0;a[m>>0]=e;n=j+4|0;a[n>>0]=a[f>>0]|0;a[j+5>>0]=a[f+1>>0]|0;a[j+6>>0]=a[f+2>>0]|0;a[j+7>>0]=a[f+3>>0]|0;if(!e){o=h;p=i;q=b;r=0}else{b=0;do{a[j+(b+8)>>0]=a[g+b>>0]|0;b=b+1|0}while((b|0)!=(e|0));o=a[j>>0]|0;p=a[d>>0]|0;q=a[l>>0]|0;r=a[m>>0]|0}m=(p&255)<<16|(o&255)<<24|(q&255)<<8|r&255;r=jp(n,m+4|0)|0;n=j+8+m|0;a[n>>0]=r>>>24;a[n+1>>0]=r>>>16;a[n+2>>0]=r>>>8;a[n+3>>0]=r;k=0;return k|0}function lp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+4|0;g=Gp(c[f>>2]|0,(c[b>>2]<<2)+4|0)|0;h=b+8|0;i=Gp(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((g|0)!=0&(i|0)!=0)){Hp(g);Hp(i);j=9933;return j|0}k=c[b>>2]|0;c[b>>2]=k+1;c[f>>2]=g;c[h>>2]=i;i=g+(k<<2)|0;c[i>>2]=0;k=Gp(0,1)|0;if(k|0){a[k>>0]=0;c[i>>2]=k}k=(c[f>>2]|0)+((c[b>>2]|0)+-1<<2)|0;f=ft(d)|0;i=Gp(c[k>>2]|0,f+1|0)|0;if((i|0?(a[i+f>>0]=0,c[k>>2]=i,f|0):0)?(a[i>>0]=a[d>>0]|0,(f|0)!=1):0){i=1;do{a[(c[k>>2]|0)+i>>0]=a[d+i>>0]|0;i=i+1|0}while((i|0)!=(f|0))}f=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[f>>2]=0;i=Gp(0,1)|0;if(i|0){a[i>>0]=0;c[f>>2]=i}i=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;b=ft(e)|0;h=Gp(c[i>>2]|0,b+1|0)|0;if(!h){j=0;return j|0}a[h+b>>0]=0;c[i>>2]=h;if(!b){j=0;return j|0}a[h>>0]=a[e>>0]|0;if((b|0)==1){j=0;return j|0}h=1;do{a[(c[i>>2]|0)+h>>0]=a[e+h>>0]|0;h=h+1|0}while((h|0)!=(b|0));j=0;return j|0}function mp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+4|0;d=c[b>>2]|0;e=a+8|0;f=a+12|0;g=a+16|0;if(!(c[a>>2]|0)){h=d;Hp(h);i=c[e>>2]|0;Hp(i);j=c[f>>2]|0;Hp(j);k=c[g>>2]|0;Hp(k);return}l=0;m=d;while(1){d=m+(l<<2)|0;Hp(c[d>>2]|0);c[d>>2]=0;d=(c[e>>2]|0)+(l<<2)|0;Hp(c[d>>2]|0);c[d>>2]=0;d=(c[f>>2]|0)+(l<<2)|0;Hp(c[d>>2]|0);c[d>>2]=0;d=(c[g>>2]|0)+(l<<2)|0;Hp(c[d>>2]|0);c[d>>2]=0;l=l+1|0;d=c[b>>2]|0;if(l>>>0>=(c[a>>2]|0)>>>0){h=d;break}else m=d}Hp(h);i=c[e>>2]|0;Hp(i);j=c[f>>2]|0;Hp(j);k=c[g>>2]|0;Hp(k);return}function np(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=b+4|0;i=Gp(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;j=b+8|0;k=Gp(c[j>>2]|0,(c[b>>2]<<2)+4|0)|0;l=b+12|0;m=Gp(c[l>>2]|0,(c[b>>2]<<2)+4|0)|0;n=b+16|0;o=Gp(c[n>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((i|0)!=0&(k|0)!=0&(m|0)!=0&(o|0)!=0)){Hp(i);Hp(k);Hp(m);Hp(o);p=9934;return p|0}q=c[b>>2]|0;c[b>>2]=q+1;c[h>>2]=i;c[j>>2]=k;c[l>>2]=m;c[n>>2]=o;o=i+(q<<2)|0;c[o>>2]=0;q=Gp(0,1)|0;if(q|0){a[q>>0]=0;c[o>>2]=q}q=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;h=ft(d)|0;o=Gp(c[q>>2]|0,h+1|0)|0;if((o|0?(a[o+h>>0]=0,c[q>>2]=o,h|0):0)?(a[o>>0]=a[d>>0]|0,(h|0)!=1):0){o=1;do{a[(c[q>>2]|0)+o>>0]=a[d+o>>0]|0;o=o+1|0}while((o|0)!=(h|0))}h=(c[j>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[h>>2]=0;o=Gp(0,1)|0;if(o|0){a[o>>0]=0;c[h>>2]=o}o=(c[j>>2]|0)+((c[b>>2]|0)+-1<<2)|0;j=ft(e)|0;h=Gp(c[o>>2]|0,j+1|0)|0;if((h|0?(a[h+j>>0]=0,c[o>>2]=h,j|0):0)?(a[h>>0]=a[e>>0]|0,(j|0)!=1):0){h=1;do{a[(c[o>>2]|0)+h>>0]=a[e+h>>0]|0;h=h+1|0}while((h|0)!=(j|0))}j=(c[l>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[j>>2]=0;h=Gp(0,1)|0;if(h|0){a[h>>0]=0;c[j>>2]=h}h=(c[l>>2]|0)+((c[b>>2]|0)+-1<<2)|0;l=ft(f)|0;j=Gp(c[h>>2]|0,l+1|0)|0;if((j|0?(a[j+l>>0]=0,c[h>>2]=j,l|0):0)?(a[j>>0]=a[f>>0]|0,(l|0)!=1):0){j=1;do{a[(c[h>>2]|0)+j>>0]=a[f+j>>0]|0;j=j+1|0}while((j|0)!=(l|0))}l=(c[n>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[l>>2]=0;j=Gp(0,1)|0;if(j|0){a[j>>0]=0;c[l>>2]=j}j=(c[n>>2]|0)+((c[b>>2]|0)+-1<<2)|0;b=ft(g)|0;n=Gp(c[j>>2]|0,b+1|0)|0;if(!n){p=0;return p|0}a[n+b>>0]=0;c[j>>2]=n;if(!b){p=0;return p|0}a[n>>0]=a[g>>0]|0;if((b|0)==1){p=0;return p|0}n=1;do{a[(c[j>>2]|0)+n>>0]=a[g+n>>0]|0;n=n+1|0}while((n|0)!=(b|0));p=0;return p|0}function op(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a+28>>2]|0;if(b|0)Hp(b);c[a+32>>2]=0;b=a+68|0;d=a+72|0;e=c[d>>2]|0;f=a+76|0;if(!(c[b>>2]|0))g=e;else{h=0;i=e;while(1){e=i+(h<<2)|0;Hp(c[e>>2]|0);c[e>>2]=0;e=(c[f>>2]|0)+(h<<2)|0;Hp(c[e>>2]|0);c[e>>2]=0;h=h+1|0;e=c[d>>2]|0;if(h>>>0>=(c[b>>2]|0)>>>0){g=e;break}else i=e}}Hp(g);Hp(c[f>>2]|0);mp(a+80|0);Hp(c[a+132>>2]|0);Hp(c[a+136>>2]|0);Hp(c[a+140>>2]|0);return}function pp(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;j=B(i,h)|0;h=c[f>>2]|0;i=c[f+4>>2]|0;switch(h|0){case 3:case 0:{k=1;break}case 2:{k=3;break}case 4:{k=2;break}case 6:{k=4;break}default:k=0}f=(B(k,i)|0)>>>3;k=h>>>2&1;l=c[g>>2]|0;if((l|0)==(h|0)?(c[g+4>>2]|0)==(i|0):0){switch(h|0){case 3:case 0:{m=1;break}case 2:{m=3;break}case 4:{m=2;break}case 6:{m=4;break}default:m=0}n=((B(B(i,j)|0,m)|0)+7|0)>>>3;if(!n){o=0;return o|0}m=0;do{a[b+m>>0]=a[e+m>>0]|0;m=m+1|0}while((m|0)!=(n|0));o=0;return o|0}switch(h|0){case 6:case 2:break;default:{if(!((h|4|0)==4&(i|0)==8)){o=59;return o|0}if((l|4|0)!=4){o=62;return o|0}h=g+4|0;n=c[h>>2]|0;switch(n|0){case 8:{switch(l|0){case 0:{if(!j){o=0;return o|0}m=g+16|0;p=g+20|0;if(!k){q=0;do{a[b+(B(q,f)|0)>>0]=a[e+q>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}q=0;do{r=B(q,f)|0;s=b+(r+1)|0;a[s>>0]=-1;t=e+q|0;a[b+r>>0]=a[t>>0]|0;if(c[m>>2]|0?(c[p>>2]|0)==(d[t>>0]|0|0):0)a[s>>0]=0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}case 4:{if(!j){o=0;return o|0}if(!k){q=0;do{a[b+(B(q,f)|0)>>0]=a[e+(q<<1)>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}else{q=0;do{p=q<<1;m=B(q,f)|0;a[b+m>>0]=a[e+p>>0]|0;a[b+(m+1)>>0]=a[e+(p|1)>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}break}default:{o=31;return o|0}}break}case 16:{switch(l|0){case 0:{if(!j){o=0;return o|0}q=g+16|0;p=g+20|0;if(!k){m=0;do{a[b+(B(m,f)|0)>>0]=a[e+(m<<1)>>0]|0;m=m+1|0}while((m|0)!=(j|0));o=0;return o|0}m=0;while(1){s=B(m,f)|0;t=b+(s+1)|0;a[t>>0]=-1;a[b+s>>0]=a[e+(m<<1)>>0]|0;if(c[q>>2]|0){s=m+1|0;if(((d[e+m>>0]|0)<<8|(d[e+s>>0]|0)|0)==(c[p>>2]|0)){a[t>>0]=0;u=s}else u=s}else u=m+1|0;if((u|0)==(j|0)){o=0;break}else m=u}return o|0}case 4:{if(!j){o=0;return o|0}if(!k){u=0;do{a[b+(B(u,f)|0)>>0]=a[e+(u<<2)>>0]|0;u=u+1|0}while((u|0)!=(j|0));o=0;return o|0}else{u=0;do{m=u<<2;p=B(u,f)|0;a[b+p>>0]=a[e+m>>0]|0;a[b+(p+1)>>0]=a[e+(m|2)>>0]|0;u=u+1|0}while((u|0)!=(j|0));o=0;return o|0}break}default:{o=31;return o|0}}break}default:{if(l|0){o=31;return o|0}if(!j){o=0;return o|0}u=g+16|0;m=g+20|0;if(!k){p=0;q=0;s=n;while(1){if(!s){v=0;w=q}else{t=0;r=s+-1|0;x=q;while(1){y=x+1|0;z=(((d[e+(x>>>3)>>0]|0)>>>(x&7^7)&1)<<r)+t|0;r=r+-1|0;if(r>>>0>=s>>>0){v=z;w=y;break}else{t=z;x=y}}}a[b+(B(p,f)|0)>>0]=((v*255|0)>>>0)/(((1<<s)+-1|0)>>>0)|0;x=p+1|0;if((x|0)==(j|0)){o=0;break}p=x;q=w;s=c[h>>2]|0}return o|0}s=0;w=0;q=n;while(1){if(!q){A=0;C=w}else{n=0;p=q+-1|0;v=w;while(1){x=v+1|0;t=(((d[e+(v>>>3)>>0]|0)>>>(v&7^7)&1)<<p)+n|0;p=p+-1|0;if(p>>>0>=q>>>0){A=t;C=x;break}else{n=t;v=x}}}v=B(s,f)|0;n=b+(v+1)|0;a[n>>0]=-1;if((A|0)!=0&(c[u>>2]|0)!=0?(p=(1<<c[h>>2])+-1|0,!((p|0)==0?1:(p|0)!=(c[m>>2]|0))):0)a[n>>0]=0;a[b+v>>0]=((A*255|0)>>>0)/(((1<<c[h>>2])+-1|0)>>>0)|0;v=s+1|0;if((v|0)==(j|0)){o=0;break}s=v;w=C;q=c[h>>2]|0}return o|0}}}}if((i|0)!=8){o=59;return o|0}i=g+4|0;h=c[i>>2]|0;switch(h|0){case 8:{switch(l|0){case 0:{if(!j){o=0;return o|0}q=g+16|0;C=g+20|0;if(!k){w=0;do{s=e+w|0;A=B(w,f)|0;a[b+A>>0]=a[s>>0]|0;a[b+(A+1)>>0]=a[s>>0]|0;a[b+(A+2)>>0]=a[s>>0]|0;w=w+1|0}while((w|0)!=(j|0));o=0;return o|0}w=0;do{s=B(w,f)|0;A=b+(s+3)|0;a[A>>0]=-1;m=e+w|0;a[b+s>>0]=a[m>>0]|0;a[b+(s+1)>>0]=a[m>>0]|0;a[b+(s+2)>>0]=a[m>>0]|0;if(c[q>>2]|0?(c[C>>2]|0)==(d[m>>0]|0|0):0)a[A>>0]=0;w=w+1|0}while((w|0)!=(j|0));o=0;return o|0}case 2:{if(!j){o=0;return o|0}w=(k|0)!=0;C=g+16|0;q=g+20|0;A=g+24|0;m=g+28|0;s=0;do{u=B(s,f)|0;if(w)a[b+(u+3)>>0]=-1;v=s*3|0;n=e+v|0;a[b+u>>0]=a[n>>0]|0;p=e+(v+1)|0;a[b+(u+1)>>0]=a[p>>0]|0;x=e+(v+2)|0;a[b+(u+2)>>0]=a[x>>0]|0;if((((w?(c[C>>2]|0)==1:0)?(c[q>>2]|0)==(d[n>>0]|0|0):0)?(c[A>>2]|0)==(d[p>>0]|0|0):0)?(c[m>>2]|0)==(d[x>>0]|0|0):0)a[b+(u+3)>>0]=0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}case 3:{if(!j){o=0;return o|0}s=g+12|0;m=(f|0)!=0;A=g+8|0;q=(f|0)==1;if(!k){C=0;while(1){w=e+C|0;u=a[w>>0]|0;if((c[s>>2]|0)>>>0<=(u&255)>>>0){o=46;D=179;break}if(m?(x=B(C,f)|0,a[b+x>>0]=a[(c[A>>2]|0)+((u&255)<<2)>>0]|0,!q):0){u=1;do{a[b+(u+x)>>0]=a[(c[A>>2]|0)+(((d[w>>0]|0)<<2)+u)>>0]|0;u=u+1|0}while((u|0)!=(f|0))}C=C+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}}if((D|0)==179)return o|0}else{C=0;while(1){u=B(C,f)|0;a[b+(u+3)>>0]=-1;w=e+C|0;x=a[w>>0]|0;if((c[s>>2]|0)>>>0<=(x&255)>>>0){o=46;D=179;break}if(m?(a[b+u>>0]=a[(c[A>>2]|0)+((x&255)<<2)>>0]|0,!q):0){x=1;do{a[b+(x+u)>>0]=a[(c[A>>2]|0)+(((d[w>>0]|0)<<2)+x)>>0]|0;x=x+1|0}while((x|0)!=(f|0))}C=C+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}}if((D|0)==179)return o|0}break}case 4:{if(!j){o=0;return o|0}if(!k){C=0;do{A=e+(C<<1)|0;q=B(C,f)|0;a[b+q>>0]=a[A>>0]|0;a[b+(q+1)>>0]=a[A>>0]|0;a[b+(q+2)>>0]=a[A>>0]|0;C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}else{C=0;do{A=C<<1;q=e+A|0;m=B(C,f)|0;a[b+m>>0]=a[q>>0]|0;a[b+(m+1)>>0]=a[q>>0]|0;a[b+(m+2)>>0]=a[q>>0]|0;a[b+(m+3)>>0]=a[e+(A|1)>>0]|0;C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}break}case 6:{if((j|0)==0|(f|0)==0){o=0;return o|0}C=0;do{A=C<<2;m=B(C,f)|0;q=0;do{a[b+(q+m)>>0]=a[e+(q+A)>>0]|0;q=q+1|0}while((q|0)!=(f|0));C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}default:{o=0;return o|0}}break}case 16:{switch(l|0){case 0:{if(!j){o=0;return o|0}C=g+16|0;q=g+20|0;if(!k){A=0;do{m=e+(A<<1)|0;s=B(A,f)|0;a[b+s>>0]=a[m>>0]|0;a[b+(s+1)>>0]=a[m>>0]|0;a[b+(s+2)>>0]=a[m>>0]|0;A=A+1|0}while((A|0)!=(j|0));o=0;return o|0}A=0;while(1){m=B(A,f)|0;s=b+(m+3)|0;a[s>>0]=-1;x=e+(A<<1)|0;a[b+m>>0]=a[x>>0]|0;a[b+(m+1)>>0]=a[x>>0]|0;a[b+(m+2)>>0]=a[x>>0]|0;if(c[C>>2]|0){x=A+1|0;if(((d[e+A>>0]|0)<<8|(d[e+x>>0]|0)|0)==(c[q>>2]|0)){a[s>>0]=0;E=x}else E=x}else E=A+1|0;if((E|0)==(j|0)){o=0;break}else A=E}return o|0}case 2:{if(!j){o=0;return o|0}E=(k|0)!=0;A=g+16|0;q=g+20|0;C=g+24|0;x=g+28|0;s=0;do{m=B(s,f)|0;if(E)a[b+(m+3)>>0]=-1;w=s*6|0;u=e+w|0;a[b+m>>0]=a[u>>0]|0;p=e+(w+2)|0;a[b+(m+1)>>0]=a[p>>0]|0;n=e+(w+4)|0;a[b+(m+2)>>0]=a[n>>0]|0;if((((E?c[A>>2]|0:0)?((d[u>>0]|0)<<8|(d[e+(w|1)>>0]|0)|0)==(c[q>>2]|0):0)?((d[p>>0]|0)<<8|(d[e+(w+3)>>0]|0)|0)==(c[C>>2]|0):0)?((d[n>>0]|0)<<8|(d[e+(w+5)>>0]|0)|0)==(c[x>>2]|0):0)a[b+(m+3)>>0]=0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}case 4:{if(!j){o=0;return o|0}if(!k){s=0;do{x=e+(s<<2)|0;C=B(s,f)|0;a[b+C>>0]=a[x>>0]|0;a[b+(C+1)>>0]=a[x>>0]|0;a[b+(C+2)>>0]=a[x>>0]|0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}else{s=0;do{x=s<<2;C=e+x|0;q=B(s,f)|0;a[b+q>>0]=a[C>>0]|0;a[b+(q+1)>>0]=a[C>>0]|0;a[b+(q+2)>>0]=a[C>>0]|0;a[b+(q+3)>>0]=a[e+(x|2)>>0]|0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}break}case 6:{if((j|0)==0|(f|0)==0){o=0;return o|0}s=0;do{x=s<<3;q=B(s,f)|0;C=0;do{a[b+(C+q)>>0]=a[e+((C<<1)+x)>>0]|0;C=C+1|0}while((C|0)!=(f|0));s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}default:{o=0;return o|0}}break}default:switch(l|0){case 0:{if(!j){o=0;return o|0}l=(k|0)==0;s=g+16|0;C=g+20|0;x=0;q=0;A=h;while(1){if(!A){F=0;G=x}else{E=0;m=A+-1|0;w=x;while(1){n=w+1|0;p=(((d[e+(w>>>3)>>0]|0)>>>(w&7^7)&1)<<m)+E|0;m=m+-1|0;if(m>>>0>=A>>>0){F=p;G=n;break}else{E=p;w=n}}}w=B(q,f)|0;if((!l?(E=b+(w+3)|0,a[E>>0]=-1,(F|0)!=0&(c[s>>2]|0)!=0):0)?(m=(1<<c[i>>2])+-1|0,!((m|0)==0?1:(m|0)!=(c[C>>2]|0))):0)a[E>>0]=0;E=(((F*255|0)>>>0)/(((1<<c[i>>2])+-1|0)>>>0)|0)&255;a[b+w>>0]=E;a[b+(w+1)>>0]=E;a[b+(w+2)>>0]=E;E=q+1|0;if((E|0)==(j|0)){o=0;break}x=G;q=E;A=c[i>>2]|0}return o|0}case 3:{if(!j){o=0;return o|0}A=(k|0)==0;k=g+12|0;q=(f|0)==0;G=g+8|0;g=0;x=0;F=h;while(1){if(!F){H=0;I=x}else{h=0;C=F+-1|0;s=x;while(1){l=s+1|0;E=(((d[e+(s>>>3)>>0]|0)>>>(s&7^7)&1)<<C)+h|0;C=C+-1|0;if(C>>>0>=F>>>0){H=E;I=l;break}else{h=E;s=l}}}if(!A)a[b+((B(g,f)|0)+3)>>0]=-1;if(H>>>0>=(c[k>>2]|0)>>>0){o=47;D=179;break}if(!q){s=H<<2;h=B(g,f)|0;C=0;do{a[b+(C+h)>>0]=a[(c[G>>2]|0)+(C+s)>>0]|0;C=C+1|0}while((C|0)!=(f|0))}C=g+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}g=C;x=I;F=c[i>>2]|0}if((D|0)==179)return o|0;break}default:{o=0;return o|0}}}return 0}function qp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if((e|0)==0|(f|0)==0){c[b+208>>2]=48;return}if(f>>>0<29){c[b+208>>2]=27;return}f=b+52|0;op(f);g=b+56|0;c[g>>2]=0;c[f>>2]=0;h=b+88|0;i=b+72|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[i>>2]=6;h=b+76|0;c[h>>2]=8;c[b+80>>2]=0;c[b+84>>2]=0;j=b+68|0;c[j>>2]=0;k=b+60|0;c[k>>2]=0;l=b+64|0;c[l>>2]=0;m=b+104|0;c[b+168>>2]=0;n=b+184|0;o=m;p=o+48|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));a[m+48>>0]=0;m=b+208|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;if((((((((a[e>>0]|0)==-119?(a[e+1>>0]|0)==80:0)?(a[e+2>>0]|0)==78:0)?(a[e+3>>0]|0)==71:0)?(a[e+4>>0]|0)==13:0)?(a[e+5>>0]|0)==10:0)?(a[e+6>>0]|0)==26:0)?(a[e+7>>0]|0)==10:0){n=e+12|0;if((((a[n>>0]|0)==73?(a[e+13>>0]|0)==72:0)?(a[e+14>>0]|0)==68:0)?(a[e+15>>0]|0)==82:0){c[f>>2]=d[e+17>>0]<<16|d[e+16>>0]<<24|d[e+18>>0]<<8|d[e+19>>0];c[g>>2]=d[e+21>>0]<<16|d[e+20>>0]<<24|d[e+22>>0]<<8|d[e+23>>0];c[h>>2]=d[e+24>>0];c[i>>2]=d[e+25>>0];g=d[e+26>>0]|0;c[k>>2]=g;c[l>>2]=d[e+27>>0];c[j>>2]=d[e+28>>0];do if(!(c[b+4>>2]|0)){f=d[e+30>>0]<<16|d[e+29>>0]<<24|d[e+31>>0]<<8|d[e+32>>0];if((f|0)==(jp(n,17)|0)){q=c[k>>2]|0;break}c[m>>2]=57;return}else q=g;while(0);if(q|0){c[m>>2]=32;return}if(c[l>>2]|0){c[m>>2]=33;return}if((c[j>>2]|0)>>>0>1){c[m>>2]=34;return}j=c[h>>2]|0;switch(c[i>>2]|0){case 0:{switch(j|0){case 1:case 2:case 4:case 8:case 16:{r=35;break}default:s=37}break}case 2:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}case 3:{switch(j|0){case 1:case 2:case 4:case 8:{r=35;break}default:s=37}break}case 4:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}case 6:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}default:s=31}if((r|0)==35)s=0;c[m>>2]=s;return}c[m>>2]=29;return}c[m>>2]=28;return}function rp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0;i=Fa;Fa=Fa+336|0;j=i+288|0;k=i+256|0;l=i+224|0;m=i+192|0;n=i+160|0;o=i+128|0;p=i+96|0;q=i+64|0;r=i+32|0;s=i;t=i+316|0;c[e>>2]=0;c[f>>2]=0;qp(b,g,h);u=b+208|0;if(c[u>>2]|0){Fa=i;return}v=g;w=b+4|0;x=b+80|0;y=b+84|0;z=b+72|0;A=b+88|0;C=b+100|0;D=b+96|0;E=b+92|0;F=b+12|0;G=b+104|0;H=b+116|0;I=b+112|0;J=b+108|0;K=j+8|0;L=j+4|0;M=b+16|0;N=j+8|0;O=j+4|0;P=b+152|0;Q=b+156|0;R=b+160|0;S=b+161|0;T=b+162|0;U=b+163|0;V=b+164|0;W=b+168|0;X=b+172|0;Y=b+176|0;Z=b+180|0;_=b+120|0;$=b+132|0;a:do if(h>>>0<45){aa=0;ba=4}else{ca=g+33|0;da=0;ea=1;fa=0;ga=0;ha=0;ia=45;b:while(1){ja=ca+1|0;ka=ca+2|0;la=ca+3|0;ma=d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0];if((ma|0)<0){ba=6;break}if((ma+ia|0)>>>0>h>>>0){ba=9;break}if((ca+ma+12|0)>>>0<g>>>0){ba=9;break}na=ca+8|0;oa=ca+4|0;pa=a[oa>>0]|0;c:do switch(pa<<24>>24){case 73:{switch(a[ca+5>>0]|0){case 68:break;case 69:{if((a[ca+6>>0]|0)!=78){ba=187;break b}if((a[ca+7>>0]|0)==68){qa=1;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}else{ba=187;break b}break}default:{ba=187;break b}}if((a[ca+6>>0]|0)!=65){ba=187;break b}if((a[ca+7>>0]|0)!=84){ba=187;break b}wa=ma+ha|0;if(ga>>>0<wa>>>0){xa=wa<<1;ya=Gp(fa,xa)|0;if(!ya){ba=19;break b}else{za=ya;Aa=xa}}else{za=fa;Aa=ga}if(!ma){qa=0;ra=da;sa=3;ta=za;ua=Aa;va=wa}else{xa=0;do{a[za+(xa+ha)>>0]=a[na+xa>>0]|0;xa=xa+1|0}while((xa|0)!=(ma|0));qa=0;ra=da;sa=3;ta=za;ua=Aa;va=wa}break}case 80:{if((a[ca+5>>0]|0)!=76){ba=187;break b}if((a[ca+6>>0]|0)!=84){ba=187;break b}if((a[ca+7>>0]|0)!=69){ba=187;break b}wa=c[x>>2]|0;if(wa|0)Hp(wa);wa=(ma>>>0)/3|0;c[y>>2]=wa;xa=Fp(wa<<2)|0;c[x>>2]=xa;wa=c[y>>2]|0;if(!xa)if(!wa){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha;break c}else{ba=29;break b}if(wa>>>0>256){ba=31;break b}if(!wa){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha}else{wa=0;ya=0;Ba=xa;while(1){xa=ya<<2;a[Ba+xa>>0]=a[na+wa>>0]|0;a[(c[x>>2]|0)+(xa|1)>>0]=a[na+(wa+1)>>0]|0;a[(c[x>>2]|0)+(xa|2)>>0]=a[na+(wa+2)>>0]|0;a[(c[x>>2]|0)+(xa|3)>>0]=-1;xa=ya+1|0;if(xa>>>0>=(c[y>>2]|0)>>>0){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha;break c}wa=wa+3|0;ya=xa;Ba=c[x>>2]|0}}break}case 116:{switch(a[ca+5>>0]|0){case 82:{if((a[ca+6>>0]|0)!=78){ba=188;break c}if((a[ca+7>>0]|0)!=83){ba=188;break c}switch(c[z>>2]|0){case 3:{if(ma>>>0>(c[y>>2]|0)>>>0){ba=41;break b}if(!ma){qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}Ba=0;do{a[(c[x>>2]|0)+(Ba<<2|3)>>0]=a[na+Ba>>0]|0;Ba=Ba+1|0}while((Ba|0)!=(ma|0));qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break}case 0:{if((ma|0)!=2){ba=46;break b}c[A>>2]=1;Ba=d[na>>0]<<8|d[ca+9>>0];c[C>>2]=Ba;c[D>>2]=Ba;c[E>>2]=Ba;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 2:{if((ma|0)!=6){ba=49;break b}c[A>>2]=1;c[E>>2]=d[na>>0]<<8|d[ca+9>>0];c[D>>2]=d[ca+10>>0]<<8|d[ca+11>>0];c[C>>2]=d[ca+12>>0]<<8|d[ca+13>>0];qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{ba=51;break b}}break}case 69:{if((a[ca+6>>0]|0)!=88){ba=188;break c}if((a[ca+7>>0]|0)!=116){ba=188;break c}if(!(c[F>>2]|0)){qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}if(!(c[u>>2]|0)){d:do if(!ma){Ca=0;ba=72}else{Ba=0;while(1){ya=Ba+1|0;if(!(a[na+Ba>>0]|0)){Da=Ba;Ea=ya;break d}if(ya>>>0<ma>>>0)Ba=ya;else{Ca=ya;ba=72;break}}}while(0);if((ba|0)==72){ba=0;Da=Ca;Ea=Ca+1|0}do if(ma>>>0>Ea>>>0){Ba=Fp(Ea)|0;if(Ba){a[Ba+Da>>0]=0;if(Da|0){ya=0;do{a[Ba+ya>>0]=a[na+ya>>0]|0;ya=ya+1|0}while((ya|0)!=(Da|0))}if(ma>>>0<Ea>>>0){Ga=0;Ha=Ba;Ia=75}else{ya=ma-Ea|0;wa=Fp(ya+1|0)|0;if(!wa){Ga=0;Ha=Ba;Ia=9939;break}a[wa+ya>>0]=0;if(ya|0){xa=0;do{a[wa+xa>>0]=a[na+(xa+Ea)>>0]|0;xa=xa+1|0}while((xa|0)!=(ya|0))}Ga=wa;Ha=Ba;Ia=lp(_,Ba,wa)|0}}else{Ga=0;Ha=0;Ia=9938}}else{Ga=0;Ha=0;Ia=75}while(0);c[u>>2]=Ia;Ja=Ga;Ka=Ha}else{Ja=0;Ka=0}Hp(Ka);Hp(Ja);qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 73:{if((a[ca+6>>0]|0)!=77){ba=188;break c}if((a[ca+7>>0]|0)!=69){ba=188;break c}if((ma|0)!=7){ba=178;break b}a[P>>0]=1;c[Q>>2]=d[na>>0]<<8|d[ca+9>>0];a[R>>0]=a[ca+10>>0]|0;a[S>>0]=a[ca+11>>0]|0;a[T>>0]=a[ca+12>>0]|0;a[U>>0]=a[ca+13>>0]|0;a[V>>0]=a[ca+14>>0]|0;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{ba=188;break c}}break}case 98:{if(((a[ca+5>>0]|0)==75?(a[ca+6>>0]|0)==71:0)?(a[ca+7>>0]|0)==68:0)switch(c[z>>2]|0){case 3:{if((ma|0)!=1){ba=57;break b}c[G>>2]=1;ya=d[na>>0]|0;c[H>>2]=ya;c[I>>2]=ya;c[J>>2]=ya;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 4:case 0:{if((ma|0)!=2){ba=60;break b}c[G>>2]=1;ya=d[na>>0]<<8|d[ca+9>>0];c[H>>2]=ya;c[I>>2]=ya;c[J>>2]=ya;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 6:case 2:{if((ma|0)!=6){ba=63;break b}c[G>>2]=1;c[J>>2]=d[na>>0]<<8|d[ca+9>>0];c[I>>2]=d[ca+10>>0]<<8|d[ca+11>>0];c[H>>2]=d[ca+12>>0]<<8|d[ca+13>>0];qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}}else ba=188;break}case 122:{if(((a[ca+5>>0]|0)==84?(a[ca+6>>0]|0)==88:0)?(a[ca+7>>0]|0)==116:0)if(c[F>>2]|0){c[j>>2]=0;c[K>>2]=0;c[L>>2]=0;do if(!(c[u>>2]|0)){e:do if(!ma)La=0;else{ya=0;while(1){if(!(a[na+ya>>0]|0)){La=ya;break e}xa=ya+1|0;if(xa>>>0<ma>>>0)ya=xa;else{La=xa;break}}}while(0);wa=La+2|0;if(ma>>>0<=wa>>>0){c[u>>2]=75;Ma=0;Na=0;break}Ba=La+1|0;ya=Fp(Ba)|0;if(!ya){c[u>>2]=9940;Ma=0;Na=0;break}a[ya+La>>0]=0;if(La|0){xa=0;do{a[ya+xa>>0]=a[na+xa>>0]|0;xa=xa+1|0}while((xa|0)!=(La|0))}if(a[na+Ba>>0]|0){c[u>>2]=72;Ma=ya;Na=0;break}if(ma>>>0<wa>>>0){c[u>>2]=75;Ma=ya;Na=0;break}xa=hp(j,L,na+wa|0,ma-wa|0,b)|0;c[u>>2]=xa;if(xa|0){Ma=ya;Na=c[j>>2]|0;break}xa=c[L>>2]|0;Oa=xa+1|0;do if((c[K>>2]|0)>>>0<Oa>>>0){Pa=Oa<<1;Qa=c[j>>2]|0;Ra=Gp(Qa,Pa)|0;if(!Ra){Sa=Qa;break}c[K>>2]=Pa;c[j>>2]=Ra;Ta=Ra;ba=113}else{Ta=c[j>>2]|0;ba=113}while(0);if((ba|0)==113){ba=0;c[L>>2]=Oa;a[Ta+xa>>0]=0;Sa=Ta}c[u>>2]=lp(_,ya,Sa)|0;Ma=ya;Na=Sa}else{Ma=0;Na=0}while(0);Hp(Ma);Hp(Na);if(c[u>>2]|0){Ua=fa;break a}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}case 105:{if(((a[ca+5>>0]|0)==84?(a[ca+6>>0]|0)==88:0)?(a[ca+7>>0]|0)==116:0)if(c[F>>2]|0){c[j>>2]=0;c[N>>2]=0;c[O>>2]=0;f:do if(!(c[u>>2]|0)){if(ma>>>0<5){c[u>>2]=76;Va=0;Wa=0;Xa=0;Ya=0;break}wa=0;while(1){if(!(a[na+wa>>0]|0)){Za=wa;break}Ba=wa+1|0;if(Ba>>>0<ma>>>0)wa=Ba;else{Za=Ba;break}}wa=Za+2|0;if(wa>>>0>=ma>>>0){c[u>>2]=75;Va=0;Wa=0;Xa=0;Ya=0;break}ya=Za+1|0;xa=Fp(ya)|0;if(!xa){c[u>>2]=9941;Va=0;Wa=0;Xa=0;Ya=0;break}a[xa+Za>>0]=0;if(Za|0){Oa=0;do{a[xa+Oa>>0]=a[na+Oa>>0]|0;Oa=Oa+1|0}while((Oa|0)!=(Za|0))}Oa=a[na+ya>>0]|0;if(a[na+wa>>0]|0){c[u>>2]=72;Va=0;Wa=0;Xa=xa;Ya=0;break}Ba=Za+3|0;g:do if(Ba>>>0<ma>>>0){Ra=0;Pa=Ba;while(1){if(!(a[na+Pa>>0]|0)){_a=Ra;break g}Qa=Ra+1|0;Pa=Pa+1|0;if(Pa>>>0>=ma>>>0){_a=Qa;break}else Ra=Qa}}else _a=0;while(0);wa=_a+1|0;ya=wa+Ba|0;if(ya>>>0>=ma>>>0){c[u>>2]=75;Va=0;Wa=0;Xa=xa;Ya=0;break}Ra=Fp(wa)|0;if(!Ra){c[u>>2]=9942;Va=0;Wa=0;Xa=xa;Ya=0;break}a[Ra+_a>>0]=0;if(_a|0){wa=0;do{a[Ra+wa>>0]=a[na+(wa+Ba)>>0]|0;wa=wa+1|0}while((wa|0)!=(_a|0))}wa=0;Ba=ya;while(1){if(!(a[na+Ba>>0]|0)){$a=wa;break}Pa=wa+1|0;Ba=Ba+1|0;if(Ba>>>0>=ma>>>0){$a=Pa;break}else wa=Pa}wa=$a+1|0;Ba=wa+ya|0;if(ma>>>0<=Ba>>>0){c[u>>2]=75;Va=0;Wa=Ra;Xa=xa;Ya=0;break}Pa=Fp(wa)|0;if(!Pa){c[u>>2]=9943;Va=0;Wa=Ra;Xa=xa;Ya=0;break}a[Pa+$a>>0]=0;if($a|0){wa=0;do{a[Pa+wa>>0]=a[na+(wa+ya)>>0]|0;wa=wa+1|0}while((wa|0)!=($a|0))}if(ma>>>0<Ba>>>0){c[u>>2]=75;Va=Pa;Wa=Ra;Xa=xa;Ya=0;break}wa=ma-Ba|0;h:do if(!(Oa<<24>>24)){ya=wa+1|0;do if(ya){Qa=ya<<1;ab=Gp(0,Qa)|0;if(ab){c[N>>2]=Qa;c[j>>2]=ab;c[O>>2]=ya;a[ab+wa>>0]=0;if(!wa){bb=ab;break h}else{cb=ab;break}}else{c[u>>2]=9944;Va=Pa;Wa=Ra;Xa=xa;Ya=0;break f}}else{c[O>>2]=0;a[0+wa>>0]=0;cb=0}while(0);ya=0;do{a[cb+ya>>0]=a[na+(ya+Ba)>>0]|0;ya=ya+1|0}while((ya|0)!=(wa|0));bb=cb}else{ya=hp(j,O,na+Ba|0,wa,b)|0;c[u>>2]=ya;if(ya|0){Va=Pa;Wa=Ra;Xa=xa;Ya=c[j>>2]|0;break f}ya=c[O>>2]|0;ab=ya+1|0;if((c[N>>2]|0)>>>0<ab>>>0){Qa=ab<<1;db=c[j>>2]|0;eb=Gp(db,Qa)|0;if(!eb){bb=db;break}c[N>>2]=Qa;c[j>>2]=eb;fb=eb}else fb=c[j>>2]|0;c[O>>2]=ab;a[fb+ya>>0]=0;bb=fb}while(0);c[u>>2]=np($,xa,Ra,Pa,bb)|0;Va=Pa;Wa=Ra;Xa=xa;Ya=bb}else{Va=0;Wa=0;Xa=0;Ya=0}while(0);Hp(Xa);Hp(Wa);Hp(Va);Hp(Ya);if(c[u>>2]|0){Ua=fa;break a}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}case 112:{if(((a[ca+5>>0]|0)==72?(a[ca+6>>0]|0)==89:0)?(a[ca+7>>0]|0)==115:0){if((ma|0)!=9){ba=184;break b}c[W>>2]=1;c[X>>2]=d[ca+9>>0]<<16|d[na>>0]<<24|d[ca+10>>0]<<8|d[ca+11>>0];c[Y>>2]=d[ca+13>>0]<<16|d[ca+12>>0]<<24|d[ca+14>>0]<<8|d[ca+15>>0];a[Z>>0]=a[ca+16>>0]|0;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}default:if(!(pa&32)){ba=187;break b}else ba=188}while(0);if((ba|0)==188){ba=0;if(!(c[M>>2]|0)){qa=0;ra=1;sa=ea;ta=fa;ua=ga;va=ha}else{pa=ea+-1|0;na=b+184+(pa<<2)|0;wa=b+196+(pa<<2)|0;pa=ma+12|0;Ba=c[wa>>2]|0;Oa=Ba+pa|0;if(Oa>>>0<pa>>>0|Oa>>>0<Ba>>>0){gb=77;ba=193;break}ya=Gp(c[na>>2]|0,Oa)|0;if(!ya){gb=9929;ba=193;break}c[na>>2]=ya;c[wa>>2]=Oa;Oa=ya+Ba|0;Ba=0;do{a[Oa+Ba>>0]=a[ca+Ba>>0]|0;Ba=Ba+1|0}while((Ba|0)!=(pa|0));c[u>>2]=0;qa=0;ra=1;sa=ea;ta=fa;ua=ga;va=ha}}if((c[w>>2]|ra|0)==0?(pa=d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0],Ba=ca+(pa+8)|0,Oa=d[Ba+1>>0]<<16|d[Ba>>0]<<24|d[Ba+2>>0]<<8|d[Ba+3>>0],(Oa|0)!=(jp(oa,pa+4|0)|0)):0){ba=197;break}if(qa<<24>>24){ba=200;break}ca=ca+((d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0])+12)|0;ia=ca-v+12|0;if(ca>>>0<g>>>0|ia>>>0>h>>>0){aa=ta;ba=4;break a}else{da=ra;ea=sa;fa=ta;ga=ua;ha=va}}switch(ba|0){case 6:{c[u>>2]=63;Ua=fa;break a;break}case 9:{c[u>>2]=35;Ua=fa;break a;break}case 19:{c[u>>2]=9936;Ua=fa;break a;break}case 29:{c[y>>2]=0;c[u>>2]=9937;Ua=fa;break a;break}case 31:{c[u>>2]=38;Ua=fa;break a;break}case 41:{c[u>>2]=39;Ua=fa;break a;break}case 46:{c[u>>2]=40;Ua=fa;break a;break}case 49:{c[u>>2]=41;Ua=fa;break a;break}case 51:{c[u>>2]=42;Ua=fa;break a;break}case 57:{c[u>>2]=43;Ua=fa;break a;break}case 60:{c[u>>2]=44;Ua=fa;break a;break}case 63:{c[u>>2]=45;Ua=fa;break a;break}case 178:{c[u>>2]=73;Ua=fa;break a;break}case 184:{c[u>>2]=74;Ua=fa;break a;break}case 187:{c[u>>2]=69;Ua=fa;break a;break}case 193:{c[u>>2]=gb;Ua=fa;break a;break}case 197:{c[u>>2]=57;Ua=ta;break a;break}case 200:{if(c[u>>2]|0){Ua=ta;break a}c[t>>2]=0;ha=t+8|0;c[ha>>2]=0;ga=t+4|0;c[ga>>2]=0;ea=b+52|0;da=c[ea>>2]|0;ia=b+56|0;ca=c[ia>>2]|0;pa=b+76|0;Oa=c[pa>>2]|0;switch(c[z>>2]|0){case 3:case 0:{hb=1;break}case 2:{hb=3;break}case 4:{hb=2;break}case 6:{hb=4;break}default:hb=0}Ba=((B((B(B(Oa,ca)|0,hb)|0)+7|0,da)|0)>>>3)+ca|0;do if(Ba){ca=Ba<<1;da=Gp(0,ca)|0;if(da){c[ha>>2]=ca;c[t>>2]=da;da=c[u>>2]|0;c[ga>>2]=Ba;if(!da){ba=211;break}else break}else{c[u>>2]=9945;break}}else{c[ga>>2]=0;ba=211}while(0);if((ba|0)==211?(Ba=hp(t,ga,ta,va,b)|0,c[u>>2]=Ba,(Ba|0)==0):0){Ba=c[ia>>2]|0;fa=c[ea>>2]|0;da=c[z>>2]|0;ca=c[pa>>2]|0;switch(da|0){case 3:case 0:{ib=1;break}case 2:{ib=3;break}case 4:{ib=2;break}case 6:{ib=4;break}default:ib=0}Oa=((B(B(B(fa,Ba)|0,ca)|0,ib)|0)+7|0)>>>3;if(Oa){Ba=Gp(0,Oa<<1)|0;if(Ba){Yu(Ba|0,0,Oa|0)|0;fa=Ba;if(!(c[u>>2]|0)){jb=fa;kb=c[z>>2]|0;lb=c[pa>>2]|0;ba=221}else{mb=fa;nb=Oa}}else{ob=9946;pb=0;qb=0;ba=286}}else{jb=0;kb=da;lb=ca;ba=221}i:do if((ba|0)==221){ca=jb;da=c[t>>2]|0;switch(kb|0){case 3:case 0:{rb=1;break}case 2:{rb=3;break}case 4:{rb=2;break}case 6:{rb=4;break}default:rb=0}fa=B(rb,lb)|0;Ba=c[ea>>2]|0;ma=c[ia>>2]|0;if(!fa){ob=31;pb=jb;qb=Oa;ba=286}else{do if(!(c[b+68>>2]|0)){if(fa>>>0>=8){sb=sp(ca,da,Ba,ma,fa)|0;break}ya=B(Ba,fa)|0;wa=ya+7&-8;if((ya|0)==(wa|0)){sb=sp(ca,da,Ba,ma,fa)|0;break}na=sp(da,da,Ba,ma,fa)|0;if(na|0){ob=na;pb=jb;qb=Oa;ba=286;break i}if((ma|0)==0|(ya|0)==0)sb=0;else{na=0;ab=0;eb=0;while(1){Qa=0;db=ab;tb=na;while(1){ub=1<<(tb&7^7);if(!(1<<(db&7^7)&d[da+(db>>>3)>>0])){vb=ca+(tb>>>3)|0;wb=vb;xb=(ub^255)&d[vb>>0]}else{vb=ca+(tb>>>3)|0;wb=vb;xb=ub|d[vb>>0]}a[wb>>0]=xb;Qa=Qa+1|0;if((Qa|0)==(ya|0))break;else{db=db+1|0;tb=tb+1|0}}eb=eb+1|0;if((eb|0)==(ma|0)){sb=0;break}else{na=na+ya|0;ab=ab+wa|0}}}}else{tp(o,p,q,r,s,Ba,ma,fa);j:do if(fa>>>0>=8){wa=sp(da+(c[r>>2]|0)|0,da+(c[q>>2]|0)|0,c[o>>2]|0,c[p>>2]|0,fa)|0;if(!wa){ab=sp(da+(c[r+4>>2]|0)|0,da+(c[q+4>>2]|0)|0,c[o+4>>2]|0,c[p+4>>2]|0,fa)|0;if(!ab){ya=sp(da+(c[r+8>>2]|0)|0,da+(c[q+8>>2]|0)|0,c[o+8>>2]|0,c[p+8>>2]|0,fa)|0;if(!ya){na=sp(da+(c[r+12>>2]|0)|0,da+(c[q+12>>2]|0)|0,c[o+12>>2]|0,c[p+12>>2]|0,fa)|0;if(!na){eb=sp(da+(c[r+16>>2]|0)|0,da+(c[q+16>>2]|0)|0,c[o+16>>2]|0,c[p+16>>2]|0,fa)|0;if(!eb){tb=sp(da+(c[r+20>>2]|0)|0,da+(c[q+20>>2]|0)|0,c[o+20>>2]|0,c[p+20>>2]|0,fa)|0;if(tb|0){yb=0;zb=tb;Ab=tb;break}tb=sp(da+(c[r+24>>2]|0)|0,da+(c[q+24>>2]|0)|0,c[o+24>>2]|0,c[p+24>>2]|0,fa)|0;if(!tb)ba=255;else{yb=0;zb=tb;Ab=tb}}else{yb=0;zb=eb;Ab=eb}}else{yb=0;zb=na;Ab=na}}else{yb=0;zb=ya;Ab=ya}}else{yb=0;zb=ab;Ab=ab}}else{yb=0;zb=wa;Ab=wa}}else{wa=0;while(1){ab=da+(c[r+(wa<<2)>>2]|0)|0;ya=c[o+(wa<<2)>>2]|0;na=c[p+(wa<<2)>>2]|0;eb=sp(ab,da+(c[q+(wa<<2)>>2]|0)|0,ya,na,fa)|0;if(eb|0){yb=0;zb=eb;Ab=eb;break j}eb=da+(c[s+(wa<<2)>>2]|0)|0;tb=B(ya,fa)|0;ya=tb+7&-8;if(!((na|0)==0|(tb|0)==0)){db=0;Qa=0;xa=0;while(1){Ra=0;Pa=Qa;vb=db;while(1){ub=1<<(vb&7^7);if(!(1<<(Pa&7^7)&d[ab+(Pa>>>3)>>0])){Bb=eb+(vb>>>3)|0;Cb=Bb;Db=(ub^255)&d[Bb>>0]}else{Bb=eb+(vb>>>3)|0;Cb=Bb;Db=ub|d[Bb>>0]}a[Cb>>0]=Db;Ra=Ra+1|0;if((Ra|0)==(tb|0))break;else{Pa=Pa+1|0;vb=vb+1|0}}xa=xa+1|0;if((xa|0)==(na|0))break;else{db=db+tb|0;Qa=Qa+ya|0}}}wa=wa+1|0;if(wa>>>0>=7){ba=255;break}}}while(0);if((ba|0)==255){tp(j,k,l,m,n,Ba,ma,fa);if(fa>>>0>7){wa=fa>>>3;if(wa|0){ya=0;do{Qa=c[k+(ya<<2)>>2]|0;do if(Qa|0){tb=c[j+(ya<<2)>>2]|0;if(!tb)break;db=c[n+(ya<<2)>>2]|0;na=c[28656+(ya<<2)>>2]|0;xa=c[28624+(ya<<2)>>2]|0;eb=c[28592+(ya<<2)>>2]|0;ab=c[28560+(ya<<2)>>2]|0;vb=0;do{Pa=(B((B(vb,xa)|0)+na|0,Ba)|0)+eb|0;Ra=B(vb,tb)|0;Bb=0;do{ub=(B(Bb+Ra|0,wa)|0)+db|0;Eb=B(Pa+(B(Bb,ab)|0)|0,wa)|0;Fb=0;do{a[ca+(Fb+Eb)>>0]=a[da+(ub+Fb)>>0]|0;Fb=Fb+1|0}while((Fb|0)!=(wa|0));Bb=Bb+1|0}while((Bb|0)!=(tb|0));vb=vb+1|0}while((vb|0)!=(Qa|0))}while(0);ya=ya+1|0}while((ya|0)!=7)}}else{ya=0;do{wa=c[j+(ya<<2)>>2]|0;Qa=c[k+(ya<<2)>>2]|0;if(!((wa|0)==0|(Qa|0)==0)){vb=c[28656+(ya<<2)>>2]|0;tb=c[28624+(ya<<2)>>2]|0;ab=c[28592+(ya<<2)>>2]|0;db=c[28560+(ya<<2)>>2]|0;eb=c[n+(ya<<2)>>2]<<3;na=0;do{xa=B(na,wa)|0;Bb=(B((B(na,tb)|0)+vb|0,Ba)|0)+ab|0;Pa=0;do{Ra=B(Bb+(B(Pa,db)|0)|0,fa)|0;Fb=0;ub=(B(Pa+xa|0,fa)|0)+eb|0;while(1){Eb=(d[da+(ub>>>3)>>0]|0)>>>(ub&7^7)&1;if(Eb|0){Gb=ca+(Ra>>>3)|0;a[Gb>>0]=Eb<<(Ra&7^7)|d[Gb>>0]}Fb=Fb+1|0;if((Fb|0)==(fa|0))break;else{Ra=Ra+1|0;ub=ub+1|0}}Pa=Pa+1|0}while((Pa|0)!=(wa|0));na=na+1|0}while((na|0)!=(Qa|0))}ya=ya+1|0}while((ya|0)!=7)}yb=1;zb=0;Ab=0}if(yb)sb=Ab;else{ob=zb;pb=jb;qb=Oa;ba=286;break i}}while(0);ob=sb;pb=jb;qb=Oa;ba=286}}while(0);if((ba|0)==286){c[u>>2]=ob;mb=pb;nb=qb}c[e>>2]=mb;c[f>>2]=nb}c[ha>>2]=0;c[ga>>2]=0;Hp(c[t>>2]|0);Ua=ta;break a;break}}}while(0);if((ba|0)==4){c[u>>2]=30;Ua=aa}Hp(Ua);if(c[u>>2]|0){Fa=i;return}Ua=b+20|0;aa=b+72|0;if(!(c[b+8>>2]|0)){ba=b+28|0;ta=c[ba>>2]|0;if(ta|0)Hp(ta);c[Ua>>2]=c[aa>>2];c[Ua+4>>2]=c[aa+4>>2];c[Ua+8>>2]=c[aa+8>>2];c[Ua+12>>2]=c[aa+12>>2];c[Ua+16>>2]=c[aa+16>>2];c[Ua+20>>2]=c[aa+20>>2];c[Ua+24>>2]=c[aa+24>>2];c[Ua+28>>2]=c[aa+28>>2];ta=Fp(c[y>>2]<<2)|0;c[ba>>2]=ta;t=c[y>>2]|0;if(!ta){Hb=(t|0)==0?0:9935;c[u>>2]=Hb;Fa=i;return}if(!(t&1073741823)){Hb=0;c[u>>2]=Hb;Fa=i;return}a[ta>>0]=a[c[x>>2]>>0]|0;if(!(c[y>>2]&1073741823)){Hb=0;c[u>>2]=Hb;Fa=i;return}ta=1;do{a[(c[ba>>2]|0)+ta>>0]=a[(c[x>>2]|0)+ta>>0]|0;ta=ta+1|0}while(ta>>>0<c[y>>2]<<2>>>0);Hb=0;c[u>>2]=Hb;Fa=i;return}Hb=c[Ua>>2]|0;if((Hb|0)==(c[aa>>2]|0)?(c[b+24>>2]|0)==(c[b+76>>2]|0):0){Fa=i;return}y=c[e>>2]|0;switch(Hb|0){case 6:case 2:break;default:if((c[b+24>>2]|0)!=8){c[u>>2]=56;Fa=i;return}}ta=b+52|0;x=c[ta>>2]|0;ba=b+56|0;t=c[ba>>2]|0;nb=c[b+24>>2]|0;switch(Hb|0){case 3:case 0:{Ib=1;break}case 2:{Ib=3;break}case 4:{Ib=2;break}case 6:{Ib=4;break}default:Ib=0}Hb=((B(B(B(t,x)|0,nb)|0,Ib)|0)+7|0)>>>3;c[f>>2]=Hb;Ib=Fp(Hb)|0;c[e>>2]=Ib;if(!Ib){c[u>>2]=9947;c[f>>2]=0}else c[u>>2]=pp(Ib,y,Ua,aa,c[ta>>2]|0,c[ba>>2]|0)|0;Hp(y);Fa=i;return}function sp(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0;h=(g+7|0)>>>3;i=((B(g,e)|0)+7|0)>>>3;if(!f){j=0;return j|0}e=i+1|0;g=(i|0)==0;k=(h|0)==0;l=(i|0)!=0;m=(h|0)!=0;n=h>>>0<i>>>0;o=0;p=0;a:while(1){q=B(o,i)|0;r=B(o,e)|0;s=p;p=b+q|0;q=c+(r+1)|0;b:do switch(a[c+r>>0]|0){case 0:{if(!g){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(i|0))}break}case 1:{if(!k){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(n){t=h;do{a[p+t>>0]=(d[p+(t-h)>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 2:{if(!s){if(!l)break b;t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(i|0))}else{if(!l)break b;t=0;do{a[p+t>>0]=(d[s+t>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 3:{if(!s){if(m){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=((d[p+(t-h)>>0]|0)>>>1&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}else{if(m){t=0;do{a[p+t>>0]=((d[s+t>>0]|0)>>>1&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=(((d[s+t>>0]|0)+(d[p+(t-h)>>0]|0)|0)>>>1)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 4:{if(!s){if(m){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=(d[p+(t-h)>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}else{if(m){t=0;do{a[p+t>>0]=(d[s+t>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{u=t-h|0;v=a[p+u>>0]|0;w=a[s+t>>0]|0;x=a[s+u>>0]|0;u=w&255;y=x&255;z=u-y|0;A=(z|0)>-1?z:0-z|0;z=v&255;C=z-y|0;D=(C|0)>-1?C:0-C|0;C=u+z+(B(y,-2)|0)|0;y=(C|0)>-1?C:0-C|0;a[p+t>>0]=(((A|0)>(D|0)|(A|0)>(y|0)?((D|0)>(y|0)?x:w):v)&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}default:{j=36;E=47;break a}}while(0);o=o+1|0;if(o>>>0>=f>>>0){j=0;E=47;break}}if((E|0)==47)return j|0;return 0}function tp(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;c[a>>2]=(g+7|0)>>>3;j=(h+7|0)>>>3;c[b>>2]=j;k=(c[a>>2]|0)==0?0:j;c[b>>2]=k;if(!k)c[a>>2]=0;k=a+4|0;c[k>>2]=(g+3|0)>>>3;l=b+4|0;c[l>>2]=j;m=(c[k>>2]|0)==0?0:j;c[l>>2]=m;if(!m)c[k>>2]=0;m=a+8|0;c[m>>2]=(g+3|0)>>>2;j=(h+3|0)>>>3;n=b+8|0;c[n>>2]=j;o=(c[m>>2]|0)==0?0:j;c[n>>2]=o;if(!o)c[m>>2]=0;o=a+12|0;c[o>>2]=(g+1|0)>>>2;j=(h+3|0)>>>2;p=b+12|0;c[p>>2]=j;q=(c[o>>2]|0)==0?0:j;c[p>>2]=q;if(!q)c[o>>2]=0;q=a+16|0;c[q>>2]=(g+1|0)>>>1;j=(h+1|0)>>>2;r=b+16|0;c[r>>2]=j;s=(c[q>>2]|0)==0?0:j;c[r>>2]=s;if(!s)c[q>>2]=0;s=a+20|0;c[s>>2]=g>>>1;j=(h+1|0)>>>1;t=b+20|0;c[t>>2]=j;u=(c[s>>2]|0)==0?0:j;c[t>>2]=u;if(!u)c[s>>2]=0;u=a+24|0;c[u>>2]=g;g=h>>>1;h=b+24|0;c[h>>2]=g;j=(c[u>>2]|0)==0?0:g;c[h>>2]=j;if(!j)c[u>>2]=0;c[f>>2]=0;c[e>>2]=0;c[d>>2]=0;j=c[a>>2]|0;a=c[b>>2]|0;if(!j){v=0;w=0;x=0}else{b=B(j,i)|0;j=(b+7|0)>>>3;v=j;w=b;x=B(a,j+1|0)|0}j=d+4|0;c[j>>2]=x;x=e+4|0;c[x>>2]=(B(a,v)|0)+(c[e>>2]|0);v=f+4|0;c[v>>2]=(((B(w,a)|0)+7|0)>>>3)+(c[f>>2]|0);a=c[k>>2]|0;k=c[l>>2]|0;if(!a){y=0;z=0;A=0}else{l=B(a,i)|0;a=(l+7|0)>>>3;y=l;z=a;A=B(k,a+1|0)|0}a=d+8|0;c[a>>2]=A+(c[j>>2]|0);j=e+8|0;c[j>>2]=(B(k,z)|0)+(c[x>>2]|0);x=f+8|0;c[x>>2]=(((B(y,k)|0)+7|0)>>>3)+(c[v>>2]|0);v=c[m>>2]|0;m=c[n>>2]|0;if(!v){C=0;D=0;E=0}else{n=B(v,i)|0;v=(n+7|0)>>>3;C=n;D=v;E=B(m,v+1|0)|0}v=d+12|0;c[v>>2]=E+(c[a>>2]|0);a=e+12|0;c[a>>2]=(B(m,D)|0)+(c[j>>2]|0);j=f+12|0;c[j>>2]=(((B(C,m)|0)+7|0)>>>3)+(c[x>>2]|0);x=c[o>>2]|0;o=c[p>>2]|0;if(!x){F=0;G=0;H=0}else{p=B(x,i)|0;x=(p+7|0)>>>3;F=p;G=x;H=B(o,x+1|0)|0}x=d+16|0;c[x>>2]=H+(c[v>>2]|0);v=e+16|0;c[v>>2]=(B(o,G)|0)+(c[a>>2]|0);a=f+16|0;c[a>>2]=(((B(F,o)|0)+7|0)>>>3)+(c[j>>2]|0);j=c[q>>2]|0;q=c[r>>2]|0;if(!j){I=0;J=0;K=0}else{r=B(j,i)|0;j=(r+7|0)>>>3;I=j;J=r;K=B(q,j+1|0)|0}j=d+20|0;c[j>>2]=K+(c[x>>2]|0);x=e+20|0;c[x>>2]=(B(q,I)|0)+(c[v>>2]|0);v=f+20|0;c[v>>2]=(((B(J,q)|0)+7|0)>>>3)+(c[a>>2]|0);a=c[s>>2]|0;s=c[t>>2]|0;if(!a){L=0;M=0;N=0}else{t=B(a,i)|0;a=(t+7|0)>>>3;L=t;M=a;N=B(s,a+1|0)|0}a=d+24|0;c[a>>2]=N+(c[j>>2]|0);j=e+24|0;c[j>>2]=(B(s,M)|0)+(c[x>>2]|0);x=f+24|0;c[x>>2]=(((B(L,s)|0)+7|0)>>>3)+(c[v>>2]|0);v=c[a>>2]|0;a=c[u>>2]|0;u=c[h>>2]|0;if(!a){O=0;P=0;Q=0;R=Q+v|0;S=d+28|0;c[S>>2]=R;T=c[j>>2]|0;U=B(u,P)|0;V=U+T|0;W=e+28|0;c[W>>2]=V;X=c[x>>2]|0;Y=B(O,u)|0;Z=Y+7|0;_=Z>>>3;$=_+X|0;aa=f+28|0;c[aa>>2]=$;return}h=B(a,i)|0;i=(h+7|0)>>>3;O=h;P=i;Q=B(u,i+1|0)|0;R=Q+v|0;S=d+28|0;c[S>>2]=R;T=c[j>>2]|0;U=B(u,P)|0;V=U+T|0;W=e+28|0;c[W>>2]=V;X=c[x>>2]|0;Y=B(O,u)|0;Z=Y+7|0;_=Z>>>3;$=_+X|0;aa=f+28|0;c[aa>>2]=$;return}function up(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;i=Fa;Fa=Fa+224|0;j=i+212|0;k=i;if(!f){l=100;Fa=i;return l|0}m=c[f>>2]|0;if(!m){n=c[f+8>>2]|0;au(n,0,2)|0;o=uu(n)|0;if(o>>>0>268435456){l=333;Fa=i;return l|0}wu(n);p=Fp(o)|0;vu(p,1,o,n)|0;c[k+8>>2]=1;c[k+12>>2]=1;c[k+4>>2]=0;c[k+16>>2]=0;c[k>>2]=0;n=k+20|0;q=k+24|0;r=k+28|0;s=k+32|0;t=k+56|0;u=k+52|0;v=k+88|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[k+72>>2]=6;c[k+76>>2]=8;c[k+80>>2]=0;c[k+84>>2]=0;c[k+68>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;v=k+104|0;c[k+168>>2]=0;w=k+184|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;x=v;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[v+48>>0]=0;v=k+208|0;c[v>>2]=1;c[n>>2]=g;c[q>>2]=h;rp(k,b,j,p,o);o=c[v>>2]|0;c[d>>2]=c[u>>2];c[e>>2]=c[t>>2];t=c[r>>2]|0;if(t|0)Hp(t);c[s>>2]=0;op(k+52|0);Hp(p);z=o;A=c[f>>2]|0}else{z=0;A=m}if((A|0)!=1){l=z;Fa=i;return l|0}c[f+20>>2]=0;z=c[f+12>>2]|0;A=c[f+16>>2]|0;c[k+8>>2]=1;c[k+12>>2]=1;c[k+4>>2]=0;c[k+16>>2]=0;c[k>>2]=0;f=k+20|0;m=k+24|0;o=k+28|0;p=k+32|0;s=k+56|0;t=k+52|0;r=k+88|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;c[k+72>>2]=6;c[k+76>>2]=8;c[k+80>>2]=0;c[k+84>>2]=0;c[k+68>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;r=k+104|0;c[k+168>>2]=0;u=k+184|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;x=r;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[r+48>>0]=0;r=k+208|0;c[r>>2]=1;c[f>>2]=g;c[m>>2]=h;rp(k,b,j,z,A);A=c[r>>2]|0;c[d>>2]=c[t>>2];c[e>>2]=c[s>>2];s=c[o>>2]|0;if(s|0)Hp(s);c[p>>2]=0;op(k+52|0);l=A;Fa=i;return l|0}function vp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return up(a,b,c,d,6,8)|0}function wp(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0;j=Fa;Fa=Fa+192|0;k=j+176|0;l=j+20|0;m=j+8|0;n=j+4|0;o=j;c[n>>2]=0;c[o>>2]=0;c[e>>2]=0;c[f>>2]=0;p=b+216|0;c[p>>2]=0;Xu(l|0,b+28|0,156)|0;c[l>>2]=h;c[l+4>>2]=i;a:do if(c[b+12>>2]|0){q=B(i,h)|0;b:do switch(c[b+184>>2]|0){case 6:{r=(q|0)!=0;if((c[b+188>>2]|0)==8){if(!r)break b;s=0;while(1){if((a[g+(s<<2|3)>>0]|0)!=-1)break a;s=s+1|0;if(s>>>0>=q>>>0)break b}}if(r){s=0;do{t=s<<3;if((a[g+(t|6)>>0]|0)!=-1)break a;s=s+1|0;if((a[g+(t|7)>>0]|0)!=-1)break a}while(s>>>0<q>>>0)}break}case 4:{s=(q|0)!=0;if((c[b+188>>2]|0)==8){if(!s)break b;r=0;while(1){if((a[g+(r<<1|1)>>0]|0)!=-1)break a;r=r+1|0;if(r>>>0>=q>>>0)break b}}if(s){r=0;do{t=r<<2;if((a[g+(t|2)>>0]|0)!=-1)break a;r=r+1|0;if((a[g+(t|3)>>0]|0)!=-1)break a}while(r>>>0<q>>>0)}break}case 3:{r=c[b+192>>2]|0;s=c[b+196>>2]|0;if(s|0){t=0;do{if((a[r+(t<<2|3)>>0]|0)!=-1)break a;t=t+1|0}while(t>>>0<s>>>0)}break}default:break a}while(0);q=l+20|0;switch(c[q>>2]|0){case 6:{c[q>>2]=2;break a;break}case 4:{c[q>>2]=0;break a;break}default:break a}}while(0);if((c[b+8>>2]|0)>>>0>32768){c[p>>2]=60;Fa=j;return}if((c[b>>2]|0)>>>0>2){c[p>>2]=61;Fa=j;return}if((c[b+44>>2]|0)>>>0>1){c[p>>2]=71;Fa=j;return}q=l+20|0;s=c[q>>2]|0;t=l+24|0;r=c[t>>2]|0;switch(s|0){case 0:{switch(r|0){case 1:case 2:case 4:case 8:case 16:break;default:{u=37;v=42}}break}case 2:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}case 3:{switch(r|0){case 1:case 2:case 4:case 8:break;default:{u=37;v=42}}break}case 4:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}case 6:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}default:{u=31;v=42}}if((v|0)==42){c[p>>2]=u;Fa=j;return}c[p>>2]=0;u=b+184|0;w=c[u>>2]|0;x=c[b+188>>2]|0;switch(w|0){case 0:{switch(x|0){case 1:case 2:case 4:case 8:case 16:break;default:{y=37;v=49}}break}case 2:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}case 3:{switch(x|0){case 1:case 2:case 4:case 8:break;default:{y=37;v=49}}break}case 4:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}case 6:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}default:{y=31;v=49}}if((v|0)==49){c[p>>2]=y;Fa=j;return}c[p>>2]=0;do if((w|0)==(s|0)&(x|0)==(r|0))xp(n,o,g,l);else{y=B(i,h)|0;switch(s|0){case 3:case 0:{z=-1;v=55;break}case 2:{A=3;v=54;break}case 4:break;case 6:{A=4;v=54;break}default:{z=0;v=55}}if((v|0)==54){C=((B(B(r,y)|0,A)|0)+7|0)>>>3;v=56}else if((v|0)==55)switch(s|0){case 2:case 6:{C=((B(z&r,y)|0)+7|0)>>>3;v=56;break}default:{}}if((v|0)==56?(r|0)==8:0){y=Fp(C)|0;if(!((C|0)!=0&(y|0)==0)){if((c[p>>2]|0)==0?(D=pp(y,g,q,u,h,i)|0,c[p>>2]=D,(D|0)==0):0)xp(n,o,y,l)}else c[p>>2]=9955;Hp(y);break}c[p>>2]=59;Fa=j;return}while(0);c[m>>2]=0;u=m+8|0;c[u>>2]=0;g=m+4|0;c[g>>2]=0;c:do if(!(c[p>>2]|0)){C=Gp(0,2)|0;if(!C){E=0;F=0}else{c[u>>2]=2;c[m>>2]=C;c[g>>2]=1;a[C>>0]=-119;E=c[g>>2]|0;F=c[u>>2]|0}C=E+1|0;if(F>>>0<C>>>0){r=C<<1;z=Gp(c[m>>2]|0,r)|0;if(!z){G=C;H=F;I=E}else{c[u>>2]=r;c[m>>2]=z;J=z;v=72}}else{J=c[m>>2]|0;v=72}if((v|0)==72){c[g>>2]=C;a[J+E>>0]=80;C=c[g>>2]|0;G=C+1|0;H=c[u>>2]|0;I=C}if(H>>>0<G>>>0){C=G<<1;z=Gp(c[m>>2]|0,C)|0;if(!z){K=G;L=H;M=I}else{c[u>>2]=C;c[m>>2]=z;N=z;v=77}}else{N=c[m>>2]|0;v=77}if((v|0)==77){c[g>>2]=G;a[N+I>>0]=78;z=c[g>>2]|0;K=z+1|0;L=c[u>>2]|0;M=z}if(L>>>0<K>>>0){z=K<<1;C=Gp(c[m>>2]|0,z)|0;if(!C){O=K;P=L;Q=M}else{c[u>>2]=z;c[m>>2]=C;R=C;v=82}}else{R=c[m>>2]|0;v=82}if((v|0)==82){c[g>>2]=K;a[R+M>>0]=71;C=c[g>>2]|0;O=C+1|0;P=c[u>>2]|0;Q=C}if(P>>>0<O>>>0){C=O<<1;z=Gp(c[m>>2]|0,C)|0;if(!z){S=O;T=P;U=Q}else{c[u>>2]=C;c[m>>2]=z;V=z;v=87}}else{V=c[m>>2]|0;v=87}if((v|0)==87){c[g>>2]=O;a[V+Q>>0]=13;z=c[g>>2]|0;S=z+1|0;T=c[u>>2]|0;U=z}if(T>>>0<S>>>0){z=S<<1;C=Gp(c[m>>2]|0,z)|0;if(!C){W=S;X=T;Y=U}else{c[u>>2]=z;c[m>>2]=C;Z=C;v=92}}else{Z=c[m>>2]|0;v=92}if((v|0)==92){c[g>>2]=S;a[Z+U>>0]=10;C=c[g>>2]|0;W=C+1|0;X=c[u>>2]|0;Y=C}if(X>>>0<W>>>0){C=W<<1;z=Gp(c[m>>2]|0,C)|0;if(!z){_=W;$=X;aa=Y}else{c[u>>2]=C;c[m>>2]=z;ba=z;v=97}}else{ba=c[m>>2]|0;v=97}if((v|0)==97){c[g>>2]=W;a[ba+Y>>0]=26;z=c[g>>2]|0;_=z+1|0;$=c[u>>2]|0;aa=z}if($>>>0<_>>>0){z=_<<1;C=Gp(c[m>>2]|0,z)|0;if(C|0){c[u>>2]=z;c[m>>2]=C;ca=C;v=102}}else{ca=c[m>>2]|0;v=102}if((v|0)==102){c[g>>2]=_;a[ca+aa>>0]=10}C=c[t>>2]|0;z=c[q>>2]|0;r=c[l+16>>2]|0;s=Gp(0,8)|0;A=(s|0)==0;x=A?0:8;w=A?0:4;y=s+(A?-4:0)|0;a[y>>0]=h>>>24;a[y+1>>0]=h>>>16;a[y+2>>0]=h>>>8;a[y+3>>0]=h;y=w+4|0;if(x>>>0<y>>>0){A=y<<1;D=Gp(s,A)|0;da=(D|0)==0;ea=da?s:D;fa=da?w:y;ga=da?x:A}else{ea=s;fa=y;ga=x}x=ea+(fa+-4)|0;a[x>>0]=i>>>24;a[x+1>>0]=i>>>16;a[x+2>>0]=i>>>8;a[x+3>>0]=i;x=C&255;C=fa+1|0;if(ga>>>0<C>>>0){y=C<<1;s=Gp(ea,y)|0;if(!s){ha=C;ia=ea;ja=fa;ka=ga}else{la=s;ma=y;v=107}}else{la=ea;ma=ga;v=107}if((v|0)==107){a[la+fa>>0]=x;ha=fa+2|0;ia=la;ja=C;ka=ma}C=z&255;if(ka>>>0<ha>>>0){z=ha<<1;x=Gp(ia,z)|0;if(!x){na=ha;oa=ia;pa=ja;qa=ka}else{ra=x;sa=z;v=110}}else{ra=ia;sa=ka;v=110}if((v|0)==110){a[ra+ja>>0]=C;na=ha+1|0;oa=ra;pa=ha;qa=sa}if(qa>>>0<na>>>0){C=na<<1;z=Gp(oa,C)|0;if(!z){ta=na;ua=oa;va=pa;wa=qa}else{xa=z;ya=C;v=113}}else{xa=oa;ya=qa;v=113}if((v|0)==113){a[xa+pa>>0]=0;ta=na+1|0;ua=xa;va=na;wa=ya}if(wa>>>0<ta>>>0){C=ta<<1;z=Gp(ua,C)|0;if(!z){za=ta;Aa=ua;Ba=va;Ca=wa}else{Da=z;Ea=C;v=116}}else{Da=ua;Ea=wa;v=116}if((v|0)==116){a[Da+va>>0]=0;za=ta+1|0;Aa=Da;Ba=ta;Ca=Ea}C=r&255;if(Ca>>>0<za>>>0){r=Gp(Aa,za<<1)|0;if(!r){Ga=Aa;Ha=Ba}else{Ia=r;v=119}}else{Ia=Aa;v=119}if((v|0)==119){a[Ia+Ba>>0]=C;Ga=Ia;Ha=za}if(!(kp(m,g,Ha,64277,Ga)|0))c[u>>2]=c[g>>2];Hp(Ga);C=c[l+132>>2]|0;if(C|0){r=c[l+144>>2]|0;z=C;d:do if(r|0){x=C;y=c[g>>2]|0;while(1){s=x+1|0;A=x+2|0;da=x+3|0;w=(d[s>>0]<<16|d[x>>0]<<24|d[A>>0]<<8|d[da>>0])+12|0;D=w+y|0;if(D>>>0<w>>>0|D>>>0<y>>>0){Ja=77;break}Ka=Gp(c[m>>2]|0,D)|0;if(!Ka){Ja=9929;break}c[m>>2]=Ka;c[g>>2]=D;La=Ka+y|0;if(!w)Ma=D;else{D=0;do{a[La+D>>0]=a[x+D>>0]|0;D=D+1|0}while((D|0)!=(w|0));Ma=c[g>>2]|0}c[u>>2]=Ma;x=x+((d[s>>0]<<16|d[x>>0]<<24|d[A>>0]<<8|d[da>>0])+12)|0;if((x-z|0)>>>0>=r>>>0)break d;else y=Ma}c[p>>2]=Ja;break c}while(0);c[p>>2]=0}if((c[q>>2]|0)==3){r=l+32|0;z=c[r>>2]|0;if((z+-1|0)>>>0>255){c[p>>2]=68;break}if(!(z&1073741823)){Na=0;Oa=0}else{C=l+28|0;y=0;x=0;w=0;D=0;La=z;while(1){do if((y&3|0)==3){Pa=x;Qa=w;Ra=D;Sa=La}else{z=a[(c[C>>2]|0)+y>>0]|0;Ka=D+1|0;if(w>>>0<Ka>>>0){Ta=Ka<<1;Ua=Gp(x,Ta)|0;if(!Ua){Pa=x;Qa=w;Ra=D;Sa=La;break}else{Va=Ua;Wa=Ta}}else{Va=x;Wa=w}a[Va+D>>0]=z;Pa=Va;Qa=Wa;Ra=Ka;Sa=c[r>>2]|0}while(0);y=y+1|0;if(y>>>0>=Sa<<2>>>0){Na=Pa;Oa=Ra;break}else{x=Pa;w=Qa;D=Ra;La=Sa}}}if(!(kp(m,g,Oa,64282,Na)|0))c[u>>2]=c[g>>2];Hp(Na)}e:do if(!(c[b+16>>2]|0))v=161;else{La=c[q>>2]|0;switch(La|0){case 6:case 2:break;default:{Xa=La;break e}}La=l+32|0;D=c[La>>2]|0;if((D+-1|0)>>>0>255){c[p>>2]=68;break c}if(!(D&1073741823)){Ya=0;Za=0}else{w=l+28|0;x=0;y=0;r=0;C=0;Ka=D;while(1){do if((x&3|0)==3){_a=y;$a=r;ab=C;bb=Ka}else{D=a[(c[w>>2]|0)+x>>0]|0;z=C+1|0;if(r>>>0<z>>>0){Ta=z<<1;Ua=Gp(y,Ta)|0;if(!Ua){_a=y;$a=r;ab=C;bb=Ka;break}else{cb=Ua;db=Ta}}else{cb=y;db=r}a[cb+C>>0]=D;_a=cb;$a=db;ab=z;bb=c[La>>2]|0}while(0);x=x+1|0;if(x>>>0>=bb<<2>>>0){Ya=_a;Za=ab;break}else{y=_a;r=$a;C=ab;Ka=bb}}}if(!(kp(m,g,Za,64282,Ya)|0))c[u>>2]=c[g>>2];Hp(Ya);v=161}while(0);if((v|0)==161)Xa=c[q>>2]|0;f:do if((Xa|0)==3){Ka=c[l+28>>2]|0;C=c[l+32>>2]|0;if(!C)break;r=0;while(1){if((a[Ka+(r<<2|3)>>0]|0)!=-1)break;r=r+1|0;if(r>>>0>=C>>>0)break f}yp(m,q);eb=c[q>>2]|0;v=168}else{eb=Xa;v=168}while(0);g:do if((v|0)==168){switch(eb|0){case 2:case 0:break;default:break g}if(!(c[l+36>>2]|0))break;yp(m,q)}while(0);if(c[l+52>>2]|0){h:do switch(c[l+20>>2]|0){case 4:case 0:{C=l+56|0;r=c[C>>2]|0;Ka=Gp(0,2)|0;if(!Ka){y=Gp(0,2)|0;if(!y){fb=0;gb=0;break h}else{hb=r;ib=y;jb=0;kb=1}}else{a[Ka>>0]=r>>>8;hb=c[C>>2]|0;ib=Ka;jb=1;kb=2}a[ib+jb>>0]=hb;fb=ib;gb=kb;break}case 6:case 2:{Ka=l+56|0;C=c[Ka>>2]|0;r=Gp(0,2)|0;if(!r){y=Gp(0,2)|0;if(!y){lb=0;mb=0;nb=0}else{ob=C;pb=y;qb=0;rb=1;v=180}}else{a[r>>0]=C>>>8;ob=c[Ka>>2]|0;pb=r;qb=1;rb=2;v=180}if((v|0)==180){a[pb+qb>>0]=ob;lb=pb;mb=rb;nb=2}r=l+60|0;Ka=c[r>>2]|0;C=Ka>>>8&255;y=mb+1|0;if(nb>>>0<y>>>0){x=y<<1;La=Gp(lb,x)|0;if(!La){sb=y;tb=lb;ub=mb;vb=nb;wb=Ka}else{xb=La;yb=x;v=183}}else{xb=lb;yb=nb;v=183}if((v|0)==183){a[xb+mb>>0]=C;sb=mb+2|0;tb=xb;ub=y;vb=yb;wb=c[r>>2]|0}r=wb&255;if(vb>>>0<sb>>>0){y=sb<<1;C=Gp(tb,y)|0;if(!C){zb=sb;Ab=tb;Bb=ub;Cb=vb}else{Db=C;Eb=y;v=186}}else{Db=tb;Eb=vb;v=186}if((v|0)==186){a[Db+ub>>0]=r;zb=sb+1|0;Ab=Db;Bb=sb;Cb=Eb}r=l+64|0;y=c[r>>2]|0;C=y>>>8&255;if(Cb>>>0<zb>>>0){x=zb<<1;La=Gp(Ab,x)|0;if(!La){Fb=zb;Gb=Ab;Hb=Bb;Ib=Cb;Jb=y}else{Kb=La;Lb=x;v=189}}else{Kb=Ab;Lb=Cb;v=189}if((v|0)==189){a[Kb+Bb>>0]=C;Fb=zb+1|0;Gb=Kb;Hb=zb;Ib=Lb;Jb=c[r>>2]|0}r=Jb&255;if(Ib>>>0<Fb>>>0){C=Gp(Gb,Fb<<1)|0;if(!C){fb=Gb;gb=Hb;break h}else Mb=C}else Mb=Gb;a[Mb+Hb>>0]=r;fb=Mb;gb=Fb;break}case 3:{r=c[l+56>>2]|0;C=Gp(0,2)|0;if(!C){fb=0;gb=0;break h}a[C>>0]=r;fb=C;gb=1;break}default:{fb=0;gb=0}}while(0);if(!(kp(m,g,gb,64287,fb)|0))c[u>>2]=c[g>>2];Hp(fb)}if(c[l+116>>2]|0){C=c[l+120>>2]|0;r=Gp(0,8)|0;x=(r|0)==0;La=x?0:8;y=x?0:4;Ka=r+(x?-4:0)|0;a[Ka>>0]=C>>>24;a[Ka+1>>0]=C>>>16;a[Ka+2>>0]=C>>>8;a[Ka+3>>0]=C;C=c[l+124>>2]|0;Ka=y+4|0;if(La>>>0<Ka>>>0){x=Ka<<1;w=Gp(r,x)|0;da=(w|0)==0;Nb=da?r:w;Ob=da?y:Ka;Pb=da?La:x}else{Nb=r;Ob=Ka;Pb=La}La=Nb+(Ob+-4)|0;a[La>>0]=C>>>24;a[La+1>>0]=C>>>16;a[La+2>>0]=C>>>8;a[La+3>>0]=C;C=a[l+128>>0]|0;La=Ob+1|0;if(Pb>>>0<La>>>0){Ka=Gp(Nb,La<<1)|0;if(!Ka){Qb=Nb;Rb=Ob}else{Sb=Ka;v=203}}else{Sb=Nb;v=203}if((v|0)==203){a[Sb+Ob>>0]=C;Qb=Sb;Rb=La}if(!(kp(m,g,Rb,64292,Qb)|0))c[u>>2]=c[g>>2];Hp(Qb)}La=c[l+136>>2]|0;if(La|0){C=c[l+148>>2]|0;Ka=La;i:do if(C|0){r=La;x=c[g>>2]|0;while(1){da=r+1|0;y=r+2|0;w=r+3|0;A=(d[da>>0]<<16|d[r>>0]<<24|d[y>>0]<<8|d[w>>0])+12|0;s=A+x|0;if(s>>>0<A>>>0|s>>>0<x>>>0){Tb=77;break}z=Gp(c[m>>2]|0,s)|0;if(!z){Tb=9929;break}c[m>>2]=z;c[g>>2]=s;D=z+x|0;if(!A)Ub=s;else{s=0;do{a[D+s>>0]=a[r+s>>0]|0;s=s+1|0}while((s|0)!=(A|0));Ub=c[g>>2]|0}c[u>>2]=Ub;r=r+((d[da>>0]<<16|d[r>>0]<<24|d[y>>0]<<8|d[w>>0])+12)|0;if((r-Ka|0)>>>0>=C>>>0)break i;else x=Ub}c[p>>2]=Tb;break c}while(0);c[p>>2]=0}C=c[n>>2]|0;Ka=c[o>>2]|0;c[k>>2]=0;c[k+8>>2]=0;La=k+4|0;c[La>>2]=0;x=ip(k,La,C,Ka,b)|0;Ka=c[k>>2]|0;do if(!x){C=kp(m,g,c[La>>2]|0,64297,Ka)|0;if(C|0){Vb=C;break}c[u>>2]=c[g>>2];Vb=0}else Vb=x;while(0);Hp(Ka);c[p>>2]=Vb;if(Vb|0)break;do if(a[l+100>>0]|0){x=Fp(7)|0;if(!x)break;La=l+104|0;a[x>>0]=(c[La>>2]|0)>>>8;a[x+1>>0]=c[La>>2];a[x+2>>0]=a[l+108>>0]|0;a[x+3>>0]=a[l+109>>0]|0;a[x+4>>0]=a[l+110>>0]|0;a[x+5>>0]=a[l+111>>0]|0;a[x+6>>0]=a[l+112>>0]|0;if(!(kp(m,g,7,64302,x)|0))c[u>>2]=c[g>>2];Hp(x)}while(0);Ka=l+68|0;x=c[Ka>>2]|0;j:do if(x){La=l+72|0;C=b+24|0;r=l+76|0;A=k+8|0;s=k+4|0;D=0;z=x;while(1){Ta=c[(c[La>>2]|0)+(D<<2)>>2]|0;if((ft(Ta)|0)>>>0>79){v=231;break}Ua=a[Ta>>0]|0;if(!(Ua<<24>>24)){v=233;break}Wb=c[(c[r>>2]|0)+(D<<2)>>2]|0;if(!(c[C>>2]|0))zp(m,Ta,Wb);else{Xb=ft(Wb)|0;c[k>>2]=0;c[A>>2]=0;c[s>>2]=0;Yb=0;Zb=0;_b=0;$b=0;ac=1;bc=Ua;Ua=1;while(1){if(Ua){cc=ac<<1;dc=Gp(Zb,cc)|0;if(!dc){ec=Zb;fc=_b;gc=$b}else{hc=dc;ic=cc;v=238}}else{hc=Zb;ic=$b;v=238}if((v|0)==238){v=0;a[hc+_b>>0]=bc;ec=hc;fc=ac;gc=ic}Yb=Yb+1|0;bc=a[Ta+Yb>>0]|0;ac=fc+1|0;Ua=gc>>>0<ac>>>0;if(!(bc<<24>>24))break;else{Zb=ec;_b=fc;$b=gc}}if(Ua){$b=ac<<1;_b=Gp(ec,$b)|0;if(!_b){jc=ac;kc=ec;lc=fc;mc=gc}else{nc=_b;oc=$b;v=242}}else{nc=ec;oc=gc;v=242}if((v|0)==242){v=0;a[nc+fc>>0]=0;jc=fc+2|0;kc=nc;lc=ac;mc=oc}if(mc>>>0<jc>>>0){$b=jc<<1;_b=Gp(kc,$b)|0;if(!_b){pc=kc;qc=lc;rc=mc}else{sc=_b;tc=$b;v=245}}else{sc=kc;tc=mc;v=245}if((v|0)==245){v=0;a[sc+lc>>0]=0;pc=sc;qc=jc;rc=tc}do if(!(ip(k,s,Wb,Xb,b)|0)){$b=c[s>>2]|0;if(!$b){uc=pc;vc=qc}else{_b=0;Zb=pc;bc=qc;Yb=rc;Ta=$b;while(1){$b=a[(c[k>>2]|0)+_b>>0]|0;w=bc+1|0;if(Yb>>>0<w>>>0){y=w<<1;da=Gp(Zb,y)|0;if(!da){wc=Zb;xc=bc;yc=Yb;zc=Ta}else{Ac=da;Bc=y;v=251}}else{Ac=Zb;Bc=Yb;v=251}if((v|0)==251){v=0;a[Ac+bc>>0]=$b;wc=Ac;xc=w;yc=Bc;zc=c[s>>2]|0}_b=_b+1|0;if(_b>>>0>=zc>>>0){uc=wc;vc=xc;break}else{Zb=wc;bc=xc;Yb=yc;Ta=zc}}}if(kp(m,g,vc,64307,uc)|0){Cc=uc;break}c[u>>2]=c[g>>2];Cc=uc}else Cc=pc;while(0);c[A>>2]=0;c[s>>2]=0;Hp(c[k>>2]|0);Hp(Cc)}D=D+1|0;Xb=c[Ka>>2]|0;if(D>>>0>=Xb>>>0){Dc=Xb;break j}else z=Xb}if((v|0)==231){c[p>>2]=66;Dc=z;break}else if((v|0)==233){c[p>>2]=67;Dc=z;break}}else Dc=0;while(0);k:do if(c[b+20>>2]|0){if(Dc|0){Ka=c[l+72>>2]|0;x=0;do{if(!(Xs(c[Ka+(x<<2)>>2]|0,64312)|0))break k;x=x+1|0}while(x>>>0<Dc>>>0)}zp(m,64312,64320)}while(0);x=l+80|0;l:do if(c[x>>2]|0){Ka=l+84|0;z=b+24|0;D=l+88|0;s=l+92|0;A=l+96|0;C=k+8|0;r=k+4|0;La=0;while(1){Xb=c[(c[Ka>>2]|0)+(La<<2)>>2]|0;if((ft(Xb)|0)>>>0>79){v=267;break}Wb=a[Xb>>0]|0;if(!(Wb<<24>>24)){v=269;break}ac=c[z>>2]|0;Ua=c[(c[D>>2]|0)+(La<<2)>>2]|0;Ta=c[(c[s>>2]|0)+(La<<2)>>2]|0;Yb=c[(c[A>>2]|0)+(La<<2)>>2]|0;bc=ft(Yb)|0;Zb=0;_b=0;w=0;$b=0;y=1;da=Wb;Wb=1;while(1){if(Wb){cc=y<<1;dc=Gp(_b,cc)|0;if(!dc){Ec=_b;Fc=w;Gc=$b}else{Hc=dc;Ic=cc;v=273}}else{Hc=_b;Ic=$b;v=273}if((v|0)==273){v=0;a[Hc+w>>0]=da;Ec=Hc;Fc=y;Gc=Ic}Zb=Zb+1|0;da=a[Xb+Zb>>0]|0;y=Fc+1|0;Wb=Gc>>>0<y>>>0;if(!(da<<24>>24))break;else{_b=Ec;w=Fc;$b=Gc}}if(Wb){$b=y<<1;w=Gp(Ec,$b)|0;if(!w){Jc=y;Kc=Ec;Lc=Fc;Mc=Gc}else{Nc=w;Oc=$b;v=277}}else{Nc=Ec;Oc=Gc;v=277}if((v|0)==277){v=0;a[Nc+Fc>>0]=0;Jc=Fc+2|0;Kc=Nc;Lc=y;Mc=Oc}$b=(ac|0)!=0;w=$b&1;if(Mc>>>0<Jc>>>0){_b=Jc<<1;da=Gp(Kc,_b)|0;if(!da){Pc=Jc;Qc=Kc;Rc=Lc;Sc=Mc}else{Tc=da;Uc=_b;v=280}}else{Tc=Kc;Uc=Mc;v=280}if((v|0)==280){v=0;a[Tc+Lc>>0]=w;Pc=Lc+2|0;Qc=Tc;Rc=Jc;Sc=Uc}if(Sc>>>0<Pc>>>0){w=Pc<<1;_b=Gp(Qc,w)|0;if(!_b){Vc=Pc;Wc=Qc;Xc=Rc;Yc=Sc}else{Zc=_b;_c=w;v=283}}else{Zc=Qc;_c=Sc;v=283}if((v|0)==283){v=0;a[Zc+Rc>>0]=0;Vc=Pc+1|0;Wc=Zc;Xc=Pc;Yc=_c}w=a[Ua>>0]|0;_b=Yc>>>0<Vc>>>0;if(!(w<<24>>24)){$c=_b;ad=Vc;bd=Wc;cd=Xc;dd=Yc}else{da=0;Zb=Wc;Xb=Xc;cc=Yc;dc=Vc;ed=w;w=_b;while(1){if(w){_b=dc<<1;fd=Gp(Zb,_b)|0;if(!fd){gd=Zb;hd=Xb;id=cc}else{jd=fd;kd=_b;v=288}}else{jd=Zb;kd=cc;v=288}if((v|0)==288){v=0;a[jd+Xb>>0]=ed;gd=jd;hd=dc;id=kd}da=da+1|0;ed=a[Ua+da>>0]|0;_b=hd+1|0;fd=id>>>0<_b>>>0;if(!(ed<<24>>24)){$c=fd;ad=_b;bd=gd;cd=hd;dd=id;break}else{Zb=gd;Xb=hd;cc=id;dc=_b;w=fd}}}if($c){w=ad<<1;dc=Gp(bd,w)|0;if(!dc){ld=bd;md=cd;nd=dd}else{od=dc;pd=w;v=292}}else{od=bd;pd=dd;v=292}if((v|0)==292){v=0;a[od+cd>>0]=0;ld=od;md=ad;nd=pd}w=a[Ta>>0]|0;dc=md+1|0;cc=nd>>>0<dc>>>0;if(!(w<<24>>24)){qd=cc;rd=dc;sd=ld;td=md;ud=nd}else{Xb=0;Zb=ld;ed=md;da=nd;Ua=dc;dc=w;w=cc;while(1){if(w){cc=Ua<<1;ac=Gp(Zb,cc)|0;if(!ac){vd=Zb;wd=ed;xd=da}else{yd=ac;zd=cc;v=297}}else{yd=Zb;zd=da;v=297}if((v|0)==297){v=0;a[yd+ed>>0]=dc;vd=yd;wd=Ua;xd=zd}Xb=Xb+1|0;dc=a[Ta+Xb>>0]|0;cc=wd+1|0;ac=xd>>>0<cc>>>0;if(!(dc<<24>>24)){qd=ac;rd=cc;sd=vd;td=wd;ud=xd;break}else{Zb=vd;ed=wd;da=xd;Ua=cc;w=ac}}}if(qd){w=rd<<1;Ua=Gp(sd,w)|0;if(!Ua){Ad=sd;Bd=td;Cd=ud}else{Dd=Ua;Ed=w;v=301}}else{Dd=sd;Ed=ud;v=301}if((v|0)==301){v=0;a[Dd+td>>0]=0;Ad=Dd;Bd=rd;Cd=Ed}do if($b){c[k>>2]=0;c[C>>2]=0;c[r>>2]=0;if(ip(k,r,Yb,bc,b)|0){Fd=Ad;break}w=c[r>>2]|0;if(!w){Gd=Ad;Hd=Bd;Id=Cd}else{Ua=0;da=Ad;ed=Bd;Zb=Cd;dc=w;while(1){w=a[(c[k>>2]|0)+Ua>>0]|0;Xb=ed+1|0;if(Zb>>>0<Xb>>>0){Ta=Xb<<1;ac=Gp(da,Ta)|0;if(!ac){Jd=da;Kd=ed;Ld=Zb;Md=dc}else{Nd=ac;Od=Ta;v=308}}else{Nd=da;Od=Zb;v=308}if((v|0)==308){v=0;a[Nd+ed>>0]=w;Jd=Nd;Kd=Xb;Ld=Od;Md=c[r>>2]|0}Ua=Ua+1|0;if(Ua>>>0>=Md>>>0){Gd=Jd;Hd=Kd;Id=Ld;break}else{da=Jd;ed=Kd;Zb=Ld;dc=Md}}}dc=a[Yb>>0]|0;if(!(dc<<24>>24)){Pd=Gd;Qd=Hd;v=322;break}Zb=0;ed=Gd;da=Hd;Ua=Id;Xb=dc;while(1){dc=da+1|0;if(Ua>>>0<dc>>>0){w=dc<<1;Ta=Gp(ed,w)|0;if(!Ta){Rd=ed;Sd=da;Td=Ua}else{Ud=Ta;Vd=w;v=314}}else{Ud=ed;Vd=Ua;v=314}if((v|0)==314){v=0;a[Ud+da>>0]=Xb;Rd=Ud;Sd=dc;Td=Vd}Zb=Zb+1|0;Xb=a[Yb+Zb>>0]|0;if(!(Xb<<24>>24)){Pd=Rd;Qd=Sd;v=322;break}else{ed=Rd;da=Sd;Ua=Td}}}else{Ua=a[Yb>>0]|0;if(!(Ua<<24>>24)){Pd=Ad;Qd=Bd;v=322;break}da=0;ed=Ad;Xb=Bd;Zb=Cd;dc=Ua;while(1){Ua=Xb+1|0;if(Zb>>>0<Ua>>>0){w=Ua<<1;Ta=Gp(ed,w)|0;if(!Ta){Wd=ed;Xd=Xb;Yd=Zb}else{Zd=Ta;_d=w;v=320}}else{Zd=ed;_d=Zb;v=320}if((v|0)==320){v=0;a[Zd+Xb>>0]=dc;Wd=Zd;Xd=Ua;Yd=_d}da=da+1|0;dc=a[Yb+da>>0]|0;if(!(dc<<24>>24)){Pd=Wd;Qd=Xd;v=322;break}else{ed=Wd;Xb=Xd;Zb=Yd}}}while(0);do if((v|0)==322){v=0;if(kp(m,g,Qd,64329,Pd)|0){Fd=Pd;break}c[u>>2]=c[g>>2];Fd=Pd}while(0);Hp(Fd);La=La+1|0;if(La>>>0>=(c[x>>2]|0)>>>0)break l}if((v|0)==267){c[p>>2]=66;break}else if((v|0)==269){c[p>>2]=67;break}}while(0);x=c[l+140>>2]|0;if(x|0){La=c[l+152>>2]|0;r=x;m:do if(La|0){C=x;A=c[g>>2]|0;while(1){s=C+1|0;D=C+2|0;z=C+3|0;Ka=(d[s>>0]<<16|d[C>>0]<<24|d[D>>0]<<8|d[z>>0])+12|0;Yb=Ka+A|0;if(Yb>>>0<Ka>>>0|Yb>>>0<A>>>0){$d=77;break}bc=Gp(c[m>>2]|0,Yb)|0;if(!bc){$d=9929;break}c[m>>2]=bc;c[g>>2]=Yb;$b=bc+A|0;if(!Ka)ae=Yb;else{Yb=0;do{a[$b+Yb>>0]=a[C+Yb>>0]|0;Yb=Yb+1|0}while((Yb|0)!=(Ka|0));ae=c[g>>2]|0}c[u>>2]=ae;C=C+((d[s>>0]<<16|d[C>>0]<<24|d[D>>0]<<8|d[z>>0])+12)|0;if((C-r|0)>>>0>=La>>>0)break m;else A=ae}c[p>>2]=$d;break c}while(0);c[p>>2]=0}La=c[g>>2]|0;r=La+12|0;if(La>>>0>4294967283)break;x=Gp(c[m>>2]|0,r)|0;if(!x)break;c[m>>2]=x;c[g>>2]=r;r=x+La|0;a[r>>0]=0;a[r+1>>0]=0;a[r+2>>0]=0;a[r+3>>0]=0;La=r+4|0;a[La>>0]=73;a[r+5>>0]=69;a[r+6>>0]=78;a[r+7>>0]=68;x=jp(La,4)|0;La=r+8|0;a[La>>0]=x>>>24;a[La+1>>0]=x>>>16;a[La+2>>0]=x>>>8;a[La+3>>0]=x;c[u>>2]=c[g>>2]}while(0);Hp(c[n>>2]|0);c[e>>2]=c[m>>2];c[f>>2]=c[g>>2];Fa=j;return}function xp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;h=Fa;Fa=Fa+320|0;i=h+288|0;j=h+256|0;k=h+224|0;l=h+192|0;m=h+160|0;n=h+128|0;o=h+96|0;p=h+64|0;q=h+32|0;r=h;s=g+20|0;t=g+24|0;u=c[t>>2]|0;switch(c[s>>2]|0){case 3:case 0:{v=1;break}case 2:{v=3;break}case 4:{v=2;break}case 6:{v=4;break}default:v=0}w=B(v,u)|0;u=c[g>>2]|0;v=c[g+4>>2]|0;if(!(c[g+16>>2]|0)){g=B(u,w)|0;x=g+7|0;y=B(x>>>3,v)|0;z=y+v|0;c[e>>2]=z;A=Fp(z)|0;c[b>>2]=A;if((A|0)==0?c[e>>2]|0:0){Fa=h;return}if(w>>>0<8?(z=x&-8,(g|0)!=(z|0)):0){if(y){x=Gp(0,y<<1)|0;if(!x)C=0;else{D=x;E=13}}else{D=0;E=13}if((E|0)==13){Ap(D,f,z,g,v);Bp(c[b>>2]|0,D,u,v,c[s>>2]|0,c[t>>2]|0)|0;C=D}Hp(C);Fa=h;return}Bp(A,f,u,v,c[s>>2]|0,c[t>>2]|0)|0;Fa=h;return}A=B(w,u)|0;C=((B(A,v)|0)+7|0)>>>3;D=Fp(C)|0;g=(C|0)==0|(D|0)!=0;C=g?0:9952;if(g){tp(n,o,p,q,r,u,v,w);z=c[p+28>>2]|0;c[e>>2]=z;x=Fp(z)|0;c[b>>2]=x;if(!((x|0)==0?(c[e>>2]|0)!=0:0))E=19;do if((E|0)==19){tp(i,j,k,l,m,u,v,w);if(w>>>0>7){e=w>>>3;if(e|0){x=0;do{z=c[j+(x<<2)>>2]|0;if(z|0?(y=c[i+(x<<2)>>2]|0,y|0):0){F=c[28656+(x<<2)>>2]|0;G=c[28624+(x<<2)>>2]|0;H=c[28592+(x<<2)>>2]|0;I=c[28560+(x<<2)>>2]|0;J=c[m+(x<<2)>>2]|0;K=0;do{L=(B((B(K,G)|0)+F|0,u)|0)+H|0;M=B(K,y)|0;N=0;do{O=B(L+(B(N,I)|0)|0,e)|0;P=(B(N+M|0,e)|0)+J|0;Q=0;do{a[D+(P+Q)>>0]=a[f+(Q+O)>>0]|0;Q=Q+1|0}while((Q|0)!=(e|0));N=N+1|0}while((N|0)!=(y|0));K=K+1|0}while((K|0)!=(z|0))}x=x+1|0}while((x|0)!=7)}}else{x=(w|0)==0;e=0;do{z=c[i+(e<<2)>>2]|0;K=c[j+(e<<2)>>2]|0;if(K|0?(y=28656+(e<<2)|0,J=28624+(e<<2)|0,I=28592+(e<<2)|0,z|0):0){H=c[28560+(e<<2)>>2]|0;F=c[m+(e<<2)>>2]<<3;G=0;do{N=B(G,z)|0;if(!x){M=B(c[J>>2]|0,G)|0;L=(B(M+(c[y>>2]|0)|0,u)|0)+(c[I>>2]|0)|0;M=0;do{Q=(B(M+N|0,w)|0)+F|0;O=0;P=B(L+(B(M,H)|0)|0,w)|0;while(1){R=1<<(Q&7^7);if(!(1<<(P&7^7)&(d[f+(P>>>3)>>0]|0))){S=D+(Q>>>3)|0;T=S;U=(R^255)&(d[S>>0]|0)}else{S=D+(Q>>>3)|0;T=S;U=R|(d[S>>0]|0)}a[T>>0]=U;O=O+1|0;if((O|0)==(w|0))break;else{Q=Q+1|0;P=P+1|0}}M=M+1|0}while((M|0)!=(z|0))}G=G+1|0}while((G|0)!=(K|0))}e=e+1|0}while((e|0)!=7)}e=B((A+7|0)>>>3,v)|0;x=(e|0)==0;K=e<<1;if(w>>>0>=8){Bp((c[b>>2]|0)+(c[p>>2]|0)|0,D+(c[q>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bp((c[b>>2]|0)+(c[p+4>>2]|0)|0,D+(c[q+4>>2]|0)|0,c[n+4>>2]|0,c[o+4>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bp((c[b>>2]|0)+(c[p+8>>2]|0)|0,D+(c[q+8>>2]|0)|0,c[n+8>>2]|0,c[o+8>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bp((c[b>>2]|0)+(c[p+12>>2]|0)|0,D+(c[q+12>>2]|0)|0,c[n+12>>2]|0,c[o+12>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bp((c[b>>2]|0)+(c[p+16>>2]|0)|0,D+(c[q+16>>2]|0)|0,c[n+16>>2]|0,c[o+16>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bp((c[b>>2]|0)+(c[p+20>>2]|0)|0,D+(c[q+20>>2]|0)|0,c[n+20>>2]|0,c[o+20>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bp((c[b>>2]|0)+(c[p+24>>2]|0)|0,D+(c[q+24>>2]|0)|0,c[n+24>>2]|0,c[o+24>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;break}if(!x){e=Gp(0,K)|0;if(!e){V=9954;W=0}else{X=e;E=48}}else{X=0;E=48}if((E|0)==48)if(g){e=X+(c[q>>2]|0)|0;G=c[n>>2]|0;z=B(G,w)|0;H=c[o>>2]|0;Ap(e,D+(c[r>>2]|0)|0,z+7&-8,z,H);V=Bp((c[b>>2]|0)+(c[p>>2]|0)|0,e,G,H,c[s>>2]|0,c[t>>2]|0)|0;W=X}else{V=C;W=X}Hp(W);if(!x){H=Gp(0,K)|0;if(!H){Y=9954;Z=0}else{_=H;E=56}}else{_=0;E=56}if((E|0)==56)if(!V){H=_+(c[q+4>>2]|0)|0;G=c[n+4>>2]|0;e=B(G,w)|0;z=c[o+4>>2]|0;Ap(H,D+(c[r+4>>2]|0)|0,e+7&-8,e,z);Y=Bp((c[b>>2]|0)+(c[p+4>>2]|0)|0,H,G,z,c[s>>2]|0,c[t>>2]|0)|0;Z=_}else{Y=V;Z=_}Hp(Z);if(!x){z=Gp(0,K)|0;if(!z){$=9954;aa=0}else{ba=z;E=60}}else{ba=0;E=60}if((E|0)==60)if(!Y){z=ba+(c[q+8>>2]|0)|0;G=c[n+8>>2]|0;H=B(G,w)|0;e=c[o+8>>2]|0;Ap(z,D+(c[r+8>>2]|0)|0,H+7&-8,H,e);$=Bp((c[b>>2]|0)+(c[p+8>>2]|0)|0,z,G,e,c[s>>2]|0,c[t>>2]|0)|0;aa=ba}else{$=Y;aa=ba}Hp(aa);if(!x){e=Gp(0,K)|0;if(!e){ca=9954;da=0}else{ea=e;E=64}}else{ea=0;E=64}if((E|0)==64)if(!$){e=ea+(c[q+12>>2]|0)|0;G=c[n+12>>2]|0;z=B(G,w)|0;H=c[o+12>>2]|0;Ap(e,D+(c[r+12>>2]|0)|0,z+7&-8,z,H);ca=Bp((c[b>>2]|0)+(c[p+12>>2]|0)|0,e,G,H,c[s>>2]|0,c[t>>2]|0)|0;da=ea}else{ca=$;da=ea}Hp(da);if(!x){H=Gp(0,K)|0;if(!H){fa=9954;ga=0}else{ha=H;E=68}}else{ha=0;E=68}if((E|0)==68)if(!ca){H=ha+(c[q+16>>2]|0)|0;G=c[n+16>>2]|0;e=B(G,w)|0;z=c[o+16>>2]|0;Ap(H,D+(c[r+16>>2]|0)|0,e+7&-8,e,z);fa=Bp((c[b>>2]|0)+(c[p+16>>2]|0)|0,H,G,z,c[s>>2]|0,c[t>>2]|0)|0;ga=ha}else{fa=ca;ga=ha}Hp(ga);if(!x){z=Gp(0,K)|0;if(!z){ia=9954;ja=0}else{ka=z;E=72}}else{ka=0;E=72}if((E|0)==72)if(!fa){z=ka+(c[q+20>>2]|0)|0;G=c[n+20>>2]|0;H=B(G,w)|0;e=c[o+20>>2]|0;Ap(z,D+(c[r+20>>2]|0)|0,H+7&-8,H,e);ia=Bp((c[b>>2]|0)+(c[p+20>>2]|0)|0,z,G,e,c[s>>2]|0,c[t>>2]|0)|0;ja=ka}else{ia=fa;ja=ka}Hp(ja);if(!x){x=Gp(0,K)|0;if(!x)la=0;else{ma=x;E=76}}else{ma=0;E=76}if((E|0)==76)if(!ia){x=ma+(c[q+24>>2]|0)|0;K=c[n+24>>2]|0;e=B(K,w)|0;G=c[o+24>>2]|0;Ap(x,D+(c[r+24>>2]|0)|0,e+7&-8,e,G);Bp((c[b>>2]|0)+(c[p+24>>2]|0)|0,x,K,G,c[s>>2]|0,c[t>>2]|0)|0;la=ma}else la=ma;Hp(la)}while(0)}Hp(D);Fa=h;return}function yp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;a:do switch(c[d>>2]|0){case 3:{e=d+12|0;if(!(c[e>>2]|0)){f=0;g=0}else{h=d+8|0;i=0;j=0;k=0;l=0;while(1){m=a[(c[h>>2]|0)+(i<<2|3)>>0]|0;n=k+1|0;if(l>>>0<n>>>0){o=n<<1;p=Gp(j,o)|0;if(!p){q=j;r=k;s=l}else{t=p;u=o;v=6}}else{t=j;u=l;v=6}if((v|0)==6){v=0;a[t+k>>0]=m;q=t;r=n;s=u}i=i+1|0;if(i>>>0>=(c[e>>2]|0)>>>0){f=q;g=r;break}else{j=q;k=r;l=s}}}break}case 0:{if(!(c[d+16>>2]|0)){f=0;g=0}else{l=d+20|0;k=c[l>>2]|0;j=Gp(0,2)|0;if(!j){e=c[l>>2]|0;i=Gp(0,2)|0;if(!i){f=0;g=0;break a}else{w=e;x=i;y=0;z=1}}else{a[j>>0]=k>>>8;w=c[l>>2]|0;x=j;y=1;z=2}a[x+y>>0]=w;f=x;g=z}break}case 2:{if(!(c[d+16>>2]|0)){f=0;g=0}else{j=d+20|0;l=c[j>>2]|0;k=Gp(0,2)|0;if(!k){i=c[j>>2]|0;e=Gp(0,2)|0;if(!e){A=0;B=0;C=0}else{D=i;E=e;F=0;G=1;v=17}}else{a[k>>0]=l>>>8;D=c[j>>2]|0;E=k;F=1;G=2;v=17}if((v|0)==17){a[E+F>>0]=D;A=E;B=G;C=2}k=d+24|0;j=(c[k>>2]|0)>>>8&255;l=B+1|0;if(C>>>0<l>>>0){e=l<<1;i=Gp(A,e)|0;if(!i){H=l;I=A;J=B;K=C}else{L=i;M=e;v=20}}else{L=A;M=C;v=20}if((v|0)==20){a[L+B>>0]=j;H=B+2|0;I=L;J=l;K=M}l=c[k>>2]&255;if(K>>>0<H>>>0){k=H<<1;j=Gp(I,k)|0;if(!j){N=H;O=I;P=J;Q=K}else{R=j;S=k;v=23}}else{R=I;S=K;v=23}if((v|0)==23){a[R+J>>0]=l;N=H+1|0;O=R;P=H;Q=S}l=d+28|0;k=(c[l>>2]|0)>>>8&255;if(Q>>>0<N>>>0){j=N<<1;e=Gp(O,j)|0;if(!e){T=N;U=O;V=P;W=Q}else{X=e;Y=j;v=26}}else{X=O;Y=Q;v=26}if((v|0)==26){a[X+P>>0]=k;T=N+1|0;U=X;V=N;W=Y}k=c[l>>2]&255;if(W>>>0<T>>>0){l=Gp(U,T<<1)|0;if(!l){f=U;g=V;break a}else Z=l}else Z=U;a[Z+V>>0]=k;f=Z;g=T}break}default:{f=0;g=0}}while(0);T=b+4|0;if(kp(b,T,g,64339,f)|0){Hp(f);return}c[b+8>>2]=c[T>>2];Hp(f);return}function zp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=a[d>>0]|0;if(f<<24>>24){g=0;h=0;i=0;j=0;k=f;f=1;l=1;while(1){if(f){m=l<<1;n=Gp(h,m)|0;if(!n){o=h;p=i;q=j}else{r=n;s=m;t=5}}else{r=h;s=j;t=5}if((t|0)==5){t=0;a[r+i>>0]=k;o=r;p=l;q=s}g=g+1|0;k=a[d+g>>0]|0;l=p+1|0;f=q>>>0<l>>>0;if(!(k<<24>>24))break;else{h=o;i=p;j=q}}if(f){u=l;v=o;w=p;x=q;t=8}else{y=l;z=o;A=p;B=q;t=9}}else{u=1;v=0;w=0;x=0;t=8}if((t|0)==8){q=u<<1;p=Gp(v,q)|0;if(!p){C=v;D=w;E=x}else{y=u;z=p;A=w;B=q;t=9}}if((t|0)==9){a[z+A>>0]=0;C=z;D=y;E=B}B=a[e>>0]|0;if(!(B<<24>>24)){F=C;G=D}else{y=0;z=C;C=D;D=E;E=B;while(1){B=C+1|0;if(D>>>0<B>>>0){A=B<<1;q=Gp(z,A)|0;if(!q){H=z;I=C;J=D}else{K=q;L=A;t=14}}else{K=z;L=D;t=14}if((t|0)==14){t=0;a[K+C>>0]=E;H=K;I=B;J=L}y=y+1|0;E=a[e+y>>0]|0;if(!(E<<24>>24)){F=H;G=I;break}else{z=H;C=I;D=J}}}J=b+4|0;if(kp(b,J,G,64334,F)|0){Hp(F);return}c[b+8>>2]=c[J>>2];Hp(F);return}function Ap(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=e-f|0;if(!g)return;i=(h|0)!=0;if(!f){j=0;k=0;while(1){if(i){l=0;m=j;while(1){n=b+(m>>>3)|0;a[n>>0]=(1<<(m&7^7)^255)&(d[n>>0]|0);l=l+1|0;if((l|0)==(h|0))break;else m=m+1|0}o=j+e|0}else o=j;k=k+1|0;if((k|0)==(g|0))break;else j=o}return}o=0;j=0;k=0;while(1){m=j+f|0;l=0;n=o;p=j;while(1){q=1<<(p&7^7);if(!(1<<(n&7^7)&(d[c+(n>>>3)>>0]|0))){r=b+(p>>>3)|0;s=r;t=(q^255)&(d[r>>0]|0)}else{r=b+(p>>>3)|0;s=r;t=q|(d[r>>0]|0)}a[s>>0]=t;l=l+1|0;if((l|0)==(f|0))break;else{n=n+1|0;p=p+1|0}}o=o+f|0;if(i){p=0;n=m;while(1){l=b+(n>>>3)|0;a[l>>0]=(1<<(n&7^7)^255)&(d[l>>0]|0);p=p+1|0;if((p|0)==(h|0))break;else n=n+1|0}u=j+e|0}else u=m;k=k+1|0;if((k|0)==(g|0))break;else j=u}return}
  7563. function tj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=b+112|0;e=c[d>>2]|0;if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=e}else{g=qd(h)|0;i=g;j=c[d>>2]|0}g=i>>16;if((j|0)>1){c[524978]=(c[524978]|0)+-2;k=g;l=j}else{k=g;l=j}}else{k=0;l=e}e=b+8|0;b=0;j=l;do{l=b;b=b+1|0;do if((j|0)>(b|0)){g=(c[e>>2]|0)+(0-j<<3)+(b<<3)|0;if((c[g+4>>2]|0)==3){m=c[g>>2]|0;break}else{m=qd(g)|0;break}}else m=0;while(0);g=(l<<2)+k|0;if((g+-24576|0)>>>0<8189){i=(c[(c[704852]|0)+12>>2]|0)+((g<<1)+-49152)|0;a[i>>0]=m&15;h=i+1|0;a[h>>0]=m>>>4&15;i=h+1|0;a[i>>0]=m>>>8&15;h=i+1|0;a[h>>0]=m>>>12&15;i=h+1|0;a[i>>0]=m>>>16&15;h=i+1|0;a[h>>0]=m>>>20&15;i=h+1|0;a[i>>0]=m>>>24&15;a[i+1>>0]=m>>>28}else{uk(2819376,c[743521]|0,g,m&255);uk(2819376,c[743521]|0,g+1|0,m>>>8&255);uk(2819376,c[743521]|0,g+2|0,m>>>16&255);uk(2819376,c[743521]|0,g+3|0,m>>>24)}j=c[d>>2]|0;g=(j|0)<8193?j+-1|0:8192}while(b>>>0<((g|0)>1?g:1)>>>0);return 0}function uj(a){a=a|0;var b=0,d=0;b=c[704845]|0;d=Su(b|0,((b|0)<0)<<31>>31|0,16)|0;b=Nu(d|0,G()|0,60,0)|0;G()|0;yd(a,b);return 1}function vj(a){a=a|0;xd(a);return 1}function wj(a){a=a|0;if(!(c[525002]|0))cb(60104,2e3);c[525002]=1;xd(a);return 1}function xj(a){a=a|0;if(!(c[525001]|0))cb(60073,2e3);c[525001]=1;xd(a);yd(a,0);return 2}function yj(a){a=a|0;xd(a);yd(a,0);return 2}function zj(a){a=a|0;return 0}function Aj(a){a=a|0;c[759980]=1;Uj(a,0);return 1}function Bj(a){a=a|0;c[759980]=1;Uj(a,1);return 1}function Cj(b){b=b|0;var c=0,d=0,e=0;c=pd(b,1,0)|0;d=c>>16;e=td(b,2,0)|0;if(!e){a[2973694+(d<<6)>>0]=0;return 0}if((c+-65536|0)>>>0>327679)return 0;nu(2973694+(d<<6)|0,e,16)|0;return 0}function Dj(a){a=a|0;var b=0,d=0,e=0,f=0;b=Fa;Fa=Fa+16|0;d=b;c[d>>2]=255;if((jd(a)|0)>0?(e=td(a,1,d)|0,(e|0)!=0):0){Fd(a,(vl(e)|0)==0&1);f=1}else f=0;Fa=b;return f|0}function Ej(b){b=b|0;var d=0,e=0;d=pd(b,1,0)|0;if(!(a[2964308]|0)){yb(60043)|0;e=0;return e|0}if(d>>>0>4194303){yd(b,0);e=1;return e|0}else{yd(b,c[2965332+(d>>16<<2)>>2]|0);e=1;return e|0}return 0}function Fj(b){b=b|0;var d=0,e=0;d=pd(b,1,0)|0;e=pd(b,2,0)|0;if(!(a[2964308]|0)){yb(60013)|0;return 0}if(d>>>0>4194303)return 0;b=2965332+(d>>16<<2)|0;if((c[b>>2]|0)!=(e|0))c[759981]=1;c[b>>2]=e;return 0}function Gj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=Fa;Fa=Fa+112|0;e=d+64|0;f=d+108|0;g=d+104|0;h=d+100|0;i=d+72|0;j=d;Vg(16);a:do if((jd(b)|0)>0){k=(pd(b,1,0)|0)>>16;switch(k|0){case 1:{l=4;break a;break}case 0:{$e(c[524986]|0,2,0)|0;m=(c[759908]|0)+(c[742570]|0)|0;n=((m|0)<2097152?m:2097152)<<6;o=0;p=(n|0)>0?n:0;l=15;break a;break}case 2:{q=2;r=Hg(Bg(1)|0)|0;l=93;break a;break}default:{n=(k|0)==3?c[760447]<<16:0;switch(k|0){case 5:{q=k;r=2097152;l=93;break a;break}case 4:{tr();m=c[416461]|0;if(!m){zd(b,3042456,0)|0;Fa=d;return 1}else{s=Fp((ft(m)|0)+16|0)|0;Hr(c[416461]|0,s)|0;zd(b,s,ft(s)|0)|0;Hp(s);Fa=d;return 1}break}case 6:{s=ft(2971644)|0;zd(b,2971644,s>>>0<1024?s:1024)|0;Fa=d;return 1}case 7:{q=7;r=c[759972]<<16;l=93;break a;break}case 9:{q=9;r=(Gq()|0)<<16;l=93;break a;break}case 11:{q=11;r=(jk()|0)<<16;l=93;break a;break}case 13:{rb();q=13;r=4128768-((((c[416457]<<3)+8|0)/2|0)<<16)|0;l=93;break a;break}default:{o=k;p=n;l=15;break a}}}}}else l=4;while(0);if((l|0)==4){o=1;p=Hg(Bg(0)|0)|0;l=15}b:do if((l|0)==15)switch(o|0){case 12:{q=o;r=1507328;l=93;break b;break}case 14:{q=o;r=6815744;l=93;break b;break}case 15:{rb();t=((((c[416457]<<3)+8|0)/2|0)<<16)+4194304|0;break b;break}default:{n=(o|0)==10?c[759910]<<16:(o|0)==8?c[759973]<<16:p;k=o&-4;if((k|0)==16){s=kq(o+-16|0)|0;m=c[743521]|0;u=0;v=-65536;do{v=(s|0)==(m+12+(u*660|0)|0)?u<<16:v;u=u+1|0}while((u|0)!=64);if((v|0)==-65536){u=kq(o+-12|0)|0;m=c[743521]|0;s=0;w=-65536;while(1){x=(u|0)==(m+12+(s*660|0)|0)?s<<16:w;s=s+1|0;if((s|0)==64){y=x;break}else w=x}}else y=v}else y=n;do if((k|0)==20){w=kq(o+-20|0)|0;if(!w){s=kq(o+-16|0)|0;if(!s){z=-65536;break}else A=s}else A=w;z=(jq(A)|0)<<16}else z=y;while(0);switch(o|0){case 24:{k=c[525578]<<16;n=(vq()|0)==0;t=n?-65536:k;break b;break}case 25:{k=c[525577]<<16;n=(vq()|0)==0;t=n?-65536:k;break b;break}case 26:{k=(xq()|0)<<16;n=(vq()|0)==0;t=n?-65536:k;break b;break}case 29:{t=br()|0;break b;break}default:{k=(o|0)==30;n=(o|0)==31;if((o|1|0)==31){if(!((vk(2819376,c[743521]|0,24365)|0)&1)){if(k)Fd(b,0);if(!n){Fa=d;return 1}zd(b,3042456,0)|0;Fa=d;return 1}tr();if((a[2966616]|0)!=0&(c[742428]|0)!=0|(c[415553]|0)!=0){if(!(c[759907]|0))cb(59866,2e3);c[759907]=1}if(k){Fd(b,(c[760446]|0)>0&1);Fa=d;return 1}if(n){if(!(c[760446]|0)){zd(b,3042456,0)|0;Fa=d;return 1}zd(b,3041528,1)|0;n=0;do{k=n;n=n+1|0;a[3041528+k>>0]=a[3041528+n>>0]|0}while((n|0)!=255);c[760446]=(c[760446]|0)+-1;Fa=d;return 1}}if((o+-32|0)>>>0<9){if(!((vk(2819376,c[743521]|0,24365)|0)&1))B=z;else{if((a[2966616]|0)!=0&(c[742428]|0)!=0|(c[415553]|0)!=0){if(!(c[759907]|0))cb(59890,2e3);c[759907]=1}fr(f,g,h);n=(o|0)==36?c[742828]|0:(o|0)==35?c[742827]|0:(o|0)==34?c[h>>2]|0:(o|0)==33?c[g>>2]|0:(o|0)==32?c[f>>2]|0:z;if(!((vk(2819376,c[743521]|0,24365)|0)&4))C=n;else C=(o|0)==39?c[742830]|0:(o|0)==38?c[742829]|0:n;B=C<<16}if((o|0)==37){n=c[742568]<<16;c[742568]=0;t=n;break b}else D=B}else D=z;switch(o|0){case 48:{xd(b);Fa=d;return 1}case 49:{zd(b,3042456,0)|0;Fa=d;return 1}default:{if((o+-50|0)>>>0<8){xd(b);Fa=d;return 1}if((o+-58|0)>>>0<6){zd(b,3042456,0)|0;Fa=d;return 1}if((o&-8|0)==64){xd(b);Fa=d;return 1}do if((o+-80|0)>>>0>=6){if((o+-90|0)>>>0<6){Lq(i,1);E=((o|0)==95?c[i+24>>2]|0:(o|0)==94?c[i+20>>2]|0:(o|0)==93?c[i+16>>2]|0:(o|0)==92?c[i+12>>2]|0:(o|0)==91?c[i+8>>2]|0:(o|0)==90?c[i+4>>2]|0:D)<<16;break}if((o|0)==99){n=(c[759908]|0)+(c[742570]|0)|0;k=((n|0)<2097152?n:2097152)<<6;t=(k|0)>0?k:0;break b}else E=D}else{Lq(i,0);E=((o|0)==85?c[i+24>>2]|0:(o|0)==84?c[i+20>>2]|0:(o|0)==83?c[i+16>>2]|0:(o|0)==82?c[i+12>>2]|0:(o|0)==81?c[i+8>>2]|0:(o|0)==80?c[i+4>>2]|0:D)<<16}while(0);switch(o|0){case 100:{if(!(pg()|0)){xd(b);Fa=d;return 1}else{k=pg()|0;zd(b,k,ft(pg()|0)|0)|0;Fa=d;return 1}break}case 101:{if((a[2966616]|0)!=0&(c[742428]|0)!=0){zd(b,2966616,ft(2966616)|0)|0;Fa=d;return 1}else{xd(b);Fa=d;return 1}break}case 102:{k=la(20,0)|0;n=k;if(!k){xd(b);Fa=d;return 1}else{zd(b,n,ft(n)|0)|0;Fa=d;return 1}break}case 103:{zd(b,2964221,ft(2964221)|0)|0;Fa=d;return 1}case 104:{Fd(b,0);Fa=d;return 1}case 106:{c[e>>2]=2971644;c[e+4>>2]=2964221;vs(1509584,71619,e)|0;Op(1509584,ft(1509584)|0,j)|0;zd(b,j,ft(j)|0)|0;Fa=d;return 1}case 107:{t=c[415621]<<16;break b;break}default:{if((o|0)!=109){q=o;r=(o|0)==108?c[525410]<<16:E;l=93;break b}t=((c[525865]|0)/4|0)<<16;break b}}}}}}}}while(0);c:do if((l|0)==93)switch(q|0){case 110:{Fd(b,c[416527]|0);Fa=d;return 1}case 120:{Fd(b,(Gm()|0)>0&1);Fa=d;return 1}case 121:{Fd(b,(Hm()|0)>0&1);Fa=d;return 1}case 122:{Fd(b,c[516416]|0);Fa=d;return 1}default:{t=r;break c}}while(0);yd(b,t);Fa=d;return 1}function Hj(b){b=b|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=d;c[e>>2]=32;a[e>>0]=(pd(b,1,0)|0)>>>16;zd(b,e,1)|0;Vg(1);Fa=d;return 1}function Ij(b){b=b|0;var d=0,e=0,f=0,g=0;d=Fa;Fa=Fa+16|0;e=d;c[e>>2]=32768;if((jd(b)|0)>0)f=td(b,1,e)|0;else f=0;if((jd(b)|0)>1)g=((pd(b,2,0)|0)>>16)+-1|0;else g=0;Vg(1);if((f|0)!=0&(g|0)>-1&g>>>0<(c[e>>2]|0)>>>0){yd(b,(((a[f+g>>0]|0)+256|0)%256|0)<<16);Fa=d;return 1}else{xd(b);Fa=d;return 1}return 0}function Jj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=Fa;Fa=Fa+16|0;e=d+4|0;f=d;if((jd(b)|0)<=0){g=0;Fa=d;return g|0}h=td(b,1,0)|0;if(!h){g=0;Fa=d;return g|0}i=ft(h)|0;Id(b,0,1);Vg(i);if((jd(b)|0)>2)j=sd(b,3)|0;else j=1;k=(pd(b,3,0)|0)==2;l=k?1:j;if((nd(b,2)|0)==3){j=(pd(b,2,0)|0)>>16;k=(j|0)<(i|0)?j:i;j=(k|0)>1?k:1;k=Dp(j+1|0)|0;a:do if((i|0)>0){if(!l){m=0;n=1;while(1){Ep(k,0,j);o=i-m|0;Xu(k|0,h+m|0,((j|0)<(o|0)?j:o)|0)|0;c[f>>2]=0;Ad(b,k)|0;Kd(b,-2,n);m=m+j|0;if((i|0)<=(m|0))break a;else n=n+1|0}}n=0;m=1;while(1){Ep(k,0,j);o=i-n|0;Xu(k|0,h+n|0,((j|0)<(o|0)?j:o)|0)|0;c[f>>2]=0;if(!(Hc(k,ft(k)|0,f)|0))Ad(b,k)|0;else yd(b,c[f>>2]|0);Kd(b,-2,m);n=n+j|0;if((i|0)<=(n|0))break;else m=m+1|0}}while(0);Hp(k);g=1;Fa=d;return g|0}if((jd(b)|0)>1)p=td(b,2,0)|0;else p=0;k=(p|0)==0?64744:p;if(!(a[k>>0]|0)){if((i|0)<=0){g=1;Fa=d;return g|0}p=e+1|0;if(!l){j=0;m=1;while(1){a[e>>0]=a[h+j>>0]|0;a[p>>0]=0;Ad(b,e)|0;Kd(b,-2,m);j=j+1|0;if((j|0)==(i|0)){g=1;break}else m=m+1|0}Fa=d;return g|0}m=0;j=1;while(1){n=a[h+m>>0]|0;a[e>>0]=n;a[p>>0]=0;if((n+-48&255)<10)yd(b,(n<<24>>24<<16)+-3145728|0);else Ad(b,e)|0;Kd(b,-2,j);m=m+1|0;if((m|0)==(i|0)){g=1;break}else j=j+1|0}Fa=d;return g|0}j=Fp(i+1|0)|0;ot(j,h)|0;b:do if(!l){h=0;i=1;while(1){m=a[k>>0]|0;e=h;while(1){p=a[j+e>>0]|0;q=p<<24>>24==0;if(q|p<<24>>24==m<<24>>24)break;e=e+1|0}a[j+e>>0]=0;c[f>>2]=0;Ad(b,j+h|0)|0;Kd(b,-2,i);if(q)break b;h=e+1|0;i=i+1|0}}else{i=0;h=1;while(1){m=a[k>>0]|0;p=i;while(1){n=a[j+p>>0]|0;r=n<<24>>24==0;if(r|n<<24>>24==m<<24>>24)break;p=p+1|0}m=j+i|0;a[j+p>>0]=0;c[f>>2]=0;if(!(Hc(m,p-i|0,f)|0))Ad(b,m)|0;else yd(b,c[f>>2]|0);Kd(b,-2,h);if(r)break b;i=p+1|0;h=h+1|0}}while(0);Hp(j);g=1;Fa=d;return g|0}function Kj(a){a=a|0;var b=0;if(!(jd(a)|0)){b=0;return b|0}b=Ef(a)|0;return b|0}function Lj(a){a=a|0;var b=0,c=0;b=jd(a)|0;if((b|0)>=1){c=1;while(1){md(a,c);if((c|0)==(b|0))break;else c=c+1|0}}return rc(a,b,0,0)|0}function Mj(a){a=a|0;c[704863]=1;if(c[759909]|0)return 0;c[759909]=1;return 0}function Nj(b){b=b|0;var c=0,d=0,e=0;c=pd(b,1,0)|0;if((c+-65536|0)>>>0>327679){d=0;return d|0}e=2974078+(c>>>16)|0;c=a[e>>0]|0;if(!(c<<24>>24)){d=0;return d|0}yd(b,c<<24>>24<<16);a[e>>0]=0;d=1;return d|0}function Oj(a){a=a|0;var b=0;b=(pd(a,1,0)|0)>>16;c[704845]=(c[704845]|0)+b;Jk();return 0}function Pj(a){a=a|0;Xg();return 0}function Qj(a){a=a|0;c[742903]=(pd(a,1,0)|0)>>16;return 0}function Rj(a){a=a|0;var b=0;b=(pd(a,1,0)|0)>>16;c[759972]=b;c[759973]=b;return 0}function Sj(a){a=a|0;var b=0;b=(pd(a,1,0)|0)>>16;a=(b|0)<2?b:2;b=(a|0)>0?a:0;c[3039896+(b<<2)>>2]=Bg(0)|0;c[3039908+(b<<2)>>2]=_q()|0;return 0}function Tj(b){b=b|0;var c=0,d=0,e=0;c=pd(b,1,0)|0;d=c>>16;e=(c|0)>65535;c=e?((d|0)<7?d:7):0;if(e?(a[2998462]&1)==0:0){Fd(b,0);return 1}ik(c);Fd(b,1);return 1}function Uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=(pd(a,1,0)|0)>>16;e=(d|0)<7?d:7;d=(e|0)>0?e:0;if(!(jd(a)|0)){e=(b|0)==0;yd(a,((((e?c[742586]|0:c[742778]|0)|0)==0?0:32768)|((((e?c[742585]|0:c[742777]|0)|0)==0?0:16384)|((((e?c[742584]|0:c[742776]|0)|0)==0?0:8192)|((((e?c[742583]|0:c[742775]|0)|0)==0?0:4096)|((((e?c[742582]|0:c[742774]|0)|0)==0?0:2048)|((((e?c[742581]|0:c[742773]|0)|0)==0?0:1024)|((((e?c[742580]|0:c[742772]|0)|0)==0?0:512)|((((e?c[742579]|0:c[742771]|0)|0)==0?0:256)|((((e?c[742578]|0:c[742770]|0)|0)==0?0:128)|((((e?c[742577]|0:c[742769]|0)|0)==0?0:64)|((((e?c[742576]|0:c[742768]|0)|0)==0?0:32)|((((e?c[742575]|0:c[742767]|0)|0)==0?0:16)|((((e?c[742574]|0:c[742766]|0)|0)==0?0:8)|((((e?c[742573]|0:c[742765]|0)|0)==0?0:4)|((((e?c[742572]|0:c[742764]|0)|0)==0?0:2)|((e?c[742571]|0:c[742763]|0)|0)!=0)))))))))))))))<<16);return}if((jd(a)|0)>1)f=(pd(a,2,0)|0)>>16;else f=0;if((f|d)>>>0<8)if(!b)g=c[2970284+(f<<5)+(d<<2)>>2]|0;else g=c[2971052+(f<<5)+(d<<2)>>2]|0;else g=0;Fd(a,g);Vg(4);return}function Vj(b,d,e,f,g,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;n=Fa;Fa=Fa+32|0;o=n+20|0;p=n+16|0;q=n+12|0;r=n+8|0;s=n+4|0;t=n;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=i;c[t>>2]=j;fn(b,d,o,p,q,r,s,t);j=c[s>>2]|0;i=c[t>>2]|0;if((j|0)<1|(i|0)<1){Fa=n;return}h=(k|0)!=0;k=(l|0)!=0;if(h&k){l=b+16|0;g=d+16|0;f=0;e=i;u=j;while(1){if((u|0)>0){v=~f;w=0;x=e;y=u;while(1){a[(c[(c[g>>2]|0)+((c[r>>2]|0)+f<<2)>>2]|0)+((c[q>>2]|0)+w)>>0]=c[m+((a[(c[(c[l>>2]|0)+((c[p>>2]|0)+v+x<<2)>>2]|0)+(y+~w+(c[o>>2]|0))>>0]&15)<<2)>>2];w=w+1|0;z=c[s>>2]|0;A=c[t>>2]|0;if((w|0)>=(z|0)){B=z;C=A;break}else{x=A;y=z}}}else{B=u;C=e}f=f+1|0;if((f|0)>=(C|0))break;else{e=C;u=B}}Fa=n;return}if(k){k=b+16|0;B=d+16|0;u=0;C=i;e=j;while(1){if((e|0)>0){f=~u;l=0;g=C;while(1){a[(c[(c[B>>2]|0)+((c[r>>2]|0)+u<<2)>>2]|0)+((c[q>>2]|0)+l)>>0]=c[m+((a[(c[(c[k>>2]|0)+((c[p>>2]|0)+f+g<<2)>>2]|0)+((c[o>>2]|0)+l)>>0]&15)<<2)>>2];l=l+1|0;y=c[s>>2]|0;x=c[t>>2]|0;if((l|0)>=(y|0)){D=y;E=x;break}else g=x}}else{D=e;E=C}u=u+1|0;if((u|0)>=(E|0))break;else{C=E;e=D}}Fa=n;return}if(h){h=b+16|0;D=d+16|0;e=0;E=i;C=j;while(1){if((C|0)>0){u=0;k=C;do{a[(c[(c[D>>2]|0)+((c[r>>2]|0)+e<<2)>>2]|0)+((c[q>>2]|0)+u)>>0]=c[m+((a[(c[(c[h>>2]|0)+((c[p>>2]|0)+e<<2)>>2]|0)+(k+~u+(c[o>>2]|0))>>0]&15)<<2)>>2];u=u+1|0;k=c[s>>2]|0}while((u|0)<(k|0));F=c[t>>2]|0;G=k}else{F=E;G=C}e=e+1|0;if((e|0)>=(F|0))break;else{E=F;C=G}}Fa=n;return}G=d+16|0;d=b+16|0;b=0;C=j;j=i;while(1){if(!C)H=j;else{i=(c[(c[G>>2]|0)+((c[r>>2]|0)+b<<2)>>2]|0)+(c[q>>2]|0)|0;F=(c[(c[d>>2]|0)+((c[p>>2]|0)+b<<2)>>2]|0)+(c[o>>2]|0)|0;E=C;while(1){a[i>>0]=c[m+((a[F>>0]&15)<<2)>>2];E=E+-1|0;if(!E)break;else{i=i+1|0;F=F+1|0}}H=c[t>>2]|0}F=b+1|0;if((F|0)>=(H|0))break;b=F;C=c[s>>2]|0;j=H}Fa=n;return}function Wj(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((b|0)==0|(e|0)==0|(h|0)==0|(i|0)==0)return;j=c[b>>2]|0;k=c[b+4>>2]|0;if((j|0)==(h|0)&(k|0)==(i|0)){Xj(b,e,0,0,f,g,h,i);return}l=(j<<16|0)/(h|0)|0;j=(k<<16|0)/(i|0)|0;m=c[e+36>>2]|0;n=(m|0)>(g|0);o=m-g|0;p=i-(n?o:0)|0;i=n?m:g;g=c[e+28>>2]|0;m=(g|0)>(f|0);q=g-f|0;r=B(q,l)|0;s=(m?r:0)+((l|0)/2|0)|0;r=h-(m?q:0)|0;q=m?g:f;f=(c[e+32>>2]|0)-q|0;g=(r|0)<(f|0)?r:f;f=(c[e+40>>2]|0)-i|0;r=(p|0)<(f|0)?p:f;f=r+i|0;if((r|0)<=0)return;r=b+16|0;b=e+16|0;if((g|0)<=0){e=i;do e=e+1|0;while((e|0)<(f|0));return}e=B(o,j)|0;o=i;i=((j|0)<0?k:0)+((j|0)/2|0)+(n?e:0)|0;while(1){e=c[(c[r>>2]|0)+(i>>16<<2)>>2]|0;if(!(c[742564]&131072)){n=s;k=0;p=(c[(c[b>>2]|0)+(o<<2)>>2]|0)+q|0;while(1){m=d[e+(n>>16)>>0]|0;if(!(m&240)){h=c[742561]|0;a[p>>0]=((h^15)&(d[p>>0]|0)|h&m&c[742562])&15}k=k+1|0;if((k|0)>=(g|0))break;else{n=n+l|0;p=p+1|0}}}else{p=o<<2&12^12;n=s;k=0;while(1){m=d[e+(n>>16)>>0]|0;if((m&240|0)==0?(h=k+q|0,t=c[742564]|0,u=t>>p>>>(h&3^3)&1,(t&65536|0)==0|(u|0)==0):0){t=(c[(c[b>>2]|0)+(o<<2)>>2]|0)+h|0;h=c[742561]|0;a[t>>0]=((h^15)&(d[t>>0]|0)|h&c[2970116+((m&15)<<2)>>2]>>(u<<2)&c[742562])&15}k=k+1|0;if((k|0)>=(g|0))break;else n=n+l|0}}o=o+1|0;if((o|0)>=(f|0))break;else i=i+j|0}return}function Xj(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=Fa;Fa=Fa+32|0;m=l+20|0;n=l+16|0;o=l+12|0;p=l+8|0;q=l+4|0;r=l;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=k;if(!((b|0)!=0&(e|0)!=0)){Fa=l;return}fn(b,e,m,n,o,p,q,r);if(!((c[r>>2]|0)>0&(c[q>>2]|0)>0)){Fa=l;return}k=b+16|0;b=e+16|0;e=0;do{j=(c[(c[k>>2]|0)+((c[n>>2]|0)+e<<2)>>2]|0)+(c[m>>2]|0)|0;i=c[q>>2]|0;if(!(c[742564]&131072)){if(i|0){h=(c[(c[b>>2]|0)+((c[p>>2]|0)+e<<2)>>2]|0)+(c[o>>2]|0)|0;g=i;f=j;while(1){s=d[f>>0]|0;if(!(s&240)){t=c[742561]|0;a[h>>0]=((t^15)&(d[h>>0]|0)|t&s&c[742562])&15}g=g+-1|0;if(!g)break;else{h=h+1|0;f=f+1|0}}}}else if((i|0)>0){f=j;h=0;g=i;while(1){s=d[f>>0]|0;if((s&240|0)==0?(t=(c[o>>2]|0)+h|0,u=(c[p>>2]|0)+e|0,v=c[742564]|0,w=v>>(u<<2&12^12)>>>(t&3^3)&1,(v&65536|0)==0|(w|0)==0):0){v=(c[(c[b>>2]|0)+(u<<2)>>2]|0)+t|0;t=c[742561]|0;a[v>>0]=((t^15)&(d[v>>0]|0)|t&c[2970116+((s&15)<<2)>>2]>>(w<<2)&c[742562])&15;x=c[q>>2]|0}else x=g;h=h+1|0;if((h|0)>=(x|0))break;else{f=f+1|0;g=x}}}e=e+1|0}while((e|0)<(c[r>>2]|0));Fa=l;return}function Yj(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=Fa;Fa=Fa+32|0;n=m+20|0;o=m+16|0;p=m+12|0;q=m+8|0;r=m+4|0;s=m;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;if(!((b|0)!=0&(e|0)!=0)){Fa=m;return}fn(b,e,n,o,p,q,r,s);if(!((c[s>>2]|0)>0&(c[r>>2]|0)>0)){Fa=m;return}k=b+16|0;b=e+16|0;e=0;do{j=(c[(c[k>>2]|0)+((c[o>>2]|0)+e<<2)>>2]|0)+(c[n>>2]|0)|0;i=c[r>>2]|0;if(!(c[742564]&131072)){if(i|0){h=(c[(c[b>>2]|0)+((c[q>>2]|0)+e<<2)>>2]|0)+(c[p>>2]|0)|0;g=i;f=j;while(1){t=c[l+((a[f>>0]&15)<<2)>>2]|0;if(!(t&240)){u=c[742561]|0;a[h>>0]=((u^15)&(d[h>>0]|0)|u&t&c[742562])&15}g=g+-1|0;if(!g)break;else{h=h+1|0;f=f+1|0}}}}else if((i|0)>0){f=j;h=0;g=i;while(1){t=c[l+((a[f>>0]&15)<<2)>>2]|0;if((t&240|0)==0?(u=(c[p>>2]|0)+h|0,v=(c[q>>2]|0)+e|0,w=c[742564]|0,x=w>>(v<<2&12^12)>>>(u&3^3)&1,(w&65536|0)==0|(x|0)==0):0){w=(c[(c[b>>2]|0)+(v<<2)>>2]|0)+u|0;u=c[742561]|0;a[w>>0]=((u^15)&(d[w>>0]|0)|u&c[2970116+((t&15)<<2)>>2]>>(x<<2)&c[742562])&15;y=c[r>>2]|0}else y=g;h=h+1|0;if((h|0)>=(y|0))break;else{f=f+1|0;g=y}}}e=e+1|0}while((e|0)<(c[s>>2]|0));Fa=m;return}function Zj(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;if((c[b+28>>2]|0)>(e|0))return;if((c[b+32>>2]|0)<=(e|0))return;if((c[b+36>>2]|0)>(f|0))return;if((c[b+40>>2]|0)<=(f|0))return;i=h>>(f<<2&12^12)>>>(e&3^3)&1;if(!((h&65536|0)==0|(i|0)==0))return;h=(c[(c[b+16>>2]|0)+(f<<2)>>2]|0)+e|0;e=c[742561]|0;a[h>>0]=((e^15)&(d[h>>0]|0)|e&g>>(i<<2)&c[742562])&15;return}function _j(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=c[742564]|0;if((c[b+36>>2]|0)>(g|0))return 0;if((c[b+40>>2]|0)<=(g|0))return 0;j=h&15;k=(i&65536|0)!=0;l=k?16:h>>>4&15;h=i>>(12-(g<<2)&12);i=((h&4|0)==0?j:l)<<8|((h&8|0)==0?j:l)|((h&2|0)==0?j:l)<<16|((h&1|0)==0?j:l)<<24;l=(f|0)<(e|0);j=l?e:f;h=l?f:e;e=c[b+28>>2]|0;f=(h|0)<(e|0)?e:h;h=c[b+32>>2]|0;e=(j|0)<(h|0)?j:h+-1|0;h=b+16|0;b=c[(c[h>>2]|0)+(g<<2)>>2]|0;j=b+f|0;l=b+(f+3&-4)|0;if(k){if((f|0)>(e|0)){m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}k=f;b=j;while(1){q=i>>>(k<<3&24);if(!(q&16)){r=c[742561]|0;a[b>>0]=((r^15)&(d[b>>0]|0)|r&q&c[742562])&15}if((k|0)<(e|0)){k=k+1|0;b=b+1|0}else break}m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}b=c[742562]|0;k=b<<8|b|b<<16|b<<24;b=c[742561]|0;q=b<<8|b|b<<16|b<<24;a:do if((f|0)>(e|0))s=f;else{b=f;r=j;while(1){t=b&3;if(!t){s=b;break a}u=c[742561]|0;a[r>>0]=((u^15)&(d[r>>0]|0)|u&i>>>(t<<3)&c[742562])&15;t=b+1|0;if((b|0)<(e|0)){b=t;r=r+1|0}else{s=t;break}}}while(0);j=e+1&-4;if((s|0)<(j|0)){r=q^252645135;b=k&i&q;q=s+(j+-1-s&-4)|0;k=l;l=s;while(1){c[k>>2]=(c[k>>2]&r|b)&252645135;l=l+4|0;if((l|0)>=(j|0))break;else k=k+4|0}v=q+4|0}else v=s;if((v|0)>(e|0)){m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}s=v;while(1){v=(c[(c[h>>2]|0)+(g<<2)>>2]|0)+s|0;q=c[742561]|0;a[v>>0]=((q^15)&(d[v>>0]|0)|q&i>>>(s<<3&24)&c[742562])&15;if((s|0)<(e|0))s=s+1|0;else break}m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}function $j(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;l=c[742564]|0;m=B(g,g)|0;n=B(h,h)|0;o=0-(n+(((g|0)%2|0)+(m>>>2)))|0;p=(n>>>2)+((h|0)%2|0)|0;q=0-(m+p)|0;r=0-p|0;p=n<<1;s=m<<1;if((h|g|0)<=-1){t=0;return t|0}u=i+e|0;v=j+f|0;w=b+28|0;x=b+32|0;y=b+36|0;z=b+40|0;A=(l&65536|0)==0;C=b+16|0;b=0;D=h;E=B(B(m,-2)|0,h)|0;F=0;G=B(0-m|0,h)|0;h=0;while(1){H=u+b|0;I=v+D|0;if(((((c[w>>2]|0)<=(H|0)?(c[x>>2]|0)>(H|0):0)?(c[y>>2]|0)<=(I|0):0)?(c[z>>2]|0)>(I|0):0)?(J=l>>(I<<2&12^12)>>>(H&3^3)&1,A|(J|0)==0):0){K=(c[(c[C>>2]|0)+(I<<2)>>2]|0)+H|0;L=c[742561]|0;a[K>>0]=((L^15)&(d[K>>0]|0)|L&k>>(J<<2)&c[742562])&15}J=(D|j|0)!=0;L=(b|i|0)==0;if(L|J^1)M=h+2|0;else{K=e-b|0;N=f-D|0;if(((((c[w>>2]|0)<=(K|0)?(c[x>>2]|0)>(K|0):0)?(c[y>>2]|0)<=(N|0):0)?(c[z>>2]|0)>(N|0):0)?(O=l>>(N<<2&12^12)>>>(K&3^3)&1,A|(O|0)==0):0){P=(c[(c[C>>2]|0)+(N<<2)>>2]|0)+K|0;K=c[742561]|0;a[P>>0]=((K^15)&(d[P>>0]|0)|K&k>>(O<<2)&c[742562])&15}M=h+3|0}if(J){J=f-D|0;if(((((c[w>>2]|0)<=(H|0)?(c[x>>2]|0)>(H|0):0)?(c[y>>2]|0)<=(J|0):0)?(c[z>>2]|0)>(J|0):0)?(O=l>>(J<<2&12^12)>>>(H&3^3)&1,A|(O|0)==0):0){K=(c[(c[C>>2]|0)+(J<<2)>>2]|0)+H|0;H=c[742561]|0;a[K>>0]=((H^15)&(d[K>>0]|0)|H&k>>(O<<2)&c[742562])&15}Q=M+1|0}else Q=M;if(L)R=Q;else{L=e-b|0;if(((((c[w>>2]|0)<=(L|0)?(c[x>>2]|0)>(L|0):0)?(c[y>>2]|0)<=(I|0):0)?(c[z>>2]|0)>(I|0):0)?(O=l>>(I<<2&12^12)>>>(L&3^3)&1,A|(O|0)==0):0){H=(c[(c[C>>2]|0)+(I<<2)>>2]|0)+L|0;L=c[742561]|0;a[H>>0]=((L^15)&(d[H>>0]|0)|L&k>>(O<<2)&c[742562])&15}R=Q+1|0}do if(((B(b,n)|0)+G|0)>(o|0)?(O=B(D,m)|0,(O+G|0)>(r|0)):0)if((G-O|0)>(q|0)){O=E+s|0;S=b;T=D+-1|0;U=O;V=F;W=O+G|0;break}else{O=F+p|0;L=E+s|0;S=b+1|0;T=D+-1|0;U=L;V=O;W=O+G+L|0;break}else X=35;while(0);if((X|0)==35){X=0;L=F+p|0;S=b+1|0;T=D;U=E;V=L;W=L+G|0}if((T|0)>-1&(S|0)<=(g|0)){b=S;D=T;E=U;F=V;G=W;h=R}else{t=R;break}}return t|0}function ak(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=(e|0)<(b|0);i=h?b:e;j=h?e:b;b=(f|0)<(d|0);e=b?d:f;h=b?f:d;d=e-h|0;if((d|0)>=2?(f=i-j|0,(f|0)>=2):0){b=i+j>>1;k=e+h>>1;l=f>>>1;m=d>>>1;n=c[a+32>>2]|0;o=c[a+28>>2]|0;if(((f|0)>(n-o|0)?(p=((l*7|0)>>>0)/10|0,!((p+b|0)<(n|0)|(b-p|0)>=(o|0))):0)?(p=((m*7|0)>>>0)/10|0,(k-p|0)<(c[a+36>>2]|0)):0){q=c[a+40>>2]|0;if((i|0)<(o|0)|((j|0)>=(n|0)|(p+k|0)>=(q|0))){r=0;return r|0}else s=q}else t=9;do if((t|0)==9)if((j|0)>=(n|0)|(i|0)<(o|0)){r=0;return r|0}else{s=c[a+40>>2]|0;break}while(0);if((h|0)>=(s|0)){r=0;return r|0}if((e|0)<(c[a+36>>2]|0)){r=0;return r|0}r=$j(a,b,k,l,m,f&1,d&1,g)|0;return r|0}d=0;f=h;while(1){h=(_j(a,j,i,f,g)|0)+d|0;if((f|0)<(e|0)){d=h;f=f+1|0}else{r=h;break}}return r|0}function bk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;i=((e|0)<0)<<31>>31;j=((d|0)<0)<<31>>31;k=Pu(d|0,j|0,d|0,j|0)|0;l=G()|0;m=Pu(e|0,i|0,e|0,i|0)|0;n=G()|0;o=Ru(k|0,l|0,2)|0;p=(d|0)%2|0;q=Ju(o|0,G()|0,p|0,((p|0)<0)<<31>>31|0)|0;p=Ju(m|0,n|0,q|0,G()|0)|0;q=Ku(0,0,p|0,G()|0)|0;p=G()|0;o=Ru(m|0,n|0,2)|0;r=(e|0)%2|0;s=Ju(o|0,G()|0,r|0,((r|0)<0)<<31>>31|0)|0;r=G()|0;o=Ju(k|0,l|0,s|0,r|0)|0;t=Ku(0,0,o|0,G()|0)|0;o=G()|0;u=Ku(0,0,s|0,r|0)|0;r=G()|0;s=Su(m|0,n|0,1)|0;v=G()|0;w=Su(k|0,l|0,1)|0;x=G()|0;if((e|d|0)<0)y=0;else{z=Pu(k|0,l|0,-2,-1)|0;A=Pu(z|0,G()|0,e|0,i|0)|0;z=G()|0;B=Ku(0,0,k|0,l|0)|0;C=Pu(B|0,G()|0,e|0,i|0)|0;B=f+b|0;D=g+c|0;E=0;F=A;A=z;z=0;H=0;I=C;C=G()|0;J=e;K=i;i=0;L=0;while(1){M=E+8|0;N=Pu(z|0,H|0,m|0,n|0)|0;O=Ju(N|0,G()|0,I|0,C|0)|0;N=G()|0;do if((N|0)>(p|0)|(N|0)==(p|0)&O>>>0>q>>>0?(P=Pu(J|0,K|0,k|0,l|0)|0,Q=G()|0,R=Ju(P|0,Q|0,I|0,C|0)|0,S=G()|0,(S|0)>(r|0)|(S|0)==(r|0)&R>>>0>u>>>0):0){R=Ku(I|0,C|0,P|0,Q|0)|0;Q=G()|0;P=b-z|0;S=B+z|0;T=(_j(a,P,S,c-J|0,h)|0)+M|0;if(!((Q|0)>(o|0)|(Q|0)==(o|0)&R>>>0>t>>>0)){R=(_j(a,P,S,D+J|0,h)|0)+T|0;Q=Ju(z|0,H|0,1,0)|0;U=G()|0;V=Ju(i|0,L|0,s|0,v|0)|0;W=G()|0;X=Ju(V|0,W|0,I|0,C|0)|0;Y=G()|0;Z=Ju(J|0,K|0,-1,-1)|0;_=G()|0;$=Ju(F|0,A|0,w|0,x|0)|0;aa=G()|0;ba=Ju(X|0,Y|0,$|0,aa|0)|0;ca=R;da=_;ea=U;fa=Q;ga=ba;ha=G()|0;ia=V;ja=W;ka=$;la=aa;ma=Z;break}if((J|0)==0&(K|0)==0)na=T;else na=(_j(a,P,S,D+J|0,h)|0)+T|0;T=Ju(J|0,K|0,-1,-1)|0;S=G()|0;P=Ju(F|0,A|0,w|0,x|0)|0;Z=G()|0;aa=Ju(P|0,Z|0,I|0,C|0)|0;ca=na;da=S;ea=H;fa=z;ga=aa;ha=G()|0;ia=i;ja=L;ka=P;la=Z;ma=T}else oa=5;while(0);if((oa|0)==5){oa=0;O=Ju(z|0,H|0,1,0)|0;N=G()|0;T=Ju(i|0,L|0,s|0,v|0)|0;Z=G()|0;P=Ju(T|0,Z|0,I|0,C|0)|0;ca=M;da=K;ea=N;fa=O;ga=P;ha=G()|0;ia=T;ja=Z;ka=F;la=A;ma=J}if((da|0)<0|((ea|0)>(j|0)|(ea|0)==(j|0)&fa>>>0>d>>>0)){y=ca;break}else{E=ca;F=ka;A=la;z=fa;H=ea;I=ga;C=ha;J=ma;K=da;i=ia;L=ja}}}if(!g)pa=y;else pa=(_j(a,b-d|0,d+b+f|0,c+1|0,h)|0)+y|0;if(e|0){qa=pa;return qa|0}qa=(_j(a,b-d|0,d+b|0,c,h)|0)+pa|0;return qa|0}function ck(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;i=B(d,d)|0;j=B(e,e)|0;k=0-(j+(((d|0)%2|0)+(i>>>2)))|0;l=(j>>>2)+((e|0)%2|0)|0;m=0-(i+l)|0;n=0-l|0;l=j<<1;o=i<<1;if((e|d|0)<0)p=0;else{q=f+b|0;r=g+c|0;s=0;t=e;u=B(B(i,-2)|0,e)|0;v=0;w=B(0-i|0,e)|0;x=0;while(1){y=x+8|0;do if(((B(s,j)|0)+w|0)>(k|0)?(z=B(t,i)|0,(z+w|0)>(n|0)):0){A=b-s|0;C=q+s|0;D=(_j(a,A,C,c-t|0,h)|0)+y|0;if((w-z|0)<=(m|0)){z=v+l|0;E=u+o|0;F=s+1|0;G=t+-1|0;H=E;I=z;J=z+w+E|0;K=(_j(a,A,C,r+t|0,h)|0)+D|0;break}if(!t)L=D;else L=(_j(a,A,C,r+t|0,h)|0)+D|0;D=u+o|0;F=s;G=t+-1|0;H=D;I=v;J=D+w|0;K=L}else M=5;while(0);if((M|0)==5){M=0;D=v+l|0;F=s+1|0;G=t;H=u;I=D;J=D+w|0;K=y}if((G|0)<0|(F|0)>(d|0)){p=K;break}else{s=F;t=G;u=H;v=I;w=J;x=K}}}if(!g)N=p;else N=(_j(a,b-d|0,d+b+f|0,c+1|0,h)|0)+p|0;if(e|0){O=N;return O|0}O=(_j(a,b-d|0,d+b|0,c,h)|0)+N|0;return O|0}function dk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=(e|0)<(b|0);i=h?b:e;j=h?e:b;b=(f|0)<(d|0);e=b?d:f;h=b?f:d;d=e-h|0;if((d|0)>=2?(f=i-j|0,(f|0)>=2):0){b=i+j>>1;k=e+h>>1;l=f>>>1;m=d>>>1;n=c[a+32>>2]|0;o=c[a+28>>2]|0;if((((f|0)>(n-o|0)?(p=((l*7|0)>>>0)/10|0,!((p+b|0)<(n|0)|(b-p|0)>=(o|0))):0)?(p=((m*7|0)>>>0)/10|0,q=c[a+36>>2]|0,(k-p|0)<(q|0)):0)?(r=c[a+40>>2]|0,(p+k|0)>=(r|0)):0){p=c[704852]|0;s=(n|0)<(o|0);t=s?o:n;u=s?n:o;s=(r|0)<(q|0);v=s?q:r;w=s?r:q;q=0;while(1){r=(_j(p,u,t,w,g)|0)+q|0;if((w|0)<(v|0)){w=w+1|0;q=r}else{x=r;break}}return x|0}if((j|0)>=(n|0)|(i|0)<(o|0)){x=0;return x|0}if((h|0)>=(c[a+40>>2]|0)){x=0;return x|0}if((e|0)<(c[a+36>>2]|0)){x=0;return x|0}o=f&1;n=d&1;if((f|0)<128&(d|0)<128){x=ck(a,b,k,l,m,o,n,g)|0;return x|0}else{x=bk(a,b,k,l,m,o,n,g)|0;return x|0}}n=0;o=h;while(1){h=(_j(a,j,i,o,g)|0)+n|0;if((o|0)<(e|0)){n=h;o=o+1|0}else{x=h;break}}return x|0}function ek(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;i=Fa;Fa=Fa+128|0;j=i+64|0;k=i;l=k;m=1872;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if((h|0)==1){l=k;m=1936;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=j;n=l+64|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(n|0));if(!((e|0)>(g|0)|(d|0)>(f|0))){l=c[b+16>>2]|0;n=e;while(1){m=c[l+(n<<2)>>2]|0;h=d;while(1){o=j+(c[2e3+((a[m+h>>0]&15)<<2)>>2]<<2)|0;c[o>>2]=(c[o>>2]|0)+1;if((h|0)<(f|0))h=h+1|0;else break}if((n|0)<(g|0))n=n+1|0;else break}}n=(B(1-d+f<<1,1-e+g|0)|0)/3|0;l=(c[j+4>>2]|0)+(c[j>>2]|0)-n|0;h=(l|0)<0?0-l|0:l;l=(c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))-n|0;m=(l|0)<0?0-l|0:l;l=(m|0)<(h|0);o=l?m:h;h=(c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))-n|0;m=(h|0)<0?0-h|0:h;h=(m|0)<(o|0);p=h?m:o;o=(c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))-n|0;m=(o|0)<0?0-o|0:o;o=(m|0)<(p|0);q=o?m:p;p=(c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))-n|0;m=(p|0)<0?0-p|0:p;p=(m|0)<(q|0);r=p?m:q;q=(c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))-n|0;m=(q|0)<0?0-q|0:q;q=(m|0)<(r|0);s=q?m:r;r=(c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))-n|0;m=(r|0)<0?0-r|0:r;r=(m|0)<(s|0);t=r?m:s;s=(c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))-n|0;m=(s|0)<0?0-s|0:s;s=(m|0)<(t|0);u=s?m:t;t=(c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))-n|0;m=(t|0)<0?0-t|0:t;t=(m|0)<(u|0);v=t?m:u;u=(c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))-n|0;m=(u|0)<0?0-u|0:u;u=(m|0)<(v|0);w=u?m:v;v=(c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))))-n|0;m=(v|0)<0?0-v|0:v;v=(m|0)<(w|0);x=v?12:u?11:t?10:s?9:r?8:q?7:p?6:o?5:h?4:l?3:2;l=v?m:w;w=(c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))))-n|0;m=(w|0)<0?0-w|0:w;w=(x|0)==-1|(m|0)<(l|0);v=w?13:x;x=w?m:l;l=(c[j+52>>2]|0)+((c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))))))-n|0;m=(l|0)<0?0-l|0:l;l=(v|0)==-1|(m|0)<(x|0);w=l?14:v;v=(c[j+56>>2]|0)+((c[j+52>>2]|0)+((c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))))))-n|0;n=((w|0)==-1?1:(((v|0)<0?0-v|0:v)|0)<((l?m:x)|0))?15:w;if(!(An(225)|0)){c[k>>2]=(n|0)<1&1;c[k+4>>2]=(n|0)<2&1;c[k+8>>2]=(n|0)<4&1;c[k+12>>2]=(n|0)<6&1;c[k+16>>2]=(n|0)<5&1;c[k+20>>2]=(n|0)<3&1;c[k+24>>2]=(n|0)<12&1;c[k+28>>2]=(n|0)<16&1;c[k+32>>2]=(n|0)<8&1;c[k+36>>2]=(n|0)<13&1;c[k+40>>2]=(n|0)<14&1;c[k+44>>2]=(n|0)<10&1;c[k+48>>2]=(n|0)<9&1;c[k+52>>2]=(n|0)<7&1;c[k+56>>2]=(n|0)<11&1;c[k+60>>2]=(n|0)<15&1}}if((e|0)>(g|0)){Fa=i;return}n=b+16|0;if((d|0)>(f|0)){Fa=i;return}b=e;while(1){e=d;while(1){w=(c[(c[n>>2]|0)+(b<<2)>>2]|0)+e|0;a[w>>0]=c[k+((a[w>>0]&15)<<2)>>2];if((e|0)<(f|0))e=e+1|0;else break}if((b|0)<(g|0))b=b+1|0;else break}Fa=i;return}function fk(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;j=Fa;Fa=Fa+64|0;k=j+32|0;l=j;m=c[742564]|0;n=(h|0)<(f|0);o=n?f:h;p=n?e:g;q=n?h:f;f=n?g:e;e=p-f|0;g=((e|0)<0)<<31>>31;n=o-q|0;h=((n|0)<0)<<31>>31;r=(g|0)<0;s=Ku(0,0,e|0,g|0)|0;t=G()|0;u=r?s:e;s=r?t:g;t=(h|0)<0;r=Ku(0,0,n|0,h|0)|0;v=G()|0;w=t?r:n;r=t?v:h;v=(s|0)>(r|0)|(s|0)==(r|0)&u>>>0>w>>>0;r=v?u:w;w=((r|0)<0)<<31>>31;if((r|0)>0){u=Su(n|0,h|0,16)|0;v=G()|0;s=Su(e|0,g|0,16)|0;t=Nu(s|0,G()|0,r|0,w|0)|0;s=G()|0;x=Nu(u|0,v|0,r|0,w|0)|0;y=t;z=s;A=x;C=G()|0}else{y=e;z=g;A=n;C=h}h=c[b+36>>2]|0;if((o|0)<(h|0)){D=0;Fa=j;return D|0}n=c[b+40>>2]|0;if((q|0)>=(n|0)){D=0;Fa=j;return D|0}g=c[b+28>>2]|0;e=(f|0)<(g|0);x=(p|0)<(g|0);if(e&x){D=0;Fa=j;return D|0}s=c[b+32>>2]|0;t=(f|0)<(s|0);w=(p|0)<(s|0);if(!(t|w)){D=0;Fa=j;return D|0}v=f<<16|32768;u=((v|0)<0)<<31>>31;E=q<<16|32768;F=((E|0)<0)<<31>>31;if((q|0)<(h|0)){H=h<<16;h=Ku(H|0,((H|0)<0)<<31>>31|0,E|0,F|0)|0;H=Su(h|0,G()|0,16)|0;h=Nu(H|0,G()|0,A|0,C|0)|0;G()|0;H=(h>>16)+1|0;I=(H|0)>0?H:0}else I=0;if((o|0)<(n|0))J=r;else{H=n<<16;n=Ku(H|0,((H|0)<0)<<31>>31|0,E|0,F|0)|0;F=Su(n|0,G()|0,16)|0;n=Ju(F|0,G()|0,-65536,-1)|0;F=Nu(n|0,G()|0,A|0,C|0)|0;G()|0;C=F>>16;J=(C|0)>(r|0)?r:C}if(e){e=g<<16;C=Ku(e|0,((e|0)<0)<<31>>31|0,v|0,u|0)|0;e=Su(C|0,G()|0,16)|0;C=Nu(e|0,G()|0,y|0,z|0)|0;G()|0;e=(C>>16)+1|0;K=(I|0)>(e|0)?I:e}else K=I;if(t)L=K;else{t=s<<16;I=Ku(v|0,u|0,t|0,((t|0)<0)<<31>>31|0)|0;t=Su(I|0,G()|0,16)|0;I=G()|0;e=Ku(0,0,y|0,z|0)|0;C=Nu(t|0,I|0,e|0,G()|0)|0;G()|0;e=(C>>16)+1|0;L=(K|0)>(e|0)?K:e}if(x){x=g<<16;g=Ku(v|0,u|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Su(g|0,G()|0,16)|0;g=Ju(x|0,G()|0,-65536,-1)|0;x=G()|0;e=Ku(0,0,y|0,z|0)|0;K=Nu(g|0,x|0,e|0,G()|0)|0;G()|0;e=K>>16;M=(J|0)<(e|0)?J:e}else M=J;if(w)N=M;else{w=s<<16;s=Ku(w|0,((w|0)<0)<<31>>31|0,v|0,u|0)|0;u=Su(s|0,G()|0,16)|0;s=Ju(u|0,G()|0,-65536,-1)|0;u=Nu(s|0,G()|0,y|0,z|0)|0;G()|0;z=u>>16;N=(M|0)<(z|0)?M:z}z=N-L|0;N=z+1|0;M=(B(L,y)|0)+v|0;v=(B(L,A)|0)+E|0;if((z|0)<=-1){D=N;Fa=j;return D|0}E=b+16|0;if(!(m&65536)){b=v;L=M;u=z;while(1){s=L>>16;if((L|0)>8388607){c[l>>2]=f;c[l+4>>2]=q;c[l+8>>2]=p;c[l+12>>2]=o;c[l+16>>2]=L;c[l+20>>2]=b;c[l+24>>2]=u;c[l+28>>2]=z;xu(60408,l)|0}w=b>>16;J=(c[(c[E>>2]|0)+(w<<2)>>2]|0)+s|0;e=c[742561]|0;a[J>>0]=((e^15)&(d[J>>0]|0)|e&i>>(m>>(w<<2&12^12)>>>(s&3^3)<<2&4)&c[742562])&15;if((u|0)>0){b=b+A|0;L=L+y|0;u=u+-1|0}else{D=N;break}}Fa=j;return D|0}u=v;v=M;M=z;while(1){L=v>>16;if((v|0)>8388607){c[k>>2]=f;c[k+4>>2]=q;c[k+8>>2]=p;c[k+12>>2]=o;c[k+16>>2]=v;c[k+20>>2]=u;c[k+24>>2]=M;c[k+28>>2]=z;xu(60408,k)|0}b=u>>16;if(!(m>>(b<<2&12^12)&1<<(L&3^3))){l=(c[(c[E>>2]|0)+(b<<2)>>2]|0)+L|0;L=c[742561]|0;a[l>>0]=((L^15)&(d[l>>0]|0)|L&i&c[742562])&15}if((M|0)>0){u=u+A|0;v=v+y|0;M=M+-1|0}else{D=N;break}}Fa=j;return D|0}function gk(b,e,f,g,h,i,j,k,l,m){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;n=c[743521]|0;o=c[n+8>>2]|0;p=c[n+4>>2]|0;q=(vk(2819376,n,24376)|0)+255&255;n=(vk(2819376,c[743521]|0,24377)|0)+255&255;r=vk(2819376,c[743521]|0,24378)|0;s=vk(2819376,c[743521]|0,24379)|0;t=(a[2998462]<<4&255)<<24>>24>>7<<24>>24;u=e>>16;e=f>>16;f=g>>16;g=h>>16;h=f-u|0;v=((h|0)<0)<<31>>31;w=g-e|0;x=((w|0)<0)<<31>>31;y=(v|0)<0;z=Ku(0,0,h|0,v|0)|0;A=G()|0;C=y?z:h;D=y?A:v;y=(x|0)<0;E=Ku(0,0,w|0,x|0)|0;F=G()|0;H=y?E:w;I=y?F:x;y=(D|0)>(I|0)|(D|0)==(I|0)&C>>>0>H>>>0;I=y?C:H;H=(g|0)<(e|0);C=B(I,k)|0;y=B(I,l)|0;D=H?E:w;w=H?F:x;x=H?z:h;h=H?A:v;v=H?0-l|0:l;l=H?0-k|0:k;k=H?e:g;A=H?u:f;z=H?g:e;e=H?f:u;u=((I|0)<0)<<31>>31;if((I|0)>0){f=Su(D|0,w|0,16)|0;g=G()|0;F=Su(x|0,h|0,16)|0;E=Nu(F|0,G()|0,I|0,u|0)|0;F=G()|0;J=Nu(f|0,g|0,I|0,u|0)|0;K=J;L=G()|0;M=E;N=F}else{K=D;L=w;M=x;N=h}h=c[b+36>>2]|0;if((k|0)<(h|0)){O=0;return O|0}x=c[b+40>>2]|0;if((z|0)>=(x|0)){O=0;return O|0}w=c[b+28>>2]|0;D=(e|0)<(w|0);F=(A|0)<(w|0);if(D&F){O=0;return O|0}E=c[b+32>>2]|0;J=(e|0)<(E|0);u=(A|0)<(E|0);if(!(J|u)){O=0;return O|0}A=e<<16|32768;e=((A|0)<0)<<31>>31;g=z<<16|32768;f=((g|0)<0)<<31>>31;if((z|0)<(h|0)){z=h<<16;h=Ku(z|0,((z|0)<0)<<31>>31|0,g|0,f|0)|0;z=Su(h|0,G()|0,16)|0;h=Nu(z|0,G()|0,K|0,L|0)|0;G()|0;z=(h>>16)+1|0;P=(z|0)>0?z:0}else P=0;if((k|0)<(x|0))Q=I;else{k=x<<16;x=Ku(k|0,((k|0)<0)<<31>>31|0,g|0,f|0)|0;k=Su(x|0,G()|0,16)|0;x=Ju(k|0,G()|0,-65536,-1)|0;k=Nu(x|0,G()|0,K|0,L|0)|0;G()|0;x=k>>16;Q=(x|0)>(I|0)?I:x}if(D){D=w<<16;x=Ku(D|0,((D|0)<0)<<31>>31|0,A|0,e|0)|0;D=Su(x|0,G()|0,16)|0;x=Nu(D|0,G()|0,M|0,N|0)|0;G()|0;D=(x>>16)+1|0;R=(P|0)>(D|0)?P:D}else R=P;if(J)S=R;else{J=E<<16;P=Ku(A|0,e|0,J|0,((J|0)<0)<<31>>31|0)|0;J=Su(P|0,G()|0,16)|0;P=G()|0;D=Ku(0,0,M|0,N|0)|0;x=Nu(J|0,P|0,D|0,G()|0)|0;G()|0;D=(x>>16)+1|0;S=(R|0)>(D|0)?R:D}if(F){F=w<<16;w=Ku(A|0,e|0,F|0,((F|0)<0)<<31>>31|0)|0;F=Su(w|0,G()|0,16)|0;w=Ju(F|0,G()|0,-65536,-1)|0;F=G()|0;D=Ku(0,0,M|0,N|0)|0;R=Nu(w|0,F|0,D|0,G()|0)|0;G()|0;D=R>>16;T=(Q|0)<(D|0)?Q:D}else T=Q;if(u)U=T;else{u=E<<16;E=Ku(u|0,((u|0)<0)<<31>>31|0,A|0,e|0)|0;u=Su(E|0,G()|0,16)|0;E=Ju(u|0,G()|0,-65536,-1)|0;u=Nu(E|0,G()|0,M|0,N|0)|0;G()|0;E=u>>16;U=(T|0)<(E|0)?T:E}E=((S|0)<0)<<31>>31;T=Pu(M|0,N|0,S|0,E|0)|0;u=Ju(T|0,G()|0,A|0,e|0)|0;e=G()|0;A=Pu(K|0,L|0,S|0,E|0)|0;E=Ju(A|0,G()|0,g|0,f|0)|0;f=G()|0;g=(H?C:0)+i+(B(S,l)|0)|0;i=(H?y:0)+j+(B(S,v)|0)|0;j=U-S|0;S=j+1|0;if(!(c[742564]&131072)){if((j|0)<=-1){O=S;return O|0}U=b+16|0;if(!m){y=i;H=g;C=j;A=E;T=f;Q=u;D=e;while(1){R=ln(o,(H>>>16&q)+r|0,(y>>>16&n)+s|0)|0;if((R|0)!=(t|0)?(F=(R|0)/16|0,w=c[2969988+(((ln(p,R-(F<<4)<<3|H>>>13&7,F<<3|y>>>13&7)|0)&15)<<2)>>2]|0,(w&16|0)==0):0){F=c[U>>2]|0;R=Ru(A|0,T|0,16)|0;G()|0;x=c[F+(R<<2)>>2]|0;R=Ru(Q|0,D|0,16)|0;G()|0;F=x+R|0;R=c[742561]|0;a[F>>0]=((R^15)&(d[F>>0]|0)|R&w&c[742562])&15}Q=Ju(Q|0,D|0,M|0,N|0)|0;D=G()|0;A=Ju(A|0,T|0,K|0,L|0)|0;T=G()|0;if((C|0)<=0){O=S;break}else{y=y+v|0;H=H+l|0;C=C+-1|0}}return O|0}C=i;H=g;y=j;T=E;A=f;f=u;D=e;while(1){e=ln(o,(H>>>16&q)+r|0,(C>>>16&n)+s|0)|0;if(((e|0)!=(t|0)?c[(c[743521]|0)+43548+(e<<2)>>2]&m|0:0)?(Q=(e|0)/16|0,w=c[2969988+(((ln(p,e-(Q<<4)<<3|H>>>13&7,Q<<3|C>>>13&7)|0)&15)<<2)>>2]|0,(w&16|0)==0):0){Q=c[U>>2]|0;e=Ru(T|0,A|0,16)|0;G()|0;R=c[Q+(e<<2)>>2]|0;e=Ru(f|0,D|0,16)|0;G()|0;Q=R+e|0;e=c[742561]|0;a[Q>>0]=((e^15)&(d[Q>>0]|0)|e&w&c[742562])&15}f=Ju(f|0,D|0,M|0,N|0)|0;D=G()|0;T=Ju(T|0,A|0,K|0,L|0)|0;A=G()|0;if((y|0)<=0){O=S;break}else{C=C+v|0;H=H+l|0;y=y+-1|0}}return O|0}if((j|0)<=-1){O=S;return O|0}y=b+16|0;if(!m){b=u;H=E;C=i;A=g;L=j;while(1){T=ln(o,(A>>>16&q)+r|0,(C>>>16&n)+s|0)|0;if(((T|0)!=(t|0)?(D=(T|0)/16|0,N=(ln(p,T-(D<<4)<<3|A>>>13&7,D<<3|C>>>13&7)|0)&15,(c[2969988+(N<<2)>>2]&16|0)==0):0)?(D=b>>16,T=H>>16,f=c[742564]|0,U=f>>(T<<2&12^12)>>>(D&3^3)&1,(f&65536|0)==0|(U|0)==0):0){f=(c[(c[y>>2]|0)+(T<<2)>>2]|0)+D|0;D=c[742561]|0;a[f>>0]=((D^15)&(d[f>>0]|0)|D&c[2970116+(N<<2)>>2]>>(U<<2)&c[742562])&15}if((L|0)>0){b=b+M|0;H=H+K|0;C=C+v|0;A=A+l|0;L=L+-1|0}else{O=S;break}}return O|0}L=u;u=E;E=i;i=g;g=j;while(1){j=ln(o,(i>>>16&q)+r|0,(E>>>16&n)+s|0)|0;if((((j|0)!=(t|0)?c[(c[743521]|0)+43548+(j<<2)>>2]&m|0:0)?(A=(j|0)/16|0,C=(ln(p,j-(A<<4)<<3|i>>>13&7,A<<3|E>>>13&7)|0)&15,(c[2969988+(C<<2)>>2]&16|0)==0):0)?(A=L>>16,j=u>>16,H=c[742564]|0,b=H>>(j<<2&12^12)>>>(A&3^3)&1,(H&65536|0)==0|(b|0)==0):0){H=(c[(c[y>>2]|0)+(j<<2)>>2]|0)+A|0;A=c[742561]|0;a[H>>0]=((A^15)&(d[H>>0]|0)|A&c[2970116+(C<<2)>>2]>>(b<<2)&c[742562])&15}if((g|0)>0){L=L+M|0;u=u+K|0;E=E+v|0;i=i+l|0;g=g+-1|0}else{O=S;break}}return O|0}function hk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[742564]|0;if((c[b+28>>2]|0)>(e|0))return 0;if((c[b+32>>2]|0)<=(e|0))return 0;j=h&15;k=(i&65536|0)!=0;l=k?16:h>>>4&15;h=i>>(3-e&3);i=((h&256|0)==0?j:l)<<8|((h&4096|0)==0?j:l)|((h&16|0)==0?j:l)<<16|((h&1|0)==0?j:l)<<24;l=(g|0)<(f|0);j=l?f:g;h=l?g:f;f=c[b+36>>2]|0;g=(h|0)<(f|0)?f:h;h=c[b+40>>2]|0;f=(j|0)<(h|0)?j:h+-1|0;h=(c[(c[b+16>>2]|0)+(g<<2)>>2]|0)+e|0;e=(g|0)>(f|0);if(!k){if(e){m=1-g|0;n=m+f|0;o=e?0:n;return o|0}k=g;b=h;while(1){j=c[742561]|0;a[b>>0]=((j^15)&(d[b>>0]|0)|j&i>>>(k<<3&24)&c[742562])&15;if((k|0)<(f|0)){k=k+1|0;b=b+128|0}else break}m=1-g|0;n=m+f|0;o=e?0:n;return o|0}if(e){m=1-g|0;n=m+f|0;o=e?0:n;return o|0}b=g;k=h;while(1){h=i>>>(b<<3&24);if(!(h&16)){j=c[742561]|0;a[k>>0]=((j^15)&(d[k>>0]|0)|j&h&c[742562])&15}if((b|0)<(f|0)){b=b+1|0;k=k+128|0}else break}m=1-g|0;n=m+f|0;o=e?0:n;return o|0}function ik(a){a=a|0;var b=0;if(c[525005]|0)Ep(1414064,0,1024);c[525005]=1;c[760447]=a;b=(a|0)<3?a:3;if(!(c[743521]|0))return;c[704852]=c[2819412+(((b|0)>0?b:0)<<2)>>2];return}function jk(){var a=0,b=0;if(c[515892]|0)return 1;a=c[704835]|0;b=B((c[a+4>>2]|0)/128|0,(c[a>>2]|0)/128|0)|0;if((b|0)<1)return 1;else return ((b|0)<4?b:4)|0;return 0}function kk(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=c[a>>2]|0;if((f|0)!=(c[b>>2]|0))return;g=a+4|0;h=c[g>>2]|0;if((h|0)!=(c[b+4>>2]|0))return;i=c[a+8>>2]|0;j=c[b+8>>2]|0;if((i|0)==(j|0)){Oo(a,b,0,0,0,0,f,h);return}if(!((i|0)==32&(j|0)==8&(h|0)>0))return;j=0;i=f;f=h;while(1){if((i|0)>0){h=0;do{k=ln(a,h,j)|0;l=k>>>16&255;m=k>>>8&255;n=k&255;k=-1;o=0;p=1e7;while(1){q=c[2970052+(o<<2)>>2]|0;r=l-(d[e+(q*3|0)>>0]|0)|0;s=B(r,r)|0;r=m-(d[e+(q*3|0)+1>>0]|0)|0;t=(B(r,r)|0)+s|0;s=n-(d[e+(q*3|0)+2>>0]|0)|0;q=t+(B(s,s)|0)|0;s=(k|0)==-1|(q|0)<(p|0);k=s?o:k;o=o+1|0;if((o|0)==16)break;else p=s?q:p}en(b,h,j,k);h=h+1|0;u=c[a>>2]|0}while((h|0)<(u|0));v=c[g>>2]|0;w=u}else{v=f;w=i}j=j+1|0;if((j|0)>=(v|0))break;else{i=w;f=v}}return}function lk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;g=c[b>>2]|0;if((g|0)!=(c[e>>2]|0))return;h=b+4|0;i=c[h>>2]|0;if((i|0)!=(c[e+4>>2]|0))return;j=b+8|0;k=c[j>>2]|0;l=e+8|0;m=c[l>>2]|0;if((k|0)==(m|0)){Oo(b,e,0,0,0,0,g,i);return}if((k|0)==8&(m|0)==32){if((i|0)<=0)return;m=b+16|0;n=e+16|0;o=0;p=g;q=i;while(1){if((p|0)>0){r=c[(c[m>>2]|0)+(o<<2)>>2]|0;s=c[(c[n>>2]|0)+(o<<2)>>2]|0;t=0;do{u=a[r+t>>0]|0;v=u&255;c[s+(t<<2)>>2]=(d[f+(v*3|0)>>0]|0)<<16|(u<<24>>24==0?0:-16777216)|(d[f+(v*3|0)+1>>0]|0)<<8|(d[f+(v*3|0)+2>>0]|0);t=t+1|0;w=c[b>>2]|0}while((t|0)<(w|0));x=c[h>>2]|0;y=w}else{x=q;y=p}o=o+1|0;if((o|0)>=(x|0))break;else{p=y;q=x}}z=c[j>>2]|0;A=x;C=y}else{z=k;A=i;C=g}if((z|0)!=32)return;if(!((c[l>>2]|0)==8&(A|0)>0))return;l=0;z=C;C=A;while(1){if((z|0)>0){A=0;do{g=ln(b,A,l)|0;i=g>>>16&255;k=g>>>8&255;y=g&255;g=-1;x=0;j=1e7;while(1){q=x>>>0<16?x:x+112|0;p=i-(d[f+(q*3|0)>>0]|0)|0;o=B(p,p)|0;p=k-(d[f+(q*3|0)+1>>0]|0)|0;w=(B(p,p)|0)+o|0;o=y-(d[f+(q*3|0)+2>>0]|0)|0;p=w+(B(o,o)|0)|0;o=(g|0)==-1|(p|0)<(j|0);g=o?q:g;x=x+1|0;if((x|0)==32)break;else j=o?p:j}en(e,A,l,g);A=A+1|0;D=c[b>>2]|0}while((A|0)<(D|0));E=c[h>>2]|0;F=D}else{E=C;F=z}l=l+1|0;if((l|0)>=(E|0))break;else{z=F;C=E}}return}function mk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;e=b+4|0;f=c[e>>2]|0;g=a[f>>0]|0;a:do switch(g<<24>>24){case 1:{h=f+1|0;i=a[h>>0]|0;if(!(i<<24>>24))j=117;else{k=i&255;l=k+-48|0;c[b+116>>2]=l>>>0<10?l:(i&255)>96?k+-87|0:0;m=0;n=h}break}case 2:{h=f+1|0;k=a[h>>0]|0;if(!(k<<24>>24))j=117;else{i=k&255;l=i+-48|0;c[b+40>>2]=(l>>>0<10?l:(k&255)>96?i+9|0:0)&15;c[b+76>>2]=1;m=0;n=h}break}case 3:{h=f+1|0;i=a[h>>0]|0;if(!(i<<24>>24))j=117;else{k=i&255;l=k+-48|0;c[742550]=(l>>>0<10?l:(i&255)>96?k+-87|0:0)+-16+(c[742550]|0);m=0;n=h}break}case 4:{h=f+1|0;k=a[h>>0]|0;if(!(k<<24>>24))j=117;else{i=k&255;l=i+-48|0;c[742551]=(l>>>0<10?l:(k&255)>96?i+-87|0:0)+-16+(c[742551]|0);m=0;n=h}break}case 5:{h=a[f+1>>0]|0;i=h&255;if(h<<24>>24!=0?(k=f+2|0,(a[k>>0]|0)!=0):0){l=i+-48|0;c[742550]=(l>>>0<10?l:(h&255)>96?i+-87|0:0)+-16+(c[742550]|0);i=a[k>>0]|0;h=i&255;l=h+-48|0;c[742551]=(c[742551]|0)+-16+(l>>>0<10?l:(i&255)>96?h+-87|0:0);m=0;n=k}else j=117;break}case 6:{k=f+1|0;h=a[k>>0]|0;i=h&255;switch(h<<24>>24){case 0:{j=117;break a;break}case 45:{h=f+2|0;l=a[h>>0]|0;o=l<<24>>24==0;p=o?k:h;q=o?i:l&255;r=o&1;break}default:{p=k;q=i;r=1}}i=q+-49|0;b:do if(i>>>0<9){c[b+52>>2]=(1<<i)+-1;s=1}else{switch(q|0){case 99:break;case 100:{k=p+1|0;o=a[k>>0]|0;if(!(o<<24>>24)){m=0;n=p;break a}l=o&255;h=l+-48|0;c[b+128>>2]=h>>>0<10?h:(o&255)>96?l+-87|0:0;m=0;n=k;break a;break}default:{s=0;break b}}k=p+1|0;l=a[k>>0]|0;if(!(l<<24>>24))t=p;else{o=l&255;h=o+-48|0;$m(c[704852]|0,0,0,127,127,h>>>0<10?h:(l&255)>96?o+-87|0:0);c[742550]=0;c[742551]=0;t=k}c[b+20>>2]=r;m=0;n=t;break a}while(0);do switch(q|0){case 103:{c[742550]=c[b+28>>2];c[742551]=c[b+32>>2];m=s;n=p;break a;break}case 104:{c[b+28>>2]=c[742550];c[b+32>>2]=c[742551];m=s;n=p;break a;break}case 106:{i=a[p+1>>0]|0;if(!(i<<24>>24)){m=s;n=p;break a}k=i&255;o=k+-48|0;c[742550]=(o>>>0<10?o:(i&255)>96?k+-87|0:0)<<2;k=p+2|0;i=a[k>>0]|0;o=i&255;l=o+-48|0;c[742551]=(l>>>0<10?l:(i&255)>96?o+-87|0:0)<<2;m=s;n=k;break a;break}case 114:{k=p+1|0;o=a[k>>0]|0;i=o&255;l=i+-48|0;c[b+24>>2]=(l>>>0<10?l:(o&255)>96?i+-87|0:0)<<2;c[b+20>>2]=1;m=s;n=k;break a;break}case 120:{k=p+1|0;i=a[k>>0]|0;if(!(i<<24>>24)){m=s;n=p;break a}o=i&255;l=o+-48|0;c[b+84>>2]=l>>>0<10?l:(i&255)>96?o+-87|0:0;o=c[b+12>>2]|0;i=a[k>>0]|0;l=i&255;h=l+-48|0;c[b+88>>2]=(d[o+1>>0]|0)-(d[o>>0]|0)+(h>>>0<10?h:(i&255)>96?l+-87|0:0);m=s;n=k;break a;break}case 121:{k=p+1|0;l=a[k>>0]|0;if(!(l<<24>>24)){m=s;n=p;break a}i=l&255;h=i+-48|0;c[b+92>>2]=h>>>0<10?h:(l&255)>96?i+-87|0:0;m=s;n=k;break a;break}case 115:{k=p+1|0;i=a[k>>0]|0;l=i&255;h=l+-48|0;c[b+108>>2]=(h>>>0<10?h:(i&255)>96?l+-87|0:0)<<2;m=s;n=k;break a;break}case 119:{c[b+56>>2]=r;m=s;n=p;break a;break}case 116:{c[b+60>>2]=r;m=s;n=p;break a;break}case 46:{c[b+64>>2]=r;m=s;n=p;break a;break}case 112:{c[b+68>>2]=r;m=s;n=p;break a;break}case 35:{c[b+76>>2]=r;m=s;n=p;break a;break}case 105:{c[b+80>>2]=r;m=s;n=p;break a;break}case 98:{c[b+72>>2]=r;m=s;n=p;break a;break}case 64:{k=b+8|0;l=p+1|0;i=c[k>>2]|0;if(l>>>0<i>>>0){h=a[l>>0]|0;o=h&255;u=o+-48|0;v=u>>>0<10?u:(h&255)>96?o+-87|0:0;o=p+2|0;if(o>>>0<i>>>0){h=a[o>>0]|0;u=h&255;w=u+-48|0;x=(w>>>0<10?w:(h&255)>96?u+-87|0:0)+(v<<4)|0;u=p+3|0;if(u>>>0<i>>>0){h=a[u>>0]|0;w=h&255;y=w+-48|0;z=(y>>>0<10?y:(h&255)>96?w+-87|0:0)+(x<<4)|0;w=p+4|0;if(w>>>0<i>>>0){h=a[w>>0]|0;y=h&255;A=y+-48|0;C=(A>>>0<10?A:(h&255)>96?y+-87|0:0)+(z<<4)|0;D=p+5|0}else{C=z;D=w}}else{C=x;D=u}}else{C=v;D=o}}else{C=0;D=l}c:do if(D>>>0<i>>>0){l=a[D>>0]|0;o=l&255;v=o+-48|0;u=v>>>0<10?v:(l&255)>96?o+-87|0:0;o=D+1|0;if(o>>>0<i>>>0){l=a[o>>0]|0;v=l&255;x=v+-48|0;w=(x>>>0<10?x:(l&255)>96?v+-87|0:0)+(u<<4)|0;v=D+2|0;if(v>>>0<i>>>0){l=a[v>>0]|0;x=l&255;z=x+-48|0;y=(z>>>0<10?z:(l&255)>96?x+-87|0:0)+(w<<4)|0;x=D+3|0;if(x>>>0<i>>>0){l=a[x>>0]|0;z=l&255;h=z+-48|0;E=(h>>>0<10?h:(l&255)>96?z+-87|0:0)+(y<<4)|0;F=D+4|0}else{E=y;F=x}}else{E=w;F=v}}else{E=u;F=o}if((E|0)>0&F>>>0<i>>>0){o=F;u=C;v=0;while(1){uk(2819376,c[743521]|0,u,d[o>>0]|0);w=o+1|0;Vg(4);v=v+1|0;if((v|0)>=(E|0)){G=w;break c}if(w>>>0>=(c[k>>2]|0)>>>0){G=w;break}else{o=w;u=u+1|0}}}else G=F}else G=D;while(0);H=G+-1|0;break}default:H=p}while(0);if((q|0)==33){k=b+8|0;i=H+1|0;u=c[k>>2]|0;if(i>>>0<u>>>0){o=a[i>>0]|0;v=o&255;w=v+-48|0;x=w>>>0<10?w:(o&255)>96?v+-87|0:0;v=H+2|0;if(v>>>0<u>>>0){o=a[v>>0]|0;w=o&255;y=w+-48|0;z=(y>>>0<10?y:(o&255)>96?w+-87|0:0)+(x<<4)|0;w=H+3|0;if(w>>>0<u>>>0){o=a[w>>0]|0;y=o&255;l=y+-48|0;h=(l>>>0<10?l:(o&255)>96?y+-87|0:0)+(z<<4)|0;y=H+4|0;if(y>>>0<u>>>0){o=a[y>>0]|0;l=o&255;A=l+-48|0;I=(A>>>0<10?A:(o&255)>96?l+-87|0:0)+(h<<4)|0;J=H+5|0}else{I=h;J=y}}else{I=z;J=w}}else{I=x;J=v}}else{I=0;J=i}if(J>>>0<u>>>0){u=J;i=I;while(1){uk(2819376,c[743521]|0,i,d[u>>0]|0);v=u+1|0;Vg(4);if(v>>>0<(c[k>>2]|0)>>>0){u=v;i=i+1|0}else{K=v;break}}}else K=J;i=K+-1|0;c[e>>2]=i;a[i>>0]=0;L=0;return L|0}else{m=s;n=H}break}case 7:{i=f+1|0;u=a[i>>0]|0;if((u+-48&255)<10){k=(u&255)+-48|0;u=f+2|0;v=a[u>>0]|0;if((v+-48&255)<10){x=(k*10|0)+-48+(v&255)|0;w=(x|0)<63?x:63;x=f+3|0;M=(w|0)>0?w:0;N=x;O=a[x>>0]|0}else{M=k;N=u;O=v}v=c[743521]|0;u=v+12+(M*660|0)|0;switch(O<<24>>24){case 0:case 10:{P=N;Q=u;break}default:{R=N;S=M;T=u;U=v;j=64}}}else{v=kq(0)|0;u=(v|0)==((c[743521]|0)+41592|0);v=kq(1)|0;k=(v|0)==((c[743521]|0)+41592|0)|u;u=kq(2)|0;v=(u|0)==((c[743521]|0)+41592|0)|k;k=kq(3)|0;u=c[743521]|0;if((k|0)==(u+41592|0)|v){v=kq(0)|0;k=(v|0)==((c[743521]|0)+40932|0);v=kq(1)|0;x=(v|0)==((c[743521]|0)+40932|0)|k;k=kq(2)|0;v=(k|0)==((c[743521]|0)+40932|0)|x;x=kq(3)|0;k=c[743521]|0;if((x|0)==(k+40932|0)|v){v=kq(0)|0;x=(v|0)==((c[743521]|0)+40272|0);v=kq(1)|0;w=(v|0)==((c[743521]|0)+40272|0)|x;x=kq(2)|0;v=(x|0)==((c[743521]|0)+40272|0)|w;w=kq(3)|0;x=c[743521]|0;if((w|0)==(x+40272|0)|v){v=kq(0)|0;w=(v|0)==((c[743521]|0)+39612|0);v=kq(1)|0;z=(v|0)==((c[743521]|0)+39612|0)|w;w=kq(2)|0;v=(w|0)==((c[743521]|0)+39612|0)|z;z=kq(3)|0;w=c[743521]|0;V=(z|0)==(w+39612|0)|v?63:60;W=w}else{V=61;W=x}}else{V=62;W=k}}else{V=63;W=u}R=i;S=V;T=W+12+(V*660|0)|0;U=W;j=64}d:do if((j|0)==64){Ep(T,0,660);i=U+12+(S*660|0)+8|0;c[i>>2]=4;u=U+12+(S*660|0)+12|0;k=U+12+(S*660|0)+16|0;x=R;e:while(1){switch(a[x>>0]|0){case 0:case 10:case 32:{j=74;break e;break}case 115:{w=a[x+1>>0]|0;if(!(w<<24>>24)){X=0;break e}v=w&255;z=v+-48|0;c[i>>2]=z>>>0<10?z:(w&255)>96?v+-87|0:0;Y=2;break}case 108:{v=a[x+1>>0]|0;w=v&255;if(!(v<<24>>24)){X=0;break e}z=x+2|0;if(!(a[z>>0]|0)){X=0;break e}y=w+-48|0;c[u>>2]=y>>>0<10?y:(v&255)>96?w+-87|0:0;w=a[z>>0]|0;z=w&255;v=z+-48|0;c[k>>2]=v>>>0<10?v:(w&255)>96?z+-87|0:0;Y=3;break}case 102:{z=a[x+1>>0]|0;if(!(z<<24>>24)){X=0;break e}w=z&255;v=w+-48|0;c[T>>2]=(v>>>0<10?v:(z&255)>96?w+2147483561|0:0)<<1;Y=2;break}default:{X=0;break e}}x=x+Y|0}if((j|0)==74){c[i>>2]=16;c[U+12+(S*660|0)+20>>2]=46;c[U+12+(S*660|0)+24>>2]=0;c[U+12+(S*660|0)+28>>2]=5;c[U+12+(S*660|0)+32>>2]=0;X=1}k=5;u=5;w=0;z=3;v=X;y=x;while(1){h=k;l=u;o=w;A=v;Z=y;f:while(1){_=h;$=l;aa=A;ba=Z;g:while(1){ca=_;da=aa;ea=ba;h:while(1){fa=da;ga=ea;i:while(1){ha=a[ga>>0]|0;switch(ha<<24>>24){case 32:case 0:{P=ga;Q=T;break d;break}default:{}}if(!((fa|0)<32&ha<<24>>24!=10)){P=ga;Q=T;break d}switch(ha<<24>>24){case 93:case 91:{j=89;break f;break}case 0:{j=96;break f;break}case 98:{j=95;break f;break}case 100:{ia=2;j=98;break f;break}case 101:{j=91;break f;break}case 102:{j=92;break f;break}case 103:{j=93;break f;break}case 97:{j=94;break f;break}case 120:{break g;break}case 118:{j=84;break h;break}case 62:case 60:{j=88;break h;break}case 105:{break i;break}case 46:break;default:{j=97;break f}}fa=fa+1|0;ga=ga+1|0}ja=a[ga+1>>0]|0;ka=ja&255;la=ka+-48|0;ca=(la>>>0<10?la:(ja&255)>96?ka+9|0:0)&15;da=fa;ea=ga+2|0}if((j|0)==84){j=0;ea=a[ga+1>>0]|0;da=ea&255;ka=da+-48|0;ma=(ka>>>0<10?ka:(ea&255)>96?da+1|0:0)&7;na=ga+2|0}else if((j|0)==88){j=0;da=(ha<<24>>24==60?-1:1)+$|0;ea=(da|0)<7?da:7;ma=(ea|0)>0?ea:0;na=ga+1|0}_=ca;$=ma;aa=fa;ba=na}ba=a[ga+1>>0]|0;aa=ba&255;_=aa+-48|0;h=ca;l=$;o=(_>>>0<10?_:(ba&255)>96?aa+1|0:0)&7;A=fa;Z=ga+2|0}if((j|0)==89){j=0;Z=(ha<<24>>24==91?-1:1)+z|0;A=(Z|0)<5?Z:5;oa=(A|0)>0?A:0;pa=fa;qa=ga+1|0}else if((j|0)==91){j=0;ia=4;j=98}else if((j|0)==92){j=0;ia=5;j=98}else if((j|0)==93){j=0;ia=7;j=98}else if((j|0)==94){j=0;ia=9;j=98}else if((j|0)==95){j=0;ia=11;j=98}else if((j|0)==96){j=0;ia=12;j=98}else if((j|0)==97){j=0;ia=0;j=98}if((j|0)==98){j=0;A=U+12+(S*660|0)+20+(fa*20|0)|0;c[A>>2]=ia;c[U+12+(S*660|0)+20+(fa*20|0)+4>>2]=ca&7;c[U+12+(S*660|0)+20+(fa*20|0)+8>>2]=$&7;c[U+12+(S*660|0)+20+(fa*20|0)+12>>2]=o;Z=ga+1|0;l=a[Z>>0]|0;h=ga+2|0;if(l<<24>>24==35){aa=ia+1|0;c[A>>2]=aa;ra=h;sa=a[h>>0]|0;ta=aa}else{ra=Z;sa=l;ta=ia}if(sa<<24>>24==45){l=ta+-1|0;c[A>>2]=l;Z=ra+1|0;ua=Z;va=a[Z>>0]|0;wa=l}else{ua=ra;va=sa;wa=ta}l=(va+-48&255)<6;Z=l?(va&255)+-48|0:z;aa=(Z*12|0)+wa|0;h=(aa|0)<63?aa:63;c[A>>2]=(h|0)>0?h:0;oa=Z;pa=fa+1|0;qa=l?ua+1|0:ua}k=ca;u=$;w=o;z=oa;v=pa;y=qa}}while(0);if((c[742428]|0)==0&(c[525571]|0)!=0){tq(0,0);wq();c[525571]=0}fq(Q,0,0,c[743521]|0,-1)|0;m=0;n=(a[P>>0]|0)==10?P+-1|0:P;break}case 8:{c[742550]=(c[742550]|0)-(c[b+104>>2]|0);m=0;n=f;break}case 9:{y=c[b+108>>2]|0;v=y+-1+(c[742550]|0)|0;c[742550]=v-((v|0)%(y|0)|0);m=0;n=f;break}case 10:{c[742550]=c[b+28>>2];y=b+48|0;v=c[y>>2]|0;if(!(c[b+16>>2]|0))c[742551]=(c[742551]|0)+v;else{c[742555]=v;Ya();c[742555]=6}c[y>>2]=c[b+92>>2];m=0;n=f;break}case 11:{y=c[742550]|0;v=b+96|0;z=c[v>>2]|0;c[742550]=z;c[v>>2]=y;y=c[742551]|0;v=b+100|0;w=c[v>>2]|0;c[742551]=w;c[v>>2]=y;c[b+112>>2]=1;y=f+1|0;v=a[y>>0]|0;u=v&255;k=u+-48|0;x=k>>>0<10?k:(v&255)>96?u+-87|0:0;u=(x|0)/4|0;c[742550]=z+-2+(x-(u<<2));c[742551]=w+-8+u;m=0;n=y;break}case 12:{y=f+1|0;u=a[y>>0]|0;w=u&255;x=w+-48|0;z=x>>>0<10?x:(u&255)>96?w+-87|0:0;c[b+36>>2]=z;c[742549]=z;m=0;n=y;break}case 13:{c[742550]=c[b+28>>2];m=0;n=f;break}case 14:{c[b+12>>2]=2996104;c[b+84>>2]=d[2996104];c[b+88>>2]=d[2996105];c[b+92>>2]=d[2996106];c[b+120>>2]=d[2996107];c[b+124>>2]=d[2996108];m=0;n=f;break}case 15:{c[b+12>>2]=1415088;c[b+84>>2]=d[1415088];c[b+88>>2]=d[1415089];c[b+92>>2]=d[1415090];c[b+120>>2]=d[1415091];c[b+124>>2]=d[1415092];m=0;n=f;break}default:j=117}while(0);if((j|0)==117){j=b+84|0;P=c[(g<<24>>24<0?b+88|0:j)>>2]|0;g=b+92|0;Q=c[g>>2]|0;qa=b+112|0;if(!(c[qa>>2]|0)){pa=c[742550]|0;c[b+96>>2]=pa;oa=c[742551]|0;c[b+100>>2]=oa;if(c[b+20>>2]|0?(pa|0)>((c[b+24>>2]|0)-P|0):0){c[742550]=c[b+28>>2];pa=b+48|0;$=c[pa>>2]|0;if(!(c[b+16>>2]|0)){c[742551]=$+oa;xa=Q}else{c[742555]=$;Ya();c[742555]=6;xa=c[g>>2]|0}c[pa>>2]=xa}xa=b+68|0;if((c[xa>>2]|0)==0?(c[b+60>>2]|0)==0:0)ya=Q;else ya=Q<<1;if((c[b+16>>2]|0)!=0?(c[742551]|0)>(128-ya|0):0){Xa(ya);za=xa}else za=xa}else za=b+68|0;xa=c[b+80>>2]|0;ya=c[b+36>>2]|0;pa=c[b+40>>2]|0;if(!(c[za>>2]|0)){za=(c[b+56>>2]|0)==0;$=za?1:2;if(za)Aa=1;else Aa=(c[b+64>>2]|0)==0?1:2;if(!(c[b+60>>2]|0)){Ba=$;Ca=1;Da=Aa;Ea=1}else{Ba=$;Ca=2;Da=Aa;Ea=(c[b+64>>2]|0)==0?1:2}}else{Ba=2;Ca=2;Da=2;Ea=2}Aa=c[b+72>>2]|0;$=B(Aa,Ba)|0;za=b+12|0;oa=B($,(c[j>>2]|0)+1-(d[c[za>>2]>>0]|0)|0)|0;j=(oa|0)>0?oa:0;oa=0-j|0;$=B(Aa,Ca)|0;Aa=($|0)>0?$:0;$=0-Aa|0;ca=(c[b+120>>2]|0)-(c[742556]|0)|0;ua=(c[b+124>>2]|0)-(c[742557]|0)|0;if(!(c[b+76>>2]|0))Fa=B(Ca,Q)|0;else{fa=c[b+44>>2]|0;wa=ca-j+(c[742550]|0)|0;va=ua-Aa+(c[742551]|0)|0;ta=(B(Ba,P)|0)+-1+j+wa|0;j=B(Ca,Q)|0;Q=j+-1+Aa+va|0;Aa=(ta|0)<(wa|0);sa=Aa?wa:ta;ra=Aa?ta:wa;wa=(Q|0)<(va|0);ta=wa?va:Q;Aa=wa?Q:va;while(1){_j(fa,ra,sa,Aa,pa)|0;if((Aa|0)<(ta|0))Aa=Aa+1|0;else{Fa=j;break}}}if((Fa|0)>($|0)){j=((xa|0)!=0)<<31>>31;xa=B(Ba,P)|0;Aa=Ba<<3;ta=b+44|0;if((xa|0)>(oa|0)){pa=$;do{$=(pa+Ca|0)/(Ca|0)|0;sa=$+-1|0;if(($|0)>0?(ra=c[g>>2]|0,($|0)<=(((ra|0)<8?ra:8)|0)):0)Ga=d[(c[za>>2]|0)+(sa+(d[f>>0]<<3))>>0]<<8;else Ga=0;sa=Ga^j;ra=pa+ua|0;$=oa;do{if((((1<<(($+Aa|0)/(Ba|0)|0)&sa|0?(fa=$+ca+(c[742550]|0)|0,va=ra+(c[742551]|0)|0,Q=c[ta>>2]|0,(fa|0)>=(c[Q+28>>2]|0)):0)?(fa|0)<(c[Q+32>>2]|0):0)?(va|0)>=(c[Q+36>>2]|0):0)?(va|0)<(c[Q+40>>2]|0):0){wa=(c[(c[Q+16>>2]|0)+(va<<2)>>2]|0)+fa|0;fa=c[742561]|0;a[wa>>0]=((fa^15)&d[wa>>0]|fa&ya&c[742562])&15}$=$+Da|0}while(($|0)<(xa|0));pa=pa+Ea|0}while((pa|0)<(Fa|0));Ha=xa}else Ha=xa}else Ha=B(Ba,P)|0;Vg(((B(Ha,Fa)|0)+1|0)/2|0);c[b+104>>2]=Ha;Fa=(c[742550]|0)+Ha|0;c[742550]=Fa;Ha=c[525e3]|0;c[525e3]=(Ha|0)>(Fa|0)?Ha:Fa;Fa=b+48|0;Ha=c[Fa>>2]|0;P=B(c[g>>2]|0,Ca)|0;c[Fa>>2]=(Ha|0)>(P|0)?Ha:P;if(c[qa>>2]|0){c[742550]=c[b+96>>2];c[742551]=c[b+100>>2];c[qa>>2]=0}qa=b+116|0;P=c[qa>>2]|0;if((P|0)>0){c[qa>>2]=P+-1;Ia=(P|0)==1?f:f+-1|0}else Ia=f;f=c[b+128>>2]|0;if((f|0)>0){c[b+52>>2]=f+-1;c[e>>2]=(a[Ia>>0]|0)==0?Ia:Ia+1|0;L=1;return L|0}else{m=0;n=Ia}}c[e>>2]=(a[n>>0]|0)==0?n:n+1|0;L=m;return L|0}function nk(){Yu(2100028,0,132)|0;return}function ok(){Hp(c[525007]|0);c[525007]=0;return}function pk(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0;b=vk(2819376,c[743521]|0,24408)|0;e=vk(2819376,c[743521]|0,24409)|0;f=vk(2819376,c[743521]|0,24410)|0;g=vk(2819376,c[743521]|0,24411)|0;h=(b&1|0)==0?2:b;b=(h&128|0)==0?1415088:2996104;c[525010]=b;c[525025]=h>>>1&1;c[525021]=h>>>2&1;c[525022]=h>>>3&1;c[525026]=h>>>4&1;c[525027]=h>>>5&1;c[525023]=h>>>6&1;c[525024]=0;c[525034]=16;h=a[b>>0]|0;c[525028]=h&255;i=a[b+1>>0]|0;c[525029]=i&255;j=a[b+2>>0]|0;c[525030]=j&255;c[525037]=d[b+3>>0];c[525038]=d[b+4>>0];if(!((i|h|j)<<24>>24)){c[525028]=8;c[525030]=8;c[525029]=8}j=e&15;if(j|0)c[525028]=j;if(e&240|0)c[525030]=e>>>4&15;e=f&15;if(e|0)c[525029]=e;if(f&240|0)c[525034]=(f>>>2&60)+4;f=g&15;if(f|0)c[525037]=f;if(!(g&240))return;c[525038]=g>>>4&15;return}function qk(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[525007]|0;if(!b){d=0;return d|0}e=c[525020]|0;if((e|0)>0){c[525020]=e+-1;d=1;return d|0}e=c[525008]|0;do if(a[e>>0]|0){f=e;while(1){g=mk(2100028)|0;Vg((c[525008]|0)-f|0);if(g|0){d=g;h=10;break}f=c[525008]|0;if(!(a[f>>0]|0)){h=8;break}}if((h|0)==8){i=c[525007]|0;break}else if((h|0)==10)return d|0}else i=b;while(0);Hp(i);c[525007]=0;d=0;return d|0}function rk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!d){h=0;return h|0}if(!(c[525006]|0)){c[525006]=1;Ep(1415088,0,2048);i=c[704871]|0;j=0;do{k=c[(c[i>>2]|0)+(j<<2)>>2]|0;l=k+4|0;if((c[l>>2]|0)>0){m=j<<3;n=k+16|0;o=0;do{p=c[k>>2]|0;if((p|0)>0){q=c[(c[n>>2]|0)+(o<<2)>>2]|0;r=0;s=0;while(1){t=((a[q+r>>0]|0)==0?0:1<<r)|s;r=r+1|0;if((r|0)==(p|0)){u=t;break}else s=t}}else u=0;a[1415088+(o+m)>>0]=u;o=o+1|0}while((o|0)<(c[l>>2]|0))}j=j+1|0}while((j|0)!=256);a[1415088]=4;a[1415089]=8;a[1415090]=6;a[1415091]=0;a[1415092]=0}Hp(c[525007]|0);Ep(2100028,0,132);j=Dp(e+4|0)|0;c[525007]=j;Xu(j|0,d|0,e|0)|0;pk();d=c[525007]|0;c[525008]=d;j=d+e|0;c[525009]=j;c[525012]=f&16;c[525013]=c[b+32>>2];c[525011]=f&32;c[525014]=c[742550];c[525015]=c[742551];c[525016]=g&15;c[525017]=g>>>4&15;c[525018]=b;c[525020]=0;c[525036]=0;c[525019]=c[525030];c[525033]=c[525028];if(!(a[2998462]&4)){a[j>>0]=10;a[(c[525007]|0)+(e+1)>>0]=0;v=c[525007]|0}else v=d;if(!v){h=0;return h|0}d=c[525020]|0;if((d|0)>0){c[525020]=d+-1;h=1;return h|0}d=c[525008]|0;do if(a[d>>0]|0){e=d;while(1){j=mk(2100028)|0;Vg((c[525008]|0)-e|0);if(j|0){h=j;w=23;break}e=c[525008]|0;if(!(a[e>>0]|0)){w=21;break}}if((w|0)==21){x=c[525007]|0;break}else if((w|0)==23)return h|0}else x=v;while(0);Hp(x);c[525007]=0;h=0;return h|0}function sk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;a=(b|0)!=0;if(!e){if(!a){f=0;return f|0}g=b+-4|0;h=c[g>>2]|0;Hp(g);c[742570]=(c[742570]|0)-h;f=0;return f|0}h=c[742570]|0;if((h-(c[759908]|0)|0)>2097152){c[759983]=1;mg();g=c[742570]|0;if((g-(c[759908]|0)|0)>67108864){wg(60459);xg(60481,(c[742570]|0)/1048576|0,e>>>10);c[759985]=1;f=0;return f|0}else i=g}else i=h;if(a){h=b+-4|0;g=c[h>>2]|0;c[742570]=i-g;i=Gp(h,e+4|0)|0;j=(g|0)==0?0:e;k=i}else{j=0;k=Gp(0,e+4|0)|0}i=(b|0)==0;b=i&(d|0)==0&(c[759906]|0)!=0?0:i&(d+-7|0)>>>0<13?32:a?j:(d|0)!=2&(i&d>>>0<7)?e:0;c[742570]=b+(c[742570]|0);c[k>>2]=b;f=k+4|0;return f|0}function tk(){var a=0,b=0;a=c[515479]|0;b=c[74e4]|0;if(b|0)c[b+332>>2]=a;b=c[740001]|0;if(b|0)c[b+332>>2]=a;b=c[740002]|0;if(b|0)c[b+332>>2]=a;b=c[740003]|0;if(b|0)c[b+332>>2]=a;b=c[740004]|0;if(b|0)c[b+332>>2]=a;b=c[740005]|0;if(b|0)c[b+332>>2]=a;b=c[740006]|0;if(b|0)c[b+332>>2]=a;b=c[740007]|0;if(b|0)c[b+332>>2]=a;b=c[740008]|0;if(b|0)c[b+332>>2]=a;b=c[740009]|0;if(b|0)c[b+332>>2]=a;b=c[740010]|0;if(b|0)c[b+332>>2]=a;b=c[740011]|0;if(b|0)c[b+332>>2]=a;b=c[740012]|0;if(b|0)c[b+332>>2]=a;b=c[740013]|0;if(b|0)c[b+332>>2]=a;b=c[740014]|0;if(b|0)c[b+332>>2]=a;b=c[740015]|0;if(!b)return;c[b+332>>2]=a;return}function uk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=Fa;Fa=Fa+16|0;h=g;i=e&65535;j=(e&32768|0)!=0;k=(b|0)!=0;if(k&j?(a[2998462]&16)==0:0){c[h>>2]=i;vs(1509584,60493,h)|0;yb(1509584)|0;Fa=g;return}h=i>>>0<24320;if((i+-17152|0)>>>0<7168&(c[704866]|0)>0){Fa=g;return}l=f&255;m=l>>>0>127?f|-256:l;if(k)a[b+154712+i>>0]=f;if(j){Fa=g;return}if(i>>>0<4096){j=d+4|0;k=i>>>6;n=e<<1&126;a[(c[(c[(c[j>>2]|0)+16>>2]|0)+(k<<2)>>2]|0)+n>>0]=f&15;a[(c[(c[(c[j>>2]|0)+16>>2]|0)+(k<<2)>>2]|0)+(n|1)>>0]=f>>>4&15;Fa=g;return}if(i>>>0<8192){n=d+4|0;k=i>>>6;j=e<<1&126;a[(c[(c[(c[n>>2]|0)+16>>2]|0)+(k<<2)>>2]|0)+j>>0]=f&15;a[(c[(c[(c[n>>2]|0)+16>>2]|0)+(k<<2)>>2]|0)+(j|1)>>0]=f>>>4&15;a[(c[(c[(c[d+8>>2]|0)+16>>2]|0)+(i>>>7<<2)>>2]|0)+(e&127)>>0]=f;Fa=g;return}if(i>>>0<12288){j=i+-8192|0;a[(c[(c[(c[d+8>>2]|0)+16>>2]|0)+(j>>7<<2)>>2]|0)+(j&127)>>0]=f;Fa=g;return}if(i>>>0<12544){c[d+43548+(i+-12288<<2)>>2]=l;Fa=g;return}if(i>>>0<12800){j=i+-12544|0;k=(j|0)/4|0;n=j&3;c[d+42252+(k<<4)+(n<<2)>>2]=f&127;j=1<<n;n=d+43276+(k<<2)|0;k=c[n>>2]|0;c[n>>2]=k&~j;if(!(f&128)){Fa=g;return}c[n>>2]=k|j;Fa=g;return}if(i>>>0<17152){j=i+-12800|0;k=(j|0)/68|0;n=j-(k*68|0)|0;if((n|0)<64){j=(n|0)/2|0;if(!(n&1)){c[d+12+(k*660|0)+20+(j*20|0)>>2]=f&63;o=d+12+(k*660|0)+20+(j*20|0)+4|0;c[o>>2]=c[o>>2]&4|f>>>6&3;Fa=g;return}else{o=d+12+(k*660|0)+20+(j*20|0)+4|0;c[o>>2]=c[o>>2]&3|f<<2&4;c[d+12+(k*660|0)+20+(j*20|0)+8>>2]=f>>>1&7;c[d+12+(k*660|0)+20+(j*20|0)+12>>2]=f>>>4&7;c[d+12+(k*660|0)+20+(j*20|0)+16>>2]=f&128;Fa=g;return}}switch(n|0){case 64:{c[d+12+(k*660|0)+4>>2]=f&1;c[d+12+(k*660|0)>>2]=f&254;Fa=g;return}case 65:{c[d+12+(k*660|0)+8>>2]=l;Fa=g;return}case 66:{c[d+12+(k*660|0)+12>>2]=l;Fa=g;return}case 67:{c[d+12+(k*660|0)+16>>2]=l;Fa=g;return}default:{Fa=g;return}}}if((b|0)==0|i>>>0<24064){Fa=g;return}if(h){h=i+-24064|0;b=2965332+(((h|0)/4|0)<<2)|0;k=c[b>>2]|0;d=h<<3&24;h=k&~(255<<d)|l<<d;c[b>>2]=h;if((k|0)==(h|0)){Fa=g;return}c[759981]=1;Fa=g;return}if(i>>>0>=24448)if(i>>>0<24576){pm(i+-24448|0,l);Fa=g;return}else{h=i+-24576|0;k=h>>6;b=h<<1&126;a[(c[(c[(c[704852]|0)+16>>2]|0)+(k<<2)>>2]|0)+b>>0]=f&15;a[(c[(c[(c[704852]|0)+16>>2]|0)+(k<<2)>>2]|0)+(b|1)>>0]=f>>>4&15;Fa=g;return}b=i+-24320|0;if(i>>>0<24336){c[2969988+(b<<2)>>2]=l;Fa=g;return}if(i>>>0<24352){c[2970052+(i+-24336<<2)>>2]=l;if(!(f&128)){Fa=g;return}kb();Fa=g;return}if(i>>>0<24356){c[2970180+(i+-24352<<2)>>2]=l;an(c[704852]|0,c[742545]|0,c[742546]|0,c[742547]|0,c[742548]|0);Fa=g;return}do switch((e&65535)<<16>>16){case 24357:{c[742549]=l;Fa=g;return}case 24358:{c[742550]=l;Fa=g;return}case 24359:{c[742551]=l;Fa=g;return}case 24360:{c[742556]=c[742556]&-256|l;Fa=g;return}case 24361:{c[742556]=c[742556]&255|m<<8;Fa=g;return}case 24362:{c[742557]=c[742557]&-256|l;Fa=g;return}case 24363:{c[742557]=c[742557]&255|m<<8;Fa=g;return}case 24364:{c[742559]=l;Fa=g;return}case 24369:{c[742564]=c[742564]&-256|l;Fa=g;return}case 24370:{c[742564]=c[742564]&-65281|l<<8;Fa=g;return}case 24371:{c[742564]=c[742564]&-16711681|l<<16;Fa=g;return}case 24372:{c[742569]=l;Fa=g;return}case 24373:{c[742567]=l;Fa=g;return}case 24380:{c[742565]=c[742565]&-256|l;Fa=g;return}case 24381:{c[742565]=c[742565]&255|m<<8;Fa=g;return}case 24382:{c[742566]=c[742566]&-256|l;Fa=g;return}case 24383:{c[742566]=c[742566]&255|m<<8;Fa=g;return}case 24384:{c[742906]=l;Fa=g;return}case 24385:{c[742907]=l;Fa=g;return}case 24386:{c[742908]=l;Fa=g;return}case 24387:{c[742909]=l;Fa=g;return}default:switch((e&65532)<<16>>16){case 24388:{k=(i<<3)+-195104|0;Tk(0,(Sk(0)|0)&~(255<<k)|l<<k);Fa=g;return}case 24392:{k=(i<<3)+-195136|0;Tk(1,(Sk(1)|0)&~(255<<k)|l<<k);Fa=g;return}case 24396:{k=i+-24396|0;c[2970284+(k<<5)>>2]=f&1;c[2970284+(k<<5)+4>>2]=f>>>1&1;c[2970284+(k<<5)+8>>2]=f>>>2&1;c[2970284+(k<<5)+12>>2]=f>>>3&1;c[2970284+(k<<5)+16>>2]=f>>>4&1;c[2970284+(k<<5)+20>>2]=f>>>5&1;Fa=g;return}default:{if((b|0)==94){c[742560]=l;c[742561]=f&15;c[742562]=f>>>4&15;Fa=g;return}if((e&65520|0)!=24416){Fa=g;return}c[2970116+(i+-24416<<2)>>2]=l;Fa=g;return}}}while(0)}function vk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=f&65535;h=(b|0)!=0;if(h&g>>>0>32767?(a[2998462]&16)==0:0){i=0;return i|0}if(h)j=d[b+154712+g>>0]|0;else j=0;a:do if(g>>>0>=8192){if(g>>>0<12288){h=g+-8192|0;k=d[(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(h>>7<<2)>>2]|0)+(h&127)>>0]|0;break}if(g>>>0<12544){k=c[e+43548+(g+-12288<<2)>>2]|0;break}if(g>>>0<12800){h=g+-12544|0;l=(h|0)/4|0;m=h&3;h=c[e+42252+(l<<4)+(m<<2)>>2]&127;k=(c[e+43276+(l<<2)>>2]&1<<m|0)==0?h:h|128;break}if(g>>>0<17152){h=g+-12800|0;m=(h|0)/68|0;l=h-(m*68|0)|0;if((l|0)<64){h=(l|0)/2|0;if(!(l&1)){k=c[e+12+(m*660|0)+20+(h*20|0)+4>>2]<<6&192|c[e+12+(m*660|0)+20+(h*20|0)>>2];break}else{k=c[e+12+(m*660|0)+20+(h*20|0)+8>>2]<<1&14|(c[e+12+(m*660|0)+20+(h*20|0)+4>>2]|0)>>>2&1|c[e+12+(m*660|0)+20+(h*20|0)+12>>2]<<4&112|c[e+12+(m*660|0)+20+(h*20|0)+16>>2]&128;break}}switch(l|0){case 64:{k=c[e+12+(m*660|0)>>2]&254|c[e+12+(m*660|0)+4>>2]&1;break a;break}case 65:{k=c[e+12+(m*660|0)+8>>2]|0;break a;break}case 66:{k=c[e+12+(m*660|0)+12>>2]|0;break a;break}case 67:{k=c[e+12+(m*660|0)+16>>2]|0;break a;break}default:{k=j;break a}}}if(!b){i=0;return i|0}if(g>>>0<24064)k=j;else{if(g>>>0<24320){m=g+-24064|0;k=(c[2965332+(((m|0)/4|0)<<2)>>2]|0)>>>(m<<3&24)&255;break}if(g>>>0>=24448){if(g>>>0<24576){k=qm(g+-24448|0)|0;break}if(g>>>0>=32768){k=j;break}m=g+-24576|0;l=c[(c[(c[704852]|0)+16>>2]|0)+(m>>6<<2)>>2]|0;h=m<<1&126;k=(a[l+(h|1)>>0]<<4&255|a[l+h>>0]&15)&255;break}h=g+-24320|0;b:do if(g>>>0<24336)n=c[2969988+(h<<2)>>2]|0;else{if(g>>>0<24352){n=c[2970052+(g+-24336<<2)>>2]|0;break}if(g>>>0<24356){n=c[2970180+(g+-24352<<2)>>2]|0;break}do switch((f&65535)<<16>>16){case 24357:{n=c[742549]|0;break b;break}case 24358:{n=c[742550]|0;break b;break}case 24359:{n=c[742551]|0;break b;break}case 24360:{n=c[742556]&255;break b;break}case 24361:{n=c[742556]>>8;break b;break}case 24362:{n=c[742557]&255;break b;break}case 24363:{n=c[742557]>>8;break b;break}case 24364:{n=c[742559]|0;break b;break}case 24369:{n=c[742564]&255;break b;break}case 24370:{n=(c[742564]|0)>>>8&255;break b;break}case 24371:{n=(c[742564]|0)>>>16&255;break b;break}case 24373:{n=c[742567]&255;break b;break}case 24380:{n=c[742565]&255;break b;break}case 24381:{n=c[742565]>>8;break b;break}case 24382:{n=c[742566]&255;break b;break}case 24383:{n=c[742566]>>8;break b;break}case 24384:{n=c[742906]|0;break b;break}case 24385:{n=c[742907]|0;break b;break}case 24386:{n=c[742908]|0;break b;break}case 24387:{n=c[742909]|0;break b;break}default:switch((f&65532)<<16>>16){case 24388:{n=(Sk(0)|0)>>>((g<<3)+-195104|0)&255;break b;break}case 24392:{n=(Sk(1)|0)>>>((g<<3)+-195136|0)&255;break b;break}default:{l=g+-24396|0;if(l>>>0<8){n=((c[2970284+(l<<5)+20>>2]|0)==0?0:32)|(((c[2970284+(l<<5)+16>>2]|0)==0?0:16)|(((c[2970284+(l<<5)+12>>2]|0)==0?0:8)|(((c[2970284+(l<<5)+8>>2]|0)==0?0:4)|(((c[2970284+(l<<5)+4>>2]|0)==0?0:2)|(c[2970284+(l<<5)>>2]|0)!=0))))|a[2974088+g>>0]&-64&255;break b}if((h|0)==94){n=c[742560]&255;break b}if((f&65520|0)!=24416){n=j;break b}n=c[2970116+(g+-24416<<2)>>2]|0;break b}}}while(0)}while(0);k=n&255}}else{h=c[(c[(c[e+4>>2]|0)+16>>2]|0)+(g>>>6<<2)>>2]|0;l=f<<1&126;k=((d[h+(l|1)>>0]|0)<<4)+(d[h+l>>0]|0)|0}while(0);i=k&255;return i|0}function wk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if((h|0)>32767)return;i=g&65535;j=f&65535;k=a[2064+(g>>>8&255)>>0]|0;g=k<<24>>24;l=i+h|0;m=a[2064+(f>>>8&255)>>0]|0;f=m<<24>>24;n=j+h|0;o=(j|0)>=(l|0);p=(n|0)<=(i|0);q=p|o;if(!(m<<24>>24==(a[2064+((n+65535|0)>>>8&255)>>0]|0)&(k<<24>>24==(a[2064+((l+65535|0)>>>8&255)>>0]|0)&(k<<24>>24!=0&m<<24>>24!=0)))){l=(h|0)>0;if(j>>>0<i>>>0){if(!l)return;r=0;do{uk(b,e,r+j|0,vk(b,e,r+i|0)|0);r=r+1|0}while((r|0)!=(h|0));return}else{if(!l)return;l=h;do{r=l;l=l+-1|0;uk(b,e,l+j|0,vk(b,e,l+i|0)|0)}while((r|0)>1);return}}switch(g|0){case 1:{s=(c[(c[(c[e+4>>2]|0)+16>>2]|0)+(i>>>6<<2)>>2]|0)+(i<<1&126)|0;break}case 2:{l=i+-24576|0;s=(c[(c[(c[704852]|0)+16>>2]|0)+(l>>6<<2)>>2]|0)+(l<<1&126)|0;break}case 8:{l=i+-8192|0;s=(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(l>>7<<2)>>2]|0)+(l&127)|0;break}default:s=b+154712+i|0}switch(f|0){case 1:{t=(c[(c[(c[e+4>>2]|0)+16>>2]|0)+(j>>>6<<2)>>2]|0)+(j<<1&126)|0;break}case 2:{l=j+-24576|0;t=(c[(c[(c[704852]|0)+16>>2]|0)+(l>>6<<2)>>2]|0)+(l<<1&126)|0;break}case 8:{l=j+-8192|0;t=(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(l>>7<<2)>>2]|0)+(l&127)|0;break}default:t=b+154712+j|0}b=g&8;if(i>>>0<j>>>0&((p|o)^1)){o=h<<(b>>>3^1);if(o|0){p=o;do{p=p+-1|0;a[t+p>>0]=a[s+p>>0]|0}while((p|0)!=0)}}else{p=(f&8|0)!=0;do if((k&8&m)<<24>>24){if(q){Xu(t|0,s|0,h|0)|0;u=t;v=s;break}if((h|0)>0){f=t+h|0;o=t;i=s;g=0;while(1){a[o>>0]=a[i>>0]|0;g=g+1|0;if((g|0)==(h|0))break;else{o=o+1|0;i=i+1|0}}u=f;v=s+h|0}else{u=t;v=s}}else{u=t;v=s}while(0);do if(!((m|k)&8)){s=h<<1;if(q){Xu(u|0,v|0,s|0)|0;w=u;x=v;y=31;break}if((h|0)<=0){z=u;A=v;B=(b|0)==0;C=0;break}t=u;i=v;o=0;while(1){a[t>>0]=a[i>>0]|0;g=t+1|0;l=i+1|0;o=o+1|0;if((o|0)>=(s|0)){w=g;x=l;y=31;break}else{t=g;i=l}}}else{w=u;x=v;y=31}while(0);if((y|0)==31){y=(b|0)==0;b=(h|0)>0;if(b&((y|p)^1)){v=w+(h<<1)|0;u=0;q=w;k=x;while(1){a[q>>0]=a[k>>0]&15;a[q+1>>0]=(d[k>>0]|0)>>>4;u=u+1|0;if((u|0)==(h|0))break;else{q=q+2|0;k=k+1|0}}z=v;A=x+h|0;B=y;C=b}else{z=w;A=x;B=y;C=b}}if(B&p&C){C=0;p=z;z=A;while(1){a[p>>0]=(a[z+1>>0]<<4&255)+(d[z>>0]|0);C=C+1|0;if((C|0)==(h|0))break;else{p=p+1|0;z=z+2|0}}}}z=j+-4096|0;j=(z|0)<4096?z:4096;z=(j|0)>0?j:0;j=(n|0)<4096?0:(n|0)<8192?n+-4096|0:4096;if(!((j|0)>0&(z|0)<4096&(z|0)<(j|0)))return;n=z;p=(c[(c[e+8>>2]|0)+12>>2]|0)+(z+4096)|0;h=(c[(c[e+4>>2]|0)+12>>2]|0)+((z<<1)+8192)|0;while(1){a[p>>0]=a[h+1>>0]<<4&255|a[h>>0]&15;n=n+1|0;if((n|0)>=(j|0))break;else{p=p+1|0;h=h+2|0}}return}function xk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=Fa;Fa=Fa+16|0;i=h;j=e&65535;k=f&65535;f=(b|0)!=0;if(f?!((e&32768|0)==0|(a[2998462]&16)!=0):0){c[i>>2]=j;vs(1509584,60511,i)|0;yb(1509584)|0;Fa=h;return}i=(g|0)>0;if(j>>>0<k>>>0){if(i){l=k;m=g;n=j;while(1){o=256-(l&255)|0;p=256-(n&255)|0;q=o>>>0<p>>>0?o:p;p=(q|0)<(m|0)?q:m;wk(b,d,n,l,p);m=m-p|0;if((m|0)<=0)break;else{l=p+l|0;n=p+n|0}}}}else if(i){i=k+g|0;k=g;n=j+g|0;do{j=(i+255&255)+1|0;l=(n+255&255)+1|0;m=j>>>0<l>>>0?j:l;l=(m|0)<(k|0)?m:k;i=i-l|0;n=n-l|0;wk(b,d,n,i,l);k=k-l|0}while((k|0)>0)}if(!f){Fa=h;return}if(a[2998462]&16){Fa=h;return}if(!(e+65535+g&32768)){Fa=h;return}g=1509584;e=60531;f=g+21|0;do{a[g>>0]=a[e>>0]|0;g=g+1|0;e=e+1|0}while((g|0)<(f|0));yb(1509584)|0;Fa=h;return}function yk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=Fa;Fa=Fa+16|0;i=h+8|0;j=h;k=e&65535;l=(b|0)!=0;if(l?!((e&32768|0)==0|(a[2998462]&16)!=0):0){c[j>>2]=k;vs(1509584,60552,j)|0;yb(1509584)|0;Fa=h;return}if((g|0)>0){j=f&255;e=d+4|0;m=d+8|0;n=f&15;o=n&255;p=f>>>4&15;q=n*17&255;n=g;r=k;while(1){s=256-(r&255)|0;t=(s|0)<(n|0)?s:n;a:do if((t|0)<=32767){s=r&65535;u=a[2064+(r>>>8&255)>>0]|0;v=u<<24>>24;w=t+s|0;if(!(u<<24>>24)){if((t|0)<=0)break;u=0;while(1){uk(b,d,u+s|0,f);u=u+1|0;if((u|0)==(t|0))break a}}switch(v|0){case 1:{x=s;y=(c[(c[e>>2]|0)+16>>2]|0)+(s>>>6<<2)|0;z=14;break}case 2:{u=s+-24576|0;x=u;y=(c[(c[704852]|0)+16>>2]|0)+(u>>6<<2)|0;z=14;break}case 8:{u=s+-8192|0;A=(c[(c[(c[m>>2]|0)+16>>2]|0)+(u>>7<<2)>>2]|0)+(u&127)|0;z=13;break}default:{u=b+154712+s|0;if(!(v&8)){B=u;z=15}else{A=u;z=13}}}if((z|0)==13){z=0;Yu(A|0,j|0,t|0)|0}else if((z|0)==14){z=0;B=(c[y>>2]|0)+(x<<1&126)|0;z=15}if((z|0)==15?(z=0,(t|0)>0):0){u=B;C=0;while(1){a[u>>0]=o;a[u+1>>0]=p;C=C+1|0;if((C|0)==(t|0))break;else u=u+2|0}}u=s+-4096|0;C=(u|0)<4096?u:4096;u=(C|0)>0?C:0;C=(w|0)<4096?0:(w|0)<8192?w+-4096|0:4096;if((C|0)>(u|0)&((u|0)<4096&(C|0)>0))Yu((c[(c[m>>2]|0)+12>>2]|0)+(u+4096)|0,q|0,C-u|0)|0}while(0);u=t+r|0;C=n-t|0;if((C|0)>0){n=C;r=u}else{D=u;E=C;break}}}else{D=k;E=g}if(!l){Fa=h;return}if(a[2998462]&16){Fa=h;return}l=E+-1+D|0;if(!(l&32768)){Fa=h;return}c[i>>2]=l;vs(1509584,60552,i)|0;yb(1509584)|0;Fa=h;return}function zk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((g|0)>32767)return;if((g|0)>0){h=0;do{uk(b,d,h+e|0,vk(0,c[18328]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}if(!(a[2968664]|0))return;a[2968664]=0;g=30-(c[742431]|0)|0;h=(g|0)<30?g:30;c[742430]=(h|0)>2?h:2;c[742431]=150;return}function Ak(a){a=a|0;var b=0,d=0;b=a>>16;a=vk(2819376,c[743521]|0,b)|0;d=((vk(2819376,c[743521]|0,b+1|0)|0)<<8)+a|0;a=d+((vk(2819376,c[743521]|0,b+2|0)|0)<<16)|0;return a+((vk(2819376,c[743521]|0,b+3|0)|0)<<24)|0}function Bk(a){a=a|0;var b=0;b=a>>16;a=(vk(2819376,c[743521]|0,b)|0)<<16;return ((vk(2819376,c[743521]|0,b+1|0)|0)<<24)+a|0}function Ck(a){a=a|0;return (vk(2819376,c[743521]|0,a>>16)|0)<<16|0}function Dk(){return}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Fa;Fa=Fa+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=0;c[f>>2]=0;c[g>>2]=0;a:do if(b>>>0>7)h=0;else{cr(b-(c[415555]|0)|0,e,f,g);if((a|0)>=4)switch(a|0){case 4:{h=(c[g>>2]&9|0)==0?0:255;break a;break}case 5:{h=(c[g>>2]&6|0)==0?0:255;break a;break}case 6:{h=(c[g>>2]&64|0)==0?0:255;break a;break}default:{h=0;break a}}i=c[e>>2]|0;j=B((i|0)/2|0,i)|0;k=c[f>>2]|0;b:do if(((B((k|0)/2|0,k)|0)+j|0)>134217728)switch(a|0){case 0:{l=i<<8;m=0-l|0;if((32767-l|0)>>>0>8388606){h=(m|0)<-32767?0:255;break a}h=(m|0)/32768|0;break a;break}case 1:{if((i+127|0)>>>0>32766){h=(i|0)<-127?0:255;break a}h=(i|0)/128|0;break a;break}case 2:{m=k<<8;l=0-m|0;if((32767-m|0)>>>0>8388606){h=(l|0)<-32767?0:255;break a}h=(l|0)/32768|0;break a;break}case 3:{if((k+127|0)>>>0>32766){h=(k|0)<-127?0:255;break a}h=(k|0)/128|0;break a;break}default:break b}else switch(a|0){case 0:{if(!(c[g>>2]&8192))break b;else{h=255;break a}break}case 1:{if(!(c[g>>2]&16384))break b;else{h=255;break a}break}case 2:{if(!(c[g>>2]&2048))break b;else{h=255;break a}break}case 3:{if(!(c[g>>2]&4096))break b;else{h=255;break a}break}default:break b}while(0);h=0}while(0);Fa=d;return h|0}function Fk(a){a=a|0;return ((c[415564]|0)==(a|0)|(c[415565]|0)==(a|0)|(c[415566]|0)==(a|0)|(c[415567]|0)==(a|0)|(c[415568]|0)==(a|0)|(c[415569]|0)==(a|0))&1|0}function Gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=Fa;Fa=Fa+16|0;e=d+8|0;f=d+4|0;g=d;h=(b|0)==0;a:do if(h){switch(a|0){case 0:{i=c[415564]|0;j=0;k=0;l=(i|0)==0?80:i;m=9;break}case 1:{i=c[415565]|0;j=0;k=0;l=(i|0)==0?79:i;m=9;break}case 2:{i=c[415566]|0;j=0;k=0;l=(i|0)==0?82:i;m=9;break}case 3:{i=c[415567]|0;j=0;k=0;l=(i|0)==0?81:i;m=9;break}case 4:{i=c[415568]|0;j=0;k=1;l=(i|0)==0?29:i;m=9;break}case 5:{i=c[415569]|0;j=1;k=0;l=(i|0)==0?27:i;m=9;break}default:{n=0;o=0;p=0}}if((m|0)==9){n=An(l)|0;o=k;p=j}if(!(An(-5)|0)){if(o){i=c[415568]|0;q=An((i|0)==0?6:i)|0|n}else q=n;if(p){i=c[415569]|0;r=An((i|0)==0?25:i)|0|q}else r=q}else r=n;if(o){i=c[415568]|0;s=An((i|0)==0?17:i)|0|r}else s=r;if(p&(An(-5)|0)==0){i=c[415569]|0;t=An((i|0)==0?16:i)|0|s}else t=s;i=(a|0)==6;if(i){u=c[415576]|0;v=An((u|0)==0?19:u)|0|t;u=c[415576]|0;w=v|(An((u|0)==0?40:u)|0)}else w=t;if(i&((c[760315]|0)==2&(((c[742422]|0)!=1|(c[742428]|0)==0|(c[416456]|0)!=0)^1))){i=c[415576]|0;x=An((i|0)==0?41:i)|0|w}else x=w}else if((b|0)==1)switch(a|0){case 0:{i=c[415570]|0;if(!i){x=An(22)|0;break a}else{x=An(i)|0;break a}break}case 1:{i=c[415571]|0;if(!i){x=An(9)|0;break a}else{x=An(i)|0;break a}break}case 2:{i=c[415572]|0;if(!i){x=An(8)|0;break a}else{x=An(i)|0;break a}break}case 3:{i=c[415573]|0;if(!i){x=An(7)|0;break a}else{x=An(i)|0;break a}break}case 4:{i=c[415574]|0;u=An((i|0)==0?225:i)|0;i=c[415574]|0;v=An((i|0)==0?43:i)|0|u;u=c[415574]|0;x=v|(An((u|0)==0?26:u)|0);break a;break}case 5:{u=c[415575]|0;v=An((u|0)==0?4:u)|0;u=c[415575]|0;x=An((u|0)==0?20:u)|0|v;break a;break}default:{x=0;break a}}else x=0;while(0);w=c[2971324+(b<<2)>>2]|0;b=x|(w|0)!=-1&(w&1<<a|0)!=0&1;if(!((a+-4|0)>>>0<3&h)){y=b;Fa=d;return y|0}if(((vk(2819376,c[743521]|0,24365)|0)&3|0)!=3){y=b;Fa=d;return y|0}fr(e,f,g);switch(a|0){case 4:{z=c[g>>2]&2;break}case 5:{z=c[g>>2]&1;break}default:z=c[g>>2]&4}y=(z|0)==0?b:x|1;Fa=d;return y|0}function Hk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;a=(c[416459]|0)==0?0:2;b=a;d=c[416456]|0;while(1){c[2970796+(b<<2)>>2]=1;c[2970284+(b<<2)>>2]=0;if(!d){e=vk(2819376,c[743521]|0,24412)|0;f=(e|0)==0?15:e;g=c[416456]|0}else{f=15;g=d}h=c[525569]|0;if(!(g|h)){e=c[759973]|0;i=(e|0)>0?e:30}else i=30;c[2971356+(b<<2)>>2]=((B(i,f)|0)/30|0)+1;b=b+1|0;if((b|0)==8)break;else d=g}d=a;b=h;h=g;while(1){c[2970828+(d<<2)>>2]=1;c[2970316+(d<<2)>>2]=0;if(!h){g=vk(2819376,c[743521]|0,24412)|0;j=(g|0)==0?15:g;k=c[525569]|0;l=c[416456]|0}else{j=15;k=b;l=h}if(!(l|k)){g=c[759973]|0;m=(g|0)>0?g:30}else m=30;c[2971388+(d<<2)>>2]=((B(m,j)|0)/30|0)+1;d=d+1|0;if((d|0)==8)break;else{b=k;h=l}}h=a;b=k;k=l;while(1){c[2970860+(h<<2)>>2]=1;c[2970348+(h<<2)>>2]=0;if(!k){l=vk(2819376,c[743521]|0,24412)|0;n=(l|0)==0?15:l;o=c[525569]|0;p=c[416456]|0}else{n=15;o=b;p=k}if(!(p|o)){l=c[759973]|0;q=(l|0)>0?l:30}else q=30;c[2971420+(h<<2)>>2]=((B(q,n)|0)/30|0)+1;h=h+1|0;if((h|0)==8)break;else{b=o;k=p}}k=a;b=o;o=p;while(1){c[2970892+(k<<2)>>2]=1;c[2970380+(k<<2)>>2]=0;if(!o){p=vk(2819376,c[743521]|0,24412)|0;r=(p|0)==0?15:p;s=c[525569]|0;t=c[416456]|0}else{r=15;s=b;t=o}if(!(t|s)){p=c[759973]|0;u=(p|0)>0?p:30}else u=30;c[2971452+(k<<2)>>2]=((B(u,r)|0)/30|0)+1;k=k+1|0;if((k|0)==8)break;else{b=s;o=t}}o=a;b=s;s=t;while(1){c[2970924+(o<<2)>>2]=1;c[2970412+(o<<2)>>2]=0;if(!s){t=vk(2819376,c[743521]|0,24412)|0;v=(t|0)==0?15:t;w=c[525569]|0;x=c[416456]|0}else{v=15;w=b;x=s}if(!(x|w)){t=c[759973]|0;y=(t|0)>0?t:30}else y=30;c[2971484+(o<<2)>>2]=((B(y,v)|0)/30|0)+1;o=o+1|0;if((o|0)==8)break;else{b=w;s=x}}s=a;b=x;x=w;while(1){c[2970956+(s<<2)>>2]=1;c[2970444+(s<<2)>>2]=0;if(!b){w=vk(2819376,c[743521]|0,24412)|0;z=(w|0)==0?15:w;A=c[525569]|0;C=c[416456]|0}else{z=15;A=x;C=b}if(!(C|A)){w=c[759973]|0;D=(w|0)>0?w:30}else D=30;c[2971516+(s<<2)>>2]=((B(D,z)|0)/30|0)+1;s=s+1|0;if((s|0)==8)break;else{b=C;x=A}}x=a;b=C;C=A;while(1){c[2970988+(x<<2)>>2]=1;c[2970476+(x<<2)>>2]=0;if(!b){A=vk(2819376,c[743521]|0,24412)|0;E=(A|0)==0?15:A;F=c[525569]|0;G=c[416456]|0}else{E=15;F=C;G=b}if(!(G|F)){A=c[759973]|0;H=(A|0)>0?A:30}else H=30;c[2971548+(x<<2)>>2]=((B(H,E)|0)/30|0)+1;x=x+1|0;if((x|0)==8)break;else{b=G;C=F}}C=a;a=G;G=F;while(1){c[2971020+(C<<2)>>2]=1;c[2970508+(C<<2)>>2]=0;if(!a){F=vk(2819376,c[743521]|0,24412)|0;I=(F|0)==0?15:F;J=c[525569]|0;K=c[416456]|0}else{I=15;J=G;K=a}if(!(K|J)){F=c[759973]|0;L=(F|0)>0?F:30}else L=30;c[2971580+(C<<2)>>2]=((B(L,I)|0)/30|0)+1;C=C+1|0;if((C|0)==8)break;else{a=K;G=J}}return}function Ik(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;Yu(2970284,0,256)|0;if((c[515484]|0)>0){c[742571]=Bo(2)|0;c[742572]=Bo(2)|0;c[742573]=Bo(2)|0;c[742574]=Bo(2)|0;c[742575]=Bo(2)|0;c[742576]=Bo(2)|0;c[742579]=Bo(2)|0;c[742580]=Bo(2)|0;c[742581]=Bo(2)|0;c[742582]=Bo(2)|0;c[742583]=Bo(2)|0;c[742584]=Bo(2)|0;c[742587]=Bo(2)|0;c[742588]=Bo(2)|0;c[742589]=Bo(2)|0;c[742590]=Bo(2)|0;c[742591]=Bo(2)|0;c[742592]=Bo(2)|0;c[742595]=Bo(2)|0;c[742596]=Bo(2)|0;c[742597]=Bo(2)|0;c[742598]=Bo(2)|0;c[742599]=Bo(2)|0;c[742600]=Bo(2)|0;c[742603]=Bo(2)|0;c[742604]=Bo(2)|0;c[742605]=Bo(2)|0;c[742606]=Bo(2)|0;c[742607]=Bo(2)|0;c[742608]=Bo(2)|0;c[742611]=Bo(2)|0;c[742612]=Bo(2)|0;c[742613]=Bo(2)|0;c[742614]=Bo(2)|0;c[742615]=Bo(2)|0;c[742616]=Bo(2)|0;c[742619]=Bo(2)|0;c[742620]=Bo(2)|0;c[742621]=Bo(2)|0;c[742622]=Bo(2)|0;c[742623]=Bo(2)|0;c[742624]=Bo(2)|0;c[742627]=Bo(2)|0;c[742628]=Bo(2)|0;c[742629]=Bo(2)|0;c[742630]=Bo(2)|0;c[742631]=Bo(2)|0;c[742632]=Bo(2)|0;return}a=0;do{b=0;do{if((Gk(b,a)|0)==0?(Ek(b,a)|0)<=128:0)c[2970796+(a<<5)+(b<<2)>>2]=0;else d=7;if(((d|0)==7?(d=0,(c[2970796+(a<<5)+(b<<2)>>2]|0)==0):0)?(c[2970284+(a<<5)+(b<<2)>>2]=1,(c[2970540+(a<<5)+(b<<2)>>2]|0)==0):0){e=c[416456]|0;if(!e){f=vk(2819376,c[743521]|0,24412)|0;g=(f|0)==0?15:f;h=c[416456]|0}else{g=15;h=e}if(!(h|c[525569])){e=c[759973]|0;i=(e|0)>0?e:30}else i=30;c[2971356+(a<<5)+(b<<2)>>2]=((B(i,g)|0)/30|0)+1}b=b+1|0}while((b|0)!=8);a=a+1|0}while((a|0)!=8);c[742827]=c[525558];c[742828]=c[525559];c[525558]=0;c[525559]=0;c[742829]=c[525564];c[742830]=c[525565];c[525564]=0;c[525565]=0;return}function Jk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;if((c[742422]|0)!=1|(c[742428]|0)==0|(c[416456]|0)!=0)a=0;else{Ik();a=1}b=0;do{d=2971052+(b<<5)|0;c[d>>2]=0;e=c[2970284+(b<<5)>>2]|0;f=2970540+(b<<5)|0;do if(e|0){if(c[f>>2]|0?(c[2971356+(b<<5)>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2971052+(b<<5)+4|0;c[d>>2]=0;g=c[2970284+(b<<5)+4>>2]|0;h=2970540+(b<<5)+4|0;do if(g|0){if(c[h>>2]|0?(c[2971356+(b<<5)+4>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)+4>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=2971052+(b<<5)+8|0;c[d>>2]=0;e=c[2970284+(b<<5)+8>>2]|0;f=2970540+(b<<5)+8|0;do if(e|0){if(c[f>>2]|0?(c[2971356+(b<<5)+8>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)+8>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2971052+(b<<5)+12|0;c[d>>2]=0;g=c[2970284+(b<<5)+12>>2]|0;h=2970540+(b<<5)+12|0;do if(g|0){if(c[h>>2]|0?(c[2971356+(b<<5)+12>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)+12>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=2971052+(b<<5)+16|0;c[d>>2]=0;e=c[2970284+(b<<5)+16>>2]|0;f=2970540+(b<<5)+16|0;do if(e|0){if(c[f>>2]|0?(c[2971356+(b<<5)+16>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)+16>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2971052+(b<<5)+20|0;c[d>>2]=0;g=c[2970284+(b<<5)+20>>2]|0;h=2970540+(b<<5)+20|0;do if(g|0){if(c[h>>2]|0?(c[2971356+(b<<5)+20>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)+20>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=2971052+(b<<5)+24|0;c[d>>2]=0;e=c[2970284+(b<<5)+24>>2]|0;f=2970540+(b<<5)+24|0;do if(e|0){if(c[f>>2]|0?(c[2971356+(b<<5)+24>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)+24>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2971052+(b<<5)+28|0;c[d>>2]=0;g=c[2970284+(b<<5)+28>>2]|0;h=2970540+(b<<5)+28|0;do if(g|0){if(c[h>>2]|0?(c[2971356+(b<<5)+28>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)+28>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;b=b+1|0}while((b|0)!=8);if((vk(2819376,c[743521]|0,24412)|0)!=255){b=0;do{d=2971356+(b<<5)|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[416456]|0;if(!f){e=vk(2819376,c[743521]|0,24413)|0;i=(e|0)==0?4:e;j=c[416456]|0}else{i=4;j=f}if(!(j|c[525569])){f=c[759973]|0;k=(f|0)>0?f:30}else k=30;c[d>>2]=(B(k,i)|0)/30|0}d=2971356+(b<<5)+4|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[416456]|0;if(!e){f=vk(2819376,c[743521]|0,24413)|0;l=(f|0)==0?4:f;m=c[416456]|0}else{l=4;m=e}if(!(m|c[525569])){e=c[759973]|0;n=(e|0)>0?e:30}else n=30;c[d>>2]=(B(n,l)|0)/30|0}d=2971356+(b<<5)+8|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[416456]|0;if(!f){e=vk(2819376,c[743521]|0,24413)|0;o=(e|0)==0?4:e;p=c[416456]|0}else{o=4;p=f}if(!(p|c[525569])){f=c[759973]|0;q=(f|0)>0?f:30}else q=30;c[d>>2]=(B(q,o)|0)/30|0}d=2971356+(b<<5)+12|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[416456]|0;if(!e){f=vk(2819376,c[743521]|0,24413)|0;r=(f|0)==0?4:f;s=c[416456]|0}else{r=4;s=e}if(!(s|c[525569])){e=c[759973]|0;t=(e|0)>0?e:30}else t=30;c[d>>2]=(B(t,r)|0)/30|0}d=2971356+(b<<5)+16|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[416456]|0;if(!f){e=vk(2819376,c[743521]|0,24413)|0;u=(e|0)==0?4:e;v=c[416456]|0}else{u=4;v=f}if(!(v|c[525569])){f=c[759973]|0;w=(f|0)>0?f:30}else w=30;c[d>>2]=(B(w,u)|0)/30|0}d=2971356+(b<<5)+20|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[416456]|0;if(!e){f=vk(2819376,c[743521]|0,24413)|0;x=(f|0)==0?4:f;y=c[416456]|0}else{x=4;y=e}if(!(y|c[525569])){e=c[759973]|0;z=(e|0)>0?e:30}else z=30;c[d>>2]=(B(z,x)|0)/30|0}d=2971356+(b<<5)+24|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[416456]|0;if(!f){e=vk(2819376,c[743521]|0,24413)|0;A=(e|0)==0?4:e;C=c[416456]|0}else{A=4;C=f}if(!(C|c[525569])){f=c[759973]|0;D=(f|0)>0?f:30}else D=30;c[d>>2]=(B(D,A)|0)/30|0}d=2971356+(b<<5)+28|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[416456]|0;if(!e){f=vk(2819376,c[743521]|0,24413)|0;E=(f|0)==0?4:f;F=c[416456]|0}else{E=4;F=e}if(!(F|c[525569])){e=c[759973]|0;G=(e|0)>0?e:30}else G=30;c[d>>2]=(B(G,E)|0)/30|0}b=b+1|0}while((b|0)!=8)}if(a|0)return;Ik();return}function Kk(a,b){a=a|0;b=b|0;var d=0,e=0;if((b|a)>>>0>=8){d=0;return d|0}e=c[2970284+(b<<5)+(a<<2)>>2]|0;if(!(c[2970540+(b<<5)+(a<<2)>>2]|0)){d=e;return d|0}else return ((c[2971356+(b<<5)+(a<<2)>>2]|0)==1?e:0)|0;return 0}function Lk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0;e=Fa;Fa=Fa+64|0;f=e+40|0;g=e+32|0;h=e+8|0;i=e;j=e+48|0;k=Fp(131072)|0;l=Fp(131072)|0;m=Fp(131072)|0;n=Fp(131072)|0;o=Fp(131072)|0;a[d>>0]=0;if(!(a[b>>0]|0)){Hp(k);Hp(l);Hp(m);Hp(n);Hp(o);Fa=e;return}p=m;q=m+1|0;r=l+1|0;s=b;b=1;t=1;while(1){a[k>>0]=0;a[l>>0]=0;a[m>>0]=0;Yu(n|0,0,131072)|0;u=0;v=0;w=0;x=0;y=0;z=s;A=b;while(1){if(y>>>0>=16384){B=u;C=v;D=x;E=z;F=A;break}y=y+1|0;if(!A)G=dh(z)|0;else G=eh(z)|0;H=fh()|0;if((H|0)<-998|(H|0)==-995)if(z>>>0<G>>>0){I=z;J=x;while(1){K=J+((a[I>>0]|0)==10&1)|0;I=I+1|0;if((I|0)==(G|0)){L=u;M=v;N=w;O=K;break}else J=K}}else{L=u;M=v;N=w;O=x}else{J=G-z|0;Xu(m+w|0,z|0,J|0)|0;I=J+w|0;a[m+I>>0]=0;switch(H|0){case -996:{if((J|0)>0){J=w+1|0;Yu(n+w|0,1,((I|0)>(J|0)?I:J)-w|0)|0;P=I}else P=I;break}case -997:{J=m+(ft(m)|0)|0;a[J>>0]=32;a[J+1>>0]=0;P=I+1|0;break}default:P=I}L=(H|0)==-985?1:u;M=(H|0)==-989?1:v;N=P;O=x}if(!((H|1|0)!=-999&(G|0)!=0)){B=L;C=M;D=O;E=G;F=0;break}else{u=L;v=M;w=N;x=O;z=G;A=0}}A=m;a:while(1){switch(a[A>>0]|0){case 63:{Q=21;break a;break}case 9:case 32:break;default:break a}A=A+1|0}if((Q|0)==21){Q=0;Lm(l,A)|0;c[i>>2]=r;vs(A,60572,i)|0;z=(ft(m)|0)+5|0;if((z|0)>4){x=z;while(1){a[n+x>>0]=a[n+(x+-5)>>0]|0;if((x|0)>5)x=x+-1|0;else break}};a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0}x=n;A=m;while(1){z=eu(A,60582)|0;if(z){w=z-A|0;v=w+2|0;if(!((a[x+(w+1)>>0]|a[x+w>>0])<<24>>24)){a[z>>0]=126;R=1;Q=30}else{S=x+v|0;T=A+v|0}}else{R=0;Q=30}if((Q|0)==30){Q=0;v=n;z=m;while(1){U=eu(z,60585)|0;if(!U){Q=32;break}w=U-z|0;u=w+2|0;if(!((a[v+(w+1)>>0]|a[v+w>>0])<<24>>24)){Q=38;break}else{v=v+u|0;z=z+u|0}}b:do if((Q|0)==32){Q=0;z=n;v=m;while(1){V=eu(v,60588)|0;if(!V)break;H=V-v|0;u=H+2|0;if(!((a[z+(H+1)>>0]|a[z+H>>0])<<24>>24)){Q=37;break}else{z=z+u|0;v=v+u|0}}if((Q|0)==37){Q=0;a[j>>0]=a[60588]|0;a[j+1>>0]=a[60589]|0;a[j+2>>0]=a[60590]|0;W=V;Q=94;break}v=n;z=m;while(1){X=eu(z,60591)|0;if(!X)break;u=X-z|0;H=u+2|0;if(!((a[v+(u+1)>>0]|a[v+u>>0])<<24>>24)){Q=42;break}else{v=v+H|0;z=z+H|0}}if((Q|0)==42){Q=0;a[j>>0]=a[60591]|0;a[j+1>>0]=a[60592]|0;a[j+2>>0]=a[60593]|0;W=X;Q=94;break}z=n;v=m;while(1){Y=eu(v,60594)|0;if(!Y)break;H=Y-v|0;u=H+2|0;if(!((a[z+(H+1)>>0]|a[z+H>>0])<<24>>24)){Q=46;break}else{z=z+u|0;v=v+u|0}}if((Q|0)==46){Q=0;a[j>>0]=a[60594]|0;a[j+1>>0]=a[60595]|0;a[j+2>>0]=a[60596]|0;W=Y;Q=94;break}v=n;z=m;while(1){Z=eu(z,60597)|0;if(!Z)break;u=Z-z|0;H=u+2|0;if(!((a[v+(u+1)>>0]|a[v+u>>0])<<24>>24)){Q=50;break}else{v=v+H|0;z=z+H|0}}if((Q|0)==50){Q=0;a[j>>0]=a[60597]|0;a[j+1>>0]=a[60598]|0;a[j+2>>0]=a[60599]|0;W=Z;Q=94;break}z=n;v=m;while(1){_=eu(v,60600)|0;if(!_)break;H=_-v|0;u=H+2|0;if(!((a[z+(H+1)>>0]|a[z+H>>0])<<24>>24)){Q=54;break}else{z=z+u|0;v=v+u|0}}if((Q|0)==54){Q=0;a[j>>0]=a[60600]|0;a[j+1>>0]=a[60601]|0;a[j+2>>0]=a[60602]|0;W=_;Q=94;break}v=n;z=m;while(1){$=eu(z,60603)|0;if(!$)break;u=$-z|0;H=u+2|0;if(!((a[v+(u+1)>>0]|a[v+u>>0])<<24>>24)){Q=58;break}else{v=v+H|0;z=z+H|0}}if((Q|0)==58){Q=0;a[j>>0]=a[60603]|0;a[j+1>>0]=a[60604]|0;a[j+2>>0]=a[60605]|0;W=$;Q=94;break}z=n;v=m;while(1){aa=eu(v,60606)|0;if(!aa)break;H=aa-v|0;u=H+2|0;if(!((a[z+(H+1)>>0]|a[z+H>>0])<<24>>24)){Q=62;break}else{z=z+u|0;v=v+u|0}}if((Q|0)==62){Q=0;a[j>>0]=a[60606]|0;a[j+1>>0]=a[60607]|0;a[j+2>>0]=a[60608]|0;W=aa;Q=94;break}v=n;z=m;while(1){ba=eu(z,60609)|0;if(!ba)break;u=ba-z|0;H=u+3|0;if(!((a[v+(u+2)>>0]|(a[v+(u+1)>>0]|a[v+u>>0]))<<24>>24)){Q=66;break}else{v=v+H|0;z=z+H|0}}if((Q|0)==66){Q=0;c[j>>2]=4021854;W=ba;Q=94;break}z=n;v=m;while(1){ca=eu(v,60613)|0;if(!ca)break;H=ca-v|0;u=H+4|0;if(!((a[z+(H+3)>>0]|(a[z+(H+2)>>0]|(a[z+(H+1)>>0]|a[z+H>>0])))<<24>>24)){Q=70;break}else{z=z+u|0;v=v+u|0}}if((Q|0)==70){Q=0;a[j>>0]=a[60613]|0;a[j+1>>0]=a[60614]|0;a[j+2>>0]=a[60615]|0;a[j+3>>0]=a[60616]|0;a[j+4>>0]=a[60617]|0;W=ca;Q=94;break}v=n;z=m;while(1){da=eu(z,60618)|0;if(!da)break;u=da-z|0;H=u+4|0;if(!((a[v+(u+3)>>0]|(a[v+(u+2)>>0]|(a[v+(u+1)>>0]|a[v+u>>0])))<<24>>24)){Q=74;break}else{v=v+H|0;z=z+H|0}}if((Q|0)==74){Q=0;a[j>>0]=a[60618]|0;a[j+1>>0]=a[60619]|0;a[j+2>>0]=a[60620]|0;a[j+3>>0]=a[60621]|0;a[j+4>>0]=a[60622]|0;W=da;Q=94;break}z=n;v=m;while(1){ea=eu(v,60623)|0;if(!ea)break;H=ea-v|0;u=H+3|0;if(!((a[z+(H+2)>>0]|(a[z+(H+1)>>0]|a[z+H>>0]))<<24>>24)){Q=78;break}else{z=z+u|0;v=v+u|0}}if((Q|0)==78){Q=0;c[j>>2]=4013116;W=ea;Q=94;break}v=n;z=m;while(1){fa=eu(z,60627)|0;if(!fa)break;u=fa-z|0;H=u+4|0;if(!((a[v+(u+3)>>0]|(a[v+(u+2)>>0]|(a[v+(u+1)>>0]|a[v+u>>0])))<<24>>24)){Q=82;break}else{v=v+H|0;z=z+H|0}}if((Q|0)==82){Q=0;a[j>>0]=a[60627]|0;a[j+1>>0]=a[60628]|0;a[j+2>>0]=a[60629]|0;a[j+3>>0]=a[60630]|0;a[j+4>>0]=a[60631]|0;W=fa;Q=94;break}z=n;v=m;while(1){ga=eu(v,60632)|0;if(!ga)break;H=ga-v|0;u=H+3|0;if(!((a[z+(H+2)>>0]|(a[z+(H+1)>>0]|a[z+H>>0]))<<24>>24)){Q=86;break}else{z=z+u|0;v=v+u|0}}if((Q|0)==86){Q=0;c[j>>2]=4013630;W=ga;Q=94;break}v=n;z=m;while(1){ha=eu(z,60636)|0;if(!ha)break;u=ha-z|0;H=u+2|0;if(!((a[v+(u+1)>>0]|a[v+u>>0])<<24>>24)){Q=90;break}else{v=v+H|0;z=z+H|0}}if((Q|0)==90){Q=0;a[j>>0]=a[60636]|0;a[j+1>>0]=a[60637]|0;a[j+2>>0]=a[60638]|0;W=ha;Q=94;break}z=n;v=m;while(1){ia=eu(v,60639)|0;if(!ia){Q=130;break b}H=ia-v|0;u=H+3|0;if(!((a[z+(H+2)>>0]|(a[z+(H+1)>>0]|a[z+H>>0]))<<24>>24))break;else{z=z+u|0;v=v+u|0}}c[j>>2]=4009518;W=ia;Q=94}else if((Q|0)==38){Q=0;a[j>>0]=a[60585]|0;a[j+1>>0]=a[60586]|0;a[j+2>>0]=a[60587]|0;W=U;Q=94}while(0);if((Q|0)==94){Q=0;if((W|0)!=0&W>>>0>m>>>0){a[o>>0]=0;v=W;while(1){ja=v+-1|0;ka=a[ja>>0]|0;la=ja>>>0>m>>>0;if(ka<<24>>24==32&la)v=ja;else break}c:do if(la){z=W+-2|0;u=0;H=ka<<24>>24==93&1;w=-1;y=ja;while(1){d:do if((H|0)<=0){I=a[y+-1>>0]|0;J=I<<24>>24;if(y>>>0>q>>>0)ma=a[z>>0]|0;else ma=0;if(I<<24>>24!=46){if(u|0){switch(J|0){case 91:case 93:{break d;break}default:{}}if((J|1|0)==41)break}if(!(I<<24>>24==58&(ma|0)!=58)?(Zg(J)|0)==0:0){na=w;break c}}}while(0);J=w+-1|0;y=v+J|0;I=a[y>>0]|0;K=I<<24>>24==91;oa=H+(I<<24>>24==93&1)+(K<<31>>31)+(I<<24>>24==41&1)+((I<<24>>24==40)<<31>>31)|0;switch(I<<24>>24){case 58:case 46:{pa=1;break}default:pa=0}if(y>>>0<=m>>>0){na=J;break c}else{u=K&(oa|0)==0?1:pa;H=oa;w=J}}}else na=-1;while(0);w=na;while(1)if((w|0)<-1&(Yg(a[v+w>>0]|0)|0)==0)w=w+1|0;else break;Lm(k,v+w|0)|0;a[k+(0-w)>>0]=0;a[v>>0]=0;H=W+(ft(j)|0)|0;eh(m)|0;u=dh(H)|0;y=fh()|0;e:do if((y|1|0)!=-999){z=0;J=H;oa=0;K=y;I=u;f:while(1){g:do if((z|0)==1){switch(K|0){case 40:case 91:case 123:{qa=oa+1|0;break}default:qa=oa}switch(K|0){case 41:case 93:case 125:{ra=qa+-1|0;break}default:ra=qa}if((ra|0)<0)break f;else{sa=(ra|0)==0?2:1;ta=ra}}else switch(K|0){case 40:case 91:case 123:{sa=1;ta=1;break g;break}case -996:{sa=2;ta=oa;break g;break}case 37:case 42:case 43:case 45:case 47:case 94:case -962:{sa=0;ta=oa;break g;break}default:{if(((K&-9)+973|0)>>>0<2){sa=0;ta=oa;break g}switch(K|0){case 35:case 36:case 37:case 38:case 46:case 58:case 64:case 92:case 124:case 126:case -974:case -970:case -969:case -968:case -967:case -956:case -955:case -954:case -953:case -951:{sa=0;ta=oa;break g;break}default:{}}ua=(K|0)==-952;if(ua|(z|0)!=2){sa=ua?0:2;ta=oa;break g}else break f}}while(0);ua=dh(I)|0;K=fh()|0;if((K|1|0)==-999)break e;else{va=I;z=sa;oa=ta;I=ua;J=va}}Lm(o,J)|0;a[J>>0]=0}while(0);a[j+((ft(j)|0)+-1)>>0]=0;c[h>>2]=m;c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=H;c[h+16>>2]=o;vs(l,60643,h)|0;Lm(m,l)|0;wa=1}else Q=130}if((Q|0)==130){Q=0;if(!R)break;else wa=R}Yu(n|0,0,(ft(m)|0)+1|0)|0;u=eh(m)|0;if(u|0){y=0;v=u;do{u=fh()|0;w=v;I=y;y=w-p|0;if((u|0)==-996&(I|0)<(y|0))Yu(n+I|0,1,w-p-I|0)|0;v=dh(v)|0}while((u|1|0)!=-999&(v|0)!=0)}if(!wa)break;else{S=n;T=m}}x=S;A=T}h:do if(!C){A=n;x=m;while(1){v=eu(x,60662)|0;if(!v){xa=0;break}y=v-x|0;H=y+3|0;if(!((a[A+(y+2)>>0]|(a[A+(y+1)>>0]|a[A+y>>0]))<<24>>24)){xa=v;break}else{A=A+H|0;x=x+H|0}}x=n;A=m;while(1){H=eu(A,60666)|0;if(!H){ya=xa;Q=144;break h}v=H-A|0;y=v+3|0;if(!((a[x+(v+2)>>0]|(a[x+(v+1)>>0]|a[x+v>>0]))<<24>>24)){za=2;Aa=H;Ba=xa;break}else{x=x+y|0;A=A+y|0}}}else{ya=0;Q=144}while(0);if((Q|0)==144){Q=0;if(!ya)if(!B){A=n;x=m;while(1){y=eu(x,60670)|0;if(!y){Ca=0;break}H=y-x|0;v=H+6|0;if(!((a[A+(H+5)>>0]|(a[A+(H+4)>>0]|(a[A+(H+3)>>0]|(a[A+(H+2)>>0]|(a[A+(H+1)>>0]|a[A+H>>0])))))<<24>>24)){Ca=y;break}else{A=A+v|0;x=x+v|0}}x=n;A=m;while(1){v=eu(A,60677)|0;if(!v){Da=0;break}y=v-A|0;H=y+6|0;if(!((a[x+(y+5)>>0]|(a[x+(y+4)>>0]|(a[x+(y+3)>>0]|(a[x+(y+2)>>0]|(a[x+(y+1)>>0]|a[x+y>>0])))))<<24>>24)){Da=v;break}else{x=x+H|0;A=A+H|0}}za=(Ca|0)!=0|(Da|0)!=0?5:0;Aa=Da;Ba=Ca}else{za=0;Aa=0;Ba=0}else{za=2;Aa=0;Ba=ya}}A=(Aa|0)!=0;x=(Ba|0)!=0&A?(Ba>>>0<Aa>>>0?Ba:Aa):A?Aa:Ba;i:do if(x|0){if((x|0)!=(m|0))switch(a[x+-1>>0]|0){case 9:case 32:break;default:break i}A=x+za|0;j:while(1){switch(a[A>>0]|0){case 40:{break j;break}case 32:case 9:break;default:break i}A=A+1|0}H=A+1|0;v=a[H>>0]|0;if(v<<24>>24){y=1;u=H;H=v;while(1){if(!((y|0)>0&H<<24>>24!=10)){Ea=y;Ga=u;Ha=H;break}v=(a[n+(u-p)>>0]|0)==0?y+(H<<24>>24==40&1)+((H<<24>>24==41)<<31>>31)|0:y;I=u+1|0;H=a[I>>0]|0;if(!(H<<24>>24)){Ea=v;Ga=I;Ha=0;break}else{y=v;u=I}}if(!Ea){u=l+(Ga-p)|0;switch(za&7){case 2:{y=Ga;H=Ha;k:while(1){switch(H<<24>>24){case 10:case 0:{break i;break}default:{}}if(((H&-33)+-65&255)<26)break;if((((H<<24>>24)+256|0)%256|0|0)>127)break;switch(H<<24>>24){case 95:case 31:case 30:{break k;break}case 9:case 32:break;default:break i}A=y+1|0;y=A;H=a[A>>0]|0}dh(y)|0;if((fh()|0)==-973)break i;if((fh()|0)==-972)break i;Lm(l,m)|0;a[u>>0]=0;c[g>>2]=l;c[g+4>>2]=Ga;vs(k,60684,g)|0;Lm(m,k)|0;break i;break}case 5:{H=Ga;A=Ha;l:while(1){switch(A<<24>>24){case 10:case 0:{break i;break}default:{}}if(((A&-33)+-65&255)<26)break;if((((A<<24>>24)+256|0)%256|0|0)>127)break;switch(A<<24>>24){case 95:case 31:case 30:{break l;break}case 9:case 32:break;default:break i}I=H+1|0;H=I;A=a[I>>0]|0}dh(H)|0;if((fh()|0)==-973)break i;if((fh()|0)==-972)break i;Lm(l,m)|0;a[u>>0]=0;c[f>>2]=l;c[f+4>>2]=Ga;vs(k,60700,f)|0;Lm(m,k)|0;break i;break}default:{A=Ga;y=Ha;m:while(1){switch(y<<24>>24){case 10:case 0:{break i;break}default:{}}if(((y&-33)+-65&255)<26)break;if((((y<<24>>24)+256|0)%256|0|0)>127)break;switch(y<<24>>24){case 95:case 31:case 30:{break m;break}case 9:case 32:break;default:break i}I=A+1|0;A=I;y=a[I>>0]|0}dh(A)|0;if((fh()|0)==-973)break i;if((fh()|0)==-972)break i;Lm(l,m)|0;a[u>>0]=0;Lm(m,k)|0;break i}}}}}while(0);pt(d,m)|0;if(D|0){x=D;do{x=x+-1|0;y=d+(ft(d)|0)|0;a[y>>0]=10;a[y+1>>0]=0}while((x|0)!=0)}x=(a[E>>0]|0)!=0;if(t>>>0<65536&x){s=E;b=F;t=t+(x&1)|0}else break}Hp(k);Hp(l);Hp(m);Hp(n);Hp(o);Fa=e;return}function Mk(a,b){a=a|0;b=b|0;var c=0;c=Pu(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ru(c|0,G()|0,16)|0;G()|0;return a|0}function Nk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)>65535&(b&65535|0)==0){c=(a|0)/(b>>>16|0)|0;return c|0}if(!b){c=(a>>31&2)+2147483647|0;return c|0}else{d=Su(a|0,((a|0)<0)<<31>>31|0,16)|0;a=Nu(d|0,G()|0,b|0,((b|0)<0)<<31>>31|0)|0;b=G()|0;d=(b|0)<0|(b|0)==0&a>>>0<2147483647;e=d?a:2147483647;a=d?b:0;b=(a|0)>-1|(a|0)==-1&e>>>0>2147483649;a=b?e:-2147483647;c=a;return c|0}return 0}function Ok(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!b){c=a;return c|0}d=(b|0)<0?0-b|0:b;b=((a|0)==-2147483648?d:0)+a|0;if((b|0)<0)e=d-((0-b|0)%(d|0)|0)|0;else e=b;c=(e|0)%(d|0)|0;return c|0}function Pk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!b){c=65536;return c|0}if((b|0)<0){if(!((a|0)>65535&(a&65535|0)==0))if(!a)d=2147483647;else{e=Nu(0,1,a|0,((a|0)<0)<<31>>31|0)|0;f=G()|0;g=(f|0)<0|(f|0)==0&e>>>0<2147483647;h=g?e:2147483647;e=g?f:0;f=(e|0)>-1|(e|0)==-1&h>>>0>2147483649;e=f?h:-2147483647;d=e}else d=65536/(a>>>16>>>0)|0;i=0-b|0;j=d}else{i=b;j=a}a=i&-65536;b=i-a|0;if((a|0)>65535){i=j;d=65536;e=a;while(1){a=((i|0)<0)<<31>>31;h=Pu(i|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;f=Ru(h|0,G()|0,16)|0;G()|0;h=(e&65536|0)==0?d:f;f=Pu(i|0,a|0,i|0,a|0)|0;i=Ru(f|0,G()|0,16)|0;G()|0;if(e>>>0<=131071){k=h;break}else{d=h;e=e>>>1}}}else k=65536;if((b|0)>0){e=b;b=j;j=k;while(1){if((e|0)<65536){d=e;i=b;while(1){h=Su(i|0,((i|0)<0)<<31>>31|0,16)|0;f=G()|0;if((i|0)<0)l=0;else{a=1073741824;g=0;while(1){m=Ru(g|0,a|0,2)|0;n=G()|0;if(a>>>0>f>>>0|(a|0)==(f|0)&g>>>0>h>>>0){a=n;g=m}else break}if((g|0)==0&(a|0)==0)o=0;else{m=0;n=0;p=g;q=a;r=f;s=h;while(1){t=Ju(m|0,n|0,p|0,q|0)|0;u=G()|0;if(r>>>0<u>>>0|(r|0)==(u|0)&s>>>0<t>>>0){v=Ru(m|0,n|0,1)|0;w=s;x=r;y=v;z=G()|0}else{v=Ku(s|0,r|0,t|0,u|0)|0;u=G()|0;t=Ru(m|0,n|0,1)|0;A=Ju(t|0,G()|0,p|0,q|0)|0;w=v;x=u;y=A;z=G()|0}p=Ru(p|0,q|0,2)|0;q=G()|0;if((p|0)==0&(q|0)==0)break;else{m=y;n=z;r=x;s=w}}o=y}Vg(8);l=o}s=d<<1;if((d|0)<32768){d=s;i=l}else{B=s;C=l;break}}}else{B=e;C=b}i=Pu(C|0,((C|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0;d=Ru(i|0,G()|0,16)|0;G()|0;if((B|0)>65536){e=B+-65536|0;b=C;j=d}else{D=d;break}}}else D=k;Vg(8);c=D;return c|0}function Qk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=Su(a|0,((a|0)<0)<<31>>31|0,16)|0;c=G()|0;if((a|0)<0){d=0;return d|0}a=1073741824;e=0;while(1){f=Ru(e|0,a|0,2)|0;g=G()|0;if(a>>>0>c>>>0|(a|0)==(c|0)&e>>>0>b>>>0){a=g;e=f}else break}if((e|0)==0&(a|0)==0)h=0;else{f=e;e=a;a=0;g=0;i=c;c=b;while(1){b=Ju(f|0,e|0,a|0,g|0)|0;j=G()|0;if(i>>>0<j>>>0|(i|0)==(j|0)&c>>>0<b>>>0){k=Ru(a|0,g|0,1)|0;l=c;m=i;n=k;o=G()|0}else{k=Ku(c|0,i|0,b|0,j|0)|0;j=G()|0;b=Ru(a|0,g|0,1)|0;p=Ju(b|0,G()|0,f|0,e|0)|0;l=k;m=j;n=p;o=G()|0}f=Ru(f|0,e|0,2)|0;e=G()|0;if((f|0)==0&(e|0)==0)break;else{a=n;g=o;i=m;c=l}}h=n}Vg(8);d=h;return d|0}function Rk(a,b){a=a|0;b=b|0;return Eo(a,b)|0}function Sk(a){a=a|0;var b=0,d=0,e=0;switch(a|0){case 0:{b=35124;d=3;break}case 1:{b=35128;d=3;break}default:e=0}if((d|0)==3)e=c[b>>2]|0;return e|0}function Tk(a,b){a=a|0;b=b|0;var d=0;switch(a|0){case 0:{d=35124;break}case 1:{d=35128;break}default:return}c[d>>2]=b;return}function Uk(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[8782]=b;c[8781]=b^-1095947846;b=0;do{c[8781]=(c[8781]|0)>>>16|c[8781]<<16;c[8781]=(c[8781]|0)+(c[8782]|0);c[8782]=(c[8782]|0)+(c[8781]|0);b=b+1|0}while((b|0)!=32);Vg(8);return}function Vk(a){a=a|0;var b=0;if(!a){b=0;return b|0}c[8781]=(c[8781]|0)>>>16|c[8781]<<16;c[8781]=(c[8781]|0)+(c[8782]|0);c[8782]=(c[8782]|0)+(c[8781]|0);b=((c[8781]|0)>>>0)%(a>>>0)|0;return b|0}function Wk(a,b){a=a|0;b=b|0;var c=0;c=b>>>16;b=c&31;return (1<<b)+-1&a>>>(0-c&31)|a<<b|0}function Xk(a,b){a=a|0;b=b|0;var c=0;c=b>>>16;b=0-c&31;return (1<<b)+-1&a>>>(c&31)|a<<b|0}function Yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;a:do if((b|0)<0){c=b;while(1){if((c|0)<-2031616){d=0;e=9;break}f=c&-65536;g=0-f|0;if((g|0)>=0){e=7;break}if((g|0)<-2031616){d=0;e=9;break}if((f|0)<0)c=f;else{h=f;break a}}if((e|0)==7){d=(g|0)>2097151?0:a<<(g>>>16);return d|0}else if((e|0)==9)return d|0}else h=b;while(0);return ((h|0)>2097151?0:a>>>(h>>>16))|0}function Zk(a,b){a=a|0;b=b|0;var c=0;if((b|0)>=0)return ((b|0)>2097151?0:a<<(b>>>16))|0;if((b|0)<-2031616){c=0;return c|0}c=Yk(a,0-(b&-65536)|0)|0;return c|0}function _k(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=b>>16;do if((b|0)<0)if((b|0)>=-2031616){d=b&-65536;e=0-d|0;if((e|0)>=0){f=(e|0)>2097151?0:a<<(e>>>16);break}if((e|0)>=-2031616){if((d|0)>=0){f=(d|0)>2097151?0:a>>>(d>>>16);break}if((d|0)>=-2031616)while(1){}else f=0}else f=0}else f=0;else if((b|0)>2097151){f=a>>31;break}else{f=a>>c;break}while(0);return f|0}function $k(a,b){a=a|0;b=b|0;var d=0;d=Fp(2080)|0;Ep(d,0,2080);c[d>>2]=cn(a,b,8)|0;c[d+12>>2]=cn(a,b,8)|0;c[d+4>>2]=cn(a,b,8)|0;c[d+8>>2]=cn(a,b,8)|0;return d|0}function al(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;Yu(1417136,0,16384)|0;g=c[525046]|0;if(!g){h=Wr(524288)|0;c[525046]=h;i=h;j=h}else{i=g;j=g}Yu(j|0,0,524288)|0;j=f+-2|0;if((f|0)<=2)return;f=0;g=0;while(1){h=f;f=f+1|0;k=1417136+((((d[a+f>>0]|0)*1503|0)+((d[a+h>>0]|0)*7|0)+((d[a+(h+2)>>0]|0)*51717|0)&4095)<<2)|0;l=c[k>>2]|0;if(l){m=l+2|0;n=b[m>>1]|0;if((b[l>>1]|0)==n<<16>>16){o=i+(g<<1)|0;c[k>>2]=o;p=(n&65535)<<1;b[o>>1]=p;q=b[m>>1]|0;r=o+2|0;b[r>>1]=q;Xu(o+4|0,l+4|0,e[m>>1]<<1|0)|0;s=o;t=g+2+(p&65534)|0;u=r;v=q}else{s=l;t=g;u=m;v=n}}else{n=i+(g<<1)|0;c[k>>2]=n;b[n>>1]=4;k=n+2|0;b[k>>1]=0;s=n;t=g+6|0;u=k;v=0}b[s+((v&65535)+2<<1)>>1]=h;b[u>>1]=v+1<<16>>16;if((f|0)==(j|0))break;else g=t}return}
  7564. function Fn(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;a=Fa;Fa=Fa+16|0;b=a+8|0;d=a+4|0;e=a;f=c[526415]|0;if(!f){Fa=a;return}if(!(c[f+16>>2]|0)){Fa=a;return}fr(b,d,e);f=(c[b>>2]|0)-(c[526416]|0)|0;g=B(f,f)|0;f=(c[d>>2]|0)-(c[526417]|0)|0;h=(B(f,f)|0)+g|0;Zp();g=c[526415]|0;f=c[g+16>>2]|0;i=(f|0)>0;a:do if(i){j=c[b>>2]|0;k=c[d>>2]|0;l=c[g>>2]|0;m=c[g+8>>2]|0;n=c[l+(c[m>>2]<<2)>>2]|0;o=c[n+4>>2]|0;if(((j|0)>=(o|0)?(j|0)<((c[n+12>>2]|0)+o|0):0)?(o=c[n+8>>2]|0,(k|0)>=(o|0)):0)p=(k|0)<((c[n+16>>2]|0)+o|0)?n:0;else p=0;if((f|0)>1){n=1;o=p;while(1){q=c[l+(c[m+(n<<2)>>2]<<2)>>2]|0;r=c[q+4>>2]|0;do if((((j|0)>=(r|0)?(j|0)<((c[q+12>>2]|0)+r|0):0)?(s=c[q+8>>2]|0,(k|0)>=(s|0)):0)?(k|0)<((c[q+16>>2]|0)+s|0):0){if(o|0?c[o+20>>2]&32|0:0){t=o;break}t=q}else t=o;while(0);n=n+1|0;if((n|0)>=(f|0))break;else o=t}if(i)u=t;else break}else u=p;o=u+20|0;n=u+28|0;k=u+28|0;j=u+28|0;m=u+28|0;l=u+24|0;q=u+24|0;r=h;s=f;v=g;while(1){w=s+-1|0;x=c[(c[v>>2]|0)+(c[(c[v+8>>2]|0)+(w<<2)>>2]<<2)>>2]|0;if((x|0)==(u|0)){y=c[e>>2]|0;z=c[o>>2]|0;A=z&2;if(!y){if(!A)Ra[c[n>>2]&0](u,c[b>>2]|0,c[d>>2]|0,0,3)}else if(!(c[526418]|A)){c[o>>2]=z|2;Ra[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,y,4);y=_q()|0;if((y-(c[526419]|0)|0)<400?(y=(c[c[l>>2]>>2]|0)/64|0,(r|0)<(B(y,y)|0)):0)Ra[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,18);y=_q()|0;if((y-(c[526420]|0)|0)<400?(y=(c[c[q>>2]>>2]|0)/64|0,(r|0)<(B(y,y)|0)):0){Ra[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,11);c[526419]=_q()|0}c[526420]=_q()|0;c[526416]=c[b>>2];c[526417]=c[d>>2]}y=c[o>>2]|0;if(!(y&1)){c[o>>2]=y|1;Ra[c[k>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,1)}y=c[525558]|0;z=c[525559]|0;if(z|y|0){Ra[c[m>>2]&0](u,y,z,c[e>>2]|0,16);c[525558]=0;c[525559]=0}}else{z=x+20|0;y=c[z>>2]|0;if(!(y&1))C=y;else{c[z>>2]=y&-2;Ra[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,2);C=c[z>>2]|0}c[z>>2]=C&-33}z=x+20|0;y=c[z>>2]|0;if((y&2|0)==0|(c[e>>2]|0)!=0)if((y&1|0)!=0&(c[525566]|0)!=0?(A=_q()|0,(A|0)<((c[525567]|0)+500|0)):0){A=c[525566]|0;c[526418]=A;D=x+28|0;Ra[c[D>>2]&0](x,c[b>>2]|0,c[d>>2]|0,A,12);A=(c[b>>2]|0)-(c[526421]|0)|0;E=B(A,A)|0;A=(c[d>>2]|0)-(c[526422]|0)|0;F=(B(A,A)|0)+E|0;E=_q()|0;if((E-(c[526423]|0)|0)<400&F>>>0<400)Ra[c[D>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[526418]|0,15);c[526423]=_q()|0;c[526421]=c[b>>2];c[526422]=c[d>>2];G=F}else G=r;else{c[z>>2]=y&-3;y=x+28|0;Ra[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,0,6);F=_q()|0;if((r|0)<400&(F-(c[526420]|0)|0)<400)Ra[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[526418]|0,12);F=(c[b>>2]|0)-(c[526421]|0)|0;D=B(F,F)|0;F=(c[d>>2]|0)-(c[526422]|0)|0;E=(B(F,F)|0)+D|0;D=_q()|0;if((D-(c[526423]|0)|0)<400&E>>>0<400)Ra[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[526418]|0,15);c[526423]=_q()|0;c[526421]=c[b>>2];c[526422]=c[d>>2];G=E}E=c[z>>2]|0;y=c[e>>2]|0;if((E&2|0)!=0&(y|0)!=0){Ra[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,y,5);H=c[z>>2]|0}else H=E;if(H&1|0?!((c[526424]|0)==0|(c[e>>2]|0)!=0):0)Ra[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,0,17);if((s|0)<=1)break a;r=G;s=w;v=c[526415]|0}}while(0);c[525566]=0;G=c[e>>2]|0;c[526418]=G;c[526424]=G;_p();Fa=a;return}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Fa;Fa=Fa+16|0;e=d+8|0;f=d+4|0;g=d;if(!(c[526415]|0)){Fa=d;return}fr(e,f,g);h=c[526415]|0;if((c[h+16>>2]|0)<=0){Fa=d;return}if(!b){i=0;j=h;do{k=c[(c[j>>2]|0)+(c[(c[j+8>>2]|0)+(i<<2)>>2]<<2)>>2]|0;Ra[c[k+28>>2]&0](k,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);i=i+1|0;j=c[526415]|0}while((i|0)<(c[j+16>>2]|0));Fa=d;return}j=0;i=h;while(1){h=c[(c[i>>2]|0)+(c[(c[i+8>>2]|0)+(j<<2)>>2]<<2)>>2]|0;if((c[h>>2]|0)==(b|0)){Ra[c[h+28>>2]&0](h,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);l=c[526415]|0}else l=i;j=j+1|0;if((j|0)>=(c[l+16>>2]|0))break;else i=l}Fa=d;return}function Hn(a){a=a|0;var b=0,d=0;b=c[526415]|0;if((a|0)<0|(b|0)==0){d=0;return d|0}if((c[b+20>>2]|0)<=(a|0)){d=0;return d|0}d=c[(c[b>>2]|0)+(a<<2)>>2]|0;return d|0}function In(){var a=0,b=0,d=0,e=0,f=0;a=c[526415]|0;b=c[a+16>>2]|0;if((b|0)<=0){d=-1;return d|0}e=c[a>>2]|0;a=b;while(1){b=a;a=a+-1|0;if(c[(c[e+(a<<2)>>2]|0)+20>>2]&1|0){d=a;f=5;break}if((b|0)<=1){d=-1;f=5;break}}if((f|0)==5)return d|0;return 0}function Jn(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[526425]=qn(512)|0;c[526426]=qn(512)|0;b=0;do{e=(b|0)==0;f=e?8:32;g=0;do{h=cn(5,5,f)|0;i=cn(6,5,f)|0;un(c[526425]|0,4,h)|0;un(c[526426]|0,4,i)|0;g=g+1|0}while((g|0)!=32);g=0;do{i=cn(5,5,f)|0;h=cn(6,5,f)|0;Zm(i);j=g*5|0;k=i+16|0;l=h+16|0;if(e){m=0;do{n=d[2880+(m+j)>>0]|0;if(n&16|0){a[c[(c[k>>2]|0)+(m<<2)>>2]>>0]=-1;a[c[(c[l>>2]|0)+(m<<2)>>2]>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1}if(n&8|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1}if(n&4|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1}if(n&2|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1}if(n&1|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+5>>0]=-1}m=m+1|0}while((m|0)!=5)}else{m=0;do{n=d[2880+(m+j)>>0]|0;if(n&16|0){c[c[(c[k>>2]|0)+(m<<2)>>2]>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o>>2]=-1;c[o+4>>2]=-1}if(n&8|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+4>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+4>>2]=-1;c[o+8>>2]=-1}if(n&4|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+8>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+8>>2]=-1;c[o+12>>2]=-1}if(n&2|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+12>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+12>>2]=-1;c[o+16>>2]=-1}if(n&1|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+16>>2]=-4144960;n=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[n+16>>2]=-1;c[n+20>>2]=-1}m=m+1|0}while((m|0)!=5)}un(c[526425]|0,4,i)|0;un(c[526426]|0,4,h)|0;g=g+1|0}while((g|0)!=96);g=0;do{e=cn(5,5,f)|0;m=cn(6,5,f)|0;un(c[526425]|0,4,e)|0;un(c[526426]|0,4,m)|0;g=g+1|0}while((g|0)!=128);b=b+1|0}while((b|0)!=2);return}function Kn(){tn(c[526425]|0);tn(c[526426]|0);return}function Ln(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;if((d|0)==0|(e|0)==0){j=g;return j|0}k=c[e+16>>2]|0;l=(k&255|0)==0;m=l?0:32;n=l?256:96;if(h&8){o=a[d>>0]|0;if(!(o<<24>>24)){p=0;q=1}else{r=0;s=d;t=o;while(1){o=t<<24>>24;if((m|0)>(o|0))u=r;else u=r+1+(c[c[(c[e>>2]|0)+(o-m<<2)>>2]>>2]|0)|0;s=s+1|0;t=a[s>>0]|0;if(!(t<<24>>24)){p=u;q=1;break}else r=u}}u=p-q|0;q=c[b+32>>2]|0;p=b+28|0;if((u|0)>(q-f|0)){c[p>>2]=(c[p>>2]|0)+15;v=1;w=q-u|0}else{v=0;w=f}}else{v=0;w=f}if(!(h&2))x=w;else{u=a[d>>0]|0;if(!(u<<24>>24)){y=0;z=1}else{q=0;p=d;r=u;while(1){u=r<<24>>24;if((m|0)>(u|0))A=q;else A=q+1+(c[c[(c[e>>2]|0)+(u-m<<2)>>2]>>2]|0)|0;p=p+1|0;r=a[p>>0]|0;if(!(r<<24>>24)){y=A;z=1;break}else q=A}}x=w-((y-z|0)/2|0)|0}if(!(h&4))B=x;else{z=a[d>>0]|0;if(!(z<<24>>24)){C=0;D=1}else{y=0;w=d;A=z;while(1){z=A<<24>>24;if((m|0)>(z|0))E=y;else E=y+1+(c[c[(c[e>>2]|0)+(z-m<<2)>>2]>>2]|0)|0;w=w+1|0;A=a[w>>0]|0;if(!(A<<24>>24)){C=E;D=1;break}else y=E}}B=D+x-C|0}a:do if(!(h&1)){C=c[e>>2]|0;x=c[b+8>>2]|0;D=0;E=h;while(1){if((c[(c[C+(D<<2)>>2]|0)+8>>2]|0)==(x|0)){F=D;G=E;H=0;break a}y=D+n|0;A=(y|0)<(k|0);w=E|(A^1)&1;z=A?y:D;if(!(w&1)){D=z;E=w}else{F=z;G=w;H=1;break}}}else{F=0;G=h;H=1}while(0);h=a[d>>0]|0;if(h<<24>>24){k=l?256:128;l=F-m|0;F=(G&16|0)==0;G=b+32|0;if(H){H=g;n=d;E=0;D=B;x=h;while(1){C=x&255;if(m>>>0<=C>>>0&k>>>0>C>>>0){w=c[(c[e>>2]|0)+(l+C<<2)>>2]|0;C=w+4|0;nn(w,b,0,0,D,H,c[w>>2]|0,c[C>>2]|0,i,0);z=1+(c[w>>2]|0)|0;w=c[C>>2]|0;I=z;J=(E|0)>(w|0)?E:w;K=z+D|0;L=a[n>>0]|0}else{I=0;J=E;K=D;L=x}if(L<<24>>24!=10)if(!F?(K|0)>((c[G>>2]|0)-I|0):0)M=37;else{N=H;O=J;P=K}else M=37;if((M|0)==37){M=0;N=J+H+1|0;O=0;P=f}n=n+1|0;x=a[n>>0]|0;if(!(x<<24>>24)){Q=N;break}else{H=N;E=O;D=P}}}else{P=g;D=d;d=0;O=B;B=h;while(1){h=B&255;if(m>>>0<=h>>>0&k>>>0>h>>>0){E=c[(c[e>>2]|0)+(l+h<<2)>>2]|0;h=E+4|0;bn(E,b,0,0,O,P,c[E>>2]|0,c[h>>2]|0);N=1+(c[E>>2]|0)|0;E=c[h>>2]|0;R=N;S=(d|0)>(E|0)?d:E;T=N+O|0;U=a[D>>0]|0}else{R=0;S=d;T=O;U=B}if(U<<24>>24!=10)if(!F?(T|0)>((c[G>>2]|0)-R|0):0)M=44;else{V=P;W=S;X=T}else M=44;if((M|0)==44){M=0;V=S+P+1|0;W=0;X=f}D=D+1|0;B=a[D>>0]|0;if(!(B<<24>>24)){Q=V;break}else{P=V;d=W;O=X}}}}else Q=g;if(!v){j=Q;return j|0}else{j=b+28|0;v=(c[j>>2]|0)+-15|0;c[j>>2]=v;Ln(b,64122,c[526425]|0,v,Q,0,0)|0;return Q|0}return 0}function Mn(a){a=a|0;var b=0,d=0;b=Fa;Fa=Fa+16|0;d=b;c[d>>2]=0;c[d>>2]=a;Fa=b;return}function Nn(a){a=a|0;var b=0,d=0;b=Fa;Fa=Fa+16|0;d=b;c[d>>2]=0;c[d>>2]=a;Fa=b;return}function On(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;switch(c[e>>2]|0){case 0:{f=vu(a,b,d,c[e+8>>2]|0)|0;return f|0}case 1:{g=B(d,b)|0;b=e+20|0;d=c[b>>2]|0;h=(c[e+16>>2]|0)-d|0;i=(g|0)<(h|0)?g:h;h=(i|0)>0?i:0;Xu(a|0,(c[e+12>>2]|0)+d|0,h|0)|0;c[b>>2]=h+(c[b>>2]|0);f=h;return f|0}default:{f=0;return f|0}}return 0}function Pn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=b;switch(c[d>>2]|0){case 0:{g=d+20|0;c[g>>2]=(c[g>>2]|0)+1;g=d+16|0;c[g>>2]=(c[g>>2]|0)+1;ku(f,4,1,c[d+8>>2]|0)|0;Fa=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)Jp(d,(c[f>>2]|0)+4|0)|0;g=(c[d+12>>2]|0)+(c[f>>2]|0)|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=(c[f>>2]|0)+4|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;Fa=e;return}default:{Fa=e;return}}}function Qn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;switch(c[e>>2]|0){case 0:{f=e+20|0;c[f>>2]=(c[f>>2]|0)+d;f=e+16|0;c[f>>2]=(c[f>>2]|0)+d;g=ku(a,b,d,c[e+8>>2]|0)|0;return g|0}case 1:{f=B(d,b)|0;do if(c[e+88>>2]|0){b=e+20|0;Jp(e,(c[b>>2]|0)+f|0)|0;d=(c[e+12>>2]|0)+(c[b>>2]|0)|0;if(!a){Ep(d,0,f);h=b;break}else{Xu(d|0,a|0,f|0)|0;h=b;break}}else{b=e+20|0;Xu((c[e+12>>2]|0)+(c[b>>2]|0)|0,a|0,f|0)|0;h=b}while(0);a=(c[h>>2]|0)+f|0;c[h>>2]=a;h=e+16|0;e=c[h>>2]|0;c[h>>2]=(e|0)>(a|0)?e:a;g=f;return g|0}default:{g=0;return g|0}}return 0}function Rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=b;switch(c[d>>2]|0){case 0:{g=d+20|0;c[g>>2]=(c[g>>2]|0)+1;g=d+16|0;c[g>>2]=(c[g>>2]|0)+1;ku(f,4,1,c[d+8>>2]|0)|0;Fa=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)Jp(d,(c[f>>2]|0)+4|0)|0;g=(c[d+12>>2]|0)+(c[f>>2]|0)|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=(c[f>>2]|0)+4|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;Fa=e;return}default:{Fa=e;return}}}function Sn(b,d){b=b|0;d=d|0;var e=0;switch(c[d>>2]|0){case 0:{e=d+20|0;c[e>>2]=(c[e>>2]|0)+1;e=d+16|0;c[e>>2]=(c[e>>2]|0)+1;pu(b<<24>>24,c[d+8>>2]|0)|0;return}case 1:{e=d+20|0;if(c[d+88>>2]|0)Jp(d,(c[e>>2]|0)+1|0)|0;a[(c[d+12>>2]|0)+(c[e>>2]|0)>>0]=b;b=(c[e>>2]|0)+1|0;c[e>>2]=b;e=d+16|0;d=c[e>>2]|0;c[e>>2]=(d|0)>(b|0)?d:b;return}default:return}}function Tn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;f=Fa;Fa=Fa+16|0;g=f;b[g>>1]=d;switch(c[e>>2]|0){case 0:{h=e+20|0;c[h>>2]=(c[h>>2]|0)+1;h=e+16|0;c[h>>2]=(c[h>>2]|0)+1;ku(g,2,1,c[e+8>>2]|0)|0;Fa=f;return}case 1:{g=e+20|0;if(c[e+88>>2]|0)Jp(e,(c[g>>2]|0)+2|0)|0;h=(c[e+12>>2]|0)+(c[g>>2]|0)|0;a[h>>0]=d;a[h+1>>0]=d>>8;d=(c[g>>2]|0)+2|0;c[g>>2]=d;g=e+16|0;e=c[g>>2]|0;c[g>>2]=(e|0)>(d|0)?e:d;Fa=f;return}default:{Fa=f;return}}}function Un(d,e){d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0;d=Fa;Fa=Fa+16|0;g=d;if(!e){h=0;Fa=d;return h|0}i=qn(0)|0;a:do if(i|0){switch(c[e>>2]|0){case 0:{j=Ut(c[e+8>>2]|0)|0;k=6;break}case 1:{j=(c[e+20>>2]|0)>=(c[e+16>>2]|0)&1;k=6;break}default:k=7}if((k|0)==6?(j|0)==0:0)k=7;b:do if((k|0)==7){l=e+8|0;m=e+16|0;n=e+20|0;o=e+12|0;p=i+32|0;q=0;c:while(1){c[g>>2]=0;switch(c[e>>2]|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{r=c[n>>2]|0;s=(c[m>>2]|0)-r|0;t=(s|0)<4?s:4;s=(t|0)>0?t:0;Xu(g|0,(c[o>>2]|0)+r|0,s|0)|0;c[n>>2]=s+r;break}default:{k=9;break c}}r=c[g>>2]|0;if(!r)break b;c[g>>2]=0;switch(c[e>>2]|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{s=c[n>>2]|0;t=(c[m>>2]|0)-s|0;u=(t|0)<4?t:4;t=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+s|0,t|0)|0;c[n>>2]=t+s;break}default:{}}s=c[g>>2]|0;t=(q|0)==0;if(t&(r|0)!=1146048579)break a;d:do if(t)if((r|0)==1146048579){c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;v=c[e>>2]|0;k=26;break}case 1:{w=c[n>>2]|0;x=(c[m>>2]|0)-w|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+w|0,x|0)|0;c[n>>2]=x+w;k=28;break}default:{v=u;k=26}}e:do if((k|0)==26){k=0;switch(v|0){case 1:{k=28;break e;break}case 0:break;default:break e}vu(p,1,32,c[l>>2]|0)|0}while(0);if((k|0)==28){k=0;u=c[n>>2]|0;w=(c[m>>2]|0)-u|0;x=(w|0)<32?w:32;w=(x|0)>0?x:0;Xu(p|0,(c[o>>2]|0)+u|0,w|0)|0;c[n>>2]=w+(c[n>>2]|0)}c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;z=c[e>>2]|0;k=32;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;break}default:{z=w;k=32}}f:do if((k|0)==32){k=0;switch(z|0){case 1:{break f;break}case 0:break;default:{k=396;break d}}au(c[l>>2]|0,28,1)|0;k=396;break d}while(0);c[n>>2]=(c[n>>2]|0)+28;k=396}else k=35;else if((r|0)<1347374659)switch(r|0){case 1146048579:{break c;break}default:{k=35;break d}}else switch(r|0){case 1347374659:{break c;break}default:{k=35;break d}}while(0);g:do if((k|0)==35){k=0;t=r|32;h:do if((t|0)<1347245667){switch(t|0){case 1347240547:break;default:break h}w=(r|0)==1347240547;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;A=c[e>>2]|0;k=39;break}case 1:{x=c[n>>2]|0;y=(c[m>>2]|0)-x|0;C=(y|0)<4?y:4;y=(C|0)>0?C:0;Xu(g|0,(c[o>>2]|0)+x|0,y|0)|0;c[n>>2]=y+x;A=1;k=39;break}default:{D=0;E=u}}if((k|0)==39){k=0;D=c[g>>2]|0;E=A}c[g>>2]=0;switch(E|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;F=c[e>>2]|0;k=43;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;u=c[g>>2]|0;c[g>>2]=0;G=u;k=45;break}default:{F=E;k=43}}i:do if((k|0)==43){k=0;u=c[g>>2]|0;c[g>>2]=0;switch(F|0){case 1:{G=u;k=45;break i;break}case 0:break;default:{H=u;break i}}vu(g,4,1,c[l>>2]|0)|0;H=u}while(0);if((k|0)==45){k=0;u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;H=G}u=c[g>>2]|0;x=cn(D,H,u)|0;c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;I=c[e>>2]|0;k=49;break}case 1:{C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Xu(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;c[x+20>>2]=c[g>>2];c[g>>2]=0;k=51;break}default:{I=y;k=49}}j:do if((k|0)==49){k=0;c[x+20>>2]=c[g>>2];c[g>>2]=0;switch(I|0){case 1:{k=51;break j;break}case 0:break;default:break j}vu(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==51){k=0;y=c[n>>2]|0;C=(c[m>>2]|0)-y|0;J=(C|0)<4?C:4;C=(J|0)>0?J:0;Xu(g|0,(c[o>>2]|0)+y|0,C|0)|0;c[n>>2]=C+y}y=c[x+12>>2]|0;C=B(B(H,D)|0,u>>3)|0;k:do if(w)Vn(y,C,e)|0;else switch(c[e>>2]|0){case 0:{vu(y,1,C,c[l>>2]|0)|0;break k;break}case 1:{J=c[n>>2]|0;K=(c[m>>2]|0)-J|0;L=(C|0)<(K|0)?C:K;K=(L|0)>0?L:0;Xu(y|0,(c[o>>2]|0)+J|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break k;break}default:break k}while(0);un(i,4,x)|0;k=396;break g}else{switch(t|0){case 1347245667:break;default:break h}y=(r|0)==1347245667;c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;M=c[e>>2]|0;k=61;break}case 1:{w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;Xu(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;M=1;k=61;break}default:{N=C;O=0}}if((k|0)==61){k=0;N=M;O=c[g>>2]|0}c[g>>2]=0;switch(N|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;P=c[e>>2]|0;k=65;break}case 1:{C=c[n>>2]|0;w=(c[m>>2]|0)-C|0;u=(w|0)<4?w:4;w=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+C|0,w|0)|0;c[n>>2]=w+C;C=c[g>>2]|0;c[g>>2]=0;Q=C;k=67;break}default:{P=N;k=65}}l:do if((k|0)==65){k=0;C=c[g>>2]|0;c[g>>2]=0;switch(P|0){case 1:{Q=C;k=67;break l;break}case 0:break;default:{R=C;break l}}vu(g,4,1,c[l>>2]|0)|0;R=C}while(0);if((k|0)==67){k=0;x=c[n>>2]|0;C=(c[m>>2]|0)-x|0;w=(C|0)<4?C:4;C=(w|0)>0?w:0;Xu(g|0,(c[o>>2]|0)+x|0,C|0)|0;c[n>>2]=C+x;R=Q}x=c[g>>2]|0;C=Ym(O,R,x)|0;c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;S=c[e>>2]|0;k=71;break}case 1:{u=c[n>>2]|0;K=(c[m>>2]|0)-u|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Xu(g|0,(c[o>>2]|0)+u|0,K|0)|0;c[n>>2]=K+u;c[C+20>>2]=c[g>>2];c[g>>2]=0;k=73;break}default:{S=w;k=71}}m:do if((k|0)==71){k=0;c[C+20>>2]=c[g>>2];c[g>>2]=0;switch(S|0){case 1:{k=73;break m;break}case 0:break;default:break m}vu(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==73){k=0;w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;Xu(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w}w=c[C+12>>2]|0;u=B(B(R,O)|0,x)|0;n:do if(y)Vn(w,u,e)|0;else switch(c[e>>2]|0){case 0:{vu(w,1,u,c[l>>2]|0)|0;break n;break}case 1:{K=c[n>>2]|0;J=(c[m>>2]|0)-K|0;L=(u|0)<(J|0)?u:J;J=(L|0)>0?L:0;Xu(w|0,(c[o>>2]|0)+K|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break n;break}default:break n}while(0);un(i,10,C)|0;k=396;break g}while(0);o:do if((r|0)<1279348803){if((r|0)<1146047811){switch(r|0){case 1145983811:break;default:break o}c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;T=c[e>>2]|0;k=299;break}case 1:{u=c[n>>2]|0;y=(c[m>>2]|0)-u|0;x=(y|0)<4?y:4;y=(x|0)>0?x:0;Xu(g|0,(c[o>>2]|0)+u|0,y|0)|0;c[n>>2]=y+u;T=1;k=299;break}default:{U=w;V=0}}if((k|0)==299){k=0;U=T;V=c[g>>2]|0}c[g>>2]=0;switch(U|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;y=(u|0)<4?u:4;u=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;break}default:{}}w=cq(V,c[g>>2]|0)|0;if(!w){u=s+-8|0;y=c[e>>2]|0;switch(y|0){case 0:{au(c[l>>2]|0,u,1)|0;k=396;break g;break}case 1:{c[n>>2]=(c[n>>2]|0)+u;k=396;break g;break}default:{W=y;break g}}}c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;X=c[e>>2]|0;k=307;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;J=(x|0)<4?x:4;x=(J|0)>0?J:0;Xu(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;u=w+8|0;c[u>>2]=c[g>>2];c[g>>2]=0;Y=u;k=309;break}default:{X=y;k=307}}p:do if((k|0)==307){k=0;y=w+8|0;c[y>>2]=c[g>>2];c[g>>2]=0;switch(X|0){case 1:{Y=y;k=309;break p;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;Z=c[e>>2]|0;break}default:Z=X}c[w+12>>2]=c[g>>2];c[g>>2]=0;switch(Z|0){case 1:{_=y;k=312;break p;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;$=c[e>>2]|0;break}default:$=Z}c[g>>2]=0;switch($|0){case 1:{aa=y;k=315;break p;break}case 0:break;default:{ba=y;break p}}vu(g,4,1,c[l>>2]|0)|0;ba=y}while(0);if((k|0)==309){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;c[w+12>>2]=c[g>>2];c[g>>2]=0;_=Y;k=312}if((k|0)==312){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;c[g>>2]=0;aa=_;k=315}if((k|0)==315){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;ba=aa}C=pq(w)|0;y=(B(c[w+4>>2]|0,c[w>>2]|0)|0)/8|0;switch(c[e>>2]|0){case 0:{vu(C,y,1,c[l>>2]|0)|0;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;J=(y|0)<(x|0)?y:x;x=(J|0)>0?J:0;Xu(C|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+(c[n>>2]|0);break}default:{}}rq(w,c[ba>>2]|0);un(i,9,w)|0;k=396;break g}if((r|0)<1229865283){switch(r|0){case 1146047811:break;default:break o}x=qo()|0;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;ca=c[e>>2]|0;k=88;break}case 1:{C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;C=x+4|0;c[C>>2]=c[g>>2];c[g>>2]=0;da=C;k=90;break}default:{ca=u;k=88}}q:do if((k|0)==88){k=0;u=x+4|0;c[u>>2]=c[g>>2];c[g>>2]=0;switch(ca|0){case 1:{da=u;k=90;break q;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;ea=c[e>>2]|0;break}default:ea=ca}C=x+16|0;c[C>>2]=c[g>>2];c[g>>2]=0;switch(ea|0){case 1:{fa=C;ga=u;k=93;break q;break}case 0:break;default:{ha=u;ia=C;break q}}vu(g,4,1,c[l>>2]|0)|0;ha=u;ia=C}while(0);if((k|0)==90){k=0;w=c[n>>2]|0;C=(c[m>>2]|0)-w|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+w|0,C|0)|0;c[n>>2]=C+w;w=x+16|0;c[w>>2]=c[g>>2];c[g>>2]=0;fa=w;ga=da;k=93}if((k|0)==93){k=0;w=c[n>>2]|0;C=(c[m>>2]|0)-w|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+w|0,C|0)|0;c[n>>2]=C+w;ha=ga;ia=fa}w=x+24|0;c[w>>2]=c[g>>2];no(x,c[ha>>2]|0);oo(x,c[ia>>2]|0);r:do if((c[ha>>2]|0)>0){C=0;while(1){f[g>>2]=0.0;u=c[e>>2]|0;switch(u|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;ja=c[e>>2]|0;k=99;break}case 1:{J=c[n>>2]|0;y=(c[m>>2]|0)-J|0;K=(y|0)<4?y:4;y=(K|0)>0?K:0;Xu(g|0,(c[o>>2]|0)+J|0,y|0)|0;c[n>>2]=y+J;J=c[x>>2]|0;c[J+(C*12|0)>>2]=c[g>>2];f[g>>2]=0.0;ka=J;k=405;break}default:{ja=u;k=99}}s:do if((k|0)==99){k=0;u=c[x>>2]|0;c[u+(C*12|0)>>2]=c[g>>2];f[g>>2]=0.0;switch(ja|0){case 1:{ka=u;k=405;break s;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;la=c[x>>2]|0;ma=c[e>>2]|0;break}default:{la=u;ma=ja}}c[la+(C*12|0)+4>>2]=c[g>>2];f[g>>2]=0.0;switch(ma|0){case 1:{na=la;k=408;break s;break}case 0:break;default:{oa=la;break s}}vu(g,4,1,c[l>>2]|0)|0;oa=c[x>>2]|0}while(0);if((k|0)==405){k=0;u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;c[ka+(C*12|0)+4>>2]=c[g>>2];f[g>>2]=0.0;na=ka;k=408}if((k|0)==408){k=0;u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;oa=na}c[oa+(C*12|0)+8>>2]=c[g>>2];C=C+1|0;if((C|0)>=(c[ha>>2]|0))break r}}while(0);t:do if((c[ia>>2]|0)>0){C=x+12|0;u=0;while(1){J=c[C>>2]|0;y=J+(u*80|0)|0;b[g>>1]=0;switch(c[e>>2]|0){case 0:{vu(g,2,1,c[l>>2]|0)|0;break}case 1:{K=c[n>>2]|0;L=(c[m>>2]|0)-K|0;pa=(L|0)<2?L:2;L=(pa|0)>0?pa:0;Xu(g|0,(c[o>>2]|0)+K|0,L|0)|0;c[n>>2]=L+K;break}default:{}}K=b[g>>1]|0;L=J+(u*80|0)+56|0;b[L>>1]=K;po(y,K<<16>>16);b[g>>1]=0;K=c[e>>2]|0;switch(K|0){case 0:{vu(g,2,1,c[l>>2]|0)|0;qa=c[e>>2]|0;k=108;break}case 1:{y=c[n>>2]|0;pa=(c[m>>2]|0)-y|0;ra=(pa|0)<2?pa:2;pa=(ra|0)>0?ra:0;Xu(g|0,(c[o>>2]|0)+y|0,pa|0)|0;c[n>>2]=pa+y;b[J+(u*80|0)+72>>1]=b[g>>1]|0;b[g>>1]=0;k=110;break}default:{qa=K;k=108}}u:do if((k|0)==108){k=0;b[J+(u*80|0)+72>>1]=b[g>>1]|0;b[g>>1]=0;switch(qa|0){case 1:{k=110;break u;break}case 0:break;default:break u}vu(g,2,1,c[l>>2]|0)|0}while(0);if((k|0)==110){k=0;K=c[n>>2]|0;y=(c[m>>2]|0)-K|0;pa=(y|0)<2?y:2;y=(pa|0)>0?pa:0;Xu(g|0,(c[o>>2]|0)+K|0,y|0)|0;c[n>>2]=y+K}b[J+(u*80|0)+74>>1]=b[g>>1]|0;v:do if((b[L>>1]|0)>0){K=J+(u*80|0)+48|0;y=J+(u*80|0)+52|0;pa=0;while(1){c[g>>2]=0;switch(c[e>>2]|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(sa|0)<4?sa:4;sa=(ta|0)>0?ta:0;Xu(g|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+ra;break}default:{}}c[(c[K>>2]|0)+(pa<<2)>>2]=c[g>>2];f[g>>2]=0.0;ra=c[e>>2]|0;switch(ra|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;ua=c[e>>2]|0;k=119;break}case 1:{sa=c[n>>2]|0;ta=(c[m>>2]|0)-sa|0;va=(ta|0)<4?ta:4;ta=(va|0)>0?va:0;Xu(g|0,(c[o>>2]|0)+sa|0,ta|0)|0;c[n>>2]=ta+sa;sa=c[y>>2]|0;c[sa+(pa<<3)>>2]=c[g>>2];f[g>>2]=0.0;wa=sa;k=121;break}default:{ua=ra;k=119}}w:do if((k|0)==119){k=0;ra=c[y>>2]|0;c[ra+(pa<<3)>>2]=c[g>>2];f[g>>2]=0.0;switch(ua|0){case 1:{wa=ra;k=121;break w;break}case 0:break;default:{xa=ra;break w}}vu(g,4,1,c[l>>2]|0)|0;xa=c[y>>2]|0}while(0);if((k|0)==121){k=0;ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(sa|0)<4?sa:4;sa=(ta|0)>0?ta:0;Xu(g|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+ra;xa=wa}c[xa+(pa<<3)+4>>2]=c[g>>2];pa=pa+1|0;if((pa|0)>=(b[L>>1]|0))break v}}while(0);u=u+1|0;if((u|0)>=(c[ia>>2]|0))break t}}while(0);x:do if((c[w>>2]|0)>0?(c[ha>>2]|0)>0:0){u=x+28|0;C=0;while(1){b[g>>1]=0;L=c[e>>2]|0;switch(L|0){case 0:{vu(g,2,1,c[l>>2]|0)|0;ya=c[e>>2]|0;k=130;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;y=(pa|0)<2?pa:2;pa=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+J;J=b[g>>1]|0;pa=c[u>>2]|0;y=pa+(C<<5)|0;b[y>>1]=J;b[g>>1]=0;za=y;Aa=pa;Ba=J;k=132;break}default:{ya=L;k=130}}y:do if((k|0)==130){k=0;L=b[g>>1]|0;J=c[u>>2]|0;pa=J+(C<<5)|0;b[pa>>1]=L;b[g>>1]=0;switch(ya|0){case 1:{za=pa;Aa=J;Ba=L;k=132;break y;break}case 0:break;default:{Ca=pa;Da=J;Ea=L;Ga=ya;break y}}vu(g,2,1,c[l>>2]|0)|0;L=c[u>>2]|0;J=L+(C<<5)|0;Ca=J;Da=L;Ea=b[J>>1]|0;Ga=c[e>>2]|0}while(0);if((k|0)==132){k=0;J=c[n>>2]|0;L=(c[m>>2]|0)-J|0;pa=(L|0)<2?L:2;L=(pa|0)>0?pa:0;Xu(g|0,(c[o>>2]|0)+J|0,L|0)|0;c[n>>2]=L+J;Ca=za;Da=Aa;Ea=Ba;Ga=1}J=b[g>>1]|0;L=Ea&65535;pa=(c[w>>2]|0)+-1|0;y=(pa|0)>(L|0)?L:pa;b[Ca>>1]=(y|0)>0?y:0;y=J&65535;J=(pa|0)>(y|0)?y:pa;b[Da+(C<<5)+2>>1]=(J|0)>0?J:0;f[g>>2]=0.0;switch(Ga|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Ha=c[u>>2]|0;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;y=(pa|0)<4?pa:4;pa=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+J;Ha=Da;break}default:Ha=Da}c[Ha+(C<<5)+4>>2]=c[g>>2];C=C+1|0;if((C|0)>=(c[ha>>2]|0))break x}}while(0);wo(x);un(i,6,x)|0;k=396;break g}switch(r|0){case 1229865283:break;default:break o}w=Fo()|0;c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Ia=c[e>>2]|0;k=145;break}case 1:{u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;pa=(J|0)<4?J:4;J=(pa|0)>0?pa:0;Xu(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;Ia=1;k=145;break}default:{Ja=C;Ka=0}}if((k|0)==145){k=0;Ja=Ia;Ka=c[g>>2]|0}c[g>>2]=0;switch(Ja|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;La=c[g>>2]|0;Ma=c[e>>2]|0;k=149;break}case 1:{C=c[m>>2]|0;u=c[n>>2]|0;J=C-u|0;pa=(J|0)<4?J:4;J=(pa|0)>0?pa:0;pa=c[o>>2]|0;Xu(g|0,pa+u|0,J|0)|0;y=J+u|0;c[n>>2]=y;c[w+8>>2]=c[g>>2];c[g>>2]=0;Na=y;Oa=C;Pa=pa;k=152;break}default:{La=0;Ma=Ja;k=149}}z:do if((k|0)==149){k=0;c[w+8>>2]=La;c[g>>2]=0;switch(Ma|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Qa=c[g>>2]|0;Ra=c[e>>2]|0;break}case 1:{Na=c[n>>2]|0;Oa=c[m>>2]|0;Pa=c[o>>2]|0;k=152;break z;break}default:{Qa=0;Ra=Ma}}c[w+12>>2]=Qa;c[g>>2]=0;switch(Ra|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Sa=c[e>>2]|0;break}case 1:{Ta=c[n>>2]|0;Ua=c[m>>2]|0;Va=c[o>>2]|0;k=156;break z;break}default:Sa=Ra}c[g>>2]=0;switch(Sa|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Wa=c[e>>2]|0;break}case 1:{Xa=c[n>>2]|0;Ya=c[m>>2]|0;Za=c[o>>2]|0;k=280;break z;break}default:Wa=Sa}c[g>>2]=0;switch(Wa|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;_a=c[e>>2]|0;break}case 1:{$a=c[n>>2]|0;ab=c[m>>2]|0;bb=c[o>>2]|0;k=284;break z;break}default:_a=Wa}c[g>>2]=0;switch(_a|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;cb=c[e>>2]|0;break}case 1:{db=c[n>>2]|0;eb=c[m>>2]|0;fb=c[o>>2]|0;k=288;break z;break}default:cb=_a}c[g>>2]=0;switch(cb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break z;break}case 1:{gb=c[n>>2]|0;hb=c[m>>2]|0;ib=c[o>>2]|0;k=292;break z;break}default:break z}}while(0);if((k|0)==152){k=0;x=Oa-Na|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;Xu(g|0,Pa+Na|0,x|0)|0;pa=x+Na|0;c[n>>2]=pa;c[w+12>>2]=c[g>>2];c[g>>2]=0;Ta=pa;Ua=Oa;Va=Pa;k=156}if((k|0)==156){k=0;pa=Ua-Ta|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;Xu(g|0,Va+Ta|0,pa|0)|0;x=pa+Ta|0;c[n>>2]=x;c[g>>2]=0;Xa=x;Ya=Ua;Za=Va;k=280}if((k|0)==280){k=0;x=Ya-Xa|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;Xu(g|0,Za+Xa|0,x|0)|0;pa=x+Xa|0;c[n>>2]=pa;c[g>>2]=0;$a=pa;ab=Ya;bb=Za;k=284}if((k|0)==284){k=0;pa=ab-$a|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;Xu(g|0,bb+$a|0,pa|0)|0;x=pa+$a|0;c[n>>2]=x;c[g>>2]=0;db=x;eb=ab;fb=bb;k=288}if((k|0)==288){k=0;x=eb-db|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;Xu(g|0,fb+db|0,x|0)|0;pa=x+db|0;c[n>>2]=pa;c[g>>2]=0;gb=pa;hb=eb;ib=fb;k=292}if((k|0)==292){k=0;pa=hb-gb|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;Xu(g|0,ib+gb|0,pa|0)|0;c[n>>2]=pa+gb}A:do if((Ka|0)>0){pa=w+4|0;x=0;while(1){Io(w)|0;C=c[pa>>2]|0;y=C+(x*112|0)|0;u=c[e>>2]|0;switch(u|0){case 0:{vu(y,1,32,c[l>>2]|0)|0;k=163;break}case 1:{J=c[n>>2]|0;L=(c[m>>2]|0)-J|0;K=(L|0)<32?L:32;L=(K|0)>0?K:0;Xu(y|0,(c[o>>2]|0)+J|0,L|0)|0;c[n>>2]=L+(c[n>>2]|0);k=163;break}default:jb=u}if((k|0)==163){k=0;jb=c[e>>2]|0}u=C+(x*112|0)+32|0;switch(jb|0){case 0:{vu(u,1,32,c[l>>2]|0)|0;break}case 1:{L=c[n>>2]|0;J=(c[m>>2]|0)-L|0;y=(J|0)<32?J:32;J=(y|0)>0?y:0;Xu(u|0,(c[o>>2]|0)+L|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break}default:{}}c[g>>2]=0;J=c[e>>2]|0;switch(J|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;kb=c[g>>2]|0;lb=c[e>>2]|0;k=170;break}case 1:{L=c[m>>2]|0;u=c[n>>2]|0;y=L-u|0;K=(y|0)<4?y:4;y=(K|0)>0?K:0;K=c[o>>2]|0;Xu(g|0,K+u|0,y|0)|0;ra=y+u|0;c[n>>2]=ra;c[C+(x*112|0)+68>>2]=c[g>>2];c[g>>2]=0;mb=ra;nb=L;ob=K;k=173;break}default:{kb=0;lb=J;k=170}}B:do if((k|0)==170){k=0;c[C+(x*112|0)+68>>2]=kb;c[g>>2]=0;switch(lb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;pb=c[g>>2]|0;qb=c[e>>2]|0;break}case 1:{mb=c[n>>2]|0;nb=c[m>>2]|0;ob=c[o>>2]|0;k=173;break B;break}default:{pb=0;qb=lb}}c[C+(x*112|0)+72>>2]=pb;c[g>>2]=0;switch(qb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;rb=c[g>>2]|0;sb=c[e>>2]|0;break}case 1:{tb=c[n>>2]|0;ub=c[m>>2]|0;vb=c[o>>2]|0;k=177;break B;break}default:{rb=0;sb=qb}}c[C+(x*112|0)+76>>2]=rb;c[g>>2]=0;switch(sb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;wb=c[g>>2]|0;xb=c[e>>2]|0;break}case 1:{yb=c[n>>2]|0;zb=c[m>>2]|0;Ab=c[o>>2]|0;k=181;break B;break}default:{wb=0;xb=sb}}c[C+(x*112|0)+100>>2]=wb;c[g>>2]=0;switch(xb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Bb=c[g>>2]|0;Cb=c[e>>2]|0;break}case 1:{Db=c[n>>2]|0;Eb=c[m>>2]|0;Fb=c[o>>2]|0;k=185;break B;break}default:{Bb=0;Cb=xb}}J=C+(x*112|0)+104|0;c[J>>2]=Bb;c[g>>2]=0;switch(Cb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Gb=c[g>>2]|0;Hb=c[e>>2]|0;break}case 1:{Ib=J;Jb=c[n>>2]|0;Kb=c[m>>2]|0;Lb=c[o>>2]|0;k=189;break B;break}default:{Gb=0;Hb=Cb}}c[C+(x*112|0)+108>>2]=Gb;c[g>>2]=0;switch(Hb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Mb=c[e>>2]|0;break}case 1:{Nb=J;Ob=c[n>>2]|0;Pb=c[m>>2]|0;Qb=c[o>>2]|0;k=193;break B;break}default:Mb=Hb}c[g>>2]=0;switch(Mb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Rb=c[e>>2]|0;break}case 1:{Sb=J;Tb=c[n>>2]|0;Ub=c[m>>2]|0;Vb=c[o>>2]|0;k=272;break B;break}default:Rb=Mb}c[g>>2]=0;switch(Rb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Wb=c[e>>2]|0;break}case 1:{Xb=J;Yb=c[n>>2]|0;Zb=c[m>>2]|0;_b=c[o>>2]|0;k=276;break B;break}default:Wb=Rb}K=c[C+(x*112|0)+80>>2]|0;c[g>>2]=0;switch(Wb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;$b=K;ac=J;break B;break}case 1:{bc=K;cc=J;dc=c[n>>2]|0;ec=c[m>>2]|0;fc=c[o>>2]|0;k=197;break B;break}default:{$b=K;ac=J;break B}}}while(0);if((k|0)==173){k=0;J=nb-mb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Xu(g|0,ob+mb|0,J|0)|0;K=J+mb|0;c[n>>2]=K;c[C+(x*112|0)+72>>2]=c[g>>2];c[g>>2]=0;tb=K;ub=nb;vb=ob;k=177}if((k|0)==177){k=0;K=ub-tb|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Xu(g|0,vb+tb|0,K|0)|0;J=K+tb|0;c[n>>2]=J;c[C+(x*112|0)+76>>2]=c[g>>2];c[g>>2]=0;yb=J;zb=ub;Ab=vb;k=181}if((k|0)==181){k=0;J=zb-yb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Xu(g|0,Ab+yb|0,J|0)|0;K=J+yb|0;c[n>>2]=K;c[C+(x*112|0)+100>>2]=c[g>>2];c[g>>2]=0;Db=K;Eb=zb;Fb=Ab;k=185}if((k|0)==185){k=0;K=Eb-Db|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Xu(g|0,Fb+Db|0,K|0)|0;J=K+Db|0;c[n>>2]=J;K=C+(x*112|0)+104|0;c[K>>2]=c[g>>2];c[g>>2]=0;Ib=K;Jb=J;Kb=Eb;Lb=Fb;k=189}if((k|0)==189){k=0;J=Kb-Jb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Xu(g|0,Lb+Jb|0,J|0)|0;K=J+Jb|0;c[n>>2]=K;c[C+(x*112|0)+108>>2]=c[g>>2];c[g>>2]=0;Nb=Ib;Ob=K;Pb=Kb;Qb=Lb;k=193}if((k|0)==193){k=0;K=Pb-Ob|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Xu(g|0,Qb+Ob|0,K|0)|0;J=K+Ob|0;c[n>>2]=J;c[g>>2]=0;Sb=Nb;Tb=J;Ub=Pb;Vb=Qb;k=272}if((k|0)==272){k=0;J=Ub-Tb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Xu(g|0,Vb+Tb|0,J|0)|0;K=J+Tb|0;c[n>>2]=K;c[g>>2]=0;Xb=Sb;Yb=K;Zb=Ub;_b=Vb;k=276}if((k|0)==276){k=0;K=Zb-Yb|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Xu(g|0,_b+Yb|0,K|0)|0;J=K+Yb|0;c[n>>2]=J;K=c[C+(x*112|0)+80>>2]|0;c[g>>2]=0;bc=K;cc=Xb;dc=J;ec=Zb;fc=_b;k=197}if((k|0)==197){k=0;J=ec-dc|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Xu(g|0,fc+dc|0,J|0)|0;c[n>>2]=J+dc;$b=bc;ac=cc}J=c[g>>2]|0;c[$b>>2]=J;Ko($b,J);J=c[$b>>2]|0;C:do if(!J)k=209;else{K=c[$b+12>>2]|0;L=c[$b+8>>2]|0;ra=c[e>>2]|0;switch(ra|0){case 0:{vu(K,L,J,c[l>>2]|0)|0;k=202;break}case 1:{u=B(L,J)|0;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;sa=(u|0)<(y|0)?u:y;y=(sa|0)>0?sa:0;Xu(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);k=202;break}default:{gc=ra;hc=J}}if((k|0)==202){k=0;gc=c[e>>2]|0;hc=c[$b>>2]|0}ra=c[$b+16>>2]|0;switch(gc|0){case 0:{vu(ra,4,hc,c[l>>2]|0)|0;break}case 1:{y=hc<<2;L=c[n>>2]|0;K=(c[m>>2]|0)-L|0;sa=(y|0)<(K|0)?y:K;K=(sa|0)>0?sa:0;Xu(ra|0,(c[o>>2]|0)+L|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break}default:{}}K=c[$b+20>>2]|0;L=c[$b>>2]|0;ra=c[e>>2]|0;switch(ra|0){case 0:{vu(K,4,L,c[l>>2]|0)|0;k=209;break C;break}case 1:{sa=L<<2;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;u=(sa|0)<(y|0)?sa:y;y=(u|0)>0?u:0;Xu(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);k=209;break C;break}default:{ic=ra;break C}}}while(0);if((k|0)==209){k=0;ic=c[e>>2]|0}J=c[C+(x*112|0)+84>>2]|0;c[g>>2]=0;switch(ic|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;y=(c[m>>2]|0)-ra|0;L=(y|0)<4?y:4;y=(L|0)>0?L:0;Xu(g|0,(c[o>>2]|0)+ra|0,y|0)|0;c[n>>2]=y+ra;break}default:{}}ra=c[g>>2]|0;c[J>>2]=ra;Ko(J,ra);ra=c[J>>2]|0;D:do if(!ra)k=224;else{y=c[J+12>>2]|0;L=c[J+8>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{vu(y,L,ra,c[l>>2]|0)|0;k=217;break}case 1:{u=B(L,ra)|0;L=c[n>>2]|0;sa=(c[m>>2]|0)-L|0;ta=(u|0)<(sa|0)?u:sa;sa=(ta|0)>0?ta:0;Xu(y|0,(c[o>>2]|0)+L|0,sa|0)|0;c[n>>2]=sa+(c[n>>2]|0);k=217;break}default:{jc=K;kc=ra}}if((k|0)==217){k=0;jc=c[e>>2]|0;kc=c[J>>2]|0}K=c[J+16>>2]|0;switch(jc|0){case 0:{vu(K,4,kc,c[l>>2]|0)|0;break}case 1:{sa=kc<<2;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;ta=(sa|0)<(y|0)?sa:y;y=(ta|0)>0?ta:0;Xu(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);break}default:{}}y=c[J+20>>2]|0;L=c[J>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{vu(y,4,L,c[l>>2]|0)|0;k=224;break D;break}case 1:{ta=L<<2;L=c[n>>2]|0;sa=(c[m>>2]|0)-L|0;u=(ta|0)<(sa|0)?ta:sa;sa=(u|0)>0?u:0;Xu(y|0,(c[o>>2]|0)+L|0,sa|0)|0;c[n>>2]=sa+(c[n>>2]|0);k=224;break D;break}default:{lc=K;break D}}}while(0);if((k|0)==224){k=0;lc=c[e>>2]|0}J=c[C+(x*112|0)+88>>2]|0;c[g>>2]=0;switch(lc|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;K=(c[m>>2]|0)-ra|0;sa=(K|0)<4?K:4;K=(sa|0)>0?sa:0;Xu(g|0,(c[o>>2]|0)+ra|0,K|0)|0;c[n>>2]=K+ra;break}default:{}}ra=c[g>>2]|0;c[J>>2]=ra;Ko(J,ra);ra=c[J>>2]|0;E:do if(ra|0){K=c[J+12>>2]|0;sa=c[J+8>>2]|0;L=c[e>>2]|0;switch(L|0){case 0:{vu(K,sa,ra,c[l>>2]|0)|0;k=232;break}case 1:{y=B(sa,ra)|0;sa=c[n>>2]|0;u=(c[m>>2]|0)-sa|0;ta=(y|0)<(u|0)?y:u;u=(ta|0)>0?ta:0;Xu(K|0,(c[o>>2]|0)+sa|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);k=232;break}default:{mc=L;nc=ra}}if((k|0)==232){k=0;mc=c[e>>2]|0;nc=c[J>>2]|0}L=c[J+16>>2]|0;switch(mc|0){case 0:{vu(L,4,nc,c[l>>2]|0)|0;break}case 1:{u=nc<<2;sa=c[n>>2]|0;K=(c[m>>2]|0)-sa|0;ta=(u|0)<(K|0)?u:K;K=(ta|0)>0?ta:0;Xu(L|0,(c[o>>2]|0)+sa|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break}default:{}}K=c[J+20>>2]|0;sa=c[J>>2]|0;switch(c[e>>2]|0){case 0:{vu(K,4,sa,c[l>>2]|0)|0;break E;break}case 1:{L=sa<<2;sa=c[n>>2]|0;ta=(c[m>>2]|0)-sa|0;u=(L|0)<(ta|0)?L:ta;ta=(u|0)>0?u:0;Xu(K|0,(c[o>>2]|0)+sa|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);break E;break}default:break E}}while(0);J=c[ac>>2]|0;F:do if(J|0){ra=C+(x*112|0)+92|0;c[ra>>2]=Fp(J<<2)|0;if((c[ac>>2]|0)<=0)break;ta=0;while(1){sa=Jo(16)|0;c[(c[ra>>2]|0)+(ta<<2)>>2]=sa;sa=c[(c[ra>>2]|0)+(ta<<2)>>2]|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{K=c[n>>2]|0;u=(c[m>>2]|0)-K|0;L=(u|0)<4?u:4;u=(L|0)>0?L:0;Xu(g|0,(c[o>>2]|0)+K|0,u|0)|0;c[n>>2]=u+K;break}default:{}}K=c[g>>2]|0;c[sa>>2]=K;Ko(sa,K);K=c[sa>>2]|0;G:do if(K|0){u=c[sa+12>>2]|0;L=c[sa+8>>2]|0;y=c[e>>2]|0;switch(y|0){case 0:{vu(u,L,K,c[l>>2]|0)|0;k=249;break}case 1:{va=B(L,K)|0;L=c[n>>2]|0;oc=(c[m>>2]|0)-L|0;pc=(va|0)<(oc|0)?va:oc;oc=(pc|0)>0?pc:0;Xu(u|0,(c[o>>2]|0)+L|0,oc|0)|0;c[n>>2]=oc+(c[n>>2]|0);k=249;break}default:{qc=y;rc=K}}if((k|0)==249){k=0;qc=c[e>>2]|0;rc=c[sa>>2]|0}y=c[sa+16>>2]|0;switch(qc|0){case 0:{vu(y,4,rc,c[l>>2]|0)|0;break}case 1:{oc=rc<<2;L=c[n>>2]|0;u=(c[m>>2]|0)-L|0;pc=(oc|0)<(u|0)?oc:u;u=(pc|0)>0?pc:0;Xu(y|0,(c[o>>2]|0)+L|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);break}default:{}}u=c[sa+20>>2]|0;L=c[sa>>2]|0;switch(c[e>>2]|0){case 0:{vu(u,4,L,c[l>>2]|0)|0;break G;break}case 1:{y=L<<2;L=c[n>>2]|0;pc=(c[m>>2]|0)-L|0;oc=(y|0)<(pc|0)?y:pc;pc=(oc|0)>0?oc:0;Xu(u|0,(c[o>>2]|0)+L|0,pc|0)|0;c[n>>2]=pc+(c[n>>2]|0);break G;break}default:break G}}while(0);ta=ta+1|0;if((ta|0)>=(c[ac>>2]|0))break F}}while(0);J=c[C+(x*112|0)+96>>2]|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{ta=c[n>>2]|0;ra=(c[m>>2]|0)-ta|0;sa=(ra|0)<4?ra:4;ra=(sa|0)>0?sa:0;Xu(g|0,(c[o>>2]|0)+ta|0,ra|0)|0;c[n>>2]=ra+ta;break}default:{}}ta=c[g>>2]|0;c[J>>2]=ta;Ko(J,ta);ta=c[J>>2]|0;H:do if(ta|0){ra=c[J+12>>2]|0;sa=c[J+8>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{vu(ra,sa,ta,c[l>>2]|0)|0;k=264;break}case 1:{pc=B(sa,ta)|0;sa=c[n>>2]|0;L=(c[m>>2]|0)-sa|0;u=(pc|0)<(L|0)?pc:L;L=(u|0)>0?u:0;Xu(ra|0,(c[o>>2]|0)+sa|0,L|0)|0;c[n>>2]=L+(c[n>>2]|0);k=264;break}default:{sc=K;tc=ta}}if((k|0)==264){k=0;sc=c[e>>2]|0;tc=c[J>>2]|0}K=c[J+16>>2]|0;switch(sc|0){case 0:{vu(K,4,tc,c[l>>2]|0)|0;break}case 1:{L=tc<<2;sa=c[n>>2]|0;ra=(c[m>>2]|0)-sa|0;u=(L|0)<(ra|0)?L:ra;ra=(u|0)>0?u:0;Xu(K|0,(c[o>>2]|0)+sa|0,ra|0)|0;c[n>>2]=ra+(c[n>>2]|0);break}default:{}}ra=c[J+20>>2]|0;sa=c[J>>2]|0;switch(c[e>>2]|0){case 0:{vu(ra,4,sa,c[l>>2]|0)|0;break H;break}case 1:{K=sa<<2;sa=c[n>>2]|0;u=(c[m>>2]|0)-sa|0;L=(K|0)<(u|0)?K:u;u=(L|0)>0?L:0;Xu(ra|0,(c[o>>2]|0)+sa|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);break H;break}default:break H}}while(0);x=x+1|0;if((x|0)==(Ka|0))break A}}while(0);un(i,8,w)|0;k=396;break g}else{if((r|0)<1314476867){switch(r|0){case 1279348803:break;default:break o}x=Wm()|0;switch(c[e>>2]|0){case 0:{vu(x,1,768,c[l>>2]|0)|0;break}case 1:{pa=c[n>>2]|0;J=(c[m>>2]|0)-pa|0;ta=(J|0)<768?J:768;J=(ta|0)>0?ta:0;Xu(x|0,(c[o>>2]|0)+pa|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break}default:{}}un(i,5,x)|0;k=396;break g}if((r|0)>=1413565763){switch(r|0){case 1413565763:break;default:break o}x=to()|0;switch(c[e>>2]|0){case 0:{vu(x,96,1,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;ta=(pa|0)<96?pa:96;pa=(ta|0)>0?ta:0;Xu(x|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+(c[n>>2]|0);break}default:{}}un(i,7,x)|0;k=396;break g}switch(r|0){case 1314476867:break;default:break o}x=Vo(0)|0;un(i,11,x)|0;Ep(x,0,11032);c[g>>2]=0;pa=c[e>>2]|0;switch(pa|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;uc=c[e>>2]|0;k=326;break}case 1:{J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Xu(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x>>2]=c[g>>2];c[g>>2]=0;vc=x;k=328;break}default:{uc=pa;k=326}}I:do if((k|0)==326){k=0;c[x>>2]=c[g>>2];c[g>>2]=0;switch(uc|0){case 1:{vc=x;k=328;break I;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;wc=c[e>>2]|0;break}default:wc=uc}c[x+4>>2]=c[g>>2];c[g>>2]=0;switch(wc|0){case 1:{xc=x;k=331;break I;break}case 0:break;default:{yc=wc;zc=0;Ac=x;break I}}vu(g,4,1,c[l>>2]|0)|0;Bc=c[e>>2]|0;Cc=x;k=332}while(0);if((k|0)==328){k=0;w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Xu(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;c[x+4>>2]=c[g>>2];c[g>>2]=0;xc=vc;k=331}if((k|0)==331){k=0;w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Xu(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;Bc=1;Cc=xc;k=332}if((k|0)==332){k=0;yc=Bc;zc=c[g>>2]|0;Ac=Cc}c[g>>2]=0;switch(yc|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Xu(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;break}default:{}}if(!zc)c[Ac>>2]=(c[Ac>>2]|0)/2|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Xu(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;break}default:{k=396;break g}}w=c[g>>2]|0;if((w|0)<=0){k=396;break g}pa=0;while(1){c[g>>2]=0;J=c[e>>2]|0;switch(J|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Dc=c[e>>2]|0;k=347;break}case 1:{ta=c[n>>2]|0;C=(c[m>>2]|0)-ta|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+ta|0,C|0)|0;c[n>>2]=C+ta;c[x+8+(pa*344|0)>>2]=c[g>>2];c[g>>2]=0;k=349;break}default:{Dc=J;k=347}}J:do if((k|0)==347){k=0;c[x+8+(pa*344|0)>>2]=c[g>>2];c[g>>2]=0;switch(Dc|0){case 1:{k=349;break J;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;Ec=c[e>>2]|0;break}default:Ec=Dc}c[x+8+(pa*344|0)+4>>2]=c[g>>2];c[g>>2]=0;switch(Ec|0){case 1:{k=352;break J;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;Fc=c[e>>2]|0;break}default:Fc=Ec}c[x+8+(pa*344|0)+8>>2]=c[g>>2];c[g>>2]=0;switch(Fc|0){case 1:{k=355;break J;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;Gc=c[e>>2]|0;break}default:Gc=Fc}c[x+8+(pa*344|0)+340>>2]=c[g>>2];c[g>>2]=0;switch(Gc|0){case 1:{k=358;break J;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;Hc=c[e>>2]|0;break}default:Hc=Gc}J=c[g>>2]|0;c[x+8+(pa*344|0)+332>>2]=J;ta=x+8+(pa*344|0)+268|0;switch(Hc|0){case 1:{Ic=J;Jc=ta;k=361;break J;break}case 0:break;default:{Kc=Hc;break J}}vu(ta,1,J,c[l>>2]|0)|0;k=362}while(0);if((k|0)==349){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Xu(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+4>>2]=c[g>>2];c[g>>2]=0;k=352}if((k|0)==352){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Xu(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+8>>2]=c[g>>2];c[g>>2]=0;k=355}if((k|0)==355){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Xu(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+340>>2]=c[g>>2];c[g>>2]=0;k=358}if((k|0)==358){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Xu(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;J=c[g>>2]|0;c[x+8+(pa*344|0)+332>>2]=J;Ic=J;Jc=x+8+(pa*344|0)+268|0;k=361}if((k|0)==361){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(Ic|0)<(ta|0)?Ic:ta;ta=(C|0)>0?C:0;Xu(Jc|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);k=362}if((k|0)==362){k=0;Kc=c[e>>2]|0}c[g>>2]=0;switch(Kc|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;k=367;break}case 1:{ta=c[n>>2]|0;J=(c[m>>2]|0)-ta|0;C=(J|0)<4?J:4;J=(C|0)>0?C:0;Xu(g|0,(c[o>>2]|0)+ta|0,J|0)|0;c[n>>2]=J+ta;k=367;break}default:{}}K:do if((k|0)==367?(k=0,ta=c[g>>2]|0,(ta|0)>0):0){J=0;while(1){c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Lc=c[e>>2]|0;k=372;break}case 1:{u=c[n>>2]|0;sa=(c[m>>2]|0)-u|0;ra=(sa|0)<4?sa:4;sa=(ra|0)>0?ra:0;Xu(g|0,(c[o>>2]|0)+u|0,sa|0)|0;c[n>>2]=sa+u;c[x+8+(pa*344|0)+12+(J<<4)>>2]=c[g>>2];c[g>>2]=0;k=374;break}default:{Lc=C;k=372}}L:do if((k|0)==372){k=0;c[x+8+(pa*344|0)+12+(J<<4)>>2]=c[g>>2];c[g>>2]=0;switch(Lc|0){case 1:{k=374;break L;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;Mc=c[e>>2]|0;break}default:Mc=Lc}c[x+8+(pa*344|0)+12+(J<<4)+8>>2]=c[g>>2];c[g>>2]=0;switch(Mc|0){case 1:{k=377;break L;break}case 0:break;default:break L}vu(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==374){k=0;C=c[n>>2]|0;u=(c[m>>2]|0)-C|0;sa=(u|0)<4?u:4;u=(sa|0)>0?sa:0;Xu(g|0,(c[o>>2]|0)+C|0,u|0)|0;c[n>>2]=u+C;c[x+8+(pa*344|0)+12+(J<<4)+8>>2]=c[g>>2];c[g>>2]=0;k=377}if((k|0)==377){k=0;C=c[n>>2]|0;u=(c[m>>2]|0)-C|0;sa=(u|0)<4?u:4;u=(sa|0)>0?sa:0;Xu(g|0,(c[o>>2]|0)+C|0,u|0)|0;c[n>>2]=u+C}c[x+8+(pa*344|0)+12+(J<<4)+12>>2]=c[g>>2];J=J+1|0;if((J|0)==(ta|0))break K}}while(0);pa=pa+1|0;if((pa|0)==(w|0)){k=396;break g}}}while(0);if((t|0)!=1279870563){Pm(63738);w=c[e>>2]|0;switch(w|0){case 0:{au(c[l>>2]|0,s,1)|0;k=396;break g;break}case 1:{c[n>>2]=(c[n>>2]|0)+s;k=396;break g;break}default:{W=w;break g}}}w=(r|0)==1279870563;c[g>>2]=0;switch(c[e>>2]|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{pa=c[n>>2]|0;x=(c[m>>2]|0)-pa|0;ta=(x|0)<4?x:4;x=(ta|0)>0?ta:0;Xu(g|0,(c[o>>2]|0)+pa|0,x|0)|0;c[n>>2]=x+pa;break}default:{}}pa=c[g>>2]|0;x=Ip(pa)|0;un(i,12,x)|0;ta=x+24|0;switch(c[e>>2]|0){case 0:{vu(ta,1,64,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;C=(c[m>>2]|0)-J|0;u=(C|0)<64?C:64;C=(u|0)>0?u:0;Xu(ta|0,(c[o>>2]|0)+J|0,C|0)|0;c[n>>2]=C+(c[n>>2]|0);break}default:{}}a[x+87>>0]=0;C=c[x+12>>2]|0;M:do if(w)Vn(C,pa,e)|0;else switch(c[e>>2]|0){case 0:{vu(C,1,pa,c[l>>2]|0)|0;break M;break}case 1:{J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;u=(pa|0)<(ta|0)?pa:ta;ta=(u|0)>0?u:0;Xu(C|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);break M;break}default:break M}while(0);c[x+16>>2]=pa;k=396}while(0);if((k|0)==396){k=0;W=c[e>>2]|0}q=q+1|0;switch(W|0){case 0:{Nc=Ut(c[l>>2]|0)|0;break}case 1:{Nc=(c[n>>2]|0)>=(c[m>>2]|0)&1;break}default:Nc=0}if(Nc|0)break b}if((k|0)==9)break;switch(c[e>>2]|0){case 0:{au(c[l>>2]|0,-8,1)|0;break b;break}case 1:{c[n>>2]=(c[n>>2]|0)+-8;break b;break}default:break b}}while(0);if(c[i+16>>2]|0){h=i;Fa=d;return h|0}tn(i);h=0;Fa=d;return h|0}while(0);tn(i);h=0;Fa=d;return h|0}function Vn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=0;switch(c[d>>2]|0){case 0:{vu(f,4,1,c[d+8>>2]|0)|0;break}case 1:{g=d+20|0;h=c[g>>2]|0;i=(c[d+16>>2]|0)-h|0;j=(i|0)<4?i:4;i=(j|0)>0?j:0;Xu(f|0,(c[d+12>>2]|0)+h|0,i|0)|0;c[g>>2]=i+h;break}default:{}}h=c[f>>2]|0;f=Fp(h)|0;switch(c[d>>2]|0){case 0:{vu(f,1,h,c[d+8>>2]|0)|0;k=Pp(f,a,h,b)|0;Fa=e;return k|0}case 1:{i=d+20|0;g=c[i>>2]|0;j=(c[d+16>>2]|0)-g|0;l=(h|0)<(j|0)?h:j;j=(l|0)>0?l:0;Xu(f|0,(c[d+12>>2]|0)+g|0,j|0)|0;c[i>>2]=j+(c[i>>2]|0);k=Pp(f,a,h,b)|0;Fa=e;return k|0}default:{k=Pp(f,a,h,b)|0;Fa=e;return k|0}}return 0}function Wn(a){a=a|0;var b=0;switch(c[a>>2]|0){case 0:{b=Ut(c[a+8>>2]|0)|0;return b|0}case 1:{b=(c[a+20>>2]|0)>=(c[a+16>>2]|0)&1;return b|0}default:{b=0;return b|0}}return 0}function Xn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Fa;Fa=Fa+16|0;d=b;e=Yn(a,63774)|0;if(e){f=Un(0,e)|0;if(!(xr(e)|0)){if(!(c[e>>2]|0))Pt(c[e+8>>2]|0)|0;if(c[e+88>>2]|0)Hp(c[e+12>>2]|0);Hp(e);if(!(c[525586]|0)){c[525586]=(_q()|0)+1e3;g=f}else g=f}else g=f}else g=0;c[d>>2]=a;c[d+4>>2]=(g|0)==0?63777:63784;vs(1504976,63787,d)|0;Pm(1504976);Fa=b;return g|0}function Yn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Fa;Fa=Fa+48|0;f=e+40|0;g=e+24|0;h=e+8|0;i=e;if((ka(24)|0)!=1){j=wr(b,d)|0;k=(j|0)!=0;if(k){c[i>>2]=b;c[i+4>>2]=d;xu(63810,i)|0}i=a[d>>0]|0;if(i<<24>>24==119|k&i<<24>>24==114){l=j;Fa=e;return l|0}}j=Fp(92)|0;Ep(j,0,92);c[j>>2]=0;i=Jt(b,d)|0;c[j+8>>2]=i;if(i){i=(j|0)!=0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=i?63896:63777;xu(63873,g)|0;if(i){l=j;Fa=e;return l|0}}else{Hp(j);c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=63777;xu(63873,h)|0}h=wr(b,d)|0;if(!h){l=0;Fa=e;return l|0}c[f>>2]=b;c[f+4>>2]=d;xu(63903,f)|0;l=h;Fa=e;return l|0}function Zn(a){a=a|0;if(!a)return;if(xr(a)|0)return;if(!(c[a>>2]|0))Pt(c[a+8>>2]|0)|0;if(c[a+88>>2]|0)Hp(c[a+12>>2]|0);Hp(a);if(c[525586]|0)return;c[525586]=(_q()|0)+1e3;return}function _n(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;a[b>>0]=0;if(!f){g=0;return g|0}switch(c[f>>2]|0){case 0:{h=Ut(c[f+8>>2]|0)|0;i=5;break}case 1:{h=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;i=5;break}default:{}}if((i|0)==5?h|0:0){g=0;return g|0}a[b>>0]=0;switch(c[f>>2]|0){case 0:{j=tu(c[f+8>>2]|0)|0;i=10;break}case 1:{h=f+20|0;k=c[h>>2]|0;if((k|0)<(c[f+16>>2]|0)){c[h>>2]=k+1;j=d[(c[f+12>>2]|0)+k>>0]|0;i=10}else{l=0;i=11}break}default:{l=0;i=11}}if((i|0)==10){k=(j+256|0)%256|0;switch(k|0){case 10:case 13:case 255:{m=0;n=k;break}default:{l=k;i=11}}}a:do if((i|0)==11){a[b>>0]=l;switch(c[f>>2]|0){case 0:{o=Ut(c[f+8>>2]|0)|0;break}case 1:{o=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;break}default:o=0}k=e+-1|0;if((e|0)>2&(o|0)==0){j=f+8|0;h=f+20|0;p=f+16|0;q=f+12|0;r=1;while(1){switch(c[f>>2]|0){case 0:{s=tu(c[j>>2]|0)|0;i=20;break}case 1:{t=c[h>>2]|0;if((t|0)<(c[p>>2]|0)){c[h>>2]=t+1;s=d[(c[q>>2]|0)+t>>0]|0;i=20}else u=0;break}default:u=0}if((i|0)==20){i=0;switch(s|0){case 10:case 13:{m=r;n=s;break a;break}default:u=s}}a[b+r>>0]=u;t=r+1|0;switch(c[f>>2]|0){case 0:{v=Ut(c[j>>2]|0)|0;break}case 1:{v=(c[h>>2]|0)>=(c[p>>2]|0)&1;break}default:v=0}if((t|0)<(k|0)&(v|0)==0)r=t;else{m=t;n=u;break a}}}else{m=1;n=l}}while(0);a[b+m>>0]=0;if((n|0)!=13){g=b;return g|0}switch(c[f>>2]|0){case 0:{w=tu(c[f+8>>2]|0)|0;i=30;break}case 1:{n=f+20|0;m=c[n>>2]|0;if((m|0)<(c[f+16>>2]|0)){c[n>>2]=m+1;w=d[(c[f+12>>2]|0)+m>>0]|0;i=30}break}default:{g=b;return g|0}}if((i|0)==30){if((w|0)==10){g=b;return g|0}if((c[f>>2]|0)!=1){g=b;return g|0}}w=f+20|0;c[w>>2]=(c[w>>2]|0)+-1;g=b;return g|0}function $n(){Ep(2103384,0,2248);c[525847]=0;c[525848]=0;c[525849]=32;c[525853]=256;c[525854]=256;if(c[526406]|0)c[525853]=64;c[525865]=1024;if(ka(25)|0){su(64025)|0;c[525865]=2048}c[525866]=-1;c[525859]=0;c[525867]=0;c[525868]=0;c[525869]=0;c[525870]=0;c[525860]=-1;c[525861]=-1;c[525862]=-1;c[525879]=-1;c[525880]=1;c[525886]=0;c[525855]=2;c[525856]=10;c[525858]=0;if(!(c[526406]|0)){c[525875]=1;c[525887]=30;return}c[525855]=5;c[525875]=1;c[525887]=30;return}function ao(){return}function bo(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=(c|0)==0?1515344:c;a[d>>0]=0;c=b;a:while(1){e=a[c>>0]|0;switch(e<<24>>24){case 32:{c=c+1|0;break}case 0:{f=13;break a;break}default:break a}}if((f|0)==13)return d|0;b=0;g=d;h=c;c=e;while(1){if(c<<24>>24>31){e=c<<24>>24==92?47:c<<24>>24;if((b|0)!=47|(e|0)!=47){a[g>>0]=e;i=g+1|0;a[i>>0]=0;j=e;k=i}else{j=47;k=g}}else{j=b;k=g}h=h+1|0;c=a[h>>0]|0;if(!(c<<24>>24))break;else{b=j;g=k}}if(k>>>0<=d>>>0)return d|0;g=k;b:while(1){k=g+-1|0;switch(a[k>>0]|0){case 47:{f=13;break b;break}case 32:break;default:{f=12;break b}}a[k>>0]=0;if(k>>>0>d>>>0)g=k;else{f=13;break}}if((f|0)==12){a[g>>0]=47;a[g+1>>0]=0;return d|0}else if((f|0)==13)return d|0;return 0}function co(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=Fa;Fa=Fa+1024|0;h=g;i=(c|0)!=0;if(i)a[c>>0]=0;j=(d|0)!=0;if(j)a[d>>0]=0;k=(e|0)!=0;if(k)a[e>>0]=0;if((ft(b)|0)>>>0>1023){Pm(64078);Fa=g;return}Lm(h,b)|0;l=ft(b)|0;b=h+l|0;a:do if((l|0)>0){m=b;while(1){if((a[m>>0]&-2)<<24>>24==46){n=m;break a}o=m+-1|0;if(o>>>0>h>>>0)m=o;else{n=o;break}}}else n=b;while(0);if(f){f=a[n>>0]|0;if(f<<24>>24==46){b=n+-1|0;b:do if(b>>>0>h>>>0){l=b;while(1){if((a[l>>0]|1)<<24>>24==47){p=l;break b}m=l+-1|0;if(m>>>0>h>>>0)l=m;else{p=m;break}}}else p=b;while(0);q=(a[p>>0]|0)==46?p:n;r=20}else{s=n;t=f;r=27}}else{q=n;r=20}c:do if((r|0)==20){n=a[q>>0]|0;if(n<<24>>24==46){if(k)Lm(e,q)|0;a[q>>0]=0;if(q>>>0>h>>>0){f=q;while(1){p=f+-1|0;b=a[p>>0]|0;if(p>>>0<=h>>>0){s=p;t=b;r=27;break c}if(b<<24>>24==47){u=p;r=28;break}else f=p}}else v=q}else{s=q;t=n;r=27}}while(0);if((r|0)==27)if(t<<24>>24==47){u=s;r=28}else v=s;if((r|0)==28)v=u+1|0;if(j)Lm(d,v)|0;if((v|0)==(h|0)){Fa=g;return}a[v>>0]=0;if(!i){Fa=g;return}Lm(c,h)|0;Fa=g;return}function eo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;co(a,b,c,d,0);return}function fo(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=Fa;Fa=Fa+1024|0;e=d;switch(a[b>>0]|0){case 92:case 47:{f=3;break}default:if((a[b+1>>0]|0)==58)f=3;else jr(b,e)}if((f|0)==3)ot(e,b)|0;a[c>>0]=0;b=1;g=0;a:while(1){h=e+g|0;i=g;b:while(1){j=a[e+i>>0]|0;switch(j<<24>>24){case 0:case 92:case 47:{break b;break}default:{}}i=i+1|0}k=e+i|0;l=j<<24>>24==0;if((g|0)==(i|0)&l){f=10;break}a[k>>0]=0;c:do if(Xs(h,72022)|0){if(!((g|0)==0|(Xs(h,64122)|0)!=0)){m=(ft(c)|0)+-1|0;if((m|0)<=0){n=b;f=24;break}a[c+m>>0]=0;o=m;while(1){m=c+o|0;switch(a[m>>0]|0){case 58:case 92:case 47:{n=b;f=24;break c;break}default:{}}a[m>>0]=0;if((o|0)>1)o=o+-1|0;else{n=b;f=24;break c}}}if(Xs(h,64125)|0){if((b|0)==0?(a[h>>0]|0)==0:0){n=0;f=24;break}pt(c,h)|0;if(l){f=22;break a}o=c+(ft(c)|0)|0;a[o>>0]=47;a[o+1>>0]=0;a[k>>0]=j;p=0}else{n=b;f=24}}else{n=b;f=24}while(0);if((f|0)==24){f=0;a[k>>0]=j;if(l){f=26;break}else p=n}b=p;g=i+1|0}if((f|0)==10){if(g|0){Fa=d;return}a[c>>0]=0;Fa=d;return}else if((f|0)==22){a[k>>0]=0;Fa=d;return}else if((f|0)==26){Fa=d;return}}function go(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Fa;Fa=Fa+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=0;c[g>>2]=0;if(!b){h=0;Fa=d;return h|0}if(vp(e,f,g,b)|0){h=0;Fa=d;return h|0}b=c[f>>2]|0;i=c[g>>2]|0;if((i+-1|b+-1)>>>0>16383){h=0;Fa=d;return h|0}j=cn(b,i,32)|0;i=j+12|0;Xu(c[i>>2]|0,c[e>>2]|0,B(c[f>>2]<<2,c[g>>2]|0)|0)|0;b=B(c[g>>2]|0,c[f>>2]|0)|0;if(b|0){f=b;b=c[i>>2]|0;while(1){i=a[b>>0]|0;g=b+2|0;a[b>>0]=a[g>>0]|0;a[g>>0]=i;f=f+-1|0;if(!f)break;else b=b+4|0}}Hp(c[e>>2]|0);h=j;Fa=d;return h|0}function ho(a){a=a|0;var b=0,d=0;b=Yn(a,63774)|0;if(!b){d=0;return d|0}a=go(b)|0;if(xr(b)|0){d=a;return d|0}if(!(c[b>>2]|0))Pt(c[b+8>>2]|0)|0;if(c[b+88>>2]|0)Hp(c[b+12>>2]|0);Hp(b);if(c[525586]|0){d=a;return d|0}c[525586]=(_q()|0)+1e3;d=a;return d|0}function io(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Fa;Fa=Fa+16|0;f=e;g=d+4|0;h=cn(c[d>>2]|0,c[g>>2]|0,32)|0;i=d+8|0;j=c[i>>2]|0;if((j|0)==32){Oo(d,h,0,0,0,0,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0}else k=j;if((k|0)==8)on(d,h,c[704831]|0);k=h+12|0;j=c[d>>2]|0;i=c[g>>2]|0;l=B(i,j)|0;if(!l){m=j;n=i}else{i=c[k>>2]|0;j=l;while(1){l=a[i>>0]|0;o=i+2|0;a[i>>0]=a[o>>0]|0;a[o>>0]=l;j=j+-1|0;if(!j)break;else i=i+4|0}m=c[d>>2]|0;n=c[g>>2]|0}c[f>>2]=Cp(b,c[k>>2]|0,m,n,6,8)|0;c[f+4>>2]=b;vs(1504976,64127,f)|0;Pm(1504976);dn(h)|0;Fa=e;return 0}function jo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Fa;Fa=Fa+1040|0;f=e+1024|0;g=e;Ep(g,0,1024);c[f>>2]=d;vs(g,b,f)|0;f=ft(g)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+f;b=a+16|0;c[b>>2]=(c[b>>2]|0)+f;ku(g,1,f,c[a+8>>2]|0)|0;Fa=e;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;Xu((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}else{b=a+20|0;Jp(a,(c[b>>2]|0)+f|0)|0;Xu((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}b=(c[h>>2]|0)+f|0;c[h>>2]=b;h=a+16|0;a=c[h>>2]|0;c[h>>2]=(a|0)>(b|0)?a:b;Fa=e;return 0}default:{Fa=e;return 0}}return 0}function ko(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=Fa;Fa=Fa+1040|0;i=h+1024|0;j=h;Ep(j,0,1024);c[i>>2]=d;c[i+4>>2]=e;c[i+8>>2]=f;c[i+12>>2]=g;vs(j,b,i)|0;i=ft(j)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+i;b=a+16|0;c[b>>2]=(c[b>>2]|0)+i;ku(j,1,i,c[a+8>>2]|0)|0;Fa=h;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;Xu((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}else{b=a+20|0;Jp(a,(c[b>>2]|0)+i|0)|0;Xu((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}b=(c[k>>2]|0)+i|0;c[k>>2]=b;k=a+16|0;a=c[k>>2]|0;c[k>>2]=(a|0)>(b|0)?a:b;Fa=h;return 0}default:{Fa=h;return 0}}return 0}function lo(a){a=a|0;var b=0,c=0,d=0,e=0;b=Jt(a,63774)|0;if(!b){c=0;return c|0}a=Ip(1024)|0;d=Fp(65536)|0;if(!(Ut(b)|0))do{e=vu(d,1,65536,b)|0;Qn(d,1,e,a)|0}while((e|0)!=0&(Ut(b)|0)==0);Hp(d);Pt(b)|0;c=a;return c|0}function mo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Jt(a,63774)|0;if(!c){d=1;return d|0}a=Jt(b,71945)|0;if(!a){Pt(c)|0;d=2;return d|0}b=Fp(65536)|0;if(!(Ut(c)|0))do{e=vu(b,1,65536,c)|0;ku(b,1,e,a)|0}while((e|0)!=0&(Ut(c)|0)==0);Hp(b);Pt(c)|0;Pt(a)|0;d=0;return d|0}function no(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Fa;Fa=Fa+16|0;g=e+8|0;h=e;i=a+24|0;if(((c[i>>2]|0)>0?(j=a+28|0,(c[j>>2]|0)==0):0)?(k=a+8|0,l=Fp(c[k>>2]<<5)|0,c[j>>2]=l,j=c[k>>2]|0,(j|0)>0):0){k=0;do{b[l+(k<<5)>>1]=0;b[l+(k<<5)+2>>1]=0;f[l+(k<<5)+4>>2]=1.0;k=k+1|0}while((k|0)<(j|0))}j=a+8|0;k=c[j>>2]|0;if((k|0)>=(d|0)){Fa=e;return}l=(k+1|0)==(d|0)?(d*5|0)/4|0:d;d=Gp(c[a>>2]|0,l*12|0)|0;c[a>>2]=d;if(!d){c[h>>2]=64186;vs(1504976,64163,h)|0;Pm(1504976)}if((c[i>>2]|0)>0){i=a+28|0;a=Gp(c[i>>2]|0,l<<5)|0;c[i>>2]=a;if(!a){c[g>>2]=64212;vs(1504976,64163,g)|0;Pm(1504976)}g=c[j>>2]|0;if((g|0)<(l|0)){a=c[i>>2]|0;i=g;do{b[a+(i<<5)>>1]=0;b[a+(i<<5)+2>>1]=0;f[a+(i<<5)+4>>2]=1.0;i=i+1|0}while((i|0)!=(l|0))}}c[j>>2]=l;Fa=e;return}function oo(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Fa;Fa=Fa+16|0;g=e;h=a+20|0;i=c[h>>2]|0;if((i|0)>=(d|0)){Fa=e;return}j=(i+1|0)==(d|0)?(d*5|0)/4|0:d;d=a+12|0;i=Gp(c[d>>2]|0,j*80|0)|0;c[d>>2]=i;if(!i){c[g>>2]=64243;vs(1504976,64163,g)|0;Pm(1504976)}g=c[a+16>>2]|0;if((g|0)>0){a=c[d>>2]|0;i=0;do{if((b[a+(i*80|0)+56>>1]|0)<5){c[a+(i*80|0)+48>>2]=a+(i*80|0);c[a+(i*80|0)+52>>2]=a+(i*80|0)+16}i=i+1|0}while((i|0)<(g|0))}g=c[h>>2]|0;if((g|0)<(j|0)){i=c[d>>2]|0;d=g;do{f[i+(d*80|0)+64>>2]=0.0;f[i+(d*80|0)+60>>2]=0.0;f[i+(d*80|0)+68>>2]=1.0;b[i+(d*80|0)+72>>1]=0;b[i+(d*80|0)+74>>1]=0;g=i+(d*80|0)+56|0;a=i+(d*80|0)|0;c[i+(d*80|0)+48>>2]=a;c[i+(d*80|0)+52>>2]=i+(d*80|0)+16;b[i+(d*80|0)+58>>1]=4;k=a;a=k+48|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(a|0));b[g>>1]=4;d=d+1|0}while((d|0)!=(j|0))}c[h>>2]=j;Fa=e;return}function po(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=(d&1)+d|0;g=a+58|0;h=b[g>>1]|0;if((e|0)>4&(e|0)>(h<<16>>16|0)){i=a+48|0;if(h<<16>>16<5){c[i>>2]=0;h=a+52|0;c[h>>2]=0;j=i;k=h;l=0}else{j=i;k=a+52|0;l=c[i>>2]|0}c[j>>2]=Gp(l,e<<2)|0;c[k>>2]=Gp(c[k>>2]|0,e<<3)|0;if((b[g>>1]|0)<5){l=a+56|0;Xu(c[j>>2]|0,a|0,b[l>>1]<<2|0)|0;Xu(c[k>>2]|0,a+16|0,b[l>>1]<<3|0)|0}b[g>>1]=e}e=a+56|0;g=b[e>>1]|0;if((g|0)>=(d|0)){m=d&65535;b[e>>1]=m;return}l=c[a+48>>2]|0;k=c[a+52>>2]|0;a=g;do{c[l+(a<<2)>>2]=0;f[k+(a<<3)+4>>2]=0.0;f[k+(a<<3)>>2]=0.0;a=a+1|0}while((a|0)!=(d|0));m=d&65535;b[e>>1]=m;return}function qo(){var a=0,b=0,d=0;a=Fp(52)|0;b=a;d=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[525418]=(c[525418]|0)+1;return a|0}function ro(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;d=a+16|0;e=c[d>>2]|0;if((e|0)>0){f=a+12|0;g=0;h=e;while(1){e=c[f>>2]|0;if((b[e+(g*80|0)+58>>1]|0)>4){Hp(c[e+(g*80|0)+48>>2]|0);Hp(c[(c[f>>2]|0)+(g*80|0)+52>>2]|0);i=c[d>>2]|0}else i=h;g=g+1|0;if((g|0)>=(i|0))break;else h=i}}i=c[a>>2]|0;if(i|0)Hp(i);i=c[a+32>>2]|0;if(i|0)Hp(i);i=c[a+12>>2]|0;if(i|0)Hp(i);i=c[a+28>>2]|0;if(i|0)Hp(i);i=c[a+48>>2]|0;if(i|0)Hp(i);i=c[a+36>>2]|0;if(i|0)Hp(i);i=c[a+40>>2]|0;if(i|0)Hp(i);Hp(a);c[525418]=(c[525418]|0)+-1;return}function so(a){a=a|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Fa;Fa=Fa+32|0;e=d+12|0;g=d;h=a+16|0;i=c[h>>2]|0;if((i|0)<=0){Fa=d;return}j=a+12|0;k=e+4|0;l=e+8|0;m=g+4|0;n=g+8|0;o=0;p=i;while(1){i=c[j>>2]|0;if((b[i+(o*80|0)+56>>1]|0)>2){q=c[a>>2]|0;r=c[i+(o*80|0)+48>>2]|0;s=c[r+4>>2]|0;t=q+(s*12|0)|0;u=c[r>>2]|0;f[e>>2]=+f[t>>2]-+f[q+(u*12|0)>>2];v=q+(s*12|0)+4|0;f[k>>2]=+f[v>>2]-+f[q+(u*12|0)+4>>2];w=q+(s*12|0)+8|0;f[l>>2]=+f[w>>2]-+f[q+(u*12|0)+8>>2];u=c[r+8>>2]|0;f[g>>2]=+f[t>>2]-+f[q+(u*12|0)>>2];f[m>>2]=+f[v>>2]-+f[q+(u*12|0)+4>>2];f[n>>2]=+f[w>>2]-+f[q+(u*12|0)+8>>2];u=i+(o*80|0)+60|0;yo(e,g,u);xo(u);x=c[h>>2]|0}else{f[i+(o*80|0)+60>>2]=0.0;f[i+(o*80|0)+64>>2]=1.0;f[i+(o*80|0)+68>>2]=0.0;x=p}o=o+1|0;if((o|0)>=(x|0))break;else p=x}Fa=d;return}function to(){var a=0,b=0,d=0,e=0,f=0;a=Fp(96)|0;if(!a){b=0;return b|0}d=a+32|0;e=a;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=-13408615;c[a+36>>2]=-10461088;c[525418]=(c[525418]|0)+1;b=a;return b|0}function uo(a){a=a|0;if(!a)return;Hp(a);c[525418]=(c[525418]|0)+-1;return}function vo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=a+44|0;c[b>>2]=0;d=a+24|0;e=c[d>>2]|0;f=a+36|0;g=c[f>>2]|0;if(!e){Hp(g);c[f>>2]=0;h=a+40|0;Hp(c[h>>2]|0);c[h>>2]=0;return}c[f>>2]=Gp(g,e<<2)|0;e=a+40|0;g=Gp(c[e>>2]|0,c[d>>2]<<2)|0;c[e>>2]=g;e=c[d>>2]|0;if((e|0)>0){h=c[f>>2]|0;i=a+12|0;a=0;do{j=h+(a<<2)|0;c[j>>2]=-1;k=c[d>>2]|0;if((k|0)>0){l=c[i>>2]|0;m=c[l+(a*80|0)+48>>2]|0;n=0;o=k;while(1){if((c[m>>2]|0)==(c[(c[l+(n*80|0)+48>>2]|0)+4>>2]|0)){c[j>>2]=n;p=c[d>>2]|0}else p=o;n=n+1|0;if((n|0)>=(p|0)){q=p;break}else o=p}}else q=k;a=a+1|0}while((a|0)<(q|0));c[b>>2]=(q<<4)+16;if((q|0)>0){a=0;do{c[g+(a<<2)>>2]=32768;a=a+1|0;p=c[d>>2]|0}while((a|0)<(p|0));r=p}else r=q}else{c[b>>2]=(e<<4)+16;r=e}e=0;b=r;while(1){if((b|0)<=0){s=24;break}r=0;q=e;a=0;p=b;while(1){i=g+(a<<2)|0;do if(!(c[i>>2]&32768)){t=r;u=q;v=p}else{h=c[(c[f>>2]|0)+(a<<2)>>2]|0;if((h|0)!=-1?c[g+(h<<2)>>2]&32768|0:0){t=r;u=q;v=p;break}h=g+(q<<2)|0;c[h>>2]=c[h>>2]|a;c[i>>2]=c[i>>2]&32767;t=1;u=q+1|0;v=c[d>>2]|0}while(0);a=a+1|0;if((a|0)>=(v|0))break;else{r=t;q=u;p=v}}if(!t){s=24;break}else{e=u;b=v}}if((s|0)==24)return}function wo(a){a=a|0;so(a);vo(a);Mo(a,0);return}function xo(a){a=a|0;var b=0.0,c=0,d=0.0,e=0,g=0.0,h=0.0,i=0.0,j=0.0;b=+f[a>>2];c=a+4|0;d=+f[c>>2];e=a+8|0;g=+f[e>>2];h=+v(+(b*b+d*d+g*g));if(h==0.0){f[a>>2]=0.0;f[c>>2]=1.0;i=0.0;f[e>>2]=i;return}else{j=1.0/h;f[a>>2]=b*j;f[c>>2]=d*j;i=g*j;f[e>>2]=i;return}}function yo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=a+4|0;e=b+8|0;g=a+8|0;h=b+4|0;f[c>>2]=+f[d>>2]*+f[e>>2]-+f[g>>2]*+f[h>>2];f[c+4>>2]=+f[g>>2]*+f[b>>2]-+f[a>>2]*+f[e>>2];f[c+8>>2]=+f[a>>2]*+f[h>>2]-+f[d>>2]*+f[b>>2];return}function zo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;d=+f[a>>2];e=+f[a+12>>2];g=+f[a+24>>2];h=1.0/(d*d+e*e+g*g);i=+f[a+4>>2]*h;j=+f[a+8>>2]*h;k=+f[a+16>>2]*h;l=+f[a+20>>2]*h;m=+f[a+28>>2]*h;n=+f[a+32>>2]*h;o=+f[b>>2]-+f[a+36>>2];p=+f[b+4>>2]-+f[a+40>>2];q=+f[b+8>>2]-+f[a+44>>2];f[c>>2]=d*h*o+e*h*p+g*h*q;f[c+4>>2]=i*o+k*p+m*q;f[c+8>>2]=j*o+l*p+n*q;return}function Ao(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[8787]=b;c[8786]=b^-1095947846;return}function Bo(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a){b=0;return b|0}d=c[8786]|0;e=c[8787]|0;f=(d<<16|d>>>16)+e|0;c[8786]=f;c[8787]=f+e;b=(f>>>0)%(a>>>0)|0;return b|0}function Co(a){a=a|0;var b=0,d=0;b=(a+2|0)>>>2&16383;a=b>>>0>8191?16384-b|0:b;if(a>>>0>4095){d=0-(c[3360+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[3360+(a<<2)>>2]|0;return d|0}return 0}function Do(a){a=a|0;var b=0,d=0;b=(a+16386|0)>>>2&16383;a=b>>>0>8191?16384-b|0:b;if(a>>>0>4095){d=0-(c[3360+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[3360+(a<<2)>>2]|0;return d|0}return 0}function Eo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=0-b|0;if(!a)e=B(d>>31|1,2147483647)|0;else{b=Su(d|0,((d|0)<0)<<31>>31|0,16)|0;d=Nu(b|0,G()|0,a|0,((a|0)<0)<<31>>31|0)|0;b=G()|0;f=(b|0)>-1|(b|0)==-1&d>>>0>2147483649;g=f?d:-2147483647;d=f?b:-1;b=(d|0)<0|(d|0)==0&g>>>0<2147483647;d=b?g:2147483647;e=d}d=(e|0)<0?0-e|0:e;if((d|0)>65536){g=Nu(0,1,d|0,((d|0)<0)<<31>>31|0)|0;b=G()|0;f=(b|0)>-1|(b|0)==-1&g>>>0>2147483649;h=f?g:-2147483647;g=f?b:-1;b=(g|0)<0|(g|0)==0&h>>>0<2147483647;g=b?h:2147483647;i=0;j=g}else{i=1;j=d}d=j>>5;j=(d|0)<2048?d:2048;d=c[19760+(((j|0)>0?j:0)<<2)>>2]|0;j=B(i?d:16384-d|0,e>>31|1)|0;return ((a|0)<0?j+32768|0:j)&65535|0}function Fo(){var a=0;a=Fp(16)|0;c[a>>2]=0;c[a+4>>2]=0;c[525418]=(c[525418]|0)+1;return a|0}function Go(a){a=a|0;var b=0;if(!a)return;if((c[a>>2]|0)>0){b=0;do{Ho(a,b);b=b+1|0}while((b|0)<(c[a>>2]|0))}Hp(c[a+4>>2]|0);c[525418]=(c[525418]|0)+-1;return}function Ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((a|0)==0|(b|0)<0)return;if((c[a>>2]|0)<=(b|0))return;d=a+4|0;a=c[d>>2]|0;e=c[a+(b*112|0)+80>>2]|0;if(!e)f=a;else{Hp(c[e+12>>2]|0);Hp(c[e+16>>2]|0);Hp(c[e+20>>2]|0);Hp(e);f=c[d>>2]|0}e=c[f+(b*112|0)+84>>2]|0;if(!e)g=f;else{Hp(c[e+12>>2]|0);Hp(c[e+16>>2]|0);Hp(c[e+20>>2]|0);Hp(e);g=c[d>>2]|0}e=c[g+(b*112|0)+88>>2]|0;if(!e)h=g;else{Hp(c[e+12>>2]|0);Hp(c[e+16>>2]|0);Hp(c[e+20>>2]|0);Hp(e);h=c[d>>2]|0}e=c[h+(b*112|0)+96>>2]|0;if(!e)i=h;else{Hp(c[e+12>>2]|0);Hp(c[e+16>>2]|0);Hp(c[e+20>>2]|0);Hp(e);i=c[d>>2]|0}e=c[i+(b*112|0)+92>>2]|0;if((c[i+(b*112|0)+104>>2]|0)>0){h=0;g=e;f=i;while(1){i=c[g+(h<<2)>>2]|0;if(!i)j=f;else{Hp(c[i+12>>2]|0);Hp(c[i+16>>2]|0);Hp(c[i+20>>2]|0);Hp(i);j=c[d>>2]|0}h=h+1|0;i=c[j+(b*112|0)+92>>2]|0;if((h|0)>=(c[j+(b*112|0)+104>>2]|0)){k=i;break}else{g=i;f=j}}}else k=e;Hp(k);return}function Io(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Fa;Fa=Fa+16|0;e=d;f=(c[b>>2]|0)+1|0;c[b>>2]=f;g=b+4|0;h=Gp(c[g>>2]|0,f*112|0)|0;c[g>>2]=h;g=(c[b>>2]|0)+-1|0;c[e>>2]=g;vs(h+(g*112|0)|0,64267,e)|0;a[h+(g*112|0)+32>>0]=0;e=h+(g*112|0)+64|0;c[e>>2]=-1;c[e+4>>2]=-1;c[e+8>>2]=-1;c[e+12>>2]=-1;c[h+(g*112|0)+104>>2]=0;c[h+(g*112|0)+100>>2]=0;c[h+(g*112|0)+108>>2]=0;e=Fp(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+80>>2]=e;e=Fp(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+84>>2]=e;e=Fp(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+88>>2]=e;e=Fp(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=24;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+96>>2]=e;c[h+(g*112|0)+92>>2]=0;Fa=d;return (c[b>>2]|0)+-1|0}function Jo(a){a=a|0;var b=0;b=Fp(24)|0;c[b+4>>2]=0;c[b>>2]=0;c[b+8>>2]=a;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=0;return b|0}function Ko(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;if((c[d>>2]|0)>=(b|0)){c[a>>2]=b;return}c[d>>2]=b;d=a+12|0;c[d>>2]=Gp(c[d>>2]|0,B(c[a+8>>2]|0,b)|0)|0;d=a+16|0;e=b<<2;c[d>>2]=Gp(c[d>>2]|0,e)|0;d=a+20|0;c[d>>2]=Gp(c[d>>2]|0,e)|0;c[a>>2]=b;return}function Lo(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0;d=a+24|0;e=c[d>>2]|0;g=e<<2;h=b+(g<<2)|0;i=b+((g|3)<<2)|0;if(!e)return;g=a+48|0;j=Gp(c[g>>2]|0,e*48|0)|0;c[g>>2]=j;e=c[d>>2]|0;if((e|0)>0){k=a+36|0;l=0;m=b;b=j;while(1){n=+f[m>>2];o=+x(+n);p=+f[m+4>>2];q=+x(+p);r=+f[m+8>>2];s=+x(+r);t=+w(+n);n=+w(+p);p=+w(+r);u=b+(l*48|0)|0;f[b+(l*48|0)+4>>2]=q;f[u>>2]=t*n;f[b+(l*48|0)+8>>2]=o*n;v=b+(l*48|0)+12|0;r=n*0.0-q*s;f[b+(l*48|0)+16>>2]=q*0.0+n*s;f[v>>2]=r*t-o*p;f[b+(l*48|0)+20>>2]=t*p+r*o;yo(u,v,b+(l*48|0)+24|0);v=m+12|0;b=c[g>>2]|0;u=b+(l*48|0)|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+4|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+8|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+12|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+16|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+20|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+24|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+28|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+32|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+12|0;v=c[u>>2]|0;y=b+(l*48|0)+4|0;c[u>>2]=c[y>>2];c[y>>2]=v;v=b+(l*48|0)+24|0;y=c[v>>2]|0;u=b+(l*48|0)+8|0;c[v>>2]=c[u>>2];c[u>>2]=y;y=b+(l*48|0)+28|0;u=c[y>>2]|0;v=b+(l*48|0)+20|0;c[y>>2]=c[v>>2];c[v>>2]=u;if((c[(c[k>>2]|0)+(l<<2)>>2]|0)==-1){f[b+(l*48|0)+36>>2]=0.0;f[b+(l*48|0)+40>>2]=0.0;f[b+(l*48|0)+44>>2]=0.0}l=l+1|0;z=c[d>>2]|0;if((l|0)>=(z|0))break;else m=m+16|0}m=(z|0)>0;if(m){l=c[a+40>>2]|0;d=c[a+36>>2]|0;a=0;do{k=c[l+(a<<2)>>2]|0;g=c[d+(k<<2)>>2]|0;if((g|0)!=-1){f[b+(k*48|0)+36>>2]=+f[b+(g*48|0)+36>>2]+ +f[b+(g*48|0)>>2];f[b+(k*48|0)+40>>2]=+f[b+(g*48|0)+40>>2]+ +f[b+(g*48|0)+12>>2];f[b+(k*48|0)+44>>2]=+f[b+(g*48|0)+44>>2]+ +f[b+(g*48|0)+24>>2]}a=a+1|0}while((a|0)!=(z|0));A=z;B=b;C=m}else{A=z;B=b;C=0}}else{A=e;B=j;C=0}j=c[i>>2]|0;i=(j|0)<0;e=i?0-j|0:j;o=+f[B+(e*48|0)+36>>2];r=+f[B+(e*48|0)+40>>2];p=+f[B+(e*48|0)+44>>2];if(i){D=o+ +f[B+(e*48|0)>>2];E=r+ +f[B+(e*48|0)+12>>2];F=p+ +f[B+(e*48|0)+24>>2]}else{D=o;E=r;F=p}p=+f[h>>2]-D;D=+f[h+4>>2]-E;E=+f[h+8>>2]-F;if(!C)return;C=0;do{h=B+(C*48|0)+36|0;f[h>>2]=p+ +f[h>>2];h=B+(C*48|0)+40|0;f[h>>2]=D+ +f[h>>2];h=B+(C*48|0)+44|0;f[h>>2]=E+ +f[h>>2];C=C+1|0}while((C|0)!=(A|0));return}function Mo(a,b){a=a|0;b=b|0;var d=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0.0,A=0.0,B=0.0,C=0.0,D=0.0;d=Fa;Fa=Fa+16|0;g=d;if(!a){Fa=d;return}h=a+24|0;i=a+28|0;j=c[i>>2]|0;if(!(c[h>>2]|0)){Hp(j);c[i>>2]=0;Fa=d;return}k=a+4|0;c[i>>2]=Gp(j,c[k>>2]<<5)|0;j=a+44|0;l=Fp(c[j>>2]|0)|0;if((c[h>>2]|0)>0){m=a+12|0;n=g+4|0;o=g+8|0;p=a+36|0;q=0;r=0;while(1){s=c[a>>2]|0;t=c[(c[m>>2]|0)+(r*80|0)+48>>2]|0;u=c[t+4>>2]|0;w=c[t>>2]|0;x=+f[s+(u*12|0)>>2]-+f[s+(w*12|0)>>2];f[g>>2]=x;A=+f[s+(u*12|0)+4>>2]-+f[s+(w*12|0)+4>>2];f[n>>2]=A;B=+f[s+(u*12|0)+8>>2]-+f[s+(w*12|0)+8>>2];f[o>>2]=B;f[l+((q|3)<<2)>>2]=+v(+(x*x+A*A+B*B));xo(g);B=+f[g>>2];A=+f[o>>2];x=+v(+(B*B+A*A));C=+z(+A,+B);w=l+(q<<2)|0;f[w>>2]=C;B=+f[n>>2];if(x==0.0)D=B>=0.0?1.5707963267948966:-1.5707963267948966;else D=+y(+(B/x));x=D;s=l+((q|1)<<2)|0;f[s>>2]=x;f[l+((q|2)<<2)>>2]=0.0;if(+f[o>>2]<0.0){f[w>>2]=C+3.141592653589793;f[s>>2]=(1.5707963267948966-(x<0.0?-x:x))*2.0*(+f[n>>2]>=0.0?1.0:-1.0)+x}if((c[(c[p>>2]|0)+(r<<2)>>2]|0)==-1){s=c[h>>2]<<2;w=l+(s<<2)|0;u=c[a>>2]|0;t=c[c[(c[m>>2]|0)+(r*80|0)+48>>2]>>2]|0;c[w>>2]=c[u+(t*12|0)>>2];c[w+4>>2]=c[u+(t*12|0)+4>>2];c[w+8>>2]=c[u+(t*12|0)+8>>2];c[l+((s|3)<<2)>>2]=r}r=r+1|0;if((r|0)>=(c[h>>2]|0))break;else q=q+4|0}}if(b|0){Xu(b|0,l|0,c[j>>2]|0)|0;Hp(l);Fa=d;return}Lo(a,l);if((c[k>>2]|0)>0){j=a+48|0;b=0;do{q=c[i>>2]|0;zo((c[j>>2]|0)+((e[q+(b<<5)>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,q+(b<<5)+8|0);q=c[i>>2]|0;zo((c[j>>2]|0)+((e[q+(b<<5)+2>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,q+(b<<5)+20|0);b=b+1|0}while((b|0)<(c[k>>2]|0))}Hp(l);Fa=d;return}function No(){var a=0,b=0,d=0,e=0;a=c[525877]|0;b=c[525879]|0;if((b|0)==-1)d=(c[704818]|0)<720&1;else d=b;b=c[525876]|0;e=(a|0)<8?a:8;return ((c[525890]|b|((b|0)==0?d:1)|0)==0?((e|0)<1?1:(e|0)>0?e:0):1)|0}function Oo(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=Fa;Fa=Fa+32|0;l=k+20|0;m=k+16|0;n=k+12|0;o=k+8|0;p=k+4|0;q=k;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;if(!((a|0)!=0&(b|0)!=0)){Fa=k;return}j=b+8|0;i=a+8|0;if(2819272==(a|0)?1:(c[j>>2]|0)<(c[i>>2]|0)){Fa=k;return}fn(a,b,l,m,n,o,p,q);h=c[p>>2]|0;if((h|0)<1){Fa=k;return}g=c[j>>2]|0;j=g>>3;if(2819272==(b|0)){f=c[525877]|0;e=c[525879]|0;if((e|0)==-1)r=(c[b>>2]|0)<720&1;else r=e;e=c[525876]|0;s=(f|0)<8?f:8;f=(c[525890]|e|((e|0)==0?r:1)|0)==0?((s|0)<1?1:(s|0)>0?s:0):1;if((f|0)<=1){Zq(a,b,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,h,c[q>>2]|0,0);Fa=k;return}s=c[526427]|0;if(((s|0)!=0?(r=c[s>>2]|0,(r|0)==(B(c[a>>2]|0,f)|0)):0)?(e=c[s+4>>2]|0,(e|0)==(B(c[a+4>>2]|0,f)|0)):0){t=s;u=r;v=e}else{w=a;x=12}if((x|0)==12){dn(s)|0;s=B(c[w>>2]|0,f)|0;w=B(c[a+4>>2]|0,f)|0;f=cn(s,w,c[i>>2]|0)|0;c[526427]=f;t=f;u=c[f>>2]|0;v=c[f+4>>2]|0}jn(a,t,0,0,u,v,0);v=c[526427]|0;Zq(v,b,0,0,0,0,c[v>>2]|0,c[v+4>>2]|0,0);Fa=k;return}v=c[i>>2]|0;if((g|0)==(v|0)){if((c[q>>2]|0)<=0){Fa=k;return}i=b+16|0;u=a+16|0;t=0;f=h;while(1){w=(c[(c[i>>2]|0)+((c[o>>2]|0)+t<<2)>>2]|0)+(B(c[n>>2]|0,j)|0)|0;Xu(w|0,(c[(c[u>>2]|0)+((c[m>>2]|0)+t<<2)>>2]|0)+(B(c[l>>2]|0,j)|0)|0,B(f,j)|0)|0;w=t+1|0;if((w|0)>=(c[q>>2]|0))break;t=w;f=c[p>>2]|0}Fa=k;return}if(!((g|0)==32&(v|0)==8)){Fa=k;return}v=c[704831]|0;g=c[q>>2]|0;if((g|0)<=0){Fa=k;return}f=a+16|0;a=b+16|0;b=0;t=h;h=g;while(1){if((t|0)>0){g=c[f>>2]|0;j=c[a>>2]|0;u=0;do{i=d[(c[g+((c[m>>2]|0)+b<<2)>>2]|0)+((c[l>>2]|0)+u)>>0]|0;c[(c[j+((c[o>>2]|0)+b<<2)>>2]|0)+((c[n>>2]|0)+u<<2)>>2]=(d[v+(i*3|0)>>0]|0)<<16|(d[v+(i*3|0)+1>>0]|0)<<8|(d[v+(i*3|0)+2>>0]|0)|-16777216;u=u+1|0;y=c[p>>2]|0}while((u|0)<(y|0));z=c[q>>2]|0;A=y}else{z=h;A=t}b=b+1|0;if((b|0)>=(z|0))break;else{t=A;h=z}}Fa=k;return}function Po(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;if((j|0)<=0)return;k=b+16|0;b=d+16|0;if(!i)return;d=0;do{l=(c[(c[k>>2]|0)+(d+f<<2)>>2]|0)+e|0;m=i;n=(c[(c[b>>2]|0)+(d+h<<2)>>2]|0)+g|0;while(1){o=a[l>>0]|0;if(o<<24>>24)a[n>>0]=o;m=m+-1|0;if(!m)break;else{l=l+1|0;n=n+1|0}}d=d+1|0}while((d|0)!=(j|0));return}function Qo(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if((i|0)<=0)return;j=a+16|0;a=b+16|0;if((h|0)<=0)return;b=0;do{k=(c[(c[j>>2]|0)+(b+e<<2)>>2]|0)+(d<<2)|0;l=0;m=(c[(c[a>>2]|0)+(b+g<<2)>>2]|0)+(f<<2)|0;while(1){n=c[k>>2]|0;o=kn(c[m>>2]|0,n,n>>>24)|0;c[m>>2]=c[m>>2]&-16777216|o;l=l+1|0;if((l|0)==(h|0))break;else{k=k+4|0;m=m+4|0}}b=b+1|0}while((b|0)!=(i|0));return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a>>2]|0;e=a+8|0;do if((d|0)>0){f=c[e>>2]|0;if(!(Xs(b,c[f+(d+-1<<2)>>2]|0)|0))return;else{g=e;h=f;break}}else{g=e;h=c[e>>2]|0}while(0);c[g>>2]=Gp(h,(d<<2)+4|0)|0;d=Fp((ft(b)|0)+1|0)|0;h=c[a>>2]|0;c[(c[e>>2]|0)+(h<<2)>>2]=d;Lm(c[(c[e>>2]|0)+(h<<2)>>2]|0,b)|0;b=a+16|0;h=Gp(c[b>>2]|0,(c[a>>2]<<2)+4|0)|0;c[b>>2]=h;c[h+(c[a>>2]<<2)>>2]=c[a+4>>2];c[a>>2]=(c[a>>2]|0)+1;return}function So(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=a+8|0;d=c[b>>2]|0;if((c[a>>2]|0)>0){e=0;f=d;while(1){Hp(c[f+(e<<2)>>2]|0);e=e+1|0;g=c[b>>2]|0;if((e|0)>=(c[a>>2]|0)){h=g;break}else f=g}}else h=d;Hp(h);Hp(c[a+16>>2]|0);h=a+4|0;d=a+12|0;a=c[d>>2]|0;if((c[h>>2]|0)<=0){i=a;Hp(i);j=c[525418]|0;k=j+-1|0;c[525418]=k;return}f=0;e=a;while(1){Hp(c[e+(f<<2)>>2]|0);f=f+1|0;a=c[d>>2]|0;if((f|0)>=(c[h>>2]|0)){i=a;break}else e=a}Hp(i);j=c[525418]|0;k=j+-1|0;c[525418]=k;return}function To(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;a:do if((e|0)>0){f=c[a+8>>2]|0;g=0;while(1){if(!(Xs(b,c[f+(g<<2)>>2]|0)|0)){h=g;break a}i=g+1|0;if((i|0)<(e|0))g=i;else{h=i;break}}}else h=0;while(0);if((h|0)==(e|0)){j=35152;k=c[j>>2]|0;return k|0}b=c[a+16>>2]|0;g=(c[b+(h<<2)>>2]|0)+d|0;if((g|0)>=(c[a+4>>2]|0)){j=35152;k=c[j>>2]|0;return k|0}if((h|0)<(e+-1|0)?(g|0)>=(c[b+(h+1<<2)>>2]|0):0){j=35152;k=c[j>>2]|0;return k|0}j=(c[a+12>>2]|0)+(g<<2)|0;k=c[j>>2]|0;return k|0}function Uo(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Fa;Fa=Fa+2048|0;e=d+1024|0;f=d;g=Yn(b,71765)|0;if(!g){h=0;Fa=d;return h|0}b=Fp(24)|0;Ep(b,0,24);a:do if(!(Wn(g)|0)){i=b+12|0;j=b+4|0;while(1){a[e>>0]=0;_n(e,1023,g)|0;k=a[e>>0]|0;b:do switch(k<<24>>24){case 0:case 47:break;default:{l=e;m=k;while(1){n=m<<24>>24;switch(m<<24>>24){case 47:case 0:{break b;break}default:{}}if(m<<24>>24==95|((n+-48|0)>>>0<10|((n&-33)+-65|0)>>>0<26))break;n=l+1|0;l=n;m=a[n>>0]|0}if(m<<24>>24){a[f>>0]=0;n=0;o=l;p=m;while(1){a[f+n>>0]=p;n=n+1|0;a[f+n>>0]=0;q=o+1|0;p=a[q>>0]|0;r=p<<24>>24;if(!(p<<24>>24==95|((r+-48|0)>>>0<10|((r&-33)+-65|0)>>>0<26)))break;else o=q}if(a[f>>0]|0){Ro(b,f);p=a[q>>0]|0;if(p<<24>>24==58)s=(a[o+2>>0]|0)==58;else s=0;n=q;m=p;c:while(1){switch(m<<24>>24){case 58:case 32:break;default:break c}p=n+1|0;n=p;m=a[p>>0]|0}o=m<<24>>24==0;if(!s){if(o)break b;c[i>>2]=Gp(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;p=Fp((ft(n)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=p;Lm(c[(c[i>>2]|0)+(l<<2)>>2]|0,n)|0;c[j>>2]=(c[j>>2]|0)+1;break b}if(!o){o=n;while(1){a[f>>0]=0;l=o;while(1){t=a[l>>0]|0;if(t<<24>>24==32)l=l+1|0;else break}p=0;r=l;u=t;d:while(1){switch(u<<24>>24){case 32:case 0:{break d;break}default:{}}a[f+p>>0]=u;v=p+1|0;a[f+v>>0]=0;w=r+1|0;p=v;r=w;u=a[w>>0]|0}if(!(a[f>>0]|0))x=u;else{c[i>>2]=Gp(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;p=Fp((ft(f)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=p;Lm(c[(c[i>>2]|0)+(l<<2)>>2]|0,f)|0;c[j>>2]=(c[j>>2]|0)+1;x=a[r>>0]|0}if(!(x<<24>>24))break;else o=r}}}}}}while(0);if(Wn(g)|0)break a}}while(0);Zn(g);c[525418]=(c[525418]|0)+1;h=b;Fa=d;return h|0}function Vo(a){a=a|0;var b=0;b=Dp(11032)|0;c[b>>2]=a<<2;c[525418]=(c[525418]|0)+1;return b|0}function Wo(a){a=a|0;if(!a)return;Xo(a);Hp(a);c[525418]=(c[525418]|0)+-1;return}function Xo(a){a=a|0;var b=0;b=a+11016|0;eq(c[b>>2]|0);dq(c[b>>2]|0);c[b>>2]=0;b=a+344|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+688|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+1032|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+1376|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+1720|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+2064|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+2408|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+2752|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+3096|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+3440|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+3784|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+4128|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+4472|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+4816|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+5160|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+5504|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+5848|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+6192|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+6536|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+6880|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+7224|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+7568|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+7912|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+8256|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+8600|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+8944|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+9288|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+9632|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+9976|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+10320|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+10664|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+11008|0;Hp(c[b>>2]|0);c[b>>2]=0;return}function Yo(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0;h=Fa;Fa=Fa+144|0;i=h+88|0;j=h+44|0;k=h;l=f<<3;m=e+g|0;g=f+-2|0;e=f+-4|0;n=i+8|0;o=i+4|0;p=i+12|0;q=i+20|0;r=i+16|0;s=i+24|0;t=i+32|0;u=i+28|0;v=j+8|0;w=j+4|0;x=j+12|0;y=j+20|0;z=j+16|0;A=j+24|0;B=j+32|0;C=j+28|0;D=i+40|0;E=b+4|0;F=b+8|0;G=j+40|0;H=k+8|0;I=k+4|0;J=k+12|0;K=k+20|0;L=k+16|0;M=k+24|0;N=k+32|0;O=k+28|0;P=k+40|0;Q=k+36|0;R=i+36|0;S=j+36|0;T=0;U=0;a:while(1){V=U+2|0;if(V>>>0>=l>>>0){W=52;X=125;break}Y=d[m+(U>>>3)>>0]|0;Z=U&7;_=U+1|0;$=U+3|0;aa=((d[m+(V>>>3)>>0]|0)>>>(V&7)<<1|(d[m+(_>>>3)>>0]|0)>>>(_&7)&1)&255;switch(aa&3){case 3:{W=20;X=125;break a;break}case 0:{if(!($&7))ba=$;else{_=$;while(1){V=_+1|0;if(!(V&7)){ba=V;break}else _=V}}_=ba>>>3;if(_>>>0>=e>>>0){W=52;X=125;break a}V=(d[m+(_+1)>>0]|0)<<8|(d[m+_>>0]|0);ca=_+4|0;if((((d[m+(_+3)>>0]|0)<<8|(d[m+(_+2)>>0]|0))+V|0)!=65535){W=21;X=125;break a}_=V+T|0;if(_>>>0>=(c[E>>2]|0)>>>0){if((c[F>>2]|0)>>>0<_>>>0){da=_<<1;ea=Gp(c[b>>2]|0,da)|0;if(!ea){W=9915;X=125;break a}c[F>>2]=da;c[b>>2]=ea}c[E>>2]=_}ea=V+ca|0;if(ea>>>0>f>>>0){W=23;X=125;break a}if(!V){fa=ca;ga=T}else{da=0;ha=ca;ca=T;while(1){a[(c[b>>2]|0)+ca>>0]=a[m+ha>>0]|0;da=da+1|0;if((da|0)==(V|0)){fa=ea;ga=_;break}else{ha=ha+1|0;ca=ca+1|0}}}ia=fa<<3;ja=ga;break}default:{ca=i;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));ca=j;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));switch(aa&3){case 1:{Zo(i);_o(j);ka=0;la=$;break}case 2:{ca=k;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));aa=$>>>3;b:do if(aa>>>0<g>>>0){_=U+4|0;ea=U+5|0;V=U+6|0;da=U+7|0;ma=(d[m+(_>>>3)>>0]|0)>>>(_&7)<<1&2|(d[m+aa>>0]|0)>>>($&7)&1|(d[m+(ea>>>3)>>0]|0)>>>(ea&7)<<2&4|(d[m+(V>>>3)>>0]|0)>>>(V&7)<<3&8|(d[m+(da>>>3)>>0]|0)>>>(da&7)<<4&16;da=U+8|0;V=ma+257|0;ea=U+9|0;_=U+10|0;na=U+11|0;oa=U+12|0;pa=(d[m+(ea>>>3)>>0]|0)>>>(ea&7)<<1&2|(d[m+(da>>>3)>>0]|0)>>>(da&7)&1|(d[m+(_>>>3)>>0]|0)>>>(_&7)<<2&4|(d[m+(na>>>3)>>0]|0)>>>(na&7)<<3&8|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)<<4&16;oa=U+13|0;na=U+14|0;_=U+15|0;da=U+16|0;ea=U+17|0;qa=((d[m+(na>>>3)>>0]|0)>>>(na&7)<<1&2|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)&1|(d[m+(_>>>3)>>0]|0)>>>(_&7)<<2&4|(d[m+(da>>>3)>>0]|0)>>>(da&7)<<3&8)+4|0;da=Gp(0,152)|0;do if(!da){ra=9911;sa=ea;ta=0}else{_=0;oa=ea;while(1){if(_>>>0<qa>>>0){na=oa+1|0;ua=oa+2|0;va=oa+3|0;wa=(d[m+(na>>>3)>>0]|0)>>>(na&7)<<1&2|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)&1|(d[m+(ua>>>3)>>0]|0)>>>(ua&7)<<2&4}else{va=oa;wa=0}c[da+(c[27968+(_<<2)>>2]<<2)>>2]=wa;_=_+1|0;if((_|0)==19)break;else oa=va}if((c[N>>2]|0)>>>0<76){oa=Gp(c[M>>2]|0,152)|0;if(!oa){ra=9903;sa=va;ta=da;break}c[N>>2]=152;c[M>>2]=oa;c[O>>2]=19;xa=oa}else{c[O>>2]=19;xa=c[M>>2]|0}c[xa>>2]=c[da>>2];c[xa+4>>2]=c[da+4>>2];c[xa+8>>2]=c[da+8>>2];c[xa+12>>2]=c[da+12>>2];c[xa+16>>2]=c[da+16>>2];c[xa+20>>2]=c[da+20>>2];c[xa+24>>2]=c[da+24>>2];c[xa+28>>2]=c[da+28>>2];c[xa+32>>2]=c[da+32>>2];c[xa+36>>2]=c[da+36>>2];c[xa+40>>2]=c[da+40>>2];c[xa+44>>2]=c[da+44>>2];c[xa+48>>2]=c[da+48>>2];c[xa+52>>2]=c[da+52>>2];c[xa+56>>2]=c[da+56>>2];c[xa+60>>2]=c[da+60>>2];c[xa+64>>2]=c[da+64>>2];c[xa+68>>2]=c[da+68>>2];c[xa+72>>2]=c[da+72>>2];c[P>>2]=19;c[Q>>2]=7;oa=$o(k)|0;Hp(da);if(oa|0){ya=oa;za=va;break b}oa=Gp(0,2304)|0;if(!oa){Aa=0;Ba=0;Ca=0}else{Yu(oa|0,0,1152)|0;Aa=oa;Ba=288;Ca=oa}oa=Gp(0,256)|0;c:do if(oa){ca=oa;ha=ca+128|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));if(Aa){_=ma+258+pa|0;do if(_){ua=c[k>>2]|0;na=c[P>>2]|0;Da=-258-ma|0;Ea=0;Ga=0;Ha=va;d:while(1){if(Ha>>>0>l>>>0){Ia=Ha;X=59;break}Ja=0;Ka=Ha;while(1){La=c[ua+(((d[m+(Ka>>>3)>>0]|0)>>>(Ka&7)&1|Ja<<1)<<2)>>2]|0;Ma=Ka+1|0;if(La>>>0<na>>>0)break;Ja=La-na|0;if(Ka>>>0>=l>>>0|Ja>>>0>=na>>>0){Ia=Ma;X=59;break d}else Ka=Ma}e:do if(La>>>0<16){c[(Ea>>>0<V>>>0?Aa+(Ea<<2)|0:oa+(Ea-V<<2)|0)>>2]=La;Na=Ga;Oa=Ma;Pa=Ea+1|0}else switch(La|0){case 16:{Ja=Ma>>>3;if(Ja>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ta=Ka+2|0;Ua=Ka+3|0;Va=((d[m+(Ta>>>3)>>0]|0)>>>(Ta&7)<<1&2|(d[m+Ja>>0]|0)>>>(Ma&7)&1)+3|0;Ja=Ea+-1|0;Ta=c[(Ja>>>0<V>>>0?Aa+(Ja<<2)|0:oa+(Da+Ea<<2)|0)>>2]|0;Ja=0;Wa=Ea;while(1){if(Wa>>>0>=_>>>0){Na=13;Oa=Ua;Pa=Wa;break e}c[(Wa>>>0<V>>>0?Aa+(Wa<<2)|0:oa+(Wa-V<<2)|0)>>2]=Ta;Xa=Wa+1|0;Ja=Ja+1|0;if(Ja>>>0>=Va>>>0){Na=Ga;Oa=Ua;Pa=Xa;break}else Wa=Xa}break}case 17:{Wa=Ma>>>3;if(Wa>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ua=Ka+2|0;Va=Ka+3|0;Ja=Ka+4|0;Ta=((d[m+(Ua>>>3)>>0]|0)>>>(Ua&7)<<1&2|(d[m+Wa>>0]|0)>>>(Ma&7)&1|(d[m+(Va>>>3)>>0]|0)>>>(Va&7)<<2&4)+3|0;Va=0;Wa=Ea;while(1){if(Wa>>>0>=_>>>0){Na=14;Oa=Ja;Pa=Wa;break e}c[(Wa>>>0<V>>>0?Aa+(Wa<<2)|0:oa+(Wa-V<<2)|0)>>2]=0;Ua=Wa+1|0;Va=Va+1|0;if(Va>>>0>=Ta>>>0){Na=Ga;Oa=Ja;Pa=Ua;break}else Wa=Ua}break}case 18:{Wa=Ma>>>3;if(Wa>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ja=Ka+2|0;Ta=Ka+3|0;Va=Ka+4|0;Ua=Ka+5|0;Xa=Ka+6|0;Ya=Ka+7|0;Za=Ka+8|0;_a=((d[m+(Ja>>>3)>>0]|0)>>>(Ja&7)<<1&2|(d[m+Wa>>0]|0)>>>(Ma&7)&1|(d[m+(Ta>>>3)>>0]|0)>>>(Ta&7)<<2&4|(d[m+(Va>>>3)>>0]|0)>>>(Va&7)<<3&8|(d[m+(Ua>>>3)>>0]|0)>>>(Ua&7)<<4&16|(d[m+(Xa>>>3)>>0]|0)>>>(Xa&7)<<5&32|(d[m+(Ya>>>3)>>0]|0)>>>(Ya&7)<<6&64)+11|0;if(!_a){Na=Ga;Oa=Za;Pa=Ea;break e}Ya=0;Xa=Ea;while(1){if(Xa>>>0>=_>>>0){Na=15;Oa=Za;Pa=Xa;break e}c[(Xa>>>0<V>>>0?Aa+(Xa<<2)|0:oa+(Xa-V<<2)|0)>>2]=0;Ua=Xa+1|0;Ya=Ya+1|0;if(Ya>>>0>=_a>>>0){Na=Ga;Oa=Za;Pa=Ua;break}else Xa=Ua}break}default:{Qa=Ma;Ra=16;Sa=oa;break c}}while(0);if(Pa>>>0<_>>>0){Ea=Pa;Ga=Na;Ha=Oa}else{X=61;break}}if((X|0)==59){X=0;Qa=Ia;Ra=Ia>>>0>l>>>0?10:11;Sa=oa;break c}else if((X|0)==61){X=0;if(!Na){$a=Oa;break}else{Qa=Oa;Ra=Na;Sa=oa;break c}}}else $a=va;while(0);if(c[Aa+1024>>2]|0){if(Ba<<2>>>0>(c[t>>2]|0)>>>0){_=Ba<<3;Ha=Gp(c[s>>2]|0,_)|0;if(!Ha){Qa=$a;Ra=9903;Sa=oa;break}c[t>>2]=_;c[s>>2]=Ha}c[u>>2]=Ba;if(Ba|0){Ha=c[s>>2]|0;_=0;do{c[Ha+(_<<2)>>2]=c[Aa+(_<<2)>>2];_=_+1|0}while((_|0)!=(Ba|0))}c[D>>2]=Ba;c[R>>2]=15;_=$o(i)|0;if(!_){if((c[B>>2]|0)>>>0<128){Ha=Gp(c[A>>2]|0,256)|0;if(!Ha){Qa=$a;Ra=9903;Sa=oa;break}c[B>>2]=256;c[A>>2]=Ha;c[C>>2]=32;ab=Ha}else{c[C>>2]=32;ab=c[A>>2]|0}c[ab>>2]=c[oa>>2];c[ab+4>>2]=c[oa+4>>2];c[ab+8>>2]=c[oa+8>>2];c[ab+12>>2]=c[oa+12>>2];c[ab+16>>2]=c[oa+16>>2];c[ab+20>>2]=c[oa+20>>2];c[ab+24>>2]=c[oa+24>>2];c[ab+28>>2]=c[oa+28>>2];c[ab+32>>2]=c[oa+32>>2];c[ab+36>>2]=c[oa+36>>2];c[ab+40>>2]=c[oa+40>>2];c[ab+44>>2]=c[oa+44>>2];c[ab+48>>2]=c[oa+48>>2];c[ab+52>>2]=c[oa+52>>2];c[ab+56>>2]=c[oa+56>>2];c[ab+60>>2]=c[oa+60>>2];c[ab+64>>2]=c[oa+64>>2];c[ab+68>>2]=c[oa+68>>2];c[ab+72>>2]=c[oa+72>>2];c[ab+76>>2]=c[oa+76>>2];c[ab+80>>2]=c[oa+80>>2];c[ab+84>>2]=c[oa+84>>2];c[ab+88>>2]=c[oa+88>>2];c[ab+92>>2]=c[oa+92>>2];c[ab+96>>2]=c[oa+96>>2];c[ab+100>>2]=c[oa+100>>2];c[ab+104>>2]=c[oa+104>>2];c[ab+108>>2]=c[oa+108>>2];c[ab+112>>2]=c[oa+112>>2];c[ab+116>>2]=c[oa+116>>2];c[ab+120>>2]=c[oa+120>>2];c[ab+124>>2]=c[oa+124>>2];c[G>>2]=32;c[S>>2]=15;Qa=$a;Ra=$o(j)|0;Sa=oa}else{Qa=$a;Ra=_;Sa=oa}}else{Qa=$a;Ra=64;Sa=oa}}else{Qa=va;Ra=9912;Sa=oa}}else{Qa=va;Ra=9912;Sa=0}while(0);Hp(Ca);Hp(Sa);ya=Ra;za=Qa;break b}while(0);Hp(ta);ya=ra;za=sa}else{ya=49;za=$}while(0);c[H>>2]=0;c[I>>2]=0;Hp(c[k>>2]|0);c[k>>2]=0;c[K>>2]=0;c[L>>2]=0;Hp(c[J>>2]|0);c[J>>2]=0;c[N>>2]=0;c[O>>2]=0;Hp(c[M>>2]|0);ka=ya;la=za;break}default:{ka=0;la=$}}f:do if(la>>>0<=l>>>0){ca=c[i>>2]|0;ha=c[D>>2]|0;aa=c[j>>2]|0;V=c[G>>2]|0;ma=T;pa=la;g:while(1){da=0;qa=pa;while(1){bb=c[ca+(((d[m+(qa>>>3)>>0]|0)>>>(qa&7)&1|da<<1)<<2)>>2]|0;cb=qa+1|0;if(bb>>>0<ha>>>0)break;da=bb-ha|0;if(cb>>>0>l>>>0|da>>>0>=ha>>>0){db=cb;eb=ma;X=115;break f}else qa=cb}if(bb>>>0>=256){if(!((bb|0)!=256&bb>>>0<286)){X=114;break}qa=bb+-257|0;if(cb>>>3>>>0>=f>>>0){fb=cb;gb=51;X=118;break}da=c[28048+(qa<<2)>>2]|0;ea=c[28176+(qa<<2)>>2]|0;if((bb+-265|0)>>>0>19){hb=0;ib=cb}else{qa=0;oa=0;_=cb;while(1){qa=(((d[m+(_>>>3)>>0]|0)>>>(_&7)&1)<<oa)+qa|0;oa=oa+1|0;if((oa|0)==(da|0))break;else _=_+1|0}hb=qa;ib=cb+da|0}_=hb+ea|0;if(ib>>>0>l>>>0){jb=ib;X=100;break}oa=0;Ha=ib;while(1){kb=c[aa+(((d[m+(Ha>>>3)>>0]|0)>>>(Ha&7)&1|oa<<1)<<2)>>2]|0;lb=Ha+1|0;if(kb>>>0<V>>>0)break;oa=kb-V|0;if(Ha>>>0>=l>>>0|oa>>>0>=V>>>0){jb=lb;X=100;break g}else Ha=lb}if(kb>>>0>29){jb=lb;X=100;break}if(lb>>>3>>>0>=f>>>0){fb=lb;gb=51;X=118;break}Ha=c[28304+(kb<<2)>>2]|0;oa=c[28432+(kb<<2)>>2]|0;if(kb>>>0<4){mb=0;nb=lb}else{da=0;qa=0;Ga=lb;while(1){da=(((d[m+(Ga>>>3)>>0]|0)>>>(Ga&7)&1)<<qa)+da|0;qa=qa+1|0;if((qa|0)==(Ha|0))break;else Ga=Ga+1|0}mb=da;nb=lb+Ha|0}Ga=ma-oa-mb|0;qa=_+ma|0;if(qa>>>0>=(c[E>>2]|0)>>>0){Ea=qa<<1;if((c[F>>2]|0)>>>0<Ea>>>0){Da=qa<<2;qa=Gp(c[b>>2]|0,Da)|0;if(!qa){fb=nb;gb=9914;X=118;break}c[F>>2]=Da;c[b>>2]=qa}c[E>>2]=Ea}if(!_){ob=nb;pb=ma}else{Ea=ma+hb|0;qa=Ga;Da=0;na=ma;while(1){ua=c[b>>2]|0;a[ua+na>>0]=a[ua+qa>>0]|0;ua=qa+1|0;Da=Da+1|0;if((Da|0)==(_|0))break;else{qa=ua>>>0<ma>>>0?ua:Ga;na=na+1|0}}ob=nb;pb=Ea+ea|0}}else{if(ma>>>0>=(c[E>>2]|0)>>>0){na=(ma<<1)+2|0;if((c[F>>2]|0)>>>0<na>>>0){Ga=na<<1;qa=Gp(c[b>>2]|0,Ga)|0;if(!qa){fb=cb;gb=9913;X=118;break}c[F>>2]=Ga;c[b>>2]=qa}c[E>>2]=na}a[(c[b>>2]|0)+ma>>0]=bb;ob=cb;pb=ma+1|0}if(ob>>>0>l>>>0){db=ob;eb=pb;X=115;break f}else{ma=pb;pa=ob}}if((X|0)==100){X=0;qb=jb;rb=(bb|0)==-1?(jb>>>0>l>>>0?10:11):18;sb=ma;tb=ca;break}else if((X|0)==114){X=0;if((bb|0)==256){qb=cb;rb=ka;sb=ma;tb=ca;break}else{db=cb;eb=ma;X=115;break}}else if((X|0)==118){X=0;qb=fb;rb=gb;sb=ma;tb=ca;break}}else{db=la;eb=T;X=115}while(0);if((X|0)==115){X=0;qb=db;rb=db>>>0>l>>>0?10:11;sb=eb;tb=c[i>>2]|0}c[n>>2]=0;c[o>>2]=0;Hp(tb);c[i>>2]=0;c[q>>2]=0;c[r>>2]=0;Hp(c[p>>2]|0);c[p>>2]=0;c[t>>2]=0;c[u>>2]=0;Hp(c[s>>2]|0);c[v>>2]=0;c[w>>2]=0;Hp(c[j>>2]|0);c[j>>2]=0;c[y>>2]=0;c[z>>2]=0;Hp(c[x>>2]|0);c[x>>2]=0;c[B>>2]=0;c[C>>2]=0;Hp(c[A>>2]|0);if(!rb){ia=qb;ja=sb}else{W=rb;X=125;break a}}}if(!(1<<Z&Y)){T=ja;U=ia}else{X=121;break}}if((X|0)==121){if((c[F>>2]|0)>>>0>=ja>>>0){c[E>>2]=ja;W=0;Fa=h;return W|0}ia=ja<<1;U=Gp(c[b>>2]|0,ia)|0;if(!U){W=9916;Fa=h;return W|0}c[F>>2]=ia;c[b>>2]=U;c[E>>2]=ja;W=0;Fa=h;return W|0}else if((X|0)==125){Fa=h;return W|0}return 0}function Zo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=Gp(0,2304)|0;if(!b){d=0;Hp(d);return}e=0;do{c[b+(e<<2)>>2]=8;e=e+1|0}while((e|0)!=144);e=144;do{c[b+(e<<2)>>2]=9;e=e+1|0}while((e|0)!=256);c[b+1024>>2]=7;c[b+1028>>2]=7;c[b+1032>>2]=7;c[b+1036>>2]=7;c[b+1040>>2]=7;c[b+1044>>2]=7;c[b+1048>>2]=7;c[b+1052>>2]=7;c[b+1056>>2]=7;c[b+1060>>2]=7;c[b+1064>>2]=7;c[b+1068>>2]=7;c[b+1072>>2]=7;c[b+1076>>2]=7;c[b+1080>>2]=7;c[b+1084>>2]=7;c[b+1088>>2]=7;c[b+1092>>2]=7;c[b+1096>>2]=7;c[b+1100>>2]=7;c[b+1104>>2]=7;c[b+1108>>2]=7;c[b+1112>>2]=7;c[b+1116>>2]=7;c[b+1120>>2]=8;c[b+1124>>2]=8;c[b+1128>>2]=8;c[b+1132>>2]=8;c[b+1136>>2]=8;c[b+1140>>2]=8;c[b+1144>>2]=8;c[b+1148>>2]=8;e=a+24|0;f=a+32|0;do if((c[f>>2]|0)>>>0<1152){g=Gp(c[e>>2]|0,2304)|0;if(!g){d=b;Hp(d);return}else{c[f>>2]=2304;c[e>>2]=g;c[a+28>>2]=288;h=g;break}}else{c[a+28>>2]=288;h=c[e>>2]|0}while(0);e=0;do{c[h+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}while((e|0)!=288);c[a+40>>2]=288;c[a+36>>2]=15;$o(a)|0;d=b;Hp(d);return}function _o(a){a=a|0;var b=0,d=0;b=Gp(0,256)|0;if(!b){d=0;Hp(d);return}c[b>>2]=5;c[b+4>>2]=5;c[b+8>>2]=5;c[b+12>>2]=5;c[b+16>>2]=5;c[b+20>>2]=5;c[b+24>>2]=5;c[b+28>>2]=5;c[b+32>>2]=5;c[b+36>>2]=5;c[b+40>>2]=5;c[b+44>>2]=5;c[b+48>>2]=5;c[b+52>>2]=5;c[b+56>>2]=5;c[b+60>>2]=5;c[b+64>>2]=5;c[b+68>>2]=5;c[b+72>>2]=5;c[b+76>>2]=5;c[b+80>>2]=5;c[b+84>>2]=5;c[b+88>>2]=5;c[b+92>>2]=5;c[b+96>>2]=5;c[b+100>>2]=5;c[b+104>>2]=5;c[b+108>>2]=5;c[b+112>>2]=5;c[b+116>>2]=5;c[b+120>>2]=5;c[b+124>>2]=5;ap(a,b,32,15)|0;d=b;Hp(d);return}function $o(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;b=a+12|0;d=a+40|0;e=c[d>>2]|0;f=a+20|0;if(e<<2>>>0>(c[f>>2]|0)>>>0){g=e<<3;h=Gp(c[b>>2]|0,g)|0;if(!h)i=0;else{c[f>>2]=g;c[b>>2]=h;j=4}}else j=4;do if((j|0)==4){c[a+16>>2]=e;h=a+36|0;g=(c[h>>2]|0)+1|0;f=g<<2;if(!f){k=0;l=0}else{m=Gp(0,g<<3)|0;if(!m){i=0;break}k=m;l=m}if(g|0)Yu(l|0,0,f|0)|0;f=(c[h>>2]|0)+1|0;g=f<<2;if(!g){n=0;o=0}else{m=Gp(0,f<<3)|0;if(!m){i=l;break}n=m;o=m}if(f|0)Yu(o|0,0,g|0)|0;if(!(c[d>>2]|0))p=0;else{g=c[a+24>>2]|0;f=0;do{m=k+(c[g+(f<<2)>>2]<<2)|0;c[m>>2]=(c[m>>2]|0)+1;f=f+1|0;m=c[d>>2]|0}while(f>>>0<m>>>0);p=m}if(!(c[h>>2]|0))q=p;else{f=1;g=c[n>>2]|0;do{g=(c[k+(f+-1<<2)>>2]|0)+g<<1;c[n+(f<<2)>>2]=g;f=f+1|0}while(f>>>0<=(c[h>>2]|0)>>>0);q=c[d>>2]|0}if(q|0){h=c[a+24>>2]|0;f=0;g=q;while(1){m=c[h+(f<<2)>>2]|0;if(!m)r=g;else{s=n+(m<<2)|0;m=c[s>>2]|0;c[s>>2]=m+1;c[(c[b>>2]|0)+(f<<2)>>2]=m;r=c[d>>2]|0}f=f+1|0;if(f>>>0>=r>>>0)break;else g=r}}Hp(l);Hp(o);g=c[d>>2]|0;f=g<<1;h=a+8|0;do if(g<<3>>>0>(c[h>>2]|0)>>>0){m=g<<4;s=Gp(c[a>>2]|0,m)|0;if(!s){t=9901;return t|0}else{c[h>>2]=m;c[a>>2]=s;c[a+4>>2]=f;u=c[d>>2]|0;break}}else{c[a+4>>2]=f;u=g}while(0);if(!(u&2147483647))v=u;else{g=c[a>>2]|0;f=0;do{c[g+(f<<2)>>2]=32767;f=f+1|0;h=c[d>>2]|0}while(f>>>0<h<<1>>>0);v=h}if(!v){t=0;return t|0}f=c[a+24>>2]|0;g=a+12|0;h=0;s=0;m=0;w=v;a:while(1){x=f+(m<<2)|0;y=c[x>>2]|0;b:do if(!y){z=h;A=s;B=w}else{if(h>>>0>(w+-2|0)>>>0){t=55;j=52;break a}C=(c[g>>2]|0)+(m<<2)|0;D=c[a>>2]|0;E=0;F=h;G=s;H=y;I=w;while(1){J=D+(((c[C>>2]|0)>>>(H+~E|0)&1|F<<1)<<2)|0;K=c[J>>2]|0;do if((K|0)==32767){L=E+1|0;if((L|0)==(H|0)){c[J>>2]=m;M=0;N=G;O=H;break}else{P=G+1|0;c[J>>2]=P+I;M=P;N=P;O=L;break}}else{M=K-I|0;N=G;O=E+1|0}while(0);H=c[x>>2]|0;I=c[d>>2]|0;if(H>>>0<=O>>>0){z=M;A=N;B=I;break b}if(M>>>0>(I+-2|0)>>>0){t=55;j=52;break a}else{E=O;F=M;G=N}}}while(0);m=m+1|0;if(m>>>0>=B>>>0){j=46;break}else{h=z;s=A;w=B}}if((j|0)==46){if(!(B&2147483647)){t=0;return t|0}w=c[a>>2]|0;s=0;h=B;while(1){m=w+(s<<2)|0;if((c[m>>2]|0)==32767){c[m>>2]=0;Q=c[d>>2]|0}else Q=h;s=s+1|0;if(s>>>0>=Q<<1>>>0){t=0;break}else h=Q}return t|0}else if((j|0)==52)return t|0}while(0);Hp(i);Hp(0);t=9902;return t|0}function ap(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+24|0;g=a+32|0;do if(d<<2>>>0>(c[g>>2]|0)>>>0){h=d<<3;i=Gp(c[f>>2]|0,h)|0;if(!i){j=9903;return j|0}else{c[g>>2]=h;c[f>>2]=i;break}}while(0);c[a+28>>2]=d;if(d|0){g=c[f>>2]|0;f=0;do{c[g+(f<<2)>>2]=c[b+(f<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}c[a+40>>2]=d;c[a+36>>2]=e;j=$o(a)|0;return j|0}
  7565. function $r(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;if((c[760469]|0)==(g|0)){i=d+4|0;j=c[i>>2]|0;if((j&3|0)!=3){k=g;l=h;break}c[760466]=h;c[i>>2]=j&-2;c[g+4>>2]=h|1;c[d>>2]=h;return}j=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(f|0)){c[760464]=c[760464]&~(1<<j);k=g;l=h;break}else{c[f+12>>2]=i;c[i+8>>2]=f;k=g;l=h;break}}f=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){j=g+16|0;m=j+4|0;n=c[m>>2]|0;if(!n){o=c[j>>2]|0;if(!o){p=0;break}else{q=o;r=j}}else{q=n;r=m}m=q;n=r;while(1){j=m+20|0;o=c[j>>2]|0;if(!o){s=m+16|0;t=c[s>>2]|0;if(!t)break;else{u=t;v=s}}else{u=o;v=j}m=u;n=v}c[n>>2]=0;p=m}else{j=c[g+8>>2]|0;c[j+12>>2]=i;c[i+8>>2]=j;p=i}while(0);if(f){i=c[g+28>>2]|0;j=3042160+(i<<2)|0;if((c[j>>2]|0)==(g|0)){c[j>>2]=p;if(!p){c[760465]=c[760465]&~(1<<i);k=g;l=h;break}}else{i=f+16|0;c[((c[i>>2]|0)==(g|0)?i:f+20|0)>>2]=p;if(!p){k=g;l=h;break}}c[p+24>>2]=f;i=g+16|0;j=c[i>>2]|0;if(j|0){c[p+16>>2]=j;c[j+24>>2]=p}j=c[i+4>>2]|0;if(j){c[p+20>>2]=j;c[j+24>>2]=p;k=g;l=h}else{k=g;l=h}}else{k=g;l=h}}else{k=a;l=b}while(0);b=d+4|0;a=c[b>>2]|0;if(!(a&2)){if((c[760470]|0)==(d|0)){p=(c[760467]|0)+l|0;c[760467]=p;c[760470]=k;c[k+4>>2]=p|1;if((k|0)!=(c[760469]|0))return;c[760469]=0;c[760466]=0;return}if((c[760469]|0)==(d|0)){p=(c[760466]|0)+l|0;c[760466]=p;c[760469]=k;c[k+4>>2]=p|1;c[k+p>>2]=p;return}p=(a&-8)+l|0;v=a>>>3;do if(a>>>0<256){u=c[d+8>>2]|0;r=c[d+12>>2]|0;if((r|0)==(u|0)){c[760464]=c[760464]&~(1<<v);break}else{c[u+12>>2]=r;c[r+8>>2]=u;break}}else{u=c[d+24>>2]|0;r=c[d+12>>2]|0;do if((r|0)==(d|0)){q=d+16|0;e=q+4|0;j=c[e>>2]|0;if(!j){i=c[q>>2]|0;if(!i){w=0;break}else{x=i;y=q}}else{x=j;y=e}e=x;j=y;while(1){q=e+20|0;i=c[q>>2]|0;if(!i){o=e+16|0;s=c[o>>2]|0;if(!s)break;else{z=s;A=o}}else{z=i;A=q}e=z;j=A}c[j>>2]=0;w=e}else{m=c[d+8>>2]|0;c[m+12>>2]=r;c[r+8>>2]=m;w=r}while(0);if(u|0){r=c[d+28>>2]|0;h=3042160+(r<<2)|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=w;if(!w){c[760465]=c[760465]&~(1<<r);break}}else{r=u+16|0;c[((c[r>>2]|0)==(d|0)?r:u+20|0)>>2]=w;if(!w)break}c[w+24>>2]=u;r=d+16|0;h=c[r>>2]|0;if(h|0){c[w+16>>2]=h;c[h+24>>2]=w}h=c[r+4>>2]|0;if(h|0){c[w+20>>2]=h;c[h+24>>2]=w}}}while(0);c[k+4>>2]=p|1;c[k+p>>2]=p;if((k|0)==(c[760469]|0)){c[760466]=p;return}else B=p}else{c[b>>2]=a&-2;c[k+4>>2]=l|1;c[k+l>>2]=l;B=l}l=B>>>3;if(B>>>0<256){a=3041896+(l<<1<<2)|0;b=c[760464]|0;p=1<<l;if(!(b&p)){c[760464]=b|p;C=a;D=a+8|0}else{p=a+8|0;C=c[p>>2]|0;D=p}c[D>>2]=k;c[C+12>>2]=k;c[k+8>>2]=C;c[k+12>>2]=a;return}a=B>>>8;if(a)if(B>>>0>16777215)E=31;else{C=(a+1048320|0)>>>16&8;D=a<<C;a=(D+520192|0)>>>16&4;p=D<<a;D=(p+245760|0)>>>16&2;b=14-(a|C|D)+(p<<D>>>15)|0;E=B>>>(b+7|0)&1|b<<1}else E=0;b=3042160+(E<<2)|0;c[k+28>>2]=E;c[k+20>>2]=0;c[k+16>>2]=0;D=c[760465]|0;p=1<<E;if(!(D&p)){c[760465]=D|p;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;return}p=c[b>>2]|0;a:do if((c[p+4>>2]&-8|0)==(B|0))F=p;else{b=B<<((E|0)==31?0:25-(E>>>1)|0);D=p;while(1){G=D+16+(b>>>31<<2)|0;C=c[G>>2]|0;if(!C)break;if((c[C+4>>2]&-8|0)==(B|0)){F=C;break a}else{b=b<<1;D=C}}c[G>>2]=k;c[k+24>>2]=D;c[k+12>>2]=k;c[k+8>>2]=k;return}while(0);G=F+8|0;B=c[G>>2]|0;c[B+12>>2]=k;c[G>>2]=k;c[k+8>>2]=B;c[k+12>>2]=F;c[k+24>>2]=0;return}function as(a){a=a|0;var b=0,d=0;b=Fa;Fa=Fa+16|0;d=b;c[d>>2]=fs(c[a+60>>2]|0)|0;a=ds(ea(6,d|0)|0)|0;Fa=b;return a|0}function bs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Fa;Fa=Fa+32|0;g=f+16|0;h=f;c[h>>2]=d;i=h+4|0;j=b+48|0;k=c[j>>2]|0;c[i>>2]=e-((k|0)!=0&1);l=b+44|0;c[h+8>>2]=c[l>>2];c[h+12>>2]=k;c[g>>2]=c[b+60>>2];c[g+4>>2]=h;c[g+8>>2]=2;h=ds(Z(145,g|0)|0)|0;if((h|0)>=1){g=c[i>>2]|0;if(h>>>0>g>>>0){i=c[l>>2]|0;l=b+4|0;c[l>>2]=i;k=i;c[b+8>>2]=k+(h-g);if(!(c[j>>2]|0))m=e;else{c[l>>2]=k+1;a[d+(e+-1)>>0]=a[k>>0]|0;m=e}}else m=h}else{c[b>>2]=c[b>>2]|h&48^16;m=h}Fa=f;return m|0}function cs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Fa;Fa=Fa+32|0;f=e;g=e+20|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=g;c[f+16>>2]=d;if((ds(Y(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;Fa=e;return h|0}function ds(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(es()|0)>>2]=0-a;b=-1}else b=a;return b|0}function es(){return 3042352}function fs(a){a=a|0;return a|0}function gs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Fa;Fa=Fa+32|0;g=f;c[b+36>>2]=5;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21523,c[g+8>>2]=f+16,da(54,g|0)|0):0)a[b+75>>0]=-1;g=hs(b,d,e)|0;Fa=f;return g|0}function hs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Fa;Fa=Fa+48|0;f=e+32|0;g=e+16|0;h=e;i=a+28|0;j=c[i>>2]|0;c[h>>2]=j;k=a+20|0;l=(c[k>>2]|0)-j|0;c[h+4>>2]=l;c[h+8>>2]=b;c[h+12>>2]=d;b=l+d|0;l=a+60|0;c[g>>2]=c[l>>2];c[g+4>>2]=h;c[g+8>>2]=2;j=ds(_(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=c[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;c[r>>2]=(c[r>>2]|0)+t;p=r+4|0;c[p>>2]=(c[p>>2]|0)-t;c[f>>2]=c[l>>2];c[f+4>>2]=r;c[f+8>>2]=s;o=ds(_(146,f|0)|0)|0;if((m|0)==(o|0)){u=3;break a}else{g=s;n=r}}c[a+16>>2]=0;c[i>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)v=0;else v=d-(c[n+4>>2]|0)|0}else u=3;while(0);if((u|0)==3){u=c[a+44>>2]|0;c[a+16>>2]=u+(c[a+48>>2]|0);a=u;c[i>>2]=a;c[k>>2]=a;v=d}Fa=e;return v|0}function is(a,b){a=+a;b=b|0;return +(+js(a,b))}function js(a,b){a=+a;b=b|0;var d=0.0,e=0,f=0,i=0.0,j=0;if((b|0)<=1023)if((b|0)<-1022){d=a*2.2250738585072014e-308;e=(b|0)<-2044;f=b+2044|0;i=e?d*2.2250738585072014e-308:d;j=e?((f|0)>-1022?f:-1022):b+1022|0}else{i=a;j=b}else{d=a*8988465674311579538646525.0e283;f=(b|0)>2046;e=b+-2046|0;i=f?d*8988465674311579538646525.0e283:d;j=f?((e|0)<1023?e:1023):b+-1023|0}b=Su(j+1023|0,0,52)|0;j=G()|0;c[h>>2]=b;c[h+4>>2]=j;return +(i*+g[h>>3])}function ks(a,b){a=+a;b=b|0;var d=0,e=0,f=0,i=0.0,j=0.0,k=0,l=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=Ru(d|0,e|0,52)|0;G()|0;switch(f&2047){case 0:{if(a!=0.0){i=+ks(a*18446744073709551616.0,b);j=i;k=(c[b>>2]|0)+-64|0}else{j=a;k=0}c[b>>2]=k;l=j;break}case 2047:{l=a;break}default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;l=+g[h>>3]}}return +l}function ls(a,b){a=+a;b=+b;return +(+ms(a,b))}function ms(a,b){a=+a;b=+b;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h+4>>2]&-2147483648|e&2147483647;c[h>>2]=d;c[h+4>>2]=f;return +(+g[h>>3])}function ns(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h>>2]|0;i=c[h+4>>2]|0;j=Ru(d|0,e|0,52)|0;G()|0;k=j&2047;j=Ru(f|0,i|0,52)|0;G()|0;l=j&2047;j=e&-2147483648;m=Su(f|0,i|0,1)|0;n=G()|0;a:do if(!((m|0)==0&(n|0)==0)?(o=os(b)|0,p=(G()|0)&2147483647,!((k|0)==2047|(p>>>0>2146435072|(p|0)==2146435072&o>>>0>0))):0){o=Su(d|0,e|0,1)|0;p=G()|0;if(!(p>>>0>n>>>0|(p|0)==(n|0)&o>>>0>m>>>0))return +((o|0)==(m|0)&(p|0)==(n|0)?a*0.0:a);if(!k){p=Su(d|0,e|0,12)|0;o=G()|0;if((o|0)>-1|(o|0)==-1&p>>>0>4294967295){q=0;r=p;p=o;while(1){o=q+-1|0;r=Su(r|0,p|0,1)|0;p=G()|0;if(!((p|0)>-1|(p|0)==-1&r>>>0>4294967295)){s=o;break}else q=o}}else s=0;q=Su(d|0,e|0,1-s|0)|0;t=s;u=q;v=G()|0}else{t=k;u=d;v=e&1048575|1048576}if(!l){q=Su(f|0,i|0,12)|0;r=G()|0;if((r|0)>-1|(r|0)==-1&q>>>0>4294967295){p=0;o=q;q=r;while(1){r=p+-1|0;o=Su(o|0,q|0,1)|0;q=G()|0;if(!((q|0)>-1|(q|0)==-1&o>>>0>4294967295)){w=r;break}else p=r}}else w=0;p=Su(f|0,i|0,1-w|0)|0;x=w;y=p;z=G()|0}else{x=l;y=f;z=i&1048575|1048576}p=Ku(u|0,v|0,y|0,z|0)|0;o=G()|0;q=(o|0)>-1|(o|0)==-1&p>>>0>4294967295;b:do if((t|0)>(x|0)){r=t;A=o;B=q;C=u;D=v;E=p;while(1){if(B)if((E|0)==0&(A|0)==0)break;else{F=E;H=A}else{F=C;H=D}I=Su(F|0,H|0,1)|0;J=G()|0;K=r+-1|0;L=Ku(I|0,J|0,y|0,z|0)|0;M=G()|0;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(x|0)){r=K;A=M;B=N;C=I;D=J;E=L}else{O=K;P=N;Q=L;R=M;S=I;T=J;break b}}U=a*0.0;break a}else{O=t;P=q;Q=p;R=o;S=u;T=v}while(0);if(P)if((Q|0)==0&(R|0)==0){U=a*0.0;break}else{V=R;W=Q}else{V=T;W=S}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){o=O;p=W;q=V;while(1){E=Su(p|0,q|0,1)|0;D=G()|0;C=o+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){o=C;p=E;q=D}else{X=C;Y=E;Z=D;break}}}else{X=O;Y=W;Z=V}if((X|0)>0){q=Ju(Y|0,Z|0,0,-1048576)|0;p=G()|0;o=Su(X|0,0,52)|0;_=p|(G()|0);$=q|o}else{o=Ru(Y|0,Z|0,1-X|0)|0;_=G()|0;$=o}c[h>>2]=$;c[h+4>>2]=_|j;U=+g[h>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function os(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;F(c[h+4>>2]|0);return b|0}function ps(a,b){a=+a;b=+b;return +(+ns(a,b))}function qs(a,b){a=+a;b=b|0;return +(+js(a,b))}function rs(a,b){a=+a;b=b|0;return +(+ks(a,b))}function ss(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=b;g=d;h=c;while(1){i=a[f>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function ts(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e)f=0;else{g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=c;i=0}else{j=b;k=e;l=c;m=g;while(1){k=k+-1|0;n=a[l>>0]|0;if(!(m<<24>>24==n<<24>>24&((k|0)!=0&n<<24>>24!=0))){h=l;i=m;break a}j=j+1|0;n=l+1|0;m=a[j>>0]|0;if(!(m<<24>>24)){h=n;i=0;break}else l=n}}while(0);f=(i&255)-(d[h>>0]|0)|0}return f|0}function us(a){a=a|0;return (a+-48|0)>>>0<10|0}function vs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=d;d=ws(a,b,f)|0;Fa=e;return d|0}function ws(a,b,c){a=a|0;b=b|0;c=c|0;return xs(a,2147483647,b,c)|0}function xs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Fa;Fa=Fa+128|0;h=g+124|0;i=g;j=i;k=35304;l=j+124|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((d+-1|0)>>>0>2147483646)if(!d){m=h;n=1;o=4}else{c[(es()|0)>>2]=75;p=-1}else{m=b;n=d;o=4}if((o|0)==4){o=-2-m|0;d=n>>>0>o>>>0?o:n;c[i+48>>2]=d;n=i+20|0;c[n>>2]=m;c[i+44>>2]=m;o=m+d|0;m=i+16|0;c[m>>2]=o;c[i+28>>2]=o;o=ys(i,e,f)|0;if(!d)p=o;else{d=c[n>>2]|0;a[d+(((d|0)==(c[m>>2]|0))<<31>>31)>>0]=0;p=o}}Fa=g;return p|0}function ys(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=Fa;Fa=Fa+224|0;g=f+208|0;h=f+160|0;i=f+80|0;j=f;k=h;l=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));c[g>>2]=c[e>>2];if((zs(0,d,g,i,h)|0)<0)m=-1;else{if((c[b+76>>2]|0)>-1)n=As(b)|0;else n=0;e=c[b>>2]|0;k=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){l=b+44|0;o=c[l>>2]|0;c[l>>2]=j;p=b+28|0;c[p>>2]=j;q=b+20|0;c[q>>2]=j;c[e>>2]=80;r=b+16|0;c[r>>2]=j+80;j=zs(b,d,g,i,h)|0;if(!o)s=j;else{La[c[b+36>>2]&7](b,0,0)|0;t=(c[q>>2]|0)==0?-1:j;c[l>>2]=o;c[e>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=0;s=t}}else s=zs(b,d,g,i,h)|0;h=c[b>>2]|0;c[b>>2]=h|k;if(n|0)Bs(b);m=(h&32|0)==0?s:-1}Fa=f;return m|0}function zs(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;j=Fa;Fa=Fa+64|0;k=j+56|0;l=j+40|0;m=j;n=j+48|0;o=j+60|0;c[k>>2]=e;e=(d|0)!=0;p=m+40|0;q=p;r=m+39|0;m=n+4|0;s=0;t=0;u=0;a:while(1){v=s;w=t;while(1){do if((w|0)>-1)if((v|0)>(2147483647-w|0)){c[(es()|0)>>2]=75;x=-1;break}else{x=v+w|0;break}else x=w;while(0);y=c[k>>2]|0;z=a[y>>0]|0;if(!(z<<24>>24)){A=94;break a}B=z;z=y;b:while(1){switch(B<<24>>24){case 37:{A=10;break b;break}case 0:{C=z;break b;break}default:{}}D=z+1|0;c[k>>2]=D;B=a[D>>0]|0;z=D}c:do if((A|0)==10){A=0;B=z;D=z;while(1){if((a[D+1>>0]|0)!=37){C=B;break c}E=B+1|0;D=D+2|0;c[k>>2]=D;if((a[D>>0]|0)!=37){C=E;break}else B=E}}while(0);v=C-y|0;if(e)Cs(d,y,v);if(!v)break;else w=x}w=(us(a[(c[k>>2]|0)+1>>0]|0)|0)==0;v=c[k>>2]|0;if(!w?(a[v+2>>0]|0)==36:0){F=(a[v+1>>0]|0)+-48|0;H=1;I=3}else{F=-1;H=u;I=1}w=v+I|0;c[k>>2]=w;v=a[w>>0]|0;z=(v<<24>>24)+-32|0;if(z>>>0>31|(1<<z&75913|0)==0){J=0;K=v;L=w}else{v=0;B=z;z=w;while(1){w=1<<B|v;D=z+1|0;c[k>>2]=D;E=a[D>>0]|0;B=(E<<24>>24)+-32|0;if(B>>>0>31|(1<<B&75913|0)==0){J=w;K=E;L=D;break}else{v=w;z=D}}}if(K<<24>>24==42){if((us(a[L+1>>0]|0)|0)!=0?(z=c[k>>2]|0,(a[z+2>>0]|0)==36):0){v=z+1|0;c[i+((a[v>>0]|0)+-48<<2)>>2]=10;M=c[h+((a[v>>0]|0)+-48<<3)>>2]|0;N=1;O=z+3|0}else{if(H|0){P=-1;break}if(e){z=(c[f>>2]|0)+(4-1)&~(4-1);v=c[z>>2]|0;c[f>>2]=z+4;Q=v}else Q=0;M=Q;N=0;O=(c[k>>2]|0)+1|0}c[k>>2]=O;v=(M|0)<0;R=v?0-M|0:M;S=v?J|8192:J;T=N;U=O}else{v=Ds(k)|0;if((v|0)<0){P=-1;break}R=v;S=J;T=H;U=c[k>>2]|0}do if((a[U>>0]|0)==46){v=U+1|0;if((a[v>>0]|0)!=42){c[k>>2]=v;v=Ds(k)|0;V=v;W=c[k>>2]|0;break}if(us(a[U+2>>0]|0)|0?(v=c[k>>2]|0,(a[v+3>>0]|0)==36):0){z=v+2|0;c[i+((a[z>>0]|0)+-48<<2)>>2]=10;B=c[h+((a[z>>0]|0)+-48<<3)>>2]|0;z=v+4|0;c[k>>2]=z;V=B;W=z;break}if(T|0){P=-1;break a}if(e){z=(c[f>>2]|0)+(4-1)&~(4-1);B=c[z>>2]|0;c[f>>2]=z+4;X=B}else X=0;B=(c[k>>2]|0)+2|0;c[k>>2]=B;V=X;W=B}else{V=-1;W=U}while(0);B=0;z=W;while(1){if(((a[z>>0]|0)+-65|0)>>>0>57){P=-1;break a}v=z;z=z+1|0;c[k>>2]=z;Y=a[(a[v>>0]|0)+-65+(32400+(B*58|0))>>0]|0;Z=Y&255;if((Z+-1|0)>>>0>=8)break;else B=Z}if(!(Y<<24>>24)){P=-1;break}v=(F|0)>-1;do if(Y<<24>>24==19)if(v){P=-1;break a}else A=54;else{if(v){c[i+(F<<2)>>2]=Z;D=h+(F<<3)|0;w=c[D+4>>2]|0;E=l;c[E>>2]=c[D>>2];c[E+4>>2]=w;A=54;break}if(!e){P=0;break a}Es(l,Z,f);_=c[k>>2]|0;A=55}while(0);if((A|0)==54){A=0;if(e){_=z;A=55}else $=0}d:do if((A|0)==55){A=0;v=a[_+-1>>0]|0;w=(B|0)!=0&(v&15|0)==3?v&-33:v;v=S&-65537;E=(S&8192|0)==0?S:v;e:do switch(w|0){case 110:{switch((B&255)<<24>>24){case 0:{c[c[l>>2]>>2]=x;$=0;break d;break}case 1:{c[c[l>>2]>>2]=x;$=0;break d;break}case 2:{D=c[l>>2]|0;c[D>>2]=x;c[D+4>>2]=((x|0)<0)<<31>>31;$=0;break d;break}case 3:{b[c[l>>2]>>1]=x;$=0;break d;break}case 4:{a[c[l>>2]>>0]=x;$=0;break d;break}case 6:{c[c[l>>2]>>2]=x;$=0;break d;break}case 7:{D=c[l>>2]|0;c[D>>2]=x;c[D+4>>2]=((x|0)<0)<<31>>31;$=0;break d;break}default:{$=0;break d}}break}case 112:{aa=120;ba=V>>>0>8?V:8;ca=E|8;A=67;break}case 88:case 120:{aa=w;ba=V;ca=E;A=67;break}case 111:{D=l;da=c[D>>2]|0;ea=c[D+4>>2]|0;D=Gs(da,ea,p)|0;fa=q-D|0;ga=D;ha=0;ia=71948;ja=(E&8|0)==0|(V|0)>(fa|0)?V:fa+1|0;ka=E;la=da;ma=ea;A=73;break}case 105:case 100:{ea=l;da=c[ea>>2]|0;fa=c[ea+4>>2]|0;if((fa|0)<0){ea=Ku(0,0,da|0,fa|0)|0;D=G()|0;na=l;c[na>>2]=ea;c[na+4>>2]=D;oa=1;pa=71948;qa=ea;ra=D;A=72;break e}else{oa=(E&2049|0)!=0&1;pa=(E&2048|0)==0?((E&1|0)==0?71948:71950):71949;qa=da;ra=fa;A=72;break e}break}case 117:{fa=l;oa=0;pa=71948;qa=c[fa>>2]|0;ra=c[fa+4>>2]|0;A=72;break}case 99:{a[r>>0]=c[l>>2];sa=r;ta=0;ua=71948;va=1;wa=v;xa=q;break}case 109:{ya=Is(c[(es()|0)>>2]|0)|0;A=77;break}case 115:{fa=c[l>>2]|0;ya=(fa|0)==0?71958:fa;A=77;break}case 67:{c[n>>2]=c[l>>2];c[m>>2]=0;c[l>>2]=n;za=-1;A=81;break}case 83:{if(!V){Ks(d,32,R,0,E);Aa=0;A=91}else{za=V;A=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{$=Ms(d,+g[l>>3],R,V,E,w)|0;break d;break}default:{sa=y;ta=0;ua=71948;va=V;wa=E;xa=q}}while(0);f:do if((A|0)==67){A=0;w=l;fa=c[w>>2]|0;da=c[w+4>>2]|0;w=Fs(fa,da,p,aa&32)|0;D=(ca&8|0)==0|(fa|0)==0&(da|0)==0;ga=w;ha=D?0:2;ia=D?71948:71948+(aa>>>4)|0;ja=ba;ka=ca;la=fa;ma=da;A=73}else if((A|0)==72){A=0;ga=Hs(qa,ra,p)|0;ha=oa;ia=pa;ja=V;ka=E;la=qa;ma=ra;A=73}else if((A|0)==77){A=0;da=Js(ya,0,V)|0;fa=(da|0)==0;sa=ya;ta=0;ua=71948;va=fa?V:da-ya|0;wa=v;xa=fa?ya+V|0:da}else if((A|0)==81){A=0;da=c[l>>2]|0;fa=0;while(1){D=c[da>>2]|0;if(!D){Ba=fa;break}w=Ls(o,D)|0;Ca=(w|0)<0;if(Ca|w>>>0>(za-fa|0)>>>0){A=85;break}D=w+fa|0;if(za>>>0>D>>>0){da=da+4|0;fa=D}else{Ba=D;break}}if((A|0)==85){A=0;if(Ca){P=-1;break a}else Ba=fa}Ks(d,32,R,Ba,E);if(!Ba){Aa=0;A=91}else{da=c[l>>2]|0;D=0;while(1){w=c[da>>2]|0;if(!w){Aa=Ba;A=91;break f}ea=Ls(o,w)|0;D=ea+D|0;if((D|0)>(Ba|0)){Aa=Ba;A=91;break f}Cs(d,o,ea);if(D>>>0>=Ba>>>0){Aa=Ba;A=91;break}else da=da+4|0}}}while(0);if((A|0)==73){A=0;v=(la|0)!=0|(ma|0)!=0;da=(ja|0)!=0|v;D=q-ga+((v^1)&1)|0;sa=da?ga:p;ta=ha;ua=ia;va=da?((ja|0)>(D|0)?ja:D):0;wa=(ja|0)>-1?ka&-65537:ka;xa=q}else if((A|0)==91){A=0;Ks(d,32,R,Aa,E^8192);$=(R|0)>(Aa|0)?R:Aa;break}D=xa-sa|0;da=(va|0)<(D|0)?D:va;v=da+ta|0;fa=(R|0)<(v|0)?v:R;Ks(d,32,fa,v,wa);Cs(d,ua,ta);Ks(d,48,fa,v,wa^65536);Ks(d,48,da,D,0);Cs(d,sa,D);Ks(d,32,fa,v,wa^8192);$=fa}while(0);s=$;t=x;u=T}g:do if((A|0)==94)if(!d)if(!u)P=0;else{T=1;while(1){t=c[i+(T<<2)>>2]|0;if(!t)break;Es(h+(T<<3)|0,t,f);t=T+1|0;if(t>>>0<10)T=t;else{P=1;break g}}t=T;while(1){if(c[i+(t<<2)>>2]|0){P=-1;break g}t=t+1|0;if(t>>>0>=10){P=1;break}}}else P=x;while(0);Fa=j;return P|0}function As(a){a=a|0;return 1}function Bs(a){a=a|0;return}function Cs(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))Ys(b,d,a)|0;return}function Ds(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!(us(a[c[b>>2]>>0]|0)|0))d=0;else{e=0;while(1){f=c[b>>2]|0;g=(e*10|0)+-48+(a[f>>0]|0)|0;h=f+1|0;c[b>>2]=h;if(!(us(a[h>>0]|0)|0)){d=g;break}else e=g}}return d|0}function Es(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f;break a;break}case 10:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a;break}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=f;c[e+4>>2]=0;break a;break}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);f=e;h=c[f>>2]|0;i=c[f+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=h;c[e+4>>2]=i;break a;break}case 13:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&65535)<<16>>16;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 14:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&65535;c[i+4>>2]=0;break a;break}case 15:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&255)<<24>>24;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 16:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&255;c[i+4>>2]=0;break a;break}case 17:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+g[i>>3];c[d>>2]=i+8;g[a>>3]=j;break a;break}case 18:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+g[i>>3];c[d>>2]=i+8;g[a>>3]=j;break a;break}default:break a}while(0);while(0);return}function Fs(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0;if((b|0)==0&(c|0)==0)g=e;else{h=e;e=c;c=b;while(1){b=h+-1|0;a[b>>0]=d[32864+(c&15)>>0]|0|f;c=Ru(c|0,e|0,4)|0;e=G()|0;if((c|0)==0&(e|0)==0){g=b;break}else h=b}}return g|0}function Gs(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;if((b|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=b;while(1){b=f+-1|0;a[b>>0]=c&7|48;c=Ru(c|0,d|0,3)|0;d=G()|0;if((c|0)==0&(d|0)==0){e=b;break}else f=b}}return e|0}function Hs(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=d;f=b;g=c;do{c=f;f=Qu(f|0,g|0,10,0)|0;h=g;g=G()|0;i=Pu(f|0,g|0,10,0)|0;j=Ku(c|0,h|0,i|0,G()|0)|0;G()|0;e=e+-1|0;a[e>>0]=j&255|48}while(h>>>0>9|(h|0)==9&c>>>0>4294967295);k=f;l=e}else{k=b;l=d}if(!k)m=l;else{d=k;k=l;while(1){l=d;d=(d>>>0)/10|0;b=k+-1|0;a[b>>0]=l-(d*10|0)|48;if(l>>>0<10){m=b;break}else k=b}}return m|0}function Is(a){a=a|0;return Ss(a,c[(Rs()|0)+188>>2]|0)|0}function Js(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=b;j=e;while(1){if((a[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=b;r=e;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else m=16;b:do if((m|0)==6){r=d&255;if((a[k>>0]|0)==r<<24>>24)if(!l){m=16;break}else{t=k;break}q=B(f,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){e=c[s>>2]^q;if((e&-2139062144^-2139062144)&e+-16843009|0){u=g;v=s;break c}e=s+4|0;b=g+-4|0;if(b>>>0>3){s=e;g=b}else{w=e;x=b;m=11;break}}}else{w=k;x=l;m=11}while(0);if((m|0)==11)if(!x){m=16;break}else{u=x;v=w}q=v;g=u;while(1){if((a[q>>0]|0)==r<<24>>24){t=q;break b}g=g+-1|0;if(!g){m=16;break}else q=q+1|0}}while(0);if((m|0)==16)t=0;return t|0}function Ks(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Fa;Fa=Fa+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Yu(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{Cs(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;Cs(a,g,h)}Fa=f;return}function Ls(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Os(a,b,0)|0;return c|0}function Ms(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0.0,F=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0;j=Fa;Fa=Fa+560|0;k=j+32|0;l=j+536|0;m=j;n=m;o=j+540|0;c[l>>2]=0;p=o+12|0;q=Ns(e)|0;r=G()|0;if((r|0)<0){s=-e;t=Ns(s)|0;u=s;v=1;w=71965;x=G()|0;y=t}else{u=e;v=(h&2049|0)!=0&1;w=(h&2048|0)==0?((h&1|0)==0?71966:71971):71968;x=r;y=q}do if(0==0&(x&2146435072|0)==2146435072){q=(i&32|0)!=0;y=v+3|0;Ks(b,32,f,y,h&-65537);Cs(b,w,v);Cs(b,u!=u|0.0!=0.0?(q?72014:71992):q?71984:71988,3);Ks(b,32,f,y,h^8192);z=y}else{e=+rs(u,l)*2.0;y=e!=0.0;if(y)c[l>>2]=(c[l>>2]|0)+-1;q=i|32;if((q|0)==97){r=i&32;t=(r|0)==0?w:w+9|0;A=v|2;C=12-g|0;do if(!(g>>>0>11|(C|0)==0)){s=8.0;D=C;do{D=D+-1|0;s=s*16.0}while((D|0)!=0);if((a[t>>0]|0)==45){E=-(s+(-e-s));break}else{E=e+s-s;break}}else E=e;while(0);C=c[l>>2]|0;D=(C|0)<0?0-C|0:C;F=Hs(D,((D|0)<0)<<31>>31,p)|0;if((F|0)==(p|0)){D=o+11|0;a[D>>0]=48;H=D}else H=F;a[H+-1>>0]=(C>>31&2)+43;C=H+-2|0;a[C>>0]=i+15;F=(g|0)<1;D=(h&8|0)==0;I=m;J=E;while(1){K=~~J;L=I+1|0;a[I>>0]=r|d[32864+K>>0];J=(J-+(K|0))*16.0;if((L-n|0)==1?!(D&(F&J==0.0)):0){a[L>>0]=46;M=I+2|0}else M=L;if(!(J!=0.0))break;else I=M}I=M;if((g|0)!=0?(-2-n+I|0)<(g|0):0){F=p;D=C;N=g+2+F-D|0;O=F;P=D}else{D=p;F=C;N=D-n-F+I|0;O=D;P=F}F=N+A|0;Ks(b,32,f,F,h);Cs(b,t,A);Ks(b,48,f,F,h^65536);D=I-n|0;Cs(b,m,D);I=O-P|0;Ks(b,48,N-(D+I)|0,0,0);Cs(b,C,I);Ks(b,32,f,F,h^8192);z=F;break}F=(g|0)<0?6:g;if(y){I=(c[l>>2]|0)+-28|0;c[l>>2]=I;Q=e*268435456.0;R=I}else{Q=e;R=c[l>>2]|0}I=(R|0)<0?k:k+288|0;D=I;J=Q;do{r=~~J>>>0;c[D>>2]=r;D=D+4|0;J=(J-+(r>>>0))*1.0e9}while(J!=0.0);y=I;if((R|0)>0){C=I;A=D;t=R;while(1){r=(t|0)<29?t:29;L=A+-4|0;if(L>>>0>=C>>>0){K=L;L=0;do{S=Su(c[K>>2]|0,0,r|0)|0;T=Ju(S|0,G()|0,L|0,0)|0;S=G()|0;L=Qu(T|0,S|0,1e9,0)|0;U=Pu(L|0,G()|0,1e9,0)|0;V=Ku(T|0,S|0,U|0,G()|0)|0;G()|0;c[K>>2]=V;K=K+-4|0}while(K>>>0>=C>>>0);if(L){K=C+-4|0;c[K>>2]=L;W=K}else W=C}else W=C;a:do if(A>>>0>W>>>0){K=A;while(1){V=K+-4|0;if(c[V>>2]|0){X=K;break a}if(V>>>0>W>>>0)K=V;else{X=V;break}}}else X=A;while(0);L=(c[l>>2]|0)-r|0;c[l>>2]=L;if((L|0)>0){C=W;A=X;t=L}else{Y=W;Z=X;_=L;break}}}else{Y=I;Z=D;_=R}if((_|0)<0){t=((F+25|0)/9|0)+1|0;A=(q|0)==102;C=Y;L=Z;K=_;while(1){V=0-K|0;U=(V|0)<9?V:9;if(C>>>0<L>>>0){V=(1<<U)+-1|0;S=1e9>>>U;T=0;$=C;do{aa=c[$>>2]|0;c[$>>2]=(aa>>>U)+T;T=B(aa&V,S)|0;$=$+4|0}while($>>>0<L>>>0);$=(c[C>>2]|0)==0?C+4|0:C;if(!T){ba=L;ca=$}else{c[L>>2]=T;ba=L+4|0;ca=$}}else{ba=L;ca=(c[C>>2]|0)==0?C+4|0:C}$=A?I:ca;S=(ba-$>>2|0)>(t|0)?$+(t<<2)|0:ba;K=(c[l>>2]|0)+U|0;c[l>>2]=K;if((K|0)>=0){da=ca;ea=S;break}else{C=ca;L=S}}}else{da=Y;ea=Z}if(da>>>0<ea>>>0){L=(y-da>>2)*9|0;C=c[da>>2]|0;if(C>>>0<10)fa=L;else{K=L;L=10;while(1){L=L*10|0;t=K+1|0;if(C>>>0<L>>>0){fa=t;break}else K=t}}}else fa=0;K=(q|0)==103;L=(F|0)!=0;C=F-((q|0)==102?0:fa)+((L&K)<<31>>31)|0;if((C|0)<(((ea-y>>2)*9|0)+-9|0)){t=C+9216|0;C=(t|0)/9|0;A=I+4+(C+-1024<<2)|0;D=t-(C*9|0)|0;if((D|0)<8){C=D;D=10;while(1){t=D*10|0;if((C|0)<7){C=C+1|0;D=t}else{ga=t;break}}}else ga=10;D=c[A>>2]|0;C=(D>>>0)/(ga>>>0)|0;q=D-(B(C,ga)|0)|0;t=(A+4|0)==(ea|0);if(!(t&(q|0)==0)){s=(C&1|0)==0?9007199254740992.0:9007199254740994.0;C=ga>>>1;J=q>>>0<C>>>0?.5:t&(q|0)==(C|0)?1.0:1.5;if(!v){ha=J;ia=s}else{C=(a[w>>0]|0)==45;ha=C?-J:J;ia=C?-s:s}C=D-q|0;c[A>>2]=C;if(ia+ha!=ia){q=C+ga|0;c[A>>2]=q;if(q>>>0>999999999){q=A;C=da;while(1){D=q+-4|0;c[q>>2]=0;if(D>>>0<C>>>0){t=C+-4|0;c[t>>2]=0;ja=t}else ja=C;t=(c[D>>2]|0)+1|0;c[D>>2]=t;if(t>>>0>999999999){q=D;C=ja}else{ka=D;la=ja;break}}}else{ka=A;la=da}C=(y-la>>2)*9|0;q=c[la>>2]|0;if(q>>>0<10){ma=ka;na=C;oa=la}else{D=C;C=10;while(1){C=C*10|0;t=D+1|0;if(q>>>0<C>>>0){ma=ka;na=t;oa=la;break}else D=t}}}else{ma=A;na=fa;oa=da}}else{ma=A;na=fa;oa=da}D=ma+4|0;pa=na;qa=ea>>>0>D>>>0?D:ea;ra=oa}else{pa=fa;qa=ea;ra=da}D=0-pa|0;b:do if(qa>>>0>ra>>>0){C=qa;while(1){q=C+-4|0;if(c[q>>2]|0){sa=C;ta=1;break b}if(q>>>0>ra>>>0)C=q;else{sa=q;ta=0;break}}}else{sa=qa;ta=0}while(0);do if(K){A=F+((L^1)&1)|0;if((A|0)>(pa|0)&(pa|0)>-5){ua=i+-1|0;va=A+-1-pa|0}else{ua=i+-2|0;va=A+-1|0}if(!(h&8)){if(ta?(A=c[sa+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){C=0;U=10;while(1){U=U*10|0;T=C+1|0;if((A>>>0)%(U>>>0)|0|0){wa=T;break}else C=T}}else wa=0;else wa=9;C=((sa-y>>2)*9|0)+-9|0;if((ua|32|0)==102){U=C-wa|0;A=(U|0)>0?U:0;xa=ua;ya=(va|0)<(A|0)?va:A;break}else{A=C+pa-wa|0;C=(A|0)>0?A:0;xa=ua;ya=(va|0)<(C|0)?va:C;break}}else{xa=ua;ya=va}}else{xa=i;ya=F}while(0);F=(ya|0)!=0;y=F?1:h>>>3&1;L=(xa|32|0)==102;if(L){za=0;Aa=(pa|0)>0?pa:0}else{K=(pa|0)<0?D:pa;C=Hs(K,((K|0)<0)<<31>>31,p)|0;K=p;if((K-C|0)<2){A=C;while(1){U=A+-1|0;a[U>>0]=48;if((K-U|0)<2)A=U;else{Ba=U;break}}}else Ba=C;a[Ba+-1>>0]=(pa>>31&2)+43;A=Ba+-2|0;a[A>>0]=xa;za=A;Aa=K-A|0}A=v+1+ya+y+Aa|0;Ks(b,32,f,A,h);Cs(b,w,v);Ks(b,48,f,A,h^65536);if(L){D=ra>>>0>I>>>0?I:ra;U=m+9|0;T=U;q=m+8|0;t=D;do{S=Hs(c[t>>2]|0,0,U)|0;if((t|0)==(D|0))if((S|0)==(U|0)){a[q>>0]=48;Ca=q}else Ca=S;else if(S>>>0>m>>>0){Yu(m|0,48,S-n|0)|0;$=S;while(1){V=$+-1|0;if(V>>>0>m>>>0)$=V;else{Ca=V;break}}}else Ca=S;Cs(b,Ca,T-Ca|0);t=t+4|0}while(t>>>0<=I>>>0);if(!((h&8|0)==0&(F^1)))Cs(b,72022,1);if(t>>>0<sa>>>0&(ya|0)>0){I=ya;T=t;while(1){q=Hs(c[T>>2]|0,0,U)|0;if(q>>>0>m>>>0){Yu(m|0,48,q-n|0)|0;D=q;while(1){L=D+-1|0;if(L>>>0>m>>>0)D=L;else{Da=L;break}}}else Da=q;Cs(b,Da,(I|0)<9?I:9);T=T+4|0;D=I+-9|0;if(!(T>>>0<sa>>>0&(I|0)>9)){Ea=D;break}else I=D}}else Ea=ya;Ks(b,48,Ea+9|0,9,0)}else{I=ta?sa:ra+4|0;if(ra>>>0<I>>>0&(ya|0)>-1){T=m+9|0;U=(h&8|0)==0;t=T;F=0-n|0;D=m+8|0;S=ya;L=ra;while(1){y=Hs(c[L>>2]|0,0,T)|0;if((y|0)==(T|0)){a[D>>0]=48;Ga=D}else Ga=y;do if((L|0)==(ra|0)){y=Ga+1|0;Cs(b,Ga,1);if(U&(S|0)<1){Ha=y;break}Cs(b,72022,1);Ha=y}else{if(Ga>>>0<=m>>>0){Ha=Ga;break}Yu(m|0,48,Ga+F|0)|0;y=Ga;while(1){K=y+-1|0;if(K>>>0>m>>>0)y=K;else{Ha=K;break}}}while(0);q=t-Ha|0;Cs(b,Ha,(S|0)>(q|0)?q:S);y=S-q|0;L=L+4|0;if(!(L>>>0<I>>>0&(y|0)>-1)){Ia=y;break}else S=y}}else Ia=ya;Ks(b,48,Ia+18|0,18,0);Cs(b,za,p-za|0)}Ks(b,32,f,A,h^8192);z=A}while(0);Fa=j;return ((z|0)<(f|0)?f:z)|0}function Ns(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;F(c[h+4>>2]|0);return b|0}function Os(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(!(c[c[(Ps()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;f=1;break}else{c[(es()|0)>>2]=84;f=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;break}else{c[(es()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function Ps(){return Qs()|0}function Qs(){return 35428}function Rs(){return Qs()|0}function Ss(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((d[32880+f>>0]|0)==(b|0)){g=4;break}h=f+1|0;if((h|0)==87){i=87;g=5;break}else f=h}if((g|0)==4)if(!f)j=32976;else{i=f;g=5}if((g|0)==5){g=32976;f=i;while(1){i=g;do{b=i;i=i+1|0}while((a[b>>0]|0)!=0);f=f+-1|0;if(!f){j=i;break}else g=i}}return Ts(j,c[e+20>>2]|0)|0}function Ts(a,b){a=a|0;b=b|0;return Us(a,b)|0}function Us(a,b){a=a|0;b=b|0;var d=0;if(!b)d=0;else d=Vs(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((d|0)==0?a:d)|0}function Vs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=(c[b>>2]|0)+1794895138|0;g=Ws(c[b+8>>2]|0,f)|0;h=Ws(c[b+12>>2]|0,f)|0;i=Ws(c[b+16>>2]|0,f)|0;a:do if((g>>>0<d>>>2>>>0?(j=d-(g<<2)|0,h>>>0<j>>>0&i>>>0<j>>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Ws(c[b+(q<<2)>>2]|0,f)|0;s=Ws(c[b+(q+1<<2)>>2]|0,f)|0;if(!(s>>>0<d>>>0&r>>>0<(d-s|0)>>>0)){t=0;break a}if(a[b+(s+r)>>0]|0){t=0;break a}r=Xs(e,b+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}l=s?l:o;m=s?n:m-n|0}m=p+k|0;l=Ws(c[b+(m<<2)>>2]|0,f)|0;j=Ws(c[b+(m+1<<2)>>2]|0,f)|0;if(j>>>0<d>>>0&l>>>0<(d-j|0)>>>0)t=(a[b+(j+l)>>0]|0)==0?b+j|0:0;else t=0}else t=0;while(0);return t|0}function Ws(a,b){a=a|0;b=b|0;var c=0;c=Tu(a|0)|0;return ((b|0)==0?a:c)|0}function Xs(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=b;do{c=c+1|0;d=d+1|0;b=a[c>>0]|0;e=a[d>>0]|0}while(!(b<<24>>24==0?1:b<<24>>24!=e<<24>>24));f=e;g=b}return (g&255)-(f&255)|0}function Ys(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Zs(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0<d>>>0){j=La[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){l=0;m=b;n=d;o=k}else{f=d;while(1){p=f+-1|0;if((a[b+p>>0]|0)==10)break;if(!p){l=0;m=b;n=d;o=k;break b}else f=p}p=La[c[e+36>>2]&7](e,b,f)|0;if(p>>>0<f>>>0){j=p;break a}l=f;m=b+f|0;n=d-f|0;o=c[g>>2]|0}while(0);Xu(o|0,m|0,n|0)|0;c[g>>2]=(c[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function Zs(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function _s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;Xu(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function $s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function at(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;a:do if(e>>>0>36){c[(es()|0)>>2]=22;i=0;j=0}else{k=b+4|0;l=b+100|0;do{m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;n=d[m>>0]|0}else n=bt(b)|0}while((ct(n)|0)!=0);b:do switch(n|0){case 43:case 45:{m=((n|0)==45)<<31>>31;o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;p=m;q=d[o>>0]|0;break b}else{p=m;q=bt(b)|0;break b}break}default:{p=0;q=n}}while(0);m=(e|0)==0;do if((e|16|0)==16&(q|0)==48){o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;r=d[o>>0]|0}else r=bt(b)|0;if((r|32|0)!=120)if(m){s=r;t=8;u=47;break}else{v=r;w=e;u=32;break}o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;x=d[o>>0]|0}else x=bt(b)|0;if((d[34785+x>>0]|0)>15){o=(c[l>>2]|0)==0;if(!o)c[k>>2]=(c[k>>2]|0)+-1;if(!f){$s(b,0);i=0;j=0;break a}if(o){i=0;j=0;break a}c[k>>2]=(c[k>>2]|0)+-1;i=0;j=0;break a}else{s=x;t=16;u=47}}else{o=m?10:e;if(o>>>0>(d[34785+q>>0]|0)>>>0){v=q;w=o;u=32}else{if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;$s(b,0);c[(es()|0)>>2]=22;i=0;j=0;break a}}while(0);c:do if((u|0)==32)if((w|0)==10){m=v+-48|0;if(m>>>0<10){o=0;y=m;do{o=(o*10|0)+y|0;m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;z=d[m>>0]|0}else z=bt(b)|0;y=z+-48|0}while(y>>>0<10&o>>>0<429496729);if(y>>>0<10){m=z;A=o;C=0;D=y;while(1){E=Pu(A|0,C|0,10,0)|0;H=G()|0;I=((D|0)<0)<<31>>31;J=~I;if(H>>>0>J>>>0|(H|0)==(J|0)&E>>>0>~D>>>0){K=10;L=m;M=A;N=C;u=76;break c}A=Ju(E|0,H|0,D|0,I|0)|0;C=G()|0;I=c[k>>2]|0;if(I>>>0<(c[l>>2]|0)>>>0){c[k>>2]=I+1;O=d[I>>0]|0}else O=bt(b)|0;D=O+-48|0;if(!(D>>>0<10&(C>>>0<429496729|(C|0)==429496729&A>>>0<2576980378)))break;else m=O}if(D>>>0>9){P=p;Q=C;R=A}else{K=10;L=O;M=A;N=C;u=76}}else{P=p;Q=0;R=o}}else{P=p;Q=0;R=0}}else{s=v;t=w;u=47}while(0);d:do if((u|0)==47){if(!(t+-1&t)){m=a[71996+((t*23|0)>>>5&7)>>0]|0;y=a[34785+s>>0]|0;I=y&255;if(t>>>0>I>>>0){H=0;E=I;do{H=E|H<<m;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;S=d[J>>0]|0}else S=bt(b)|0;T=a[34785+S>>0]|0;E=T&255}while(H>>>0<134217728&t>>>0>E>>>0);U=S;V=E;W=0;X=H;Y=T}else{U=s;V=I;W=0;X=0;Y=y}o=Ru(-1,-1,m|0)|0;C=G()|0;if(t>>>0<=V>>>0|(C>>>0<W>>>0|(C|0)==(W|0)&o>>>0<X>>>0)){K=t;L=U;M=X;N=W;u=76;break}A=X;D=W;J=Y;while(1){Z=Su(A|0,D|0,m|0)|0;_=G()|0;$=Z|J&255;Z=c[k>>2]|0;if(Z>>>0<(c[l>>2]|0)>>>0){c[k>>2]=Z+1;aa=d[Z>>0]|0}else aa=bt(b)|0;J=a[34785+aa>>0]|0;if(t>>>0<=(J&255)>>>0|(_>>>0>C>>>0|(_|0)==(C|0)&$>>>0>o>>>0)){K=t;L=aa;M=$;N=_;u=76;break d}else{A=$;D=_}}}D=a[34785+s>>0]|0;A=D&255;if(t>>>0>A>>>0){o=0;C=A;do{o=C+(B(o,t)|0)|0;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;ba=d[J>>0]|0}else ba=bt(b)|0;ca=a[34785+ba>>0]|0;C=ca&255}while(o>>>0<119304647&t>>>0>C>>>0);da=ba;ea=C;fa=ca;ga=o;ha=0}else{da=s;ea=A;fa=D;ga=0;ha=0}if(t>>>0>ea>>>0){J=Qu(-1,-1,t|0,0)|0;m=G()|0;y=da;I=ha;H=ga;E=fa;while(1){if(I>>>0>m>>>0|(I|0)==(m|0)&H>>>0>J>>>0){K=t;L=y;M=H;N=I;u=76;break d}_=Pu(H|0,I|0,t|0,0)|0;$=G()|0;Z=E&255;if($>>>0>4294967295|($|0)==-1&_>>>0>~Z>>>0){K=t;L=y;M=H;N=I;u=76;break d}ia=Ju(_|0,$|0,Z|0,0)|0;Z=G()|0;$=c[k>>2]|0;if($>>>0<(c[l>>2]|0)>>>0){c[k>>2]=$+1;ja=d[$>>0]|0}else ja=bt(b)|0;E=a[34785+ja>>0]|0;if(t>>>0<=(E&255)>>>0){K=t;L=ja;M=ia;N=Z;u=76;break}else{y=ja;I=Z;H=ia}}}else{K=t;L=da;M=ga;N=ha;u=76}}while(0);if((u|0)==76)if(K>>>0>(d[34785+L>>0]|0)>>>0){do{H=c[k>>2]|0;if(H>>>0<(c[l>>2]|0)>>>0){c[k>>2]=H+1;ka=d[H>>0]|0}else ka=bt(b)|0}while(K>>>0>(d[34785+ka>>0]|0)>>>0);c[(es()|0)>>2]=34;P=(g&1|0)==0&0==0?p:0;Q=h;R=g}else{P=p;Q=N;R=M}if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;if(!(Q>>>0<h>>>0|(Q|0)==(h|0)&R>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(P|0)!=0)){c[(es()|0)>>2]=34;H=Ju(g|0,h|0,-1,-1)|0;i=G()|0;j=H;break}if(Q>>>0>h>>>0|(Q|0)==(h|0)&R>>>0>g>>>0){c[(es()|0)>>2]=34;i=h;j=g;break}}H=((P|0)<0)<<31>>31;I=Ku(R^P|0,Q^H|0,P|0,H|0)|0;i=G()|0;j=I}while(0);F(i|0);return j|0}function bt(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=b+104|0;f=c[e>>2]|0;if((f|0)!=0?(c[b+108>>2]|0)>=(f|0):0)g=4;else{f=dt(b)|0;if((f|0)>=0){h=c[e>>2]|0;e=c[b+8>>2]|0;if(h){i=c[b+4>>2]|0;j=h-(c[b+108>>2]|0)|0;h=e;if((e-i|0)<(j|0)){k=h;g=9}else{c[b+100>>2]=i+(j+-1);l=h}}else{k=e;g=9}if((g|0)==9){c[b+100>>2]=e;l=k}k=b+4|0;if(!l)m=c[k>>2]|0;else{e=c[k>>2]|0;k=b+108|0;c[k>>2]=l+1-e+(c[k>>2]|0);m=e}e=m+-1|0;if((f|0)==(d[e>>0]|0|0))n=f;else{a[e>>0]=f;n=f}}else g=4}if((g|0)==4){c[b+100>>2]=0;n=-1}return n|0}function ct(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function dt(a){a=a|0;var b=0,e=0,f=0;b=Fa;Fa=Fa+16|0;e=b;if((et(a)|0)==0?(La[c[a+32>>2]&7](a,e,1)|0)==1:0)f=d[e>>0]|0;else f=-1;Fa=b;return f|0}function et(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=b+20|0;d=b+28|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)La[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[d>>2]=0;c[e>>2]=0;e=c[b>>2]|0;if(!(e&4)){d=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=d;c[b+4>>2]=d;f=e<<27>>31}else{c[b>>2]=e|32;f=-1}return f|0}function ft(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b;a:do if(!(d&3)){e=b;f=5}else{g=b;h=d;while(1){if(!(a[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){e=j;f=5;break}else g=j}}while(0);if((f|0)==5){f=e;while(1){k=c[f>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))f=f+4|0;else break}if(!((k&255)<<24>>24))l=f;else{k=f;while(1){f=k+1|0;if(!(a[f>>0]|0)){l=f;break}else k=f}}i=l}return i-d|0}function gt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=Fa;Fa=Fa+208|0;g=f;h=f+192|0;i=B(d,b)|0;b=h;c[b>>2]=1;c[b+4>>2]=0;a:do if(i|0){b=0-d|0;c[g+4>>2]=d;c[g>>2]=d;j=2;k=d;l=d;while(1){m=k+d+l|0;c[g+(j<<2)>>2]=m;if(m>>>0<i>>>0){n=l;j=j+1|0;l=m;k=n}else break}k=a+i+b|0;if(k>>>0>a>>>0){l=k;j=1;n=a;m=1;while(1){do if((m&3|0)!=3){o=j+-1|0;if((c[g+(o<<2)>>2]|0)>>>0<(l-n|0)>>>0)ht(n,d,e,j,g);else jt(n,d,e,h,j,0,g);if((j|0)==1){kt(h,1);p=0;break}else{kt(h,o);p=1;break}}else{ht(n,d,e,j,g);it(h,2);p=j+2|0}while(0);o=c[h>>2]|1;c[h>>2]=o;q=n+d|0;if(q>>>0<k>>>0){j=p;n=q;m=o}else{r=p;s=q;t=o;break}}}else{r=1;s=a;t=1}jt(s,d,e,h,r,0,g);m=h+4|0;n=s;j=r;k=t;while(1){if((j|0)==1&(k|0)==1)if(!(c[m>>2]|0))break a;else u=19;else if((j|0)<2)u=19;else{kt(h,2);l=j+-2|0;c[h>>2]=c[h>>2]^7;it(h,1);jt(n+(0-(c[g+(l<<2)>>2]|0))+b|0,d,e,h,j+-1|0,1,g);kt(h,1);o=c[h>>2]|1;c[h>>2]=o;q=n+b|0;jt(q,d,e,h,l,1,g);v=q;w=l;x=o}if((u|0)==19){u=0;o=lt(h)|0;it(h,o);v=n+b|0;w=o+j|0;x=c[h>>2]|0}n=v;j=w;k=x}}while(0);Fa=f;return}function ht(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=Fa;Fa=Fa+240|0;h=g;c[h>>2]=a;a:do if((e|0)>1){i=0-b|0;j=a;k=e;l=1;m=a;while(1){n=j+i|0;o=k+-2|0;p=n+(0-(c[f+(o<<2)>>2]|0))|0;if((Ka[d&3](m,p)|0)>-1?(Ka[d&3](m,n)|0)>-1:0){q=l;break a}r=h+(l<<2)|0;if((Ka[d&3](p,n)|0)>-1){c[r>>2]=p;s=p;t=k+-1|0}else{c[r>>2]=n;s=n;t=o}o=l+1|0;if((t|0)<=1){q=o;break a}j=s;k=t;l=o;m=c[h>>2]|0}}else q=1;while(0);nt(b,h,q);Fa=g;return}function it(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+4|0;if(b>>>0>31){e=c[d>>2]|0;c[a>>2]=e;c[d>>2]=0;f=b+-32|0;g=0;h=e}else{f=b;g=c[d>>2]|0;h=c[a>>2]|0}c[a>>2]=g<<32-f|h>>>f;c[d>>2]=g>>>f;return}function jt(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;i=Fa;Fa=Fa+240|0;j=i+232|0;k=i;l=c[e>>2]|0;c[j>>2]=l;m=c[e+4>>2]|0;e=j+4|0;c[e>>2]=m;c[k>>2]=a;a:do if((l|0)!=1|(m|0)!=0?(n=0-b|0,o=a+(0-(c[h+(f<<2)>>2]|0))|0,(Ka[d&3](o,a)|0)>=1):0){p=1;q=f;r=(g|0)==0;s=a;t=o;while(1){if(r&(q|0)>1){o=s+n|0;u=c[h+(q+-2<<2)>>2]|0;if((Ka[d&3](o,t)|0)>-1){v=p;w=q;x=s;y=10;break a}if((Ka[d&3](o+(0-u)|0,t)|0)>-1){v=p;w=q;x=s;y=10;break a}}u=p+1|0;c[k+(p<<2)>>2]=t;o=lt(j)|0;it(j,o);z=o+q|0;if(!((c[j>>2]|0)!=1|(c[e>>2]|0)!=0)){v=u;w=z;x=t;y=10;break a}o=t+(0-(c[h+(z<<2)>>2]|0))|0;if((Ka[d&3](o,c[k>>2]|0)|0)<1){A=t;B=u;C=z;D=0;y=9;break}else{E=t;p=u;q=z;r=1;t=o;s=E}}}else{A=a;B=1;C=f;D=g;y=9}while(0);if((y|0)==9?(D|0)==0:0){v=B;w=C;x=A;y=10}if((y|0)==10){nt(b,k,v);ht(x,b,d,w,h)}Fa=i;return}function kt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[d>>2]=e;c[a>>2]=0;f=b+-32|0;g=0;h=e}else{f=b;g=c[a>>2]|0;h=c[d>>2]|0}c[d>>2]=g>>>(32-f|0)|h<<f;c[a>>2]=g<<f;return}function lt(a){a=a|0;var b=0,d=0;b=mt((c[a>>2]|0)+-1|0)|0;if(!b){d=mt(c[a+4>>2]|0)|0;return ((d|0)==0?0:d+32|0)|0}else return b|0;return 0}function mt(a){a=a|0;var b=0,c=0,d=0;if(a)if(!(a&1)){b=a;a=0;while(1){c=a+1|0;if(!(b&2)){b=b>>>1;a=c}else{d=c;break}}}else d=0;else d=32;return d|0}function nt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Fa;Fa=Fa+256|0;f=e;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=f,a|0):0){h=a;i=f;while(1){j=h>>>0<256?h:256;Xu(i|0,c[b>>2]|0,j|0)|0;k=0;do{l=b+(k<<2)|0;k=k+1|0;Xu(c[l>>2]|0,c[b+(k<<2)>>2]|0,j|0)|0;c[l>>2]=(c[l>>2]|0)+j}while((k|0)!=(d|0));k=h-j|0;if(!k)break a;h=k;i=c[g>>2]|0}}while(0);Fa=e;return}function ot(a,b){a=a|0;b=b|0;qt(a,b)|0;return a|0}function pt(a,b){a=a|0;b=b|0;ot(a+(ft(a)|0)|0,b)|0;return a|0}function qt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=d;a:do if(!((e^b)&3)){if(!(e&3)){f=d;g=b}else{h=d;i=b;while(1){j=a[h>>0]|0;a[i>>0]=j;if(!(j<<24>>24)){k=i;break a}j=h+1|0;l=i+1|0;if(!(j&3)){f=j;g=l;break}else{h=j;i=l}}}i=c[f>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=g;l=f;j=i;while(1){i=l+4|0;m=h+4|0;c[h>>2]=j;j=c[i>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009|0){n=i;o=m;break}else{h=m;l=i}}}else{n=f;o=g}p=n;q=o;r=10}else{p=d;q=b;r=10}while(0);if((r|0)==10){r=a[p>>0]|0;a[q>>0]=r;if(!(r<<24>>24))k=q;else{r=q;q=p;while(1){q=q+1|0;p=r+1|0;b=a[q>>0]|0;a[p>>0]=b;if(!(b<<24>>24)){k=p;break}else r=p}}}return k|0}function rt(b,c){b=b|0;c=c|0;var d=0;d=yt(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function st(a){a=a|0;var b=0,d=0,e=0,f=0;b=Fa;Fa=Fa+16|0;d=b+8|0;e=xt(a,589824,b)|0;do if((e|0)>=0){a=Yr(1,2072)|0;if(!a){c[d>>2]=e;ea(6,d|0)|0;f=0;break}else{c[a>>2]=e;f=a;break}}else f=0;while(0);Fa=b;return f|0}function tt(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ds($(195,e|0)|0)|0;Fa=d;return b|0}function ut(a){a=a|0;var b=0;b=wt(c[a>>2]|0)|0;Xr(a);return b|0}function vt(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Fa;Fa=Fa+16|0;d=b;f=a+8|0;g=c[f>>2]|0;h=a+12|0;a:do if((g|0)<(c[h>>2]|0)){i=a+24+g|0;j=g;k=7}else{l=a+24|0;c[d>>2]=c[a>>2];c[d+4>>2]=l;c[d+8>>2]=2048;m=aa(220,d|0)|0;if((m|0)>=1){c[h>>2]=m;c[f>>2]=0;i=l;j=0;k=7;break}switch(m|0){case 0:case -2:{n=0;break a;break}default:{}}c[(es()|0)>>2]=0-m;n=0}while(0);if((k|0)==7){c[f>>2]=j+(e[i+8>>1]|0);c[a+4>>2]=c[i+4>>2];n=i}Fa=b;return n|0}function wt(a){a=a|0;var b=0,d=0;b=Fa;Fa=Fa+16|0;d=b;c[d>>2]=fs(a)|0;a=ea(6,d|0)|0;d=ds((a|0)==-4?0:a)|0;Fa=b;return d|0}function xt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Fa;Fa=Fa+48|0;f=e+32|0;g=e+16|0;h=e;if(!(b&4194368))i=0;else{c[h>>2]=d;d=(c[h>>2]|0)+(4-1)&~(4-1);j=c[d>>2]|0;c[h>>2]=d+4;i=j}c[g>>2]=a;c[g+4>>2]=b|32768;c[g+8>>2]=i;i=ca(5,g|0)|0;if(!((b&524288|0)==0|(i|0)<0)){c[f>>2]=i;c[f+4>>2]=2;c[f+8>>2]=1;ba(221,f|0)|0}f=ds(i)|0;Fa=e;return f|0}function yt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&255;a:do if(!e)f=b+(ft(b)|0)|0;else{if(!(b&3))g=b;else{h=d&255;i=b;while(1){j=a[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){f=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=B(e,16843009)|0;h=c[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=g;k=h;while(1){l=k^i;if((l&-2139062144^-2139062144)&l+-16843009|0){m=j;break b}l=j+4|0;k=c[l>>2]|0;if((k&-2139062144^-2139062144)&k+-16843009|0){m=l;break}else j=l}}else m=g;while(0);i=d&255;h=m;while(1){j=a[h>>0]|0;if(j<<24>>24==0?1:j<<24>>24==i<<24>>24){f=h;break}else h=h+1|0}}while(0);return f|0}function zt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;e=Fa;Fa=Fa+128|0;f=e;g=f;h=g+124|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=f+4|0;c[g>>2]=a;h=f+8|0;c[h>>2]=-1;c[f+44>>2]=a;c[f+76>>2]=-1;$s(f,0);i=+At(f,d,1);d=(c[g>>2]|0)-(c[h>>2]|0)+(c[f+108>>2]|0)|0;if(b|0)c[b>>2]=(d|0)==0?a:a+d|0;Fa=e;return +i}function At(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;switch(e|0){case 0:{g=-149;h=24;i=4;break}case 1:{g=-1074;h=53;i=4;break}case 2:{g=-1074;h=53;i=4;break}default:j=0.0}a:do if((i|0)==4){e=b+4|0;k=b+100|0;do{l=c[e>>2]|0;if(l>>>0<(c[k>>2]|0)>>>0){c[e>>2]=l+1;m=d[l>>0]|0}else m=bt(b)|0}while((ct(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=c[e>>2]|0;if(n>>>0<(c[k>>2]|0)>>>0){c[e>>2]=n+1;o=d[n>>0]|0;p=l;break b}else{o=bt(b)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=0;n=o;while(1){if((n|32|0)!=(a[72005+l>>0]|0)){q=n;t=l;break}do if(l>>>0<7){u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;v=d[u>>0]|0;break}else{v=bt(b)|0;break}}else v=n;while(0);l=l+1|0;if(l>>>0>=8){q=v;t=8;break}else n=v}c:do switch(t&2147483647|0){case 8:break;case 3:{i=23;break}default:{n=(f|0)!=0;if(n&t>>>0>3)if((t|0)==8)break c;else{i=23;break c}d:do if(!t){l=0;u=q;while(1){if((u|32|0)!=(a[72014+l>>0]|0)){w=l;x=u;break d}do if(l>>>0<2){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;z=d[y>>0]|0;break}else{z=bt(b)|0;break}}else z=u;while(0);l=l+1|0;if(l>>>0>=3){w=3;x=z;break}else u=z}}else{w=t;x=q}while(0);switch(w|0){case 3:{u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;A=d[u>>0]|0}else A=bt(b)|0;if((A|0)!=40){if(!(c[k>>2]|0)){j=r;break a}c[e>>2]=(c[e>>2]|0)+-1;j=r;break a}u=1;while(1){l=c[e>>2]|0;if(l>>>0<(c[k>>2]|0)>>>0){c[e>>2]=l+1;B=d[l>>0]|0}else B=bt(b)|0;if(!((B+-48|0)>>>0<10|(B+-65|0)>>>0<26)?!((B|0)==95|(B+-97|0)>>>0<26):0)break;u=u+1|0}if((B|0)==41){j=r;break a}l=(c[k>>2]|0)==0;if(!l)c[e>>2]=(c[e>>2]|0)+-1;if(!n){c[(es()|0)>>2]=22;$s(b,0);j=0.0;break a}if(!u){j=r;break a}y=u;while(1){y=y+-1|0;if(!l)c[e>>2]=(c[e>>2]|0)+-1;if(!y){j=r;break a}}break}case 0:{if((x|0)==48){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;C=d[y>>0]|0}else C=bt(b)|0;if((C|32|0)==120){j=+Bt(b,h,g,p,f);break a}if(!(c[k>>2]|0))D=48;else{c[e>>2]=(c[e>>2]|0)+-1;D=48}}else D=x;j=+Ct(b,D,h,g,p,f);break a;break}default:{if(c[k>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;c[(es()|0)>>2]=22;$s(b,0);j=0.0;break a}}}}while(0);if((i|0)==23){y=(c[k>>2]|0)==0;if(!y)c[e>>2]=(c[e>>2]|0)+-1;if((f|0)!=0&t>>>0>3){l=t;do{if(!y)c[e>>2]=(c[e>>2]|0)+-1;l=l+-1|0}while(l>>>0>3)}}j=+(p|0)*s}while(0);return +j}function Bt(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0.0;h=a+4|0;i=c[h>>2]|0;j=a+100|0;if(i>>>0<(c[j>>2]|0)>>>0){c[h>>2]=i+1;k=d[i>>0]|0}else k=bt(a)|0;i=k;k=0;a:while(1){switch(i|0){case 46:{l=10;break a;break}case 48:break;default:{m=0;n=i;o=k;p=0;q=0;break a}}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;s=d[r>>0]|0}else s=bt(a)|0;i=s;k=1}if((l|0)==10){s=c[h>>2]|0;if(s>>>0<(c[j>>2]|0)>>>0){c[h>>2]=s+1;t=d[s>>0]|0}else t=bt(a)|0;if((t|0)==48){s=0;i=0;while(1){r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;u=d[r>>0]|0}else u=bt(a)|0;r=Ju(s|0,i|0,-1,-1)|0;v=G()|0;if((u|0)==48){s=r;i=v}else{m=1;n=u;o=1;p=r;q=v;break}}}else{m=1;n=t;o=k;p=0;q=0}}k=0;w=1.0;x=0.0;t=0;u=m;m=n;n=o;o=0;i=0;s=p;p=q;while(1){q=m+-48|0;v=m|32;if(q>>>0>=10){r=(m|0)==46;if(!(r|(v+-97|0)>>>0<6)){y=m;break}if(r)if(!u){z=1;A=k;B=w;C=x;D=t;E=n;F=i;H=o;I=i;J=o}else{y=46;break}else l=24}else l=24;if((l|0)==24){l=0;r=(m|0)>57?v+-87|0:q;do if(!((o|0)<0|(o|0)==0&i>>>0<8))if((o|0)<0|(o|0)==0&i>>>0<14){K=w*.0625;L=k;M=K;N=x+K*+(r|0);O=t;break}else{q=(k|0)!=0|(r|0)==0;L=q?k:1;M=w;N=q?x:x+w*.5;O=t;break}else{L=k;M=w;N=x;O=r+(t<<4)|0}while(0);r=Ju(i|0,o|0,1,0)|0;z=u;A=L;B=M;C=N;D=O;E=1;F=s;H=p;I=r;J=G()|0}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;P=d[r>>0]|0}else P=bt(a)|0;k=A;w=B;x=C;t=D;u=z;m=P;n=E;o=J;i=I;s=F;p=H}do if(!n){H=(c[j>>2]|0)==0;if(!H)c[h>>2]=(c[h>>2]|0)+-1;if(g){if(!H?(c[h>>2]=(c[h>>2]|0)+-1,!((u|0)==0|H)):0)c[h>>2]=(c[h>>2]|0)+-1}else $s(a,0);Q=+(f|0)*0.0}else{H=(u|0)==0;F=H?i:s;I=H?o:p;if((o|0)<0|(o|0)==0&i>>>0<8){H=t;J=i;E=o;while(1){P=H<<4;m=J;J=Ju(J|0,E|0,1,0)|0;z=E;E=G()|0;if(!((z|0)<0|(z|0)==0&m>>>0<7)){R=P;break}else H=P}}else R=t;if((y|32|0)==112){H=Dt(a,g)|0;E=G()|0;if((H|0)==0&(E|0)==-2147483648){if(!g){$s(a,0);Q=0.0;break}if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}}else{S=H;T=E}}else if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}E=Su(F|0,I|0,2)|0;H=Ju(E|0,G()|0,-32,-1)|0;E=Ju(H|0,G()|0,S|0,T|0)|0;H=G()|0;if(!R){Q=+(f|0)*0.0;break}J=0-e|0;P=((J|0)<0)<<31>>31;if((H|0)>(P|0)|(H|0)==(P|0)&E>>>0>J>>>0){c[(es()|0)>>2]=34;Q=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}J=e+-106|0;P=((J|0)<0)<<31>>31;if((H|0)<(P|0)|(H|0)==(P|0)&E>>>0<J>>>0){c[(es()|0)>>2]=34;Q=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((R|0)>-1){C=x;J=R;P=E;m=H;while(1){z=!(C>=.5);D=J<<1|(z^1)&1;B=C+(z?C:C+-1.0);z=Ju(P|0,m|0,-1,-1)|0;A=G()|0;if((D|0)>-1){C=B;J=D;P=z;m=A}else{U=B;V=D;W=z;X=A;break}}}else{U=x;V=R;W=E;X=H}m=((b|0)<0)<<31>>31;P=Ku(32,0,e|0,((e|0)<0)<<31>>31|0)|0;J=Ju(P|0,G()|0,W|0,X|0)|0;P=G()|0;if((P|0)<(m|0)|(P|0)==(m|0)&J>>>0<b>>>0)if((J|0)>0){Y=J;l=65}else{Z=0;_=84;l=67}else{Y=b;l=65}if((l|0)==65)if((Y|0)<53){Z=Y;_=84-Y|0;l=67}else{$=0.0;aa=Y;ba=+(f|0)}if((l|0)==67){C=+(f|0);$=+ls(+js(1.0,_),C);aa=Z;ba=C}J=(V&1|0)==0&(U!=0.0&(aa|0)<32);C=(J?0.0:U)*ba+($+ba*+((V+(J&1)|0)>>>0))-$;if(!(C!=0.0))c[(es()|0)>>2]=34;Q=+qs(C,W)}while(0);return +Q}function Ct(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0.0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0.0,fb=0,gb=0.0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0;i=Fa;Fa=Fa+512|0;j=i;k=f+e|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=7;break a;break}case 48:break;default:{q=0;r=o;s=b;t=0;v=0;break a}}w=c[m>>2]|0;if(w>>>0<(c[n>>2]|0)>>>0){c[m>>2]=w+1;x=d[w>>0]|0}else x=bt(a)|0;o=x;b=1}if((p|0)==7){x=c[m>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[m>>2]=x+1;y=d[x>>0]|0}else y=bt(a)|0;if((y|0)==48){x=0;o=0;while(1){w=Ju(x|0,o|0,-1,-1)|0;z=G()|0;A=c[m>>2]|0;if(A>>>0<(c[n>>2]|0)>>>0){c[m>>2]=A+1;C=d[A>>0]|0}else C=bt(a)|0;if((C|0)==48){x=w;o=z}else{q=1;r=C;s=1;t=w;v=z;break}}}else{q=1;r=y;s=b;t=0;v=0}}c[j>>2]=0;b=r+-48|0;y=(r|0)==46;b:do if(y|b>>>0<10){C=j+496|0;o=0;x=0;z=0;w=q;A=s;D=r;E=y;F=b;H=t;I=v;J=0;K=0;c:while(1){do if(E)if(!w){L=o;M=x;N=1;O=z;P=A;Q=J;R=K;S=J;T=K}else break c;else{U=Ju(J|0,K|0,1,0)|0;V=G()|0;W=(D|0)!=48;if((x|0)>=125){if(!W){L=o;M=x;N=w;O=z;P=A;Q=H;R=I;S=U;T=V;break}c[C>>2]=c[C>>2]|1;L=o;M=x;N=w;O=z;P=A;Q=H;R=I;S=U;T=V;break}X=j+(x<<2)|0;if(!o)Y=F;else Y=D+-48+((c[X>>2]|0)*10|0)|0;c[X>>2]=Y;X=o+1|0;Z=(X|0)==9;L=Z?0:X;M=x+(Z&1)|0;N=w;O=W?U:z;P=1;Q=H;R=I;S=U;T=V}while(0);V=c[m>>2]|0;if(V>>>0<(c[n>>2]|0)>>>0){c[m>>2]=V+1;_=d[V>>0]|0}else _=bt(a)|0;F=_+-48|0;E=(_|0)==46;if(!(E|F>>>0<10)){$=L;aa=M;ba=O;ca=N;da=_;ea=P;fa=Q;ga=S;ha=R;ia=T;p=31;break b}else{o=L;x=M;z=O;w=N;A=P;D=_;H=Q;I=R;J=S;K=T}}ja=o;ka=x;la=z;ma=J;na=K;oa=H;pa=I;qa=(A|0)!=0;p=39}else{$=0;aa=0;ba=0;ca=q;da=r;ea=s;fa=t;ga=0;ha=v;ia=0;p=31}while(0);do if((p|0)==31){v=(ca|0)==0;t=v?ga:fa;s=v?ia:ha;v=(ea|0)!=0;if(!(v&(da|32|0)==101))if((da|0)>-1){ja=$;ka=aa;la=ba;ma=ga;na=ia;oa=t;pa=s;qa=v;p=39;break}else{ra=$;sa=aa;ta=ba;ua=ga;va=ia;wa=v;xa=t;ya=s;p=41;break}v=Dt(a,h)|0;r=G()|0;if((v|0)==0&(r|0)==-2147483648){if(!h){$s(a,0);za=0.0;break}if(!(c[n>>2]|0)){Aa=0;Ba=0}else{c[m>>2]=(c[m>>2]|0)+-1;Aa=0;Ba=0}}else{Aa=v;Ba=r}r=Ju(Aa|0,Ba|0,t|0,s|0)|0;Ca=$;Da=aa;Ea=ba;Ga=r;Ha=ga;Ia=G()|0;Ja=ia;p=43}while(0);if((p|0)==39)if(c[n>>2]|0){c[m>>2]=(c[m>>2]|0)+-1;if(qa){Ca=ja;Da=ka;Ea=la;Ga=oa;Ha=ma;Ia=pa;Ja=na;p=43}else p=42}else{ra=ja;sa=ka;ta=la;ua=ma;va=na;wa=qa;xa=oa;ya=pa;p=41}if((p|0)==41)if(wa){Ca=ra;Da=sa;Ea=ta;Ga=xa;Ha=ua;Ia=ya;Ja=va;p=43}else p=42;do if((p|0)==42){c[(es()|0)>>2]=22;$s(a,0);za=0.0}else if((p|0)==43){va=c[j>>2]|0;if(!va){za=+(g|0)*0.0;break}if(((Ja|0)<0|(Ja|0)==0&Ha>>>0<10)&((Ga|0)==(Ha|0)&(Ia|0)==(Ja|0))?(e|0)>30|(va>>>e|0)==0:0){za=+(g|0)*+(va>>>0);break}va=(f|0)/-2|0;ya=((va|0)<0)<<31>>31;if((Ia|0)>(ya|0)|(Ia|0)==(ya|0)&Ga>>>0>va>>>0){c[(es()|0)>>2]=34;za=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}va=f+-106|0;ya=((va|0)<0)<<31>>31;if((Ia|0)<(ya|0)|(Ia|0)==(ya|0)&Ga>>>0<va>>>0){c[(es()|0)>>2]=34;za=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Ca)Ka=Da;else{if((Ca|0)<9){va=j+(Da<<2)|0;ya=Ca;ua=c[va>>2]|0;while(1){ua=ua*10|0;if((ya|0)>=8)break;else ya=ya+1|0}c[va>>2]=ua}Ka=Da+1|0}if((Ea|0)<9?(Ea|0)<=(Ga|0)&(Ga|0)<18:0){if((Ga|0)==9){za=+(g|0)*+((c[j>>2]|0)>>>0);break}if((Ga|0)<9){za=+(g|0)*+((c[j>>2]|0)>>>0)/+(c[35056+(8-Ga<<2)>>2]|0);break}ya=e+27+(B(Ga,-3)|0)|0;A=c[j>>2]|0;if((ya|0)>30|(A>>>ya|0)==0){za=+(g|0)*+(A>>>0)*+(c[35056+(Ga+-10<<2)>>2]|0);break}}A=(Ga|0)%9|0;if(!A){La=Ka;Ma=0;Na=Ga}else{ya=(Ga|0)>-1?A:A+9|0;A=c[35056+(8-ya<<2)>>2]|0;if(Ka){I=1e9/(A|0)|0;H=0;K=0;J=Ga;z=0;do{x=j+(z<<2)|0;o=c[x>>2]|0;xa=(o>>>0)/(A>>>0)|0;ta=o-(B(xa,A)|0)|0;o=xa+H|0;c[x>>2]=o;H=B(I,ta)|0;ta=(z|0)==(K|0)&(o|0)==0;J=ta?J+-9|0:J;K=ta?K+1&127:K;z=z+1|0}while((z|0)!=(Ka|0));if(!H){Oa=K;Pa=Ka;Qa=J}else{c[j+(Ka<<2)>>2]=H;Oa=K;Pa=Ka+1|0;Qa=J}}else{Oa=0;Pa=0;Qa=Ga}La=Pa;Ma=Oa;Na=9-ya+Qa|0}z=0;I=La;A=Ma;ua=Na;d:while(1){va=(ua|0)<18;ta=(ua|0)==18;o=j+(A<<2)|0;Ra=z;Sa=I;while(1){if(!va){if(!ta){Ta=ua;break d}if((c[o>>2]|0)>>>0>=9007199){Ta=18;break d}}x=0;Ua=Sa;xa=Sa+127|0;while(1){sa=xa&127;ra=j+(sa<<2)|0;wa=Su(c[ra>>2]|0,0,29)|0;pa=Ju(wa|0,G()|0,x|0,0)|0;wa=G()|0;if(wa>>>0>0|(wa|0)==0&pa>>>0>1e9){oa=Qu(pa|0,wa|0,1e9,0)|0;qa=Pu(oa|0,G()|0,1e9,0)|0;na=Ku(pa|0,wa|0,qa|0,G()|0)|0;G()|0;Va=oa;Wa=na}else{Va=0;Wa=pa}c[ra>>2]=Wa;ra=(sa|0)==(A|0);Xa=(sa|0)!=(Ua+127&127|0)|ra?Ua:(Wa|0)==0?sa:Ua;if(ra)break;else{x=Va;Ua=Xa;xa=sa+-1|0}}Ya=Ra+-29|0;if(!Va){Ra=Ya;Sa=Ua}else break}o=A+127&127;ta=Xa+127&127;va=j+((Xa+126&127)<<2)|0;if((o|0)==(Xa|0)){c[va>>2]=c[va>>2]|c[j+(ta<<2)>>2];Za=ta}else Za=Ua;c[j+(o<<2)>>2]=Va;z=Ya;I=Za;A=o;ua=ua+9|0}ua=Ra;I=A;z=Ta;ya=Sa;e:while(1){J=ya+1&127;K=j+((ya+127&127)<<2)|0;H=ua;o=I;ta=z;while(1){va=(ta|0)==18;xa=(ta|0)>27?9:1;_a=H;$a=o;while(1){x=0;while(1){sa=x+$a&127;if((sa|0)==(ya|0)){p=92;break}ra=c[j+(sa<<2)>>2]|0;sa=c[35672+(x<<2)>>2]|0;if(ra>>>0<sa>>>0){p=92;break}if(ra>>>0>sa>>>0)break;if((x+1|0)>>>0<2)x=1;else{p=92;break}}if((p|0)==92?(p=0,va):0)break e;ab=xa+_a|0;if(($a|0)==(ya|0)){_a=ab;$a=ya}else break}va=(1<<xa)+-1|0;x=1e9>>>xa;bb=0;cb=$a;db=ta;sa=$a;do{ra=j+(sa<<2)|0;pa=c[ra>>2]|0;na=(pa>>>xa)+bb|0;c[ra>>2]=na;bb=B(pa&va,x)|0;pa=(sa|0)==(cb|0)&(na|0)==0;db=pa?db+-9|0:db;cb=pa?cb+1&127:cb;sa=sa+1&127}while((sa|0)!=(ya|0));if(bb|0){if((J|0)!=(cb|0))break;c[K>>2]=c[K>>2]|1}H=ab;o=cb;ta=db}c[j+(ya<<2)>>2]=bb;ua=ab;I=cb;z=db;ya=J}eb=0.0;z=ya;I=0;while(1){ua=I+$a&127;A=z+1&127;if((ua|0)==(z|0)){c[j+(A+-1<<2)>>2]=0;fb=A}else fb=z;eb=eb*1.0e9+ +((c[j+(ua<<2)>>2]|0)>>>0);I=I+1|0;if((I|0)==2)break;else z=fb}gb=+(g|0);hb=eb*gb;z=_a+53|0;I=z-f|0;ya=(I|0)<(e|0);ua=ya?((I|0)>0?I:0):e;if((ua|0)<53){ib=+ls(+js(1.0,105-ua|0),hb);jb=+ps(hb,+js(1.0,53-ua|0));kb=ib;lb=jb;mb=ib+(hb-jb)}else{kb=0.0;lb=0.0;mb=hb}A=$a+2&127;if((A|0)!=(fb|0)){ta=c[j+(A<<2)>>2]|0;do if(ta>>>0>=5e8){if((ta|0)!=5e8){nb=gb*.75+lb;break}if(($a+3&127|0)==(fb|0)){nb=gb*.5+lb;break}else{nb=gb*.75+lb;break}}else{if((ta|0)==0?($a+3&127|0)==(fb|0):0){nb=lb;break}nb=gb*.25+lb}while(0);if((53-ua|0)>1?!(+ps(nb,1.0)!=0.0):0)ob=nb+1.0;else ob=nb}else ob=lb;gb=mb+ob-kb;do if((z&2147483647|0)>(-2-k|0)){ta=!(+u(+gb)>=9007199254740992.0);A=_a+((ta^1)&1)|0;eb=ta?gb:gb*.5;if((A+50|0)<=(l|0)?!(ob!=0.0&(ya&((ua|0)!=(I|0)|ta))):0){pb=eb;qb=A;break}c[(es()|0)>>2]=34;pb=eb;qb=A}else{pb=gb;qb=_a}while(0);za=+qs(pb,qb)}while(0);Fa=i;return +za}function Dt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a+4|0;f=c[e>>2]|0;g=a+100|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;h=d[f>>0]|0}else h=bt(a)|0;switch(h|0){case 43:case 45:{f=(h|0)==45&1;i=c[e>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[e>>2]=i+1;j=d[i>>0]|0}else j=bt(a)|0;i=j+-48|0;if((b|0)!=0&i>>>0>9)if(!(c[g>>2]|0)){k=0;l=-2147483648}else{c[e>>2]=(c[e>>2]|0)+-1;m=14}else{n=f;o=j;p=i;m=12}break}default:{n=0;o=h;p=h+-48|0;m=12}}if((m|0)==12)if(p>>>0>9)m=14;else{p=0;h=o;while(1){p=h+-48+(p*10|0)|0;o=c[e>>2]|0;if(o>>>0<(c[g>>2]|0)>>>0){c[e>>2]=o+1;q=d[o>>0]|0}else q=bt(a)|0;r=q+-48|0;if(!(r>>>0<10&(p|0)<214748364))break;else h=q}h=((p|0)<0)<<31>>31;if(r>>>0<10){r=q;q=p;o=h;while(1){i=Pu(q|0,o|0,10,0)|0;j=G()|0;f=Ju(r|0,((r|0)<0)<<31>>31|0,-48,-1)|0;q=Ju(f|0,G()|0,i|0,j|0)|0;o=G()|0;j=c[e>>2]|0;if(j>>>0<(c[g>>2]|0)>>>0){c[e>>2]=j+1;s=d[j>>0]|0}else s=bt(a)|0;t=s+-48|0;if(!(t>>>0<10&((o|0)<21474836|(o|0)==21474836&q>>>0<2061584302)))break;else r=s}if(t>>>0<10){do{t=c[e>>2]|0;if(t>>>0<(c[g>>2]|0)>>>0){c[e>>2]=t+1;u=d[t>>0]|0}else u=bt(a)|0}while((u+-48|0)>>>0<10);v=q;w=o}else{v=q;w=o}}else{v=p;w=h}if(c[g>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;h=(n|0)==0;n=Ku(0,0,v|0,w|0)|0;p=G()|0;k=h?v:n;l=h?w:p}if((m|0)==14)if(!(c[g>>2]|0)){k=0;l=-2147483648}else{c[e>>2]=(c[e>>2]|0)+-1;k=0;l=-2147483648}F(l|0);return k|0}function Et(a,b){a=a|0;b=b|0;return +(+zt(a,b,1))}function Ft(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Fa;Fa=Fa+32|0;f=e;g=a[d>>0]|0;a:do if(g<<24>>24!=0?(a[d+1>>0]|0)!=0:0){Yu(f|0,0,32)|0;h=a[d>>0]|0;if(h<<24>>24){i=d;j=h;do{h=j&255;k=f+(h>>>5<<2)|0;c[k>>2]=c[k>>2]|1<<(h&31);i=i+1|0;j=a[i>>0]|0}while(j<<24>>24!=0)}j=a[b>>0]|0;if(!(j<<24>>24))l=b;else{i=b;h=j;while(1){j=h&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0){l=i;break a}j=i+1|0;h=a[j>>0]|0;if(!(h<<24>>24)){l=j;break}else i=j}}}else m=3;while(0);if((m|0)==3)l=yt(b,g<<24>>24)|0;Fa=e;return l-b|0}function Gt(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=Fa;Fa=Fa+16|0;i=h;j=(g|0)==0?3042420:g;g=c[j>>2]|0;a:do if(!e)if(!g)k=0;else l=19;else{m=(b|0)==0?i:b;if(!f)k=-2;else{if(!g){n=a[e>>0]|0;if(n<<24>>24>-1){c[m>>2]=n&255;k=n<<24>>24!=0&1;break}n=(c[c[(Ht()|0)+188>>2]>>2]|0)==0;o=a[e>>0]|0;if(n){c[m>>2]=o<<24>>24&57343;k=1;break}n=(o&255)+-194|0;if(n>>>0>50){l=19;break}o=c[32192+(n<<2)>>2]|0;n=f+-1|0;if(!n)p=o;else{q=e+1|0;r=o;s=n;l=11}}else{q=e;r=g;s=f;l=11}b:do if((l|0)==11){n=d[q>>0]|0;o=n>>>3;if((o+-16|o+(r>>26))>>>0>7){l=19;break a}o=n+-128|r<<6;n=s+-1|0;if((o|0)<0){t=q;u=o;v=n;while(1){t=t+1|0;if(!v){p=u;break b}w=a[t>>0]|0;if((w&-64)<<24>>24!=-128){l=19;break a}x=(w&255)+-128|u<<6;w=v+-1|0;if((x|0)>=0){y=w;z=x;break}else{u=x;v=w}}}else{y=n;z=o}c[j>>2]=0;c[m>>2]=z;k=f-y|0;break a}while(0);c[j>>2]=p;k=-2}}while(0);if((l|0)==19){c[j>>2]=0;c[(es()|0)>>2]=84;k=-1}Fa=h;return k|0}function Ht(){return Qs()|0}function It(a){a=a|0;var b=0;if(!a)b=1;else b=(c[a>>2]|0)==0&1;return b|0}function Jt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Fa;Fa=Fa+48|0;f=e+32|0;g=e+16|0;h=e;if(rt(72018,a[d>>0]|0)|0){i=Kt(d)|0;c[h>>2]=b;c[h+4>>2]=i|32768;c[h+8>>2]=438;b=ds(ca(5,h|0)|0)|0;if((b|0)>=0){if(i&524288|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ba(221,g|0)|0}g=Lt(b,d)|0;if(!g){c[f>>2]=b;ea(6,f|0)|0;j=0}else j=g}else j=0}else{c[(es()|0)>>2]=22;j=0}Fa=e;return j|0}function Kt(b){b=b|0;var c=0,d=0,e=0,f=0;c=(rt(b,43)|0)==0;d=a[b>>0]|0;e=c?d<<24>>24!=114&1:2;c=(rt(b,120)|0)==0;f=c?e:e|128;e=(rt(b,101)|0)==0;b=e?f:f|524288;f=d<<24>>24==114?b:b|64;b=d<<24>>24==119?f|512:f;return (d<<24>>24==97?b|1024:b)|0}function Lt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Fa;Fa=Fa+64|0;f=e+40|0;g=e+24|0;h=e+16|0;i=e;j=e+56|0;if(rt(72018,a[d>>0]|0)|0){k=Wr(1156)|0;if(!k)l=0;else{Yu(k|0,0,124)|0;if(!(rt(d,43)|0))c[k>>2]=(a[d>>0]|0)==114?8:4;if(rt(d,101)|0){c[i>>2]=b;c[i+4>>2]=2;c[i+8>>2]=1;ba(221,i|0)|0}if((a[d>>0]|0)==97){c[h>>2]=b;c[h+4>>2]=3;d=ba(221,h|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;ba(221,g|0)|0}g=c[k>>2]|128;c[k>>2]=g;m=g}else m=c[k>>2]|0;c[k+60>>2]=b;c[k+44>>2]=k+132;c[k+48>>2]=1024;g=k+75|0;a[g>>0]=-1;if((m&8|0)==0?(c[f>>2]=b,c[f+4>>2]=21523,c[f+8>>2]=j,(da(54,f|0)|0)==0):0)a[g>>0]=10;c[k+32>>2]=6;c[k+36>>2]=5;c[k+40>>2]=2;c[k+12>>2]=1;if(!(c[760590]|0))c[k+76>>2]=-1;Mt(k)|0;l=k}}else{c[(es()|0)>>2]=22;l=0}Fa=e;return l|0}function Mt(a){a=a|0;var b=0,d=0;b=Nt()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;Ot();return a|0}function Nt(){W(3042424);return 3042432}function Ot(){fa(3042424);return}function Pt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>-1)b=As(a)|0;else b=0;Qt(a);d=(c[a>>2]&1|0)!=0;if(!d){e=Nt()|0;f=c[a+52>>2]|0;g=a+56|0;if(f|0)c[f+56>>2]=c[g>>2];h=c[g>>2]|0;if(h|0)c[h+52>>2]=f;if((c[e>>2]|0)==(a|0))c[e>>2]=h;Ot()}h=Rt(a)|0;e=Ja[c[a+12>>2]&255](a)|0|h;h=c[a+92>>2]|0;if(h|0)Xr(h);if(d){if(b|0)Bs(a)}else Xr(a);return e|0}function Qt(a){a=a|0;var b=0,d=0,e=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;d=a+112|0;if(b|0)c[b+112>>2]=c[d>>2];a=c[d>>2]|0;if(!a)e=(Tt()|0)+232|0;else e=a+116|0;c[e>>2]=b}return}function Rt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=St(a)|0;break}d=(As(a)|0)==0;e=St(a)|0;if(d)b=e;else{Bs(a);b=e}}else{if(!(c[8825]|0))f=0;else f=Rt(c[8825]|0)|0;e=c[(Nt()|0)>>2]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=As(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=St(d)|0|e;else i=e;if(h|0)Bs(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}Ot();b=g}while(0);return b|0}function St(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(La[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0<i>>>0)La[c[a+40>>2]&7](a,g-i|0,1)|0;c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function Tt(){return Qs()|0}function Ut(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(As(a)|0)==0;d=(c[a>>2]|0)>>>4&1;if(b)e=d;else{Bs(a);e=d}}else e=(c[a>>2]|0)>>>4&1;return e|0}function Vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=d;d=Wt(a,b,f)|0;Fa=e;return d|0}function Wt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Fa;Fa=Fa+128|0;f=e;g=f;h=g+124|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[f+32>>2]=7;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;a=Yt(f,b,d)|0;Fa=e;return a|0}function Xt(a,b,c){a=a|0;b=b|0;c=c|0;return $t(a,b,c)|0}function Yt(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0.0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0;j=Fa;Fa=Fa+288|0;k=j+264|0;l=j;m=j+260|0;n=j+272|0;if((c[e+76>>2]|0)>-1)o=As(e)|0;else o=0;p=a[h>>0]|0;a:do if(p<<24>>24){q=e+4|0;r=e+100|0;s=e+108|0;t=e+8|0;u=l+10|0;v=l+33|0;w=l+46|0;x=l+94|0;y=k+4|0;z=h;A=0;B=0;C=0;D=p;E=0;b:while(1){c:do if(!(ct(D&255)|0)){F=(a[z>>0]|0)==37;d:do if(F){H=z+1|0;I=a[H>>0]|0;e:do switch(I<<24>>24){case 37:{break d;break}case 42:{J=0;K=z+2|0;break}default:{if(us(I&255)|0?(a[z+2>>0]|0)==36:0){J=Zt(i,(d[H>>0]|0)+-48|0)|0;K=z+3|0;break e}L=(c[i>>2]|0)+(4-1)&~(4-1);M=c[L>>2]|0;c[i>>2]=L+4;J=M;K=H}}while(0);if(!(us(d[K>>0]|0)|0)){N=0;O=K}else{H=0;I=K;while(1){M=(H*10|0)+-48+(d[I>>0]|0)|0;L=I+1|0;if(!(us(d[L>>0]|0)|0)){N=M;O=L;break}else{H=M;I=L}}}I=a[O>>0]|0;H=O+1|0;if(I<<24>>24==109){P=(J|0)!=0&1;Q=0;R=H;S=O+2|0;T=a[H>>0]|0;U=0}else{P=0;Q=C;R=O;S=H;T=I;U=E}switch(T<<24>>24){case 104:{I=(a[S>>0]|0)==104;V=I?-2:-1;W=I?R+2|0:S;break}case 108:{I=(a[S>>0]|0)==108;V=I?3:1;W=I?R+2|0:S;break}case 106:{V=3;W=S;break}case 116:case 122:{V=1;W=S;break}case 76:{V=2;W=S;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{V=0;W=R;break}default:{X=Q;Y=U;Z=143;break b}}I=d[W>>0]|0;H=(I&47|0)==3;L=H?I|32:I;I=H?1:V;H=L&255;switch(H<<24>>24){case 99:{_=(N|0)>1?N:1;$=A;break}case 91:{_=N;$=A;break}case 110:{_t(J,I,A,((A|0)<0)<<31>>31);aa=W;ba=B;ca=A;da=Q;ea=U;break c;break}default:{$s(e,0);do{M=c[q>>2]|0;if(M>>>0<(c[r>>2]|0)>>>0){c[q>>2]=M+1;fa=d[M>>0]|0}else fa=bt(e)|0}while((ct(fa)|0)!=0);if(!(c[r>>2]|0))ga=c[q>>2]|0;else{M=(c[q>>2]|0)+-1|0;c[q>>2]=M;ga=M}_=N;$=(c[s>>2]|0)+A+ga-(c[t>>2]|0)|0}}$s(e,_);M=c[q>>2]|0;ha=c[r>>2]|0;if(M>>>0<ha>>>0){c[q>>2]=M+1;ia=ha}else{if((bt(e)|0)<0){X=Q;Y=U;Z=143;break b}ia=c[r>>2]|0}if(ia|0)c[q>>2]=(c[q>>2]|0)+-1;f:do switch(H<<24>>24){case 91:case 99:case 115:{ha=(L|0)==99;g:do if((L|16|0)==115){Yu(l|0,-1,257)|0;a[l>>0]=0;if((L|0)==115){a[v>>0]=0;b[u>>1]=0;b[u+2>>1]=0;a[u+4>>0]=0;ja=W}else ja=W}else{M=W+1|0;ka=(a[M>>0]|0)==94;la=ka&1;ma=ka?W+2|0:M;Yu(l|0,la|0,257)|0;a[l>>0]=0;switch(a[ma>>0]|0){case 45:{M=(la^1)&255;a[w>>0]=M;na=ma+1|0;oa=M;break}case 93:{M=(la^1)&255;a[x>>0]=M;na=ma+1|0;oa=M;break}default:{na=ma;oa=(la^1)&255}}la=na;while(1){ma=a[la>>0]|0;h:do switch(ma<<24>>24){case 0:{X=Q;Y=U;Z=143;break b;break}case 93:{ja=la;break g;break}case 45:{M=la+1|0;ka=a[M>>0]|0;switch(ka<<24>>24){case 93:case 0:{pa=la;qa=45;break h;break}default:{}}ra=a[la+-1>>0]|0;if((ra&255)<(ka&255)){sa=ra&255;do{sa=sa+1|0;a[l+sa>>0]=oa;ra=a[M>>0]|0}while(sa>>>0<(ra&255)>>>0);pa=M;qa=ra}else{pa=M;qa=ka}break}default:{pa=la;qa=ma}}while(0);a[l+((qa&255)+1)>>0]=oa;la=pa+1|0}}while(0);la=ha?_+1|0:31;ma=(I|0)==1;sa=(P|0)!=0;i:do if(ma){if(sa){ra=Wr(la<<2)|0;if(!ra){X=0;Y=0;Z=143;break b}else ta=ra}else ta=J;c[k>>2]=0;c[y>>2]=0;ra=la;ua=0;va=ta;j:while(1){wa=(va|0)==0;xa=ua;while(1){k:while(1){ya=c[q>>2]|0;if(ya>>>0<(c[r>>2]|0)>>>0){c[q>>2]=ya+1;za=d[ya>>0]|0}else za=bt(e)|0;if(!(a[l+(za+1)>>0]|0))break j;a[n>>0]=za;switch(Gt(m,n,1,k)|0){case -1:{X=0;Y=va;Z=143;break b;break}case -2:break;default:break k}}if(wa)Aa=xa;else{c[va+(xa<<2)>>2]=c[m>>2];Aa=xa+1|0}if(sa&(Aa|0)==(ra|0))break;else xa=Aa}ra=ra<<1|1;wa=Zr(va,ra<<2)|0;if(!wa){X=0;Y=va;Z=143;break b}else{ua=Aa;va=wa}}if(!(It(k)|0)){X=0;Y=va;Z=143;break b}else{Ba=xa;Ca=0;Da=va;Ea=va}}else{if(sa){ua=Wr(la)|0;if(!ua){X=0;Y=0;Z=143;break b}ra=la;wa=0;ka=ua;while(1){ua=wa;do{M=c[q>>2]|0;if(M>>>0<(c[r>>2]|0)>>>0){c[q>>2]=M+1;Ga=d[M>>0]|0}else Ga=bt(e)|0;if(!(a[l+(Ga+1)>>0]|0)){Ba=ua;Ca=ka;Da=0;Ea=0;break i}M=ua;ua=ua+1|0;a[ka+M>>0]=Ga}while((ua|0)!=(ra|0));ra=ra<<1|1;M=Zr(ka,ra)|0;if(!M){X=ka;Y=0;Z=143;break b}else{wa=ua;ka=M}}}if(!J)while(1){ka=c[q>>2]|0;if(ka>>>0<(c[r>>2]|0)>>>0){c[q>>2]=ka+1;Ha=d[ka>>0]|0}else Ha=bt(e)|0;if(!(a[l+(Ha+1)>>0]|0)){Ba=0;Ca=0;Da=0;Ea=0;break i}}ka=0;while(1){wa=c[q>>2]|0;if(wa>>>0<(c[r>>2]|0)>>>0){c[q>>2]=wa+1;Ia=d[wa>>0]|0}else Ia=bt(e)|0;if(!(a[l+(Ia+1)>>0]|0)){Ba=ka;Ca=J;Da=0;Ea=0;break i}a[J+ka>>0]=Ia;ka=ka+1|0}}while(0);if(!(c[r>>2]|0))Ja=c[q>>2]|0;else{la=(c[q>>2]|0)+-1|0;c[q>>2]=la;Ja=la}la=Ja-(c[t>>2]|0)+(c[s>>2]|0)|0;if(!la){Ka=Ca;La=P;Ma=B;Na=Ea;break b}if(!((la|0)==(_|0)|ha^1)){Ka=Ca;La=P;Ma=B;Na=Ea;break b}do if(sa)if(ma){c[J>>2]=Da;break}else{c[J>>2]=Ca;break}while(0);if(ha){Oa=ja;Pa=Ca;Qa=Ea}else{if(Da|0)c[Da+(Ba<<2)>>2]=0;if(!Ca){Oa=ja;Pa=0;Qa=Ea;break f}a[Ca+Ba>>0]=0;Oa=ja;Pa=Ca;Qa=Ea}break}case 120:case 88:case 112:{Ra=16;Z=131;break}case 111:{Ra=8;Z=131;break}case 117:case 100:{Ra=10;Z=131;break}case 105:{Ra=0;Z=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{Sa=+At(e,I,0);if((c[s>>2]|0)==((c[t>>2]|0)-(c[q>>2]|0)|0)){Ka=Q;La=P;Ma=B;Na=U;break b}if(!J){Oa=W;Pa=Q;Qa=U}else switch(I|0){case 0:{f[J>>2]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}case 1:{g[J>>3]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}case 2:{g[J>>3]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}default:{Oa=W;Pa=Q;Qa=U;break f}}break}default:{Oa=W;Pa=Q;Qa=U}}while(0);do if((Z|0)==131){Z=0;H=at(e,Ra,0,-1,-1)|0;ma=G()|0;if((c[s>>2]|0)==((c[t>>2]|0)-(c[q>>2]|0)|0)){Ka=Q;La=P;Ma=B;Na=U;break b}if((J|0)!=0&(L|0)==112){c[J>>2]=H;Oa=W;Pa=Q;Qa=U;break}else{_t(J,I,H,ma);Oa=W;Pa=Q;Qa=U;break}}while(0);aa=Oa;ba=B+((J|0)!=0&1)|0;ca=(c[s>>2]|0)+$+(c[q>>2]|0)-(c[t>>2]|0)|0;da=Pa;ea=Qa;break c}while(0);I=z+(F&1)|0;$s(e,0);L=c[q>>2]|0;if(L>>>0<(c[r>>2]|0)>>>0){c[q>>2]=L+1;Ta=d[L>>0]|0}else Ta=bt(e)|0;if((Ta|0)!=(d[I>>0]|0)){Z=23;break b}aa=I;ba=B;ca=A+1|0;da=C;ea=E}else{I=z;while(1){L=I+1|0;if(!(ct(d[L>>0]|0)|0))break;else I=L}$s(e,0);do{F=c[q>>2]|0;if(F>>>0<(c[r>>2]|0)>>>0){c[q>>2]=F+1;Ua=d[F>>0]|0}else Ua=bt(e)|0}while((ct(Ua)|0)!=0);if(!(c[r>>2]|0))Va=c[q>>2]|0;else{F=(c[q>>2]|0)+-1|0;c[q>>2]=F;Va=F}aa=I;ba=B;ca=(c[s>>2]|0)+A+Va-(c[t>>2]|0)|0;da=C;ea=E}while(0);z=aa+1|0;D=a[z>>0]|0;if(!(D<<24>>24)){Wa=ba;break a}else{A=ca;B=ba;C=da;E=ea}}if((Z|0)==23){if(c[r>>2]|0)c[q>>2]=(c[q>>2]|0)+-1;if((B|0)!=0|(Ta|0)>-1){Wa=B;break}else{Xa=0;Ya=C;Za=E;Z=144}}else if((Z|0)==143)if(!B){Xa=P;Ya=X;Za=Y;Z=144}else{Ka=X;La=P;Ma=B;Na=Y}if((Z|0)==144){Ka=Ya;La=Xa;Ma=-1;Na=Za}if(!La)Wa=Ma;else{Xr(Ka);Xr(Na);Wa=Ma}}else Wa=0;while(0);if(o|0)Bs(e);Fa=j;return Wa|0}function Zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Fa;Fa=Fa+16|0;e=d;c[e>>2]=c[a>>2];a=b;while(1){b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;if(a>>>0>1)a=a+-1|0;else break}Fa=d;return f|0}function _t(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a;break}case -1:{b[d>>1]=f;break a;break}case 0:{c[d>>2]=f;break a;break}case 1:{c[d>>2]=f;break a;break}case 3:{h=d;c[h>>2]=f;c[h+4>>2]=g;break a;break}default:break a}while(0);return}function $t(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+84|0;f=c[e>>2]|0;g=d+256|0;h=Js(f,0,g)|0;i=(h|0)==0?g:h-f|0;h=i>>>0<d>>>0?i:d;Xu(b|0,f|0,h|0)|0;c[a+4>>2]=f+h;b=f+i|0;c[a+8>>2]=b;c[e>>2]=b;return h|0}function au(a,b,c){a=a|0;b=b|0;c=c|0;return cu(a,b,c)|0}function bu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=d;d=ys(a,b,f)|0;Fa=e;return d|0}function cu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+76>>2]|0)>-1){e=(As(a)|0)==0;f=du(a,b,d)|0;if(e)g=f;else{Bs(a);g=f}}else g=du(a,b,d)|0;return g|0}function du(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==1)e=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;else e=b;b=a+20|0;f=a+28|0;if((c[b>>2]|0)>>>0>(c[f>>2]|0)>>>0?(La[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)g=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[b>>2]=0;if((La[c[a+40>>2]&7](a,e,d)|0)<0)g=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;g=0}}return g|0}function eu(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=a[c>>0]|0;do if(d<<24>>24){e=rt(b,d<<24>>24)|0;if(e)if(a[c+1>>0]|0)if(a[e+1>>0]|0){if(!(a[c+2>>0]|0)){f=fu(e,c)|0;break}if(a[e+2>>0]|0){if(!(a[c+3>>0]|0)){f=gu(e,c)|0;break}if(a[e+3>>0]|0)if(!(a[c+4>>0]|0)){f=hu(e,c)|0;break}else{f=iu(e,c)|0;break}else f=0}else f=0}else f=0;else f=e;else f=0}else f=b;while(0);return f|0}function fu(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;f=a[c>>0]|0;a:do if(!(f<<24>>24))g=0;else{h=(d[b>>0]|0)<<8|f&255;i=c;while(1){j=h&65535;if((j|0)==(e|0))break;k=i+1|0;l=a[k>>0]|0;if(!(l<<24>>24)){g=0;break a}else{h=j<<8|l&255;i=k}}g=i+-1|0}while(0);return g|0}function gu(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;c=b+2|0;f=a[c>>0]|0;g=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(f&255)<<8;b=f<<24>>24==0;if((g|0)==(e|0)|b){h=c;i=b}else{b=c;c=g;while(1){g=b+1|0;f=a[g>>0]|0;c=(c|f&255)<<8;j=f<<24>>24==0;if((c|0)==(e|0)|j){h=g;i=j;break}else b=g}}return (i?0:h+-2|0)|0}function hu(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;f=a[c>>0]|0;g=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|f&255;b=f<<24>>24==0;if((g|0)==(e|0)|b){h=c;i=b}else{b=c;c=g;while(1){g=b+1|0;f=a[g>>0]|0;c=c<<8|f&255;j=f<<24>>24==0;if((c|0)==(e|0)|j){h=g;i=j;break}else b=g}}return (i?0:h+-3|0)|0}function iu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=Fa;Fa=Fa+1056|0;g=f+1024|0;h=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;i=a[e>>0]|0;a:do if(i<<24>>24){j=0;k=i;do{if(!(a[b+j>>0]|0)){l=0;break a}m=k&255;n=g+(m>>>5<<2)|0;c[n>>2]=c[n>>2]|1<<(m&31);j=j+1|0;c[h+(m<<2)>>2]=j;k=a[e+j>>0]|0}while(k<<24>>24!=0);k=j>>>0>1;if(k){m=1;n=1;o=0;p=-1;q=1;while(1){r=a[e+(n+p)>>0]|0;s=a[e+q>>0]|0;do if(r<<24>>24==s<<24>>24)if((n|0)==(m|0)){t=m;u=1;v=m+o|0;w=p;break}else{t=m;u=n+1|0;v=o;w=p;break}else if((r&255)>(s&255)){t=q-p|0;u=1;v=q;w=p;break}else{t=1;u=1;v=o+1|0;w=o;break}while(0);q=u+v|0;if(q>>>0>=j>>>0)break;else{m=t;n=u;o=v;p=w}}if(k){p=1;o=1;n=0;m=-1;q=1;while(1){s=a[e+(o+m)>>0]|0;r=a[e+q>>0]|0;do if(s<<24>>24==r<<24>>24)if((o|0)==(p|0)){x=p;y=1;z=p+n|0;A=m;break}else{x=p;y=o+1|0;z=n;A=m;break}else if((s&255)<(r&255)){x=q-m|0;y=1;z=q;A=m;break}else{x=1;y=1;z=n+1|0;A=n;break}while(0);q=y+z|0;if(q>>>0>=j>>>0){B=t;C=w;D=j;E=x;F=A;G=25;break}else{p=x;o=y;n=z;m=A}}}else{B=t;C=w;D=j;E=1;F=-1;G=25}}else{B=1;C=-1;D=j;E=1;F=-1;G=25}}else{B=1;C=-1;D=0;E=1;F=-1;G=25}while(0);b:do if((G|0)==25){w=(F+1|0)>>>0>(C+1|0)>>>0;t=w?E:B;A=w?F:C;w=A+1|0;if(!(ss(e,e+t|0,w)|0)){z=D-t|0;H=z;I=t;J=z}else{z=D-A+-1|0;t=(A>>>0>z>>>0?A:z)+1|0;H=0;I=t;J=D-t|0}t=D|63;z=D+-1|0;y=(H|0)!=0;x=b;v=0;u=b;while(1){i=x;do if((u-i|0)>>>0<D>>>0){m=Js(u,0,t)|0;if(m)if((m-i|0)>>>0<D>>>0){l=0;break b}else{K=m;break}else{K=u+t|0;break}}else K=u;while(0);i=d[x+z>>0]|0;c:do if(!(1<<(i&31)&c[g+(i>>>5<<2)>>2])){L=0;M=D}else{m=D-(c[h+(i<<2)>>2]|0)|0;if(m|0){L=0;M=y&(v|0)!=0&m>>>0<I>>>0?J:m;break}m=w>>>0>v>>>0;n=m?w:v;o=a[e+n>>0]|0;d:do if(o<<24>>24){p=n;q=o;while(1){if(q<<24>>24!=(a[x+p>>0]|0))break;k=p+1|0;q=a[e+k>>0]|0;if(!(q<<24>>24))break d;else p=k}L=0;M=p-A|0;break c}while(0);if(!m){l=x;break b}o=w;while(1){o=o+-1|0;if((a[e+o>>0]|0)!=(a[x+o>>0]|0)){L=H;M=I;break c}if(o>>>0<=v>>>0){l=x;break b}}}while(0);x=x+M|0;v=L;u=K}}while(0);Fa=f;return l|0}function ju(a,b){a=a|0;b=b|0;var c=0;c=ft(a)|0;return ((ku(a,1,c,b)|0)!=(c|0))<<31>>31|0}function ku(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=B(d,b)|0;g=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){d=(As(e)|0)==0;h=Ys(a,f,e)|0;if(d)i=h;else{Bs(e);i=h}}else i=Ys(a,f,e)|0;if((i|0)==(f|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function lu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Fa;Fa=Fa+16|0;g=f;h=e&255;a[g>>0]=h;i=b+16|0;j=c[i>>2]|0;if(!j)if(!(Zs(b)|0)){k=c[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=b+20|0;i=c[j>>2]|0;if(i>>>0<k>>>0?(n=e&255,(n|0)!=(a[b+75>>0]|0)):0){c[j>>2]=i+1;a[i>>0]=h;m=n;break}if((La[c[b+36>>2]&7](b,g,1)|0)==1)m=d[g>>0]|0;else m=-1}while(0);Fa=f;return m|0}function mu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=d;a:do if(!((f^b)&3)){g=(e|0)!=0;if(g&(f&3|0)!=0){h=e;i=d;j=b;while(1){k=a[i>>0]|0;a[j>>0]=k;if(!(k<<24>>24)){l=j;m=h;break a}k=h+-1|0;n=i+1|0;o=j+1|0;p=(k|0)!=0;if(p&(n&3|0)!=0){h=k;i=n;j=o}else{q=k;r=n;s=o;t=p;break}}}else{q=e;r=d;s=b;t=g}if(t)if(!(a[r>>0]|0)){l=s;m=q}else{b:do if(q>>>0>3){j=s;i=r;h=q;while(1){p=c[i>>2]|0;if((p&-2139062144^-2139062144)&p+-16843009|0){u=i;v=j;w=h;break b}c[j>>2]=p;p=h+-4|0;o=i+4|0;n=j+4|0;if(p>>>0>3){j=n;i=o;h=p}else{u=o;v=n;w=p;break}}}else{u=r;v=s;w=q}while(0);x=u;y=v;z=w;A=13}else{l=s;m=0}}else{x=d;y=b;z=e;A=13}while(0);c:do if((A|0)==13)if(!z){l=y;m=0}else{e=x;b=y;d=z;while(1){s=a[e>>0]|0;a[b>>0]=s;if(!(s<<24>>24)){l=b;m=d;break c}d=d+-1|0;s=b+1|0;if(!d){l=s;m=0;break}else{e=e+1|0;b=s}}}while(0);Yu(l|0,0,m|0)|0;return l|0}function nu(a,b,c){a=a|0;b=b|0;c=c|0;mu(a,b,c)|0;return a|0}function ou(b,c){b=b|0;c=c|0;var d=0;d=b+(Ft(b,c)|0)|0;return ((a[d>>0]|0)==0?0:d)|0}function pu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(As(d)|0)!=0:0){e=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=e;i=f}else i=lu(d,b)|0;Bs(d);j=i}else k=3;do if((k|0)==3){i=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(e=d+20|0,h=c[e>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[e>>2]=h+1;a[h>>0]=i;j=f;break}j=lu(d,b)|0}while(0);return j|0}function qu(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(As(a)|0)==0;d=ru(a)|0;if(b)e=d;else{Bs(a);e=d}}else e=ru(a)|0;return e|0}function ru(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;d=La[c[a+40>>2]&7](a,0,b)|0;if((d|0)<0)e=d;else e=d-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return e|0}function su(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[8793]|0;if((c[d+76>>2]|0)>-1)e=As(d)|0;else e=0;do if((ju(b,d)|0)<0)f=-1;else{if((a[d+75>>0]|0)!=10?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=10;f=0;break}f=(lu(d,10)|0)>>31}while(0);if(e|0)Bs(d);return f|0}function tu(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>=0?(As(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;f=d[e>>0]|0}else f=dt(a)|0;Bs(a);g=f}else h=3;do if((h|0)==3){f=a+4|0;e=c[f>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[f>>2]=e+1;g=d[e>>0]|0;break}else{g=dt(a)|0;break}}while(0);return g|0}function uu(a){a=a|0;return qu(a)|0}function vu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=B(e,d)|0;h=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)i=As(f)|0;else i=0;e=f+74|0;j=a[e>>0]|0;a[e>>0]=j+255|j;j=f+4|0;e=c[j>>2]|0;k=(c[f+8>>2]|0)-e|0;if((k|0)>0){l=k>>>0<g>>>0?k:g;Xu(b|0,e|0,l|0)|0;c[j>>2]=(c[j>>2]|0)+l;m=g-l|0;n=b+l|0}else{m=g;n=b}a:do if(!m)o=13;else{b=f+32|0;l=n;j=m;while(1){if(et(f)|0)break;e=La[c[b>>2]&7](f,l,j)|0;if((e+1|0)>>>0<2)break;k=j-e|0;if(!k){o=13;break a}else{l=l+e|0;j=k}}if(i|0)Bs(f);p=((g-j|0)>>>0)/(d>>>0)|0}while(0);if((o|0)==13)if(!i)p=h;else{Bs(f);p=h}return p|0}function wu(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(As(a)|0)==0;du(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Bs(a)}else{du(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function xu(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=d;c[e>>2]=b;b=ys(c[8793]|0,a,e)|0;Fa=d;return b|0}function yu(a,b,c){a=a|0;b=b|0;c=c|0;return Xs(a,b)|0}function zu(a,b){a=a|0;b=b|0;Au()|0;return yu(a,b,0)|0}function Au(){return Qs()|0}function Bu(a){a=a|0;var b=0;if(!(Cu(a)|0))b=(us(a)|0)!=0&1;else b=1;return b|0}function Cu(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Du(){return 35680}function Eu(){V(3042452);return}function Fu(){return 3042436}function Gu(){return 3042444}function Hu(){return 3042448}function Iu(){return 3042452}function Ju(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (F(b+d+(e>>>0<a>>>0|0)>>>0|0),e|0)|0}function Ku(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (F(e|0),a-c>>>0|0)|0}function Lu(a){a=a|0;return (a?31-(D(a^a-1)|0)|0:32)|0}function Mu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (F(n|0),o)|0}else{if(!m){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (F(n|0),o)|0}}m=(l|0)==0;do if(j){if(!m){p=(D(l|0)|0)-(D(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (F(n|0),o)|0}r=j-1|0;if(r&j|0){s=(D(j|0)|0)+33-(D(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (F(n|0),o)|0}else{r=Lu(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (F(n|0),o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (F(n|0),o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (F(n|0),o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((Lu(l|0)|0)>>>0);return (F(n|0),o)|0}r=(D(l|0)|0)-(D(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (F(n|0),o)|0}while(0);if(!t){B=x;C=w;E=v;H=u;I=0;J=0}else{b=d|0|0;d=k|e&0;e=Ju(b|0,d|0,-1,-1)|0;k=G()|0;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Ku(e|0,k|0,g|0,a|0)|0;i=G()|0;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Ku(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=G()|0;u=u-1|0}while((u|0)!=0);B=h;C=x;E=w;H=v;I=0;J=t}t=C;C=0;if(f|0){c[f>>2]=H;c[f+4>>2]=E}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|I;o=(t<<1|0>>>31)&-2|J;return (F(n|0),o)|0}function Nu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Ku(e^a|0,f^b|0,e|0,f|0)|0;b=G()|0;a=g^e;e=h^f;return Ku((Mu(i,b,Ku(g^c|0,h^d|0,g|0,h|0)|0,G()|0,0)|0)^a|0,(G()|0)^e|0,a|0,e|0)|0}function Ou(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=B(d,c)|0;f=a>>>16;a=(e>>>16)+(B(d,f)|0)|0;d=b>>>16;b=B(d,c)|0;return (F((a>>>16)+(B(d,f)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|e&65535|0)|0}function Pu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=Ou(e,a)|0;f=G()|0;return (F((B(b,a)|0)+(B(d,e)|0)+f|f&0|0),c|0|0)|0}function Qu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Mu(a,b,c,d,0)|0}function Ru(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}F(0);return b>>>c-32|0}function Su(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}F(a<<c-32|0);return 0}function Tu(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Uu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;l=l+1|0;c[a>>2]=l;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=l;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;F(e|0);return d|0}f=f+1|0}e=e*2|0;d=Zr(d|0,8*(e+1|0)|0)|0;d=Uu(a|0,b|0,d|0,e|0)|0;F(e|0);return d|0}function Vu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((e|0)<(d|0)){f=c[b+(e<<3)>>2]|0;if(!f)break;if((f|0)==(a|0))return c[b+((e<<3)+4)>>2]|0;e=e+1|0}return 0}function Wu(a,b){a=a|0;b=b|0;if(!j){j=a;k=b}}function Xu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){ra(b|0,d|0,e|0)|0;return b|0}f=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}h=g&-4|0;e=h-64|0;while((b|0)<=(e|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(h|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{h=g-4|0;while((b|0)<(h|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return f|0}function Yu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=f&-4|0;h=d|d<<8|d<<16|d<<24;i=g-64|0;while((b|0)<=(i|0)){c[b>>2]=h;c[b+4>>2]=h;c[b+8>>2]=h;c[b+12>>2]=h;c[b+16>>2]=h;c[b+20>>2]=h;c[b+24>>2]=h;c[b+28>>2]=h;c[b+32>>2]=h;c[b+36>>2]=h;c[b+40>>2]=h;c[b+44>>2]=h;c[b+48>>2]=h;c[b+52>>2]=h;c[b+56>>2]=h;c[b+60>>2]=h;b=b+64|0}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Zu(a){a=a|0;var b=0,d=0;b=c[i>>2]|0;d=b+a|0;if((a|0)>0&(d|0)<(b|0)|(d|0)<0){Ea(d|0)|0;X(12);return -1}if((d|0)>(pa()|0)){if(!(sa(d|0)|0)){X(12);return -1}}else c[i>>2]=d;return b|0}function _u(a){a=a|0;return Ia[a&1]()|0}function $u(a,b){a=a|0;b=b|0;return Ja[a&255](b|0)|0}function av(a,b,c){a=a|0;b=b|0;c=c|0;return Ka[a&3](b|0,c|0)|0}function bv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return La[a&7](b|0,c|0,d|0)|0}function cv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ma[a&1](b|0,c|0,d|0,e|0)|0}function dv(a){a=a|0;Na[a&1]()}function ev(a,b){a=a|0;b=b|0;Oa[a&7](b|0)}function fv(a,b,c){a=a|0;b=b|0;c=c|0;Pa[a&7](b|0,c|0)}function gv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qa[a&3](b|0,c|0,d|0)}function hv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ra[a&0](b|0,c|0,d|0,e|0,f|0)}function iv(){E(0);return 0}function jv(a){a=a|0;E(1);return 0}function kv(a,b){a=a|0;b=b|0;E(2);return 0}function lv(a,b,c){a=a|0;b=b|0;c=c|0;E(3);return 0}function mv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(4);return 0}function nv(){E(5)}function ov(a){a=a|0;E(6)}function pv(a,b){a=a|0;b=b|0;E(7)}function qv(a,b,c){a=a|0;b=b|0;c=c|0;E(8)}function rv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;E(9)}
  7566. // EMSCRIPTEN_END_FUNCS
  7567. var Ia=[iv,ei];var Ja=[jv,as,Za,_a,Ff,Jf,Jh,Gf,If,Kh,Gh,Lh,Mh,Nh,Oh,Mf,Ef,Lf,Ph,Qh,Rh,Sh,Th,Uh,Vh,Wh,Xh,Yh,Zh,_h,$h,ai,bi,$f,_f,ag,bg,di,fi,gi,hi,ii,ji,ki,li,mi,ni,oi,pi,qi,ri,si,ti,ui,vi,wi,xi,yi,zi,Ai,Bi,Ci,Di,Ei,Fi,Gi,Hi,Ii,Ji,Ki,Li,Mi,Ni,Oi,Pi,Qi,Ri,Si,Ti,Ui,Vi,Wi,Xi,Yi,Zi,_i,$i,aj,bj,cj,dj,ej,fj,gj,hj,ij,jj,kj,lj,mj,nj,oj,pj,qj,rj,sj,tj,uj,vj,wj,xj,yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,Gj,Zf,Hj,Ij,Jj,Kj,zf,yf,Af,Bf,Cf,Df,Kf,Uf,Lj,Wf,dg,cg,Xf,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv];var Ka=[kv,uf,_l,kv];var La=[lv,gs,cs,_s,pf,hs,bs,Xt];var Ma=[mv,sk];var Na=[nv,Tm];var Oa=[ov,bb,Ul,Vl,or,ov,ov,ov];var Pa=[pv,zm,hc,Od,Sd,vf,Qf,Rf];var Qa=[qv,$a,nr,qv];var Ra=[rv];return{___divdi3:Nu,___emscripten_environ_constructor:Eu,___errno_location:es,___muldi3:Pu,___udivdi3:Qu,__get_daylight:Gu,__get_environ:Iu,__get_timezone:Hu,__get_tzname:Fu,_bitshift64Lshr:Ru,_bitshift64Shl:Su,_codo_mixer_callback:Qp,_free:Xr,_i64Add:Ju,_i64Subtract:Ku,_llvm_bswap_i32:Tu,_main:Db,_malloc:Wr,_memcpy:Xu,_memset:Yu,_mix_0:Mq,_realloc:Zr,_saveSetjmp:Uu,_sbrk:Zu,_setThrew:Wu,_testSetjmp:Vu,dynCall_i:_u,dynCall_ii:$u,dynCall_iii:av,dynCall_iiii:bv,dynCall_iiiii:cv,dynCall_v:dv,dynCall_vi:ev,dynCall_vii:fv,dynCall_viii:gv,dynCall_viiiii:hv,establishStackSpace:Va,stackAlloc:Sa,stackRestore:Ua,stackSave:Ta}})
  7568. // EMSCRIPTEN_END_ASM
  7569. (asmGlobalArg, asmLibraryArg, buffer);
  7570. var ___divdi3 = Module["___divdi3"] = asm["___divdi3"];
  7571. var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = asm["___emscripten_environ_constructor"];
  7572. var ___errno_location = Module["___errno_location"] = asm["___errno_location"];
  7573. var ___muldi3 = Module["___muldi3"] = asm["___muldi3"];
  7574. var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"];
  7575. var __get_daylight = Module["__get_daylight"] = asm["__get_daylight"];
  7576. var __get_environ = Module["__get_environ"] = asm["__get_environ"];
  7577. var __get_timezone = Module["__get_timezone"] = asm["__get_timezone"];
  7578. var __get_tzname = Module["__get_tzname"] = asm["__get_tzname"];
  7579. var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"];
  7580. var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"];
  7581. var _codo_mixer_callback = Module["_codo_mixer_callback"] = asm["_codo_mixer_callback"];
  7582. var _free = Module["_free"] = asm["_free"];
  7583. var _i64Add = Module["_i64Add"] = asm["_i64Add"];
  7584. var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"];
  7585. var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"];
  7586. var _main = Module["_main"] = asm["_main"];
  7587. var _malloc = Module["_malloc"] = asm["_malloc"];
  7588. var _memcpy = Module["_memcpy"] = asm["_memcpy"];
  7589. var _memset = Module["_memset"] = asm["_memset"];
  7590. var _mix_0 = Module["_mix_0"] = asm["_mix_0"];
  7591. var _realloc = Module["_realloc"] = asm["_realloc"];
  7592. var _saveSetjmp = Module["_saveSetjmp"] = asm["_saveSetjmp"];
  7593. var _sbrk = Module["_sbrk"] = asm["_sbrk"];
  7594. var _setThrew = Module["_setThrew"] = asm["_setThrew"];
  7595. var _testSetjmp = Module["_testSetjmp"] = asm["_testSetjmp"];
  7596. var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"];
  7597. var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"];
  7598. var stackRestore = Module["stackRestore"] = asm["stackRestore"];
  7599. var stackSave = Module["stackSave"] = asm["stackSave"];
  7600. var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"];
  7601. var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"];
  7602. var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"];
  7603. var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"];
  7604. var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"];
  7605. var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"];
  7606. var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"];
  7607. var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"];
  7608. var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"];
  7609. var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"];
  7610. Module["asm"] = asm;
  7611. Module["ccall"] = ccall;
  7612. Module["getValue"] = getValue;
  7613. Module["getMemory"] = getMemory;
  7614. Module["addRunDependency"] = addRunDependency;
  7615. Module["removeRunDependency"] = removeRunDependency;
  7616. Module["FS_createFolder"] = FS.createFolder;
  7617. Module["FS_createPath"] = FS.createPath;
  7618. Module["FS_createDataFile"] = FS.createDataFile;
  7619. Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
  7620. Module["FS_createLazyFile"] = FS.createLazyFile;
  7621. Module["FS_createLink"] = FS.createLink;
  7622. Module["FS_createDevice"] = FS.createDevice;
  7623. Module["FS_unlink"] = FS.unlink;
  7624. if (memoryInitializer) {
  7625. if (!isDataURI(memoryInitializer)) {
  7626. memoryInitializer = locateFile(memoryInitializer);
  7627. }
  7628. if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) {
  7629. var data = Module["readBinary"](memoryInitializer);
  7630. HEAPU8.set(data, GLOBAL_BASE);
  7631. } else {
  7632. addRunDependency("memory initializer");
  7633. var applyMemoryInitializer = function(data) {
  7634. if (data.byteLength) data = new Uint8Array(data);
  7635. HEAPU8.set(data, GLOBAL_BASE);
  7636. if (Module["memoryInitializerRequest"]) delete Module["memoryInitializerRequest"].response;
  7637. removeRunDependency("memory initializer");
  7638. };
  7639. var doBrowserLoad = function() {
  7640. Module["readAsync"](memoryInitializer, applyMemoryInitializer, function() {
  7641. throw "could not load memory initializer " + memoryInitializer;
  7642. });
  7643. };
  7644. var memoryInitializerBytes = tryParseAsDataURI(memoryInitializer);
  7645. if (memoryInitializerBytes) {
  7646. applyMemoryInitializer(memoryInitializerBytes.buffer);
  7647. } else if (Module["memoryInitializerRequest"]) {
  7648. var useRequest = function() {
  7649. var request = Module["memoryInitializerRequest"];
  7650. var response = request.response;
  7651. if (request.status !== 200 && request.status !== 0) {
  7652. var data = tryParseAsDataURI(Module["memoryInitializerRequestURL"]);
  7653. if (data) {
  7654. response = data.buffer;
  7655. } else {
  7656. console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: " + request.status + ", retrying " + memoryInitializer);
  7657. doBrowserLoad();
  7658. return;
  7659. }
  7660. }
  7661. applyMemoryInitializer(response);
  7662. };
  7663. if (Module["memoryInitializerRequest"].response) {
  7664. setTimeout(useRequest, 0);
  7665. } else {
  7666. Module["memoryInitializerRequest"].addEventListener("load", useRequest);
  7667. }
  7668. } else {
  7669. doBrowserLoad();
  7670. }
  7671. }
  7672. }
  7673. function ExitStatus(status) {
  7674. this.name = "ExitStatus";
  7675. this.message = "Program terminated with exit(" + status + ")";
  7676. this.status = status;
  7677. }
  7678. ExitStatus.prototype = new Error();
  7679. ExitStatus.prototype.constructor = ExitStatus;
  7680. var calledMain = false;
  7681. dependenciesFulfilled = function runCaller() {
  7682. if (!Module["calledRun"]) run();
  7683. if (!Module["calledRun"]) dependenciesFulfilled = runCaller;
  7684. };
  7685. Module["callMain"] = function callMain(args) {
  7686. args = args || [];
  7687. ensureInitRuntime();
  7688. var argc = args.length + 1;
  7689. var argv = stackAlloc((argc + 1) * 4);
  7690. HEAP32[argv >> 2] = allocateUTF8OnStack(Module["thisProgram"]);
  7691. for (var i = 1; i < argc; i++) {
  7692. HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]);
  7693. }
  7694. HEAP32[(argv >> 2) + argc] = 0;
  7695. try {
  7696. var ret = Module["_main"](argc, argv, 0);
  7697. exit(ret, true);
  7698. } catch (e) {
  7699. if (e instanceof ExitStatus) {
  7700. return;
  7701. } else if (e == "SimulateInfiniteLoop") {
  7702. Module["noExitRuntime"] = true;
  7703. return;
  7704. } else {
  7705. var toLog = e;
  7706. if (e && typeof e === "object" && e.stack) {
  7707. toLog = [ e, e.stack ];
  7708. }
  7709. err("exception thrown: " + toLog);
  7710. Module["quit"](1, e);
  7711. }
  7712. } finally {
  7713. calledMain = true;
  7714. }
  7715. };
  7716. function run(args) {
  7717. args = args || Module["arguments"];
  7718. if (runDependencies > 0) {
  7719. return;
  7720. }
  7721. preRun();
  7722. if (runDependencies > 0) return;
  7723. if (Module["calledRun"]) return;
  7724. function doRun() {
  7725. if (Module["calledRun"]) return;
  7726. Module["calledRun"] = true;
  7727. if (ABORT) return;
  7728. ensureInitRuntime();
  7729. preMain();
  7730. if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"]();
  7731. if (Module["_main"] && shouldRunNow) Module["callMain"](args);
  7732. postRun();
  7733. }
  7734. if (Module["setStatus"]) {
  7735. Module["setStatus"]("Running...");
  7736. setTimeout(function() {
  7737. setTimeout(function() {
  7738. Module["setStatus"]("");
  7739. }, 1);
  7740. doRun();
  7741. }, 1);
  7742. } else {
  7743. doRun();
  7744. }
  7745. }
  7746. Module["run"] = run;
  7747. function exit(status, implicit) {
  7748. if (implicit && Module["noExitRuntime"] && status === 0) {
  7749. return;
  7750. }
  7751. if (Module["noExitRuntime"]) {} else {
  7752. ABORT = true;
  7753. EXITSTATUS = status;
  7754. exitRuntime();
  7755. if (Module["onExit"]) Module["onExit"](status);
  7756. }
  7757. Module["quit"](status, new ExitStatus(status));
  7758. }
  7759. function abort(what) {
  7760. if (Module["onAbort"]) {
  7761. Module["onAbort"](what);
  7762. }
  7763. if (what !== undefined) {
  7764. out(what);
  7765. err(what);
  7766. what = JSON.stringify(what);
  7767. } else {
  7768. what = "";
  7769. }
  7770. ABORT = true;
  7771. EXITSTATUS = 1;
  7772. throw "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";
  7773. }
  7774. Module["abort"] = abort;
  7775. if (Module["preInit"]) {
  7776. if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ];
  7777. while (Module["preInit"].length > 0) {
  7778. Module["preInit"].pop()();
  7779. }
  7780. }
  7781. var shouldRunNow = true;
  7782. if (Module["noInitialRun"]) {
  7783. shouldRunNow = false;
  7784. }
  7785. Module["noExitRuntime"] = true;
  7786. run();