ccgo_darwin_arm64.go 833 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211
  1. // Code generated for darwin/arm64 by 'generator --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-macro=m_ --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -extended-errors --libc modernc.org/libc --package-name=libz -o libz.a.go libz.a', DO NOT EDIT.
  2. //go:build darwin && arm64
  3. package libz
  4. import (
  5. "reflect"
  6. "unsafe"
  7. "modernc.org/libc"
  8. )
  9. var _ reflect.Type
  10. var _ unsafe.Pointer
  11. const m_ACCESSX_MAX_DESCRIPTORS = 100
  12. const m_BADSIG = "SIG_ERR"
  13. const m_BASE = 65521
  14. const m_BC_BASE_MAX = 99
  15. const m_BC_DIM_MAX = 2048
  16. const m_BC_SCALE_MAX = 99
  17. const m_BC_STRING_MAX = 1000
  18. const m_BIG_ENDIAN = "__DARWIN_BIG_ENDIAN"
  19. const m_BUS_ADRALN = 1
  20. const m_BUS_ADRERR = 2
  21. const m_BUS_NOOP = 0
  22. const m_BUS_OBJERR = 3
  23. const m_BYTE_ORDER = "__DARWIN_BYTE_ORDER"
  24. const m_CHARCLASS_NAME_MAX = 14
  25. const m_CHILD_MAX = 266
  26. const m_CLD_CONTINUED = 6
  27. const m_CLD_DUMPED = 3
  28. const m_CLD_EXITED = 1
  29. const m_CLD_KILLED = 2
  30. const m_CLD_NOOP = 0
  31. const m_CLD_STOPPED = 5
  32. const m_CLD_TRAPPED = 4
  33. const m_COLL_WEIGHTS_MAX = 2
  34. const m_CPUMON_MAKE_FATAL = 0x1000
  35. const m_DEF_MEM_LEVEL = 8
  36. const m_DEF_WBITS = "MAX_WBITS"
  37. const m_DYN_TREES = 2
  38. const m_EQUIV_CLASS_MAX = 2
  39. const m_EXIT_FAILURE = 1
  40. const m_EXIT_SUCCESS = 0
  41. const m_EXPR_NEST_MAX = 32
  42. const m_FD_SETSIZE = "__DARWIN_FD_SETSIZE"
  43. const m_FOOTPRINT_INTERVAL_RESET = 0x1
  44. const m_FPE_FLTDIV = 1
  45. const m_FPE_FLTINV = 5
  46. const m_FPE_FLTOVF = 2
  47. const m_FPE_FLTRES = 4
  48. const m_FPE_FLTSUB = 6
  49. const m_FPE_FLTUND = 3
  50. const m_FPE_INTDIV = 7
  51. const m_FPE_INTOVF = 8
  52. const m_FPE_NOOP = 0
  53. const m_F_LOCK = 1
  54. const m_F_OK = 0
  55. const m_F_TEST = 3
  56. const m_F_TLOCK = 2
  57. const m_F_ULOCK = 0
  58. const m_GID_MAX = 2147483647
  59. const m_HAVE_HIDDEN = 1
  60. const m_ILL_BADSTK = 8
  61. const m_ILL_COPROC = 7
  62. const m_ILL_ILLADR = 5
  63. const m_ILL_ILLOPC = 1
  64. const m_ILL_ILLOPN = 4
  65. const m_ILL_ILLTRP = 2
  66. const m_ILL_NOOP = 0
  67. const m_ILL_PRVOPC = 3
  68. const m_ILL_PRVREG = 6
  69. const m_INTMAX_MAX = "__INTMAX_MAX__"
  70. const m_INTPTR_MAX = "__INTPTR_MAX__"
  71. const m_INT_FAST16_MAX = "__INT_LEAST16_MAX"
  72. const m_INT_FAST16_MIN = "__INT_LEAST16_MIN"
  73. const m_INT_FAST32_MAX = "__INT_LEAST32_MAX"
  74. const m_INT_FAST32_MIN = "__INT_LEAST32_MIN"
  75. const m_INT_FAST64_MAX = "__INT_LEAST64_MAX"
  76. const m_INT_FAST64_MIN = "__INT_LEAST64_MIN"
  77. const m_INT_FAST8_MAX = "__INT_LEAST8_MAX"
  78. const m_INT_FAST8_MIN = "__INT_LEAST8_MIN"
  79. const m_INT_LEAST16_MAX = "__INT_LEAST16_MAX"
  80. const m_INT_LEAST16_MIN = "__INT_LEAST16_MIN"
  81. const m_INT_LEAST32_MAX = "__INT_LEAST32_MAX"
  82. const m_INT_LEAST32_MIN = "__INT_LEAST32_MIN"
  83. const m_INT_LEAST64_MAX = "__INT_LEAST64_MAX"
  84. const m_INT_LEAST64_MIN = "__INT_LEAST64_MIN"
  85. const m_INT_LEAST8_MAX = "__INT_LEAST8_MAX"
  86. const m_INT_LEAST8_MIN = "__INT_LEAST8_MIN"
  87. const m_IOPOL_APPLICATION = "IOPOL_STANDARD"
  88. const m_IOPOL_ATIME_UPDATES_DEFAULT = 0
  89. const m_IOPOL_ATIME_UPDATES_OFF = 1
  90. const m_IOPOL_DEFAULT = 0
  91. const m_IOPOL_IMPORTANT = 1
  92. const m_IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT = 0
  93. const m_IOPOL_MATERIALIZE_DATALESS_FILES_OFF = 1
  94. const m_IOPOL_MATERIALIZE_DATALESS_FILES_ON = 2
  95. const m_IOPOL_NORMAL = "IOPOL_IMPORTANT"
  96. const m_IOPOL_PASSIVE = 2
  97. const m_IOPOL_SCOPE_DARWIN_BG = 2
  98. const m_IOPOL_SCOPE_PROCESS = 0
  99. const m_IOPOL_SCOPE_THREAD = 1
  100. const m_IOPOL_STANDARD = 5
  101. const m_IOPOL_THROTTLE = 3
  102. const m_IOPOL_TYPE_DISK = 0
  103. const m_IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES = 9
  104. const m_IOPOL_TYPE_VFS_ATIME_UPDATES = 2
  105. const m_IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY = 10
  106. const m_IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION = 6
  107. const m_IOPOL_TYPE_VFS_IGNORE_PERMISSIONS = 7
  108. const m_IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES = 3
  109. const m_IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE = 8
  110. const m_IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME = 4
  111. const m_IOPOL_TYPE_VFS_TRIGGER_RESOLVE = 5
  112. const m_IOPOL_UTILITY = 4
  113. const m_IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF = 0
  114. const m_IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON = 1
  115. const m_IOPOL_VFS_CONTENT_PROTECTION_DEFAULT = 0
  116. const m_IOPOL_VFS_CONTENT_PROTECTION_IGNORE = 1
  117. const m_IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT = 0
  118. const m_IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON = 1
  119. const m_IOPOL_VFS_IGNORE_PERMISSIONS_OFF = 0
  120. const m_IOPOL_VFS_IGNORE_PERMISSIONS_ON = 1
  121. const m_IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT = 0
  122. const m_IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON = 1
  123. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_IGNORE = 2
  124. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_OFF = 0
  125. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_ON = 1
  126. const m_IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME = 1
  127. const m_IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT = 0
  128. const m_IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT = 0
  129. const m_IOPOL_VFS_TRIGGER_RESOLVE_OFF = 1
  130. const m_LINE_MAX = 2048
  131. const m_LINK_MAX = 32767
  132. const m_LITTLE_ENDIAN = "__DARWIN_LITTLE_ENDIAN"
  133. const m_L_INCR = "SEEK_CUR"
  134. const m_L_SET = "SEEK_SET"
  135. const m_L_XTND = "SEEK_END"
  136. const m_L_ctermid = 1024
  137. const m_MAC_OS_VERSION_11_0 = "__MAC_11_0"
  138. const m_MAC_OS_VERSION_11_1 = "__MAC_11_1"
  139. const m_MAC_OS_VERSION_11_3 = "__MAC_11_3"
  140. const m_MAC_OS_VERSION_11_4 = "__MAC_11_4"
  141. const m_MAC_OS_VERSION_11_5 = "__MAC_11_5"
  142. const m_MAC_OS_VERSION_11_6 = "__MAC_11_6"
  143. const m_MAC_OS_VERSION_12_0 = "__MAC_12_0"
  144. const m_MAC_OS_VERSION_12_1 = "__MAC_12_1"
  145. const m_MAC_OS_VERSION_12_2 = "__MAC_12_2"
  146. const m_MAC_OS_VERSION_12_3 = "__MAC_12_3"
  147. const m_MAC_OS_VERSION_12_4 = "__MAC_12_4"
  148. const m_MAC_OS_VERSION_12_5 = "__MAC_12_5"
  149. const m_MAC_OS_VERSION_12_6 = "__MAC_12_6"
  150. const m_MAC_OS_VERSION_12_7 = "__MAC_12_7"
  151. const m_MAC_OS_VERSION_13_0 = "__MAC_13_0"
  152. const m_MAC_OS_VERSION_13_1 = "__MAC_13_1"
  153. const m_MAC_OS_VERSION_13_2 = "__MAC_13_2"
  154. const m_MAC_OS_VERSION_13_3 = "__MAC_13_3"
  155. const m_MAC_OS_VERSION_13_4 = "__MAC_13_4"
  156. const m_MAC_OS_VERSION_13_5 = "__MAC_13_5"
  157. const m_MAC_OS_VERSION_13_6 = "__MAC_13_6"
  158. const m_MAC_OS_VERSION_13_7 = "__MAC_13_7"
  159. const m_MAC_OS_VERSION_14_0 = "__MAC_14_0"
  160. const m_MAC_OS_VERSION_14_1 = "__MAC_14_1"
  161. const m_MAC_OS_VERSION_14_2 = "__MAC_14_2"
  162. const m_MAC_OS_VERSION_14_3 = "__MAC_14_3"
  163. const m_MAC_OS_VERSION_14_4 = "__MAC_14_4"
  164. const m_MAC_OS_VERSION_14_5 = "__MAC_14_5"
  165. const m_MAC_OS_VERSION_14_6 = "__MAC_14_6"
  166. const m_MAC_OS_VERSION_14_7 = "__MAC_14_7"
  167. const m_MAC_OS_VERSION_15_0 = "__MAC_15_0"
  168. const m_MAC_OS_VERSION_15_1 = "__MAC_15_1"
  169. const m_MAC_OS_VERSION_15_2 = "__MAC_15_2"
  170. const m_MAC_OS_VERSION_15_3 = "__MAC_15_3"
  171. const m_MAC_OS_VERSION_15_4 = "__MAC_15_4"
  172. const m_MAC_OS_X_VERSION_10_0 = "__MAC_10_0"
  173. const m_MAC_OS_X_VERSION_10_1 = "__MAC_10_1"
  174. const m_MAC_OS_X_VERSION_10_10 = "__MAC_10_10"
  175. const m_MAC_OS_X_VERSION_10_10_2 = "__MAC_10_10_2"
  176. const m_MAC_OS_X_VERSION_10_10_3 = "__MAC_10_10_3"
  177. const m_MAC_OS_X_VERSION_10_11 = "__MAC_10_11"
  178. const m_MAC_OS_X_VERSION_10_11_2 = "__MAC_10_11_2"
  179. const m_MAC_OS_X_VERSION_10_11_3 = "__MAC_10_11_3"
  180. const m_MAC_OS_X_VERSION_10_11_4 = "__MAC_10_11_4"
  181. const m_MAC_OS_X_VERSION_10_12 = "__MAC_10_12"
  182. const m_MAC_OS_X_VERSION_10_12_1 = "__MAC_10_12_1"
  183. const m_MAC_OS_X_VERSION_10_12_2 = "__MAC_10_12_2"
  184. const m_MAC_OS_X_VERSION_10_12_4 = "__MAC_10_12_4"
  185. const m_MAC_OS_X_VERSION_10_13 = "__MAC_10_13"
  186. const m_MAC_OS_X_VERSION_10_13_1 = "__MAC_10_13_1"
  187. const m_MAC_OS_X_VERSION_10_13_2 = "__MAC_10_13_2"
  188. const m_MAC_OS_X_VERSION_10_13_4 = "__MAC_10_13_4"
  189. const m_MAC_OS_X_VERSION_10_14 = "__MAC_10_14"
  190. const m_MAC_OS_X_VERSION_10_14_1 = "__MAC_10_14_1"
  191. const m_MAC_OS_X_VERSION_10_14_4 = "__MAC_10_14_4"
  192. const m_MAC_OS_X_VERSION_10_14_5 = "__MAC_10_14_5"
  193. const m_MAC_OS_X_VERSION_10_14_6 = "__MAC_10_14_6"
  194. const m_MAC_OS_X_VERSION_10_15 = "__MAC_10_15"
  195. const m_MAC_OS_X_VERSION_10_15_1 = "__MAC_10_15_1"
  196. const m_MAC_OS_X_VERSION_10_15_4 = "__MAC_10_15_4"
  197. const m_MAC_OS_X_VERSION_10_16 = "__MAC_10_16"
  198. const m_MAC_OS_X_VERSION_10_2 = "__MAC_10_2"
  199. const m_MAC_OS_X_VERSION_10_3 = "__MAC_10_3"
  200. const m_MAC_OS_X_VERSION_10_4 = "__MAC_10_4"
  201. const m_MAC_OS_X_VERSION_10_5 = "__MAC_10_5"
  202. const m_MAC_OS_X_VERSION_10_6 = "__MAC_10_6"
  203. const m_MAC_OS_X_VERSION_10_7 = "__MAC_10_7"
  204. const m_MAC_OS_X_VERSION_10_8 = "__MAC_10_8"
  205. const m_MAC_OS_X_VERSION_10_9 = "__MAC_10_9"
  206. const m_MAX_CANON = 1024
  207. const m_MAX_INPUT = 1024
  208. const m_MAX_MATCH = 258
  209. const m_MAX_MEM_LEVEL = 9
  210. const m_MAX_WBITS = 15
  211. const m_MB_CUR_MAX = "__mb_cur_max"
  212. const m_MB_LEN_MAX = 1
  213. const m_MINSIGSTKSZ = 32768
  214. const m_MIN_MATCH = 3
  215. const m_NAME_MAX = 255
  216. const m_NBBY = "__DARWIN_NBBY"
  217. const m_NDEBUG = 1
  218. const m_NFDBITS = "__DARWIN_NFDBITS"
  219. const m_NGROUPS_MAX = 16
  220. const m_NMAX = 5552
  221. const m_NSIG = "__DARWIN_NSIG"
  222. const m_NZERO = 20
  223. const m_OPEN_MAX = 10240
  224. const m_OS_CODE = 19
  225. const m_PATH_MAX = 1024
  226. const m_PDP_ENDIAN = "__DARWIN_PDP_ENDIAN"
  227. const m_PIPE_BUF = 512
  228. const m_POLL_ERR = 4
  229. const m_POLL_HUP = 6
  230. const m_POLL_IN = 1
  231. const m_POLL_MSG = 3
  232. const m_POLL_OUT = 2
  233. const m_POLL_PRI = 5
  234. const m_PRESET_DICT = 0x20
  235. const m_PRIO_DARWIN_BG = 0x1000
  236. const m_PRIO_DARWIN_NONUI = 0x1001
  237. const m_PRIO_DARWIN_PROCESS = 4
  238. const m_PRIO_DARWIN_THREAD = 3
  239. const m_PRIO_MAX = 20
  240. const m_PRIO_PGRP = 1
  241. const m_PRIO_PROCESS = 0
  242. const m_PRIO_USER = 2
  243. const m_PTRDIFF_MAX = "__PTRDIFF_MAX__"
  244. const m_RAND_MAX = 0x7fffffff
  245. const m_RE_DUP_MAX = 255
  246. const m_RLIMIT_AS = 5
  247. const m_RLIMIT_CORE = 4
  248. const m_RLIMIT_CPU = 0
  249. const m_RLIMIT_CPU_USAGE_MONITOR = 0x2
  250. const m_RLIMIT_DATA = 2
  251. const m_RLIMIT_FOOTPRINT_INTERVAL = 0x4
  252. const m_RLIMIT_FSIZE = 1
  253. const m_RLIMIT_MEMLOCK = 6
  254. const m_RLIMIT_NOFILE = 8
  255. const m_RLIMIT_NPROC = 7
  256. const m_RLIMIT_RSS = "RLIMIT_AS"
  257. const m_RLIMIT_STACK = 3
  258. const m_RLIMIT_THREAD_CPULIMITS = 0x3
  259. const m_RLIMIT_WAKEUPS_MONITOR = 0x1
  260. const m_RLIM_NLIMITS = 9
  261. const m_RLIM_SAVED_CUR = "RLIM_INFINITY"
  262. const m_RLIM_SAVED_MAX = "RLIM_INFINITY"
  263. const m_RUSAGE_INFO_CURRENT = "RUSAGE_INFO_V6"
  264. const m_RUSAGE_INFO_V0 = 0
  265. const m_RUSAGE_INFO_V1 = 1
  266. const m_RUSAGE_INFO_V2 = 2
  267. const m_RUSAGE_INFO_V3 = 3
  268. const m_RUSAGE_INFO_V4 = 4
  269. const m_RUSAGE_INFO_V5 = 5
  270. const m_RUSAGE_INFO_V6 = 6
  271. const m_RUSAGE_SELF = 0
  272. const m_RU_PROC_RUNS_RESLIDE = 0x00000001
  273. const m_SA_64REGSET = 0x0200
  274. const m_SA_NOCLDSTOP = 0x0008
  275. const m_SA_NOCLDWAIT = 0x0020
  276. const m_SA_NODEFER = 0x0010
  277. const m_SA_ONSTACK = 0x0001
  278. const m_SA_RESETHAND = 0x0004
  279. const m_SA_RESTART = 0x0002
  280. const m_SA_SIGINFO = 0x0040
  281. const m_SA_USERTRAMP = 0x0100
  282. const m_SEEK_CUR = 1
  283. const m_SEEK_DATA = 4
  284. const m_SEEK_END = 2
  285. const m_SEEK_HOLE = 3
  286. const m_SEEK_SET = 0
  287. const m_SEGV_ACCERR = 2
  288. const m_SEGV_MAPERR = 1
  289. const m_SEGV_NOOP = 0
  290. const m_SIGABRT = 6
  291. const m_SIGALRM = 14
  292. const m_SIGBUS = 10
  293. const m_SIGCHLD = 20
  294. const m_SIGCONT = 19
  295. const m_SIGEMT = 7
  296. const m_SIGEV_NONE = 0
  297. const m_SIGEV_SIGNAL = 1
  298. const m_SIGEV_THREAD = 3
  299. const m_SIGFPE = 8
  300. const m_SIGHUP = 1
  301. const m_SIGILL = 4
  302. const m_SIGINFO = 29
  303. const m_SIGINT = 2
  304. const m_SIGIO = 23
  305. const m_SIGIOT = "SIGABRT"
  306. const m_SIGKILL = 9
  307. const m_SIGPIPE = 13
  308. const m_SIGPROF = 27
  309. const m_SIGQUIT = 3
  310. const m_SIGSEGV = 11
  311. const m_SIGSTKSZ = 131072
  312. const m_SIGSTOP = 17
  313. const m_SIGSYS = 12
  314. const m_SIGTERM = 15
  315. const m_SIGTRAP = 5
  316. const m_SIGTSTP = 18
  317. const m_SIGTTIN = 21
  318. const m_SIGTTOU = 22
  319. const m_SIGURG = 16
  320. const m_SIGUSR1 = 30
  321. const m_SIGUSR2 = 31
  322. const m_SIGVTALRM = 26
  323. const m_SIGWINCH = 28
  324. const m_SIGXCPU = 24
  325. const m_SIGXFSZ = 25
  326. const m_SIG_BLOCK = 1
  327. const m_SIG_SETMASK = 3
  328. const m_SIG_UNBLOCK = 2
  329. const m_SIZE_MAX = "__SIZE_MAX__"
  330. const m_SI_ASYNCIO = 0x10004
  331. const m_SI_MESGQ = 0x10005
  332. const m_SI_QUEUE = 0x10002
  333. const m_SI_TIMER = 0x10003
  334. const m_SI_USER = 0x10001
  335. const m_SS_DISABLE = 0x0004
  336. const m_SS_ONSTACK = 0x0001
  337. const m_STATIC_TREES = 1
  338. const m_STDERR_FILENO = 2
  339. const m_STDIN_FILENO = 0
  340. const m_STDOUT_FILENO = 1
  341. const m_STORED_BLOCK = 0
  342. const m_SV_INTERRUPT = "SA_RESTART"
  343. const m_SV_NOCLDSTOP = "SA_NOCLDSTOP"
  344. const m_SV_NODEFER = "SA_NODEFER"
  345. const m_SV_ONSTACK = "SA_ONSTACK"
  346. const m_SV_RESETHAND = "SA_RESETHAND"
  347. const m_SV_SIGINFO = "SA_SIGINFO"
  348. const m_SYNC_VOLUME_FULLSYNC = 0x01
  349. const m_SYNC_VOLUME_WAIT = 0x02
  350. const m_TARGET_IPHONE_SIMULATOR = 0
  351. const m_TARGET_OS_ARROW = 1
  352. const m_TARGET_OS_BRIDGE = 0
  353. const m_TARGET_OS_DRIVERKIT = 0
  354. const m_TARGET_OS_EMBEDDED = 0
  355. const m_TARGET_OS_IOS = 0
  356. const m_TARGET_OS_IOSMAC = 0
  357. const m_TARGET_OS_IPHONE = 0
  358. const m_TARGET_OS_LINUX = 0
  359. const m_TARGET_OS_MAC = 1
  360. const m_TARGET_OS_MACCATALYST = 0
  361. const m_TARGET_OS_NANO = 0
  362. const m_TARGET_OS_OSX = 1
  363. const m_TARGET_OS_SIMULATOR = 0
  364. const m_TARGET_OS_TV = 0
  365. const m_TARGET_OS_UIKITFORMAC = 0
  366. const m_TARGET_OS_UNIX = 0
  367. const m_TARGET_OS_VISION = 0
  368. const m_TARGET_OS_WATCH = 0
  369. const m_TARGET_OS_WIN32 = 0
  370. const m_TARGET_OS_WINDOWS = 0
  371. const m_TARGET_OS_XR = 0
  372. const m_TRAP_BRKPT = 1
  373. const m_TRAP_TRACE = 2
  374. const m_UID_MAX = 2147483647
  375. const m_UINTMAX_MAX = "__UINTMAX_MAX__"
  376. const m_UINTPTR_MAX = "__UINTPTR_MAX__"
  377. const m_UINT_FAST16_MAX = "__UINT_LEAST16_MAX"
  378. const m_UINT_FAST32_MAX = "__UINT_LEAST32_MAX"
  379. const m_UINT_FAST64_MAX = "__UINT_LEAST64_MAX"
  380. const m_UINT_FAST8_MAX = "__UINT_LEAST8_MAX"
  381. const m_UINT_LEAST16_MAX = "__UINT_LEAST16_MAX"
  382. const m_UINT_LEAST32_MAX = "__UINT_LEAST32_MAX"
  383. const m_UINT_LEAST64_MAX = "__UINT_LEAST64_MAX"
  384. const m_UINT_LEAST8_MAX = "__UINT_LEAST8_MAX"
  385. const m_WAIT_MYPGRP = 0
  386. const m_WAKEMON_DISABLE = 0x02
  387. const m_WAKEMON_ENABLE = 0x01
  388. const m_WAKEMON_GET_PARAMS = 0x04
  389. const m_WAKEMON_MAKE_FATAL = 0x10
  390. const m_WAKEMON_SET_DEFAULTS = 0x08
  391. const m_WCHAR_MAX = "__WCHAR_MAX__"
  392. const m_WCONTINUED = 0x00000010
  393. const m_WCOREFLAG = 0200
  394. const m_WEXITED = 0x00000004
  395. const m_WNOHANG = 0x00000001
  396. const m_WNOWAIT = 0x00000020
  397. const m_WSTOPPED = 0x00000008
  398. const m_WUNTRACED = 0x00000002
  399. const m_ZEXTERN = "extern"
  400. const m_ZLIB_VERNUM = 0x1310
  401. const m_ZLIB_VERSION = "1.3.1"
  402. const m_ZLIB_VER_MAJOR = 1
  403. const m_ZLIB_VER_MINOR = 3
  404. const m_ZLIB_VER_REVISION = 1
  405. const m_ZLIB_VER_SUBREVISION = 0
  406. const m_Z_ASCII = "Z_TEXT"
  407. const m_Z_BEST_COMPRESSION = 9
  408. const m_Z_BEST_SPEED = 1
  409. const m_Z_BINARY = 0
  410. const m_Z_BLOCK = 5
  411. const m_Z_DEFAULT_STRATEGY = 0
  412. const m_Z_DEFLATED = 8
  413. const m_Z_FILTERED = 1
  414. const m_Z_FINISH = 4
  415. const m_Z_FIXED = 4
  416. const m_Z_FULL_FLUSH = 3
  417. const m_Z_HUFFMAN_ONLY = 2
  418. const m_Z_NEED_DICT = 2
  419. const m_Z_NO_COMPRESSION = 0
  420. const m_Z_NO_FLUSH = 0
  421. const m_Z_NULL = 0
  422. const m_Z_OK = 0
  423. const m_Z_PARTIAL_FLUSH = 1
  424. const m_Z_RLE = 3
  425. const m_Z_STREAM_END = 1
  426. const m_Z_SYNC_FLUSH = 2
  427. const m_Z_TEXT = 1
  428. const m_Z_TREES = 6
  429. const m_Z_U4 = "unsigned"
  430. const m_Z_UNKNOWN = 2
  431. const m__ARM_SIGNAL_ = 1
  432. const m__CS_DARWIN_USER_CACHE_DIR = 65538
  433. const m__CS_DARWIN_USER_DIR = 65536
  434. const m__CS_DARWIN_USER_TEMP_DIR = 65537
  435. const m__CS_PATH = 1
  436. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2
  437. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3
  438. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 4
  439. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5
  440. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6
  441. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7
  442. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 8
  443. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9
  444. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 10
  445. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11
  446. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12
  447. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13
  448. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14
  449. const m__CS_XBS5_ILP32_OFF32_CFLAGS = 20
  450. const m__CS_XBS5_ILP32_OFF32_LDFLAGS = 21
  451. const m__CS_XBS5_ILP32_OFF32_LIBS = 22
  452. const m__CS_XBS5_ILP32_OFF32_LINTFLAGS = 23
  453. const m__CS_XBS5_ILP32_OFFBIG_CFLAGS = 24
  454. const m__CS_XBS5_ILP32_OFFBIG_LDFLAGS = 25
  455. const m__CS_XBS5_ILP32_OFFBIG_LIBS = 26
  456. const m__CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 27
  457. const m__CS_XBS5_LP64_OFF64_CFLAGS = 28
  458. const m__CS_XBS5_LP64_OFF64_LDFLAGS = 29
  459. const m__CS_XBS5_LP64_OFF64_LIBS = 30
  460. const m__CS_XBS5_LP64_OFF64_LINTFLAGS = 31
  461. const m__CS_XBS5_LPBIG_OFFBIG_CFLAGS = 32
  462. const m__CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 33
  463. const m__CS_XBS5_LPBIG_OFFBIG_LIBS = 34
  464. const m__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 35
  465. const m__DARWIN_FEATURE_64_BIT_INODE = 1
  466. const m__DARWIN_FEATURE_ONLY_64_BIT_INODE = 1
  467. const m__DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1
  468. const m__DARWIN_FEATURE_ONLY_VERS_1050 = 1
  469. const m__DARWIN_FEATURE_UNIX_CONFORMANCE = 3
  470. const m__FORTIFY_SOURCE = 2
  471. const m__LIBC_COUNT__MB_LEN_MAX = "_LIBC_UNSAFE_INDEXABLE"
  472. const m__LIBC_COUNT__PATH_MAX = "_LIBC_UNSAFE_INDEXABLE"
  473. const m__LP64 = 1
  474. const m__PC_2_SYMLINKS = 15
  475. const m__PC_ALLOC_SIZE_MIN = 16
  476. const m__PC_ASYNC_IO = 17
  477. const m__PC_AUTH_OPAQUE_NP = 14
  478. const m__PC_CASE_PRESERVING = 12
  479. const m__PC_CASE_SENSITIVE = 11
  480. const m__PC_CHOWN_RESTRICTED = 7
  481. const m__PC_EXTENDED_SECURITY_NP = 13
  482. const m__PC_FILESIZEBITS = 18
  483. const m__PC_LINK_MAX = 1
  484. const m__PC_MAX_CANON = 2
  485. const m__PC_MAX_INPUT = 3
  486. const m__PC_MIN_HOLE_SIZE = 27
  487. const m__PC_NAME_CHARS_MAX = 10
  488. const m__PC_NAME_MAX = 4
  489. const m__PC_NO_TRUNC = 8
  490. const m__PC_PATH_MAX = 5
  491. const m__PC_PIPE_BUF = 6
  492. const m__PC_PRIO_IO = 19
  493. const m__PC_REC_INCR_XFER_SIZE = 20
  494. const m__PC_REC_MAX_XFER_SIZE = 21
  495. const m__PC_REC_MIN_XFER_SIZE = 22
  496. const m__PC_REC_XFER_ALIGN = 23
  497. const m__PC_SYMLINK_MAX = 24
  498. const m__PC_SYNC_IO = 25
  499. const m__PC_VDISABLE = 9
  500. const m__PC_XATTR_SIZE_BITS = 26
  501. const m__POSIX2_CHAR_TERM = 200112
  502. const m__POSIX2_C_BIND = 200112
  503. const m__POSIX2_C_DEV = 200112
  504. const m__POSIX2_FORT_RUN = 200112
  505. const m__POSIX2_LOCALEDEF = 200112
  506. const m__POSIX2_SW_DEV = 200112
  507. const m__POSIX2_UPE = 200112
  508. const m__POSIX2_VERSION = 200112
  509. const m__POSIX_CHOWN_RESTRICTED = 200112
  510. const m__POSIX_FSYNC = 200112
  511. const m__POSIX_IPV6 = 200112
  512. const m__POSIX_JOB_CONTROL = 200112
  513. const m__POSIX_MAPPED_FILES = 200112
  514. const m__POSIX_MEMORY_PROTECTION = 200112
  515. const m__POSIX_NO_TRUNC = 200112
  516. const m__POSIX_READER_WRITER_LOCKS = 200112
  517. const m__POSIX_REGEXP = 200112
  518. const m__POSIX_SAVED_IDS = 200112
  519. const m__POSIX_SHELL = 200112
  520. const m__POSIX_SPAWN = 200112
  521. const m__POSIX_THREADS = 200112
  522. const m__POSIX_THREAD_ATTR_STACKADDR = 200112
  523. const m__POSIX_THREAD_ATTR_STACKSIZE = 200112
  524. const m__POSIX_THREAD_KEYS_MAX = 128
  525. const m__POSIX_THREAD_PROCESS_SHARED = 200112
  526. const m__POSIX_THREAD_SAFE_FUNCTIONS = 200112
  527. const m__POSIX_V6_ILP32_OFF32 = "__ILP32_OFF32"
  528. const m__POSIX_V6_ILP32_OFFBIG = "__ILP32_OFFBIG"
  529. const m__POSIX_V6_LP64_OFF64 = "__LP64_OFF64"
  530. const m__POSIX_V6_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  531. const m__POSIX_V7_ILP32_OFF32 = "__ILP32_OFF32"
  532. const m__POSIX_V7_ILP32_OFFBIG = "__ILP32_OFFBIG"
  533. const m__POSIX_V7_LP64_OFF64 = "__LP64_OFF64"
  534. const m__POSIX_V7_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  535. const m__POSIX_VERSION = 200112
  536. const m__QUAD_HIGHWORD = 1
  537. const m__QUAD_LOWWORD = 0
  538. const m__RLIMIT_POSIX_FLAG = 0x1000
  539. const m__SC_2_CHAR_TERM = 20
  540. const m__SC_2_C_BIND = 18
  541. const m__SC_2_C_DEV = 19
  542. const m__SC_2_FORT_DEV = 21
  543. const m__SC_2_FORT_RUN = 22
  544. const m__SC_2_LOCALEDEF = 23
  545. const m__SC_2_PBS = 59
  546. const m__SC_2_PBS_ACCOUNTING = 60
  547. const m__SC_2_PBS_CHECKPOINT = 61
  548. const m__SC_2_PBS_LOCATE = 62
  549. const m__SC_2_PBS_MESSAGE = 63
  550. const m__SC_2_PBS_TRACK = 64
  551. const m__SC_2_SW_DEV = 24
  552. const m__SC_2_UPE = 25
  553. const m__SC_2_VERSION = 17
  554. const m__SC_ADVISORY_INFO = 65
  555. const m__SC_AIO_LISTIO_MAX = 42
  556. const m__SC_AIO_MAX = 43
  557. const m__SC_AIO_PRIO_DELTA_MAX = 44
  558. const m__SC_ARG_MAX = 1
  559. const m__SC_ASYNCHRONOUS_IO = 28
  560. const m__SC_ATEXIT_MAX = 107
  561. const m__SC_BARRIERS = 66
  562. const m__SC_BC_BASE_MAX = 9
  563. const m__SC_BC_DIM_MAX = 10
  564. const m__SC_BC_SCALE_MAX = 11
  565. const m__SC_BC_STRING_MAX = 12
  566. const m__SC_CHILD_MAX = 2
  567. const m__SC_CLK_TCK = 3
  568. const m__SC_CLOCK_SELECTION = 67
  569. const m__SC_COLL_WEIGHTS_MAX = 13
  570. const m__SC_CPUTIME = 68
  571. const m__SC_DELAYTIMER_MAX = 45
  572. const m__SC_EXPR_NEST_MAX = 14
  573. const m__SC_FILE_LOCKING = 69
  574. const m__SC_FSYNC = 38
  575. const m__SC_GETGR_R_SIZE_MAX = 70
  576. const m__SC_GETPW_R_SIZE_MAX = 71
  577. const m__SC_HOST_NAME_MAX = 72
  578. const m__SC_IOV_MAX = 56
  579. const m__SC_IPV6 = 118
  580. const m__SC_JOB_CONTROL = 6
  581. const m__SC_LINE_MAX = 15
  582. const m__SC_LOGIN_NAME_MAX = 73
  583. const m__SC_MAPPED_FILES = 47
  584. const m__SC_MEMLOCK = 30
  585. const m__SC_MEMLOCK_RANGE = 31
  586. const m__SC_MEMORY_PROTECTION = 32
  587. const m__SC_MESSAGE_PASSING = 33
  588. const m__SC_MONOTONIC_CLOCK = 74
  589. const m__SC_MQ_OPEN_MAX = 46
  590. const m__SC_MQ_PRIO_MAX = 75
  591. const m__SC_NGROUPS_MAX = 4
  592. const m__SC_NPROCESSORS_CONF = 57
  593. const m__SC_NPROCESSORS_ONLN = 58
  594. const m__SC_OPEN_MAX = 5
  595. const m__SC_PAGESIZE = 29
  596. const m__SC_PAGE_SIZE = "_SC_PAGESIZE"
  597. const m__SC_PASS_MAX = 131
  598. const m__SC_PHYS_PAGES = 200
  599. const m__SC_PRIORITIZED_IO = 34
  600. const m__SC_PRIORITY_SCHEDULING = 35
  601. const m__SC_RAW_SOCKETS = 119
  602. const m__SC_READER_WRITER_LOCKS = 76
  603. const m__SC_REALTIME_SIGNALS = 36
  604. const m__SC_REGEXP = 77
  605. const m__SC_RE_DUP_MAX = 16
  606. const m__SC_RTSIG_MAX = 48
  607. const m__SC_SAVED_IDS = 7
  608. const m__SC_SEMAPHORES = 37
  609. const m__SC_SEM_NSEMS_MAX = 49
  610. const m__SC_SEM_VALUE_MAX = 50
  611. const m__SC_SHARED_MEMORY_OBJECTS = 39
  612. const m__SC_SHELL = 78
  613. const m__SC_SIGQUEUE_MAX = 51
  614. const m__SC_SPAWN = 79
  615. const m__SC_SPIN_LOCKS = 80
  616. const m__SC_SPORADIC_SERVER = 81
  617. const m__SC_SS_REPL_MAX = 126
  618. const m__SC_STREAM_MAX = 26
  619. const m__SC_SYMLOOP_MAX = 120
  620. const m__SC_SYNCHRONIZED_IO = 40
  621. const m__SC_THREADS = 96
  622. const m__SC_THREAD_ATTR_STACKADDR = 82
  623. const m__SC_THREAD_ATTR_STACKSIZE = 83
  624. const m__SC_THREAD_CPUTIME = 84
  625. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 85
  626. const m__SC_THREAD_KEYS_MAX = 86
  627. const m__SC_THREAD_PRIORITY_SCHEDULING = 89
  628. const m__SC_THREAD_PRIO_INHERIT = 87
  629. const m__SC_THREAD_PRIO_PROTECT = 88
  630. const m__SC_THREAD_PROCESS_SHARED = 90
  631. const m__SC_THREAD_SAFE_FUNCTIONS = 91
  632. const m__SC_THREAD_SPORADIC_SERVER = 92
  633. const m__SC_THREAD_STACK_MIN = 93
  634. const m__SC_THREAD_THREADS_MAX = 94
  635. const m__SC_TIMEOUTS = 95
  636. const m__SC_TIMERS = 41
  637. const m__SC_TIMER_MAX = 52
  638. const m__SC_TRACE = 97
  639. const m__SC_TRACE_EVENT_FILTER = 98
  640. const m__SC_TRACE_EVENT_NAME_MAX = 127
  641. const m__SC_TRACE_INHERIT = 99
  642. const m__SC_TRACE_LOG = 100
  643. const m__SC_TRACE_NAME_MAX = 128
  644. const m__SC_TRACE_SYS_MAX = 129
  645. const m__SC_TRACE_USER_EVENT_MAX = 130
  646. const m__SC_TTY_NAME_MAX = 101
  647. const m__SC_TYPED_MEMORY_OBJECTS = 102
  648. const m__SC_TZNAME_MAX = 27
  649. const m__SC_V6_ILP32_OFF32 = 103
  650. const m__SC_V6_ILP32_OFFBIG = 104
  651. const m__SC_V6_LP64_OFF64 = 105
  652. const m__SC_V6_LPBIG_OFFBIG = 106
  653. const m__SC_VERSION = 8
  654. const m__SC_XBS5_ILP32_OFF32 = 122
  655. const m__SC_XBS5_ILP32_OFFBIG = 123
  656. const m__SC_XBS5_LP64_OFF64 = 124
  657. const m__SC_XBS5_LPBIG_OFFBIG = 125
  658. const m__SC_XOPEN_CRYPT = 108
  659. const m__SC_XOPEN_ENH_I18N = 109
  660. const m__SC_XOPEN_LEGACY = 110
  661. const m__SC_XOPEN_REALTIME = 111
  662. const m__SC_XOPEN_REALTIME_THREADS = 112
  663. const m__SC_XOPEN_SHM = 113
  664. const m__SC_XOPEN_STREAMS = 114
  665. const m__SC_XOPEN_UNIX = 115
  666. const m__SC_XOPEN_VERSION = 116
  667. const m__SC_XOPEN_XCU_VERSION = 121
  668. const m__STRUCT_MCONTEXT = "_STRUCT_MCONTEXT64"
  669. const m__V6_ILP32_OFF32 = "__ILP32_OFF32"
  670. const m__V6_ILP32_OFFBIG = "__ILP32_OFFBIG"
  671. const m__V6_LP64_OFF64 = "__LP64_OFF64"
  672. const m__V6_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  673. const m__WSTOPPED = 0177
  674. const m__XBS5_ILP32_OFF32 = "__ILP32_OFF32"
  675. const m__XBS5_ILP32_OFFBIG = "__ILP32_OFFBIG"
  676. const m__XBS5_LP64_OFF64 = "__LP64_OFF64"
  677. const m__XBS5_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  678. const m__XOPEN_CRYPT = 1
  679. const m__XOPEN_ENH_I18N = 1
  680. const m__XOPEN_SHM = 1
  681. const m__XOPEN_UNIX = 1
  682. const m__XOPEN_VERSION = 600
  683. const m__XOPEN_XCU_VERSION = 4
  684. const m___AARCH64EL__ = 1
  685. const m___AARCH64_CMODEL_SMALL__ = 1
  686. const m___AARCH64_SIMD__ = 1
  687. const m___API_TO_BE_DEPRECATED = 100000
  688. const m___API_TO_BE_DEPRECATED_DRIVERKIT = 100000
  689. const m___API_TO_BE_DEPRECATED_IOS = 100000
  690. const m___API_TO_BE_DEPRECATED_IOSAPPLICATIONEXTENSION = 100000
  691. const m___API_TO_BE_DEPRECATED_KERNELKIT = 100000
  692. const m___API_TO_BE_DEPRECATED_MACCATALYST = 100000
  693. const m___API_TO_BE_DEPRECATED_MACCATALYSTAPPLICATIONEXTENSION = 100000
  694. const m___API_TO_BE_DEPRECATED_MACOS = 100000
  695. const m___API_TO_BE_DEPRECATED_MACOSAPPLICATIONEXTENSION = 100000
  696. const m___API_TO_BE_DEPRECATED_TVOS = 100000
  697. const m___API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION = 100000
  698. const m___API_TO_BE_DEPRECATED_VISIONOS = 100000
  699. const m___API_TO_BE_DEPRECATED_VISIONOSAPPLICATIONEXTENSION = 100000
  700. const m___API_TO_BE_DEPRECATED_WATCHOS = 100000
  701. const m___API_TO_BE_DEPRECATED_WATCHOSAPPLICATIONEXTENSION = 100000
  702. const m___APPLE_CC__ = 6000
  703. const m___APPLE__ = 1
  704. const m___ARM64_ARCH_8__ = 1
  705. const m___ARM_64BIT_STATE = 1
  706. const m___ARM_ACLE = 200
  707. const m___ARM_ALIGN_MAX_STACK_PWR = 4
  708. const m___ARM_ARCH = 8
  709. const m___ARM_ARCH_8_3__ = 1
  710. const m___ARM_ARCH_8_4__ = 1
  711. const m___ARM_ARCH_8_5__ = 1
  712. const m___ARM_ARCH_ISA_A64 = 1
  713. const m___ARM_ARCH_PROFILE = 'A'
  714. const m___ARM_FEATURE_AES = 1
  715. const m___ARM_FEATURE_ATOMICS = 1
  716. const m___ARM_FEATURE_BTI = 1
  717. const m___ARM_FEATURE_CLZ = 1
  718. const m___ARM_FEATURE_COMPLEX = 1
  719. const m___ARM_FEATURE_CRYPTO = 1
  720. const m___ARM_FEATURE_DIRECTED_ROUNDING = 1
  721. const m___ARM_FEATURE_DIV = 1
  722. const m___ARM_FEATURE_DOTPROD = 1
  723. const m___ARM_FEATURE_FMA = 1
  724. const m___ARM_FEATURE_FP16_FML = 1
  725. const m___ARM_FEATURE_FP16_SCALAR_ARITHMETIC = 1
  726. const m___ARM_FEATURE_FP16_VECTOR_ARITHMETIC = 1
  727. const m___ARM_FEATURE_FRINT = 1
  728. const m___ARM_FEATURE_IDIV = 1
  729. const m___ARM_FEATURE_JCVT = 1
  730. const m___ARM_FEATURE_LDREX = 0xF
  731. const m___ARM_FEATURE_NUMERIC_MAXMIN = 1
  732. const m___ARM_FEATURE_PAUTH = 1
  733. const m___ARM_FEATURE_QRDMX = 1
  734. const m___ARM_FEATURE_RCPC = 1
  735. const m___ARM_FEATURE_SHA2 = 1
  736. const m___ARM_FEATURE_SHA3 = 1
  737. const m___ARM_FEATURE_SHA512 = 1
  738. const m___ARM_FEATURE_UNALIGNED = 1
  739. const m___ARM_FP = 0xE
  740. const m___ARM_FP16_ARGS = 1
  741. const m___ARM_FP16_FORMAT_IEEE = 1
  742. const m___ARM_NEON = 1
  743. const m___ARM_NEON_FP = 0xE
  744. const m___ARM_NEON__ = 1
  745. const m___ARM_PCS_AAPCS64 = 1
  746. const m___ARM_SIZEOF_MINIMAL_ENUM = 4
  747. const m___ARM_SIZEOF_WCHAR_T = 4
  748. const m___ARM_STATE_ZA = 1
  749. const m___ARM_STATE_ZT0 = 1
  750. const m___ATOMIC_ACQUIRE = 2
  751. const m___ATOMIC_ACQ_REL = 4
  752. const m___ATOMIC_CONSUME = 1
  753. const m___ATOMIC_RELAXED = 0
  754. const m___ATOMIC_RELEASE = 3
  755. const m___ATOMIC_SEQ_CST = 5
  756. const m___AVAILABILITY_FILE = "AvailabilityVersions.h"
  757. const m___AVAILABILITY_VERSIONS_VERSION_HASH = 93585900
  758. const m___AVAILABILITY_VERSIONS_VERSION_STRING = "Local"
  759. const m___BIGGEST_ALIGNMENT__ = 8
  760. const m___BITINT_MAXWIDTH__ = 128
  761. const m___BLOCKS__ = 1
  762. const m___BOOL_WIDTH__ = 8
  763. const m___BRIDGEOS_2_0 = 20000
  764. const m___BRIDGEOS_3_0 = 30000
  765. const m___BRIDGEOS_3_1 = 30100
  766. const m___BRIDGEOS_3_4 = 30400
  767. const m___BRIDGEOS_4_0 = 40000
  768. const m___BRIDGEOS_4_1 = 40100
  769. const m___BRIDGEOS_5_0 = 50000
  770. const m___BRIDGEOS_5_1 = 50100
  771. const m___BRIDGEOS_5_3 = 50300
  772. const m___BRIDGEOS_6_0 = 60000
  773. const m___BRIDGEOS_6_2 = 60200
  774. const m___BRIDGEOS_6_4 = 60400
  775. const m___BRIDGEOS_6_5 = 60500
  776. const m___BRIDGEOS_6_6 = 60600
  777. const m___BRIDGEOS_7_0 = 70000
  778. const m___BRIDGEOS_7_1 = 70100
  779. const m___BRIDGEOS_7_2 = 70200
  780. const m___BRIDGEOS_7_3 = 70300
  781. const m___BRIDGEOS_7_4 = 70400
  782. const m___BRIDGEOS_7_6 = 70600
  783. const m___BRIDGEOS_8_0 = 80000
  784. const m___BRIDGEOS_8_1 = 80100
  785. const m___BRIDGEOS_8_2 = 80200
  786. const m___BRIDGEOS_8_3 = 80300
  787. const m___BRIDGEOS_8_4 = 80400
  788. const m___BRIDGEOS_8_5 = 80500
  789. const m___BRIDGEOS_8_6 = 80600
  790. const m___BRIDGEOS_9_0 = 90000
  791. const m___BRIDGEOS_9_1 = 90100
  792. const m___BRIDGEOS_9_2 = 90200
  793. const m___BRIDGEOS_9_3 = 90300
  794. const m___BRIDGEOS_9_4 = 90400
  795. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  796. const m___CCGO__ = 1
  797. const m___CHAR_BIT__ = 8
  798. const m___CLANG_ATOMIC_BOOL_LOCK_FREE = 2
  799. const m___CLANG_ATOMIC_CHAR16_T_LOCK_FREE = 2
  800. const m___CLANG_ATOMIC_CHAR32_T_LOCK_FREE = 2
  801. const m___CLANG_ATOMIC_CHAR_LOCK_FREE = 2
  802. const m___CLANG_ATOMIC_INT_LOCK_FREE = 2
  803. const m___CLANG_ATOMIC_LLONG_LOCK_FREE = 2
  804. const m___CLANG_ATOMIC_LONG_LOCK_FREE = 2
  805. const m___CLANG_ATOMIC_POINTER_LOCK_FREE = 2
  806. const m___CLANG_ATOMIC_SHORT_LOCK_FREE = 2
  807. const m___CLANG_ATOMIC_WCHAR_T_LOCK_FREE = 2
  808. const m___CONSTANT_CFSTRINGS__ = 1
  809. const m___DARWIN_64_BIT_INO_T = 1
  810. const m___DARWIN_BIG_ENDIAN = 4321
  811. const m___DARWIN_BYTE_ORDER = "__DARWIN_LITTLE_ENDIAN"
  812. const m___DARWIN_C_ANSI = 010000
  813. const m___DARWIN_C_FULL = 900000
  814. const m___DARWIN_C_LEVEL = "__DARWIN_C_FULL"
  815. const m___DARWIN_FD_SETSIZE = 1024
  816. const m___DARWIN_LITTLE_ENDIAN = 1234
  817. const m___DARWIN_NBBY = 8
  818. const m___DARWIN_NON_CANCELABLE = 0
  819. const m___DARWIN_NO_LONG_LONG = 0
  820. const m___DARWIN_NSIG = 32
  821. const m___DARWIN_ONLY_64_BIT_INO_T = 1
  822. const m___DARWIN_ONLY_UNIX_CONFORMANCE = 1
  823. const m___DARWIN_ONLY_VERS_1050 = 1
  824. const m___DARWIN_OPAQUE_ARM_THREAD_STATE64 = 0
  825. const m___DARWIN_PDP_ENDIAN = 3412
  826. const m___DARWIN_SUF_EXTSN = "$DARWIN_EXTSN"
  827. const m___DARWIN_UNIX03 = 1
  828. const m___DARWIN_VERS_1050 = 1
  829. const m___DARWIN_WCHAR_MAX = "__WCHAR_MAX__"
  830. const m___DBL_DECIMAL_DIG__ = 17
  831. const m___DBL_DENORM_MIN__ = 4.9406564584124654e-324
  832. const m___DBL_DIG__ = 15
  833. const m___DBL_EPSILON__ = 2.2204460492503131e-16
  834. const m___DBL_HAS_DENORM__ = 1
  835. const m___DBL_HAS_INFINITY__ = 1
  836. const m___DBL_HAS_QUIET_NAN__ = 1
  837. const m___DBL_MANT_DIG__ = 53
  838. const m___DBL_MAX_10_EXP__ = 308
  839. const m___DBL_MAX_EXP__ = 1024
  840. const m___DBL_MAX__ = 1.7976931348623157e+308
  841. const m___DBL_MIN__ = 2.2250738585072014e-308
  842. const m___DBL_NORM_MAX__ = 1.7976931348623157e+308
  843. const m___DECIMAL_DIG__ = "__LDBL_DECIMAL_DIG__"
  844. const m___DRIVERKIT_19_0 = 190000
  845. const m___DRIVERKIT_20_0 = 200000
  846. const m___DRIVERKIT_21_0 = 210000
  847. const m___DRIVERKIT_22_0 = 220000
  848. const m___DRIVERKIT_22_4 = 220400
  849. const m___DRIVERKIT_22_5 = 220500
  850. const m___DRIVERKIT_22_6 = 220600
  851. const m___DRIVERKIT_23_0 = 230000
  852. const m___DRIVERKIT_23_1 = 230100
  853. const m___DRIVERKIT_23_2 = 230200
  854. const m___DRIVERKIT_23_3 = 230300
  855. const m___DRIVERKIT_23_4 = 230400
  856. const m___DRIVERKIT_23_5 = 230500
  857. const m___DRIVERKIT_23_6 = 230600
  858. const m___DRIVERKIT_24_0 = 240000
  859. const m___DRIVERKIT_24_1 = 240100
  860. const m___DRIVERKIT_24_2 = 240200
  861. const m___DRIVERKIT_24_3 = 240300
  862. const m___DRIVERKIT_24_4 = 240400
  863. const m___DYNAMIC__ = 1
  864. const m___ENABLE_LEGACY_MAC_AVAILABILITY = 1
  865. const m___ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ = 150000
  866. const m___ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ = 150000
  867. const m___FINITE_MATH_ONLY__ = 0
  868. const m___FLT16_DECIMAL_DIG__ = 5
  869. const m___FLT16_DENORM_MIN__ = 5.9604644775390625e-8
  870. const m___FLT16_DIG__ = 3
  871. const m___FLT16_EPSILON__ = 9.765625e-4
  872. const m___FLT16_HAS_DENORM__ = 1
  873. const m___FLT16_HAS_INFINITY__ = 1
  874. const m___FLT16_HAS_QUIET_NAN__ = 1
  875. const m___FLT16_MANT_DIG__ = 11
  876. const m___FLT16_MAX_10_EXP__ = 4
  877. const m___FLT16_MAX_EXP__ = 16
  878. const m___FLT16_MAX__ = 6.5504e+4
  879. const m___FLT16_MIN__ = 6.103515625e-5
  880. const m___FLT16_NORM_MAX__ = 6.5504e+4
  881. const m___FLT_DECIMAL_DIG__ = 9
  882. const m___FLT_DENORM_MIN__ = 1.40129846e-45
  883. const m___FLT_DIG__ = 6
  884. const m___FLT_EPSILON__ = 1.19209290e-7
  885. const m___FLT_HAS_DENORM__ = 1
  886. const m___FLT_HAS_INFINITY__ = 1
  887. const m___FLT_HAS_QUIET_NAN__ = 1
  888. const m___FLT_MANT_DIG__ = 24
  889. const m___FLT_MAX_10_EXP__ = 38
  890. const m___FLT_MAX_EXP__ = 128
  891. const m___FLT_MAX__ = 3.40282347e+38
  892. const m___FLT_MIN__ = 1.17549435e-38
  893. const m___FLT_NORM_MAX__ = 3.40282347e+38
  894. const m___FLT_RADIX__ = 2
  895. const m___FPCLASS_NEGINF = 0x0004
  896. const m___FPCLASS_NEGNORMAL = 0x0008
  897. const m___FPCLASS_NEGSUBNORMAL = 0x0010
  898. const m___FPCLASS_NEGZERO = 0x0020
  899. const m___FPCLASS_POSINF = 0x0200
  900. const m___FPCLASS_POSNORMAL = 0x0100
  901. const m___FPCLASS_POSSUBNORMAL = 0x0080
  902. const m___FPCLASS_POSZERO = 0x0040
  903. const m___FPCLASS_QNAN = 0x0002
  904. const m___FPCLASS_SNAN = 0x0001
  905. const m___FP_FAST_FMA = 1
  906. const m___FP_FAST_FMAF = 1
  907. const m___FUNCTION__ = "__func__"
  908. const m___GCC_ASM_FLAG_OUTPUTS__ = 1
  909. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  910. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  911. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  912. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  913. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  914. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  915. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  916. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  917. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  918. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  919. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  920. const m___GCC_CONSTRUCTIVE_SIZE = 64
  921. const m___GCC_DESTRUCTIVE_SIZE = 64
  922. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  923. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  924. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 = 1
  925. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  926. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  927. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  928. const m___GNUC_MINOR__ = 2
  929. const m___GNUC_PATCHLEVEL__ = 1
  930. const m___GNUC_STDC_INLINE__ = 1
  931. const m___GNUC__ = 4
  932. const m___GXX_ABI_VERSION = 1002
  933. const m___HAVE_FUNCTION_MULTI_VERSIONING = 1
  934. const m___INT16_FMTd__ = "hd"
  935. const m___INT16_FMTi__ = "hi"
  936. const m___INT16_MAX__ = 32767
  937. const m___INT16_TYPE__ = "short"
  938. const m___INT32_FMTd__ = "d"
  939. const m___INT32_FMTi__ = "i"
  940. const m___INT32_MAX__ = 2147483647
  941. const m___INT32_TYPE__ = "int"
  942. const m___INT64_C_SUFFIX__ = "LL"
  943. const m___INT64_FMTd__ = "lld"
  944. const m___INT64_FMTi__ = "lli"
  945. const m___INT64_MAX__ = 9223372036854775807
  946. const m___INT8_FMTd__ = "hhd"
  947. const m___INT8_FMTi__ = "hhi"
  948. const m___INT8_MAX__ = 127
  949. const m___INTMAX_C_SUFFIX__ = "L"
  950. const m___INTMAX_FMTd__ = "ld"
  951. const m___INTMAX_FMTi__ = "li"
  952. const m___INTMAX_MAX__ = 9223372036854775807
  953. const m___INTMAX_WIDTH__ = 64
  954. const m___INTPTR_FMTd__ = "ld"
  955. const m___INTPTR_FMTi__ = "li"
  956. const m___INTPTR_MAX__ = 9223372036854775807
  957. const m___INTPTR_WIDTH__ = 64
  958. const m___INT_FAST16_FMTd__ = "hd"
  959. const m___INT_FAST16_FMTi__ = "hi"
  960. const m___INT_FAST16_MAX__ = 32767
  961. const m___INT_FAST16_TYPE__ = "short"
  962. const m___INT_FAST16_WIDTH__ = 16
  963. const m___INT_FAST32_FMTd__ = "d"
  964. const m___INT_FAST32_FMTi__ = "i"
  965. const m___INT_FAST32_MAX__ = 2147483647
  966. const m___INT_FAST32_TYPE__ = "int"
  967. const m___INT_FAST32_WIDTH__ = 32
  968. const m___INT_FAST64_FMTd__ = "lld"
  969. const m___INT_FAST64_FMTi__ = "lli"
  970. const m___INT_FAST64_MAX__ = 9223372036854775807
  971. const m___INT_FAST64_WIDTH__ = 64
  972. const m___INT_FAST8_FMTd__ = "hhd"
  973. const m___INT_FAST8_FMTi__ = "hhi"
  974. const m___INT_FAST8_MAX__ = 127
  975. const m___INT_FAST8_WIDTH__ = 8
  976. const m___INT_LEAST16_FMTd__ = "hd"
  977. const m___INT_LEAST16_FMTi__ = "hi"
  978. const m___INT_LEAST16_MAX__ = 32767
  979. const m___INT_LEAST16_TYPE__ = "short"
  980. const m___INT_LEAST16_WIDTH__ = 16
  981. const m___INT_LEAST32_FMTd__ = "d"
  982. const m___INT_LEAST32_FMTi__ = "i"
  983. const m___INT_LEAST32_MAX__ = 2147483647
  984. const m___INT_LEAST32_TYPE__ = "int"
  985. const m___INT_LEAST32_WIDTH__ = 32
  986. const m___INT_LEAST64_FMTd__ = "lld"
  987. const m___INT_LEAST64_FMTi__ = "lli"
  988. const m___INT_LEAST64_MAX = "INT64_MAX"
  989. const m___INT_LEAST64_MAX__ = 9223372036854775807
  990. const m___INT_LEAST64_MIN = "INT64_MIN"
  991. const m___INT_LEAST64_WIDTH__ = 64
  992. const m___INT_LEAST8_FMTd__ = "hhd"
  993. const m___INT_LEAST8_FMTi__ = "hhi"
  994. const m___INT_LEAST8_MAX__ = 127
  995. const m___INT_LEAST8_WIDTH__ = 8
  996. const m___INT_MAX__ = 2147483647
  997. const m___INT_WIDTH__ = 32
  998. const m___IPHONE_10_0 = 100000
  999. const m___IPHONE_10_1 = 100100
  1000. const m___IPHONE_10_2 = 100200
  1001. const m___IPHONE_10_3 = 100300
  1002. const m___IPHONE_11_0 = 110000
  1003. const m___IPHONE_11_1 = 110100
  1004. const m___IPHONE_11_2 = 110200
  1005. const m___IPHONE_11_3 = 110300
  1006. const m___IPHONE_11_4 = 110400
  1007. const m___IPHONE_12_0 = 120000
  1008. const m___IPHONE_12_1 = 120100
  1009. const m___IPHONE_12_2 = 120200
  1010. const m___IPHONE_12_3 = 120300
  1011. const m___IPHONE_12_4 = 120400
  1012. const m___IPHONE_13_0 = 130000
  1013. const m___IPHONE_13_1 = 130100
  1014. const m___IPHONE_13_2 = 130200
  1015. const m___IPHONE_13_3 = 130300
  1016. const m___IPHONE_13_4 = 130400
  1017. const m___IPHONE_13_5 = 130500
  1018. const m___IPHONE_13_6 = 130600
  1019. const m___IPHONE_13_7 = 130700
  1020. const m___IPHONE_14_0 = 140000
  1021. const m___IPHONE_14_1 = 140100
  1022. const m___IPHONE_14_2 = 140200
  1023. const m___IPHONE_14_3 = 140300
  1024. const m___IPHONE_14_4 = 140400
  1025. const m___IPHONE_14_5 = 140500
  1026. const m___IPHONE_14_6 = 140600
  1027. const m___IPHONE_14_7 = 140700
  1028. const m___IPHONE_14_8 = 140800
  1029. const m___IPHONE_15_0 = 150000
  1030. const m___IPHONE_15_1 = 150100
  1031. const m___IPHONE_15_2 = 150200
  1032. const m___IPHONE_15_3 = 150300
  1033. const m___IPHONE_15_4 = 150400
  1034. const m___IPHONE_15_5 = 150500
  1035. const m___IPHONE_15_6 = 150600
  1036. const m___IPHONE_15_7 = 150700
  1037. const m___IPHONE_15_8 = 150800
  1038. const m___IPHONE_16_0 = 160000
  1039. const m___IPHONE_16_1 = 160100
  1040. const m___IPHONE_16_2 = 160200
  1041. const m___IPHONE_16_3 = 160300
  1042. const m___IPHONE_16_4 = 160400
  1043. const m___IPHONE_16_5 = 160500
  1044. const m___IPHONE_16_6 = 160600
  1045. const m___IPHONE_16_7 = 160700
  1046. const m___IPHONE_17_0 = 170000
  1047. const m___IPHONE_17_1 = 170100
  1048. const m___IPHONE_17_2 = 170200
  1049. const m___IPHONE_17_3 = 170300
  1050. const m___IPHONE_17_4 = 170400
  1051. const m___IPHONE_17_5 = 170500
  1052. const m___IPHONE_17_6 = 170600
  1053. const m___IPHONE_17_7 = 170700
  1054. const m___IPHONE_18_0 = 180000
  1055. const m___IPHONE_18_1 = 180100
  1056. const m___IPHONE_18_2 = 180200
  1057. const m___IPHONE_18_3 = 180300
  1058. const m___IPHONE_18_4 = 180400
  1059. const m___IPHONE_2_0 = 20000
  1060. const m___IPHONE_2_1 = 20100
  1061. const m___IPHONE_2_2 = 20200
  1062. const m___IPHONE_3_0 = 30000
  1063. const m___IPHONE_3_1 = 30100
  1064. const m___IPHONE_3_2 = 30200
  1065. const m___IPHONE_4_0 = 40000
  1066. const m___IPHONE_4_1 = 40100
  1067. const m___IPHONE_4_2 = 40200
  1068. const m___IPHONE_4_3 = 40300
  1069. const m___IPHONE_5_0 = 50000
  1070. const m___IPHONE_5_1 = 50100
  1071. const m___IPHONE_6_0 = 60000
  1072. const m___IPHONE_6_1 = 60100
  1073. const m___IPHONE_7_0 = 70000
  1074. const m___IPHONE_7_1 = 70100
  1075. const m___IPHONE_8_0 = 80000
  1076. const m___IPHONE_8_1 = 80100
  1077. const m___IPHONE_8_2 = 80200
  1078. const m___IPHONE_8_3 = 80300
  1079. const m___IPHONE_8_4 = 80400
  1080. const m___IPHONE_9_0 = 90000
  1081. const m___IPHONE_9_1 = 90100
  1082. const m___IPHONE_9_2 = 90200
  1083. const m___IPHONE_9_3 = 90300
  1084. const m___LDBL_DECIMAL_DIG__ = 17
  1085. const m___LDBL_DENORM_MIN__ = 4.9406564584124654e-324
  1086. const m___LDBL_DIG__ = 15
  1087. const m___LDBL_EPSILON__ = 2.2204460492503131e-16
  1088. const m___LDBL_HAS_DENORM__ = 1
  1089. const m___LDBL_HAS_INFINITY__ = 1
  1090. const m___LDBL_HAS_QUIET_NAN__ = 1
  1091. const m___LDBL_MANT_DIG__ = 53
  1092. const m___LDBL_MAX_10_EXP__ = 308
  1093. const m___LDBL_MAX_EXP__ = 1024
  1094. const m___LDBL_MAX__ = 1.7976931348623157e+308
  1095. const m___LDBL_MIN__ = 2.2250738585072014e-308
  1096. const m___LDBL_NORM_MAX__ = 1.7976931348623157e+308
  1097. const m___LITTLE_ENDIAN__ = 1
  1098. const m___LLONG_WIDTH__ = 64
  1099. const m___LONG_LONG_MAX__ = 9223372036854775807
  1100. const m___LONG_MAX__ = 9223372036854775807
  1101. const m___LONG_WIDTH__ = 64
  1102. const m___LP64_OFF64 = 1
  1103. const m___LP64__ = 1
  1104. const m___LPBIG_OFFBIG = 1
  1105. const m___MACH__ = 1
  1106. const m___MAC_10_0 = 1000
  1107. const m___MAC_10_1 = 1010
  1108. const m___MAC_10_10 = 101000
  1109. const m___MAC_10_10_2 = 101002
  1110. const m___MAC_10_10_3 = 101003
  1111. const m___MAC_10_11 = 101100
  1112. const m___MAC_10_11_2 = 101102
  1113. const m___MAC_10_11_3 = 101103
  1114. const m___MAC_10_11_4 = 101104
  1115. const m___MAC_10_12 = 101200
  1116. const m___MAC_10_12_1 = 101201
  1117. const m___MAC_10_12_2 = 101202
  1118. const m___MAC_10_12_4 = 101204
  1119. const m___MAC_10_13 = 101300
  1120. const m___MAC_10_13_1 = 101301
  1121. const m___MAC_10_13_2 = 101302
  1122. const m___MAC_10_13_4 = 101304
  1123. const m___MAC_10_14 = 101400
  1124. const m___MAC_10_14_1 = 101401
  1125. const m___MAC_10_14_4 = 101404
  1126. const m___MAC_10_14_5 = 101405
  1127. const m___MAC_10_14_6 = 101406
  1128. const m___MAC_10_15 = 101500
  1129. const m___MAC_10_15_1 = 101501
  1130. const m___MAC_10_15_4 = 101504
  1131. const m___MAC_10_16 = 101600
  1132. const m___MAC_10_2 = 1020
  1133. const m___MAC_10_3 = 1030
  1134. const m___MAC_10_4 = 1040
  1135. const m___MAC_10_5 = 1050
  1136. const m___MAC_10_6 = 1060
  1137. const m___MAC_10_7 = 1070
  1138. const m___MAC_10_8 = 1080
  1139. const m___MAC_10_9 = 1090
  1140. const m___MAC_11_0 = 110000
  1141. const m___MAC_11_1 = 110100
  1142. const m___MAC_11_3 = 110300
  1143. const m___MAC_11_4 = 110400
  1144. const m___MAC_11_5 = 110500
  1145. const m___MAC_11_6 = 110600
  1146. const m___MAC_12_0 = 120000
  1147. const m___MAC_12_1 = 120100
  1148. const m___MAC_12_2 = 120200
  1149. const m___MAC_12_3 = 120300
  1150. const m___MAC_12_4 = 120400
  1151. const m___MAC_12_5 = 120500
  1152. const m___MAC_12_6 = 120600
  1153. const m___MAC_12_7 = 120700
  1154. const m___MAC_13_0 = 130000
  1155. const m___MAC_13_1 = 130100
  1156. const m___MAC_13_2 = 130200
  1157. const m___MAC_13_3 = 130300
  1158. const m___MAC_13_4 = 130400
  1159. const m___MAC_13_5 = 130500
  1160. const m___MAC_13_6 = 130600
  1161. const m___MAC_13_7 = 130700
  1162. const m___MAC_14_0 = 140000
  1163. const m___MAC_14_1 = 140100
  1164. const m___MAC_14_2 = 140200
  1165. const m___MAC_14_3 = 140300
  1166. const m___MAC_14_4 = 140400
  1167. const m___MAC_14_5 = 140500
  1168. const m___MAC_14_6 = 140600
  1169. const m___MAC_14_7 = 140700
  1170. const m___MAC_15_0 = 150000
  1171. const m___MAC_15_1 = 150100
  1172. const m___MAC_15_2 = 150200
  1173. const m___MAC_15_3 = 150300
  1174. const m___MAC_15_4 = 150400
  1175. const m___MAC_OS_X_VERSION_MAX_ALLOWED = "__MAC_15_4"
  1176. const m___MAC_OS_X_VERSION_MIN_REQUIRED = "__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__"
  1177. const m___MEMORY_SCOPE_DEVICE = 1
  1178. const m___MEMORY_SCOPE_SINGLE = 4
  1179. const m___MEMORY_SCOPE_SYSTEM = 0
  1180. const m___MEMORY_SCOPE_WRKGRP = 2
  1181. const m___MEMORY_SCOPE_WVFRNT = 3
  1182. const m___NO_INLINE__ = 1
  1183. const m___NO_MATH_ERRNO__ = 1
  1184. const m___OBJC_BOOL_IS_BOOL = 1
  1185. const m___OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES = 3
  1186. const m___OPENCL_MEMORY_SCOPE_DEVICE = 2
  1187. const m___OPENCL_MEMORY_SCOPE_SUB_GROUP = 4
  1188. const m___OPENCL_MEMORY_SCOPE_WORK_GROUP = 1
  1189. const m___OPENCL_MEMORY_SCOPE_WORK_ITEM = 0
  1190. const m___ORDER_BIG_ENDIAN__ = 4321
  1191. const m___ORDER_LITTLE_ENDIAN__ = 1234
  1192. const m___ORDER_PDP_ENDIAN__ = 3412
  1193. const m___PIC__ = 2
  1194. const m___POINTER_WIDTH__ = 64
  1195. const m___PRAGMA_REDEFINE_EXTNAME = 1
  1196. const m___PRETTY_FUNCTION__ = "__func__"
  1197. const m___PTHREAD_ATTR_SIZE__ = 56
  1198. const m___PTHREAD_CONDATTR_SIZE__ = 8
  1199. const m___PTHREAD_COND_SIZE__ = 40
  1200. const m___PTHREAD_MUTEXATTR_SIZE__ = 8
  1201. const m___PTHREAD_MUTEX_SIZE__ = 56
  1202. const m___PTHREAD_ONCE_SIZE__ = 8
  1203. const m___PTHREAD_RWLOCKATTR_SIZE__ = 16
  1204. const m___PTHREAD_RWLOCK_SIZE__ = 192
  1205. const m___PTHREAD_SIZE__ = 8176
  1206. const m___PTRDIFF_FMTd__ = "ld"
  1207. const m___PTRDIFF_FMTi__ = "li"
  1208. const m___PTRDIFF_MAX__ = 9223372036854775807
  1209. const m___PTRDIFF_WIDTH__ = 64
  1210. const m___SCHAR_MAX__ = 127
  1211. const m___SHRT_MAX__ = 32767
  1212. const m___SHRT_WIDTH__ = 16
  1213. const m___SIG_ATOMIC_MAX__ = 2147483647
  1214. const m___SIG_ATOMIC_WIDTH__ = 32
  1215. const m___SIZEOF_DOUBLE__ = 8
  1216. const m___SIZEOF_FLOAT__ = 4
  1217. const m___SIZEOF_INT128__ = 16
  1218. const m___SIZEOF_INT__ = 4
  1219. const m___SIZEOF_LONG_DOUBLE__ = 8
  1220. const m___SIZEOF_LONG_LONG__ = 8
  1221. const m___SIZEOF_LONG__ = 8
  1222. const m___SIZEOF_POINTER__ = 8
  1223. const m___SIZEOF_PTRDIFF_T__ = 8
  1224. const m___SIZEOF_SHORT__ = 2
  1225. const m___SIZEOF_SIZE_T__ = 8
  1226. const m___SIZEOF_WCHAR_T__ = 4
  1227. const m___SIZEOF_WINT_T__ = 4
  1228. const m___SIZE_FMTX__ = "lX"
  1229. const m___SIZE_FMTo__ = "lo"
  1230. const m___SIZE_FMTu__ = "lu"
  1231. const m___SIZE_FMTx__ = "lx"
  1232. const m___SIZE_MAX__ = 18446744073709551615
  1233. const m___SIZE_WIDTH__ = 64
  1234. const m___SSP__ = 1
  1235. const m___STDC_EMBED_EMPTY__ = 2
  1236. const m___STDC_EMBED_FOUND__ = 1
  1237. const m___STDC_EMBED_NOT_FOUND__ = 0
  1238. const m___STDC_HOSTED__ = 1
  1239. const m___STDC_NO_THREADS__ = 1
  1240. const m___STDC_UTF_16__ = 1
  1241. const m___STDC_UTF_32__ = 1
  1242. const m___STDC_VERSION__ = 201710
  1243. const m___STDC_WANT_LIB_EXT1__ = 1
  1244. const m___STDC__ = 1
  1245. const m___TVOS_10_0 = 100000
  1246. const m___TVOS_10_0_1 = 100001
  1247. const m___TVOS_10_1 = 100100
  1248. const m___TVOS_10_2 = 100200
  1249. const m___TVOS_11_0 = 110000
  1250. const m___TVOS_11_1 = 110100
  1251. const m___TVOS_11_2 = 110200
  1252. const m___TVOS_11_3 = 110300
  1253. const m___TVOS_11_4 = 110400
  1254. const m___TVOS_12_0 = 120000
  1255. const m___TVOS_12_1 = 120100
  1256. const m___TVOS_12_2 = 120200
  1257. const m___TVOS_12_3 = 120300
  1258. const m___TVOS_12_4 = 120400
  1259. const m___TVOS_13_0 = 130000
  1260. const m___TVOS_13_2 = 130200
  1261. const m___TVOS_13_3 = 130300
  1262. const m___TVOS_13_4 = 130400
  1263. const m___TVOS_14_0 = 140000
  1264. const m___TVOS_14_1 = 140100
  1265. const m___TVOS_14_2 = 140200
  1266. const m___TVOS_14_3 = 140300
  1267. const m___TVOS_14_5 = 140500
  1268. const m___TVOS_14_6 = 140600
  1269. const m___TVOS_14_7 = 140700
  1270. const m___TVOS_15_0 = 150000
  1271. const m___TVOS_15_1 = 150100
  1272. const m___TVOS_15_2 = 150200
  1273. const m___TVOS_15_3 = 150300
  1274. const m___TVOS_15_4 = 150400
  1275. const m___TVOS_15_5 = 150500
  1276. const m___TVOS_15_6 = 150600
  1277. const m___TVOS_16_0 = 160000
  1278. const m___TVOS_16_1 = 160100
  1279. const m___TVOS_16_2 = 160200
  1280. const m___TVOS_16_3 = 160300
  1281. const m___TVOS_16_4 = 160400
  1282. const m___TVOS_16_5 = 160500
  1283. const m___TVOS_16_6 = 160600
  1284. const m___TVOS_17_0 = 170000
  1285. const m___TVOS_17_1 = 170100
  1286. const m___TVOS_17_2 = 170200
  1287. const m___TVOS_17_3 = 170300
  1288. const m___TVOS_17_4 = 170400
  1289. const m___TVOS_17_5 = 170500
  1290. const m___TVOS_17_6 = 170600
  1291. const m___TVOS_18_0 = 180000
  1292. const m___TVOS_18_1 = 180100
  1293. const m___TVOS_18_2 = 180200
  1294. const m___TVOS_18_3 = 180300
  1295. const m___TVOS_18_4 = 180400
  1296. const m___TVOS_9_0 = 90000
  1297. const m___TVOS_9_1 = 90100
  1298. const m___TVOS_9_2 = 90200
  1299. const m___UINT16_FMTX__ = "hX"
  1300. const m___UINT16_FMTo__ = "ho"
  1301. const m___UINT16_FMTu__ = "hu"
  1302. const m___UINT16_FMTx__ = "hx"
  1303. const m___UINT16_MAX__ = 65535
  1304. const m___UINT32_C_SUFFIX__ = "U"
  1305. const m___UINT32_FMTX__ = "X"
  1306. const m___UINT32_FMTo__ = "o"
  1307. const m___UINT32_FMTu__ = "u"
  1308. const m___UINT32_FMTx__ = "x"
  1309. const m___UINT32_MAX__ = 4294967295
  1310. const m___UINT64_C_SUFFIX__ = "ULL"
  1311. const m___UINT64_FMTX__ = "llX"
  1312. const m___UINT64_FMTo__ = "llo"
  1313. const m___UINT64_FMTu__ = "llu"
  1314. const m___UINT64_FMTx__ = "llx"
  1315. const m___UINT64_MAX__ = "18446744073709551615U"
  1316. const m___UINT8_FMTX__ = "hhX"
  1317. const m___UINT8_FMTo__ = "hho"
  1318. const m___UINT8_FMTu__ = "hhu"
  1319. const m___UINT8_FMTx__ = "hhx"
  1320. const m___UINT8_MAX__ = 255
  1321. const m___UINTMAX_C_SUFFIX__ = "UL"
  1322. const m___UINTMAX_FMTX__ = "lX"
  1323. const m___UINTMAX_FMTo__ = "lo"
  1324. const m___UINTMAX_FMTu__ = "lu"
  1325. const m___UINTMAX_FMTx__ = "lx"
  1326. const m___UINTMAX_MAX__ = 18446744073709551615
  1327. const m___UINTMAX_WIDTH__ = 64
  1328. const m___UINTPTR_FMTX__ = "lX"
  1329. const m___UINTPTR_FMTo__ = "lo"
  1330. const m___UINTPTR_FMTu__ = "lu"
  1331. const m___UINTPTR_FMTx__ = "lx"
  1332. const m___UINTPTR_MAX__ = 18446744073709551615
  1333. const m___UINTPTR_WIDTH__ = 64
  1334. const m___UINT_FAST16_FMTX__ = "hX"
  1335. const m___UINT_FAST16_FMTo__ = "ho"
  1336. const m___UINT_FAST16_FMTu__ = "hu"
  1337. const m___UINT_FAST16_FMTx__ = "hx"
  1338. const m___UINT_FAST16_MAX__ = 65535
  1339. const m___UINT_FAST32_FMTX__ = "X"
  1340. const m___UINT_FAST32_FMTo__ = "o"
  1341. const m___UINT_FAST32_FMTu__ = "u"
  1342. const m___UINT_FAST32_FMTx__ = "x"
  1343. const m___UINT_FAST32_MAX__ = 4294967295
  1344. const m___UINT_FAST64_FMTX__ = "llX"
  1345. const m___UINT_FAST64_FMTo__ = "llo"
  1346. const m___UINT_FAST64_FMTu__ = "llu"
  1347. const m___UINT_FAST64_FMTx__ = "llx"
  1348. const m___UINT_FAST64_MAX__ = "18446744073709551615U"
  1349. const m___UINT_FAST8_FMTX__ = "hhX"
  1350. const m___UINT_FAST8_FMTo__ = "hho"
  1351. const m___UINT_FAST8_FMTu__ = "hhu"
  1352. const m___UINT_FAST8_FMTx__ = "hhx"
  1353. const m___UINT_FAST8_MAX__ = 255
  1354. const m___UINT_LEAST16_FMTX__ = "hX"
  1355. const m___UINT_LEAST16_FMTo__ = "ho"
  1356. const m___UINT_LEAST16_FMTu__ = "hu"
  1357. const m___UINT_LEAST16_FMTx__ = "hx"
  1358. const m___UINT_LEAST16_MAX__ = 65535
  1359. const m___UINT_LEAST32_FMTX__ = "X"
  1360. const m___UINT_LEAST32_FMTo__ = "o"
  1361. const m___UINT_LEAST32_FMTu__ = "u"
  1362. const m___UINT_LEAST32_FMTx__ = "x"
  1363. const m___UINT_LEAST32_MAX__ = 4294967295
  1364. const m___UINT_LEAST64_FMTX__ = "llX"
  1365. const m___UINT_LEAST64_FMTo__ = "llo"
  1366. const m___UINT_LEAST64_FMTu__ = "llu"
  1367. const m___UINT_LEAST64_FMTx__ = "llx"
  1368. const m___UINT_LEAST64_MAX = "UINT64_MAX"
  1369. const m___UINT_LEAST64_MAX__ = "18446744073709551615U"
  1370. const m___UINT_LEAST8_FMTX__ = "hhX"
  1371. const m___UINT_LEAST8_FMTo__ = "hho"
  1372. const m___UINT_LEAST8_FMTu__ = "hhu"
  1373. const m___UINT_LEAST8_FMTx__ = "hhx"
  1374. const m___UINT_LEAST8_MAX__ = 255
  1375. const m___USER_LABEL_PREFIX__ = "_"
  1376. const m___VERSION__ = "Apple LLVM 17.0.0 (clang-1700.0.13.3)"
  1377. const m___VISIONOS_1_0 = 10000
  1378. const m___VISIONOS_1_1 = 10100
  1379. const m___VISIONOS_1_2 = 10200
  1380. const m___VISIONOS_1_3 = 10300
  1381. const m___VISIONOS_2_0 = 20000
  1382. const m___VISIONOS_2_1 = 20100
  1383. const m___VISIONOS_2_2 = 20200
  1384. const m___VISIONOS_2_3 = 20300
  1385. const m___VISIONOS_2_4 = 20400
  1386. const m___WATCHOS_10_0 = 100000
  1387. const m___WATCHOS_10_1 = 100100
  1388. const m___WATCHOS_10_2 = 100200
  1389. const m___WATCHOS_10_3 = 100300
  1390. const m___WATCHOS_10_4 = 100400
  1391. const m___WATCHOS_10_5 = 100500
  1392. const m___WATCHOS_10_6 = 100600
  1393. const m___WATCHOS_10_7 = 100700
  1394. const m___WATCHOS_11_0 = 110000
  1395. const m___WATCHOS_11_1 = 110100
  1396. const m___WATCHOS_11_2 = 110200
  1397. const m___WATCHOS_11_3 = 110300
  1398. const m___WATCHOS_11_4 = 110400
  1399. const m___WATCHOS_1_0 = 10000
  1400. const m___WATCHOS_2_0 = 20000
  1401. const m___WATCHOS_2_1 = 20100
  1402. const m___WATCHOS_2_2 = 20200
  1403. const m___WATCHOS_3_0 = 30000
  1404. const m___WATCHOS_3_1 = 30100
  1405. const m___WATCHOS_3_1_1 = 30101
  1406. const m___WATCHOS_3_2 = 30200
  1407. const m___WATCHOS_4_0 = 40000
  1408. const m___WATCHOS_4_1 = 40100
  1409. const m___WATCHOS_4_2 = 40200
  1410. const m___WATCHOS_4_3 = 40300
  1411. const m___WATCHOS_5_0 = 50000
  1412. const m___WATCHOS_5_1 = 50100
  1413. const m___WATCHOS_5_2 = 50200
  1414. const m___WATCHOS_5_3 = 50300
  1415. const m___WATCHOS_6_0 = 60000
  1416. const m___WATCHOS_6_1 = 60100
  1417. const m___WATCHOS_6_2 = 60200
  1418. const m___WATCHOS_7_0 = 70000
  1419. const m___WATCHOS_7_1 = 70100
  1420. const m___WATCHOS_7_2 = 70200
  1421. const m___WATCHOS_7_3 = 70300
  1422. const m___WATCHOS_7_4 = 70400
  1423. const m___WATCHOS_7_5 = 70500
  1424. const m___WATCHOS_7_6 = 70600
  1425. const m___WATCHOS_8_0 = 80000
  1426. const m___WATCHOS_8_1 = 80100
  1427. const m___WATCHOS_8_3 = 80300
  1428. const m___WATCHOS_8_4 = 80400
  1429. const m___WATCHOS_8_5 = 80500
  1430. const m___WATCHOS_8_6 = 80600
  1431. const m___WATCHOS_8_7 = 80700
  1432. const m___WATCHOS_8_8 = 80800
  1433. const m___WATCHOS_9_0 = 90000
  1434. const m___WATCHOS_9_1 = 90100
  1435. const m___WATCHOS_9_2 = 90200
  1436. const m___WATCHOS_9_3 = 90300
  1437. const m___WATCHOS_9_4 = 90400
  1438. const m___WATCHOS_9_5 = 90500
  1439. const m___WATCHOS_9_6 = 90600
  1440. const m___WCHAR_MAX__ = 2147483647
  1441. const m___WCHAR_TYPE__ = "int"
  1442. const m___WCHAR_WIDTH__ = 32
  1443. const m___WINT_MAX__ = 2147483647
  1444. const m___WINT_TYPE__ = "int"
  1445. const m___WINT_WIDTH__ = 32
  1446. const m___aarch64__ = 1
  1447. const m___apple_build_version__ = 17000013
  1448. const m___arm64 = 1
  1449. const m___arm64__ = 1
  1450. const m___clang__ = 1
  1451. const m___clang_literal_encoding__ = "UTF-8"
  1452. const m___clang_major__ = 17
  1453. const m___clang_minor__ = 0
  1454. const m___clang_patchlevel__ = 0
  1455. const m___clang_version__ = "17.0.0 (clang-1700.0.13.3)"
  1456. const m___clang_wide_literal_encoding__ = "UTF-32"
  1457. const m___const = "const"
  1458. const m___has_bounds_safety_attributes = 0
  1459. const m___has_ptrcheck = 0
  1460. const m___has_safe_buffers = 0
  1461. const m___header_inline = "inline"
  1462. const m___llvm__ = 1
  1463. const m___nonnull = "_Nonnull"
  1464. const m___null_unspecified = "_Null_unspecified"
  1465. const m___nullable = "_Nullable"
  1466. const m___pic__ = 2
  1467. const m___restrict = "restrict"
  1468. const m___restrict_arr = "restrict"
  1469. const m___signed = "signed"
  1470. const m___volatile = "volatile"
  1471. const m_local = "static"
  1472. const m_ru_first = "ru_ixrss"
  1473. const m_ru_last = "ru_nivcsw"
  1474. const m_sv_onstack = "sv_flags"
  1475. const m_z_off64_t = "z_off_t"
  1476. const m_z_off_t = "off_t"
  1477. const m_zmemcmp = "memcmp"
  1478. const m_zmemcpy = "memcpy"
  1479. type t__builtin_va_list = uintptr
  1480. type t__predefined_size_t = uint64
  1481. type t__predefined_wchar_t = int32
  1482. type t__predefined_ptrdiff_t = int64
  1483. type Tptrdiff_t = int64
  1484. type Tsize_t = uint64
  1485. type Twchar_t = int32
  1486. type Tmax_align_t = float64
  1487. type Tz_size_t = uint64
  1488. type TByte = uint8
  1489. type TuInt = uint32
  1490. type TuLong = uint64
  1491. type TBytef = uint8
  1492. type Tcharf = int8
  1493. type Tintf = int32
  1494. type TuIntf = uint32
  1495. type TuLongf = uint64
  1496. type Tvoidpc = uintptr
  1497. type Tvoidpf = uintptr
  1498. type Tvoidp = uintptr
  1499. type Tz_crc_t = uint32
  1500. type t__int8_t = int8
  1501. type t__uint8_t = uint8
  1502. type t__int16_t = int16
  1503. type t__uint16_t = uint16
  1504. type t__int32_t = int32
  1505. type t__uint32_t = uint32
  1506. type t__int64_t = int64
  1507. type t__uint64_t = uint64
  1508. type t__darwin_intptr_t = int64
  1509. type t__darwin_natural_t = uint32
  1510. type t__darwin_ct_rune_t = int32
  1511. type t__mbstate_t = struct {
  1512. F_mbstateL [0]int64
  1513. F__mbstate8 [128]int8
  1514. }
  1515. type t__darwin_mbstate_t = struct {
  1516. F_mbstateL [0]int64
  1517. F__mbstate8 [128]int8
  1518. }
  1519. type t__darwin_ptrdiff_t = int64
  1520. type t__darwin_size_t = uint64
  1521. type t__darwin_va_list = uintptr
  1522. type t__darwin_wchar_t = int32
  1523. type t__darwin_rune_t = int32
  1524. type t__darwin_wint_t = int32
  1525. type t__darwin_clock_t = uint64
  1526. type t__darwin_socklen_t = uint32
  1527. type t__darwin_ssize_t = int64
  1528. type t__darwin_time_t = int64
  1529. type Tint8_t = int8
  1530. type Tint16_t = int16
  1531. type Tint32_t = int32
  1532. type Tint64_t = int64
  1533. type Tu_int8_t = uint8
  1534. type Tu_int16_t = uint16
  1535. type Tu_int32_t = uint32
  1536. type Tu_int64_t = uint64
  1537. type Tregister_t = int64
  1538. type Tintptr_t = int64
  1539. type Tuintptr_t = uint64
  1540. type Tuser_addr_t = uint64
  1541. type Tuser_size_t = uint64
  1542. type Tuser_ssize_t = int64
  1543. type Tuser_long_t = int64
  1544. type Tuser_ulong_t = uint64
  1545. type Tuser_time_t = int64
  1546. type Tuser_off_t = int64
  1547. type Tsyscall_arg_t = uint64
  1548. type t__darwin_blkcnt_t = int64
  1549. type t__darwin_blksize_t = int32
  1550. type t__darwin_dev_t = int32
  1551. type t__darwin_fsblkcnt_t = uint32
  1552. type t__darwin_fsfilcnt_t = uint32
  1553. type t__darwin_gid_t = uint32
  1554. type t__darwin_id_t = uint32
  1555. type t__darwin_ino64_t = uint64
  1556. type t__darwin_ino_t = uint64
  1557. type t__darwin_mach_port_name_t = uint32
  1558. type t__darwin_mach_port_t = uint32
  1559. type t__darwin_mode_t = uint16
  1560. type t__darwin_off_t = int64
  1561. type t__darwin_pid_t = int32
  1562. type t__darwin_sigset_t = uint32
  1563. type t__darwin_suseconds_t = int32
  1564. type t__darwin_uid_t = uint32
  1565. type t__darwin_useconds_t = uint32
  1566. type t__darwin_uuid_t = [16]uint8
  1567. type t__darwin_uuid_string_t = [37]int8
  1568. type t__darwin_pthread_handler_rec = struct {
  1569. F__routine uintptr
  1570. F__arg uintptr
  1571. F__next uintptr
  1572. }
  1573. type T_opaque_pthread_attr_t = struct {
  1574. F__sig int64
  1575. F__opaque [56]int8
  1576. }
  1577. type T_opaque_pthread_cond_t = struct {
  1578. F__sig int64
  1579. F__opaque [40]int8
  1580. }
  1581. type T_opaque_pthread_condattr_t = struct {
  1582. F__sig int64
  1583. F__opaque [8]int8
  1584. }
  1585. type T_opaque_pthread_mutex_t = struct {
  1586. F__sig int64
  1587. F__opaque [56]int8
  1588. }
  1589. type T_opaque_pthread_mutexattr_t = struct {
  1590. F__sig int64
  1591. F__opaque [8]int8
  1592. }
  1593. type T_opaque_pthread_once_t = struct {
  1594. F__sig int64
  1595. F__opaque [8]int8
  1596. }
  1597. type T_opaque_pthread_rwlock_t = struct {
  1598. F__sig int64
  1599. F__opaque [192]int8
  1600. }
  1601. type T_opaque_pthread_rwlockattr_t = struct {
  1602. F__sig int64
  1603. F__opaque [16]int8
  1604. }
  1605. type T_opaque_pthread_t = struct {
  1606. F__sig int64
  1607. F__cleanup_stack uintptr
  1608. F__opaque [8176]int8
  1609. }
  1610. type t__darwin_pthread_attr_t = struct {
  1611. F__sig int64
  1612. F__opaque [56]int8
  1613. }
  1614. type t__darwin_pthread_cond_t = struct {
  1615. F__sig int64
  1616. F__opaque [40]int8
  1617. }
  1618. type t__darwin_pthread_condattr_t = struct {
  1619. F__sig int64
  1620. F__opaque [8]int8
  1621. }
  1622. type t__darwin_pthread_key_t = uint64
  1623. type t__darwin_pthread_mutex_t = struct {
  1624. F__sig int64
  1625. F__opaque [56]int8
  1626. }
  1627. type t__darwin_pthread_mutexattr_t = struct {
  1628. F__sig int64
  1629. F__opaque [8]int8
  1630. }
  1631. type t__darwin_pthread_once_t = struct {
  1632. F__sig int64
  1633. F__opaque [8]int8
  1634. }
  1635. type t__darwin_pthread_rwlock_t = struct {
  1636. F__sig int64
  1637. F__opaque [192]int8
  1638. }
  1639. type t__darwin_pthread_rwlockattr_t = struct {
  1640. F__sig int64
  1641. F__opaque [16]int8
  1642. }
  1643. type t__darwin_pthread_t = uintptr
  1644. type Tu_char = uint8
  1645. type Tu_short = uint16
  1646. type Tu_int = uint32
  1647. type Tu_long = uint64
  1648. type Tushort = uint16
  1649. type Tuint = uint32
  1650. type Tu_quad_t = uint64
  1651. type Tquad_t = int64
  1652. type Tqaddr_t = uintptr
  1653. type Tcaddr_t = uintptr
  1654. type Tdaddr_t = int32
  1655. type Tdev_t = int32
  1656. type Tfixpt_t = uint32
  1657. type Tblkcnt_t = int64
  1658. type Tblksize_t = int32
  1659. type Tgid_t = uint32
  1660. type Tin_addr_t = uint32
  1661. type Tin_port_t = uint16
  1662. type Tino_t = uint64
  1663. type Tino64_t = uint64
  1664. type Tkey_t = int32
  1665. type Tmode_t = uint16
  1666. type Tnlink_t = uint16
  1667. type Tid_t = uint32
  1668. type Tpid_t = int32
  1669. type Toff_t = int64
  1670. type Tsegsz_t = int32
  1671. type Tswblk_t = int32
  1672. type Tuid_t = uint32
  1673. type Tclock_t = uint64
  1674. type Tssize_t = int64
  1675. type Ttime_t = int64
  1676. type Tuseconds_t = uint32
  1677. type Tsuseconds_t = int32
  1678. type Trsize_t = uint64
  1679. type Terrno_t = int32
  1680. type Tfd_set = struct {
  1681. Ffds_bits [32]t__int32_t
  1682. }
  1683. type Tfd_mask = int32
  1684. type Tpthread_attr_t = struct {
  1685. F__sig int64
  1686. F__opaque [56]int8
  1687. }
  1688. type Tpthread_cond_t = struct {
  1689. F__sig int64
  1690. F__opaque [40]int8
  1691. }
  1692. type Tpthread_condattr_t = struct {
  1693. F__sig int64
  1694. F__opaque [8]int8
  1695. }
  1696. type Tpthread_mutex_t = struct {
  1697. F__sig int64
  1698. F__opaque [56]int8
  1699. }
  1700. type Tpthread_mutexattr_t = struct {
  1701. F__sig int64
  1702. F__opaque [8]int8
  1703. }
  1704. type Tpthread_once_t = struct {
  1705. F__sig int64
  1706. F__opaque [8]int8
  1707. }
  1708. type Tpthread_rwlock_t = struct {
  1709. F__sig int64
  1710. F__opaque [192]int8
  1711. }
  1712. type Tpthread_rwlockattr_t = struct {
  1713. F__sig int64
  1714. F__opaque [16]int8
  1715. }
  1716. type Tpthread_t = uintptr
  1717. type Tpthread_key_t = uint64
  1718. type Tfsblkcnt_t = uint32
  1719. type Tfsfilcnt_t = uint32
  1720. type t__gnuc_va_list = uintptr
  1721. type Tva_list = uintptr
  1722. type t__darwin_nl_item = int32
  1723. type t__darwin_wctrans_t = int32
  1724. type t__darwin_wctype_t = uint32
  1725. type Taccessx_descriptor = struct {
  1726. Fad_name_offset uint32
  1727. Fad_flags int32
  1728. Fad_pad [2]int32
  1729. }
  1730. type Tuint64_t = uint64
  1731. type Tuint32_t = uint32
  1732. type Ttimespec = struct {
  1733. Ftv_sec t__darwin_time_t
  1734. Ftv_nsec int64
  1735. }
  1736. type Ttimeval = struct {
  1737. Ftv_sec t__darwin_time_t
  1738. Ftv_usec t__darwin_suseconds_t
  1739. }
  1740. type Tsigset_t = uint32
  1741. type Tuuid_t = [16]uint8
  1742. type Talloc_func = uintptr
  1743. type Tfree_func = uintptr
  1744. type Tz_stream = struct {
  1745. Fnext_in uintptr
  1746. Favail_in TuInt
  1747. Ftotal_in TuLong
  1748. Fnext_out uintptr
  1749. Favail_out TuInt
  1750. Ftotal_out TuLong
  1751. Fmsg uintptr
  1752. Fstate uintptr
  1753. Fzalloc Talloc_func
  1754. Fzfree Tfree_func
  1755. Fopaque Tvoidpf
  1756. Fdata_type int32
  1757. Fadler TuLong
  1758. Freserved TuLong
  1759. }
  1760. type Tz_stream_s = Tz_stream
  1761. type Tz_streamp = uintptr
  1762. type Tgz_header = struct {
  1763. Ftext int32
  1764. Ftime TuLong
  1765. Fxflags int32
  1766. Fos int32
  1767. Fextra uintptr
  1768. Fextra_len TuInt
  1769. Fextra_max TuInt
  1770. Fname uintptr
  1771. Fname_max TuInt
  1772. Fcomment uintptr
  1773. Fcomm_max TuInt
  1774. Fhcrc int32
  1775. Fdone int32
  1776. }
  1777. type Tgz_header_s = Tgz_header
  1778. type Tgz_headerp = uintptr
  1779. type Tin_func = uintptr
  1780. type Tout_func = uintptr
  1781. type TgzFile = uintptr
  1782. type TgzFile_s = struct {
  1783. Fhave uint32
  1784. Fnext uintptr
  1785. Fpos Toff_t
  1786. }
  1787. type Tidtype_t = int32
  1788. const _P_ALL = 0
  1789. const _P_PID = 1
  1790. const _P_PGID = 2
  1791. type Tsig_atomic_t = int32
  1792. type t__darwin_arm_exception_state = struct {
  1793. F__exception t__uint32_t
  1794. F__fsr t__uint32_t
  1795. F__far t__uint32_t
  1796. }
  1797. type t__darwin_arm_exception_state64 = struct {
  1798. F__far t__uint64_t
  1799. F__esr t__uint32_t
  1800. F__exception t__uint32_t
  1801. }
  1802. type t__darwin_arm_exception_state64_v2 = struct {
  1803. F__far t__uint64_t
  1804. F__esr t__uint64_t
  1805. }
  1806. type t__darwin_arm_thread_state = struct {
  1807. F__r [13]t__uint32_t
  1808. F__sp t__uint32_t
  1809. F__lr t__uint32_t
  1810. F__pc t__uint32_t
  1811. F__cpsr t__uint32_t
  1812. }
  1813. type t__darwin_arm_thread_state64 = struct {
  1814. F__x [29]t__uint64_t
  1815. F__fp t__uint64_t
  1816. F__lr t__uint64_t
  1817. F__sp t__uint64_t
  1818. F__pc t__uint64_t
  1819. F__cpsr t__uint32_t
  1820. F__pad t__uint32_t
  1821. }
  1822. type t__darwin_arm_vfp_state = struct {
  1823. F__r [64]t__uint32_t
  1824. F__fpscr t__uint32_t
  1825. }
  1826. type t__darwin_arm_neon_state64 = int32
  1827. type t__darwin_arm_neon_state = int32
  1828. type t__arm_pagein_state = struct {
  1829. F__pagein_error int32
  1830. }
  1831. type t__darwin_arm_sme_state = struct {
  1832. F__svcr t__uint64_t
  1833. F__tpidr2_el0 t__uint64_t
  1834. F__svl_b t__uint16_t
  1835. }
  1836. type t__darwin_arm_sve_z_state = struct {
  1837. F__ccgo_align [0]uint32
  1838. F__z [16][256]int8
  1839. }
  1840. type t__darwin_arm_sve_p_state = struct {
  1841. F__ccgo_align [0]uint32
  1842. F__p [16][32]int8
  1843. }
  1844. type t__darwin_arm_sme_za_state = struct {
  1845. F__ccgo_align [0]uint32
  1846. F__za [4096]int8
  1847. }
  1848. type t__darwin_arm_sme2_state = struct {
  1849. F__ccgo_align [0]uint32
  1850. F__zt0 [64]int8
  1851. }
  1852. type t__arm_legacy_debug_state = struct {
  1853. F__bvr [16]t__uint32_t
  1854. F__bcr [16]t__uint32_t
  1855. F__wvr [16]t__uint32_t
  1856. F__wcr [16]t__uint32_t
  1857. }
  1858. type t__darwin_arm_debug_state32 = struct {
  1859. F__bvr [16]t__uint32_t
  1860. F__bcr [16]t__uint32_t
  1861. F__wvr [16]t__uint32_t
  1862. F__wcr [16]t__uint32_t
  1863. F__mdscr_el1 t__uint64_t
  1864. }
  1865. type t__darwin_arm_debug_state64 = struct {
  1866. F__bvr [16]t__uint64_t
  1867. F__bcr [16]t__uint64_t
  1868. F__wvr [16]t__uint64_t
  1869. F__wcr [16]t__uint64_t
  1870. F__mdscr_el1 t__uint64_t
  1871. }
  1872. type t__darwin_arm_cpmu_state64 = struct {
  1873. F__ctrs [16]t__uint64_t
  1874. }
  1875. type t__darwin_mcontext32 = struct {
  1876. F__es t__darwin_arm_exception_state
  1877. F__ss t__darwin_arm_thread_state
  1878. F__fs t__darwin_arm_vfp_state
  1879. }
  1880. type t__darwin_mcontext64 = int32
  1881. type Tmcontext_t = uintptr
  1882. type t__darwin_sigaltstack = struct {
  1883. Fss_sp uintptr
  1884. Fss_size t__darwin_size_t
  1885. Fss_flags int32
  1886. }
  1887. type Tstack_t = struct {
  1888. Fss_sp uintptr
  1889. Fss_size t__darwin_size_t
  1890. Fss_flags int32
  1891. }
  1892. type t__darwin_ucontext = struct {
  1893. Fuc_onstack int32
  1894. Fuc_sigmask t__darwin_sigset_t
  1895. Fuc_stack t__darwin_sigaltstack
  1896. Fuc_link uintptr
  1897. Fuc_mcsize t__darwin_size_t
  1898. Fuc_mcontext uintptr
  1899. }
  1900. type Tucontext_t = struct {
  1901. Fuc_onstack int32
  1902. Fuc_sigmask t__darwin_sigset_t
  1903. Fuc_stack t__darwin_sigaltstack
  1904. Fuc_link uintptr
  1905. Fuc_mcsize t__darwin_size_t
  1906. Fuc_mcontext uintptr
  1907. }
  1908. type Tsigval = struct {
  1909. Fsival_ptr [0]uintptr
  1910. Fsival_int int32
  1911. F__ccgo_pad2 [4]byte
  1912. }
  1913. type Tsigevent = struct {
  1914. Fsigev_notify int32
  1915. Fsigev_signo int32
  1916. Fsigev_value Tsigval
  1917. Fsigev_notify_function uintptr
  1918. Fsigev_notify_attributes uintptr
  1919. }
  1920. type Tsiginfo_t = struct {
  1921. Fsi_signo int32
  1922. Fsi_errno int32
  1923. Fsi_code int32
  1924. Fsi_pid Tpid_t
  1925. Fsi_uid Tuid_t
  1926. Fsi_status int32
  1927. Fsi_addr uintptr
  1928. Fsi_value Tsigval
  1929. Fsi_band int64
  1930. F__pad [7]uint64
  1931. }
  1932. type t__siginfo = Tsiginfo_t
  1933. type t__sigaction_u = struct {
  1934. F__sa_sigaction [0]uintptr
  1935. F__sa_handler uintptr
  1936. }
  1937. type t__sigaction = struct {
  1938. F__sigaction_u t__sigaction_u
  1939. Fsa_tramp uintptr
  1940. Fsa_mask Tsigset_t
  1941. Fsa_flags int32
  1942. }
  1943. type Tsigaction = struct {
  1944. F__sigaction_u t__sigaction_u
  1945. Fsa_mask Tsigset_t
  1946. Fsa_flags int32
  1947. }
  1948. type Tsig_t = uintptr
  1949. type Tsigvec = struct {
  1950. Fsv_handler uintptr
  1951. Fsv_mask int32
  1952. Fsv_flags int32
  1953. }
  1954. type Tsigstack = struct {
  1955. Fss_sp uintptr
  1956. Fss_onstack int32
  1957. }
  1958. type Tint_least64_t = int64
  1959. type Tuint_least64_t = uint64
  1960. type Tint_fast64_t = int64
  1961. type Tuint_fast64_t = uint64
  1962. type Tint_least32_t = int32
  1963. type Tuint_least32_t = uint32
  1964. type Tint_fast32_t = int32
  1965. type Tuint_fast32_t = uint32
  1966. type Tuint16_t = uint16
  1967. type Tint_least16_t = int16
  1968. type Tuint_least16_t = uint16
  1969. type Tint_fast16_t = int16
  1970. type Tuint_fast16_t = uint16
  1971. type Tuint8_t = uint8
  1972. type Tint_least8_t = int8
  1973. type Tuint_least8_t = uint8
  1974. type Tint_fast8_t = int8
  1975. type Tuint_fast8_t = uint8
  1976. type Tintmax_t = int64
  1977. type Tuintmax_t = uint64
  1978. type Trlim_t = uint64
  1979. type Trusage = struct {
  1980. Fru_utime Ttimeval
  1981. Fru_stime Ttimeval
  1982. Fru_maxrss int64
  1983. Fru_ixrss int64
  1984. Fru_idrss int64
  1985. Fru_isrss int64
  1986. Fru_minflt int64
  1987. Fru_majflt int64
  1988. Fru_nswap int64
  1989. Fru_inblock int64
  1990. Fru_oublock int64
  1991. Fru_msgsnd int64
  1992. Fru_msgrcv int64
  1993. Fru_nsignals int64
  1994. Fru_nvcsw int64
  1995. Fru_nivcsw int64
  1996. }
  1997. type Trusage_info_t = uintptr
  1998. type Trusage_info_v0 = struct {
  1999. Fri_uuid [16]Tuint8_t
  2000. Fri_user_time Tuint64_t
  2001. Fri_system_time Tuint64_t
  2002. Fri_pkg_idle_wkups Tuint64_t
  2003. Fri_interrupt_wkups Tuint64_t
  2004. Fri_pageins Tuint64_t
  2005. Fri_wired_size Tuint64_t
  2006. Fri_resident_size Tuint64_t
  2007. Fri_phys_footprint Tuint64_t
  2008. Fri_proc_start_abstime Tuint64_t
  2009. Fri_proc_exit_abstime Tuint64_t
  2010. }
  2011. type Trusage_info_v1 = struct {
  2012. Fri_uuid [16]Tuint8_t
  2013. Fri_user_time Tuint64_t
  2014. Fri_system_time Tuint64_t
  2015. Fri_pkg_idle_wkups Tuint64_t
  2016. Fri_interrupt_wkups Tuint64_t
  2017. Fri_pageins Tuint64_t
  2018. Fri_wired_size Tuint64_t
  2019. Fri_resident_size Tuint64_t
  2020. Fri_phys_footprint Tuint64_t
  2021. Fri_proc_start_abstime Tuint64_t
  2022. Fri_proc_exit_abstime Tuint64_t
  2023. Fri_child_user_time Tuint64_t
  2024. Fri_child_system_time Tuint64_t
  2025. Fri_child_pkg_idle_wkups Tuint64_t
  2026. Fri_child_interrupt_wkups Tuint64_t
  2027. Fri_child_pageins Tuint64_t
  2028. Fri_child_elapsed_abstime Tuint64_t
  2029. }
  2030. type Trusage_info_v2 = struct {
  2031. Fri_uuid [16]Tuint8_t
  2032. Fri_user_time Tuint64_t
  2033. Fri_system_time Tuint64_t
  2034. Fri_pkg_idle_wkups Tuint64_t
  2035. Fri_interrupt_wkups Tuint64_t
  2036. Fri_pageins Tuint64_t
  2037. Fri_wired_size Tuint64_t
  2038. Fri_resident_size Tuint64_t
  2039. Fri_phys_footprint Tuint64_t
  2040. Fri_proc_start_abstime Tuint64_t
  2041. Fri_proc_exit_abstime Tuint64_t
  2042. Fri_child_user_time Tuint64_t
  2043. Fri_child_system_time Tuint64_t
  2044. Fri_child_pkg_idle_wkups Tuint64_t
  2045. Fri_child_interrupt_wkups Tuint64_t
  2046. Fri_child_pageins Tuint64_t
  2047. Fri_child_elapsed_abstime Tuint64_t
  2048. Fri_diskio_bytesread Tuint64_t
  2049. Fri_diskio_byteswritten Tuint64_t
  2050. }
  2051. type Trusage_info_v3 = struct {
  2052. Fri_uuid [16]Tuint8_t
  2053. Fri_user_time Tuint64_t
  2054. Fri_system_time Tuint64_t
  2055. Fri_pkg_idle_wkups Tuint64_t
  2056. Fri_interrupt_wkups Tuint64_t
  2057. Fri_pageins Tuint64_t
  2058. Fri_wired_size Tuint64_t
  2059. Fri_resident_size Tuint64_t
  2060. Fri_phys_footprint Tuint64_t
  2061. Fri_proc_start_abstime Tuint64_t
  2062. Fri_proc_exit_abstime Tuint64_t
  2063. Fri_child_user_time Tuint64_t
  2064. Fri_child_system_time Tuint64_t
  2065. Fri_child_pkg_idle_wkups Tuint64_t
  2066. Fri_child_interrupt_wkups Tuint64_t
  2067. Fri_child_pageins Tuint64_t
  2068. Fri_child_elapsed_abstime Tuint64_t
  2069. Fri_diskio_bytesread Tuint64_t
  2070. Fri_diskio_byteswritten Tuint64_t
  2071. Fri_cpu_time_qos_default Tuint64_t
  2072. Fri_cpu_time_qos_maintenance Tuint64_t
  2073. Fri_cpu_time_qos_background Tuint64_t
  2074. Fri_cpu_time_qos_utility Tuint64_t
  2075. Fri_cpu_time_qos_legacy Tuint64_t
  2076. Fri_cpu_time_qos_user_initiated Tuint64_t
  2077. Fri_cpu_time_qos_user_interactive Tuint64_t
  2078. Fri_billed_system_time Tuint64_t
  2079. Fri_serviced_system_time Tuint64_t
  2080. }
  2081. type Trusage_info_v4 = struct {
  2082. Fri_uuid [16]Tuint8_t
  2083. Fri_user_time Tuint64_t
  2084. Fri_system_time Tuint64_t
  2085. Fri_pkg_idle_wkups Tuint64_t
  2086. Fri_interrupt_wkups Tuint64_t
  2087. Fri_pageins Tuint64_t
  2088. Fri_wired_size Tuint64_t
  2089. Fri_resident_size Tuint64_t
  2090. Fri_phys_footprint Tuint64_t
  2091. Fri_proc_start_abstime Tuint64_t
  2092. Fri_proc_exit_abstime Tuint64_t
  2093. Fri_child_user_time Tuint64_t
  2094. Fri_child_system_time Tuint64_t
  2095. Fri_child_pkg_idle_wkups Tuint64_t
  2096. Fri_child_interrupt_wkups Tuint64_t
  2097. Fri_child_pageins Tuint64_t
  2098. Fri_child_elapsed_abstime Tuint64_t
  2099. Fri_diskio_bytesread Tuint64_t
  2100. Fri_diskio_byteswritten Tuint64_t
  2101. Fri_cpu_time_qos_default Tuint64_t
  2102. Fri_cpu_time_qos_maintenance Tuint64_t
  2103. Fri_cpu_time_qos_background Tuint64_t
  2104. Fri_cpu_time_qos_utility Tuint64_t
  2105. Fri_cpu_time_qos_legacy Tuint64_t
  2106. Fri_cpu_time_qos_user_initiated Tuint64_t
  2107. Fri_cpu_time_qos_user_interactive Tuint64_t
  2108. Fri_billed_system_time Tuint64_t
  2109. Fri_serviced_system_time Tuint64_t
  2110. Fri_logical_writes Tuint64_t
  2111. Fri_lifetime_max_phys_footprint Tuint64_t
  2112. Fri_instructions Tuint64_t
  2113. Fri_cycles Tuint64_t
  2114. Fri_billed_energy Tuint64_t
  2115. Fri_serviced_energy Tuint64_t
  2116. Fri_interval_max_phys_footprint Tuint64_t
  2117. Fri_runnable_time Tuint64_t
  2118. }
  2119. type Trusage_info_v5 = struct {
  2120. Fri_uuid [16]Tuint8_t
  2121. Fri_user_time Tuint64_t
  2122. Fri_system_time Tuint64_t
  2123. Fri_pkg_idle_wkups Tuint64_t
  2124. Fri_interrupt_wkups Tuint64_t
  2125. Fri_pageins Tuint64_t
  2126. Fri_wired_size Tuint64_t
  2127. Fri_resident_size Tuint64_t
  2128. Fri_phys_footprint Tuint64_t
  2129. Fri_proc_start_abstime Tuint64_t
  2130. Fri_proc_exit_abstime Tuint64_t
  2131. Fri_child_user_time Tuint64_t
  2132. Fri_child_system_time Tuint64_t
  2133. Fri_child_pkg_idle_wkups Tuint64_t
  2134. Fri_child_interrupt_wkups Tuint64_t
  2135. Fri_child_pageins Tuint64_t
  2136. Fri_child_elapsed_abstime Tuint64_t
  2137. Fri_diskio_bytesread Tuint64_t
  2138. Fri_diskio_byteswritten Tuint64_t
  2139. Fri_cpu_time_qos_default Tuint64_t
  2140. Fri_cpu_time_qos_maintenance Tuint64_t
  2141. Fri_cpu_time_qos_background Tuint64_t
  2142. Fri_cpu_time_qos_utility Tuint64_t
  2143. Fri_cpu_time_qos_legacy Tuint64_t
  2144. Fri_cpu_time_qos_user_initiated Tuint64_t
  2145. Fri_cpu_time_qos_user_interactive Tuint64_t
  2146. Fri_billed_system_time Tuint64_t
  2147. Fri_serviced_system_time Tuint64_t
  2148. Fri_logical_writes Tuint64_t
  2149. Fri_lifetime_max_phys_footprint Tuint64_t
  2150. Fri_instructions Tuint64_t
  2151. Fri_cycles Tuint64_t
  2152. Fri_billed_energy Tuint64_t
  2153. Fri_serviced_energy Tuint64_t
  2154. Fri_interval_max_phys_footprint Tuint64_t
  2155. Fri_runnable_time Tuint64_t
  2156. Fri_flags Tuint64_t
  2157. }
  2158. type Trusage_info_v6 = struct {
  2159. Fri_uuid [16]Tuint8_t
  2160. Fri_user_time Tuint64_t
  2161. Fri_system_time Tuint64_t
  2162. Fri_pkg_idle_wkups Tuint64_t
  2163. Fri_interrupt_wkups Tuint64_t
  2164. Fri_pageins Tuint64_t
  2165. Fri_wired_size Tuint64_t
  2166. Fri_resident_size Tuint64_t
  2167. Fri_phys_footprint Tuint64_t
  2168. Fri_proc_start_abstime Tuint64_t
  2169. Fri_proc_exit_abstime Tuint64_t
  2170. Fri_child_user_time Tuint64_t
  2171. Fri_child_system_time Tuint64_t
  2172. Fri_child_pkg_idle_wkups Tuint64_t
  2173. Fri_child_interrupt_wkups Tuint64_t
  2174. Fri_child_pageins Tuint64_t
  2175. Fri_child_elapsed_abstime Tuint64_t
  2176. Fri_diskio_bytesread Tuint64_t
  2177. Fri_diskio_byteswritten Tuint64_t
  2178. Fri_cpu_time_qos_default Tuint64_t
  2179. Fri_cpu_time_qos_maintenance Tuint64_t
  2180. Fri_cpu_time_qos_background Tuint64_t
  2181. Fri_cpu_time_qos_utility Tuint64_t
  2182. Fri_cpu_time_qos_legacy Tuint64_t
  2183. Fri_cpu_time_qos_user_initiated Tuint64_t
  2184. Fri_cpu_time_qos_user_interactive Tuint64_t
  2185. Fri_billed_system_time Tuint64_t
  2186. Fri_serviced_system_time Tuint64_t
  2187. Fri_logical_writes Tuint64_t
  2188. Fri_lifetime_max_phys_footprint Tuint64_t
  2189. Fri_instructions Tuint64_t
  2190. Fri_cycles Tuint64_t
  2191. Fri_billed_energy Tuint64_t
  2192. Fri_serviced_energy Tuint64_t
  2193. Fri_interval_max_phys_footprint Tuint64_t
  2194. Fri_runnable_time Tuint64_t
  2195. Fri_flags Tuint64_t
  2196. Fri_user_ptime Tuint64_t
  2197. Fri_system_ptime Tuint64_t
  2198. Fri_pinstructions Tuint64_t
  2199. Fri_pcycles Tuint64_t
  2200. Fri_energy_nj Tuint64_t
  2201. Fri_penergy_nj Tuint64_t
  2202. Fri_secure_time_in_system Tuint64_t
  2203. Fri_secure_ptime_in_system Tuint64_t
  2204. Fri_neural_footprint Tuint64_t
  2205. Fri_lifetime_max_neural_footprint Tuint64_t
  2206. Fri_interval_max_neural_footprint Tuint64_t
  2207. Fri_reserved [9]Tuint64_t
  2208. }
  2209. type Trusage_info_current = struct {
  2210. Fri_uuid [16]Tuint8_t
  2211. Fri_user_time Tuint64_t
  2212. Fri_system_time Tuint64_t
  2213. Fri_pkg_idle_wkups Tuint64_t
  2214. Fri_interrupt_wkups Tuint64_t
  2215. Fri_pageins Tuint64_t
  2216. Fri_wired_size Tuint64_t
  2217. Fri_resident_size Tuint64_t
  2218. Fri_phys_footprint Tuint64_t
  2219. Fri_proc_start_abstime Tuint64_t
  2220. Fri_proc_exit_abstime Tuint64_t
  2221. Fri_child_user_time Tuint64_t
  2222. Fri_child_system_time Tuint64_t
  2223. Fri_child_pkg_idle_wkups Tuint64_t
  2224. Fri_child_interrupt_wkups Tuint64_t
  2225. Fri_child_pageins Tuint64_t
  2226. Fri_child_elapsed_abstime Tuint64_t
  2227. Fri_diskio_bytesread Tuint64_t
  2228. Fri_diskio_byteswritten Tuint64_t
  2229. Fri_cpu_time_qos_default Tuint64_t
  2230. Fri_cpu_time_qos_maintenance Tuint64_t
  2231. Fri_cpu_time_qos_background Tuint64_t
  2232. Fri_cpu_time_qos_utility Tuint64_t
  2233. Fri_cpu_time_qos_legacy Tuint64_t
  2234. Fri_cpu_time_qos_user_initiated Tuint64_t
  2235. Fri_cpu_time_qos_user_interactive Tuint64_t
  2236. Fri_billed_system_time Tuint64_t
  2237. Fri_serviced_system_time Tuint64_t
  2238. Fri_logical_writes Tuint64_t
  2239. Fri_lifetime_max_phys_footprint Tuint64_t
  2240. Fri_instructions Tuint64_t
  2241. Fri_cycles Tuint64_t
  2242. Fri_billed_energy Tuint64_t
  2243. Fri_serviced_energy Tuint64_t
  2244. Fri_interval_max_phys_footprint Tuint64_t
  2245. Fri_runnable_time Tuint64_t
  2246. Fri_flags Tuint64_t
  2247. Fri_user_ptime Tuint64_t
  2248. Fri_system_ptime Tuint64_t
  2249. Fri_pinstructions Tuint64_t
  2250. Fri_pcycles Tuint64_t
  2251. Fri_energy_nj Tuint64_t
  2252. Fri_penergy_nj Tuint64_t
  2253. Fri_secure_time_in_system Tuint64_t
  2254. Fri_secure_ptime_in_system Tuint64_t
  2255. Fri_neural_footprint Tuint64_t
  2256. Fri_lifetime_max_neural_footprint Tuint64_t
  2257. Fri_interval_max_neural_footprint Tuint64_t
  2258. Fri_reserved [9]Tuint64_t
  2259. }
  2260. type Trlimit = struct {
  2261. Frlim_cur Trlim_t
  2262. Frlim_max Trlim_t
  2263. }
  2264. type Tproc_rlimit_control_wakeupmon = struct {
  2265. Fwm_flags Tuint32_t
  2266. Fwm_rate Tint32_t
  2267. }
  2268. type Twait = struct {
  2269. Fw_T [0]struct {
  2270. F__ccgo0 uint32
  2271. }
  2272. Fw_S [0]struct {
  2273. F__ccgo0 uint32
  2274. }
  2275. Fw_status int32
  2276. }
  2277. type Tct_rune_t = int32
  2278. type Trune_t = int32
  2279. type Tdiv_t = struct {
  2280. Fquot int32
  2281. Frem int32
  2282. }
  2283. type Tldiv_t = struct {
  2284. Fquot int64
  2285. Frem int64
  2286. }
  2287. type Tlldiv_t = struct {
  2288. Fquot int64
  2289. Frem int64
  2290. }
  2291. type Tmalloc_type_id_t = uint64
  2292. type Tuch = uint8
  2293. type Tuchf = uint8
  2294. type Tush = uint16
  2295. type Tushf = uint16
  2296. type Tulg = uint64
  2297. /* Reverse the bytes in a 32-bit value */
  2298. /* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
  2299. /* use NO_DIVIDE if your processor does not do division in hardware --
  2300. try it both ways to see which is faster */
  2301. // C documentation
  2302. //
  2303. // /* ========================================================================= */
  2304. func Xadler32_z(tls *libc.TLS, adler TuLong, buf uintptr, len1 Tz_size_t) (r TuLong) {
  2305. var n, v3 uint32
  2306. var sum2 uint64
  2307. var v1, v5 Tz_size_t
  2308. var v2, v6 uintptr
  2309. _, _, _, _, _, _, _ = n, sum2, v1, v2, v3, v5, v6
  2310. /* split Adler-32 into component sums */
  2311. sum2 = adler >> libc.Int32FromInt32(16) & uint64(0xffff)
  2312. adler &= uint64(0xffff)
  2313. /* in case user likes doing a byte at a time, keep it fast */
  2314. if len1 == uint64(1) {
  2315. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  2316. if adler >= uint64(65521) {
  2317. adler -= uint64(65521)
  2318. }
  2319. sum2 += adler
  2320. if sum2 >= uint64(65521) {
  2321. sum2 -= uint64(65521)
  2322. }
  2323. return adler | sum2<<int32(16)
  2324. }
  2325. /* initial Adler-32 value (deferred check for len == 1 speed) */
  2326. if buf == uintptr(m_Z_NULL) {
  2327. return uint64(1)
  2328. }
  2329. /* in case short lengths are provided, keep it somewhat fast */
  2330. if len1 < uint64(16) {
  2331. for {
  2332. v1 = len1
  2333. len1--
  2334. if !(v1 != 0) {
  2335. break
  2336. }
  2337. v2 = buf
  2338. buf++
  2339. adler += uint64(*(*TBytef)(unsafe.Pointer(v2)))
  2340. sum2 += adler
  2341. }
  2342. if adler >= uint64(65521) {
  2343. adler -= uint64(65521)
  2344. }
  2345. sum2 %= uint64(65521) /* only added so many BASE's */
  2346. return adler | sum2<<int32(16)
  2347. }
  2348. /* do length NMAX blocks -- requires just one modulo operation */
  2349. for len1 >= uint64(m_NMAX) {
  2350. len1 -= uint64(m_NMAX)
  2351. n = libc.Uint32FromInt32(libc.Int32FromInt32(m_NMAX) / libc.Int32FromInt32(16)) /* NMAX is divisible by 16 */
  2352. for {
  2353. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  2354. sum2 += adler
  2355. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(1)))))
  2356. sum2 += adler
  2357. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)))))
  2358. sum2 += adler
  2359. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2360. sum2 += adler
  2361. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)))))
  2362. sum2 += adler
  2363. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  2364. sum2 += adler
  2365. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  2366. sum2 += adler
  2367. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2368. sum2 += adler
  2369. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + 8)))
  2370. sum2 += adler
  2371. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(1)))))
  2372. sum2 += adler
  2373. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)))))
  2374. sum2 += adler
  2375. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2376. sum2 += adler
  2377. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)))))
  2378. sum2 += adler
  2379. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  2380. sum2 += adler
  2381. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  2382. sum2 += adler
  2383. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2384. sum2 += adler /* 16 sums unrolled */
  2385. buf += uintptr(16)
  2386. goto _4
  2387. _4:
  2388. ;
  2389. n--
  2390. v3 = n
  2391. if !(v3 != 0) {
  2392. break
  2393. }
  2394. }
  2395. adler %= uint64(65521)
  2396. sum2 %= uint64(65521)
  2397. }
  2398. /* do remaining bytes (less than NMAX, still just one modulo) */
  2399. if len1 != 0 { /* avoid modulos if none remaining */
  2400. for len1 >= uint64(16) {
  2401. len1 -= uint64(16)
  2402. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  2403. sum2 += adler
  2404. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(1)))))
  2405. sum2 += adler
  2406. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)))))
  2407. sum2 += adler
  2408. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2409. sum2 += adler
  2410. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)))))
  2411. sum2 += adler
  2412. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  2413. sum2 += adler
  2414. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  2415. sum2 += adler
  2416. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2417. sum2 += adler
  2418. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + 8)))
  2419. sum2 += adler
  2420. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(1)))))
  2421. sum2 += adler
  2422. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)))))
  2423. sum2 += adler
  2424. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2425. sum2 += adler
  2426. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)))))
  2427. sum2 += adler
  2428. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  2429. sum2 += adler
  2430. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  2431. sum2 += adler
  2432. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2433. sum2 += adler
  2434. buf += uintptr(16)
  2435. }
  2436. for {
  2437. v5 = len1
  2438. len1--
  2439. if !(v5 != 0) {
  2440. break
  2441. }
  2442. v6 = buf
  2443. buf++
  2444. adler += uint64(*(*TBytef)(unsafe.Pointer(v6)))
  2445. sum2 += adler
  2446. }
  2447. adler %= uint64(65521)
  2448. sum2 %= uint64(65521)
  2449. }
  2450. /* return recombined sums */
  2451. return adler | sum2<<int32(16)
  2452. }
  2453. // C documentation
  2454. //
  2455. // /* ========================================================================= */
  2456. func Xadler32(tls *libc.TLS, adler TuLong, buf uintptr, len1 TuInt) (r TuLong) {
  2457. return Xadler32_z(tls, adler, buf, uint64(len1))
  2458. }
  2459. // C documentation
  2460. //
  2461. // /* ========================================================================= */
  2462. func _adler32_combine_(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  2463. var rem uint32
  2464. var sum1, sum2 uint64
  2465. _, _, _ = rem, sum1, sum2
  2466. /* for negative len, return invalid adler32 as a clue for debugging */
  2467. if len2 < 0 {
  2468. return uint64(0xffffffff)
  2469. }
  2470. /* the derivation of this formula is left as an exercise for the reader */
  2471. len2 %= libc.Int64FromUint32(65521) /* assumes len2 >= 0 */
  2472. rem = libc.Uint32FromInt64(len2)
  2473. sum1 = adler1 & uint64(0xffff)
  2474. sum2 = uint64(rem) * sum1
  2475. sum2 %= uint64(65521)
  2476. sum1 += adler2&uint64(0xffff) + uint64(65521) - uint64(1)
  2477. sum2 += adler1>>libc.Int32FromInt32(16)&uint64(0xffff) + adler2>>libc.Int32FromInt32(16)&uint64(0xffff) + uint64(65521) - uint64(rem)
  2478. if sum1 >= uint64(65521) {
  2479. sum1 -= uint64(65521)
  2480. }
  2481. if sum1 >= uint64(65521) {
  2482. sum1 -= uint64(65521)
  2483. }
  2484. if sum2 >= libc.Uint64FromUint32(65521)<<libc.Int32FromInt32(1) {
  2485. sum2 -= libc.Uint64FromUint32(65521) << libc.Int32FromInt32(1)
  2486. }
  2487. if sum2 >= uint64(65521) {
  2488. sum2 -= uint64(65521)
  2489. }
  2490. return sum1 | sum2<<int32(16)
  2491. }
  2492. // C documentation
  2493. //
  2494. // /* ========================================================================= */
  2495. func Xadler32_combine(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  2496. return _adler32_combine_(tls, adler1, adler2, len2)
  2497. }
  2498. func Xadler32_combine64(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  2499. return _adler32_combine_(tls, adler1, adler2, len2)
  2500. }
  2501. const m_N = 5
  2502. const m_POLY = 3988292384
  2503. const m_W = 8
  2504. /* Reverse the bytes in a 32-bit value */
  2505. /*
  2506. A CRC of a message is computed on N braids of words in the message, where
  2507. each word consists of W bytes (4 or 8). If N is 3, for example, then three
  2508. running sparse CRCs are calculated respectively on each braid, at these
  2509. indices in the array of words: 0, 3, 6, ..., 1, 4, 7, ..., and 2, 5, 8, ...
  2510. This is done starting at a word boundary, and continues until as many blocks
  2511. of N * W bytes as are available have been processed. The results are combined
  2512. into a single CRC at the end. For this code, N must be in the range 1..6 and
  2513. W must be 4 or 8. The upper limit on N can be increased if desired by adding
  2514. more #if blocks, extending the patterns apparent in the code. In addition,
  2515. crc32.h would need to be regenerated, if the maximum N value is increased.
  2516. N and W are chosen empirically by benchmarking the execution time on a given
  2517. processor. The choices for N and W below were based on testing on Intel Kaby
  2518. Lake i7, AMD Ryzen 7, ARM Cortex-A57, Sparc64-VII, PowerPC POWER9, and MIPS64
  2519. Octeon II processors. The Intel, AMD, and ARM processors were all fastest
  2520. with N=5, W=8. The Sparc, PowerPC, and MIPS64 were all fastest at N=5, W=4.
  2521. They were all tested with either gcc or clang, all using the -O3 optimization
  2522. level. Your mileage may vary.
  2523. */
  2524. /* Define N */
  2525. /*
  2526. z_crc_t must be at least 32 bits. z_word_t must be at least as long as
  2527. z_crc_t. It is assumed here that z_word_t is either 32 bits or 64 bits, and
  2528. that bytes are eight bits.
  2529. */
  2530. // C documentation
  2531. //
  2532. // /*
  2533. // Define W and the associated z_word_t type. If W is not defined, then a
  2534. // braided calculation is not used, and the associated tables and code are not
  2535. // compiled.
  2536. // */
  2537. type Tz_word_t = uint64
  2538. /* If available, use the ARM processor CRC32 instruction. */
  2539. // C documentation
  2540. //
  2541. // /*
  2542. // Swap the bytes in a z_word_t to convert between little and big endian. Any
  2543. // self-respecting compiler will optimize this to a single machine byte-swap
  2544. // instruction, if one is available. This assumes that word_t is either 32 bits
  2545. // or 64 bits.
  2546. // */
  2547. func _byte_swap(tls *libc.TLS, word Tz_word_t) (r Tz_word_t) {
  2548. return word&uint64(0xff00000000000000)>>int32(56) | word&uint64(0xff000000000000)>>int32(40) | word&uint64(0xff0000000000)>>int32(24) | word&uint64(0xff00000000)>>int32(8) | word&uint64(0xff000000)<<int32(8) | word&uint64(0xff0000)<<int32(24) | word&uint64(0xff00)<<int32(40) | word&uint64(0xff)<<int32(56)
  2549. }
  2550. var _crc_table = [256]Tz_crc_t{
  2551. 1: uint32(0x77073096),
  2552. 2: uint32(0xee0e612c),
  2553. 3: uint32(0x990951ba),
  2554. 4: uint32(0x076dc419),
  2555. 5: uint32(0x706af48f),
  2556. 6: uint32(0xe963a535),
  2557. 7: uint32(0x9e6495a3),
  2558. 8: uint32(0x0edb8832),
  2559. 9: uint32(0x79dcb8a4),
  2560. 10: uint32(0xe0d5e91e),
  2561. 11: uint32(0x97d2d988),
  2562. 12: uint32(0x09b64c2b),
  2563. 13: uint32(0x7eb17cbd),
  2564. 14: uint32(0xe7b82d07),
  2565. 15: uint32(0x90bf1d91),
  2566. 16: uint32(0x1db71064),
  2567. 17: uint32(0x6ab020f2),
  2568. 18: uint32(0xf3b97148),
  2569. 19: uint32(0x84be41de),
  2570. 20: uint32(0x1adad47d),
  2571. 21: uint32(0x6ddde4eb),
  2572. 22: uint32(0xf4d4b551),
  2573. 23: uint32(0x83d385c7),
  2574. 24: uint32(0x136c9856),
  2575. 25: uint32(0x646ba8c0),
  2576. 26: uint32(0xfd62f97a),
  2577. 27: uint32(0x8a65c9ec),
  2578. 28: uint32(0x14015c4f),
  2579. 29: uint32(0x63066cd9),
  2580. 30: uint32(0xfa0f3d63),
  2581. 31: uint32(0x8d080df5),
  2582. 32: uint32(0x3b6e20c8),
  2583. 33: uint32(0x4c69105e),
  2584. 34: uint32(0xd56041e4),
  2585. 35: uint32(0xa2677172),
  2586. 36: uint32(0x3c03e4d1),
  2587. 37: uint32(0x4b04d447),
  2588. 38: uint32(0xd20d85fd),
  2589. 39: uint32(0xa50ab56b),
  2590. 40: uint32(0x35b5a8fa),
  2591. 41: uint32(0x42b2986c),
  2592. 42: uint32(0xdbbbc9d6),
  2593. 43: uint32(0xacbcf940),
  2594. 44: uint32(0x32d86ce3),
  2595. 45: uint32(0x45df5c75),
  2596. 46: uint32(0xdcd60dcf),
  2597. 47: uint32(0xabd13d59),
  2598. 48: uint32(0x26d930ac),
  2599. 49: uint32(0x51de003a),
  2600. 50: uint32(0xc8d75180),
  2601. 51: uint32(0xbfd06116),
  2602. 52: uint32(0x21b4f4b5),
  2603. 53: uint32(0x56b3c423),
  2604. 54: uint32(0xcfba9599),
  2605. 55: uint32(0xb8bda50f),
  2606. 56: uint32(0x2802b89e),
  2607. 57: uint32(0x5f058808),
  2608. 58: uint32(0xc60cd9b2),
  2609. 59: uint32(0xb10be924),
  2610. 60: uint32(0x2f6f7c87),
  2611. 61: uint32(0x58684c11),
  2612. 62: uint32(0xc1611dab),
  2613. 63: uint32(0xb6662d3d),
  2614. 64: uint32(0x76dc4190),
  2615. 65: uint32(0x01db7106),
  2616. 66: uint32(0x98d220bc),
  2617. 67: uint32(0xefd5102a),
  2618. 68: uint32(0x71b18589),
  2619. 69: uint32(0x06b6b51f),
  2620. 70: uint32(0x9fbfe4a5),
  2621. 71: uint32(0xe8b8d433),
  2622. 72: uint32(0x7807c9a2),
  2623. 73: uint32(0x0f00f934),
  2624. 74: uint32(0x9609a88e),
  2625. 75: uint32(0xe10e9818),
  2626. 76: uint32(0x7f6a0dbb),
  2627. 77: uint32(0x086d3d2d),
  2628. 78: uint32(0x91646c97),
  2629. 79: uint32(0xe6635c01),
  2630. 80: uint32(0x6b6b51f4),
  2631. 81: uint32(0x1c6c6162),
  2632. 82: uint32(0x856530d8),
  2633. 83: uint32(0xf262004e),
  2634. 84: uint32(0x6c0695ed),
  2635. 85: uint32(0x1b01a57b),
  2636. 86: uint32(0x8208f4c1),
  2637. 87: uint32(0xf50fc457),
  2638. 88: uint32(0x65b0d9c6),
  2639. 89: uint32(0x12b7e950),
  2640. 90: uint32(0x8bbeb8ea),
  2641. 91: uint32(0xfcb9887c),
  2642. 92: uint32(0x62dd1ddf),
  2643. 93: uint32(0x15da2d49),
  2644. 94: uint32(0x8cd37cf3),
  2645. 95: uint32(0xfbd44c65),
  2646. 96: uint32(0x4db26158),
  2647. 97: uint32(0x3ab551ce),
  2648. 98: uint32(0xa3bc0074),
  2649. 99: uint32(0xd4bb30e2),
  2650. 100: uint32(0x4adfa541),
  2651. 101: uint32(0x3dd895d7),
  2652. 102: uint32(0xa4d1c46d),
  2653. 103: uint32(0xd3d6f4fb),
  2654. 104: uint32(0x4369e96a),
  2655. 105: uint32(0x346ed9fc),
  2656. 106: uint32(0xad678846),
  2657. 107: uint32(0xda60b8d0),
  2658. 108: uint32(0x44042d73),
  2659. 109: uint32(0x33031de5),
  2660. 110: uint32(0xaa0a4c5f),
  2661. 111: uint32(0xdd0d7cc9),
  2662. 112: uint32(0x5005713c),
  2663. 113: uint32(0x270241aa),
  2664. 114: uint32(0xbe0b1010),
  2665. 115: uint32(0xc90c2086),
  2666. 116: uint32(0x5768b525),
  2667. 117: uint32(0x206f85b3),
  2668. 118: uint32(0xb966d409),
  2669. 119: uint32(0xce61e49f),
  2670. 120: uint32(0x5edef90e),
  2671. 121: uint32(0x29d9c998),
  2672. 122: uint32(0xb0d09822),
  2673. 123: uint32(0xc7d7a8b4),
  2674. 124: uint32(0x59b33d17),
  2675. 125: uint32(0x2eb40d81),
  2676. 126: uint32(0xb7bd5c3b),
  2677. 127: uint32(0xc0ba6cad),
  2678. 128: uint32(0xedb88320),
  2679. 129: uint32(0x9abfb3b6),
  2680. 130: uint32(0x03b6e20c),
  2681. 131: uint32(0x74b1d29a),
  2682. 132: uint32(0xead54739),
  2683. 133: uint32(0x9dd277af),
  2684. 134: uint32(0x04db2615),
  2685. 135: uint32(0x73dc1683),
  2686. 136: uint32(0xe3630b12),
  2687. 137: uint32(0x94643b84),
  2688. 138: uint32(0x0d6d6a3e),
  2689. 139: uint32(0x7a6a5aa8),
  2690. 140: uint32(0xe40ecf0b),
  2691. 141: uint32(0x9309ff9d),
  2692. 142: uint32(0x0a00ae27),
  2693. 143: uint32(0x7d079eb1),
  2694. 144: uint32(0xf00f9344),
  2695. 145: uint32(0x8708a3d2),
  2696. 146: uint32(0x1e01f268),
  2697. 147: uint32(0x6906c2fe),
  2698. 148: uint32(0xf762575d),
  2699. 149: uint32(0x806567cb),
  2700. 150: uint32(0x196c3671),
  2701. 151: uint32(0x6e6b06e7),
  2702. 152: uint32(0xfed41b76),
  2703. 153: uint32(0x89d32be0),
  2704. 154: uint32(0x10da7a5a),
  2705. 155: uint32(0x67dd4acc),
  2706. 156: uint32(0xf9b9df6f),
  2707. 157: uint32(0x8ebeeff9),
  2708. 158: uint32(0x17b7be43),
  2709. 159: uint32(0x60b08ed5),
  2710. 160: uint32(0xd6d6a3e8),
  2711. 161: uint32(0xa1d1937e),
  2712. 162: uint32(0x38d8c2c4),
  2713. 163: uint32(0x4fdff252),
  2714. 164: uint32(0xd1bb67f1),
  2715. 165: uint32(0xa6bc5767),
  2716. 166: uint32(0x3fb506dd),
  2717. 167: uint32(0x48b2364b),
  2718. 168: uint32(0xd80d2bda),
  2719. 169: uint32(0xaf0a1b4c),
  2720. 170: uint32(0x36034af6),
  2721. 171: uint32(0x41047a60),
  2722. 172: uint32(0xdf60efc3),
  2723. 173: uint32(0xa867df55),
  2724. 174: uint32(0x316e8eef),
  2725. 175: uint32(0x4669be79),
  2726. 176: uint32(0xcb61b38c),
  2727. 177: uint32(0xbc66831a),
  2728. 178: uint32(0x256fd2a0),
  2729. 179: uint32(0x5268e236),
  2730. 180: uint32(0xcc0c7795),
  2731. 181: uint32(0xbb0b4703),
  2732. 182: uint32(0x220216b9),
  2733. 183: uint32(0x5505262f),
  2734. 184: uint32(0xc5ba3bbe),
  2735. 185: uint32(0xb2bd0b28),
  2736. 186: uint32(0x2bb45a92),
  2737. 187: uint32(0x5cb36a04),
  2738. 188: uint32(0xc2d7ffa7),
  2739. 189: uint32(0xb5d0cf31),
  2740. 190: uint32(0x2cd99e8b),
  2741. 191: uint32(0x5bdeae1d),
  2742. 192: uint32(0x9b64c2b0),
  2743. 193: uint32(0xec63f226),
  2744. 194: uint32(0x756aa39c),
  2745. 195: uint32(0x026d930a),
  2746. 196: uint32(0x9c0906a9),
  2747. 197: uint32(0xeb0e363f),
  2748. 198: uint32(0x72076785),
  2749. 199: uint32(0x05005713),
  2750. 200: uint32(0x95bf4a82),
  2751. 201: uint32(0xe2b87a14),
  2752. 202: uint32(0x7bb12bae),
  2753. 203: uint32(0x0cb61b38),
  2754. 204: uint32(0x92d28e9b),
  2755. 205: uint32(0xe5d5be0d),
  2756. 206: uint32(0x7cdcefb7),
  2757. 207: uint32(0x0bdbdf21),
  2758. 208: uint32(0x86d3d2d4),
  2759. 209: uint32(0xf1d4e242),
  2760. 210: uint32(0x68ddb3f8),
  2761. 211: uint32(0x1fda836e),
  2762. 212: uint32(0x81be16cd),
  2763. 213: uint32(0xf6b9265b),
  2764. 214: uint32(0x6fb077e1),
  2765. 215: uint32(0x18b74777),
  2766. 216: uint32(0x88085ae6),
  2767. 217: uint32(0xff0f6a70),
  2768. 218: uint32(0x66063bca),
  2769. 219: uint32(0x11010b5c),
  2770. 220: uint32(0x8f659eff),
  2771. 221: uint32(0xf862ae69),
  2772. 222: uint32(0x616bffd3),
  2773. 223: uint32(0x166ccf45),
  2774. 224: uint32(0xa00ae278),
  2775. 225: uint32(0xd70dd2ee),
  2776. 226: uint32(0x4e048354),
  2777. 227: uint32(0x3903b3c2),
  2778. 228: uint32(0xa7672661),
  2779. 229: uint32(0xd06016f7),
  2780. 230: uint32(0x4969474d),
  2781. 231: uint32(0x3e6e77db),
  2782. 232: uint32(0xaed16a4a),
  2783. 233: uint32(0xd9d65adc),
  2784. 234: uint32(0x40df0b66),
  2785. 235: uint32(0x37d83bf0),
  2786. 236: uint32(0xa9bcae53),
  2787. 237: uint32(0xdebb9ec5),
  2788. 238: uint32(0x47b2cf7f),
  2789. 239: uint32(0x30b5ffe9),
  2790. 240: uint32(0xbdbdf21c),
  2791. 241: uint32(0xcabac28a),
  2792. 242: uint32(0x53b39330),
  2793. 243: uint32(0x24b4a3a6),
  2794. 244: uint32(0xbad03605),
  2795. 245: uint32(0xcdd70693),
  2796. 246: uint32(0x54de5729),
  2797. 247: uint32(0x23d967bf),
  2798. 248: uint32(0xb3667a2e),
  2799. 249: uint32(0xc4614ab8),
  2800. 250: uint32(0x5d681b02),
  2801. 251: uint32(0x2a6f2b94),
  2802. 252: uint32(0xb40bbe37),
  2803. 253: uint32(0xc30c8ea1),
  2804. 254: uint32(0x5a05df1b),
  2805. 255: uint32(0x2d02ef8d),
  2806. }
  2807. var _crc_big_table = [256]Tz_word_t{
  2808. 1: uint64(0x9630077700000000),
  2809. 2: uint64(0x2c610eee00000000),
  2810. 3: uint64(0xba51099900000000),
  2811. 4: uint64(0x19c46d0700000000),
  2812. 5: uint64(0x8ff46a7000000000),
  2813. 6: uint64(0x35a563e900000000),
  2814. 7: uint64(0xa395649e00000000),
  2815. 8: uint64(0x3288db0e00000000),
  2816. 9: uint64(0xa4b8dc7900000000),
  2817. 10: uint64(0x1ee9d5e000000000),
  2818. 11: uint64(0x88d9d29700000000),
  2819. 12: uint64(0x2b4cb60900000000),
  2820. 13: uint64(0xbd7cb17e00000000),
  2821. 14: uint64(0x072db8e700000000),
  2822. 15: uint64(0x911dbf9000000000),
  2823. 16: uint64(0x6410b71d00000000),
  2824. 17: uint64(0xf220b06a00000000),
  2825. 18: uint64(0x4871b9f300000000),
  2826. 19: uint64(0xde41be8400000000),
  2827. 20: uint64(0x7dd4da1a00000000),
  2828. 21: uint64(0xebe4dd6d00000000),
  2829. 22: uint64(0x51b5d4f400000000),
  2830. 23: uint64(0xc785d38300000000),
  2831. 24: uint64(0x56986c1300000000),
  2832. 25: uint64(0xc0a86b6400000000),
  2833. 26: uint64(0x7af962fd00000000),
  2834. 27: uint64(0xecc9658a00000000),
  2835. 28: uint64(0x4f5c011400000000),
  2836. 29: uint64(0xd96c066300000000),
  2837. 30: uint64(0x633d0ffa00000000),
  2838. 31: uint64(0xf50d088d00000000),
  2839. 32: uint64(0xc8206e3b00000000),
  2840. 33: uint64(0x5e10694c00000000),
  2841. 34: uint64(0xe44160d500000000),
  2842. 35: uint64(0x727167a200000000),
  2843. 36: uint64(0xd1e4033c00000000),
  2844. 37: uint64(0x47d4044b00000000),
  2845. 38: uint64(0xfd850dd200000000),
  2846. 39: uint64(0x6bb50aa500000000),
  2847. 40: uint64(0xfaa8b53500000000),
  2848. 41: uint64(0x6c98b24200000000),
  2849. 42: uint64(0xd6c9bbdb00000000),
  2850. 43: uint64(0x40f9bcac00000000),
  2851. 44: uint64(0xe36cd83200000000),
  2852. 45: uint64(0x755cdf4500000000),
  2853. 46: uint64(0xcf0dd6dc00000000),
  2854. 47: uint64(0x593dd1ab00000000),
  2855. 48: uint64(0xac30d92600000000),
  2856. 49: uint64(0x3a00de5100000000),
  2857. 50: uint64(0x8051d7c800000000),
  2858. 51: uint64(0x1661d0bf00000000),
  2859. 52: uint64(0xb5f4b42100000000),
  2860. 53: uint64(0x23c4b35600000000),
  2861. 54: uint64(0x9995bacf00000000),
  2862. 55: uint64(0x0fa5bdb800000000),
  2863. 56: uint64(0x9eb8022800000000),
  2864. 57: uint64(0x0888055f00000000),
  2865. 58: uint64(0xb2d90cc600000000),
  2866. 59: uint64(0x24e90bb100000000),
  2867. 60: uint64(0x877c6f2f00000000),
  2868. 61: uint64(0x114c685800000000),
  2869. 62: uint64(0xab1d61c100000000),
  2870. 63: uint64(0x3d2d66b600000000),
  2871. 64: uint64(0x9041dc7600000000),
  2872. 65: uint64(0x0671db0100000000),
  2873. 66: uint64(0xbc20d29800000000),
  2874. 67: uint64(0x2a10d5ef00000000),
  2875. 68: uint64(0x8985b17100000000),
  2876. 69: uint64(0x1fb5b60600000000),
  2877. 70: uint64(0xa5e4bf9f00000000),
  2878. 71: uint64(0x33d4b8e800000000),
  2879. 72: uint64(0xa2c9077800000000),
  2880. 73: uint64(0x34f9000f00000000),
  2881. 74: uint64(0x8ea8099600000000),
  2882. 75: uint64(0x18980ee100000000),
  2883. 76: uint64(0xbb0d6a7f00000000),
  2884. 77: uint64(0x2d3d6d0800000000),
  2885. 78: uint64(0x976c649100000000),
  2886. 79: uint64(0x015c63e600000000),
  2887. 80: uint64(0xf4516b6b00000000),
  2888. 81: uint64(0x62616c1c00000000),
  2889. 82: uint64(0xd830658500000000),
  2890. 83: uint64(0x4e0062f200000000),
  2891. 84: uint64(0xed95066c00000000),
  2892. 85: uint64(0x7ba5011b00000000),
  2893. 86: uint64(0xc1f4088200000000),
  2894. 87: uint64(0x57c40ff500000000),
  2895. 88: uint64(0xc6d9b06500000000),
  2896. 89: uint64(0x50e9b71200000000),
  2897. 90: uint64(0xeab8be8b00000000),
  2898. 91: uint64(0x7c88b9fc00000000),
  2899. 92: uint64(0xdf1ddd6200000000),
  2900. 93: uint64(0x492dda1500000000),
  2901. 94: uint64(0xf37cd38c00000000),
  2902. 95: uint64(0x654cd4fb00000000),
  2903. 96: uint64(0x5861b24d00000000),
  2904. 97: uint64(0xce51b53a00000000),
  2905. 98: uint64(0x7400bca300000000),
  2906. 99: uint64(0xe230bbd400000000),
  2907. 100: uint64(0x41a5df4a00000000),
  2908. 101: uint64(0xd795d83d00000000),
  2909. 102: uint64(0x6dc4d1a400000000),
  2910. 103: uint64(0xfbf4d6d300000000),
  2911. 104: uint64(0x6ae9694300000000),
  2912. 105: uint64(0xfcd96e3400000000),
  2913. 106: uint64(0x468867ad00000000),
  2914. 107: uint64(0xd0b860da00000000),
  2915. 108: uint64(0x732d044400000000),
  2916. 109: uint64(0xe51d033300000000),
  2917. 110: uint64(0x5f4c0aaa00000000),
  2918. 111: uint64(0xc97c0ddd00000000),
  2919. 112: uint64(0x3c71055000000000),
  2920. 113: uint64(0xaa41022700000000),
  2921. 114: uint64(0x10100bbe00000000),
  2922. 115: uint64(0x86200cc900000000),
  2923. 116: uint64(0x25b5685700000000),
  2924. 117: uint64(0xb3856f2000000000),
  2925. 118: uint64(0x09d466b900000000),
  2926. 119: uint64(0x9fe461ce00000000),
  2927. 120: uint64(0x0ef9de5e00000000),
  2928. 121: uint64(0x98c9d92900000000),
  2929. 122: uint64(0x2298d0b000000000),
  2930. 123: uint64(0xb4a8d7c700000000),
  2931. 124: uint64(0x173db35900000000),
  2932. 125: uint64(0x810db42e00000000),
  2933. 126: uint64(0x3b5cbdb700000000),
  2934. 127: uint64(0xad6cbac000000000),
  2935. 128: uint64(0x2083b8ed00000000),
  2936. 129: uint64(0xb6b3bf9a00000000),
  2937. 130: uint64(0x0ce2b60300000000),
  2938. 131: uint64(0x9ad2b17400000000),
  2939. 132: uint64(0x3947d5ea00000000),
  2940. 133: uint64(0xaf77d29d00000000),
  2941. 134: uint64(0x1526db0400000000),
  2942. 135: uint64(0x8316dc7300000000),
  2943. 136: uint64(0x120b63e300000000),
  2944. 137: uint64(0x843b649400000000),
  2945. 138: uint64(0x3e6a6d0d00000000),
  2946. 139: uint64(0xa85a6a7a00000000),
  2947. 140: uint64(0x0bcf0ee400000000),
  2948. 141: uint64(0x9dff099300000000),
  2949. 142: uint64(0x27ae000a00000000),
  2950. 143: uint64(0xb19e077d00000000),
  2951. 144: uint64(0x44930ff000000000),
  2952. 145: uint64(0xd2a3088700000000),
  2953. 146: uint64(0x68f2011e00000000),
  2954. 147: uint64(0xfec2066900000000),
  2955. 148: uint64(0x5d5762f700000000),
  2956. 149: uint64(0xcb67658000000000),
  2957. 150: uint64(0x71366c1900000000),
  2958. 151: uint64(0xe7066b6e00000000),
  2959. 152: uint64(0x761bd4fe00000000),
  2960. 153: uint64(0xe02bd38900000000),
  2961. 154: uint64(0x5a7ada1000000000),
  2962. 155: uint64(0xcc4add6700000000),
  2963. 156: uint64(0x6fdfb9f900000000),
  2964. 157: uint64(0xf9efbe8e00000000),
  2965. 158: uint64(0x43beb71700000000),
  2966. 159: uint64(0xd58eb06000000000),
  2967. 160: uint64(0xe8a3d6d600000000),
  2968. 161: uint64(0x7e93d1a100000000),
  2969. 162: uint64(0xc4c2d83800000000),
  2970. 163: uint64(0x52f2df4f00000000),
  2971. 164: uint64(0xf167bbd100000000),
  2972. 165: uint64(0x6757bca600000000),
  2973. 166: uint64(0xdd06b53f00000000),
  2974. 167: uint64(0x4b36b24800000000),
  2975. 168: uint64(0xda2b0dd800000000),
  2976. 169: uint64(0x4c1b0aaf00000000),
  2977. 170: uint64(0xf64a033600000000),
  2978. 171: uint64(0x607a044100000000),
  2979. 172: uint64(0xc3ef60df00000000),
  2980. 173: uint64(0x55df67a800000000),
  2981. 174: uint64(0xef8e6e3100000000),
  2982. 175: uint64(0x79be694600000000),
  2983. 176: uint64(0x8cb361cb00000000),
  2984. 177: uint64(0x1a8366bc00000000),
  2985. 178: uint64(0xa0d26f2500000000),
  2986. 179: uint64(0x36e2685200000000),
  2987. 180: uint64(0x95770ccc00000000),
  2988. 181: uint64(0x03470bbb00000000),
  2989. 182: uint64(0xb916022200000000),
  2990. 183: uint64(0x2f26055500000000),
  2991. 184: uint64(0xbe3bbac500000000),
  2992. 185: uint64(0x280bbdb200000000),
  2993. 186: uint64(0x925ab42b00000000),
  2994. 187: uint64(0x046ab35c00000000),
  2995. 188: uint64(0xa7ffd7c200000000),
  2996. 189: uint64(0x31cfd0b500000000),
  2997. 190: uint64(0x8b9ed92c00000000),
  2998. 191: uint64(0x1daede5b00000000),
  2999. 192: uint64(0xb0c2649b00000000),
  3000. 193: uint64(0x26f263ec00000000),
  3001. 194: uint64(0x9ca36a7500000000),
  3002. 195: uint64(0x0a936d0200000000),
  3003. 196: uint64(0xa906099c00000000),
  3004. 197: uint64(0x3f360eeb00000000),
  3005. 198: uint64(0x8567077200000000),
  3006. 199: uint64(0x1357000500000000),
  3007. 200: uint64(0x824abf9500000000),
  3008. 201: uint64(0x147ab8e200000000),
  3009. 202: uint64(0xae2bb17b00000000),
  3010. 203: uint64(0x381bb60c00000000),
  3011. 204: uint64(0x9b8ed29200000000),
  3012. 205: uint64(0x0dbed5e500000000),
  3013. 206: uint64(0xb7efdc7c00000000),
  3014. 207: uint64(0x21dfdb0b00000000),
  3015. 208: uint64(0xd4d2d38600000000),
  3016. 209: uint64(0x42e2d4f100000000),
  3017. 210: uint64(0xf8b3dd6800000000),
  3018. 211: uint64(0x6e83da1f00000000),
  3019. 212: uint64(0xcd16be8100000000),
  3020. 213: uint64(0x5b26b9f600000000),
  3021. 214: uint64(0xe177b06f00000000),
  3022. 215: uint64(0x7747b71800000000),
  3023. 216: uint64(0xe65a088800000000),
  3024. 217: uint64(0x706a0fff00000000),
  3025. 218: uint64(0xca3b066600000000),
  3026. 219: uint64(0x5c0b011100000000),
  3027. 220: uint64(0xff9e658f00000000),
  3028. 221: uint64(0x69ae62f800000000),
  3029. 222: uint64(0xd3ff6b6100000000),
  3030. 223: uint64(0x45cf6c1600000000),
  3031. 224: uint64(0x78e20aa000000000),
  3032. 225: uint64(0xeed20dd700000000),
  3033. 226: uint64(0x5483044e00000000),
  3034. 227: uint64(0xc2b3033900000000),
  3035. 228: uint64(0x612667a700000000),
  3036. 229: uint64(0xf71660d000000000),
  3037. 230: uint64(0x4d47694900000000),
  3038. 231: uint64(0xdb776e3e00000000),
  3039. 232: uint64(0x4a6ad1ae00000000),
  3040. 233: uint64(0xdc5ad6d900000000),
  3041. 234: uint64(0x660bdf4000000000),
  3042. 235: uint64(0xf03bd83700000000),
  3043. 236: uint64(0x53aebca900000000),
  3044. 237: uint64(0xc59ebbde00000000),
  3045. 238: uint64(0x7fcfb24700000000),
  3046. 239: uint64(0xe9ffb53000000000),
  3047. 240: uint64(0x1cf2bdbd00000000),
  3048. 241: uint64(0x8ac2baca00000000),
  3049. 242: uint64(0x3093b35300000000),
  3050. 243: uint64(0xa6a3b42400000000),
  3051. 244: uint64(0x0536d0ba00000000),
  3052. 245: uint64(0x9306d7cd00000000),
  3053. 246: uint64(0x2957de5400000000),
  3054. 247: uint64(0xbf67d92300000000),
  3055. 248: uint64(0x2e7a66b300000000),
  3056. 249: uint64(0xb84a61c400000000),
  3057. 250: uint64(0x021b685d00000000),
  3058. 251: uint64(0x942b6f2a00000000),
  3059. 252: uint64(0x37be0bb400000000),
  3060. 253: uint64(0xa18e0cc300000000),
  3061. 254: uint64(0x1bdf055a00000000),
  3062. 255: uint64(0x8def022d00000000),
  3063. }
  3064. var _crc_braid_table = [8][256]Tz_crc_t{
  3065. 0: {
  3066. 1: uint32(0xaf449247),
  3067. 2: uint32(0x85f822cf),
  3068. 3: uint32(0x2abcb088),
  3069. 4: uint32(0xd08143df),
  3070. 5: uint32(0x7fc5d198),
  3071. 6: uint32(0x55796110),
  3072. 7: uint32(0xfa3df357),
  3073. 8: uint32(0x7a7381ff),
  3074. 9: uint32(0xd53713b8),
  3075. 10: uint32(0xff8ba330),
  3076. 11: uint32(0x50cf3177),
  3077. 12: uint32(0xaaf2c220),
  3078. 13: uint32(0x05b65067),
  3079. 14: uint32(0x2f0ae0ef),
  3080. 15: uint32(0x804e72a8),
  3081. 16: uint32(0xf4e703fe),
  3082. 17: uint32(0x5ba391b9),
  3083. 18: uint32(0x711f2131),
  3084. 19: uint32(0xde5bb376),
  3085. 20: uint32(0x24664021),
  3086. 21: uint32(0x8b22d266),
  3087. 22: uint32(0xa19e62ee),
  3088. 23: uint32(0x0edaf0a9),
  3089. 24: uint32(0x8e948201),
  3090. 25: uint32(0x21d01046),
  3091. 26: uint32(0x0b6ca0ce),
  3092. 27: uint32(0xa4283289),
  3093. 28: uint32(0x5e15c1de),
  3094. 29: uint32(0xf1515399),
  3095. 30: uint32(0xdbede311),
  3096. 31: uint32(0x74a97156),
  3097. 32: uint32(0x32bf01bd),
  3098. 33: uint32(0x9dfb93fa),
  3099. 34: uint32(0xb7472372),
  3100. 35: uint32(0x1803b135),
  3101. 36: uint32(0xe23e4262),
  3102. 37: uint32(0x4d7ad025),
  3103. 38: uint32(0x67c660ad),
  3104. 39: uint32(0xc882f2ea),
  3105. 40: uint32(0x48cc8042),
  3106. 41: uint32(0xe7881205),
  3107. 42: uint32(0xcd34a28d),
  3108. 43: uint32(0x627030ca),
  3109. 44: uint32(0x984dc39d),
  3110. 45: uint32(0x370951da),
  3111. 46: uint32(0x1db5e152),
  3112. 47: uint32(0xb2f17315),
  3113. 48: uint32(0xc6580243),
  3114. 49: uint32(0x691c9004),
  3115. 50: uint32(0x43a0208c),
  3116. 51: uint32(0xece4b2cb),
  3117. 52: uint32(0x16d9419c),
  3118. 53: uint32(0xb99dd3db),
  3119. 54: uint32(0x93216353),
  3120. 55: uint32(0x3c65f114),
  3121. 56: uint32(0xbc2b83bc),
  3122. 57: uint32(0x136f11fb),
  3123. 58: uint32(0x39d3a173),
  3124. 59: uint32(0x96973334),
  3125. 60: uint32(0x6caac063),
  3126. 61: uint32(0xc3ee5224),
  3127. 62: uint32(0xe952e2ac),
  3128. 63: uint32(0x461670eb),
  3129. 64: uint32(0x657e037a),
  3130. 65: uint32(0xca3a913d),
  3131. 66: uint32(0xe08621b5),
  3132. 67: uint32(0x4fc2b3f2),
  3133. 68: uint32(0xb5ff40a5),
  3134. 69: uint32(0x1abbd2e2),
  3135. 70: uint32(0x3007626a),
  3136. 71: uint32(0x9f43f02d),
  3137. 72: uint32(0x1f0d8285),
  3138. 73: uint32(0xb04910c2),
  3139. 74: uint32(0x9af5a04a),
  3140. 75: uint32(0x35b1320d),
  3141. 76: uint32(0xcf8cc15a),
  3142. 77: uint32(0x60c8531d),
  3143. 78: uint32(0x4a74e395),
  3144. 79: uint32(0xe53071d2),
  3145. 80: uint32(0x91990084),
  3146. 81: uint32(0x3edd92c3),
  3147. 82: uint32(0x1461224b),
  3148. 83: uint32(0xbb25b00c),
  3149. 84: uint32(0x4118435b),
  3150. 85: uint32(0xee5cd11c),
  3151. 86: uint32(0xc4e06194),
  3152. 87: uint32(0x6ba4f3d3),
  3153. 88: uint32(0xebea817b),
  3154. 89: uint32(0x44ae133c),
  3155. 90: uint32(0x6e12a3b4),
  3156. 91: uint32(0xc15631f3),
  3157. 92: uint32(0x3b6bc2a4),
  3158. 93: uint32(0x942f50e3),
  3159. 94: uint32(0xbe93e06b),
  3160. 95: uint32(0x11d7722c),
  3161. 96: uint32(0x57c102c7),
  3162. 97: uint32(0xf8859080),
  3163. 98: uint32(0xd2392008),
  3164. 99: uint32(0x7d7db24f),
  3165. 100: uint32(0x87404118),
  3166. 101: uint32(0x2804d35f),
  3167. 102: uint32(0x02b863d7),
  3168. 103: uint32(0xadfcf190),
  3169. 104: uint32(0x2db28338),
  3170. 105: uint32(0x82f6117f),
  3171. 106: uint32(0xa84aa1f7),
  3172. 107: uint32(0x070e33b0),
  3173. 108: uint32(0xfd33c0e7),
  3174. 109: uint32(0x527752a0),
  3175. 110: uint32(0x78cbe228),
  3176. 111: uint32(0xd78f706f),
  3177. 112: uint32(0xa3260139),
  3178. 113: uint32(0x0c62937e),
  3179. 114: uint32(0x26de23f6),
  3180. 115: uint32(0x899ab1b1),
  3181. 116: uint32(0x73a742e6),
  3182. 117: uint32(0xdce3d0a1),
  3183. 118: uint32(0xf65f6029),
  3184. 119: uint32(0x591bf26e),
  3185. 120: uint32(0xd95580c6),
  3186. 121: uint32(0x76111281),
  3187. 122: uint32(0x5cada209),
  3188. 123: uint32(0xf3e9304e),
  3189. 124: uint32(0x09d4c319),
  3190. 125: uint32(0xa690515e),
  3191. 126: uint32(0x8c2ce1d6),
  3192. 127: uint32(0x23687391),
  3193. 128: uint32(0xcafc06f4),
  3194. 129: uint32(0x65b894b3),
  3195. 130: uint32(0x4f04243b),
  3196. 131: uint32(0xe040b67c),
  3197. 132: uint32(0x1a7d452b),
  3198. 133: uint32(0xb539d76c),
  3199. 134: uint32(0x9f8567e4),
  3200. 135: uint32(0x30c1f5a3),
  3201. 136: uint32(0xb08f870b),
  3202. 137: uint32(0x1fcb154c),
  3203. 138: uint32(0x3577a5c4),
  3204. 139: uint32(0x9a333783),
  3205. 140: uint32(0x600ec4d4),
  3206. 141: uint32(0xcf4a5693),
  3207. 142: uint32(0xe5f6e61b),
  3208. 143: uint32(0x4ab2745c),
  3209. 144: uint32(0x3e1b050a),
  3210. 145: uint32(0x915f974d),
  3211. 146: uint32(0xbbe327c5),
  3212. 147: uint32(0x14a7b582),
  3213. 148: uint32(0xee9a46d5),
  3214. 149: uint32(0x41ded492),
  3215. 150: uint32(0x6b62641a),
  3216. 151: uint32(0xc426f65d),
  3217. 152: uint32(0x446884f5),
  3218. 153: uint32(0xeb2c16b2),
  3219. 154: uint32(0xc190a63a),
  3220. 155: uint32(0x6ed4347d),
  3221. 156: uint32(0x94e9c72a),
  3222. 157: uint32(0x3bad556d),
  3223. 158: uint32(0x1111e5e5),
  3224. 159: uint32(0xbe5577a2),
  3225. 160: uint32(0xf8430749),
  3226. 161: uint32(0x5707950e),
  3227. 162: uint32(0x7dbb2586),
  3228. 163: uint32(0xd2ffb7c1),
  3229. 164: uint32(0x28c24496),
  3230. 165: uint32(0x8786d6d1),
  3231. 166: uint32(0xad3a6659),
  3232. 167: uint32(0x027ef41e),
  3233. 168: uint32(0x823086b6),
  3234. 169: uint32(0x2d7414f1),
  3235. 170: uint32(0x07c8a479),
  3236. 171: uint32(0xa88c363e),
  3237. 172: uint32(0x52b1c569),
  3238. 173: uint32(0xfdf5572e),
  3239. 174: uint32(0xd749e7a6),
  3240. 175: uint32(0x780d75e1),
  3241. 176: uint32(0x0ca404b7),
  3242. 177: uint32(0xa3e096f0),
  3243. 178: uint32(0x895c2678),
  3244. 179: uint32(0x2618b43f),
  3245. 180: uint32(0xdc254768),
  3246. 181: uint32(0x7361d52f),
  3247. 182: uint32(0x59dd65a7),
  3248. 183: uint32(0xf699f7e0),
  3249. 184: uint32(0x76d78548),
  3250. 185: uint32(0xd993170f),
  3251. 186: uint32(0xf32fa787),
  3252. 187: uint32(0x5c6b35c0),
  3253. 188: uint32(0xa656c697),
  3254. 189: uint32(0x091254d0),
  3255. 190: uint32(0x23aee458),
  3256. 191: uint32(0x8cea761f),
  3257. 192: uint32(0xaf82058e),
  3258. 193: uint32(0x00c697c9),
  3259. 194: uint32(0x2a7a2741),
  3260. 195: uint32(0x853eb506),
  3261. 196: uint32(0x7f034651),
  3262. 197: uint32(0xd047d416),
  3263. 198: uint32(0xfafb649e),
  3264. 199: uint32(0x55bff6d9),
  3265. 200: uint32(0xd5f18471),
  3266. 201: uint32(0x7ab51636),
  3267. 202: uint32(0x5009a6be),
  3268. 203: uint32(0xff4d34f9),
  3269. 204: uint32(0x0570c7ae),
  3270. 205: uint32(0xaa3455e9),
  3271. 206: uint32(0x8088e561),
  3272. 207: uint32(0x2fcc7726),
  3273. 208: uint32(0x5b650670),
  3274. 209: uint32(0xf4219437),
  3275. 210: uint32(0xde9d24bf),
  3276. 211: uint32(0x71d9b6f8),
  3277. 212: uint32(0x8be445af),
  3278. 213: uint32(0x24a0d7e8),
  3279. 214: uint32(0x0e1c6760),
  3280. 215: uint32(0xa158f527),
  3281. 216: uint32(0x2116878f),
  3282. 217: uint32(0x8e5215c8),
  3283. 218: uint32(0xa4eea540),
  3284. 219: uint32(0x0baa3707),
  3285. 220: uint32(0xf197c450),
  3286. 221: uint32(0x5ed35617),
  3287. 222: uint32(0x746fe69f),
  3288. 223: uint32(0xdb2b74d8),
  3289. 224: uint32(0x9d3d0433),
  3290. 225: uint32(0x32799674),
  3291. 226: uint32(0x18c526fc),
  3292. 227: uint32(0xb781b4bb),
  3293. 228: uint32(0x4dbc47ec),
  3294. 229: uint32(0xe2f8d5ab),
  3295. 230: uint32(0xc8446523),
  3296. 231: uint32(0x6700f764),
  3297. 232: uint32(0xe74e85cc),
  3298. 233: uint32(0x480a178b),
  3299. 234: uint32(0x62b6a703),
  3300. 235: uint32(0xcdf23544),
  3301. 236: uint32(0x37cfc613),
  3302. 237: uint32(0x988b5454),
  3303. 238: uint32(0xb237e4dc),
  3304. 239: uint32(0x1d73769b),
  3305. 240: uint32(0x69da07cd),
  3306. 241: uint32(0xc69e958a),
  3307. 242: uint32(0xec222502),
  3308. 243: uint32(0x4366b745),
  3309. 244: uint32(0xb95b4412),
  3310. 245: uint32(0x161fd655),
  3311. 246: uint32(0x3ca366dd),
  3312. 247: uint32(0x93e7f49a),
  3313. 248: uint32(0x13a98632),
  3314. 249: uint32(0xbced1475),
  3315. 250: uint32(0x9651a4fd),
  3316. 251: uint32(0x391536ba),
  3317. 252: uint32(0xc328c5ed),
  3318. 253: uint32(0x6c6c57aa),
  3319. 254: uint32(0x46d0e722),
  3320. 255: uint32(0xe9947565),
  3321. },
  3322. 1: {
  3323. 1: uint32(0x4e890ba9),
  3324. 2: uint32(0x9d121752),
  3325. 3: uint32(0xd39b1cfb),
  3326. 4: uint32(0xe15528e5),
  3327. 5: uint32(0xafdc234c),
  3328. 6: uint32(0x7c473fb7),
  3329. 7: uint32(0x32ce341e),
  3330. 8: uint32(0x19db578b),
  3331. 9: uint32(0x57525c22),
  3332. 10: uint32(0x84c940d9),
  3333. 11: uint32(0xca404b70),
  3334. 12: uint32(0xf88e7f6e),
  3335. 13: uint32(0xb60774c7),
  3336. 14: uint32(0x659c683c),
  3337. 15: uint32(0x2b156395),
  3338. 16: uint32(0x33b6af16),
  3339. 17: uint32(0x7d3fa4bf),
  3340. 18: uint32(0xaea4b844),
  3341. 19: uint32(0xe02db3ed),
  3342. 20: uint32(0xd2e387f3),
  3343. 21: uint32(0x9c6a8c5a),
  3344. 22: uint32(0x4ff190a1),
  3345. 23: uint32(0x01789b08),
  3346. 24: uint32(0x2a6df89d),
  3347. 25: uint32(0x64e4f334),
  3348. 26: uint32(0xb77fefcf),
  3349. 27: uint32(0xf9f6e466),
  3350. 28: uint32(0xcb38d078),
  3351. 29: uint32(0x85b1dbd1),
  3352. 30: uint32(0x562ac72a),
  3353. 31: uint32(0x18a3cc83),
  3354. 32: uint32(0x676d5e2c),
  3355. 33: uint32(0x29e45585),
  3356. 34: uint32(0xfa7f497e),
  3357. 35: uint32(0xb4f642d7),
  3358. 36: uint32(0x863876c9),
  3359. 37: uint32(0xc8b17d60),
  3360. 38: uint32(0x1b2a619b),
  3361. 39: uint32(0x55a36a32),
  3362. 40: uint32(0x7eb609a7),
  3363. 41: uint32(0x303f020e),
  3364. 42: uint32(0xe3a41ef5),
  3365. 43: uint32(0xad2d155c),
  3366. 44: uint32(0x9fe32142),
  3367. 45: uint32(0xd16a2aeb),
  3368. 46: uint32(0x02f13610),
  3369. 47: uint32(0x4c783db9),
  3370. 48: uint32(0x54dbf13a),
  3371. 49: uint32(0x1a52fa93),
  3372. 50: uint32(0xc9c9e668),
  3373. 51: uint32(0x8740edc1),
  3374. 52: uint32(0xb58ed9df),
  3375. 53: uint32(0xfb07d276),
  3376. 54: uint32(0x289cce8d),
  3377. 55: uint32(0x6615c524),
  3378. 56: uint32(0x4d00a6b1),
  3379. 57: uint32(0x0389ad18),
  3380. 58: uint32(0xd012b1e3),
  3381. 59: uint32(0x9e9bba4a),
  3382. 60: uint32(0xac558e54),
  3383. 61: uint32(0xe2dc85fd),
  3384. 62: uint32(0x31479906),
  3385. 63: uint32(0x7fce92af),
  3386. 64: uint32(0xcedabc58),
  3387. 65: uint32(0x8053b7f1),
  3388. 66: uint32(0x53c8ab0a),
  3389. 67: uint32(0x1d41a0a3),
  3390. 68: uint32(0x2f8f94bd),
  3391. 69: uint32(0x61069f14),
  3392. 70: uint32(0xb29d83ef),
  3393. 71: uint32(0xfc148846),
  3394. 72: uint32(0xd701ebd3),
  3395. 73: uint32(0x9988e07a),
  3396. 74: uint32(0x4a13fc81),
  3397. 75: uint32(0x049af728),
  3398. 76: uint32(0x3654c336),
  3399. 77: uint32(0x78ddc89f),
  3400. 78: uint32(0xab46d464),
  3401. 79: uint32(0xe5cfdfcd),
  3402. 80: uint32(0xfd6c134e),
  3403. 81: uint32(0xb3e518e7),
  3404. 82: uint32(0x607e041c),
  3405. 83: uint32(0x2ef70fb5),
  3406. 84: uint32(0x1c393bab),
  3407. 85: uint32(0x52b03002),
  3408. 86: uint32(0x812b2cf9),
  3409. 87: uint32(0xcfa22750),
  3410. 88: uint32(0xe4b744c5),
  3411. 89: uint32(0xaa3e4f6c),
  3412. 90: uint32(0x79a55397),
  3413. 91: uint32(0x372c583e),
  3414. 92: uint32(0x05e26c20),
  3415. 93: uint32(0x4b6b6789),
  3416. 94: uint32(0x98f07b72),
  3417. 95: uint32(0xd67970db),
  3418. 96: uint32(0xa9b7e274),
  3419. 97: uint32(0xe73ee9dd),
  3420. 98: uint32(0x34a5f526),
  3421. 99: uint32(0x7a2cfe8f),
  3422. 100: uint32(0x48e2ca91),
  3423. 101: uint32(0x066bc138),
  3424. 102: uint32(0xd5f0ddc3),
  3425. 103: uint32(0x9b79d66a),
  3426. 104: uint32(0xb06cb5ff),
  3427. 105: uint32(0xfee5be56),
  3428. 106: uint32(0x2d7ea2ad),
  3429. 107: uint32(0x63f7a904),
  3430. 108: uint32(0x51399d1a),
  3431. 109: uint32(0x1fb096b3),
  3432. 110: uint32(0xcc2b8a48),
  3433. 111: uint32(0x82a281e1),
  3434. 112: uint32(0x9a014d62),
  3435. 113: uint32(0xd48846cb),
  3436. 114: uint32(0x07135a30),
  3437. 115: uint32(0x499a5199),
  3438. 116: uint32(0x7b546587),
  3439. 117: uint32(0x35dd6e2e),
  3440. 118: uint32(0xe64672d5),
  3441. 119: uint32(0xa8cf797c),
  3442. 120: uint32(0x83da1ae9),
  3443. 121: uint32(0xcd531140),
  3444. 122: uint32(0x1ec80dbb),
  3445. 123: uint32(0x50410612),
  3446. 124: uint32(0x628f320c),
  3447. 125: uint32(0x2c0639a5),
  3448. 126: uint32(0xff9d255e),
  3449. 127: uint32(0xb1142ef7),
  3450. 128: uint32(0x46c47ef1),
  3451. 129: uint32(0x084d7558),
  3452. 130: uint32(0xdbd669a3),
  3453. 131: uint32(0x955f620a),
  3454. 132: uint32(0xa7915614),
  3455. 133: uint32(0xe9185dbd),
  3456. 134: uint32(0x3a834146),
  3457. 135: uint32(0x740a4aef),
  3458. 136: uint32(0x5f1f297a),
  3459. 137: uint32(0x119622d3),
  3460. 138: uint32(0xc20d3e28),
  3461. 139: uint32(0x8c843581),
  3462. 140: uint32(0xbe4a019f),
  3463. 141: uint32(0xf0c30a36),
  3464. 142: uint32(0x235816cd),
  3465. 143: uint32(0x6dd11d64),
  3466. 144: uint32(0x7572d1e7),
  3467. 145: uint32(0x3bfbda4e),
  3468. 146: uint32(0xe860c6b5),
  3469. 147: uint32(0xa6e9cd1c),
  3470. 148: uint32(0x9427f902),
  3471. 149: uint32(0xdaaef2ab),
  3472. 150: uint32(0x0935ee50),
  3473. 151: uint32(0x47bce5f9),
  3474. 152: uint32(0x6ca9866c),
  3475. 153: uint32(0x22208dc5),
  3476. 154: uint32(0xf1bb913e),
  3477. 155: uint32(0xbf329a97),
  3478. 156: uint32(0x8dfcae89),
  3479. 157: uint32(0xc375a520),
  3480. 158: uint32(0x10eeb9db),
  3481. 159: uint32(0x5e67b272),
  3482. 160: uint32(0x21a920dd),
  3483. 161: uint32(0x6f202b74),
  3484. 162: uint32(0xbcbb378f),
  3485. 163: uint32(0xf2323c26),
  3486. 164: uint32(0xc0fc0838),
  3487. 165: uint32(0x8e750391),
  3488. 166: uint32(0x5dee1f6a),
  3489. 167: uint32(0x136714c3),
  3490. 168: uint32(0x38727756),
  3491. 169: uint32(0x76fb7cff),
  3492. 170: uint32(0xa5606004),
  3493. 171: uint32(0xebe96bad),
  3494. 172: uint32(0xd9275fb3),
  3495. 173: uint32(0x97ae541a),
  3496. 174: uint32(0x443548e1),
  3497. 175: uint32(0x0abc4348),
  3498. 176: uint32(0x121f8fcb),
  3499. 177: uint32(0x5c968462),
  3500. 178: uint32(0x8f0d9899),
  3501. 179: uint32(0xc1849330),
  3502. 180: uint32(0xf34aa72e),
  3503. 181: uint32(0xbdc3ac87),
  3504. 182: uint32(0x6e58b07c),
  3505. 183: uint32(0x20d1bbd5),
  3506. 184: uint32(0x0bc4d840),
  3507. 185: uint32(0x454dd3e9),
  3508. 186: uint32(0x96d6cf12),
  3509. 187: uint32(0xd85fc4bb),
  3510. 188: uint32(0xea91f0a5),
  3511. 189: uint32(0xa418fb0c),
  3512. 190: uint32(0x7783e7f7),
  3513. 191: uint32(0x390aec5e),
  3514. 192: uint32(0x881ec2a9),
  3515. 193: uint32(0xc697c900),
  3516. 194: uint32(0x150cd5fb),
  3517. 195: uint32(0x5b85de52),
  3518. 196: uint32(0x694bea4c),
  3519. 197: uint32(0x27c2e1e5),
  3520. 198: uint32(0xf459fd1e),
  3521. 199: uint32(0xbad0f6b7),
  3522. 200: uint32(0x91c59522),
  3523. 201: uint32(0xdf4c9e8b),
  3524. 202: uint32(0x0cd78270),
  3525. 203: uint32(0x425e89d9),
  3526. 204: uint32(0x7090bdc7),
  3527. 205: uint32(0x3e19b66e),
  3528. 206: uint32(0xed82aa95),
  3529. 207: uint32(0xa30ba13c),
  3530. 208: uint32(0xbba86dbf),
  3531. 209: uint32(0xf5216616),
  3532. 210: uint32(0x26ba7aed),
  3533. 211: uint32(0x68337144),
  3534. 212: uint32(0x5afd455a),
  3535. 213: uint32(0x14744ef3),
  3536. 214: uint32(0xc7ef5208),
  3537. 215: uint32(0x896659a1),
  3538. 216: uint32(0xa2733a34),
  3539. 217: uint32(0xecfa319d),
  3540. 218: uint32(0x3f612d66),
  3541. 219: uint32(0x71e826cf),
  3542. 220: uint32(0x432612d1),
  3543. 221: uint32(0x0daf1978),
  3544. 222: uint32(0xde340583),
  3545. 223: uint32(0x90bd0e2a),
  3546. 224: uint32(0xef739c85),
  3547. 225: uint32(0xa1fa972c),
  3548. 226: uint32(0x72618bd7),
  3549. 227: uint32(0x3ce8807e),
  3550. 228: uint32(0x0e26b460),
  3551. 229: uint32(0x40afbfc9),
  3552. 230: uint32(0x9334a332),
  3553. 231: uint32(0xddbda89b),
  3554. 232: uint32(0xf6a8cb0e),
  3555. 233: uint32(0xb821c0a7),
  3556. 234: uint32(0x6bbadc5c),
  3557. 235: uint32(0x2533d7f5),
  3558. 236: uint32(0x17fde3eb),
  3559. 237: uint32(0x5974e842),
  3560. 238: uint32(0x8aeff4b9),
  3561. 239: uint32(0xc466ff10),
  3562. 240: uint32(0xdcc53393),
  3563. 241: uint32(0x924c383a),
  3564. 242: uint32(0x41d724c1),
  3565. 243: uint32(0x0f5e2f68),
  3566. 244: uint32(0x3d901b76),
  3567. 245: uint32(0x731910df),
  3568. 246: uint32(0xa0820c24),
  3569. 247: uint32(0xee0b078d),
  3570. 248: uint32(0xc51e6418),
  3571. 249: uint32(0x8b976fb1),
  3572. 250: uint32(0x580c734a),
  3573. 251: uint32(0x168578e3),
  3574. 252: uint32(0x244b4cfd),
  3575. 253: uint32(0x6ac24754),
  3576. 254: uint32(0xb9595baf),
  3577. 255: uint32(0xf7d05006),
  3578. },
  3579. 2: {
  3580. 1: uint32(0x8d88fde2),
  3581. 2: uint32(0xc060fd85),
  3582. 3: uint32(0x4de80067),
  3583. 4: uint32(0x5bb0fd4b),
  3584. 5: uint32(0xd63800a9),
  3585. 6: uint32(0x9bd000ce),
  3586. 7: uint32(0x1658fd2c),
  3587. 8: uint32(0xb761fa96),
  3588. 9: uint32(0x3ae90774),
  3589. 10: uint32(0x77010713),
  3590. 11: uint32(0xfa89faf1),
  3591. 12: uint32(0xecd107dd),
  3592. 13: uint32(0x6159fa3f),
  3593. 14: uint32(0x2cb1fa58),
  3594. 15: uint32(0xa13907ba),
  3595. 16: uint32(0xb5b2f36d),
  3596. 17: uint32(0x383a0e8f),
  3597. 18: uint32(0x75d20ee8),
  3598. 19: uint32(0xf85af30a),
  3599. 20: uint32(0xee020e26),
  3600. 21: uint32(0x638af3c4),
  3601. 22: uint32(0x2e62f3a3),
  3602. 23: uint32(0xa3ea0e41),
  3603. 24: uint32(0x02d309fb),
  3604. 25: uint32(0x8f5bf419),
  3605. 26: uint32(0xc2b3f47e),
  3606. 27: uint32(0x4f3b099c),
  3607. 28: uint32(0x5963f4b0),
  3608. 29: uint32(0xd4eb0952),
  3609. 30: uint32(0x99030935),
  3610. 31: uint32(0x148bf4d7),
  3611. 32: uint32(0xb014e09b),
  3612. 33: uint32(0x3d9c1d79),
  3613. 34: uint32(0x70741d1e),
  3614. 35: uint32(0xfdfce0fc),
  3615. 36: uint32(0xeba41dd0),
  3616. 37: uint32(0x662ce032),
  3617. 38: uint32(0x2bc4e055),
  3618. 39: uint32(0xa64c1db7),
  3619. 40: uint32(0x07751a0d),
  3620. 41: uint32(0x8afde7ef),
  3621. 42: uint32(0xc715e788),
  3622. 43: uint32(0x4a9d1a6a),
  3623. 44: uint32(0x5cc5e746),
  3624. 45: uint32(0xd14d1aa4),
  3625. 46: uint32(0x9ca51ac3),
  3626. 47: uint32(0x112de721),
  3627. 48: uint32(0x05a613f6),
  3628. 49: uint32(0x882eee14),
  3629. 50: uint32(0xc5c6ee73),
  3630. 51: uint32(0x484e1391),
  3631. 52: uint32(0x5e16eebd),
  3632. 53: uint32(0xd39e135f),
  3633. 54: uint32(0x9e761338),
  3634. 55: uint32(0x13feeeda),
  3635. 56: uint32(0xb2c7e960),
  3636. 57: uint32(0x3f4f1482),
  3637. 58: uint32(0x72a714e5),
  3638. 59: uint32(0xff2fe907),
  3639. 60: uint32(0xe977142b),
  3640. 61: uint32(0x64ffe9c9),
  3641. 62: uint32(0x2917e9ae),
  3642. 63: uint32(0xa49f144c),
  3643. 64: uint32(0xbb58c777),
  3644. 65: uint32(0x36d03a95),
  3645. 66: uint32(0x7b383af2),
  3646. 67: uint32(0xf6b0c710),
  3647. 68: uint32(0xe0e83a3c),
  3648. 69: uint32(0x6d60c7de),
  3649. 70: uint32(0x2088c7b9),
  3650. 71: uint32(0xad003a5b),
  3651. 72: uint32(0x0c393de1),
  3652. 73: uint32(0x81b1c003),
  3653. 74: uint32(0xcc59c064),
  3654. 75: uint32(0x41d13d86),
  3655. 76: uint32(0x5789c0aa),
  3656. 77: uint32(0xda013d48),
  3657. 78: uint32(0x97e93d2f),
  3658. 79: uint32(0x1a61c0cd),
  3659. 80: uint32(0x0eea341a),
  3660. 81: uint32(0x8362c9f8),
  3661. 82: uint32(0xce8ac99f),
  3662. 83: uint32(0x4302347d),
  3663. 84: uint32(0x555ac951),
  3664. 85: uint32(0xd8d234b3),
  3665. 86: uint32(0x953a34d4),
  3666. 87: uint32(0x18b2c936),
  3667. 88: uint32(0xb98bce8c),
  3668. 89: uint32(0x3403336e),
  3669. 90: uint32(0x79eb3309),
  3670. 91: uint32(0xf463ceeb),
  3671. 92: uint32(0xe23b33c7),
  3672. 93: uint32(0x6fb3ce25),
  3673. 94: uint32(0x225bce42),
  3674. 95: uint32(0xafd333a0),
  3675. 96: uint32(0x0b4c27ec),
  3676. 97: uint32(0x86c4da0e),
  3677. 98: uint32(0xcb2cda69),
  3678. 99: uint32(0x46a4278b),
  3679. 100: uint32(0x50fcdaa7),
  3680. 101: uint32(0xdd742745),
  3681. 102: uint32(0x909c2722),
  3682. 103: uint32(0x1d14dac0),
  3683. 104: uint32(0xbc2ddd7a),
  3684. 105: uint32(0x31a52098),
  3685. 106: uint32(0x7c4d20ff),
  3686. 107: uint32(0xf1c5dd1d),
  3687. 108: uint32(0xe79d2031),
  3688. 109: uint32(0x6a15ddd3),
  3689. 110: uint32(0x27fdddb4),
  3690. 111: uint32(0xaa752056),
  3691. 112: uint32(0xbefed481),
  3692. 113: uint32(0x33762963),
  3693. 114: uint32(0x7e9e2904),
  3694. 115: uint32(0xf316d4e6),
  3695. 116: uint32(0xe54e29ca),
  3696. 117: uint32(0x68c6d428),
  3697. 118: uint32(0x252ed44f),
  3698. 119: uint32(0xa8a629ad),
  3699. 120: uint32(0x099f2e17),
  3700. 121: uint32(0x8417d3f5),
  3701. 122: uint32(0xc9ffd392),
  3702. 123: uint32(0x44772e70),
  3703. 124: uint32(0x522fd35c),
  3704. 125: uint32(0xdfa72ebe),
  3705. 126: uint32(0x924f2ed9),
  3706. 127: uint32(0x1fc7d33b),
  3707. 128: uint32(0xadc088af),
  3708. 129: uint32(0x2048754d),
  3709. 130: uint32(0x6da0752a),
  3710. 131: uint32(0xe02888c8),
  3711. 132: uint32(0xf67075e4),
  3712. 133: uint32(0x7bf88806),
  3713. 134: uint32(0x36108861),
  3714. 135: uint32(0xbb987583),
  3715. 136: uint32(0x1aa17239),
  3716. 137: uint32(0x97298fdb),
  3717. 138: uint32(0xdac18fbc),
  3718. 139: uint32(0x5749725e),
  3719. 140: uint32(0x41118f72),
  3720. 141: uint32(0xcc997290),
  3721. 142: uint32(0x817172f7),
  3722. 143: uint32(0x0cf98f15),
  3723. 144: uint32(0x18727bc2),
  3724. 145: uint32(0x95fa8620),
  3725. 146: uint32(0xd8128647),
  3726. 147: uint32(0x559a7ba5),
  3727. 148: uint32(0x43c28689),
  3728. 149: uint32(0xce4a7b6b),
  3729. 150: uint32(0x83a27b0c),
  3730. 151: uint32(0x0e2a86ee),
  3731. 152: uint32(0xaf138154),
  3732. 153: uint32(0x229b7cb6),
  3733. 154: uint32(0x6f737cd1),
  3734. 155: uint32(0xe2fb8133),
  3735. 156: uint32(0xf4a37c1f),
  3736. 157: uint32(0x792b81fd),
  3737. 158: uint32(0x34c3819a),
  3738. 159: uint32(0xb94b7c78),
  3739. 160: uint32(0x1dd46834),
  3740. 161: uint32(0x905c95d6),
  3741. 162: uint32(0xddb495b1),
  3742. 163: uint32(0x503c6853),
  3743. 164: uint32(0x4664957f),
  3744. 165: uint32(0xcbec689d),
  3745. 166: uint32(0x860468fa),
  3746. 167: uint32(0x0b8c9518),
  3747. 168: uint32(0xaab592a2),
  3748. 169: uint32(0x273d6f40),
  3749. 170: uint32(0x6ad56f27),
  3750. 171: uint32(0xe75d92c5),
  3751. 172: uint32(0xf1056fe9),
  3752. 173: uint32(0x7c8d920b),
  3753. 174: uint32(0x3165926c),
  3754. 175: uint32(0xbced6f8e),
  3755. 176: uint32(0xa8669b59),
  3756. 177: uint32(0x25ee66bb),
  3757. 178: uint32(0x680666dc),
  3758. 179: uint32(0xe58e9b3e),
  3759. 180: uint32(0xf3d66612),
  3760. 181: uint32(0x7e5e9bf0),
  3761. 182: uint32(0x33b69b97),
  3762. 183: uint32(0xbe3e6675),
  3763. 184: uint32(0x1f0761cf),
  3764. 185: uint32(0x928f9c2d),
  3765. 186: uint32(0xdf679c4a),
  3766. 187: uint32(0x52ef61a8),
  3767. 188: uint32(0x44b79c84),
  3768. 189: uint32(0xc93f6166),
  3769. 190: uint32(0x84d76101),
  3770. 191: uint32(0x095f9ce3),
  3771. 192: uint32(0x16984fd8),
  3772. 193: uint32(0x9b10b23a),
  3773. 194: uint32(0xd6f8b25d),
  3774. 195: uint32(0x5b704fbf),
  3775. 196: uint32(0x4d28b293),
  3776. 197: uint32(0xc0a04f71),
  3777. 198: uint32(0x8d484f16),
  3778. 199: uint32(0x00c0b2f4),
  3779. 200: uint32(0xa1f9b54e),
  3780. 201: uint32(0x2c7148ac),
  3781. 202: uint32(0x619948cb),
  3782. 203: uint32(0xec11b529),
  3783. 204: uint32(0xfa494805),
  3784. 205: uint32(0x77c1b5e7),
  3785. 206: uint32(0x3a29b580),
  3786. 207: uint32(0xb7a14862),
  3787. 208: uint32(0xa32abcb5),
  3788. 209: uint32(0x2ea24157),
  3789. 210: uint32(0x634a4130),
  3790. 211: uint32(0xeec2bcd2),
  3791. 212: uint32(0xf89a41fe),
  3792. 213: uint32(0x7512bc1c),
  3793. 214: uint32(0x38fabc7b),
  3794. 215: uint32(0xb5724199),
  3795. 216: uint32(0x144b4623),
  3796. 217: uint32(0x99c3bbc1),
  3797. 218: uint32(0xd42bbba6),
  3798. 219: uint32(0x59a34644),
  3799. 220: uint32(0x4ffbbb68),
  3800. 221: uint32(0xc273468a),
  3801. 222: uint32(0x8f9b46ed),
  3802. 223: uint32(0x0213bb0f),
  3803. 224: uint32(0xa68caf43),
  3804. 225: uint32(0x2b0452a1),
  3805. 226: uint32(0x66ec52c6),
  3806. 227: uint32(0xeb64af24),
  3807. 228: uint32(0xfd3c5208),
  3808. 229: uint32(0x70b4afea),
  3809. 230: uint32(0x3d5caf8d),
  3810. 231: uint32(0xb0d4526f),
  3811. 232: uint32(0x11ed55d5),
  3812. 233: uint32(0x9c65a837),
  3813. 234: uint32(0xd18da850),
  3814. 235: uint32(0x5c0555b2),
  3815. 236: uint32(0x4a5da89e),
  3816. 237: uint32(0xc7d5557c),
  3817. 238: uint32(0x8a3d551b),
  3818. 239: uint32(0x07b5a8f9),
  3819. 240: uint32(0x133e5c2e),
  3820. 241: uint32(0x9eb6a1cc),
  3821. 242: uint32(0xd35ea1ab),
  3822. 243: uint32(0x5ed65c49),
  3823. 244: uint32(0x488ea165),
  3824. 245: uint32(0xc5065c87),
  3825. 246: uint32(0x88ee5ce0),
  3826. 247: uint32(0x0566a102),
  3827. 248: uint32(0xa45fa6b8),
  3828. 249: uint32(0x29d75b5a),
  3829. 250: uint32(0x643f5b3d),
  3830. 251: uint32(0xe9b7a6df),
  3831. 252: uint32(0xffef5bf3),
  3832. 253: uint32(0x7267a611),
  3833. 254: uint32(0x3f8fa676),
  3834. 255: uint32(0xb2075b94),
  3835. },
  3836. 3: {
  3837. 1: uint32(0x80f0171f),
  3838. 2: uint32(0xda91287f),
  3839. 3: uint32(0x5a613f60),
  3840. 4: uint32(0x6e5356bf),
  3841. 5: uint32(0xeea341a0),
  3842. 6: uint32(0xb4c27ec0),
  3843. 7: uint32(0x343269df),
  3844. 8: uint32(0xdca6ad7e),
  3845. 9: uint32(0x5c56ba61),
  3846. 10: uint32(0x06378501),
  3847. 11: uint32(0x86c7921e),
  3848. 12: uint32(0xb2f5fbc1),
  3849. 13: uint32(0x3205ecde),
  3850. 14: uint32(0x6864d3be),
  3851. 15: uint32(0xe894c4a1),
  3852. 16: uint32(0x623c5cbd),
  3853. 17: uint32(0xe2cc4ba2),
  3854. 18: uint32(0xb8ad74c2),
  3855. 19: uint32(0x385d63dd),
  3856. 20: uint32(0x0c6f0a02),
  3857. 21: uint32(0x8c9f1d1d),
  3858. 22: uint32(0xd6fe227d),
  3859. 23: uint32(0x560e3562),
  3860. 24: uint32(0xbe9af1c3),
  3861. 25: uint32(0x3e6ae6dc),
  3862. 26: uint32(0x640bd9bc),
  3863. 27: uint32(0xe4fbcea3),
  3864. 28: uint32(0xd0c9a77c),
  3865. 29: uint32(0x5039b063),
  3866. 30: uint32(0x0a588f03),
  3867. 31: uint32(0x8aa8981c),
  3868. 32: uint32(0xc478b97a),
  3869. 33: uint32(0x4488ae65),
  3870. 34: uint32(0x1ee99105),
  3871. 35: uint32(0x9e19861a),
  3872. 36: uint32(0xaa2befc5),
  3873. 37: uint32(0x2adbf8da),
  3874. 38: uint32(0x70bac7ba),
  3875. 39: uint32(0xf04ad0a5),
  3876. 40: uint32(0x18de1404),
  3877. 41: uint32(0x982e031b),
  3878. 42: uint32(0xc24f3c7b),
  3879. 43: uint32(0x42bf2b64),
  3880. 44: uint32(0x768d42bb),
  3881. 45: uint32(0xf67d55a4),
  3882. 46: uint32(0xac1c6ac4),
  3883. 47: uint32(0x2cec7ddb),
  3884. 48: uint32(0xa644e5c7),
  3885. 49: uint32(0x26b4f2d8),
  3886. 50: uint32(0x7cd5cdb8),
  3887. 51: uint32(0xfc25daa7),
  3888. 52: uint32(0xc817b378),
  3889. 53: uint32(0x48e7a467),
  3890. 54: uint32(0x12869b07),
  3891. 55: uint32(0x92768c18),
  3892. 56: uint32(0x7ae248b9),
  3893. 57: uint32(0xfa125fa6),
  3894. 58: uint32(0xa07360c6),
  3895. 59: uint32(0x208377d9),
  3896. 60: uint32(0x14b11e06),
  3897. 61: uint32(0x94410919),
  3898. 62: uint32(0xce203679),
  3899. 63: uint32(0x4ed02166),
  3900. 64: uint32(0x538074b5),
  3901. 65: uint32(0xd37063aa),
  3902. 66: uint32(0x89115cca),
  3903. 67: uint32(0x09e14bd5),
  3904. 68: uint32(0x3dd3220a),
  3905. 69: uint32(0xbd233515),
  3906. 70: uint32(0xe7420a75),
  3907. 71: uint32(0x67b21d6a),
  3908. 72: uint32(0x8f26d9cb),
  3909. 73: uint32(0x0fd6ced4),
  3910. 74: uint32(0x55b7f1b4),
  3911. 75: uint32(0xd547e6ab),
  3912. 76: uint32(0xe1758f74),
  3913. 77: uint32(0x6185986b),
  3914. 78: uint32(0x3be4a70b),
  3915. 79: uint32(0xbb14b014),
  3916. 80: uint32(0x31bc2808),
  3917. 81: uint32(0xb14c3f17),
  3918. 82: uint32(0xeb2d0077),
  3919. 83: uint32(0x6bdd1768),
  3920. 84: uint32(0x5fef7eb7),
  3921. 85: uint32(0xdf1f69a8),
  3922. 86: uint32(0x857e56c8),
  3923. 87: uint32(0x058e41d7),
  3924. 88: uint32(0xed1a8576),
  3925. 89: uint32(0x6dea9269),
  3926. 90: uint32(0x378bad09),
  3927. 91: uint32(0xb77bba16),
  3928. 92: uint32(0x8349d3c9),
  3929. 93: uint32(0x03b9c4d6),
  3930. 94: uint32(0x59d8fbb6),
  3931. 95: uint32(0xd928eca9),
  3932. 96: uint32(0x97f8cdcf),
  3933. 97: uint32(0x1708dad0),
  3934. 98: uint32(0x4d69e5b0),
  3935. 99: uint32(0xcd99f2af),
  3936. 100: uint32(0xf9ab9b70),
  3937. 101: uint32(0x795b8c6f),
  3938. 102: uint32(0x233ab30f),
  3939. 103: uint32(0xa3caa410),
  3940. 104: uint32(0x4b5e60b1),
  3941. 105: uint32(0xcbae77ae),
  3942. 106: uint32(0x91cf48ce),
  3943. 107: uint32(0x113f5fd1),
  3944. 108: uint32(0x250d360e),
  3945. 109: uint32(0xa5fd2111),
  3946. 110: uint32(0xff9c1e71),
  3947. 111: uint32(0x7f6c096e),
  3948. 112: uint32(0xf5c49172),
  3949. 113: uint32(0x7534866d),
  3950. 114: uint32(0x2f55b90d),
  3951. 115: uint32(0xafa5ae12),
  3952. 116: uint32(0x9b97c7cd),
  3953. 117: uint32(0x1b67d0d2),
  3954. 118: uint32(0x4106efb2),
  3955. 119: uint32(0xc1f6f8ad),
  3956. 120: uint32(0x29623c0c),
  3957. 121: uint32(0xa9922b13),
  3958. 122: uint32(0xf3f31473),
  3959. 123: uint32(0x7303036c),
  3960. 124: uint32(0x47316ab3),
  3961. 125: uint32(0xc7c17dac),
  3962. 126: uint32(0x9da042cc),
  3963. 127: uint32(0x1d5055d3),
  3964. 128: uint32(0xa700e96a),
  3965. 129: uint32(0x27f0fe75),
  3966. 130: uint32(0x7d91c115),
  3967. 131: uint32(0xfd61d60a),
  3968. 132: uint32(0xc953bfd5),
  3969. 133: uint32(0x49a3a8ca),
  3970. 134: uint32(0x13c297aa),
  3971. 135: uint32(0x933280b5),
  3972. 136: uint32(0x7ba64414),
  3973. 137: uint32(0xfb56530b),
  3974. 138: uint32(0xa1376c6b),
  3975. 139: uint32(0x21c77b74),
  3976. 140: uint32(0x15f512ab),
  3977. 141: uint32(0x950505b4),
  3978. 142: uint32(0xcf643ad4),
  3979. 143: uint32(0x4f942dcb),
  3980. 144: uint32(0xc53cb5d7),
  3981. 145: uint32(0x45cca2c8),
  3982. 146: uint32(0x1fad9da8),
  3983. 147: uint32(0x9f5d8ab7),
  3984. 148: uint32(0xab6fe368),
  3985. 149: uint32(0x2b9ff477),
  3986. 150: uint32(0x71fecb17),
  3987. 151: uint32(0xf10edc08),
  3988. 152: uint32(0x199a18a9),
  3989. 153: uint32(0x996a0fb6),
  3990. 154: uint32(0xc30b30d6),
  3991. 155: uint32(0x43fb27c9),
  3992. 156: uint32(0x77c94e16),
  3993. 157: uint32(0xf7395909),
  3994. 158: uint32(0xad586669),
  3995. 159: uint32(0x2da87176),
  3996. 160: uint32(0x63785010),
  3997. 161: uint32(0xe388470f),
  3998. 162: uint32(0xb9e9786f),
  3999. 163: uint32(0x39196f70),
  4000. 164: uint32(0x0d2b06af),
  4001. 165: uint32(0x8ddb11b0),
  4002. 166: uint32(0xd7ba2ed0),
  4003. 167: uint32(0x574a39cf),
  4004. 168: uint32(0xbfdefd6e),
  4005. 169: uint32(0x3f2eea71),
  4006. 170: uint32(0x654fd511),
  4007. 171: uint32(0xe5bfc20e),
  4008. 172: uint32(0xd18dabd1),
  4009. 173: uint32(0x517dbcce),
  4010. 174: uint32(0x0b1c83ae),
  4011. 175: uint32(0x8bec94b1),
  4012. 176: uint32(0x01440cad),
  4013. 177: uint32(0x81b41bb2),
  4014. 178: uint32(0xdbd524d2),
  4015. 179: uint32(0x5b2533cd),
  4016. 180: uint32(0x6f175a12),
  4017. 181: uint32(0xefe74d0d),
  4018. 182: uint32(0xb586726d),
  4019. 183: uint32(0x35766572),
  4020. 184: uint32(0xdde2a1d3),
  4021. 185: uint32(0x5d12b6cc),
  4022. 186: uint32(0x077389ac),
  4023. 187: uint32(0x87839eb3),
  4024. 188: uint32(0xb3b1f76c),
  4025. 189: uint32(0x3341e073),
  4026. 190: uint32(0x6920df13),
  4027. 191: uint32(0xe9d0c80c),
  4028. 192: uint32(0xf4809ddf),
  4029. 193: uint32(0x74708ac0),
  4030. 194: uint32(0x2e11b5a0),
  4031. 195: uint32(0xaee1a2bf),
  4032. 196: uint32(0x9ad3cb60),
  4033. 197: uint32(0x1a23dc7f),
  4034. 198: uint32(0x4042e31f),
  4035. 199: uint32(0xc0b2f400),
  4036. 200: uint32(0x282630a1),
  4037. 201: uint32(0xa8d627be),
  4038. 202: uint32(0xf2b718de),
  4039. 203: uint32(0x72470fc1),
  4040. 204: uint32(0x4675661e),
  4041. 205: uint32(0xc6857101),
  4042. 206: uint32(0x9ce44e61),
  4043. 207: uint32(0x1c14597e),
  4044. 208: uint32(0x96bcc162),
  4045. 209: uint32(0x164cd67d),
  4046. 210: uint32(0x4c2de91d),
  4047. 211: uint32(0xccddfe02),
  4048. 212: uint32(0xf8ef97dd),
  4049. 213: uint32(0x781f80c2),
  4050. 214: uint32(0x227ebfa2),
  4051. 215: uint32(0xa28ea8bd),
  4052. 216: uint32(0x4a1a6c1c),
  4053. 217: uint32(0xcaea7b03),
  4054. 218: uint32(0x908b4463),
  4055. 219: uint32(0x107b537c),
  4056. 220: uint32(0x24493aa3),
  4057. 221: uint32(0xa4b92dbc),
  4058. 222: uint32(0xfed812dc),
  4059. 223: uint32(0x7e2805c3),
  4060. 224: uint32(0x30f824a5),
  4061. 225: uint32(0xb00833ba),
  4062. 226: uint32(0xea690cda),
  4063. 227: uint32(0x6a991bc5),
  4064. 228: uint32(0x5eab721a),
  4065. 229: uint32(0xde5b6505),
  4066. 230: uint32(0x843a5a65),
  4067. 231: uint32(0x04ca4d7a),
  4068. 232: uint32(0xec5e89db),
  4069. 233: uint32(0x6cae9ec4),
  4070. 234: uint32(0x36cfa1a4),
  4071. 235: uint32(0xb63fb6bb),
  4072. 236: uint32(0x820ddf64),
  4073. 237: uint32(0x02fdc87b),
  4074. 238: uint32(0x589cf71b),
  4075. 239: uint32(0xd86ce004),
  4076. 240: uint32(0x52c47818),
  4077. 241: uint32(0xd2346f07),
  4078. 242: uint32(0x88555067),
  4079. 243: uint32(0x08a54778),
  4080. 244: uint32(0x3c972ea7),
  4081. 245: uint32(0xbc6739b8),
  4082. 246: uint32(0xe60606d8),
  4083. 247: uint32(0x66f611c7),
  4084. 248: uint32(0x8e62d566),
  4085. 249: uint32(0x0e92c279),
  4086. 250: uint32(0x54f3fd19),
  4087. 251: uint32(0xd403ea06),
  4088. 252: uint32(0xe03183d9),
  4089. 253: uint32(0x60c194c6),
  4090. 254: uint32(0x3aa0aba6),
  4091. 255: uint32(0xba50bcb9),
  4092. },
  4093. 4: {
  4094. 1: uint32(0x9570d495),
  4095. 2: uint32(0xf190af6b),
  4096. 3: uint32(0x64e07bfe),
  4097. 4: uint32(0x38505897),
  4098. 5: uint32(0xad208c02),
  4099. 6: uint32(0xc9c0f7fc),
  4100. 7: uint32(0x5cb02369),
  4101. 8: uint32(0x70a0b12e),
  4102. 9: uint32(0xe5d065bb),
  4103. 10: uint32(0x81301e45),
  4104. 11: uint32(0x1440cad0),
  4105. 12: uint32(0x48f0e9b9),
  4106. 13: uint32(0xdd803d2c),
  4107. 14: uint32(0xb96046d2),
  4108. 15: uint32(0x2c109247),
  4109. 16: uint32(0xe141625c),
  4110. 17: uint32(0x7431b6c9),
  4111. 18: uint32(0x10d1cd37),
  4112. 19: uint32(0x85a119a2),
  4113. 20: uint32(0xd9113acb),
  4114. 21: uint32(0x4c61ee5e),
  4115. 22: uint32(0x288195a0),
  4116. 23: uint32(0xbdf14135),
  4117. 24: uint32(0x91e1d372),
  4118. 25: uint32(0x049107e7),
  4119. 26: uint32(0x60717c19),
  4120. 27: uint32(0xf501a88c),
  4121. 28: uint32(0xa9b18be5),
  4122. 29: uint32(0x3cc15f70),
  4123. 30: uint32(0x5821248e),
  4124. 31: uint32(0xcd51f01b),
  4125. 32: uint32(0x19f3c2f9),
  4126. 33: uint32(0x8c83166c),
  4127. 34: uint32(0xe8636d92),
  4128. 35: uint32(0x7d13b907),
  4129. 36: uint32(0x21a39a6e),
  4130. 37: uint32(0xb4d34efb),
  4131. 38: uint32(0xd0333505),
  4132. 39: uint32(0x4543e190),
  4133. 40: uint32(0x695373d7),
  4134. 41: uint32(0xfc23a742),
  4135. 42: uint32(0x98c3dcbc),
  4136. 43: uint32(0x0db30829),
  4137. 44: uint32(0x51032b40),
  4138. 45: uint32(0xc473ffd5),
  4139. 46: uint32(0xa093842b),
  4140. 47: uint32(0x35e350be),
  4141. 48: uint32(0xf8b2a0a5),
  4142. 49: uint32(0x6dc27430),
  4143. 50: uint32(0x09220fce),
  4144. 51: uint32(0x9c52db5b),
  4145. 52: uint32(0xc0e2f832),
  4146. 53: uint32(0x55922ca7),
  4147. 54: uint32(0x31725759),
  4148. 55: uint32(0xa40283cc),
  4149. 56: uint32(0x8812118b),
  4150. 57: uint32(0x1d62c51e),
  4151. 58: uint32(0x7982bee0),
  4152. 59: uint32(0xecf26a75),
  4153. 60: uint32(0xb042491c),
  4154. 61: uint32(0x25329d89),
  4155. 62: uint32(0x41d2e677),
  4156. 63: uint32(0xd4a232e2),
  4157. 64: uint32(0x33e785f2),
  4158. 65: uint32(0xa6975167),
  4159. 66: uint32(0xc2772a99),
  4160. 67: uint32(0x5707fe0c),
  4161. 68: uint32(0x0bb7dd65),
  4162. 69: uint32(0x9ec709f0),
  4163. 70: uint32(0xfa27720e),
  4164. 71: uint32(0x6f57a69b),
  4165. 72: uint32(0x434734dc),
  4166. 73: uint32(0xd637e049),
  4167. 74: uint32(0xb2d79bb7),
  4168. 75: uint32(0x27a74f22),
  4169. 76: uint32(0x7b176c4b),
  4170. 77: uint32(0xee67b8de),
  4171. 78: uint32(0x8a87c320),
  4172. 79: uint32(0x1ff717b5),
  4173. 80: uint32(0xd2a6e7ae),
  4174. 81: uint32(0x47d6333b),
  4175. 82: uint32(0x233648c5),
  4176. 83: uint32(0xb6469c50),
  4177. 84: uint32(0xeaf6bf39),
  4178. 85: uint32(0x7f866bac),
  4179. 86: uint32(0x1b661052),
  4180. 87: uint32(0x8e16c4c7),
  4181. 88: uint32(0xa2065680),
  4182. 89: uint32(0x37768215),
  4183. 90: uint32(0x5396f9eb),
  4184. 91: uint32(0xc6e62d7e),
  4185. 92: uint32(0x9a560e17),
  4186. 93: uint32(0x0f26da82),
  4187. 94: uint32(0x6bc6a17c),
  4188. 95: uint32(0xfeb675e9),
  4189. 96: uint32(0x2a14470b),
  4190. 97: uint32(0xbf64939e),
  4191. 98: uint32(0xdb84e860),
  4192. 99: uint32(0x4ef43cf5),
  4193. 100: uint32(0x12441f9c),
  4194. 101: uint32(0x8734cb09),
  4195. 102: uint32(0xe3d4b0f7),
  4196. 103: uint32(0x76a46462),
  4197. 104: uint32(0x5ab4f625),
  4198. 105: uint32(0xcfc422b0),
  4199. 106: uint32(0xab24594e),
  4200. 107: uint32(0x3e548ddb),
  4201. 108: uint32(0x62e4aeb2),
  4202. 109: uint32(0xf7947a27),
  4203. 110: uint32(0x937401d9),
  4204. 111: uint32(0x0604d54c),
  4205. 112: uint32(0xcb552557),
  4206. 113: uint32(0x5e25f1c2),
  4207. 114: uint32(0x3ac58a3c),
  4208. 115: uint32(0xafb55ea9),
  4209. 116: uint32(0xf3057dc0),
  4210. 117: uint32(0x6675a955),
  4211. 118: uint32(0x0295d2ab),
  4212. 119: uint32(0x97e5063e),
  4213. 120: uint32(0xbbf59479),
  4214. 121: uint32(0x2e8540ec),
  4215. 122: uint32(0x4a653b12),
  4216. 123: uint32(0xdf15ef87),
  4217. 124: uint32(0x83a5ccee),
  4218. 125: uint32(0x16d5187b),
  4219. 126: uint32(0x72356385),
  4220. 127: uint32(0xe745b710),
  4221. 128: uint32(0x67cf0be4),
  4222. 129: uint32(0xf2bfdf71),
  4223. 130: uint32(0x965fa48f),
  4224. 131: uint32(0x032f701a),
  4225. 132: uint32(0x5f9f5373),
  4226. 133: uint32(0xcaef87e6),
  4227. 134: uint32(0xae0ffc18),
  4228. 135: uint32(0x3b7f288d),
  4229. 136: uint32(0x176fbaca),
  4230. 137: uint32(0x821f6e5f),
  4231. 138: uint32(0xe6ff15a1),
  4232. 139: uint32(0x738fc134),
  4233. 140: uint32(0x2f3fe25d),
  4234. 141: uint32(0xba4f36c8),
  4235. 142: uint32(0xdeaf4d36),
  4236. 143: uint32(0x4bdf99a3),
  4237. 144: uint32(0x868e69b8),
  4238. 145: uint32(0x13febd2d),
  4239. 146: uint32(0x771ec6d3),
  4240. 147: uint32(0xe26e1246),
  4241. 148: uint32(0xbede312f),
  4242. 149: uint32(0x2baee5ba),
  4243. 150: uint32(0x4f4e9e44),
  4244. 151: uint32(0xda3e4ad1),
  4245. 152: uint32(0xf62ed896),
  4246. 153: uint32(0x635e0c03),
  4247. 154: uint32(0x07be77fd),
  4248. 155: uint32(0x92cea368),
  4249. 156: uint32(0xce7e8001),
  4250. 157: uint32(0x5b0e5494),
  4251. 158: uint32(0x3fee2f6a),
  4252. 159: uint32(0xaa9efbff),
  4253. 160: uint32(0x7e3cc91d),
  4254. 161: uint32(0xeb4c1d88),
  4255. 162: uint32(0x8fac6676),
  4256. 163: uint32(0x1adcb2e3),
  4257. 164: uint32(0x466c918a),
  4258. 165: uint32(0xd31c451f),
  4259. 166: uint32(0xb7fc3ee1),
  4260. 167: uint32(0x228cea74),
  4261. 168: uint32(0x0e9c7833),
  4262. 169: uint32(0x9becaca6),
  4263. 170: uint32(0xff0cd758),
  4264. 171: uint32(0x6a7c03cd),
  4265. 172: uint32(0x36cc20a4),
  4266. 173: uint32(0xa3bcf431),
  4267. 174: uint32(0xc75c8fcf),
  4268. 175: uint32(0x522c5b5a),
  4269. 176: uint32(0x9f7dab41),
  4270. 177: uint32(0x0a0d7fd4),
  4271. 178: uint32(0x6eed042a),
  4272. 179: uint32(0xfb9dd0bf),
  4273. 180: uint32(0xa72df3d6),
  4274. 181: uint32(0x325d2743),
  4275. 182: uint32(0x56bd5cbd),
  4276. 183: uint32(0xc3cd8828),
  4277. 184: uint32(0xefdd1a6f),
  4278. 185: uint32(0x7aadcefa),
  4279. 186: uint32(0x1e4db504),
  4280. 187: uint32(0x8b3d6191),
  4281. 188: uint32(0xd78d42f8),
  4282. 189: uint32(0x42fd966d),
  4283. 190: uint32(0x261ded93),
  4284. 191: uint32(0xb36d3906),
  4285. 192: uint32(0x54288e16),
  4286. 193: uint32(0xc1585a83),
  4287. 194: uint32(0xa5b8217d),
  4288. 195: uint32(0x30c8f5e8),
  4289. 196: uint32(0x6c78d681),
  4290. 197: uint32(0xf9080214),
  4291. 198: uint32(0x9de879ea),
  4292. 199: uint32(0x0898ad7f),
  4293. 200: uint32(0x24883f38),
  4294. 201: uint32(0xb1f8ebad),
  4295. 202: uint32(0xd5189053),
  4296. 203: uint32(0x406844c6),
  4297. 204: uint32(0x1cd867af),
  4298. 205: uint32(0x89a8b33a),
  4299. 206: uint32(0xed48c8c4),
  4300. 207: uint32(0x78381c51),
  4301. 208: uint32(0xb569ec4a),
  4302. 209: uint32(0x201938df),
  4303. 210: uint32(0x44f94321),
  4304. 211: uint32(0xd18997b4),
  4305. 212: uint32(0x8d39b4dd),
  4306. 213: uint32(0x18496048),
  4307. 214: uint32(0x7ca91bb6),
  4308. 215: uint32(0xe9d9cf23),
  4309. 216: uint32(0xc5c95d64),
  4310. 217: uint32(0x50b989f1),
  4311. 218: uint32(0x3459f20f),
  4312. 219: uint32(0xa129269a),
  4313. 220: uint32(0xfd9905f3),
  4314. 221: uint32(0x68e9d166),
  4315. 222: uint32(0x0c09aa98),
  4316. 223: uint32(0x99797e0d),
  4317. 224: uint32(0x4ddb4cef),
  4318. 225: uint32(0xd8ab987a),
  4319. 226: uint32(0xbc4be384),
  4320. 227: uint32(0x293b3711),
  4321. 228: uint32(0x758b1478),
  4322. 229: uint32(0xe0fbc0ed),
  4323. 230: uint32(0x841bbb13),
  4324. 231: uint32(0x116b6f86),
  4325. 232: uint32(0x3d7bfdc1),
  4326. 233: uint32(0xa80b2954),
  4327. 234: uint32(0xcceb52aa),
  4328. 235: uint32(0x599b863f),
  4329. 236: uint32(0x052ba556),
  4330. 237: uint32(0x905b71c3),
  4331. 238: uint32(0xf4bb0a3d),
  4332. 239: uint32(0x61cbdea8),
  4333. 240: uint32(0xac9a2eb3),
  4334. 241: uint32(0x39eafa26),
  4335. 242: uint32(0x5d0a81d8),
  4336. 243: uint32(0xc87a554d),
  4337. 244: uint32(0x94ca7624),
  4338. 245: uint32(0x01baa2b1),
  4339. 246: uint32(0x655ad94f),
  4340. 247: uint32(0xf02a0dda),
  4341. 248: uint32(0xdc3a9f9d),
  4342. 249: uint32(0x494a4b08),
  4343. 250: uint32(0x2daa30f6),
  4344. 251: uint32(0xb8dae463),
  4345. 252: uint32(0xe46ac70a),
  4346. 253: uint32(0x711a139f),
  4347. 254: uint32(0x15fa6861),
  4348. 255: uint32(0x808abcf4),
  4349. },
  4350. 5: {
  4351. 1: uint32(0xcf9e17c8),
  4352. 2: uint32(0x444d29d1),
  4353. 3: uint32(0x8bd33e19),
  4354. 4: uint32(0x889a53a2),
  4355. 5: uint32(0x4704446a),
  4356. 6: uint32(0xccd77a73),
  4357. 7: uint32(0x03496dbb),
  4358. 8: uint32(0xca45a105),
  4359. 9: uint32(0x05dbb6cd),
  4360. 10: uint32(0x8e0888d4),
  4361. 11: uint32(0x41969f1c),
  4362. 12: uint32(0x42dff2a7),
  4363. 13: uint32(0x8d41e56f),
  4364. 14: uint32(0x0692db76),
  4365. 15: uint32(0xc90cccbe),
  4366. 16: uint32(0x4ffa444b),
  4367. 17: uint32(0x80645383),
  4368. 18: uint32(0x0bb76d9a),
  4369. 19: uint32(0xc4297a52),
  4370. 20: uint32(0xc76017e9),
  4371. 21: uint32(0x08fe0021),
  4372. 22: uint32(0x832d3e38),
  4373. 23: uint32(0x4cb329f0),
  4374. 24: uint32(0x85bfe54e),
  4375. 25: uint32(0x4a21f286),
  4376. 26: uint32(0xc1f2cc9f),
  4377. 27: uint32(0x0e6cdb57),
  4378. 28: uint32(0x0d25b6ec),
  4379. 29: uint32(0xc2bba124),
  4380. 30: uint32(0x49689f3d),
  4381. 31: uint32(0x86f688f5),
  4382. 32: uint32(0x9ff48896),
  4383. 33: uint32(0x506a9f5e),
  4384. 34: uint32(0xdbb9a147),
  4385. 35: uint32(0x1427b68f),
  4386. 36: uint32(0x176edb34),
  4387. 37: uint32(0xd8f0ccfc),
  4388. 38: uint32(0x5323f2e5),
  4389. 39: uint32(0x9cbde52d),
  4390. 40: uint32(0x55b12993),
  4391. 41: uint32(0x9a2f3e5b),
  4392. 42: uint32(0x11fc0042),
  4393. 43: uint32(0xde62178a),
  4394. 44: uint32(0xdd2b7a31),
  4395. 45: uint32(0x12b56df9),
  4396. 46: uint32(0x996653e0),
  4397. 47: uint32(0x56f84428),
  4398. 48: uint32(0xd00eccdd),
  4399. 49: uint32(0x1f90db15),
  4400. 50: uint32(0x9443e50c),
  4401. 51: uint32(0x5bddf2c4),
  4402. 52: uint32(0x58949f7f),
  4403. 53: uint32(0x970a88b7),
  4404. 54: uint32(0x1cd9b6ae),
  4405. 55: uint32(0xd347a166),
  4406. 56: uint32(0x1a4b6dd8),
  4407. 57: uint32(0xd5d57a10),
  4408. 58: uint32(0x5e064409),
  4409. 59: uint32(0x919853c1),
  4410. 60: uint32(0x92d13e7a),
  4411. 61: uint32(0x5d4f29b2),
  4412. 62: uint32(0xd69c17ab),
  4413. 63: uint32(0x19020063),
  4414. 64: uint32(0xe498176d),
  4415. 65: uint32(0x2b0600a5),
  4416. 66: uint32(0xa0d53ebc),
  4417. 67: uint32(0x6f4b2974),
  4418. 68: uint32(0x6c0244cf),
  4419. 69: uint32(0xa39c5307),
  4420. 70: uint32(0x284f6d1e),
  4421. 71: uint32(0xe7d17ad6),
  4422. 72: uint32(0x2eddb668),
  4423. 73: uint32(0xe143a1a0),
  4424. 74: uint32(0x6a909fb9),
  4425. 75: uint32(0xa50e8871),
  4426. 76: uint32(0xa647e5ca),
  4427. 77: uint32(0x69d9f202),
  4428. 78: uint32(0xe20acc1b),
  4429. 79: uint32(0x2d94dbd3),
  4430. 80: uint32(0xab625326),
  4431. 81: uint32(0x64fc44ee),
  4432. 82: uint32(0xef2f7af7),
  4433. 83: uint32(0x20b16d3f),
  4434. 84: uint32(0x23f80084),
  4435. 85: uint32(0xec66174c),
  4436. 86: uint32(0x67b52955),
  4437. 87: uint32(0xa82b3e9d),
  4438. 88: uint32(0x6127f223),
  4439. 89: uint32(0xaeb9e5eb),
  4440. 90: uint32(0x256adbf2),
  4441. 91: uint32(0xeaf4cc3a),
  4442. 92: uint32(0xe9bda181),
  4443. 93: uint32(0x2623b649),
  4444. 94: uint32(0xadf08850),
  4445. 95: uint32(0x626e9f98),
  4446. 96: uint32(0x7b6c9ffb),
  4447. 97: uint32(0xb4f28833),
  4448. 98: uint32(0x3f21b62a),
  4449. 99: uint32(0xf0bfa1e2),
  4450. 100: uint32(0xf3f6cc59),
  4451. 101: uint32(0x3c68db91),
  4452. 102: uint32(0xb7bbe588),
  4453. 103: uint32(0x7825f240),
  4454. 104: uint32(0xb1293efe),
  4455. 105: uint32(0x7eb72936),
  4456. 106: uint32(0xf564172f),
  4457. 107: uint32(0x3afa00e7),
  4458. 108: uint32(0x39b36d5c),
  4459. 109: uint32(0xf62d7a94),
  4460. 110: uint32(0x7dfe448d),
  4461. 111: uint32(0xb2605345),
  4462. 112: uint32(0x3496dbb0),
  4463. 113: uint32(0xfb08cc78),
  4464. 114: uint32(0x70dbf261),
  4465. 115: uint32(0xbf45e5a9),
  4466. 116: uint32(0xbc0c8812),
  4467. 117: uint32(0x73929fda),
  4468. 118: uint32(0xf841a1c3),
  4469. 119: uint32(0x37dfb60b),
  4470. 120: uint32(0xfed37ab5),
  4471. 121: uint32(0x314d6d7d),
  4472. 122: uint32(0xba9e5364),
  4473. 123: uint32(0x750044ac),
  4474. 124: uint32(0x76492917),
  4475. 125: uint32(0xb9d73edf),
  4476. 126: uint32(0x320400c6),
  4477. 127: uint32(0xfd9a170e),
  4478. 128: uint32(0x1241289b),
  4479. 129: uint32(0xdddf3f53),
  4480. 130: uint32(0x560c014a),
  4481. 131: uint32(0x99921682),
  4482. 132: uint32(0x9adb7b39),
  4483. 133: uint32(0x55456cf1),
  4484. 134: uint32(0xde9652e8),
  4485. 135: uint32(0x11084520),
  4486. 136: uint32(0xd804899e),
  4487. 137: uint32(0x179a9e56),
  4488. 138: uint32(0x9c49a04f),
  4489. 139: uint32(0x53d7b787),
  4490. 140: uint32(0x509eda3c),
  4491. 141: uint32(0x9f00cdf4),
  4492. 142: uint32(0x14d3f3ed),
  4493. 143: uint32(0xdb4de425),
  4494. 144: uint32(0x5dbb6cd0),
  4495. 145: uint32(0x92257b18),
  4496. 146: uint32(0x19f64501),
  4497. 147: uint32(0xd66852c9),
  4498. 148: uint32(0xd5213f72),
  4499. 149: uint32(0x1abf28ba),
  4500. 150: uint32(0x916c16a3),
  4501. 151: uint32(0x5ef2016b),
  4502. 152: uint32(0x97fecdd5),
  4503. 153: uint32(0x5860da1d),
  4504. 154: uint32(0xd3b3e404),
  4505. 155: uint32(0x1c2df3cc),
  4506. 156: uint32(0x1f649e77),
  4507. 157: uint32(0xd0fa89bf),
  4508. 158: uint32(0x5b29b7a6),
  4509. 159: uint32(0x94b7a06e),
  4510. 160: uint32(0x8db5a00d),
  4511. 161: uint32(0x422bb7c5),
  4512. 162: uint32(0xc9f889dc),
  4513. 163: uint32(0x06669e14),
  4514. 164: uint32(0x052ff3af),
  4515. 165: uint32(0xcab1e467),
  4516. 166: uint32(0x4162da7e),
  4517. 167: uint32(0x8efccdb6),
  4518. 168: uint32(0x47f00108),
  4519. 169: uint32(0x886e16c0),
  4520. 170: uint32(0x03bd28d9),
  4521. 171: uint32(0xcc233f11),
  4522. 172: uint32(0xcf6a52aa),
  4523. 173: uint32(0x00f44562),
  4524. 174: uint32(0x8b277b7b),
  4525. 175: uint32(0x44b96cb3),
  4526. 176: uint32(0xc24fe446),
  4527. 177: uint32(0x0dd1f38e),
  4528. 178: uint32(0x8602cd97),
  4529. 179: uint32(0x499cda5f),
  4530. 180: uint32(0x4ad5b7e4),
  4531. 181: uint32(0x854ba02c),
  4532. 182: uint32(0x0e989e35),
  4533. 183: uint32(0xc10689fd),
  4534. 184: uint32(0x080a4543),
  4535. 185: uint32(0xc794528b),
  4536. 186: uint32(0x4c476c92),
  4537. 187: uint32(0x83d97b5a),
  4538. 188: uint32(0x809016e1),
  4539. 189: uint32(0x4f0e0129),
  4540. 190: uint32(0xc4dd3f30),
  4541. 191: uint32(0x0b4328f8),
  4542. 192: uint32(0xf6d93ff6),
  4543. 193: uint32(0x3947283e),
  4544. 194: uint32(0xb2941627),
  4545. 195: uint32(0x7d0a01ef),
  4546. 196: uint32(0x7e436c54),
  4547. 197: uint32(0xb1dd7b9c),
  4548. 198: uint32(0x3a0e4585),
  4549. 199: uint32(0xf590524d),
  4550. 200: uint32(0x3c9c9ef3),
  4551. 201: uint32(0xf302893b),
  4552. 202: uint32(0x78d1b722),
  4553. 203: uint32(0xb74fa0ea),
  4554. 204: uint32(0xb406cd51),
  4555. 205: uint32(0x7b98da99),
  4556. 206: uint32(0xf04be480),
  4557. 207: uint32(0x3fd5f348),
  4558. 208: uint32(0xb9237bbd),
  4559. 209: uint32(0x76bd6c75),
  4560. 210: uint32(0xfd6e526c),
  4561. 211: uint32(0x32f045a4),
  4562. 212: uint32(0x31b9281f),
  4563. 213: uint32(0xfe273fd7),
  4564. 214: uint32(0x75f401ce),
  4565. 215: uint32(0xba6a1606),
  4566. 216: uint32(0x7366dab8),
  4567. 217: uint32(0xbcf8cd70),
  4568. 218: uint32(0x372bf369),
  4569. 219: uint32(0xf8b5e4a1),
  4570. 220: uint32(0xfbfc891a),
  4571. 221: uint32(0x34629ed2),
  4572. 222: uint32(0xbfb1a0cb),
  4573. 223: uint32(0x702fb703),
  4574. 224: uint32(0x692db760),
  4575. 225: uint32(0xa6b3a0a8),
  4576. 226: uint32(0x2d609eb1),
  4577. 227: uint32(0xe2fe8979),
  4578. 228: uint32(0xe1b7e4c2),
  4579. 229: uint32(0x2e29f30a),
  4580. 230: uint32(0xa5facd13),
  4581. 231: uint32(0x6a64dadb),
  4582. 232: uint32(0xa3681665),
  4583. 233: uint32(0x6cf601ad),
  4584. 234: uint32(0xe7253fb4),
  4585. 235: uint32(0x28bb287c),
  4586. 236: uint32(0x2bf245c7),
  4587. 237: uint32(0xe46c520f),
  4588. 238: uint32(0x6fbf6c16),
  4589. 239: uint32(0xa0217bde),
  4590. 240: uint32(0x26d7f32b),
  4591. 241: uint32(0xe949e4e3),
  4592. 242: uint32(0x629adafa),
  4593. 243: uint32(0xad04cd32),
  4594. 244: uint32(0xae4da089),
  4595. 245: uint32(0x61d3b741),
  4596. 246: uint32(0xea008958),
  4597. 247: uint32(0x259e9e90),
  4598. 248: uint32(0xec92522e),
  4599. 249: uint32(0x230c45e6),
  4600. 250: uint32(0xa8df7bff),
  4601. 251: uint32(0x67416c37),
  4602. 252: uint32(0x6408018c),
  4603. 253: uint32(0xab961644),
  4604. 254: uint32(0x2045285d),
  4605. 255: uint32(0xefdb3f95),
  4606. },
  4607. 6: {
  4608. 1: uint32(0x24825136),
  4609. 2: uint32(0x4904a26c),
  4610. 3: uint32(0x6d86f35a),
  4611. 4: uint32(0x920944d8),
  4612. 5: uint32(0xb68b15ee),
  4613. 6: uint32(0xdb0de6b4),
  4614. 7: uint32(0xff8fb782),
  4615. 8: uint32(0xff638ff1),
  4616. 9: uint32(0xdbe1dec7),
  4617. 10: uint32(0xb6672d9d),
  4618. 11: uint32(0x92e57cab),
  4619. 12: uint32(0x6d6acb29),
  4620. 13: uint32(0x49e89a1f),
  4621. 14: uint32(0x246e6945),
  4622. 15: uint32(0x00ec3873),
  4623. 16: uint32(0x25b619a3),
  4624. 17: uint32(0x01344895),
  4625. 18: uint32(0x6cb2bbcf),
  4626. 19: uint32(0x4830eaf9),
  4627. 20: uint32(0xb7bf5d7b),
  4628. 21: uint32(0x933d0c4d),
  4629. 22: uint32(0xfebbff17),
  4630. 23: uint32(0xda39ae21),
  4631. 24: uint32(0xdad59652),
  4632. 25: uint32(0xfe57c764),
  4633. 26: uint32(0x93d1343e),
  4634. 27: uint32(0xb7536508),
  4635. 28: uint32(0x48dcd28a),
  4636. 29: uint32(0x6c5e83bc),
  4637. 30: uint32(0x01d870e6),
  4638. 31: uint32(0x255a21d0),
  4639. 32: uint32(0x4b6c3346),
  4640. 33: uint32(0x6fee6270),
  4641. 34: uint32(0x0268912a),
  4642. 35: uint32(0x26eac01c),
  4643. 36: uint32(0xd965779e),
  4644. 37: uint32(0xfde726a8),
  4645. 38: uint32(0x9061d5f2),
  4646. 39: uint32(0xb4e384c4),
  4647. 40: uint32(0xb40fbcb7),
  4648. 41: uint32(0x908ded81),
  4649. 42: uint32(0xfd0b1edb),
  4650. 43: uint32(0xd9894fed),
  4651. 44: uint32(0x2606f86f),
  4652. 45: uint32(0x0284a959),
  4653. 46: uint32(0x6f025a03),
  4654. 47: uint32(0x4b800b35),
  4655. 48: uint32(0x6eda2ae5),
  4656. 49: uint32(0x4a587bd3),
  4657. 50: uint32(0x27de8889),
  4658. 51: uint32(0x035cd9bf),
  4659. 52: uint32(0xfcd36e3d),
  4660. 53: uint32(0xd8513f0b),
  4661. 54: uint32(0xb5d7cc51),
  4662. 55: uint32(0x91559d67),
  4663. 56: uint32(0x91b9a514),
  4664. 57: uint32(0xb53bf422),
  4665. 58: uint32(0xd8bd0778),
  4666. 59: uint32(0xfc3f564e),
  4667. 60: uint32(0x03b0e1cc),
  4668. 61: uint32(0x2732b0fa),
  4669. 62: uint32(0x4ab443a0),
  4670. 63: uint32(0x6e361296),
  4671. 64: uint32(0x96d8668c),
  4672. 65: uint32(0xb25a37ba),
  4673. 66: uint32(0xdfdcc4e0),
  4674. 67: uint32(0xfb5e95d6),
  4675. 68: uint32(0x04d12254),
  4676. 69: uint32(0x20537362),
  4677. 70: uint32(0x4dd58038),
  4678. 71: uint32(0x6957d10e),
  4679. 72: uint32(0x69bbe97d),
  4680. 73: uint32(0x4d39b84b),
  4681. 74: uint32(0x20bf4b11),
  4682. 75: uint32(0x043d1a27),
  4683. 76: uint32(0xfbb2ada5),
  4684. 77: uint32(0xdf30fc93),
  4685. 78: uint32(0xb2b60fc9),
  4686. 79: uint32(0x96345eff),
  4687. 80: uint32(0xb36e7f2f),
  4688. 81: uint32(0x97ec2e19),
  4689. 82: uint32(0xfa6add43),
  4690. 83: uint32(0xdee88c75),
  4691. 84: uint32(0x21673bf7),
  4692. 85: uint32(0x05e56ac1),
  4693. 86: uint32(0x6863999b),
  4694. 87: uint32(0x4ce1c8ad),
  4695. 88: uint32(0x4c0df0de),
  4696. 89: uint32(0x688fa1e8),
  4697. 90: uint32(0x050952b2),
  4698. 91: uint32(0x218b0384),
  4699. 92: uint32(0xde04b406),
  4700. 93: uint32(0xfa86e530),
  4701. 94: uint32(0x9700166a),
  4702. 95: uint32(0xb382475c),
  4703. 96: uint32(0xddb455ca),
  4704. 97: uint32(0xf93604fc),
  4705. 98: uint32(0x94b0f7a6),
  4706. 99: uint32(0xb032a690),
  4707. 100: uint32(0x4fbd1112),
  4708. 101: uint32(0x6b3f4024),
  4709. 102: uint32(0x06b9b37e),
  4710. 103: uint32(0x223be248),
  4711. 104: uint32(0x22d7da3b),
  4712. 105: uint32(0x06558b0d),
  4713. 106: uint32(0x6bd37857),
  4714. 107: uint32(0x4f512961),
  4715. 108: uint32(0xb0de9ee3),
  4716. 109: uint32(0x945ccfd5),
  4717. 110: uint32(0xf9da3c8f),
  4718. 111: uint32(0xdd586db9),
  4719. 112: uint32(0xf8024c69),
  4720. 113: uint32(0xdc801d5f),
  4721. 114: uint32(0xb106ee05),
  4722. 115: uint32(0x9584bf33),
  4723. 116: uint32(0x6a0b08b1),
  4724. 117: uint32(0x4e895987),
  4725. 118: uint32(0x230faadd),
  4726. 119: uint32(0x078dfbeb),
  4727. 120: uint32(0x0761c398),
  4728. 121: uint32(0x23e392ae),
  4729. 122: uint32(0x4e6561f4),
  4730. 123: uint32(0x6ae730c2),
  4731. 124: uint32(0x95688740),
  4732. 125: uint32(0xb1ead676),
  4733. 126: uint32(0xdc6c252c),
  4734. 127: uint32(0xf8ee741a),
  4735. 128: uint32(0xf6c1cb59),
  4736. 129: uint32(0xd2439a6f),
  4737. 130: uint32(0xbfc56935),
  4738. 131: uint32(0x9b473803),
  4739. 132: uint32(0x64c88f81),
  4740. 133: uint32(0x404adeb7),
  4741. 134: uint32(0x2dcc2ded),
  4742. 135: uint32(0x094e7cdb),
  4743. 136: uint32(0x09a244a8),
  4744. 137: uint32(0x2d20159e),
  4745. 138: uint32(0x40a6e6c4),
  4746. 139: uint32(0x6424b7f2),
  4747. 140: uint32(0x9bab0070),
  4748. 141: uint32(0xbf295146),
  4749. 142: uint32(0xd2afa21c),
  4750. 143: uint32(0xf62df32a),
  4751. 144: uint32(0xd377d2fa),
  4752. 145: uint32(0xf7f583cc),
  4753. 146: uint32(0x9a737096),
  4754. 147: uint32(0xbef121a0),
  4755. 148: uint32(0x417e9622),
  4756. 149: uint32(0x65fcc714),
  4757. 150: uint32(0x087a344e),
  4758. 151: uint32(0x2cf86578),
  4759. 152: uint32(0x2c145d0b),
  4760. 153: uint32(0x08960c3d),
  4761. 154: uint32(0x6510ff67),
  4762. 155: uint32(0x4192ae51),
  4763. 156: uint32(0xbe1d19d3),
  4764. 157: uint32(0x9a9f48e5),
  4765. 158: uint32(0xf719bbbf),
  4766. 159: uint32(0xd39bea89),
  4767. 160: uint32(0xbdadf81f),
  4768. 161: uint32(0x992fa929),
  4769. 162: uint32(0xf4a95a73),
  4770. 163: uint32(0xd02b0b45),
  4771. 164: uint32(0x2fa4bcc7),
  4772. 165: uint32(0x0b26edf1),
  4773. 166: uint32(0x66a01eab),
  4774. 167: uint32(0x42224f9d),
  4775. 168: uint32(0x42ce77ee),
  4776. 169: uint32(0x664c26d8),
  4777. 170: uint32(0x0bcad582),
  4778. 171: uint32(0x2f4884b4),
  4779. 172: uint32(0xd0c73336),
  4780. 173: uint32(0xf4456200),
  4781. 174: uint32(0x99c3915a),
  4782. 175: uint32(0xbd41c06c),
  4783. 176: uint32(0x981be1bc),
  4784. 177: uint32(0xbc99b08a),
  4785. 178: uint32(0xd11f43d0),
  4786. 179: uint32(0xf59d12e6),
  4787. 180: uint32(0x0a12a564),
  4788. 181: uint32(0x2e90f452),
  4789. 182: uint32(0x43160708),
  4790. 183: uint32(0x6794563e),
  4791. 184: uint32(0x67786e4d),
  4792. 185: uint32(0x43fa3f7b),
  4793. 186: uint32(0x2e7ccc21),
  4794. 187: uint32(0x0afe9d17),
  4795. 188: uint32(0xf5712a95),
  4796. 189: uint32(0xd1f37ba3),
  4797. 190: uint32(0xbc7588f9),
  4798. 191: uint32(0x98f7d9cf),
  4799. 192: uint32(0x6019add5),
  4800. 193: uint32(0x449bfce3),
  4801. 194: uint32(0x291d0fb9),
  4802. 195: uint32(0x0d9f5e8f),
  4803. 196: uint32(0xf210e90d),
  4804. 197: uint32(0xd692b83b),
  4805. 198: uint32(0xbb144b61),
  4806. 199: uint32(0x9f961a57),
  4807. 200: uint32(0x9f7a2224),
  4808. 201: uint32(0xbbf87312),
  4809. 202: uint32(0xd67e8048),
  4810. 203: uint32(0xf2fcd17e),
  4811. 204: uint32(0x0d7366fc),
  4812. 205: uint32(0x29f137ca),
  4813. 206: uint32(0x4477c490),
  4814. 207: uint32(0x60f595a6),
  4815. 208: uint32(0x45afb476),
  4816. 209: uint32(0x612de540),
  4817. 210: uint32(0x0cab161a),
  4818. 211: uint32(0x2829472c),
  4819. 212: uint32(0xd7a6f0ae),
  4820. 213: uint32(0xf324a198),
  4821. 214: uint32(0x9ea252c2),
  4822. 215: uint32(0xba2003f4),
  4823. 216: uint32(0xbacc3b87),
  4824. 217: uint32(0x9e4e6ab1),
  4825. 218: uint32(0xf3c899eb),
  4826. 219: uint32(0xd74ac8dd),
  4827. 220: uint32(0x28c57f5f),
  4828. 221: uint32(0x0c472e69),
  4829. 222: uint32(0x61c1dd33),
  4830. 223: uint32(0x45438c05),
  4831. 224: uint32(0x2b759e93),
  4832. 225: uint32(0x0ff7cfa5),
  4833. 226: uint32(0x62713cff),
  4834. 227: uint32(0x46f36dc9),
  4835. 228: uint32(0xb97cda4b),
  4836. 229: uint32(0x9dfe8b7d),
  4837. 230: uint32(0xf0787827),
  4838. 231: uint32(0xd4fa2911),
  4839. 232: uint32(0xd4161162),
  4840. 233: uint32(0xf0944054),
  4841. 234: uint32(0x9d12b30e),
  4842. 235: uint32(0xb990e238),
  4843. 236: uint32(0x461f55ba),
  4844. 237: uint32(0x629d048c),
  4845. 238: uint32(0x0f1bf7d6),
  4846. 239: uint32(0x2b99a6e0),
  4847. 240: uint32(0x0ec38730),
  4848. 241: uint32(0x2a41d606),
  4849. 242: uint32(0x47c7255c),
  4850. 243: uint32(0x6345746a),
  4851. 244: uint32(0x9ccac3e8),
  4852. 245: uint32(0xb84892de),
  4853. 246: uint32(0xd5ce6184),
  4854. 247: uint32(0xf14c30b2),
  4855. 248: uint32(0xf1a008c1),
  4856. 249: uint32(0xd52259f7),
  4857. 250: uint32(0xb8a4aaad),
  4858. 251: uint32(0x9c26fb9b),
  4859. 252: uint32(0x63a94c19),
  4860. 253: uint32(0x472b1d2f),
  4861. 254: uint32(0x2aadee75),
  4862. 255: uint32(0x0e2fbf43),
  4863. },
  4864. 7: {
  4865. 1: uint32(0x36f290f3),
  4866. 2: uint32(0x6de521e6),
  4867. 3: uint32(0x5b17b115),
  4868. 4: uint32(0xdbca43cc),
  4869. 5: uint32(0xed38d33f),
  4870. 6: uint32(0xb62f622a),
  4871. 7: uint32(0x80ddf2d9),
  4872. 8: uint32(0x6ce581d9),
  4873. 9: uint32(0x5a17112a),
  4874. 10: uint32(0x0100a03f),
  4875. 11: uint32(0x37f230cc),
  4876. 12: uint32(0xb72fc215),
  4877. 13: uint32(0x81dd52e6),
  4878. 14: uint32(0xdacae3f3),
  4879. 15: uint32(0xec387300),
  4880. 16: uint32(0xd9cb03b2),
  4881. 17: uint32(0xef399341),
  4882. 18: uint32(0xb42e2254),
  4883. 19: uint32(0x82dcb2a7),
  4884. 20: uint32(0x0201407e),
  4885. 21: uint32(0x34f3d08d),
  4886. 22: uint32(0x6fe46198),
  4887. 23: uint32(0x5916f16b),
  4888. 24: uint32(0xb52e826b),
  4889. 25: uint32(0x83dc1298),
  4890. 26: uint32(0xd8cba38d),
  4891. 27: uint32(0xee39337e),
  4892. 28: uint32(0x6ee4c1a7),
  4893. 29: uint32(0x58165154),
  4894. 30: uint32(0x0301e041),
  4895. 31: uint32(0x35f370b2),
  4896. 32: uint32(0x68e70125),
  4897. 33: uint32(0x5e1591d6),
  4898. 34: uint32(0x050220c3),
  4899. 35: uint32(0x33f0b030),
  4900. 36: uint32(0xb32d42e9),
  4901. 37: uint32(0x85dfd21a),
  4902. 38: uint32(0xdec8630f),
  4903. 39: uint32(0xe83af3fc),
  4904. 40: uint32(0x040280fc),
  4905. 41: uint32(0x32f0100f),
  4906. 42: uint32(0x69e7a11a),
  4907. 43: uint32(0x5f1531e9),
  4908. 44: uint32(0xdfc8c330),
  4909. 45: uint32(0xe93a53c3),
  4910. 46: uint32(0xb22de2d6),
  4911. 47: uint32(0x84df7225),
  4912. 48: uint32(0xb12c0297),
  4913. 49: uint32(0x87de9264),
  4914. 50: uint32(0xdcc92371),
  4915. 51: uint32(0xea3bb382),
  4916. 52: uint32(0x6ae6415b),
  4917. 53: uint32(0x5c14d1a8),
  4918. 54: uint32(0x070360bd),
  4919. 55: uint32(0x31f1f04e),
  4920. 56: uint32(0xddc9834e),
  4921. 57: uint32(0xeb3b13bd),
  4922. 58: uint32(0xb02ca2a8),
  4923. 59: uint32(0x86de325b),
  4924. 60: uint32(0x0603c082),
  4925. 61: uint32(0x30f15071),
  4926. 62: uint32(0x6be6e164),
  4927. 63: uint32(0x5d147197),
  4928. 64: uint32(0xd1ce024a),
  4929. 65: uint32(0xe73c92b9),
  4930. 66: uint32(0xbc2b23ac),
  4931. 67: uint32(0x8ad9b35f),
  4932. 68: uint32(0x0a044186),
  4933. 69: uint32(0x3cf6d175),
  4934. 70: uint32(0x67e16060),
  4935. 71: uint32(0x5113f093),
  4936. 72: uint32(0xbd2b8393),
  4937. 73: uint32(0x8bd91360),
  4938. 74: uint32(0xd0cea275),
  4939. 75: uint32(0xe63c3286),
  4940. 76: uint32(0x66e1c05f),
  4941. 77: uint32(0x501350ac),
  4942. 78: uint32(0x0b04e1b9),
  4943. 79: uint32(0x3df6714a),
  4944. 80: uint32(0x080501f8),
  4945. 81: uint32(0x3ef7910b),
  4946. 82: uint32(0x65e0201e),
  4947. 83: uint32(0x5312b0ed),
  4948. 84: uint32(0xd3cf4234),
  4949. 85: uint32(0xe53dd2c7),
  4950. 86: uint32(0xbe2a63d2),
  4951. 87: uint32(0x88d8f321),
  4952. 88: uint32(0x64e08021),
  4953. 89: uint32(0x521210d2),
  4954. 90: uint32(0x0905a1c7),
  4955. 91: uint32(0x3ff73134),
  4956. 92: uint32(0xbf2ac3ed),
  4957. 93: uint32(0x89d8531e),
  4958. 94: uint32(0xd2cfe20b),
  4959. 95: uint32(0xe43d72f8),
  4960. 96: uint32(0xb929036f),
  4961. 97: uint32(0x8fdb939c),
  4962. 98: uint32(0xd4cc2289),
  4963. 99: uint32(0xe23eb27a),
  4964. 100: uint32(0x62e340a3),
  4965. 101: uint32(0x5411d050),
  4966. 102: uint32(0x0f066145),
  4967. 103: uint32(0x39f4f1b6),
  4968. 104: uint32(0xd5cc82b6),
  4969. 105: uint32(0xe33e1245),
  4970. 106: uint32(0xb829a350),
  4971. 107: uint32(0x8edb33a3),
  4972. 108: uint32(0x0e06c17a),
  4973. 109: uint32(0x38f45189),
  4974. 110: uint32(0x63e3e09c),
  4975. 111: uint32(0x5511706f),
  4976. 112: uint32(0x60e200dd),
  4977. 113: uint32(0x5610902e),
  4978. 114: uint32(0x0d07213b),
  4979. 115: uint32(0x3bf5b1c8),
  4980. 116: uint32(0xbb284311),
  4981. 117: uint32(0x8ddad3e2),
  4982. 118: uint32(0xd6cd62f7),
  4983. 119: uint32(0xe03ff204),
  4984. 120: uint32(0x0c078104),
  4985. 121: uint32(0x3af511f7),
  4986. 122: uint32(0x61e2a0e2),
  4987. 123: uint32(0x57103011),
  4988. 124: uint32(0xd7cdc2c8),
  4989. 125: uint32(0xe13f523b),
  4990. 126: uint32(0xba28e32e),
  4991. 127: uint32(0x8cda73dd),
  4992. 128: uint32(0x78ed02d5),
  4993. 129: uint32(0x4e1f9226),
  4994. 130: uint32(0x15082333),
  4995. 131: uint32(0x23fab3c0),
  4996. 132: uint32(0xa3274119),
  4997. 133: uint32(0x95d5d1ea),
  4998. 134: uint32(0xcec260ff),
  4999. 135: uint32(0xf830f00c),
  5000. 136: uint32(0x1408830c),
  5001. 137: uint32(0x22fa13ff),
  5002. 138: uint32(0x79eda2ea),
  5003. 139: uint32(0x4f1f3219),
  5004. 140: uint32(0xcfc2c0c0),
  5005. 141: uint32(0xf9305033),
  5006. 142: uint32(0xa227e126),
  5007. 143: uint32(0x94d571d5),
  5008. 144: uint32(0xa1260167),
  5009. 145: uint32(0x97d49194),
  5010. 146: uint32(0xccc32081),
  5011. 147: uint32(0xfa31b072),
  5012. 148: uint32(0x7aec42ab),
  5013. 149: uint32(0x4c1ed258),
  5014. 150: uint32(0x1709634d),
  5015. 151: uint32(0x21fbf3be),
  5016. 152: uint32(0xcdc380be),
  5017. 153: uint32(0xfb31104d),
  5018. 154: uint32(0xa026a158),
  5019. 155: uint32(0x96d431ab),
  5020. 156: uint32(0x1609c372),
  5021. 157: uint32(0x20fb5381),
  5022. 158: uint32(0x7bece294),
  5023. 159: uint32(0x4d1e7267),
  5024. 160: uint32(0x100a03f0),
  5025. 161: uint32(0x26f89303),
  5026. 162: uint32(0x7def2216),
  5027. 163: uint32(0x4b1db2e5),
  5028. 164: uint32(0xcbc0403c),
  5029. 165: uint32(0xfd32d0cf),
  5030. 166: uint32(0xa62561da),
  5031. 167: uint32(0x90d7f129),
  5032. 168: uint32(0x7cef8229),
  5033. 169: uint32(0x4a1d12da),
  5034. 170: uint32(0x110aa3cf),
  5035. 171: uint32(0x27f8333c),
  5036. 172: uint32(0xa725c1e5),
  5037. 173: uint32(0x91d75116),
  5038. 174: uint32(0xcac0e003),
  5039. 175: uint32(0xfc3270f0),
  5040. 176: uint32(0xc9c10042),
  5041. 177: uint32(0xff3390b1),
  5042. 178: uint32(0xa42421a4),
  5043. 179: uint32(0x92d6b157),
  5044. 180: uint32(0x120b438e),
  5045. 181: uint32(0x24f9d37d),
  5046. 182: uint32(0x7fee6268),
  5047. 183: uint32(0x491cf29b),
  5048. 184: uint32(0xa524819b),
  5049. 185: uint32(0x93d61168),
  5050. 186: uint32(0xc8c1a07d),
  5051. 187: uint32(0xfe33308e),
  5052. 188: uint32(0x7eeec257),
  5053. 189: uint32(0x481c52a4),
  5054. 190: uint32(0x130be3b1),
  5055. 191: uint32(0x25f97342),
  5056. 192: uint32(0xa923009f),
  5057. 193: uint32(0x9fd1906c),
  5058. 194: uint32(0xc4c62179),
  5059. 195: uint32(0xf234b18a),
  5060. 196: uint32(0x72e94353),
  5061. 197: uint32(0x441bd3a0),
  5062. 198: uint32(0x1f0c62b5),
  5063. 199: uint32(0x29fef246),
  5064. 200: uint32(0xc5c68146),
  5065. 201: uint32(0xf33411b5),
  5066. 202: uint32(0xa823a0a0),
  5067. 203: uint32(0x9ed13053),
  5068. 204: uint32(0x1e0cc28a),
  5069. 205: uint32(0x28fe5279),
  5070. 206: uint32(0x73e9e36c),
  5071. 207: uint32(0x451b739f),
  5072. 208: uint32(0x70e8032d),
  5073. 209: uint32(0x461a93de),
  5074. 210: uint32(0x1d0d22cb),
  5075. 211: uint32(0x2bffb238),
  5076. 212: uint32(0xab2240e1),
  5077. 213: uint32(0x9dd0d012),
  5078. 214: uint32(0xc6c76107),
  5079. 215: uint32(0xf035f1f4),
  5080. 216: uint32(0x1c0d82f4),
  5081. 217: uint32(0x2aff1207),
  5082. 218: uint32(0x71e8a312),
  5083. 219: uint32(0x471a33e1),
  5084. 220: uint32(0xc7c7c138),
  5085. 221: uint32(0xf13551cb),
  5086. 222: uint32(0xaa22e0de),
  5087. 223: uint32(0x9cd0702d),
  5088. 224: uint32(0xc1c401ba),
  5089. 225: uint32(0xf7369149),
  5090. 226: uint32(0xac21205c),
  5091. 227: uint32(0x9ad3b0af),
  5092. 228: uint32(0x1a0e4276),
  5093. 229: uint32(0x2cfcd285),
  5094. 230: uint32(0x77eb6390),
  5095. 231: uint32(0x4119f363),
  5096. 232: uint32(0xad218063),
  5097. 233: uint32(0x9bd31090),
  5098. 234: uint32(0xc0c4a185),
  5099. 235: uint32(0xf6363176),
  5100. 236: uint32(0x76ebc3af),
  5101. 237: uint32(0x4019535c),
  5102. 238: uint32(0x1b0ee249),
  5103. 239: uint32(0x2dfc72ba),
  5104. 240: uint32(0x180f0208),
  5105. 241: uint32(0x2efd92fb),
  5106. 242: uint32(0x75ea23ee),
  5107. 243: uint32(0x4318b31d),
  5108. 244: uint32(0xc3c541c4),
  5109. 245: uint32(0xf537d137),
  5110. 246: uint32(0xae206022),
  5111. 247: uint32(0x98d2f0d1),
  5112. 248: uint32(0x74ea83d1),
  5113. 249: uint32(0x42181322),
  5114. 250: uint32(0x190fa237),
  5115. 251: uint32(0x2ffd32c4),
  5116. 252: uint32(0xaf20c01d),
  5117. 253: uint32(0x99d250ee),
  5118. 254: uint32(0xc2c5e1fb),
  5119. 255: uint32(0xf4377108),
  5120. },
  5121. }
  5122. var _crc_braid_big_table = [8][256]Tz_word_t{
  5123. 0: {
  5124. 1: uint64(0xf390f23600000000),
  5125. 2: uint64(0xe621e56d00000000),
  5126. 3: uint64(0x15b1175b00000000),
  5127. 4: uint64(0xcc43cadb00000000),
  5128. 5: uint64(0x3fd338ed00000000),
  5129. 6: uint64(0x2a622fb600000000),
  5130. 7: uint64(0xd9f2dd8000000000),
  5131. 8: uint64(0xd981e56c00000000),
  5132. 9: uint64(0x2a11175a00000000),
  5133. 10: uint64(0x3fa0000100000000),
  5134. 11: uint64(0xcc30f23700000000),
  5135. 12: uint64(0x15c22fb700000000),
  5136. 13: uint64(0xe652dd8100000000),
  5137. 14: uint64(0xf3e3cada00000000),
  5138. 15: uint64(0x007338ec00000000),
  5139. 16: uint64(0xb203cbd900000000),
  5140. 17: uint64(0x419339ef00000000),
  5141. 18: uint64(0x54222eb400000000),
  5142. 19: uint64(0xa7b2dc8200000000),
  5143. 20: uint64(0x7e40010200000000),
  5144. 21: uint64(0x8dd0f33400000000),
  5145. 22: uint64(0x9861e46f00000000),
  5146. 23: uint64(0x6bf1165900000000),
  5147. 24: uint64(0x6b822eb500000000),
  5148. 25: uint64(0x9812dc8300000000),
  5149. 26: uint64(0x8da3cbd800000000),
  5150. 27: uint64(0x7e3339ee00000000),
  5151. 28: uint64(0xa7c1e46e00000000),
  5152. 29: uint64(0x5451165800000000),
  5153. 30: uint64(0x41e0010300000000),
  5154. 31: uint64(0xb270f33500000000),
  5155. 32: uint64(0x2501e76800000000),
  5156. 33: uint64(0xd691155e00000000),
  5157. 34: uint64(0xc320020500000000),
  5158. 35: uint64(0x30b0f03300000000),
  5159. 36: uint64(0xe9422db300000000),
  5160. 37: uint64(0x1ad2df8500000000),
  5161. 38: uint64(0x0f63c8de00000000),
  5162. 39: uint64(0xfcf33ae800000000),
  5163. 40: uint64(0xfc80020400000000),
  5164. 41: uint64(0x0f10f03200000000),
  5165. 42: uint64(0x1aa1e76900000000),
  5166. 43: uint64(0xe931155f00000000),
  5167. 44: uint64(0x30c3c8df00000000),
  5168. 45: uint64(0xc3533ae900000000),
  5169. 46: uint64(0xd6e22db200000000),
  5170. 47: uint64(0x2572df8400000000),
  5171. 48: uint64(0x97022cb100000000),
  5172. 49: uint64(0x6492de8700000000),
  5173. 50: uint64(0x7123c9dc00000000),
  5174. 51: uint64(0x82b33bea00000000),
  5175. 52: uint64(0x5b41e66a00000000),
  5176. 53: uint64(0xa8d1145c00000000),
  5177. 54: uint64(0xbd60030700000000),
  5178. 55: uint64(0x4ef0f13100000000),
  5179. 56: uint64(0x4e83c9dd00000000),
  5180. 57: uint64(0xbd133beb00000000),
  5181. 58: uint64(0xa8a22cb000000000),
  5182. 59: uint64(0x5b32de8600000000),
  5183. 60: uint64(0x82c0030600000000),
  5184. 61: uint64(0x7150f13000000000),
  5185. 62: uint64(0x64e1e66b00000000),
  5186. 63: uint64(0x9771145d00000000),
  5187. 64: uint64(0x4a02ced100000000),
  5188. 65: uint64(0xb9923ce700000000),
  5189. 66: uint64(0xac232bbc00000000),
  5190. 67: uint64(0x5fb3d98a00000000),
  5191. 68: uint64(0x8641040a00000000),
  5192. 69: uint64(0x75d1f63c00000000),
  5193. 70: uint64(0x6060e16700000000),
  5194. 71: uint64(0x93f0135100000000),
  5195. 72: uint64(0x93832bbd00000000),
  5196. 73: uint64(0x6013d98b00000000),
  5197. 74: uint64(0x75a2ced000000000),
  5198. 75: uint64(0x86323ce600000000),
  5199. 76: uint64(0x5fc0e16600000000),
  5200. 77: uint64(0xac50135000000000),
  5201. 78: uint64(0xb9e1040b00000000),
  5202. 79: uint64(0x4a71f63d00000000),
  5203. 80: uint64(0xf801050800000000),
  5204. 81: uint64(0x0b91f73e00000000),
  5205. 82: uint64(0x1e20e06500000000),
  5206. 83: uint64(0xedb0125300000000),
  5207. 84: uint64(0x3442cfd300000000),
  5208. 85: uint64(0xc7d23de500000000),
  5209. 86: uint64(0xd2632abe00000000),
  5210. 87: uint64(0x21f3d88800000000),
  5211. 88: uint64(0x2180e06400000000),
  5212. 89: uint64(0xd210125200000000),
  5213. 90: uint64(0xc7a1050900000000),
  5214. 91: uint64(0x3431f73f00000000),
  5215. 92: uint64(0xedc32abf00000000),
  5216. 93: uint64(0x1e53d88900000000),
  5217. 94: uint64(0x0be2cfd200000000),
  5218. 95: uint64(0xf8723de400000000),
  5219. 96: uint64(0x6f0329b900000000),
  5220. 97: uint64(0x9c93db8f00000000),
  5221. 98: uint64(0x8922ccd400000000),
  5222. 99: uint64(0x7ab23ee200000000),
  5223. 100: uint64(0xa340e36200000000),
  5224. 101: uint64(0x50d0115400000000),
  5225. 102: uint64(0x4561060f00000000),
  5226. 103: uint64(0xb6f1f43900000000),
  5227. 104: uint64(0xb682ccd500000000),
  5228. 105: uint64(0x45123ee300000000),
  5229. 106: uint64(0x50a329b800000000),
  5230. 107: uint64(0xa333db8e00000000),
  5231. 108: uint64(0x7ac1060e00000000),
  5232. 109: uint64(0x8951f43800000000),
  5233. 110: uint64(0x9ce0e36300000000),
  5234. 111: uint64(0x6f70115500000000),
  5235. 112: uint64(0xdd00e26000000000),
  5236. 113: uint64(0x2e90105600000000),
  5237. 114: uint64(0x3b21070d00000000),
  5238. 115: uint64(0xc8b1f53b00000000),
  5239. 116: uint64(0x114328bb00000000),
  5240. 117: uint64(0xe2d3da8d00000000),
  5241. 118: uint64(0xf762cdd600000000),
  5242. 119: uint64(0x04f23fe000000000),
  5243. 120: uint64(0x0481070c00000000),
  5244. 121: uint64(0xf711f53a00000000),
  5245. 122: uint64(0xe2a0e26100000000),
  5246. 123: uint64(0x1130105700000000),
  5247. 124: uint64(0xc8c2cdd700000000),
  5248. 125: uint64(0x3b523fe100000000),
  5249. 126: uint64(0x2ee328ba00000000),
  5250. 127: uint64(0xdd73da8c00000000),
  5251. 128: uint64(0xd502ed7800000000),
  5252. 129: uint64(0x26921f4e00000000),
  5253. 130: uint64(0x3323081500000000),
  5254. 131: uint64(0xc0b3fa2300000000),
  5255. 132: uint64(0x194127a300000000),
  5256. 133: uint64(0xead1d59500000000),
  5257. 134: uint64(0xff60c2ce00000000),
  5258. 135: uint64(0x0cf030f800000000),
  5259. 136: uint64(0x0c83081400000000),
  5260. 137: uint64(0xff13fa2200000000),
  5261. 138: uint64(0xeaa2ed7900000000),
  5262. 139: uint64(0x19321f4f00000000),
  5263. 140: uint64(0xc0c0c2cf00000000),
  5264. 141: uint64(0x335030f900000000),
  5265. 142: uint64(0x26e127a200000000),
  5266. 143: uint64(0xd571d59400000000),
  5267. 144: uint64(0x670126a100000000),
  5268. 145: uint64(0x9491d49700000000),
  5269. 146: uint64(0x8120c3cc00000000),
  5270. 147: uint64(0x72b031fa00000000),
  5271. 148: uint64(0xab42ec7a00000000),
  5272. 149: uint64(0x58d21e4c00000000),
  5273. 150: uint64(0x4d63091700000000),
  5274. 151: uint64(0xbef3fb2100000000),
  5275. 152: uint64(0xbe80c3cd00000000),
  5276. 153: uint64(0x4d1031fb00000000),
  5277. 154: uint64(0x58a126a000000000),
  5278. 155: uint64(0xab31d49600000000),
  5279. 156: uint64(0x72c3091600000000),
  5280. 157: uint64(0x8153fb2000000000),
  5281. 158: uint64(0x94e2ec7b00000000),
  5282. 159: uint64(0x67721e4d00000000),
  5283. 160: uint64(0xf0030a1000000000),
  5284. 161: uint64(0x0393f82600000000),
  5285. 162: uint64(0x1622ef7d00000000),
  5286. 163: uint64(0xe5b21d4b00000000),
  5287. 164: uint64(0x3c40c0cb00000000),
  5288. 165: uint64(0xcfd032fd00000000),
  5289. 166: uint64(0xda6125a600000000),
  5290. 167: uint64(0x29f1d79000000000),
  5291. 168: uint64(0x2982ef7c00000000),
  5292. 169: uint64(0xda121d4a00000000),
  5293. 170: uint64(0xcfa30a1100000000),
  5294. 171: uint64(0x3c33f82700000000),
  5295. 172: uint64(0xe5c125a700000000),
  5296. 173: uint64(0x1651d79100000000),
  5297. 174: uint64(0x03e0c0ca00000000),
  5298. 175: uint64(0xf07032fc00000000),
  5299. 176: uint64(0x4200c1c900000000),
  5300. 177: uint64(0xb19033ff00000000),
  5301. 178: uint64(0xa42124a400000000),
  5302. 179: uint64(0x57b1d69200000000),
  5303. 180: uint64(0x8e430b1200000000),
  5304. 181: uint64(0x7dd3f92400000000),
  5305. 182: uint64(0x6862ee7f00000000),
  5306. 183: uint64(0x9bf21c4900000000),
  5307. 184: uint64(0x9b8124a500000000),
  5308. 185: uint64(0x6811d69300000000),
  5309. 186: uint64(0x7da0c1c800000000),
  5310. 187: uint64(0x8e3033fe00000000),
  5311. 188: uint64(0x57c2ee7e00000000),
  5312. 189: uint64(0xa4521c4800000000),
  5313. 190: uint64(0xb1e30b1300000000),
  5314. 191: uint64(0x4273f92500000000),
  5315. 192: uint64(0x9f0023a900000000),
  5316. 193: uint64(0x6c90d19f00000000),
  5317. 194: uint64(0x7921c6c400000000),
  5318. 195: uint64(0x8ab134f200000000),
  5319. 196: uint64(0x5343e97200000000),
  5320. 197: uint64(0xa0d31b4400000000),
  5321. 198: uint64(0xb5620c1f00000000),
  5322. 199: uint64(0x46f2fe2900000000),
  5323. 200: uint64(0x4681c6c500000000),
  5324. 201: uint64(0xb51134f300000000),
  5325. 202: uint64(0xa0a023a800000000),
  5326. 203: uint64(0x5330d19e00000000),
  5327. 204: uint64(0x8ac20c1e00000000),
  5328. 205: uint64(0x7952fe2800000000),
  5329. 206: uint64(0x6ce3e97300000000),
  5330. 207: uint64(0x9f731b4500000000),
  5331. 208: uint64(0x2d03e87000000000),
  5332. 209: uint64(0xde931a4600000000),
  5333. 210: uint64(0xcb220d1d00000000),
  5334. 211: uint64(0x38b2ff2b00000000),
  5335. 212: uint64(0xe14022ab00000000),
  5336. 213: uint64(0x12d0d09d00000000),
  5337. 214: uint64(0x0761c7c600000000),
  5338. 215: uint64(0xf4f135f000000000),
  5339. 216: uint64(0xf4820d1c00000000),
  5340. 217: uint64(0x0712ff2a00000000),
  5341. 218: uint64(0x12a3e87100000000),
  5342. 219: uint64(0xe1331a4700000000),
  5343. 220: uint64(0x38c1c7c700000000),
  5344. 221: uint64(0xcb5135f100000000),
  5345. 222: uint64(0xdee022aa00000000),
  5346. 223: uint64(0x2d70d09c00000000),
  5347. 224: uint64(0xba01c4c100000000),
  5348. 225: uint64(0x499136f700000000),
  5349. 226: uint64(0x5c2021ac00000000),
  5350. 227: uint64(0xafb0d39a00000000),
  5351. 228: uint64(0x76420e1a00000000),
  5352. 229: uint64(0x85d2fc2c00000000),
  5353. 230: uint64(0x9063eb7700000000),
  5354. 231: uint64(0x63f3194100000000),
  5355. 232: uint64(0x638021ad00000000),
  5356. 233: uint64(0x9010d39b00000000),
  5357. 234: uint64(0x85a1c4c000000000),
  5358. 235: uint64(0x763136f600000000),
  5359. 236: uint64(0xafc3eb7600000000),
  5360. 237: uint64(0x5c53194000000000),
  5361. 238: uint64(0x49e20e1b00000000),
  5362. 239: uint64(0xba72fc2d00000000),
  5363. 240: uint64(0x08020f1800000000),
  5364. 241: uint64(0xfb92fd2e00000000),
  5365. 242: uint64(0xee23ea7500000000),
  5366. 243: uint64(0x1db3184300000000),
  5367. 244: uint64(0xc441c5c300000000),
  5368. 245: uint64(0x37d137f500000000),
  5369. 246: uint64(0x226020ae00000000),
  5370. 247: uint64(0xd1f0d29800000000),
  5371. 248: uint64(0xd183ea7400000000),
  5372. 249: uint64(0x2213184200000000),
  5373. 250: uint64(0x37a20f1900000000),
  5374. 251: uint64(0xc432fd2f00000000),
  5375. 252: uint64(0x1dc020af00000000),
  5376. 253: uint64(0xee50d29900000000),
  5377. 254: uint64(0xfbe1c5c200000000),
  5378. 255: uint64(0x087137f400000000),
  5379. },
  5380. 1: {
  5381. 1: uint64(0x3651822400000000),
  5382. 2: uint64(0x6ca2044900000000),
  5383. 3: uint64(0x5af3866d00000000),
  5384. 4: uint64(0xd844099200000000),
  5385. 5: uint64(0xee158bb600000000),
  5386. 6: uint64(0xb4e60ddb00000000),
  5387. 7: uint64(0x82b78fff00000000),
  5388. 8: uint64(0xf18f63ff00000000),
  5389. 9: uint64(0xc7dee1db00000000),
  5390. 10: uint64(0x9d2d67b600000000),
  5391. 11: uint64(0xab7ce59200000000),
  5392. 12: uint64(0x29cb6a6d00000000),
  5393. 13: uint64(0x1f9ae84900000000),
  5394. 14: uint64(0x45696e2400000000),
  5395. 15: uint64(0x7338ec0000000000),
  5396. 16: uint64(0xa319b62500000000),
  5397. 17: uint64(0x9548340100000000),
  5398. 18: uint64(0xcfbbb26c00000000),
  5399. 19: uint64(0xf9ea304800000000),
  5400. 20: uint64(0x7b5dbfb700000000),
  5401. 21: uint64(0x4d0c3d9300000000),
  5402. 22: uint64(0x17ffbbfe00000000),
  5403. 23: uint64(0x21ae39da00000000),
  5404. 24: uint64(0x5296d5da00000000),
  5405. 25: uint64(0x64c757fe00000000),
  5406. 26: uint64(0x3e34d19300000000),
  5407. 27: uint64(0x086553b700000000),
  5408. 28: uint64(0x8ad2dc4800000000),
  5409. 29: uint64(0xbc835e6c00000000),
  5410. 30: uint64(0xe670d80100000000),
  5411. 31: uint64(0xd0215a2500000000),
  5412. 32: uint64(0x46336c4b00000000),
  5413. 33: uint64(0x7062ee6f00000000),
  5414. 34: uint64(0x2a91680200000000),
  5415. 35: uint64(0x1cc0ea2600000000),
  5416. 36: uint64(0x9e7765d900000000),
  5417. 37: uint64(0xa826e7fd00000000),
  5418. 38: uint64(0xf2d5619000000000),
  5419. 39: uint64(0xc484e3b400000000),
  5420. 40: uint64(0xb7bc0fb400000000),
  5421. 41: uint64(0x81ed8d9000000000),
  5422. 42: uint64(0xdb1e0bfd00000000),
  5423. 43: uint64(0xed4f89d900000000),
  5424. 44: uint64(0x6ff8062600000000),
  5425. 45: uint64(0x59a9840200000000),
  5426. 46: uint64(0x035a026f00000000),
  5427. 47: uint64(0x350b804b00000000),
  5428. 48: uint64(0xe52ada6e00000000),
  5429. 49: uint64(0xd37b584a00000000),
  5430. 50: uint64(0x8988de2700000000),
  5431. 51: uint64(0xbfd95c0300000000),
  5432. 52: uint64(0x3d6ed3fc00000000),
  5433. 53: uint64(0x0b3f51d800000000),
  5434. 54: uint64(0x51ccd7b500000000),
  5435. 55: uint64(0x679d559100000000),
  5436. 56: uint64(0x14a5b99100000000),
  5437. 57: uint64(0x22f43bb500000000),
  5438. 58: uint64(0x7807bdd800000000),
  5439. 59: uint64(0x4e563ffc00000000),
  5440. 60: uint64(0xcce1b00300000000),
  5441. 61: uint64(0xfab0322700000000),
  5442. 62: uint64(0xa043b44a00000000),
  5443. 63: uint64(0x9612366e00000000),
  5444. 64: uint64(0x8c66d89600000000),
  5445. 65: uint64(0xba375ab200000000),
  5446. 66: uint64(0xe0c4dcdf00000000),
  5447. 67: uint64(0xd6955efb00000000),
  5448. 68: uint64(0x5422d10400000000),
  5449. 69: uint64(0x6273532000000000),
  5450. 70: uint64(0x3880d54d00000000),
  5451. 71: uint64(0x0ed1576900000000),
  5452. 72: uint64(0x7de9bb6900000000),
  5453. 73: uint64(0x4bb8394d00000000),
  5454. 74: uint64(0x114bbf2000000000),
  5455. 75: uint64(0x271a3d0400000000),
  5456. 76: uint64(0xa5adb2fb00000000),
  5457. 77: uint64(0x93fc30df00000000),
  5458. 78: uint64(0xc90fb6b200000000),
  5459. 79: uint64(0xff5e349600000000),
  5460. 80: uint64(0x2f7f6eb300000000),
  5461. 81: uint64(0x192eec9700000000),
  5462. 82: uint64(0x43dd6afa00000000),
  5463. 83: uint64(0x758ce8de00000000),
  5464. 84: uint64(0xf73b672100000000),
  5465. 85: uint64(0xc16ae50500000000),
  5466. 86: uint64(0x9b99636800000000),
  5467. 87: uint64(0xadc8e14c00000000),
  5468. 88: uint64(0xdef00d4c00000000),
  5469. 89: uint64(0xe8a18f6800000000),
  5470. 90: uint64(0xb252090500000000),
  5471. 91: uint64(0x84038b2100000000),
  5472. 92: uint64(0x06b404de00000000),
  5473. 93: uint64(0x30e586fa00000000),
  5474. 94: uint64(0x6a16009700000000),
  5475. 95: uint64(0x5c4782b300000000),
  5476. 96: uint64(0xca55b4dd00000000),
  5477. 97: uint64(0xfc0436f900000000),
  5478. 98: uint64(0xa6f7b09400000000),
  5479. 99: uint64(0x90a632b000000000),
  5480. 100: uint64(0x1211bd4f00000000),
  5481. 101: uint64(0x24403f6b00000000),
  5482. 102: uint64(0x7eb3b90600000000),
  5483. 103: uint64(0x48e23b2200000000),
  5484. 104: uint64(0x3bdad72200000000),
  5485. 105: uint64(0x0d8b550600000000),
  5486. 106: uint64(0x5778d36b00000000),
  5487. 107: uint64(0x6129514f00000000),
  5488. 108: uint64(0xe39edeb000000000),
  5489. 109: uint64(0xd5cf5c9400000000),
  5490. 110: uint64(0x8f3cdaf900000000),
  5491. 111: uint64(0xb96d58dd00000000),
  5492. 112: uint64(0x694c02f800000000),
  5493. 113: uint64(0x5f1d80dc00000000),
  5494. 114: uint64(0x05ee06b100000000),
  5495. 115: uint64(0x33bf849500000000),
  5496. 116: uint64(0xb1080b6a00000000),
  5497. 117: uint64(0x8759894e00000000),
  5498. 118: uint64(0xddaa0f2300000000),
  5499. 119: uint64(0xebfb8d0700000000),
  5500. 120: uint64(0x98c3610700000000),
  5501. 121: uint64(0xae92e32300000000),
  5502. 122: uint64(0xf461654e00000000),
  5503. 123: uint64(0xc230e76a00000000),
  5504. 124: uint64(0x4087689500000000),
  5505. 125: uint64(0x76d6eab100000000),
  5506. 126: uint64(0x2c256cdc00000000),
  5507. 127: uint64(0x1a74eef800000000),
  5508. 128: uint64(0x59cbc1f600000000),
  5509. 129: uint64(0x6f9a43d200000000),
  5510. 130: uint64(0x3569c5bf00000000),
  5511. 131: uint64(0x0338479b00000000),
  5512. 132: uint64(0x818fc86400000000),
  5513. 133: uint64(0xb7de4a4000000000),
  5514. 134: uint64(0xed2dcc2d00000000),
  5515. 135: uint64(0xdb7c4e0900000000),
  5516. 136: uint64(0xa844a20900000000),
  5517. 137: uint64(0x9e15202d00000000),
  5518. 138: uint64(0xc4e6a64000000000),
  5519. 139: uint64(0xf2b7246400000000),
  5520. 140: uint64(0x7000ab9b00000000),
  5521. 141: uint64(0x465129bf00000000),
  5522. 142: uint64(0x1ca2afd200000000),
  5523. 143: uint64(0x2af32df600000000),
  5524. 144: uint64(0xfad277d300000000),
  5525. 145: uint64(0xcc83f5f700000000),
  5526. 146: uint64(0x9670739a00000000),
  5527. 147: uint64(0xa021f1be00000000),
  5528. 148: uint64(0x22967e4100000000),
  5529. 149: uint64(0x14c7fc6500000000),
  5530. 150: uint64(0x4e347a0800000000),
  5531. 151: uint64(0x7865f82c00000000),
  5532. 152: uint64(0x0b5d142c00000000),
  5533. 153: uint64(0x3d0c960800000000),
  5534. 154: uint64(0x67ff106500000000),
  5535. 155: uint64(0x51ae924100000000),
  5536. 156: uint64(0xd3191dbe00000000),
  5537. 157: uint64(0xe5489f9a00000000),
  5538. 158: uint64(0xbfbb19f700000000),
  5539. 159: uint64(0x89ea9bd300000000),
  5540. 160: uint64(0x1ff8adbd00000000),
  5541. 161: uint64(0x29a92f9900000000),
  5542. 162: uint64(0x735aa9f400000000),
  5543. 163: uint64(0x450b2bd000000000),
  5544. 164: uint64(0xc7bca42f00000000),
  5545. 165: uint64(0xf1ed260b00000000),
  5546. 166: uint64(0xab1ea06600000000),
  5547. 167: uint64(0x9d4f224200000000),
  5548. 168: uint64(0xee77ce4200000000),
  5549. 169: uint64(0xd8264c6600000000),
  5550. 170: uint64(0x82d5ca0b00000000),
  5551. 171: uint64(0xb484482f00000000),
  5552. 172: uint64(0x3633c7d000000000),
  5553. 173: uint64(0x006245f400000000),
  5554. 174: uint64(0x5a91c39900000000),
  5555. 175: uint64(0x6cc041bd00000000),
  5556. 176: uint64(0xbce11b9800000000),
  5557. 177: uint64(0x8ab099bc00000000),
  5558. 178: uint64(0xd0431fd100000000),
  5559. 179: uint64(0xe6129df500000000),
  5560. 180: uint64(0x64a5120a00000000),
  5561. 181: uint64(0x52f4902e00000000),
  5562. 182: uint64(0x0807164300000000),
  5563. 183: uint64(0x3e56946700000000),
  5564. 184: uint64(0x4d6e786700000000),
  5565. 185: uint64(0x7b3ffa4300000000),
  5566. 186: uint64(0x21cc7c2e00000000),
  5567. 187: uint64(0x179dfe0a00000000),
  5568. 188: uint64(0x952a71f500000000),
  5569. 189: uint64(0xa37bf3d100000000),
  5570. 190: uint64(0xf98875bc00000000),
  5571. 191: uint64(0xcfd9f79800000000),
  5572. 192: uint64(0xd5ad196000000000),
  5573. 193: uint64(0xe3fc9b4400000000),
  5574. 194: uint64(0xb90f1d2900000000),
  5575. 195: uint64(0x8f5e9f0d00000000),
  5576. 196: uint64(0x0de910f200000000),
  5577. 197: uint64(0x3bb892d600000000),
  5578. 198: uint64(0x614b14bb00000000),
  5579. 199: uint64(0x571a969f00000000),
  5580. 200: uint64(0x24227a9f00000000),
  5581. 201: uint64(0x1273f8bb00000000),
  5582. 202: uint64(0x48807ed600000000),
  5583. 203: uint64(0x7ed1fcf200000000),
  5584. 204: uint64(0xfc66730d00000000),
  5585. 205: uint64(0xca37f12900000000),
  5586. 206: uint64(0x90c4774400000000),
  5587. 207: uint64(0xa695f56000000000),
  5588. 208: uint64(0x76b4af4500000000),
  5589. 209: uint64(0x40e52d6100000000),
  5590. 210: uint64(0x1a16ab0c00000000),
  5591. 211: uint64(0x2c47292800000000),
  5592. 212: uint64(0xaef0a6d700000000),
  5593. 213: uint64(0x98a124f300000000),
  5594. 214: uint64(0xc252a29e00000000),
  5595. 215: uint64(0xf40320ba00000000),
  5596. 216: uint64(0x873bccba00000000),
  5597. 217: uint64(0xb16a4e9e00000000),
  5598. 218: uint64(0xeb99c8f300000000),
  5599. 219: uint64(0xddc84ad700000000),
  5600. 220: uint64(0x5f7fc52800000000),
  5601. 221: uint64(0x692e470c00000000),
  5602. 222: uint64(0x33ddc16100000000),
  5603. 223: uint64(0x058c434500000000),
  5604. 224: uint64(0x939e752b00000000),
  5605. 225: uint64(0xa5cff70f00000000),
  5606. 226: uint64(0xff3c716200000000),
  5607. 227: uint64(0xc96df34600000000),
  5608. 228: uint64(0x4bda7cb900000000),
  5609. 229: uint64(0x7d8bfe9d00000000),
  5610. 230: uint64(0x277878f000000000),
  5611. 231: uint64(0x1129fad400000000),
  5612. 232: uint64(0x621116d400000000),
  5613. 233: uint64(0x544094f000000000),
  5614. 234: uint64(0x0eb3129d00000000),
  5615. 235: uint64(0x38e290b900000000),
  5616. 236: uint64(0xba551f4600000000),
  5617. 237: uint64(0x8c049d6200000000),
  5618. 238: uint64(0xd6f71b0f00000000),
  5619. 239: uint64(0xe0a6992b00000000),
  5620. 240: uint64(0x3087c30e00000000),
  5621. 241: uint64(0x06d6412a00000000),
  5622. 242: uint64(0x5c25c74700000000),
  5623. 243: uint64(0x6a74456300000000),
  5624. 244: uint64(0xe8c3ca9c00000000),
  5625. 245: uint64(0xde9248b800000000),
  5626. 246: uint64(0x8461ced500000000),
  5627. 247: uint64(0xb2304cf100000000),
  5628. 248: uint64(0xc108a0f100000000),
  5629. 249: uint64(0xf75922d500000000),
  5630. 250: uint64(0xadaaa4b800000000),
  5631. 251: uint64(0x9bfb269c00000000),
  5632. 252: uint64(0x194ca96300000000),
  5633. 253: uint64(0x2f1d2b4700000000),
  5634. 254: uint64(0x75eead2a00000000),
  5635. 255: uint64(0x43bf2f0e00000000),
  5636. },
  5637. 2: {
  5638. 1: uint64(0xc8179ecf00000000),
  5639. 2: uint64(0xd1294d4400000000),
  5640. 3: uint64(0x193ed38b00000000),
  5641. 4: uint64(0xa2539a8800000000),
  5642. 5: uint64(0x6a44044700000000),
  5643. 6: uint64(0x737ad7cc00000000),
  5644. 7: uint64(0xbb6d490300000000),
  5645. 8: uint64(0x05a145ca00000000),
  5646. 9: uint64(0xcdb6db0500000000),
  5647. 10: uint64(0xd488088e00000000),
  5648. 11: uint64(0x1c9f964100000000),
  5649. 12: uint64(0xa7f2df4200000000),
  5650. 13: uint64(0x6fe5418d00000000),
  5651. 14: uint64(0x76db920600000000),
  5652. 15: uint64(0xbecc0cc900000000),
  5653. 16: uint64(0x4b44fa4f00000000),
  5654. 17: uint64(0x8353648000000000),
  5655. 18: uint64(0x9a6db70b00000000),
  5656. 19: uint64(0x527a29c400000000),
  5657. 20: uint64(0xe91760c700000000),
  5658. 21: uint64(0x2100fe0800000000),
  5659. 22: uint64(0x383e2d8300000000),
  5660. 23: uint64(0xf029b34c00000000),
  5661. 24: uint64(0x4ee5bf8500000000),
  5662. 25: uint64(0x86f2214a00000000),
  5663. 26: uint64(0x9fccf2c100000000),
  5664. 27: uint64(0x57db6c0e00000000),
  5665. 28: uint64(0xecb6250d00000000),
  5666. 29: uint64(0x24a1bbc200000000),
  5667. 30: uint64(0x3d9f684900000000),
  5668. 31: uint64(0xf588f68600000000),
  5669. 32: uint64(0x9688f49f00000000),
  5670. 33: uint64(0x5e9f6a5000000000),
  5671. 34: uint64(0x47a1b9db00000000),
  5672. 35: uint64(0x8fb6271400000000),
  5673. 36: uint64(0x34db6e1700000000),
  5674. 37: uint64(0xfcccf0d800000000),
  5675. 38: uint64(0xe5f2235300000000),
  5676. 39: uint64(0x2de5bd9c00000000),
  5677. 40: uint64(0x9329b15500000000),
  5678. 41: uint64(0x5b3e2f9a00000000),
  5679. 42: uint64(0x4200fc1100000000),
  5680. 43: uint64(0x8a1762de00000000),
  5681. 44: uint64(0x317a2bdd00000000),
  5682. 45: uint64(0xf96db51200000000),
  5683. 46: uint64(0xe053669900000000),
  5684. 47: uint64(0x2844f85600000000),
  5685. 48: uint64(0xddcc0ed000000000),
  5686. 49: uint64(0x15db901f00000000),
  5687. 50: uint64(0x0ce5439400000000),
  5688. 51: uint64(0xc4f2dd5b00000000),
  5689. 52: uint64(0x7f9f945800000000),
  5690. 53: uint64(0xb7880a9700000000),
  5691. 54: uint64(0xaeb6d91c00000000),
  5692. 55: uint64(0x66a147d300000000),
  5693. 56: uint64(0xd86d4b1a00000000),
  5694. 57: uint64(0x107ad5d500000000),
  5695. 58: uint64(0x0944065e00000000),
  5696. 59: uint64(0xc153989100000000),
  5697. 60: uint64(0x7a3ed19200000000),
  5698. 61: uint64(0xb2294f5d00000000),
  5699. 62: uint64(0xab179cd600000000),
  5700. 63: uint64(0x6300021900000000),
  5701. 64: uint64(0x6d1798e400000000),
  5702. 65: uint64(0xa500062b00000000),
  5703. 66: uint64(0xbc3ed5a000000000),
  5704. 67: uint64(0x74294b6f00000000),
  5705. 68: uint64(0xcf44026c00000000),
  5706. 69: uint64(0x07539ca300000000),
  5707. 70: uint64(0x1e6d4f2800000000),
  5708. 71: uint64(0xd67ad1e700000000),
  5709. 72: uint64(0x68b6dd2e00000000),
  5710. 73: uint64(0xa0a143e100000000),
  5711. 74: uint64(0xb99f906a00000000),
  5712. 75: uint64(0x71880ea500000000),
  5713. 76: uint64(0xcae547a600000000),
  5714. 77: uint64(0x02f2d96900000000),
  5715. 78: uint64(0x1bcc0ae200000000),
  5716. 79: uint64(0xd3db942d00000000),
  5717. 80: uint64(0x265362ab00000000),
  5718. 81: uint64(0xee44fc6400000000),
  5719. 82: uint64(0xf77a2fef00000000),
  5720. 83: uint64(0x3f6db12000000000),
  5721. 84: uint64(0x8400f82300000000),
  5722. 85: uint64(0x4c1766ec00000000),
  5723. 86: uint64(0x5529b56700000000),
  5724. 87: uint64(0x9d3e2ba800000000),
  5725. 88: uint64(0x23f2276100000000),
  5726. 89: uint64(0xebe5b9ae00000000),
  5727. 90: uint64(0xf2db6a2500000000),
  5728. 91: uint64(0x3accf4ea00000000),
  5729. 92: uint64(0x81a1bde900000000),
  5730. 93: uint64(0x49b6232600000000),
  5731. 94: uint64(0x5088f0ad00000000),
  5732. 95: uint64(0x989f6e6200000000),
  5733. 96: uint64(0xfb9f6c7b00000000),
  5734. 97: uint64(0x3388f2b400000000),
  5735. 98: uint64(0x2ab6213f00000000),
  5736. 99: uint64(0xe2a1bff000000000),
  5737. 100: uint64(0x59ccf6f300000000),
  5738. 101: uint64(0x91db683c00000000),
  5739. 102: uint64(0x88e5bbb700000000),
  5740. 103: uint64(0x40f2257800000000),
  5741. 104: uint64(0xfe3e29b100000000),
  5742. 105: uint64(0x3629b77e00000000),
  5743. 106: uint64(0x2f1764f500000000),
  5744. 107: uint64(0xe700fa3a00000000),
  5745. 108: uint64(0x5c6db33900000000),
  5746. 109: uint64(0x947a2df600000000),
  5747. 110: uint64(0x8d44fe7d00000000),
  5748. 111: uint64(0x455360b200000000),
  5749. 112: uint64(0xb0db963400000000),
  5750. 113: uint64(0x78cc08fb00000000),
  5751. 114: uint64(0x61f2db7000000000),
  5752. 115: uint64(0xa9e545bf00000000),
  5753. 116: uint64(0x12880cbc00000000),
  5754. 117: uint64(0xda9f927300000000),
  5755. 118: uint64(0xc3a141f800000000),
  5756. 119: uint64(0x0bb6df3700000000),
  5757. 120: uint64(0xb57ad3fe00000000),
  5758. 121: uint64(0x7d6d4d3100000000),
  5759. 122: uint64(0x64539eba00000000),
  5760. 123: uint64(0xac44007500000000),
  5761. 124: uint64(0x1729497600000000),
  5762. 125: uint64(0xdf3ed7b900000000),
  5763. 126: uint64(0xc600043200000000),
  5764. 127: uint64(0x0e179afd00000000),
  5765. 128: uint64(0x9b28411200000000),
  5766. 129: uint64(0x533fdfdd00000000),
  5767. 130: uint64(0x4a010c5600000000),
  5768. 131: uint64(0x8216929900000000),
  5769. 132: uint64(0x397bdb9a00000000),
  5770. 133: uint64(0xf16c455500000000),
  5771. 134: uint64(0xe85296de00000000),
  5772. 135: uint64(0x2045081100000000),
  5773. 136: uint64(0x9e8904d800000000),
  5774. 137: uint64(0x569e9a1700000000),
  5775. 138: uint64(0x4fa0499c00000000),
  5776. 139: uint64(0x87b7d75300000000),
  5777. 140: uint64(0x3cda9e5000000000),
  5778. 141: uint64(0xf4cd009f00000000),
  5779. 142: uint64(0xedf3d31400000000),
  5780. 143: uint64(0x25e44ddb00000000),
  5781. 144: uint64(0xd06cbb5d00000000),
  5782. 145: uint64(0x187b259200000000),
  5783. 146: uint64(0x0145f61900000000),
  5784. 147: uint64(0xc95268d600000000),
  5785. 148: uint64(0x723f21d500000000),
  5786. 149: uint64(0xba28bf1a00000000),
  5787. 150: uint64(0xa3166c9100000000),
  5788. 151: uint64(0x6b01f25e00000000),
  5789. 152: uint64(0xd5cdfe9700000000),
  5790. 153: uint64(0x1dda605800000000),
  5791. 154: uint64(0x04e4b3d300000000),
  5792. 155: uint64(0xccf32d1c00000000),
  5793. 156: uint64(0x779e641f00000000),
  5794. 157: uint64(0xbf89fad000000000),
  5795. 158: uint64(0xa6b7295b00000000),
  5796. 159: uint64(0x6ea0b79400000000),
  5797. 160: uint64(0x0da0b58d00000000),
  5798. 161: uint64(0xc5b72b4200000000),
  5799. 162: uint64(0xdc89f8c900000000),
  5800. 163: uint64(0x149e660600000000),
  5801. 164: uint64(0xaff32f0500000000),
  5802. 165: uint64(0x67e4b1ca00000000),
  5803. 166: uint64(0x7eda624100000000),
  5804. 167: uint64(0xb6cdfc8e00000000),
  5805. 168: uint64(0x0801f04700000000),
  5806. 169: uint64(0xc0166e8800000000),
  5807. 170: uint64(0xd928bd0300000000),
  5808. 171: uint64(0x113f23cc00000000),
  5809. 172: uint64(0xaa526acf00000000),
  5810. 173: uint64(0x6245f40000000000),
  5811. 174: uint64(0x7b7b278b00000000),
  5812. 175: uint64(0xb36cb94400000000),
  5813. 176: uint64(0x46e44fc200000000),
  5814. 177: uint64(0x8ef3d10d00000000),
  5815. 178: uint64(0x97cd028600000000),
  5816. 179: uint64(0x5fda9c4900000000),
  5817. 180: uint64(0xe4b7d54a00000000),
  5818. 181: uint64(0x2ca04b8500000000),
  5819. 182: uint64(0x359e980e00000000),
  5820. 183: uint64(0xfd8906c100000000),
  5821. 184: uint64(0x43450a0800000000),
  5822. 185: uint64(0x8b5294c700000000),
  5823. 186: uint64(0x926c474c00000000),
  5824. 187: uint64(0x5a7bd98300000000),
  5825. 188: uint64(0xe116908000000000),
  5826. 189: uint64(0x29010e4f00000000),
  5827. 190: uint64(0x303fddc400000000),
  5828. 191: uint64(0xf828430b00000000),
  5829. 192: uint64(0xf63fd9f600000000),
  5830. 193: uint64(0x3e28473900000000),
  5831. 194: uint64(0x271694b200000000),
  5832. 195: uint64(0xef010a7d00000000),
  5833. 196: uint64(0x546c437e00000000),
  5834. 197: uint64(0x9c7bddb100000000),
  5835. 198: uint64(0x85450e3a00000000),
  5836. 199: uint64(0x4d5290f500000000),
  5837. 200: uint64(0xf39e9c3c00000000),
  5838. 201: uint64(0x3b8902f300000000),
  5839. 202: uint64(0x22b7d17800000000),
  5840. 203: uint64(0xeaa04fb700000000),
  5841. 204: uint64(0x51cd06b400000000),
  5842. 205: uint64(0x99da987b00000000),
  5843. 206: uint64(0x80e44bf000000000),
  5844. 207: uint64(0x48f3d53f00000000),
  5845. 208: uint64(0xbd7b23b900000000),
  5846. 209: uint64(0x756cbd7600000000),
  5847. 210: uint64(0x6c526efd00000000),
  5848. 211: uint64(0xa445f03200000000),
  5849. 212: uint64(0x1f28b93100000000),
  5850. 213: uint64(0xd73f27fe00000000),
  5851. 214: uint64(0xce01f47500000000),
  5852. 215: uint64(0x06166aba00000000),
  5853. 216: uint64(0xb8da667300000000),
  5854. 217: uint64(0x70cdf8bc00000000),
  5855. 218: uint64(0x69f32b3700000000),
  5856. 219: uint64(0xa1e4b5f800000000),
  5857. 220: uint64(0x1a89fcfb00000000),
  5858. 221: uint64(0xd29e623400000000),
  5859. 222: uint64(0xcba0b1bf00000000),
  5860. 223: uint64(0x03b72f7000000000),
  5861. 224: uint64(0x60b72d6900000000),
  5862. 225: uint64(0xa8a0b3a600000000),
  5863. 226: uint64(0xb19e602d00000000),
  5864. 227: uint64(0x7989fee200000000),
  5865. 228: uint64(0xc2e4b7e100000000),
  5866. 229: uint64(0x0af3292e00000000),
  5867. 230: uint64(0x13cdfaa500000000),
  5868. 231: uint64(0xdbda646a00000000),
  5869. 232: uint64(0x651668a300000000),
  5870. 233: uint64(0xad01f66c00000000),
  5871. 234: uint64(0xb43f25e700000000),
  5872. 235: uint64(0x7c28bb2800000000),
  5873. 236: uint64(0xc745f22b00000000),
  5874. 237: uint64(0x0f526ce400000000),
  5875. 238: uint64(0x166cbf6f00000000),
  5876. 239: uint64(0xde7b21a000000000),
  5877. 240: uint64(0x2bf3d72600000000),
  5878. 241: uint64(0xe3e449e900000000),
  5879. 242: uint64(0xfada9a6200000000),
  5880. 243: uint64(0x32cd04ad00000000),
  5881. 244: uint64(0x89a04dae00000000),
  5882. 245: uint64(0x41b7d36100000000),
  5883. 246: uint64(0x588900ea00000000),
  5884. 247: uint64(0x909e9e2500000000),
  5885. 248: uint64(0x2e5292ec00000000),
  5886. 249: uint64(0xe6450c2300000000),
  5887. 250: uint64(0xff7bdfa800000000),
  5888. 251: uint64(0x376c416700000000),
  5889. 252: uint64(0x8c01086400000000),
  5890. 253: uint64(0x441696ab00000000),
  5891. 254: uint64(0x5d28452000000000),
  5892. 255: uint64(0x953fdbef00000000),
  5893. },
  5894. 3: {
  5895. 1: uint64(0x95d4709500000000),
  5896. 2: uint64(0x6baf90f100000000),
  5897. 3: uint64(0xfe7be06400000000),
  5898. 4: uint64(0x9758503800000000),
  5899. 5: uint64(0x028c20ad00000000),
  5900. 6: uint64(0xfcf7c0c900000000),
  5901. 7: uint64(0x6923b05c00000000),
  5902. 8: uint64(0x2eb1a07000000000),
  5903. 9: uint64(0xbb65d0e500000000),
  5904. 10: uint64(0x451e308100000000),
  5905. 11: uint64(0xd0ca401400000000),
  5906. 12: uint64(0xb9e9f04800000000),
  5907. 13: uint64(0x2c3d80dd00000000),
  5908. 14: uint64(0xd24660b900000000),
  5909. 15: uint64(0x4792102c00000000),
  5910. 16: uint64(0x5c6241e100000000),
  5911. 17: uint64(0xc9b6317400000000),
  5912. 18: uint64(0x37cdd11000000000),
  5913. 19: uint64(0xa219a18500000000),
  5914. 20: uint64(0xcb3a11d900000000),
  5915. 21: uint64(0x5eee614c00000000),
  5916. 22: uint64(0xa095812800000000),
  5917. 23: uint64(0x3541f1bd00000000),
  5918. 24: uint64(0x72d3e19100000000),
  5919. 25: uint64(0xe707910400000000),
  5920. 26: uint64(0x197c716000000000),
  5921. 27: uint64(0x8ca801f500000000),
  5922. 28: uint64(0xe58bb1a900000000),
  5923. 29: uint64(0x705fc13c00000000),
  5924. 30: uint64(0x8e24215800000000),
  5925. 31: uint64(0x1bf051cd00000000),
  5926. 32: uint64(0xf9c2f31900000000),
  5927. 33: uint64(0x6c16838c00000000),
  5928. 34: uint64(0x926d63e800000000),
  5929. 35: uint64(0x07b9137d00000000),
  5930. 36: uint64(0x6e9aa32100000000),
  5931. 37: uint64(0xfb4ed3b400000000),
  5932. 38: uint64(0x053533d000000000),
  5933. 39: uint64(0x90e1434500000000),
  5934. 40: uint64(0xd773536900000000),
  5935. 41: uint64(0x42a723fc00000000),
  5936. 42: uint64(0xbcdcc39800000000),
  5937. 43: uint64(0x2908b30d00000000),
  5938. 44: uint64(0x402b035100000000),
  5939. 45: uint64(0xd5ff73c400000000),
  5940. 46: uint64(0x2b8493a000000000),
  5941. 47: uint64(0xbe50e33500000000),
  5942. 48: uint64(0xa5a0b2f800000000),
  5943. 49: uint64(0x3074c26d00000000),
  5944. 50: uint64(0xce0f220900000000),
  5945. 51: uint64(0x5bdb529c00000000),
  5946. 52: uint64(0x32f8e2c000000000),
  5947. 53: uint64(0xa72c925500000000),
  5948. 54: uint64(0x5957723100000000),
  5949. 55: uint64(0xcc8302a400000000),
  5950. 56: uint64(0x8b11128800000000),
  5951. 57: uint64(0x1ec5621d00000000),
  5952. 58: uint64(0xe0be827900000000),
  5953. 59: uint64(0x756af2ec00000000),
  5954. 60: uint64(0x1c4942b000000000),
  5955. 61: uint64(0x899d322500000000),
  5956. 62: uint64(0x77e6d24100000000),
  5957. 63: uint64(0xe232a2d400000000),
  5958. 64: uint64(0xf285e73300000000),
  5959. 65: uint64(0x675197a600000000),
  5960. 66: uint64(0x992a77c200000000),
  5961. 67: uint64(0x0cfe075700000000),
  5962. 68: uint64(0x65ddb70b00000000),
  5963. 69: uint64(0xf009c79e00000000),
  5964. 70: uint64(0x0e7227fa00000000),
  5965. 71: uint64(0x9ba6576f00000000),
  5966. 72: uint64(0xdc34474300000000),
  5967. 73: uint64(0x49e037d600000000),
  5968. 74: uint64(0xb79bd7b200000000),
  5969. 75: uint64(0x224fa72700000000),
  5970. 76: uint64(0x4b6c177b00000000),
  5971. 77: uint64(0xdeb867ee00000000),
  5972. 78: uint64(0x20c3878a00000000),
  5973. 79: uint64(0xb517f71f00000000),
  5974. 80: uint64(0xaee7a6d200000000),
  5975. 81: uint64(0x3b33d64700000000),
  5976. 82: uint64(0xc548362300000000),
  5977. 83: uint64(0x509c46b600000000),
  5978. 84: uint64(0x39bff6ea00000000),
  5979. 85: uint64(0xac6b867f00000000),
  5980. 86: uint64(0x5210661b00000000),
  5981. 87: uint64(0xc7c4168e00000000),
  5982. 88: uint64(0x805606a200000000),
  5983. 89: uint64(0x1582763700000000),
  5984. 90: uint64(0xebf9965300000000),
  5985. 91: uint64(0x7e2de6c600000000),
  5986. 92: uint64(0x170e569a00000000),
  5987. 93: uint64(0x82da260f00000000),
  5988. 94: uint64(0x7ca1c66b00000000),
  5989. 95: uint64(0xe975b6fe00000000),
  5990. 96: uint64(0x0b47142a00000000),
  5991. 97: uint64(0x9e9364bf00000000),
  5992. 98: uint64(0x60e884db00000000),
  5993. 99: uint64(0xf53cf44e00000000),
  5994. 100: uint64(0x9c1f441200000000),
  5995. 101: uint64(0x09cb348700000000),
  5996. 102: uint64(0xf7b0d4e300000000),
  5997. 103: uint64(0x6264a47600000000),
  5998. 104: uint64(0x25f6b45a00000000),
  5999. 105: uint64(0xb022c4cf00000000),
  6000. 106: uint64(0x4e5924ab00000000),
  6001. 107: uint64(0xdb8d543e00000000),
  6002. 108: uint64(0xb2aee46200000000),
  6003. 109: uint64(0x277a94f700000000),
  6004. 110: uint64(0xd901749300000000),
  6005. 111: uint64(0x4cd5040600000000),
  6006. 112: uint64(0x572555cb00000000),
  6007. 113: uint64(0xc2f1255e00000000),
  6008. 114: uint64(0x3c8ac53a00000000),
  6009. 115: uint64(0xa95eb5af00000000),
  6010. 116: uint64(0xc07d05f300000000),
  6011. 117: uint64(0x55a9756600000000),
  6012. 118: uint64(0xabd2950200000000),
  6013. 119: uint64(0x3e06e59700000000),
  6014. 120: uint64(0x7994f5bb00000000),
  6015. 121: uint64(0xec40852e00000000),
  6016. 122: uint64(0x123b654a00000000),
  6017. 123: uint64(0x87ef15df00000000),
  6018. 124: uint64(0xeecca58300000000),
  6019. 125: uint64(0x7b18d51600000000),
  6020. 126: uint64(0x8563357200000000),
  6021. 127: uint64(0x10b745e700000000),
  6022. 128: uint64(0xe40bcf6700000000),
  6023. 129: uint64(0x71dfbff200000000),
  6024. 130: uint64(0x8fa45f9600000000),
  6025. 131: uint64(0x1a702f0300000000),
  6026. 132: uint64(0x73539f5f00000000),
  6027. 133: uint64(0xe687efca00000000),
  6028. 134: uint64(0x18fc0fae00000000),
  6029. 135: uint64(0x8d287f3b00000000),
  6030. 136: uint64(0xcaba6f1700000000),
  6031. 137: uint64(0x5f6e1f8200000000),
  6032. 138: uint64(0xa115ffe600000000),
  6033. 139: uint64(0x34c18f7300000000),
  6034. 140: uint64(0x5de23f2f00000000),
  6035. 141: uint64(0xc8364fba00000000),
  6036. 142: uint64(0x364dafde00000000),
  6037. 143: uint64(0xa399df4b00000000),
  6038. 144: uint64(0xb8698e8600000000),
  6039. 145: uint64(0x2dbdfe1300000000),
  6040. 146: uint64(0xd3c61e7700000000),
  6041. 147: uint64(0x46126ee200000000),
  6042. 148: uint64(0x2f31debe00000000),
  6043. 149: uint64(0xbae5ae2b00000000),
  6044. 150: uint64(0x449e4e4f00000000),
  6045. 151: uint64(0xd14a3eda00000000),
  6046. 152: uint64(0x96d82ef600000000),
  6047. 153: uint64(0x030c5e6300000000),
  6048. 154: uint64(0xfd77be0700000000),
  6049. 155: uint64(0x68a3ce9200000000),
  6050. 156: uint64(0x01807ece00000000),
  6051. 157: uint64(0x94540e5b00000000),
  6052. 158: uint64(0x6a2fee3f00000000),
  6053. 159: uint64(0xfffb9eaa00000000),
  6054. 160: uint64(0x1dc93c7e00000000),
  6055. 161: uint64(0x881d4ceb00000000),
  6056. 162: uint64(0x7666ac8f00000000),
  6057. 163: uint64(0xe3b2dc1a00000000),
  6058. 164: uint64(0x8a916c4600000000),
  6059. 165: uint64(0x1f451cd300000000),
  6060. 166: uint64(0xe13efcb700000000),
  6061. 167: uint64(0x74ea8c2200000000),
  6062. 168: uint64(0x33789c0e00000000),
  6063. 169: uint64(0xa6acec9b00000000),
  6064. 170: uint64(0x58d70cff00000000),
  6065. 171: uint64(0xcd037c6a00000000),
  6066. 172: uint64(0xa420cc3600000000),
  6067. 173: uint64(0x31f4bca300000000),
  6068. 174: uint64(0xcf8f5cc700000000),
  6069. 175: uint64(0x5a5b2c5200000000),
  6070. 176: uint64(0x41ab7d9f00000000),
  6071. 177: uint64(0xd47f0d0a00000000),
  6072. 178: uint64(0x2a04ed6e00000000),
  6073. 179: uint64(0xbfd09dfb00000000),
  6074. 180: uint64(0xd6f32da700000000),
  6075. 181: uint64(0x43275d3200000000),
  6076. 182: uint64(0xbd5cbd5600000000),
  6077. 183: uint64(0x2888cdc300000000),
  6078. 184: uint64(0x6f1addef00000000),
  6079. 185: uint64(0xfacead7a00000000),
  6080. 186: uint64(0x04b54d1e00000000),
  6081. 187: uint64(0x91613d8b00000000),
  6082. 188: uint64(0xf8428dd700000000),
  6083. 189: uint64(0x6d96fd4200000000),
  6084. 190: uint64(0x93ed1d2600000000),
  6085. 191: uint64(0x06396db300000000),
  6086. 192: uint64(0x168e285400000000),
  6087. 193: uint64(0x835a58c100000000),
  6088. 194: uint64(0x7d21b8a500000000),
  6089. 195: uint64(0xe8f5c83000000000),
  6090. 196: uint64(0x81d6786c00000000),
  6091. 197: uint64(0x140208f900000000),
  6092. 198: uint64(0xea79e89d00000000),
  6093. 199: uint64(0x7fad980800000000),
  6094. 200: uint64(0x383f882400000000),
  6095. 201: uint64(0xadebf8b100000000),
  6096. 202: uint64(0x539018d500000000),
  6097. 203: uint64(0xc644684000000000),
  6098. 204: uint64(0xaf67d81c00000000),
  6099. 205: uint64(0x3ab3a88900000000),
  6100. 206: uint64(0xc4c848ed00000000),
  6101. 207: uint64(0x511c387800000000),
  6102. 208: uint64(0x4aec69b500000000),
  6103. 209: uint64(0xdf38192000000000),
  6104. 210: uint64(0x2143f94400000000),
  6105. 211: uint64(0xb49789d100000000),
  6106. 212: uint64(0xddb4398d00000000),
  6107. 213: uint64(0x4860491800000000),
  6108. 214: uint64(0xb61ba97c00000000),
  6109. 215: uint64(0x23cfd9e900000000),
  6110. 216: uint64(0x645dc9c500000000),
  6111. 217: uint64(0xf189b95000000000),
  6112. 218: uint64(0x0ff2593400000000),
  6113. 219: uint64(0x9a2629a100000000),
  6114. 220: uint64(0xf30599fd00000000),
  6115. 221: uint64(0x66d1e96800000000),
  6116. 222: uint64(0x98aa090c00000000),
  6117. 223: uint64(0x0d7e799900000000),
  6118. 224: uint64(0xef4cdb4d00000000),
  6119. 225: uint64(0x7a98abd800000000),
  6120. 226: uint64(0x84e34bbc00000000),
  6121. 227: uint64(0x11373b2900000000),
  6122. 228: uint64(0x78148b7500000000),
  6123. 229: uint64(0xedc0fbe000000000),
  6124. 230: uint64(0x13bb1b8400000000),
  6125. 231: uint64(0x866f6b1100000000),
  6126. 232: uint64(0xc1fd7b3d00000000),
  6127. 233: uint64(0x54290ba800000000),
  6128. 234: uint64(0xaa52ebcc00000000),
  6129. 235: uint64(0x3f869b5900000000),
  6130. 236: uint64(0x56a52b0500000000),
  6131. 237: uint64(0xc3715b9000000000),
  6132. 238: uint64(0x3d0abbf400000000),
  6133. 239: uint64(0xa8decb6100000000),
  6134. 240: uint64(0xb32e9aac00000000),
  6135. 241: uint64(0x26faea3900000000),
  6136. 242: uint64(0xd8810a5d00000000),
  6137. 243: uint64(0x4d557ac800000000),
  6138. 244: uint64(0x2476ca9400000000),
  6139. 245: uint64(0xb1a2ba0100000000),
  6140. 246: uint64(0x4fd95a6500000000),
  6141. 247: uint64(0xda0d2af000000000),
  6142. 248: uint64(0x9d9f3adc00000000),
  6143. 249: uint64(0x084b4a4900000000),
  6144. 250: uint64(0xf630aa2d00000000),
  6145. 251: uint64(0x63e4dab800000000),
  6146. 252: uint64(0x0ac76ae400000000),
  6147. 253: uint64(0x9f131a7100000000),
  6148. 254: uint64(0x6168fa1500000000),
  6149. 255: uint64(0xf4bc8a8000000000),
  6150. },
  6151. 4: {
  6152. 1: uint64(0x1f17f08000000000),
  6153. 2: uint64(0x7f2891da00000000),
  6154. 3: uint64(0x603f615a00000000),
  6155. 4: uint64(0xbf56536e00000000),
  6156. 5: uint64(0xa041a3ee00000000),
  6157. 6: uint64(0xc07ec2b400000000),
  6158. 7: uint64(0xdf69323400000000),
  6159. 8: uint64(0x7eada6dc00000000),
  6160. 9: uint64(0x61ba565c00000000),
  6161. 10: uint64(0x0185370600000000),
  6162. 11: uint64(0x1e92c78600000000),
  6163. 12: uint64(0xc1fbf5b200000000),
  6164. 13: uint64(0xdeec053200000000),
  6165. 14: uint64(0xbed3646800000000),
  6166. 15: uint64(0xa1c494e800000000),
  6167. 16: uint64(0xbd5c3c6200000000),
  6168. 17: uint64(0xa24bcce200000000),
  6169. 18: uint64(0xc274adb800000000),
  6170. 19: uint64(0xdd635d3800000000),
  6171. 20: uint64(0x020a6f0c00000000),
  6172. 21: uint64(0x1d1d9f8c00000000),
  6173. 22: uint64(0x7d22fed600000000),
  6174. 23: uint64(0x62350e5600000000),
  6175. 24: uint64(0xc3f19abe00000000),
  6176. 25: uint64(0xdce66a3e00000000),
  6177. 26: uint64(0xbcd90b6400000000),
  6178. 27: uint64(0xa3cefbe400000000),
  6179. 28: uint64(0x7ca7c9d000000000),
  6180. 29: uint64(0x63b0395000000000),
  6181. 30: uint64(0x038f580a00000000),
  6182. 31: uint64(0x1c98a88a00000000),
  6183. 32: uint64(0x7ab978c400000000),
  6184. 33: uint64(0x65ae884400000000),
  6185. 34: uint64(0x0591e91e00000000),
  6186. 35: uint64(0x1a86199e00000000),
  6187. 36: uint64(0xc5ef2baa00000000),
  6188. 37: uint64(0xdaf8db2a00000000),
  6189. 38: uint64(0xbac7ba7000000000),
  6190. 39: uint64(0xa5d04af000000000),
  6191. 40: uint64(0x0414de1800000000),
  6192. 41: uint64(0x1b032e9800000000),
  6193. 42: uint64(0x7b3c4fc200000000),
  6194. 43: uint64(0x642bbf4200000000),
  6195. 44: uint64(0xbb428d7600000000),
  6196. 45: uint64(0xa4557df600000000),
  6197. 46: uint64(0xc46a1cac00000000),
  6198. 47: uint64(0xdb7dec2c00000000),
  6199. 48: uint64(0xc7e544a600000000),
  6200. 49: uint64(0xd8f2b42600000000),
  6201. 50: uint64(0xb8cdd57c00000000),
  6202. 51: uint64(0xa7da25fc00000000),
  6203. 52: uint64(0x78b317c800000000),
  6204. 53: uint64(0x67a4e74800000000),
  6205. 54: uint64(0x079b861200000000),
  6206. 55: uint64(0x188c769200000000),
  6207. 56: uint64(0xb948e27a00000000),
  6208. 57: uint64(0xa65f12fa00000000),
  6209. 58: uint64(0xc66073a000000000),
  6210. 59: uint64(0xd977832000000000),
  6211. 60: uint64(0x061eb11400000000),
  6212. 61: uint64(0x1909419400000000),
  6213. 62: uint64(0x793620ce00000000),
  6214. 63: uint64(0x6621d04e00000000),
  6215. 64: uint64(0xb574805300000000),
  6216. 65: uint64(0xaa6370d300000000),
  6217. 66: uint64(0xca5c118900000000),
  6218. 67: uint64(0xd54be10900000000),
  6219. 68: uint64(0x0a22d33d00000000),
  6220. 69: uint64(0x153523bd00000000),
  6221. 70: uint64(0x750a42e700000000),
  6222. 71: uint64(0x6a1db26700000000),
  6223. 72: uint64(0xcbd9268f00000000),
  6224. 73: uint64(0xd4ced60f00000000),
  6225. 74: uint64(0xb4f1b75500000000),
  6226. 75: uint64(0xabe647d500000000),
  6227. 76: uint64(0x748f75e100000000),
  6228. 77: uint64(0x6b98856100000000),
  6229. 78: uint64(0x0ba7e43b00000000),
  6230. 79: uint64(0x14b014bb00000000),
  6231. 80: uint64(0x0828bc3100000000),
  6232. 81: uint64(0x173f4cb100000000),
  6233. 82: uint64(0x77002deb00000000),
  6234. 83: uint64(0x6817dd6b00000000),
  6235. 84: uint64(0xb77eef5f00000000),
  6236. 85: uint64(0xa8691fdf00000000),
  6237. 86: uint64(0xc8567e8500000000),
  6238. 87: uint64(0xd7418e0500000000),
  6239. 88: uint64(0x76851aed00000000),
  6240. 89: uint64(0x6992ea6d00000000),
  6241. 90: uint64(0x09ad8b3700000000),
  6242. 91: uint64(0x16ba7bb700000000),
  6243. 92: uint64(0xc9d3498300000000),
  6244. 93: uint64(0xd6c4b90300000000),
  6245. 94: uint64(0xb6fbd85900000000),
  6246. 95: uint64(0xa9ec28d900000000),
  6247. 96: uint64(0xcfcdf89700000000),
  6248. 97: uint64(0xd0da081700000000),
  6249. 98: uint64(0xb0e5694d00000000),
  6250. 99: uint64(0xaff299cd00000000),
  6251. 100: uint64(0x709babf900000000),
  6252. 101: uint64(0x6f8c5b7900000000),
  6253. 102: uint64(0x0fb33a2300000000),
  6254. 103: uint64(0x10a4caa300000000),
  6255. 104: uint64(0xb1605e4b00000000),
  6256. 105: uint64(0xae77aecb00000000),
  6257. 106: uint64(0xce48cf9100000000),
  6258. 107: uint64(0xd15f3f1100000000),
  6259. 108: uint64(0x0e360d2500000000),
  6260. 109: uint64(0x1121fda500000000),
  6261. 110: uint64(0x711e9cff00000000),
  6262. 111: uint64(0x6e096c7f00000000),
  6263. 112: uint64(0x7291c4f500000000),
  6264. 113: uint64(0x6d86347500000000),
  6265. 114: uint64(0x0db9552f00000000),
  6266. 115: uint64(0x12aea5af00000000),
  6267. 116: uint64(0xcdc7979b00000000),
  6268. 117: uint64(0xd2d0671b00000000),
  6269. 118: uint64(0xb2ef064100000000),
  6270. 119: uint64(0xadf8f6c100000000),
  6271. 120: uint64(0x0c3c622900000000),
  6272. 121: uint64(0x132b92a900000000),
  6273. 122: uint64(0x7314f3f300000000),
  6274. 123: uint64(0x6c03037300000000),
  6275. 124: uint64(0xb36a314700000000),
  6276. 125: uint64(0xac7dc1c700000000),
  6277. 126: uint64(0xcc42a09d00000000),
  6278. 127: uint64(0xd355501d00000000),
  6279. 128: uint64(0x6ae900a700000000),
  6280. 129: uint64(0x75fef02700000000),
  6281. 130: uint64(0x15c1917d00000000),
  6282. 131: uint64(0x0ad661fd00000000),
  6283. 132: uint64(0xd5bf53c900000000),
  6284. 133: uint64(0xcaa8a34900000000),
  6285. 134: uint64(0xaa97c21300000000),
  6286. 135: uint64(0xb580329300000000),
  6287. 136: uint64(0x1444a67b00000000),
  6288. 137: uint64(0x0b5356fb00000000),
  6289. 138: uint64(0x6b6c37a100000000),
  6290. 139: uint64(0x747bc72100000000),
  6291. 140: uint64(0xab12f51500000000),
  6292. 141: uint64(0xb405059500000000),
  6293. 142: uint64(0xd43a64cf00000000),
  6294. 143: uint64(0xcb2d944f00000000),
  6295. 144: uint64(0xd7b53cc500000000),
  6296. 145: uint64(0xc8a2cc4500000000),
  6297. 146: uint64(0xa89dad1f00000000),
  6298. 147: uint64(0xb78a5d9f00000000),
  6299. 148: uint64(0x68e36fab00000000),
  6300. 149: uint64(0x77f49f2b00000000),
  6301. 150: uint64(0x17cbfe7100000000),
  6302. 151: uint64(0x08dc0ef100000000),
  6303. 152: uint64(0xa9189a1900000000),
  6304. 153: uint64(0xb60f6a9900000000),
  6305. 154: uint64(0xd6300bc300000000),
  6306. 155: uint64(0xc927fb4300000000),
  6307. 156: uint64(0x164ec97700000000),
  6308. 157: uint64(0x095939f700000000),
  6309. 158: uint64(0x696658ad00000000),
  6310. 159: uint64(0x7671a82d00000000),
  6311. 160: uint64(0x1050786300000000),
  6312. 161: uint64(0x0f4788e300000000),
  6313. 162: uint64(0x6f78e9b900000000),
  6314. 163: uint64(0x706f193900000000),
  6315. 164: uint64(0xaf062b0d00000000),
  6316. 165: uint64(0xb011db8d00000000),
  6317. 166: uint64(0xd02ebad700000000),
  6318. 167: uint64(0xcf394a5700000000),
  6319. 168: uint64(0x6efddebf00000000),
  6320. 169: uint64(0x71ea2e3f00000000),
  6321. 170: uint64(0x11d54f6500000000),
  6322. 171: uint64(0x0ec2bfe500000000),
  6323. 172: uint64(0xd1ab8dd100000000),
  6324. 173: uint64(0xcebc7d5100000000),
  6325. 174: uint64(0xae831c0b00000000),
  6326. 175: uint64(0xb194ec8b00000000),
  6327. 176: uint64(0xad0c440100000000),
  6328. 177: uint64(0xb21bb48100000000),
  6329. 178: uint64(0xd224d5db00000000),
  6330. 179: uint64(0xcd33255b00000000),
  6331. 180: uint64(0x125a176f00000000),
  6332. 181: uint64(0x0d4de7ef00000000),
  6333. 182: uint64(0x6d7286b500000000),
  6334. 183: uint64(0x7265763500000000),
  6335. 184: uint64(0xd3a1e2dd00000000),
  6336. 185: uint64(0xccb6125d00000000),
  6337. 186: uint64(0xac89730700000000),
  6338. 187: uint64(0xb39e838700000000),
  6339. 188: uint64(0x6cf7b1b300000000),
  6340. 189: uint64(0x73e0413300000000),
  6341. 190: uint64(0x13df206900000000),
  6342. 191: uint64(0x0cc8d0e900000000),
  6343. 192: uint64(0xdf9d80f400000000),
  6344. 193: uint64(0xc08a707400000000),
  6345. 194: uint64(0xa0b5112e00000000),
  6346. 195: uint64(0xbfa2e1ae00000000),
  6347. 196: uint64(0x60cbd39a00000000),
  6348. 197: uint64(0x7fdc231a00000000),
  6349. 198: uint64(0x1fe3424000000000),
  6350. 199: uint64(0x00f4b2c000000000),
  6351. 200: uint64(0xa130262800000000),
  6352. 201: uint64(0xbe27d6a800000000),
  6353. 202: uint64(0xde18b7f200000000),
  6354. 203: uint64(0xc10f477200000000),
  6355. 204: uint64(0x1e66754600000000),
  6356. 205: uint64(0x017185c600000000),
  6357. 206: uint64(0x614ee49c00000000),
  6358. 207: uint64(0x7e59141c00000000),
  6359. 208: uint64(0x62c1bc9600000000),
  6360. 209: uint64(0x7dd64c1600000000),
  6361. 210: uint64(0x1de92d4c00000000),
  6362. 211: uint64(0x02feddcc00000000),
  6363. 212: uint64(0xdd97eff800000000),
  6364. 213: uint64(0xc2801f7800000000),
  6365. 214: uint64(0xa2bf7e2200000000),
  6366. 215: uint64(0xbda88ea200000000),
  6367. 216: uint64(0x1c6c1a4a00000000),
  6368. 217: uint64(0x037beaca00000000),
  6369. 218: uint64(0x63448b9000000000),
  6370. 219: uint64(0x7c537b1000000000),
  6371. 220: uint64(0xa33a492400000000),
  6372. 221: uint64(0xbc2db9a400000000),
  6373. 222: uint64(0xdc12d8fe00000000),
  6374. 223: uint64(0xc305287e00000000),
  6375. 224: uint64(0xa524f83000000000),
  6376. 225: uint64(0xba3308b000000000),
  6377. 226: uint64(0xda0c69ea00000000),
  6378. 227: uint64(0xc51b996a00000000),
  6379. 228: uint64(0x1a72ab5e00000000),
  6380. 229: uint64(0x05655bde00000000),
  6381. 230: uint64(0x655a3a8400000000),
  6382. 231: uint64(0x7a4dca0400000000),
  6383. 232: uint64(0xdb895eec00000000),
  6384. 233: uint64(0xc49eae6c00000000),
  6385. 234: uint64(0xa4a1cf3600000000),
  6386. 235: uint64(0xbbb63fb600000000),
  6387. 236: uint64(0x64df0d8200000000),
  6388. 237: uint64(0x7bc8fd0200000000),
  6389. 238: uint64(0x1bf79c5800000000),
  6390. 239: uint64(0x04e06cd800000000),
  6391. 240: uint64(0x1878c45200000000),
  6392. 241: uint64(0x076f34d200000000),
  6393. 242: uint64(0x6750558800000000),
  6394. 243: uint64(0x7847a50800000000),
  6395. 244: uint64(0xa72e973c00000000),
  6396. 245: uint64(0xb83967bc00000000),
  6397. 246: uint64(0xd80606e600000000),
  6398. 247: uint64(0xc711f66600000000),
  6399. 248: uint64(0x66d5628e00000000),
  6400. 249: uint64(0x79c2920e00000000),
  6401. 250: uint64(0x19fdf35400000000),
  6402. 251: uint64(0x06ea03d400000000),
  6403. 252: uint64(0xd98331e000000000),
  6404. 253: uint64(0xc694c16000000000),
  6405. 254: uint64(0xa6aba03a00000000),
  6406. 255: uint64(0xb9bc50ba00000000),
  6407. },
  6408. 5: {
  6409. 1: uint64(0xe2fd888d00000000),
  6410. 2: uint64(0x85fd60c000000000),
  6411. 3: uint64(0x6700e84d00000000),
  6412. 4: uint64(0x4bfdb05b00000000),
  6413. 5: uint64(0xa90038d600000000),
  6414. 6: uint64(0xce00d09b00000000),
  6415. 7: uint64(0x2cfd581600000000),
  6416. 8: uint64(0x96fa61b700000000),
  6417. 9: uint64(0x7407e93a00000000),
  6418. 10: uint64(0x1307017700000000),
  6419. 11: uint64(0xf1fa89fa00000000),
  6420. 12: uint64(0xdd07d1ec00000000),
  6421. 13: uint64(0x3ffa596100000000),
  6422. 14: uint64(0x58fab12c00000000),
  6423. 15: uint64(0xba0739a100000000),
  6424. 16: uint64(0x6df3b2b500000000),
  6425. 17: uint64(0x8f0e3a3800000000),
  6426. 18: uint64(0xe80ed27500000000),
  6427. 19: uint64(0x0af35af800000000),
  6428. 20: uint64(0x260e02ee00000000),
  6429. 21: uint64(0xc4f38a6300000000),
  6430. 22: uint64(0xa3f3622e00000000),
  6431. 23: uint64(0x410eeaa300000000),
  6432. 24: uint64(0xfb09d30200000000),
  6433. 25: uint64(0x19f45b8f00000000),
  6434. 26: uint64(0x7ef4b3c200000000),
  6435. 27: uint64(0x9c093b4f00000000),
  6436. 28: uint64(0xb0f4635900000000),
  6437. 29: uint64(0x5209ebd400000000),
  6438. 30: uint64(0x3509039900000000),
  6439. 31: uint64(0xd7f48b1400000000),
  6440. 32: uint64(0x9be014b000000000),
  6441. 33: uint64(0x791d9c3d00000000),
  6442. 34: uint64(0x1e1d747000000000),
  6443. 35: uint64(0xfce0fcfd00000000),
  6444. 36: uint64(0xd01da4eb00000000),
  6445. 37: uint64(0x32e02c6600000000),
  6446. 38: uint64(0x55e0c42b00000000),
  6447. 39: uint64(0xb71d4ca600000000),
  6448. 40: uint64(0x0d1a750700000000),
  6449. 41: uint64(0xefe7fd8a00000000),
  6450. 42: uint64(0x88e715c700000000),
  6451. 43: uint64(0x6a1a9d4a00000000),
  6452. 44: uint64(0x46e7c55c00000000),
  6453. 45: uint64(0xa41a4dd100000000),
  6454. 46: uint64(0xc31aa59c00000000),
  6455. 47: uint64(0x21e72d1100000000),
  6456. 48: uint64(0xf613a60500000000),
  6457. 49: uint64(0x14ee2e8800000000),
  6458. 50: uint64(0x73eec6c500000000),
  6459. 51: uint64(0x91134e4800000000),
  6460. 52: uint64(0xbdee165e00000000),
  6461. 53: uint64(0x5f139ed300000000),
  6462. 54: uint64(0x3813769e00000000),
  6463. 55: uint64(0xdaeefe1300000000),
  6464. 56: uint64(0x60e9c7b200000000),
  6465. 57: uint64(0x82144f3f00000000),
  6466. 58: uint64(0xe514a77200000000),
  6467. 59: uint64(0x07e92fff00000000),
  6468. 60: uint64(0x2b1477e900000000),
  6469. 61: uint64(0xc9e9ff6400000000),
  6470. 62: uint64(0xaee9172900000000),
  6471. 63: uint64(0x4c149fa400000000),
  6472. 64: uint64(0x77c758bb00000000),
  6473. 65: uint64(0x953ad03600000000),
  6474. 66: uint64(0xf23a387b00000000),
  6475. 67: uint64(0x10c7b0f600000000),
  6476. 68: uint64(0x3c3ae8e000000000),
  6477. 69: uint64(0xdec7606d00000000),
  6478. 70: uint64(0xb9c7882000000000),
  6479. 71: uint64(0x5b3a00ad00000000),
  6480. 72: uint64(0xe13d390c00000000),
  6481. 73: uint64(0x03c0b18100000000),
  6482. 74: uint64(0x64c059cc00000000),
  6483. 75: uint64(0x863dd14100000000),
  6484. 76: uint64(0xaac0895700000000),
  6485. 77: uint64(0x483d01da00000000),
  6486. 78: uint64(0x2f3de99700000000),
  6487. 79: uint64(0xcdc0611a00000000),
  6488. 80: uint64(0x1a34ea0e00000000),
  6489. 81: uint64(0xf8c9628300000000),
  6490. 82: uint64(0x9fc98ace00000000),
  6491. 83: uint64(0x7d34024300000000),
  6492. 84: uint64(0x51c95a5500000000),
  6493. 85: uint64(0xb334d2d800000000),
  6494. 86: uint64(0xd4343a9500000000),
  6495. 87: uint64(0x36c9b21800000000),
  6496. 88: uint64(0x8cce8bb900000000),
  6497. 89: uint64(0x6e33033400000000),
  6498. 90: uint64(0x0933eb7900000000),
  6499. 91: uint64(0xebce63f400000000),
  6500. 92: uint64(0xc7333be200000000),
  6501. 93: uint64(0x25ceb36f00000000),
  6502. 94: uint64(0x42ce5b2200000000),
  6503. 95: uint64(0xa033d3af00000000),
  6504. 96: uint64(0xec274c0b00000000),
  6505. 97: uint64(0x0edac48600000000),
  6506. 98: uint64(0x69da2ccb00000000),
  6507. 99: uint64(0x8b27a44600000000),
  6508. 100: uint64(0xa7dafc5000000000),
  6509. 101: uint64(0x452774dd00000000),
  6510. 102: uint64(0x22279c9000000000),
  6511. 103: uint64(0xc0da141d00000000),
  6512. 104: uint64(0x7add2dbc00000000),
  6513. 105: uint64(0x9820a53100000000),
  6514. 106: uint64(0xff204d7c00000000),
  6515. 107: uint64(0x1dddc5f100000000),
  6516. 108: uint64(0x31209de700000000),
  6517. 109: uint64(0xd3dd156a00000000),
  6518. 110: uint64(0xb4ddfd2700000000),
  6519. 111: uint64(0x562075aa00000000),
  6520. 112: uint64(0x81d4febe00000000),
  6521. 113: uint64(0x6329763300000000),
  6522. 114: uint64(0x04299e7e00000000),
  6523. 115: uint64(0xe6d416f300000000),
  6524. 116: uint64(0xca294ee500000000),
  6525. 117: uint64(0x28d4c66800000000),
  6526. 118: uint64(0x4fd42e2500000000),
  6527. 119: uint64(0xad29a6a800000000),
  6528. 120: uint64(0x172e9f0900000000),
  6529. 121: uint64(0xf5d3178400000000),
  6530. 122: uint64(0x92d3ffc900000000),
  6531. 123: uint64(0x702e774400000000),
  6532. 124: uint64(0x5cd32f5200000000),
  6533. 125: uint64(0xbe2ea7df00000000),
  6534. 126: uint64(0xd92e4f9200000000),
  6535. 127: uint64(0x3bd3c71f00000000),
  6536. 128: uint64(0xaf88c0ad00000000),
  6537. 129: uint64(0x4d75482000000000),
  6538. 130: uint64(0x2a75a06d00000000),
  6539. 131: uint64(0xc88828e000000000),
  6540. 132: uint64(0xe47570f600000000),
  6541. 133: uint64(0x0688f87b00000000),
  6542. 134: uint64(0x6188103600000000),
  6543. 135: uint64(0x837598bb00000000),
  6544. 136: uint64(0x3972a11a00000000),
  6545. 137: uint64(0xdb8f299700000000),
  6546. 138: uint64(0xbc8fc1da00000000),
  6547. 139: uint64(0x5e72495700000000),
  6548. 140: uint64(0x728f114100000000),
  6549. 141: uint64(0x907299cc00000000),
  6550. 142: uint64(0xf772718100000000),
  6551. 143: uint64(0x158ff90c00000000),
  6552. 144: uint64(0xc27b721800000000),
  6553. 145: uint64(0x2086fa9500000000),
  6554. 146: uint64(0x478612d800000000),
  6555. 147: uint64(0xa57b9a5500000000),
  6556. 148: uint64(0x8986c24300000000),
  6557. 149: uint64(0x6b7b4ace00000000),
  6558. 150: uint64(0x0c7ba28300000000),
  6559. 151: uint64(0xee862a0e00000000),
  6560. 152: uint64(0x548113af00000000),
  6561. 153: uint64(0xb67c9b2200000000),
  6562. 154: uint64(0xd17c736f00000000),
  6563. 155: uint64(0x3381fbe200000000),
  6564. 156: uint64(0x1f7ca3f400000000),
  6565. 157: uint64(0xfd812b7900000000),
  6566. 158: uint64(0x9a81c33400000000),
  6567. 159: uint64(0x787c4bb900000000),
  6568. 160: uint64(0x3468d41d00000000),
  6569. 161: uint64(0xd6955c9000000000),
  6570. 162: uint64(0xb195b4dd00000000),
  6571. 163: uint64(0x53683c5000000000),
  6572. 164: uint64(0x7f95644600000000),
  6573. 165: uint64(0x9d68eccb00000000),
  6574. 166: uint64(0xfa68048600000000),
  6575. 167: uint64(0x18958c0b00000000),
  6576. 168: uint64(0xa292b5aa00000000),
  6577. 169: uint64(0x406f3d2700000000),
  6578. 170: uint64(0x276fd56a00000000),
  6579. 171: uint64(0xc5925de700000000),
  6580. 172: uint64(0xe96f05f100000000),
  6581. 173: uint64(0x0b928d7c00000000),
  6582. 174: uint64(0x6c92653100000000),
  6583. 175: uint64(0x8e6fedbc00000000),
  6584. 176: uint64(0x599b66a800000000),
  6585. 177: uint64(0xbb66ee2500000000),
  6586. 178: uint64(0xdc66066800000000),
  6587. 179: uint64(0x3e9b8ee500000000),
  6588. 180: uint64(0x1266d6f300000000),
  6589. 181: uint64(0xf09b5e7e00000000),
  6590. 182: uint64(0x979bb63300000000),
  6591. 183: uint64(0x75663ebe00000000),
  6592. 184: uint64(0xcf61071f00000000),
  6593. 185: uint64(0x2d9c8f9200000000),
  6594. 186: uint64(0x4a9c67df00000000),
  6595. 187: uint64(0xa861ef5200000000),
  6596. 188: uint64(0x849cb74400000000),
  6597. 189: uint64(0x66613fc900000000),
  6598. 190: uint64(0x0161d78400000000),
  6599. 191: uint64(0xe39c5f0900000000),
  6600. 192: uint64(0xd84f981600000000),
  6601. 193: uint64(0x3ab2109b00000000),
  6602. 194: uint64(0x5db2f8d600000000),
  6603. 195: uint64(0xbf4f705b00000000),
  6604. 196: uint64(0x93b2284d00000000),
  6605. 197: uint64(0x714fa0c000000000),
  6606. 198: uint64(0x164f488d00000000),
  6607. 199: uint64(0xf4b2c00000000000),
  6608. 200: uint64(0x4eb5f9a100000000),
  6609. 201: uint64(0xac48712c00000000),
  6610. 202: uint64(0xcb48996100000000),
  6611. 203: uint64(0x29b511ec00000000),
  6612. 204: uint64(0x054849fa00000000),
  6613. 205: uint64(0xe7b5c17700000000),
  6614. 206: uint64(0x80b5293a00000000),
  6615. 207: uint64(0x6248a1b700000000),
  6616. 208: uint64(0xb5bc2aa300000000),
  6617. 209: uint64(0x5741a22e00000000),
  6618. 210: uint64(0x30414a6300000000),
  6619. 211: uint64(0xd2bcc2ee00000000),
  6620. 212: uint64(0xfe419af800000000),
  6621. 213: uint64(0x1cbc127500000000),
  6622. 214: uint64(0x7bbcfa3800000000),
  6623. 215: uint64(0x994172b500000000),
  6624. 216: uint64(0x23464b1400000000),
  6625. 217: uint64(0xc1bbc39900000000),
  6626. 218: uint64(0xa6bb2bd400000000),
  6627. 219: uint64(0x4446a35900000000),
  6628. 220: uint64(0x68bbfb4f00000000),
  6629. 221: uint64(0x8a4673c200000000),
  6630. 222: uint64(0xed469b8f00000000),
  6631. 223: uint64(0x0fbb130200000000),
  6632. 224: uint64(0x43af8ca600000000),
  6633. 225: uint64(0xa152042b00000000),
  6634. 226: uint64(0xc652ec6600000000),
  6635. 227: uint64(0x24af64eb00000000),
  6636. 228: uint64(0x08523cfd00000000),
  6637. 229: uint64(0xeaafb47000000000),
  6638. 230: uint64(0x8daf5c3d00000000),
  6639. 231: uint64(0x6f52d4b000000000),
  6640. 232: uint64(0xd555ed1100000000),
  6641. 233: uint64(0x37a8659c00000000),
  6642. 234: uint64(0x50a88dd100000000),
  6643. 235: uint64(0xb255055c00000000),
  6644. 236: uint64(0x9ea85d4a00000000),
  6645. 237: uint64(0x7c55d5c700000000),
  6646. 238: uint64(0x1b553d8a00000000),
  6647. 239: uint64(0xf9a8b50700000000),
  6648. 240: uint64(0x2e5c3e1300000000),
  6649. 241: uint64(0xcca1b69e00000000),
  6650. 242: uint64(0xaba15ed300000000),
  6651. 243: uint64(0x495cd65e00000000),
  6652. 244: uint64(0x65a18e4800000000),
  6653. 245: uint64(0x875c06c500000000),
  6654. 246: uint64(0xe05cee8800000000),
  6655. 247: uint64(0x02a1660500000000),
  6656. 248: uint64(0xb8a65fa400000000),
  6657. 249: uint64(0x5a5bd72900000000),
  6658. 250: uint64(0x3d5b3f6400000000),
  6659. 251: uint64(0xdfa6b7e900000000),
  6660. 252: uint64(0xf35befff00000000),
  6661. 253: uint64(0x11a6677200000000),
  6662. 254: uint64(0x76a68f3f00000000),
  6663. 255: uint64(0x945b07b200000000),
  6664. },
  6665. 6: {
  6666. 1: uint64(0xa90b894e00000000),
  6667. 2: uint64(0x5217129d00000000),
  6668. 3: uint64(0xfb1c9bd300000000),
  6669. 4: uint64(0xe52855e100000000),
  6670. 5: uint64(0x4c23dcaf00000000),
  6671. 6: uint64(0xb73f477c00000000),
  6672. 7: uint64(0x1e34ce3200000000),
  6673. 8: uint64(0x8b57db1900000000),
  6674. 9: uint64(0x225c525700000000),
  6675. 10: uint64(0xd940c98400000000),
  6676. 11: uint64(0x704b40ca00000000),
  6677. 12: uint64(0x6e7f8ef800000000),
  6678. 13: uint64(0xc77407b600000000),
  6679. 14: uint64(0x3c689c6500000000),
  6680. 15: uint64(0x9563152b00000000),
  6681. 16: uint64(0x16afb63300000000),
  6682. 17: uint64(0xbfa43f7d00000000),
  6683. 18: uint64(0x44b8a4ae00000000),
  6684. 19: uint64(0xedb32de000000000),
  6685. 20: uint64(0xf387e3d200000000),
  6686. 21: uint64(0x5a8c6a9c00000000),
  6687. 22: uint64(0xa190f14f00000000),
  6688. 23: uint64(0x089b780100000000),
  6689. 24: uint64(0x9df86d2a00000000),
  6690. 25: uint64(0x34f3e46400000000),
  6691. 26: uint64(0xcfef7fb700000000),
  6692. 27: uint64(0x66e4f6f900000000),
  6693. 28: uint64(0x78d038cb00000000),
  6694. 29: uint64(0xd1dbb18500000000),
  6695. 30: uint64(0x2ac72a5600000000),
  6696. 31: uint64(0x83cca31800000000),
  6697. 32: uint64(0x2c5e6d6700000000),
  6698. 33: uint64(0x8555e42900000000),
  6699. 34: uint64(0x7e497ffa00000000),
  6700. 35: uint64(0xd742f6b400000000),
  6701. 36: uint64(0xc976388600000000),
  6702. 37: uint64(0x607db1c800000000),
  6703. 38: uint64(0x9b612a1b00000000),
  6704. 39: uint64(0x326aa35500000000),
  6705. 40: uint64(0xa709b67e00000000),
  6706. 41: uint64(0x0e023f3000000000),
  6707. 42: uint64(0xf51ea4e300000000),
  6708. 43: uint64(0x5c152dad00000000),
  6709. 44: uint64(0x4221e39f00000000),
  6710. 45: uint64(0xeb2a6ad100000000),
  6711. 46: uint64(0x1036f10200000000),
  6712. 47: uint64(0xb93d784c00000000),
  6713. 48: uint64(0x3af1db5400000000),
  6714. 49: uint64(0x93fa521a00000000),
  6715. 50: uint64(0x68e6c9c900000000),
  6716. 51: uint64(0xc1ed408700000000),
  6717. 52: uint64(0xdfd98eb500000000),
  6718. 53: uint64(0x76d207fb00000000),
  6719. 54: uint64(0x8dce9c2800000000),
  6720. 55: uint64(0x24c5156600000000),
  6721. 56: uint64(0xb1a6004d00000000),
  6722. 57: uint64(0x18ad890300000000),
  6723. 58: uint64(0xe3b112d000000000),
  6724. 59: uint64(0x4aba9b9e00000000),
  6725. 60: uint64(0x548e55ac00000000),
  6726. 61: uint64(0xfd85dce200000000),
  6727. 62: uint64(0x0699473100000000),
  6728. 63: uint64(0xaf92ce7f00000000),
  6729. 64: uint64(0x58bcdace00000000),
  6730. 65: uint64(0xf1b7538000000000),
  6731. 66: uint64(0x0aabc85300000000),
  6732. 67: uint64(0xa3a0411d00000000),
  6733. 68: uint64(0xbd948f2f00000000),
  6734. 69: uint64(0x149f066100000000),
  6735. 70: uint64(0xef839db200000000),
  6736. 71: uint64(0x468814fc00000000),
  6737. 72: uint64(0xd3eb01d700000000),
  6738. 73: uint64(0x7ae0889900000000),
  6739. 74: uint64(0x81fc134a00000000),
  6740. 75: uint64(0x28f79a0400000000),
  6741. 76: uint64(0x36c3543600000000),
  6742. 77: uint64(0x9fc8dd7800000000),
  6743. 78: uint64(0x64d446ab00000000),
  6744. 79: uint64(0xcddfcfe500000000),
  6745. 80: uint64(0x4e136cfd00000000),
  6746. 81: uint64(0xe718e5b300000000),
  6747. 82: uint64(0x1c047e6000000000),
  6748. 83: uint64(0xb50ff72e00000000),
  6749. 84: uint64(0xab3b391c00000000),
  6750. 85: uint64(0x0230b05200000000),
  6751. 86: uint64(0xf92c2b8100000000),
  6752. 87: uint64(0x5027a2cf00000000),
  6753. 88: uint64(0xc544b7e400000000),
  6754. 89: uint64(0x6c4f3eaa00000000),
  6755. 90: uint64(0x9753a57900000000),
  6756. 91: uint64(0x3e582c3700000000),
  6757. 92: uint64(0x206ce20500000000),
  6758. 93: uint64(0x89676b4b00000000),
  6759. 94: uint64(0x727bf09800000000),
  6760. 95: uint64(0xdb7079d600000000),
  6761. 96: uint64(0x74e2b7a900000000),
  6762. 97: uint64(0xdde93ee700000000),
  6763. 98: uint64(0x26f5a53400000000),
  6764. 99: uint64(0x8ffe2c7a00000000),
  6765. 100: uint64(0x91cae24800000000),
  6766. 101: uint64(0x38c16b0600000000),
  6767. 102: uint64(0xc3ddf0d500000000),
  6768. 103: uint64(0x6ad6799b00000000),
  6769. 104: uint64(0xffb56cb000000000),
  6770. 105: uint64(0x56bee5fe00000000),
  6771. 106: uint64(0xada27e2d00000000),
  6772. 107: uint64(0x04a9f76300000000),
  6773. 108: uint64(0x1a9d395100000000),
  6774. 109: uint64(0xb396b01f00000000),
  6775. 110: uint64(0x488a2bcc00000000),
  6776. 111: uint64(0xe181a28200000000),
  6777. 112: uint64(0x624d019a00000000),
  6778. 113: uint64(0xcb4688d400000000),
  6779. 114: uint64(0x305a130700000000),
  6780. 115: uint64(0x99519a4900000000),
  6781. 116: uint64(0x8765547b00000000),
  6782. 117: uint64(0x2e6edd3500000000),
  6783. 118: uint64(0xd57246e600000000),
  6784. 119: uint64(0x7c79cfa800000000),
  6785. 120: uint64(0xe91ada8300000000),
  6786. 121: uint64(0x401153cd00000000),
  6787. 122: uint64(0xbb0dc81e00000000),
  6788. 123: uint64(0x1206415000000000),
  6789. 124: uint64(0x0c328f6200000000),
  6790. 125: uint64(0xa539062c00000000),
  6791. 126: uint64(0x5e259dff00000000),
  6792. 127: uint64(0xf72e14b100000000),
  6793. 128: uint64(0xf17ec44600000000),
  6794. 129: uint64(0x58754d0800000000),
  6795. 130: uint64(0xa369d6db00000000),
  6796. 131: uint64(0x0a625f9500000000),
  6797. 132: uint64(0x145691a700000000),
  6798. 133: uint64(0xbd5d18e900000000),
  6799. 134: uint64(0x4641833a00000000),
  6800. 135: uint64(0xef4a0a7400000000),
  6801. 136: uint64(0x7a291f5f00000000),
  6802. 137: uint64(0xd322961100000000),
  6803. 138: uint64(0x283e0dc200000000),
  6804. 139: uint64(0x8135848c00000000),
  6805. 140: uint64(0x9f014abe00000000),
  6806. 141: uint64(0x360ac3f000000000),
  6807. 142: uint64(0xcd16582300000000),
  6808. 143: uint64(0x641dd16d00000000),
  6809. 144: uint64(0xe7d1727500000000),
  6810. 145: uint64(0x4edafb3b00000000),
  6811. 146: uint64(0xb5c660e800000000),
  6812. 147: uint64(0x1ccde9a600000000),
  6813. 148: uint64(0x02f9279400000000),
  6814. 149: uint64(0xabf2aeda00000000),
  6815. 150: uint64(0x50ee350900000000),
  6816. 151: uint64(0xf9e5bc4700000000),
  6817. 152: uint64(0x6c86a96c00000000),
  6818. 153: uint64(0xc58d202200000000),
  6819. 154: uint64(0x3e91bbf100000000),
  6820. 155: uint64(0x979a32bf00000000),
  6821. 156: uint64(0x89aefc8d00000000),
  6822. 157: uint64(0x20a575c300000000),
  6823. 158: uint64(0xdbb9ee1000000000),
  6824. 159: uint64(0x72b2675e00000000),
  6825. 160: uint64(0xdd20a92100000000),
  6826. 161: uint64(0x742b206f00000000),
  6827. 162: uint64(0x8f37bbbc00000000),
  6828. 163: uint64(0x263c32f200000000),
  6829. 164: uint64(0x3808fcc000000000),
  6830. 165: uint64(0x9103758e00000000),
  6831. 166: uint64(0x6a1fee5d00000000),
  6832. 167: uint64(0xc314671300000000),
  6833. 168: uint64(0x5677723800000000),
  6834. 169: uint64(0xff7cfb7600000000),
  6835. 170: uint64(0x046060a500000000),
  6836. 171: uint64(0xad6be9eb00000000),
  6837. 172: uint64(0xb35f27d900000000),
  6838. 173: uint64(0x1a54ae9700000000),
  6839. 174: uint64(0xe148354400000000),
  6840. 175: uint64(0x4843bc0a00000000),
  6841. 176: uint64(0xcb8f1f1200000000),
  6842. 177: uint64(0x6284965c00000000),
  6843. 178: uint64(0x99980d8f00000000),
  6844. 179: uint64(0x309384c100000000),
  6845. 180: uint64(0x2ea74af300000000),
  6846. 181: uint64(0x87acc3bd00000000),
  6847. 182: uint64(0x7cb0586e00000000),
  6848. 183: uint64(0xd5bbd12000000000),
  6849. 184: uint64(0x40d8c40b00000000),
  6850. 185: uint64(0xe9d34d4500000000),
  6851. 186: uint64(0x12cfd69600000000),
  6852. 187: uint64(0xbbc45fd800000000),
  6853. 188: uint64(0xa5f091ea00000000),
  6854. 189: uint64(0x0cfb18a400000000),
  6855. 190: uint64(0xf7e7837700000000),
  6856. 191: uint64(0x5eec0a3900000000),
  6857. 192: uint64(0xa9c21e8800000000),
  6858. 193: uint64(0x00c997c600000000),
  6859. 194: uint64(0xfbd50c1500000000),
  6860. 195: uint64(0x52de855b00000000),
  6861. 196: uint64(0x4cea4b6900000000),
  6862. 197: uint64(0xe5e1c22700000000),
  6863. 198: uint64(0x1efd59f400000000),
  6864. 199: uint64(0xb7f6d0ba00000000),
  6865. 200: uint64(0x2295c59100000000),
  6866. 201: uint64(0x8b9e4cdf00000000),
  6867. 202: uint64(0x7082d70c00000000),
  6868. 203: uint64(0xd9895e4200000000),
  6869. 204: uint64(0xc7bd907000000000),
  6870. 205: uint64(0x6eb6193e00000000),
  6871. 206: uint64(0x95aa82ed00000000),
  6872. 207: uint64(0x3ca10ba300000000),
  6873. 208: uint64(0xbf6da8bb00000000),
  6874. 209: uint64(0x166621f500000000),
  6875. 210: uint64(0xed7aba2600000000),
  6876. 211: uint64(0x4471336800000000),
  6877. 212: uint64(0x5a45fd5a00000000),
  6878. 213: uint64(0xf34e741400000000),
  6879. 214: uint64(0x0852efc700000000),
  6880. 215: uint64(0xa159668900000000),
  6881. 216: uint64(0x343a73a200000000),
  6882. 217: uint64(0x9d31faec00000000),
  6883. 218: uint64(0x662d613f00000000),
  6884. 219: uint64(0xcf26e87100000000),
  6885. 220: uint64(0xd112264300000000),
  6886. 221: uint64(0x7819af0d00000000),
  6887. 222: uint64(0x830534de00000000),
  6888. 223: uint64(0x2a0ebd9000000000),
  6889. 224: uint64(0x859c73ef00000000),
  6890. 225: uint64(0x2c97faa100000000),
  6891. 226: uint64(0xd78b617200000000),
  6892. 227: uint64(0x7e80e83c00000000),
  6893. 228: uint64(0x60b4260e00000000),
  6894. 229: uint64(0xc9bfaf4000000000),
  6895. 230: uint64(0x32a3349300000000),
  6896. 231: uint64(0x9ba8bddd00000000),
  6897. 232: uint64(0x0ecba8f600000000),
  6898. 233: uint64(0xa7c021b800000000),
  6899. 234: uint64(0x5cdcba6b00000000),
  6900. 235: uint64(0xf5d7332500000000),
  6901. 236: uint64(0xebe3fd1700000000),
  6902. 237: uint64(0x42e8745900000000),
  6903. 238: uint64(0xb9f4ef8a00000000),
  6904. 239: uint64(0x10ff66c400000000),
  6905. 240: uint64(0x9333c5dc00000000),
  6906. 241: uint64(0x3a384c9200000000),
  6907. 242: uint64(0xc124d74100000000),
  6908. 243: uint64(0x682f5e0f00000000),
  6909. 244: uint64(0x761b903d00000000),
  6910. 245: uint64(0xdf10197300000000),
  6911. 246: uint64(0x240c82a000000000),
  6912. 247: uint64(0x8d070bee00000000),
  6913. 248: uint64(0x18641ec500000000),
  6914. 249: uint64(0xb16f978b00000000),
  6915. 250: uint64(0x4a730c5800000000),
  6916. 251: uint64(0xe378851600000000),
  6917. 252: uint64(0xfd4c4b2400000000),
  6918. 253: uint64(0x5447c26a00000000),
  6919. 254: uint64(0xaf5b59b900000000),
  6920. 255: uint64(0x0650d0f700000000),
  6921. },
  6922. 7: {
  6923. 1: uint64(0x479244af00000000),
  6924. 2: uint64(0xcf22f88500000000),
  6925. 3: uint64(0x88b0bc2a00000000),
  6926. 4: uint64(0xdf4381d000000000),
  6927. 5: uint64(0x98d1c57f00000000),
  6928. 6: uint64(0x1061795500000000),
  6929. 7: uint64(0x57f33dfa00000000),
  6930. 8: uint64(0xff81737a00000000),
  6931. 9: uint64(0xb81337d500000000),
  6932. 10: uint64(0x30a38bff00000000),
  6933. 11: uint64(0x7731cf5000000000),
  6934. 12: uint64(0x20c2f2aa00000000),
  6935. 13: uint64(0x6750b60500000000),
  6936. 14: uint64(0xefe00a2f00000000),
  6937. 15: uint64(0xa8724e8000000000),
  6938. 16: uint64(0xfe03e7f400000000),
  6939. 17: uint64(0xb991a35b00000000),
  6940. 18: uint64(0x31211f7100000000),
  6941. 19: uint64(0x76b35bde00000000),
  6942. 20: uint64(0x2140662400000000),
  6943. 21: uint64(0x66d2228b00000000),
  6944. 22: uint64(0xee629ea100000000),
  6945. 23: uint64(0xa9f0da0e00000000),
  6946. 24: uint64(0x0182948e00000000),
  6947. 25: uint64(0x4610d02100000000),
  6948. 26: uint64(0xcea06c0b00000000),
  6949. 27: uint64(0x893228a400000000),
  6950. 28: uint64(0xdec1155e00000000),
  6951. 29: uint64(0x995351f100000000),
  6952. 30: uint64(0x11e3eddb00000000),
  6953. 31: uint64(0x5671a97400000000),
  6954. 32: uint64(0xbd01bf3200000000),
  6955. 33: uint64(0xfa93fb9d00000000),
  6956. 34: uint64(0x722347b700000000),
  6957. 35: uint64(0x35b1031800000000),
  6958. 36: uint64(0x62423ee200000000),
  6959. 37: uint64(0x25d07a4d00000000),
  6960. 38: uint64(0xad60c66700000000),
  6961. 39: uint64(0xeaf282c800000000),
  6962. 40: uint64(0x4280cc4800000000),
  6963. 41: uint64(0x051288e700000000),
  6964. 42: uint64(0x8da234cd00000000),
  6965. 43: uint64(0xca30706200000000),
  6966. 44: uint64(0x9dc34d9800000000),
  6967. 45: uint64(0xda51093700000000),
  6968. 46: uint64(0x52e1b51d00000000),
  6969. 47: uint64(0x1573f1b200000000),
  6970. 48: uint64(0x430258c600000000),
  6971. 49: uint64(0x04901c6900000000),
  6972. 50: uint64(0x8c20a04300000000),
  6973. 51: uint64(0xcbb2e4ec00000000),
  6974. 52: uint64(0x9c41d91600000000),
  6975. 53: uint64(0xdbd39db900000000),
  6976. 54: uint64(0x5363219300000000),
  6977. 55: uint64(0x14f1653c00000000),
  6978. 56: uint64(0xbc832bbc00000000),
  6979. 57: uint64(0xfb116f1300000000),
  6980. 58: uint64(0x73a1d33900000000),
  6981. 59: uint64(0x3433979600000000),
  6982. 60: uint64(0x63c0aa6c00000000),
  6983. 61: uint64(0x2452eec300000000),
  6984. 62: uint64(0xace252e900000000),
  6985. 63: uint64(0xeb70164600000000),
  6986. 64: uint64(0x7a037e6500000000),
  6987. 65: uint64(0x3d913aca00000000),
  6988. 66: uint64(0xb52186e000000000),
  6989. 67: uint64(0xf2b3c24f00000000),
  6990. 68: uint64(0xa540ffb500000000),
  6991. 69: uint64(0xe2d2bb1a00000000),
  6992. 70: uint64(0x6a62073000000000),
  6993. 71: uint64(0x2df0439f00000000),
  6994. 72: uint64(0x85820d1f00000000),
  6995. 73: uint64(0xc21049b000000000),
  6996. 74: uint64(0x4aa0f59a00000000),
  6997. 75: uint64(0x0d32b13500000000),
  6998. 76: uint64(0x5ac18ccf00000000),
  6999. 77: uint64(0x1d53c86000000000),
  7000. 78: uint64(0x95e3744a00000000),
  7001. 79: uint64(0xd27130e500000000),
  7002. 80: uint64(0x8400999100000000),
  7003. 81: uint64(0xc392dd3e00000000),
  7004. 82: uint64(0x4b22611400000000),
  7005. 83: uint64(0x0cb025bb00000000),
  7006. 84: uint64(0x5b43184100000000),
  7007. 85: uint64(0x1cd15cee00000000),
  7008. 86: uint64(0x9461e0c400000000),
  7009. 87: uint64(0xd3f3a46b00000000),
  7010. 88: uint64(0x7b81eaeb00000000),
  7011. 89: uint64(0x3c13ae4400000000),
  7012. 90: uint64(0xb4a3126e00000000),
  7013. 91: uint64(0xf33156c100000000),
  7014. 92: uint64(0xa4c26b3b00000000),
  7015. 93: uint64(0xe3502f9400000000),
  7016. 94: uint64(0x6be093be00000000),
  7017. 95: uint64(0x2c72d71100000000),
  7018. 96: uint64(0xc702c15700000000),
  7019. 97: uint64(0x809085f800000000),
  7020. 98: uint64(0x082039d200000000),
  7021. 99: uint64(0x4fb27d7d00000000),
  7022. 100: uint64(0x1841408700000000),
  7023. 101: uint64(0x5fd3042800000000),
  7024. 102: uint64(0xd763b80200000000),
  7025. 103: uint64(0x90f1fcad00000000),
  7026. 104: uint64(0x3883b22d00000000),
  7027. 105: uint64(0x7f11f68200000000),
  7028. 106: uint64(0xf7a14aa800000000),
  7029. 107: uint64(0xb0330e0700000000),
  7030. 108: uint64(0xe7c033fd00000000),
  7031. 109: uint64(0xa052775200000000),
  7032. 110: uint64(0x28e2cb7800000000),
  7033. 111: uint64(0x6f708fd700000000),
  7034. 112: uint64(0x390126a300000000),
  7035. 113: uint64(0x7e93620c00000000),
  7036. 114: uint64(0xf623de2600000000),
  7037. 115: uint64(0xb1b19a8900000000),
  7038. 116: uint64(0xe642a77300000000),
  7039. 117: uint64(0xa1d0e3dc00000000),
  7040. 118: uint64(0x29605ff600000000),
  7041. 119: uint64(0x6ef21b5900000000),
  7042. 120: uint64(0xc68055d900000000),
  7043. 121: uint64(0x8112117600000000),
  7044. 122: uint64(0x09a2ad5c00000000),
  7045. 123: uint64(0x4e30e9f300000000),
  7046. 124: uint64(0x19c3d40900000000),
  7047. 125: uint64(0x5e5190a600000000),
  7048. 126: uint64(0xd6e12c8c00000000),
  7049. 127: uint64(0x9173682300000000),
  7050. 128: uint64(0xf406fcca00000000),
  7051. 129: uint64(0xb394b86500000000),
  7052. 130: uint64(0x3b24044f00000000),
  7053. 131: uint64(0x7cb640e000000000),
  7054. 132: uint64(0x2b457d1a00000000),
  7055. 133: uint64(0x6cd739b500000000),
  7056. 134: uint64(0xe467859f00000000),
  7057. 135: uint64(0xa3f5c13000000000),
  7058. 136: uint64(0x0b878fb000000000),
  7059. 137: uint64(0x4c15cb1f00000000),
  7060. 138: uint64(0xc4a5773500000000),
  7061. 139: uint64(0x8337339a00000000),
  7062. 140: uint64(0xd4c40e6000000000),
  7063. 141: uint64(0x93564acf00000000),
  7064. 142: uint64(0x1be6f6e500000000),
  7065. 143: uint64(0x5c74b24a00000000),
  7066. 144: uint64(0x0a051b3e00000000),
  7067. 145: uint64(0x4d975f9100000000),
  7068. 146: uint64(0xc527e3bb00000000),
  7069. 147: uint64(0x82b5a71400000000),
  7070. 148: uint64(0xd5469aee00000000),
  7071. 149: uint64(0x92d4de4100000000),
  7072. 150: uint64(0x1a64626b00000000),
  7073. 151: uint64(0x5df626c400000000),
  7074. 152: uint64(0xf584684400000000),
  7075. 153: uint64(0xb2162ceb00000000),
  7076. 154: uint64(0x3aa690c100000000),
  7077. 155: uint64(0x7d34d46e00000000),
  7078. 156: uint64(0x2ac7e99400000000),
  7079. 157: uint64(0x6d55ad3b00000000),
  7080. 158: uint64(0xe5e5111100000000),
  7081. 159: uint64(0xa27755be00000000),
  7082. 160: uint64(0x490743f800000000),
  7083. 161: uint64(0x0e95075700000000),
  7084. 162: uint64(0x8625bb7d00000000),
  7085. 163: uint64(0xc1b7ffd200000000),
  7086. 164: uint64(0x9644c22800000000),
  7087. 165: uint64(0xd1d6868700000000),
  7088. 166: uint64(0x59663aad00000000),
  7089. 167: uint64(0x1ef47e0200000000),
  7090. 168: uint64(0xb686308200000000),
  7091. 169: uint64(0xf114742d00000000),
  7092. 170: uint64(0x79a4c80700000000),
  7093. 171: uint64(0x3e368ca800000000),
  7094. 172: uint64(0x69c5b15200000000),
  7095. 173: uint64(0x2e57f5fd00000000),
  7096. 174: uint64(0xa6e749d700000000),
  7097. 175: uint64(0xe1750d7800000000),
  7098. 176: uint64(0xb704a40c00000000),
  7099. 177: uint64(0xf096e0a300000000),
  7100. 178: uint64(0x78265c8900000000),
  7101. 179: uint64(0x3fb4182600000000),
  7102. 180: uint64(0x684725dc00000000),
  7103. 181: uint64(0x2fd5617300000000),
  7104. 182: uint64(0xa765dd5900000000),
  7105. 183: uint64(0xe0f799f600000000),
  7106. 184: uint64(0x4885d77600000000),
  7107. 185: uint64(0x0f1793d900000000),
  7108. 186: uint64(0x87a72ff300000000),
  7109. 187: uint64(0xc0356b5c00000000),
  7110. 188: uint64(0x97c656a600000000),
  7111. 189: uint64(0xd054120900000000),
  7112. 190: uint64(0x58e4ae2300000000),
  7113. 191: uint64(0x1f76ea8c00000000),
  7114. 192: uint64(0x8e0582af00000000),
  7115. 193: uint64(0xc997c60000000000),
  7116. 194: uint64(0x41277a2a00000000),
  7117. 195: uint64(0x06b53e8500000000),
  7118. 196: uint64(0x5146037f00000000),
  7119. 197: uint64(0x16d447d000000000),
  7120. 198: uint64(0x9e64fbfa00000000),
  7121. 199: uint64(0xd9f6bf5500000000),
  7122. 200: uint64(0x7184f1d500000000),
  7123. 201: uint64(0x3616b57a00000000),
  7124. 202: uint64(0xbea6095000000000),
  7125. 203: uint64(0xf9344dff00000000),
  7126. 204: uint64(0xaec7700500000000),
  7127. 205: uint64(0xe95534aa00000000),
  7128. 206: uint64(0x61e5888000000000),
  7129. 207: uint64(0x2677cc2f00000000),
  7130. 208: uint64(0x7006655b00000000),
  7131. 209: uint64(0x379421f400000000),
  7132. 210: uint64(0xbf249dde00000000),
  7133. 211: uint64(0xf8b6d97100000000),
  7134. 212: uint64(0xaf45e48b00000000),
  7135. 213: uint64(0xe8d7a02400000000),
  7136. 214: uint64(0x60671c0e00000000),
  7137. 215: uint64(0x27f558a100000000),
  7138. 216: uint64(0x8f87162100000000),
  7139. 217: uint64(0xc815528e00000000),
  7140. 218: uint64(0x40a5eea400000000),
  7141. 219: uint64(0x0737aa0b00000000),
  7142. 220: uint64(0x50c497f100000000),
  7143. 221: uint64(0x1756d35e00000000),
  7144. 222: uint64(0x9fe66f7400000000),
  7145. 223: uint64(0xd8742bdb00000000),
  7146. 224: uint64(0x33043d9d00000000),
  7147. 225: uint64(0x7496793200000000),
  7148. 226: uint64(0xfc26c51800000000),
  7149. 227: uint64(0xbbb481b700000000),
  7150. 228: uint64(0xec47bc4d00000000),
  7151. 229: uint64(0xabd5f8e200000000),
  7152. 230: uint64(0x236544c800000000),
  7153. 231: uint64(0x64f7006700000000),
  7154. 232: uint64(0xcc854ee700000000),
  7155. 233: uint64(0x8b170a4800000000),
  7156. 234: uint64(0x03a7b66200000000),
  7157. 235: uint64(0x4435f2cd00000000),
  7158. 236: uint64(0x13c6cf3700000000),
  7159. 237: uint64(0x54548b9800000000),
  7160. 238: uint64(0xdce437b200000000),
  7161. 239: uint64(0x9b76731d00000000),
  7162. 240: uint64(0xcd07da6900000000),
  7163. 241: uint64(0x8a959ec600000000),
  7164. 242: uint64(0x022522ec00000000),
  7165. 243: uint64(0x45b7664300000000),
  7166. 244: uint64(0x12445bb900000000),
  7167. 245: uint64(0x55d61f1600000000),
  7168. 246: uint64(0xdd66a33c00000000),
  7169. 247: uint64(0x9af4e79300000000),
  7170. 248: uint64(0x3286a91300000000),
  7171. 249: uint64(0x7514edbc00000000),
  7172. 250: uint64(0xfda4519600000000),
  7173. 251: uint64(0xba36153900000000),
  7174. 252: uint64(0xedc528c300000000),
  7175. 253: uint64(0xaa576c6c00000000),
  7176. 254: uint64(0x22e7d04600000000),
  7177. 255: uint64(0x657594e900000000),
  7178. },
  7179. }
  7180. var _x2n_table = [32]Tz_crc_t{
  7181. 0: uint32(0x40000000),
  7182. 1: uint32(0x20000000),
  7183. 2: uint32(0x08000000),
  7184. 3: uint32(0x00800000),
  7185. 4: uint32(0x00008000),
  7186. 5: uint32(0xedb88320),
  7187. 6: uint32(0xb1e6b092),
  7188. 7: uint32(0xa06a2517),
  7189. 8: uint32(0xed627dae),
  7190. 9: uint32(0x88d14467),
  7191. 10: uint32(0xd7bbfe6a),
  7192. 11: uint32(0xec447f11),
  7193. 12: uint32(0x8e7ea170),
  7194. 13: uint32(0x6427800e),
  7195. 14: uint32(0x4d47bae0),
  7196. 15: uint32(0x09fe548f),
  7197. 16: uint32(0x83852d0f),
  7198. 17: uint32(0x30362f1a),
  7199. 18: uint32(0x7b5a9cc3),
  7200. 19: uint32(0x31fec169),
  7201. 20: uint32(0x9fec022a),
  7202. 21: uint32(0x6c8dedc4),
  7203. 22: uint32(0x15d6874d),
  7204. 23: uint32(0x5fde7a4e),
  7205. 24: uint32(0xbad90e37),
  7206. 25: uint32(0x2e4e5eef),
  7207. 26: uint32(0x4eaba214),
  7208. 27: uint32(0xa8a472c0),
  7209. 28: uint32(0x429a969e),
  7210. 29: uint32(0x148d302a),
  7211. 30: uint32(0xc40ba6d0),
  7212. 31: uint32(0xc4e22c3c),
  7213. }
  7214. /* CRC polynomial. */
  7215. // C documentation
  7216. //
  7217. // /*
  7218. // Return a(x) multiplied by b(x) modulo p(x), where p(x) is the CRC polynomial,
  7219. // reflected. For speed, this requires that a not be zero.
  7220. // */
  7221. func _multmodp(tls *libc.TLS, a Tz_crc_t, b Tz_crc_t) (r Tz_crc_t) {
  7222. var m, p Tz_crc_t
  7223. var v2 uint32
  7224. _, _, _ = m, p, v2
  7225. m = libc.Uint32FromInt32(1) << libc.Int32FromInt32(31)
  7226. p = uint32(0)
  7227. for {
  7228. if a&m != 0 {
  7229. p ^= b
  7230. if a&(m-uint32(1)) == uint32(0) {
  7231. break
  7232. }
  7233. }
  7234. m >>= uint32(1)
  7235. if b&uint32(1) != 0 {
  7236. v2 = b>>libc.Int32FromInt32(1) ^ uint32(m_POLY)
  7237. } else {
  7238. v2 = b >> int32(1)
  7239. }
  7240. b = v2
  7241. goto _1
  7242. _1:
  7243. }
  7244. return p
  7245. }
  7246. // C documentation
  7247. //
  7248. // /*
  7249. // Return x^(n * 2^k) modulo p(x). Requires that x2n_table[] has been
  7250. // initialized.
  7251. // */
  7252. func _x2nmodp(tls *libc.TLS, n Toff_t, k uint32) (r Tz_crc_t) {
  7253. var p Tz_crc_t
  7254. _ = p
  7255. p = libc.Uint32FromInt32(1) << libc.Int32FromInt32(31) /* x^0 == 1 */
  7256. for n != 0 {
  7257. if n&int64(1) != 0 {
  7258. p = _multmodp(tls, _x2n_table[k&uint32(31)], p)
  7259. }
  7260. n >>= int64(1)
  7261. k++
  7262. }
  7263. return p
  7264. }
  7265. // C documentation
  7266. //
  7267. // /* =========================================================================
  7268. // * This function can be used by asm versions of crc32(), and to force the
  7269. // * generation of the CRC tables in a threaded application.
  7270. // */
  7271. func Xget_crc_table(tls *libc.TLS) (r uintptr) {
  7272. return uintptr(unsafe.Pointer(&_crc_table))
  7273. }
  7274. /* =========================================================================
  7275. * Use ARM machine instructions if available. This will compute the CRC about
  7276. * ten times faster than the braided calculation. This code does not check for
  7277. * the presence of the CRC instruction at run time. __ARM_FEATURE_CRC32 will
  7278. * only be defined if the compilation specifies an ARM processor architecture
  7279. * that has the instructions. For example, compiling with -march=armv8.1-a or
  7280. * -march=armv8-a+crc, or -march=native if the compile machine has the crc32
  7281. * instructions.
  7282. */
  7283. // C documentation
  7284. //
  7285. // /*
  7286. // Return the CRC of the W bytes in the word_t data, taking the
  7287. // least-significant byte of the word as the first byte of data, without any pre
  7288. // or post conditioning. This is used to combine the CRCs of each braid.
  7289. // */
  7290. func _crc_word(tls *libc.TLS, data Tz_word_t) (r Tz_crc_t) {
  7291. var k int32
  7292. _ = k
  7293. k = 0
  7294. for {
  7295. if !(k < int32(m_W)) {
  7296. break
  7297. }
  7298. data = data>>libc.Int32FromInt32(8) ^ uint64(_crc_table[data&uint64(0xff)])
  7299. goto _1
  7300. _1:
  7301. ;
  7302. k++
  7303. }
  7304. return uint32(data)
  7305. }
  7306. func _crc_word_big(tls *libc.TLS, data Tz_word_t) (r Tz_word_t) {
  7307. var k int32
  7308. _ = k
  7309. k = 0
  7310. for {
  7311. if !(k < int32(m_W)) {
  7312. break
  7313. }
  7314. data = data<<libc.Int32FromInt32(8) ^ _crc_big_table[data>>((libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1))<<libc.Int32FromInt32(3))&uint64(0xff)]
  7315. goto _1
  7316. _1:
  7317. ;
  7318. k++
  7319. }
  7320. return data
  7321. }
  7322. // C documentation
  7323. //
  7324. // /* ========================================================================= */
  7325. func Xcrc32_z(tls *libc.TLS, crc uint64, buf uintptr, len1 Tz_size_t) (r uint64) {
  7326. bp := tls.Alloc(16)
  7327. defer tls.Free(16)
  7328. var blks, v2, v4 Tz_size_t
  7329. var comb, crc01, crc11, crc21, crc31, crc41, word0, word01, word1, word11, word2, word21, word3, word31, word4, word41 Tz_word_t
  7330. var crc0, crc1, crc2, crc3, crc4 Tz_crc_t
  7331. var k int32
  7332. var words, v1, v10, v11, v12, v13, v14, v6, v7, v8, v9 uintptr
  7333. var _ /* endian at bp+0 */ uint32
  7334. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = blks, comb, crc0, crc01, crc1, crc11, crc2, crc21, crc3, crc31, crc4, crc41, k, word0, word01, word1, word11, word2, word21, word3, word31, word4, word41, words, v1, v10, v11, v12, v13, v14, v2, v4, v6, v7, v8, v9
  7335. /* Return initial CRC, if requested. */
  7336. if buf == uintptr(m_Z_NULL) {
  7337. return uint64(0)
  7338. }
  7339. /* Pre-condition the CRC */
  7340. crc = ^crc & uint64(0xffffffff)
  7341. /* If provided enough bytes, do a braided CRC calculation. */
  7342. if len1 >= libc.Uint64FromInt32(libc.Int32FromInt32(m_N)*libc.Int32FromInt32(m_W)+libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1)) {
  7343. /* Compute the CRC up to a z_word_t boundary. */
  7344. for len1 != 0 && uint64(buf)&libc.Uint64FromInt32(libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1)) != uint64(0) {
  7345. len1--
  7346. v1 = buf
  7347. buf++
  7348. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v1))))&uint64(0xff)])
  7349. }
  7350. /* Compute the CRC on as many N z_word_t blocks as are available. */
  7351. blks = len1 / libc.Uint64FromInt32(libc.Int32FromInt32(m_N)*libc.Int32FromInt32(m_W))
  7352. len1 -= blks * uint64(m_N) * uint64(m_W)
  7353. words = buf
  7354. /* Do endian check at execution time instead of compile time, since ARM
  7355. processors can change the endianness at execution time. If the
  7356. compiler knows what the endianness will be, it can optimize out the
  7357. check and the unused branch. */
  7358. *(*uint32)(unsafe.Pointer(bp)) = uint32(1)
  7359. if *(*uint8)(unsafe.Pointer(bp)) != 0 {
  7360. /* Initialize the CRC for each braid. */
  7361. crc0 = uint32(crc)
  7362. crc1 = uint32(0)
  7363. crc2 = uint32(0)
  7364. crc3 = uint32(0)
  7365. crc4 = uint32(0)
  7366. /*
  7367. Process the first blks-1 blocks, computing the CRCs on each braid
  7368. independently.
  7369. */
  7370. for {
  7371. blks--
  7372. v2 = blks
  7373. if !(v2 != 0) {
  7374. break
  7375. }
  7376. /* Load the word for each braid into registers. */
  7377. word0 = uint64(crc0) ^ *(*Tz_word_t)(unsafe.Pointer(words))
  7378. word1 = uint64(crc1) ^ *(*Tz_word_t)(unsafe.Pointer(words + 1*8))
  7379. word2 = uint64(crc2) ^ *(*Tz_word_t)(unsafe.Pointer(words + 2*8))
  7380. word3 = uint64(crc3) ^ *(*Tz_word_t)(unsafe.Pointer(words + 3*8))
  7381. word4 = uint64(crc4) ^ *(*Tz_word_t)(unsafe.Pointer(words + 4*8))
  7382. words += uintptr(m_N) * 8
  7383. /* Compute and update the CRC for each word. The loop should
  7384. get unrolled. */
  7385. crc0 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word0&uint64(0xff))*4))
  7386. crc1 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word1&uint64(0xff))*4))
  7387. crc2 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word2&uint64(0xff))*4))
  7388. crc3 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word3&uint64(0xff))*4))
  7389. crc4 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word4&uint64(0xff))*4))
  7390. k = int32(1)
  7391. for {
  7392. if !(k < int32(m_W)) {
  7393. break
  7394. }
  7395. crc0 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word0>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  7396. crc1 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word1>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  7397. crc2 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word2>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  7398. crc3 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word3>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  7399. crc4 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word4>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  7400. goto _3
  7401. _3:
  7402. ;
  7403. k++
  7404. }
  7405. }
  7406. /*
  7407. Process the last block, combining the CRCs of the N braids at the
  7408. same time.
  7409. */
  7410. crc = uint64(_crc_word(tls, uint64(crc0)^*(*Tz_word_t)(unsafe.Pointer(words))))
  7411. crc = uint64(_crc_word(tls, uint64(crc1)^*(*Tz_word_t)(unsafe.Pointer(words + 1*8))^crc))
  7412. crc = uint64(_crc_word(tls, uint64(crc2)^*(*Tz_word_t)(unsafe.Pointer(words + 2*8))^crc))
  7413. crc = uint64(_crc_word(tls, uint64(crc3)^*(*Tz_word_t)(unsafe.Pointer(words + 3*8))^crc))
  7414. crc = uint64(_crc_word(tls, uint64(crc4)^*(*Tz_word_t)(unsafe.Pointer(words + 4*8))^crc))
  7415. words += uintptr(m_N) * 8
  7416. } else {
  7417. /* Initialize the CRC for each braid. */
  7418. crc01 = _byte_swap(tls, crc)
  7419. crc11 = uint64(0)
  7420. crc21 = uint64(0)
  7421. crc31 = uint64(0)
  7422. crc41 = uint64(0)
  7423. /*
  7424. Process the first blks-1 blocks, computing the CRCs on each braid
  7425. independently.
  7426. */
  7427. for {
  7428. blks--
  7429. v4 = blks
  7430. if !(v4 != 0) {
  7431. break
  7432. }
  7433. /* Load the word for each braid into registers. */
  7434. word01 = crc01 ^ *(*Tz_word_t)(unsafe.Pointer(words))
  7435. word11 = crc11 ^ *(*Tz_word_t)(unsafe.Pointer(words + 1*8))
  7436. word21 = crc21 ^ *(*Tz_word_t)(unsafe.Pointer(words + 2*8))
  7437. word31 = crc31 ^ *(*Tz_word_t)(unsafe.Pointer(words + 3*8))
  7438. word41 = crc41 ^ *(*Tz_word_t)(unsafe.Pointer(words + 4*8))
  7439. words += uintptr(m_N) * 8
  7440. /* Compute and update the CRC for each word. The loop should
  7441. get unrolled. */
  7442. crc01 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word01&uint64(0xff))*8))
  7443. crc11 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word11&uint64(0xff))*8))
  7444. crc21 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word21&uint64(0xff))*8))
  7445. crc31 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word31&uint64(0xff))*8))
  7446. crc41 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word41&uint64(0xff))*8))
  7447. k = int32(1)
  7448. for {
  7449. if !(k < int32(m_W)) {
  7450. break
  7451. }
  7452. crc01 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word01>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  7453. crc11 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word11>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  7454. crc21 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word21>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  7455. crc31 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word31>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  7456. crc41 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word41>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  7457. goto _5
  7458. _5:
  7459. ;
  7460. k++
  7461. }
  7462. }
  7463. /*
  7464. Process the last block, combining the CRCs of the N braids at the
  7465. same time.
  7466. */
  7467. comb = _crc_word_big(tls, crc01^*(*Tz_word_t)(unsafe.Pointer(words)))
  7468. comb = _crc_word_big(tls, crc11^*(*Tz_word_t)(unsafe.Pointer(words + 1*8))^comb)
  7469. comb = _crc_word_big(tls, crc21^*(*Tz_word_t)(unsafe.Pointer(words + 2*8))^comb)
  7470. comb = _crc_word_big(tls, crc31^*(*Tz_word_t)(unsafe.Pointer(words + 3*8))^comb)
  7471. comb = _crc_word_big(tls, crc41^*(*Tz_word_t)(unsafe.Pointer(words + 4*8))^comb)
  7472. words += uintptr(m_N) * 8
  7473. crc = _byte_swap(tls, comb)
  7474. }
  7475. /*
  7476. Update the pointer to the remaining bytes to process.
  7477. */
  7478. buf = words
  7479. }
  7480. /* Complete the computation of the CRC on any remaining bytes. */
  7481. for len1 >= uint64(8) {
  7482. len1 -= uint64(8)
  7483. v6 = buf
  7484. buf++
  7485. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v6))))&uint64(0xff)])
  7486. v7 = buf
  7487. buf++
  7488. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v7))))&uint64(0xff)])
  7489. v8 = buf
  7490. buf++
  7491. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v8))))&uint64(0xff)])
  7492. v9 = buf
  7493. buf++
  7494. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v9))))&uint64(0xff)])
  7495. v10 = buf
  7496. buf++
  7497. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v10))))&uint64(0xff)])
  7498. v11 = buf
  7499. buf++
  7500. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v11))))&uint64(0xff)])
  7501. v12 = buf
  7502. buf++
  7503. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v12))))&uint64(0xff)])
  7504. v13 = buf
  7505. buf++
  7506. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v13))))&uint64(0xff)])
  7507. }
  7508. for len1 != 0 {
  7509. len1--
  7510. v14 = buf
  7511. buf++
  7512. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v14))))&uint64(0xff)])
  7513. }
  7514. /* Return the CRC, post-conditioned. */
  7515. return crc ^ uint64(0xffffffff)
  7516. }
  7517. // C documentation
  7518. //
  7519. // /* ========================================================================= */
  7520. func Xcrc32(tls *libc.TLS, crc uint64, buf uintptr, len1 TuInt) (r uint64) {
  7521. return Xcrc32_z(tls, crc, buf, uint64(len1))
  7522. }
  7523. // C documentation
  7524. //
  7525. // /* ========================================================================= */
  7526. func Xcrc32_combine64(tls *libc.TLS, crc1 TuLong, crc2 TuLong, len2 Toff_t) (r TuLong) {
  7527. return uint64(_multmodp(tls, _x2nmodp(tls, len2, uint32(3)), uint32(crc1))) ^ crc2&uint64(0xffffffff)
  7528. }
  7529. // C documentation
  7530. //
  7531. // /* ========================================================================= */
  7532. func Xcrc32_combine(tls *libc.TLS, crc1 TuLong, crc2 TuLong, len2 Toff_t) (r TuLong) {
  7533. return Xcrc32_combine64(tls, crc1, crc2, len2)
  7534. }
  7535. // C documentation
  7536. //
  7537. // /* ========================================================================= */
  7538. func Xcrc32_combine_gen64(tls *libc.TLS, len2 Toff_t) (r TuLong) {
  7539. return uint64(_x2nmodp(tls, len2, uint32(3)))
  7540. }
  7541. // C documentation
  7542. //
  7543. // /* ========================================================================= */
  7544. func Xcrc32_combine_gen(tls *libc.TLS, len2 Toff_t) (r TuLong) {
  7545. return Xcrc32_combine_gen64(tls, len2)
  7546. }
  7547. // C documentation
  7548. //
  7549. // /* ========================================================================= */
  7550. func Xcrc32_combine_op(tls *libc.TLS, crc1 TuLong, crc2 TuLong, op TuLong) (r TuLong) {
  7551. return uint64(_multmodp(tls, uint32(op), uint32(crc1))) ^ crc2&uint64(0xffffffff)
  7552. }
  7553. const m_BL_CODES = 19
  7554. const m_BUSY_STATE = 113
  7555. const m_Buf_size = 16
  7556. const m_COMMENT_STATE = 91
  7557. const m_D_CODES = 30
  7558. const m_EXTRA_STATE = 69
  7559. const m_FINISH_STATE = 666
  7560. const m_GZIP_STATE = 57
  7561. const m_HCRC_STATE = 103
  7562. const m_INIT_STATE = 42
  7563. const m_LENGTH_CODES = 29
  7564. const m_LITERALS = 256
  7565. const m_LIT_BUFS = 4
  7566. const m_MAX_BITS = 15
  7567. const m_MAX_STORED = 65535
  7568. const m_NAME_STATE = 73
  7569. const m_NIL = 0
  7570. const m_PRESET_DICT1 = 32
  7571. const m_TOO_FAR = 4096
  7572. const m_WIN_INIT = "MAX_MATCH"
  7573. const m_max_insert_length = "max_lazy_match"
  7574. type Tinternal_state = struct {
  7575. Fstrm Tz_streamp
  7576. Fstatus int32
  7577. Fpending_buf uintptr
  7578. Fpending_buf_size Tulg
  7579. Fpending_out uintptr
  7580. Fpending Tulg
  7581. Fwrap int32
  7582. Fgzhead Tgz_headerp
  7583. Fgzindex Tulg
  7584. Fmethod TByte
  7585. Flast_flush int32
  7586. Fw_size TuInt
  7587. Fw_bits TuInt
  7588. Fw_mask TuInt
  7589. Fwindow uintptr
  7590. Fwindow_size Tulg
  7591. Fprev uintptr
  7592. Fhead uintptr
  7593. Fins_h TuInt
  7594. Fhash_size TuInt
  7595. Fhash_bits TuInt
  7596. Fhash_mask TuInt
  7597. Fhash_shift TuInt
  7598. Fblock_start int64
  7599. Fmatch_length TuInt
  7600. Fprev_match TIPos
  7601. Fmatch_available int32
  7602. Fstrstart TuInt
  7603. Fmatch_start TuInt
  7604. Flookahead TuInt
  7605. Fprev_length TuInt
  7606. Fmax_chain_length TuInt
  7607. Fmax_lazy_match TuInt
  7608. Flevel int32
  7609. Fstrategy int32
  7610. Fgood_match TuInt
  7611. Fnice_match int32
  7612. Fdyn_ltree [573]Tct_data_s
  7613. Fdyn_dtree [61]Tct_data_s
  7614. Fbl_tree [39]Tct_data_s
  7615. Fl_desc Ttree_desc_s
  7616. Fd_desc Ttree_desc_s
  7617. Fbl_desc Ttree_desc_s
  7618. Fbl_count [16]Tush
  7619. Fheap [573]int32
  7620. Fheap_len int32
  7621. Fheap_max int32
  7622. Fdepth [573]Tuch
  7623. Fsym_buf uintptr
  7624. Flit_bufsize TuInt
  7625. Fsym_next TuInt
  7626. Fsym_end TuInt
  7627. Fopt_len Tulg
  7628. Fstatic_len Tulg
  7629. Fmatches TuInt
  7630. Finsert TuInt
  7631. Fbi_buf Tush
  7632. Fbi_valid int32
  7633. Fhigh_water Tulg
  7634. }
  7635. type Tct_data = struct {
  7636. Ffc struct {
  7637. Fcode [0]Tush
  7638. Ffreq Tush
  7639. }
  7640. Fdl struct {
  7641. Flen1 [0]Tush
  7642. Fdad Tush
  7643. }
  7644. }
  7645. type Tct_data_s = Tct_data
  7646. type Ttree_desc = struct {
  7647. Fdyn_tree uintptr
  7648. Fmax_code int32
  7649. Fstat_desc uintptr
  7650. }
  7651. type Ttree_desc_s = Ttree_desc
  7652. type TPos = uint16
  7653. type TPosf = uint16
  7654. type TIPos = uint32
  7655. type Tdeflate_state = struct {
  7656. Fstrm Tz_streamp
  7657. Fstatus int32
  7658. Fpending_buf uintptr
  7659. Fpending_buf_size Tulg
  7660. Fpending_out uintptr
  7661. Fpending Tulg
  7662. Fwrap int32
  7663. Fgzhead Tgz_headerp
  7664. Fgzindex Tulg
  7665. Fmethod TByte
  7666. Flast_flush int32
  7667. Fw_size TuInt
  7668. Fw_bits TuInt
  7669. Fw_mask TuInt
  7670. Fwindow uintptr
  7671. Fwindow_size Tulg
  7672. Fprev uintptr
  7673. Fhead uintptr
  7674. Fins_h TuInt
  7675. Fhash_size TuInt
  7676. Fhash_bits TuInt
  7677. Fhash_mask TuInt
  7678. Fhash_shift TuInt
  7679. Fblock_start int64
  7680. Fmatch_length TuInt
  7681. Fprev_match TIPos
  7682. Fmatch_available int32
  7683. Fstrstart TuInt
  7684. Fmatch_start TuInt
  7685. Flookahead TuInt
  7686. Fprev_length TuInt
  7687. Fmax_chain_length TuInt
  7688. Fmax_lazy_match TuInt
  7689. Flevel int32
  7690. Fstrategy int32
  7691. Fgood_match TuInt
  7692. Fnice_match int32
  7693. Fdyn_ltree [573]Tct_data_s
  7694. Fdyn_dtree [61]Tct_data_s
  7695. Fbl_tree [39]Tct_data_s
  7696. Fl_desc Ttree_desc_s
  7697. Fd_desc Ttree_desc_s
  7698. Fbl_desc Ttree_desc_s
  7699. Fbl_count [16]Tush
  7700. Fheap [573]int32
  7701. Fheap_len int32
  7702. Fheap_max int32
  7703. Fdepth [573]Tuch
  7704. Fsym_buf uintptr
  7705. Flit_bufsize TuInt
  7706. Fsym_next TuInt
  7707. Fsym_end TuInt
  7708. Fopt_len Tulg
  7709. Fstatic_len Tulg
  7710. Fmatches TuInt
  7711. Finsert TuInt
  7712. Fbi_buf Tush
  7713. Fbi_valid int32
  7714. Fhigh_water Tulg
  7715. }
  7716. /*
  7717. If you use the zlib library in a product, an acknowledgment is welcome
  7718. in the documentation of your product. If for some reason you cannot
  7719. include such an acknowledgment, I would appreciate that you keep this
  7720. copyright string in the executable of your product.
  7721. */
  7722. type Tblock_state = int32
  7723. const _need_more = 0
  7724. const /* block not completed, need more input or more output */
  7725. _block_done = 1
  7726. const /* block flush performed */
  7727. _finish_started = 2
  7728. const /* finish started, need only more output at next deflate */
  7729. _finish_done = 3
  7730. type Tcompress_func = uintptr
  7731. /* ===========================================================================
  7732. * Local data
  7733. */
  7734. /* Tail of hash chains */
  7735. /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
  7736. // C documentation
  7737. //
  7738. // /* Values for max_lazy_match, good_match and max_chain_length, depending on
  7739. // * the desired pack level (0..9). The values given below have been tuned to
  7740. // * exclude worst case performance for pathological files. Better values may be
  7741. // * found for specific files.
  7742. // */
  7743. type Tconfig = struct {
  7744. Fgood_length Tush
  7745. Fmax_lazy Tush
  7746. Fnice_length Tush
  7747. Fmax_chain Tush
  7748. Ffunc1 Tcompress_func
  7749. }
  7750. /* ===========================================================================
  7751. * Local data
  7752. */
  7753. /* Tail of hash chains */
  7754. /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
  7755. // C documentation
  7756. //
  7757. // /* Values for max_lazy_match, good_match and max_chain_length, depending on
  7758. // * the desired pack level (0..9). The values given below have been tuned to
  7759. // * exclude worst case performance for pathological files. Better values may be
  7760. // * found for specific files.
  7761. // */
  7762. type Tconfig_s = Tconfig
  7763. var _configuration_table = [10]Tconfig{
  7764. 0: {},
  7765. 1: {
  7766. Fgood_length: uint16(4),
  7767. Fmax_lazy: uint16(4),
  7768. Fnice_length: uint16(8),
  7769. Fmax_chain: uint16(4),
  7770. },
  7771. 2: {
  7772. Fgood_length: uint16(4),
  7773. Fmax_lazy: uint16(5),
  7774. Fnice_length: uint16(16),
  7775. Fmax_chain: uint16(8),
  7776. },
  7777. 3: {
  7778. Fgood_length: uint16(4),
  7779. Fmax_lazy: uint16(6),
  7780. Fnice_length: uint16(32),
  7781. Fmax_chain: uint16(32),
  7782. },
  7783. 4: {
  7784. Fgood_length: uint16(4),
  7785. Fmax_lazy: uint16(4),
  7786. Fnice_length: uint16(16),
  7787. Fmax_chain: uint16(16),
  7788. },
  7789. 5: {
  7790. Fgood_length: uint16(8),
  7791. Fmax_lazy: uint16(16),
  7792. Fnice_length: uint16(32),
  7793. Fmax_chain: uint16(32),
  7794. },
  7795. 6: {
  7796. Fgood_length: uint16(8),
  7797. Fmax_lazy: uint16(16),
  7798. Fnice_length: uint16(128),
  7799. Fmax_chain: uint16(128),
  7800. },
  7801. 7: {
  7802. Fgood_length: uint16(8),
  7803. Fmax_lazy: uint16(32),
  7804. Fnice_length: uint16(128),
  7805. Fmax_chain: uint16(256),
  7806. },
  7807. 8: {
  7808. Fgood_length: uint16(32),
  7809. Fmax_lazy: uint16(128),
  7810. Fnice_length: uint16(258),
  7811. Fmax_chain: uint16(1024),
  7812. },
  7813. 9: {
  7814. Fgood_length: uint16(32),
  7815. Fmax_lazy: uint16(258),
  7816. Fnice_length: uint16(258),
  7817. Fmax_chain: uint16(4096),
  7818. },
  7819. }
  7820. func init() {
  7821. p := unsafe.Pointer(&_configuration_table)
  7822. *(*uintptr)(unsafe.Add(p, 8)) = __ccgo_fp(_deflate_stored)
  7823. *(*uintptr)(unsafe.Add(p, 24)) = __ccgo_fp(_deflate_fast)
  7824. *(*uintptr)(unsafe.Add(p, 40)) = __ccgo_fp(_deflate_fast)
  7825. *(*uintptr)(unsafe.Add(p, 56)) = __ccgo_fp(_deflate_fast)
  7826. *(*uintptr)(unsafe.Add(p, 72)) = __ccgo_fp(_deflate_slow)
  7827. *(*uintptr)(unsafe.Add(p, 88)) = __ccgo_fp(_deflate_slow)
  7828. *(*uintptr)(unsafe.Add(p, 104)) = __ccgo_fp(_deflate_slow)
  7829. *(*uintptr)(unsafe.Add(p, 120)) = __ccgo_fp(_deflate_slow)
  7830. *(*uintptr)(unsafe.Add(p, 136)) = __ccgo_fp(_deflate_slow)
  7831. *(*uintptr)(unsafe.Add(p, 152)) = __ccgo_fp(_deflate_slow)
  7832. }
  7833. /* max compression */
  7834. /* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
  7835. * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
  7836. * meaning.
  7837. */
  7838. /* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */
  7839. /* ===========================================================================
  7840. * Update a hash value with the given input byte
  7841. * IN assertion: all calls to UPDATE_HASH are made with consecutive input
  7842. * characters, so that a running hash key can be computed from the previous
  7843. * key instead of complete recalculation each time.
  7844. */
  7845. /* ===========================================================================
  7846. * Insert string str in the dictionary and set match_head to the previous head
  7847. * of the hash chain (the most recent string with same hash key). Return
  7848. * the previous length of the hash chain.
  7849. * If this file is compiled with -DFASTEST, the compression level is forced
  7850. * to 1, and no hash chains are maintained.
  7851. * IN assertion: all calls to INSERT_STRING are made with consecutive input
  7852. * characters and the first MIN_MATCH bytes of str are valid (except for
  7853. * the last MIN_MATCH-1 bytes of the input file).
  7854. */
  7855. /* ===========================================================================
  7856. * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
  7857. * prev[] will be initialized on the fly.
  7858. */
  7859. // C documentation
  7860. //
  7861. // /* ===========================================================================
  7862. // * Slide the hash table when sliding the window down (could be avoided with 32
  7863. // * bit values at the expense of memory usage). We slide even when level == 0 to
  7864. // * keep the hash table consistent if we switch back to level > 0 later.
  7865. // */
  7866. func _slide_hash(tls *libc.TLS, s uintptr) {
  7867. var m, n, v1, v4, v5, v8 uint32
  7868. var p, v3, v7 uintptr
  7869. var wsize TuInt
  7870. _, _, _, _, _, _, _, _, _, _ = m, n, p, wsize, v1, v3, v4, v5, v7, v8
  7871. wsize = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  7872. n = (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size
  7873. p = (*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr(n)*2
  7874. for {
  7875. p -= 2
  7876. v3 = p
  7877. m = uint32(*(*TPosf)(unsafe.Pointer(v3)))
  7878. if m >= wsize {
  7879. v4 = m - wsize
  7880. } else {
  7881. v4 = uint32(m_NIL)
  7882. }
  7883. *(*TPosf)(unsafe.Pointer(p)) = uint16(v4)
  7884. goto _2
  7885. _2:
  7886. ;
  7887. n--
  7888. v1 = n
  7889. if !(v1 != 0) {
  7890. break
  7891. }
  7892. }
  7893. n = wsize
  7894. p = (*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(n)*2
  7895. for {
  7896. p -= 2
  7897. v7 = p
  7898. m = uint32(*(*TPosf)(unsafe.Pointer(v7)))
  7899. if m >= wsize {
  7900. v8 = m - wsize
  7901. } else {
  7902. v8 = uint32(m_NIL)
  7903. }
  7904. *(*TPosf)(unsafe.Pointer(p)) = uint16(v8)
  7905. /* If n is not on any hash chain, prev[n] is garbage but
  7906. * its value will never be used.
  7907. */
  7908. goto _6
  7909. _6:
  7910. ;
  7911. n--
  7912. v5 = n
  7913. if !(v5 != 0) {
  7914. break
  7915. }
  7916. }
  7917. }
  7918. // C documentation
  7919. //
  7920. // /* ===========================================================================
  7921. // * Read a new buffer from the current input stream, update the adler32
  7922. // * and total number of bytes read. All deflate() input goes through
  7923. // * this function so some applications may wish to modify it to avoid
  7924. // * allocating a large strm->next_in buffer and copying from it.
  7925. // * (See also flush_pending()).
  7926. // */
  7927. func _read_buf(tls *libc.TLS, strm Tz_streamp, buf uintptr, size uint32) (r uint32) {
  7928. var len1 uint32
  7929. _ = len1
  7930. len1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  7931. if len1 > size {
  7932. len1 = size
  7933. }
  7934. if len1 == uint32(0) {
  7935. return uint32(0)
  7936. }
  7937. *(*TuInt)(unsafe.Pointer(strm + 8)) -= len1
  7938. libc.X__builtin___memcpy_chk(tls, buf, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(len1), ^t__predefined_size_t(0))
  7939. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == int32(1) {
  7940. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, buf, len1)
  7941. } else {
  7942. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == int32(2) {
  7943. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, buf, len1)
  7944. }
  7945. }
  7946. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len1)
  7947. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(len1)
  7948. return len1
  7949. }
  7950. // C documentation
  7951. //
  7952. // /* ===========================================================================
  7953. // * Fill the window when the lookahead becomes insufficient.
  7954. // * Updates strstart and lookahead.
  7955. // *
  7956. // * IN assertion: lookahead < MIN_LOOKAHEAD
  7957. // * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
  7958. // * At least one byte has been read, or avail_in == 0; reads are
  7959. // * performed for at least two bytes (required for the zip translate_eol
  7960. // * option -- not supported here).
  7961. // */
  7962. func _fill_window(tls *libc.TLS, s uintptr) {
  7963. var curr, init1 Tulg
  7964. var more, n uint32
  7965. var str, wsize TuInt
  7966. _, _, _, _, _, _ = curr, init1, more, n, str, wsize /* Amount of free space at the end of the window. */
  7967. wsize = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  7968. for cond := true; cond; cond = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in != uint32(0) {
  7969. more = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead) - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  7970. /* Deal with !@#$% 64K limit: */
  7971. if uint64(4) <= uint64(2) {
  7972. if more == uint32(0) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart == uint32(0) && (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  7973. more = wsize
  7974. } else {
  7975. if more == libc.Uint32FromInt32(-libc.Int32FromInt32(1)) {
  7976. /* Very unlikely, but possible on 16 bit machine if
  7977. * strstart == 0 && lookahead == 1 (input done a byte at time)
  7978. */
  7979. more--
  7980. }
  7981. }
  7982. }
  7983. /* If the window is almost full and there is insufficient lookahead,
  7984. * move the upper half to the lower one to make room in the upper half.
  7985. */
  7986. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart >= wsize+((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1))) {
  7987. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(wsize), uint64(wsize-more), ^t__predefined_size_t(0))
  7988. *(*TuInt)(unsafe.Pointer(s + 176)) -= wsize
  7989. *(*TuInt)(unsafe.Pointer(s + 172)) -= wsize /* we now have strstart >= MAX_DIST */
  7990. *(*int64)(unsafe.Pointer(s + 152)) -= libc.Int64FromUint32(wsize)
  7991. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  7992. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  7993. }
  7994. _slide_hash(tls, s)
  7995. more += wsize
  7996. }
  7997. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) {
  7998. break
  7999. }
  8000. /* If there was no sliding:
  8001. * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
  8002. * more == window_size - lookahead - strstart
  8003. * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
  8004. * => more >= window_size - 2*WSIZE + 2
  8005. * In the BIG_MEM or MMAP case (not yet supported),
  8006. * window_size == input_size + MIN_LOOKAHEAD &&
  8007. * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
  8008. * Otherwise, window_size == 2*WSIZE so more >= 2.
  8009. * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
  8010. */
  8011. n = _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead), more)
  8012. *(*TuInt)(unsafe.Pointer(s + 180)) += n
  8013. /* Initialize the hash value now that we have some input: */
  8014. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead+(*Tdeflate_state)(unsafe.Pointer(s)).Finsert >= uint32(m_MIN_MATCH) {
  8015. str = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  8016. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str))))
  8017. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8018. for (*Tdeflate_state)(unsafe.Pointer(s)).Finsert != 0 {
  8019. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+uint32(m_MIN_MATCH)-uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8020. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(str&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8021. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16(str)
  8022. str++
  8023. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert--
  8024. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead+(*Tdeflate_state)(unsafe.Pointer(s)).Finsert < uint32(m_MIN_MATCH) {
  8025. break
  8026. }
  8027. }
  8028. }
  8029. /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
  8030. * but this is not important since only literal bytes will be emitted.
  8031. */
  8032. }
  8033. /* If the WIN_INIT bytes after the end of the current data have never been
  8034. * written, then zero those bytes in order to avoid memory check reports of
  8035. * the use of uninitialized (or uninitialised as Julian writes) bytes by
  8036. * the longest match routines. Update the high water mark for the next
  8037. * time through here. WIN_INIT is set to MAX_MATCH since the longest match
  8038. * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.
  8039. */
  8040. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size {
  8041. curr = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)
  8042. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < curr {
  8043. /* Previous high water mark below current data -- zero WIN_INIT
  8044. * bytes or up to end of window, whichever is less.
  8045. */
  8046. init1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - curr
  8047. if init1 > uint64(m_MAX_MATCH) {
  8048. init1 = uint64(m_MAX_MATCH)
  8049. }
  8050. libc.X__builtin___memset_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(curr), 0, uint64(uint32(init1)), ^t__predefined_size_t(0))
  8051. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = curr + init1
  8052. } else {
  8053. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < curr+uint64(m_MAX_MATCH) {
  8054. /* High water mark at or above current data, but below current data
  8055. * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up
  8056. * to end of window, whichever is less.
  8057. */
  8058. init1 = curr + uint64(m_MAX_MATCH) - (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water
  8059. if init1 > (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size-(*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water {
  8060. init1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water
  8061. }
  8062. libc.X__builtin___memset_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water), 0, uint64(uint32(init1)), ^t__predefined_size_t(0))
  8063. *(*Tulg)(unsafe.Pointer(s + 5944)) += init1
  8064. }
  8065. }
  8066. }
  8067. }
  8068. // C documentation
  8069. //
  8070. // /* ========================================================================= */
  8071. func XdeflateInit_(tls *libc.TLS, strm Tz_streamp, level int32, version uintptr, stream_size int32) (r int32) {
  8072. return XdeflateInit2_(tls, strm, level, int32(m_Z_DEFLATED), int32(m_MAX_WBITS), int32(m_DEF_MEM_LEVEL), m_Z_DEFAULT_STRATEGY, version, stream_size)
  8073. /* To do: ignore strm->next_in if we use it as window */
  8074. }
  8075. // C documentation
  8076. //
  8077. // /* ========================================================================= */
  8078. func XdeflateInit2_(tls *libc.TLS, strm Tz_streamp, level int32, method int32, windowBits int32, memLevel int32, strategy int32, version uintptr, stream_size int32) (r int32) {
  8079. var s uintptr
  8080. var wrap int32
  8081. _, _ = s, wrap
  8082. wrap = int32(1)
  8083. if version == uintptr(m_Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(_my_version[0]) || libc.Uint64FromInt32(stream_size) != uint64(112) {
  8084. return -int32(6)
  8085. }
  8086. if strm == uintptr(m_Z_NULL) {
  8087. return -int32(2)
  8088. }
  8089. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  8090. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  8091. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  8092. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  8093. }
  8094. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  8095. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  8096. }
  8097. if level == -int32(1) {
  8098. level = int32(6)
  8099. }
  8100. if windowBits < 0 { /* suppress zlib wrapper */
  8101. wrap = 0
  8102. if windowBits < -int32(15) {
  8103. return -int32(2)
  8104. }
  8105. windowBits = -windowBits
  8106. } else {
  8107. if windowBits > int32(15) {
  8108. wrap = int32(2) /* write gzip wrapper instead */
  8109. windowBits -= int32(16)
  8110. }
  8111. }
  8112. if memLevel < int32(1) || memLevel > int32(m_MAX_MEM_LEVEL) || method != int32(m_Z_DEFLATED) || windowBits < int32(8) || windowBits > int32(15) || level < 0 || level > int32(9) || strategy < 0 || strategy > int32(m_Z_FIXED) || windowBits == int32(8) && wrap != int32(1) {
  8113. return -int32(2)
  8114. }
  8115. if windowBits == int32(8) {
  8116. windowBits = int32(9)
  8117. } /* until 256-byte window bug fixed */
  8118. s = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(5952)))
  8119. if s == uintptr(m_Z_NULL) {
  8120. return -int32(4)
  8121. }
  8122. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = s
  8123. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm = strm
  8124. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_INIT_STATE) /* to pass state test in deflateReset() */
  8125. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = wrap
  8126. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead = uintptr(m_Z_NULL)
  8127. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits = libc.Uint32FromInt32(windowBits)
  8128. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size = libc.Uint32FromInt32(int32(1) << (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits)
  8129. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - uint32(1)
  8130. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits = libc.Uint32FromInt32(memLevel) + uint32(7)
  8131. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size = libc.Uint32FromInt32(int32(1) << (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits)
  8132. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask = (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size - uint32(1)
  8133. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift = ((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits + libc.Uint32FromInt32(m_MIN_MATCH) - libc.Uint32FromInt32(1)) / libc.Uint32FromInt32(m_MIN_MATCH)
  8134. (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size, uint32(libc.Uint64FromInt32(2)*libc.Uint64FromInt64(1)))
  8135. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size, uint32(libc.Uint64FromInt64(2)))
  8136. (*Tdeflate_state)(unsafe.Pointer(s)).Fhead = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size, uint32(libc.Uint64FromInt64(2)))
  8137. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64(0) /* nothing written to s->window yet */
  8138. (*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize = libc.Uint32FromInt32(int32(1) << (memLevel + int32(6))) /* 16K elements by default */
  8139. /* We overlay pending_buf and sym_buf. This works since the average size
  8140. * for length/distance pairs over any compressed block is assured to be 31
  8141. * bits or less.
  8142. *
  8143. * Analysis: The longest fixed codes are a length code of 8 bits plus 5
  8144. * extra bits, for lengths 131 to 257. The longest fixed distance codes are
  8145. * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest
  8146. * possible fixed-codes length/distance pair is then 31 bits total.
  8147. *
  8148. * sym_buf starts one-fourth of the way into pending_buf. So there are
  8149. * three bytes in sym_buf for every four bytes in pending_buf. Each symbol
  8150. * in sym_buf is three bytes -- two for the distance and one for the
  8151. * literal/length. As each symbol is consumed, the pointer to the next
  8152. * sym_buf value to read moves forward three bytes. From that symbol, up to
  8153. * 31 bits are written to pending_buf. The closest the written pending_buf
  8154. * bits gets to the next sym_buf symbol to read is just before the last
  8155. * code is written. At that time, 31*(n - 2) bits have been written, just
  8156. * after 24*(n - 2) bits have been consumed from sym_buf. sym_buf starts at
  8157. * 8*n bits into pending_buf. (Note that the symbol buffer fills when n - 1
  8158. * symbols are written.) The closest the writing gets to what is unread is
  8159. * then n + 14 bits. Here n is lit_bufsize, which is 16384 by default, and
  8160. * can range from 128 to 32768.
  8161. *
  8162. * Therefore, at a minimum, there are 142 bits of space between what is
  8163. * written and what is read in the overlain buffers, so the symbols cannot
  8164. * be overwritten by the compressed data. That space is actually 139 bits,
  8165. * due to the three-bit fixed-code block header.
  8166. *
  8167. * That covers the case where either Z_FIXED is specified, forcing fixed
  8168. * codes, or when the use of fixed codes is chosen, because that choice
  8169. * results in a smaller compressed block than dynamic codes. That latter
  8170. * condition then assures that the above analysis also covers all dynamic
  8171. * blocks. A dynamic-code block will only be chosen to be emitted if it has
  8172. * fewer bits than a fixed-code block would for the same set of symbols.
  8173. * Therefore its average symbol length is assured to be less than 31. So
  8174. * the compressed data for a dynamic block also cannot overwrite the
  8175. * symbols from which it is being constructed.
  8176. */
  8177. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize, libc.Uint32FromInt32(libc.Int32FromInt32(m_LIT_BUFS)))
  8178. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize) * uint64(4)
  8179. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fprev == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fhead == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf == uintptr(m_Z_NULL) {
  8180. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_FINISH_STATE)
  8181. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(4)]
  8182. XdeflateEnd(tls, strm)
  8183. return -int32(4)
  8184. }
  8185. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize)
  8186. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end = ((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize - uint32(1)) * uint32(3)
  8187. /* We avoid equality with lit_bufsize*3 because of wraparound at 64K
  8188. * on 16 bit machines and because stored blocks are restricted to
  8189. * 64K-1 bytes.
  8190. */
  8191. (*Tdeflate_state)(unsafe.Pointer(s)).Flevel = level
  8192. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
  8193. (*Tdeflate_state)(unsafe.Pointer(s)).Fmethod = libc.Uint8FromInt32(method)
  8194. return XdeflateReset(tls, strm)
  8195. }
  8196. var _my_version = [6]int8{'1', '.', '3', '.', '1'}
  8197. // C documentation
  8198. //
  8199. // /* =========================================================================
  8200. // * Check for a valid deflate stream state. Return 0 if ok, 1 if not.
  8201. // */
  8202. func _deflateStateCheck(tls *libc.TLS, strm Tz_streamp) (r int32) {
  8203. var s uintptr
  8204. _ = s
  8205. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  8206. return int32(1)
  8207. }
  8208. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8209. if s == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm != strm || (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_INIT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_GZIP_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_EXTRA_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_NAME_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_COMMENT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_HCRC_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_BUSY_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_FINISH_STATE) {
  8210. return int32(1)
  8211. }
  8212. return 0
  8213. }
  8214. // C documentation
  8215. //
  8216. // /* ========================================================================= */
  8217. func XdeflateSetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength TuInt) (r int32) {
  8218. var avail uint32
  8219. var n, str, v1, v3 TuInt
  8220. var next, s uintptr
  8221. var wrap int32
  8222. _, _, _, _, _, _, _, _ = avail, n, next, s, str, wrap, v1, v3
  8223. if _deflateStateCheck(tls, strm) != 0 || dictionary == uintptr(m_Z_NULL) {
  8224. return -int32(2)
  8225. }
  8226. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8227. wrap = (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap
  8228. if wrap == int32(2) || wrap == int32(1) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_INIT_STATE) || (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead != 0 {
  8229. return -int32(2)
  8230. }
  8231. /* when using zlib wrappers, compute Adler-32 for provided dictionary */
  8232. if wrap == int32(1) {
  8233. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, dictionary, dictLength)
  8234. }
  8235. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = 0 /* avoid computing Adler-32 in read_buf */
  8236. /* if dictionary would fill window, just replace the history */
  8237. if dictLength >= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  8238. if wrap == 0 { /* already empty otherwise */
  8239. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  8240. libc.X__builtin___memset_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2), ^t__predefined_size_t(0))
  8241. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  8242. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  8243. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  8244. }
  8245. dictionary += uintptr(dictLength - (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) /* use the tail */
  8246. dictLength = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8247. }
  8248. /* insert dictionary into window and hash */
  8249. avail = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  8250. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  8251. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = dictLength
  8252. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = dictionary
  8253. _fill_window(tls, s)
  8254. for (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  8255. str = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8256. n = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead - libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))
  8257. for {
  8258. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+uint32(m_MIN_MATCH)-uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8259. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(str&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8260. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16(str)
  8261. str++
  8262. goto _2
  8263. _2:
  8264. ;
  8265. n--
  8266. v1 = n
  8267. if !(v1 != 0) {
  8268. break
  8269. }
  8270. }
  8271. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = str
  8272. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8273. _fill_window(tls, s)
  8274. }
  8275. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  8276. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8277. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  8278. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = uint32(0)
  8279. v3 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8280. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = v3
  8281. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = v3
  8282. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  8283. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  8284. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = avail
  8285. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = wrap
  8286. return m_Z_OK
  8287. }
  8288. // C documentation
  8289. //
  8290. // /* ========================================================================= */
  8291. func XdeflateGetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength uintptr) (r int32) {
  8292. var len1 TuInt
  8293. var s uintptr
  8294. _, _ = len1, s
  8295. if _deflateStateCheck(tls, strm) != 0 {
  8296. return -int32(2)
  8297. }
  8298. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8299. len1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart + (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  8300. if len1 > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  8301. len1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8302. }
  8303. if dictionary != uintptr(m_Z_NULL) && len1 != 0 {
  8304. libc.X__builtin___memcpy_chk(tls, dictionary, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)-uintptr(len1), uint64(len1), ^t__predefined_size_t(0))
  8305. }
  8306. if dictLength != uintptr(m_Z_NULL) {
  8307. *(*TuInt)(unsafe.Pointer(dictLength)) = len1
  8308. }
  8309. return m_Z_OK
  8310. }
  8311. // C documentation
  8312. //
  8313. // /* ========================================================================= */
  8314. func XdeflateResetKeep(tls *libc.TLS, strm Tz_streamp) (r int32) {
  8315. var s uintptr
  8316. var v1 TuLong
  8317. var v2 int32
  8318. var v3 uint64
  8319. _, _, _, _ = s, v1, v2, v3
  8320. if _deflateStateCheck(tls, strm) != 0 {
  8321. return -int32(2)
  8322. }
  8323. v1 = libc.Uint64FromInt32(0)
  8324. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = v1
  8325. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = v1
  8326. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* use zfree if we ever allocate msg dynamically */
  8327. (*Tz_stream)(unsafe.Pointer(strm)).Fdata_type = int32(m_Z_UNKNOWN)
  8328. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8329. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending = uint64(0)
  8330. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf
  8331. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap < 0 {
  8332. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = -(*Tdeflate_state)(unsafe.Pointer(s)).Fwrap /* was made negative by deflate(..., Z_FINISH); */
  8333. }
  8334. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  8335. v2 = int32(m_GZIP_STATE)
  8336. } else {
  8337. v2 = int32(m_INIT_STATE)
  8338. }
  8339. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = v2
  8340. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  8341. v3 = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  8342. } else {
  8343. v3 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  8344. }
  8345. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v3
  8346. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(2)
  8347. x__tr_init(tls, s)
  8348. return m_Z_OK
  8349. }
  8350. // C documentation
  8351. //
  8352. // /* ===========================================================================
  8353. // * Initialize the "longest match" routines for a new zlib stream
  8354. // */
  8355. func _lm_init(tls *libc.TLS, s uintptr) {
  8356. var v1 TuInt
  8357. _ = v1
  8358. (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size = libc.Uint64FromInt64(2) * uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  8359. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  8360. libc.X__builtin___memset_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2), ^t__predefined_size_t(0))
  8361. /* Set the default configuration parameters:
  8362. */
  8363. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fmax_lazy)
  8364. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fgood_length)
  8365. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = libc.Int32FromUint16(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fnice_length)
  8366. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fmax_chain)
  8367. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  8368. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  8369. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = uint32(0)
  8370. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  8371. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8372. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = v1
  8373. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = v1
  8374. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  8375. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(0)
  8376. }
  8377. // C documentation
  8378. //
  8379. // /* ========================================================================= */
  8380. func XdeflateReset(tls *libc.TLS, strm Tz_streamp) (r int32) {
  8381. var ret int32
  8382. _ = ret
  8383. ret = XdeflateResetKeep(tls, strm)
  8384. if ret == m_Z_OK {
  8385. _lm_init(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  8386. }
  8387. return ret
  8388. }
  8389. // C documentation
  8390. //
  8391. // /* ========================================================================= */
  8392. func XdeflateSetHeader(tls *libc.TLS, strm Tz_streamp, head Tgz_headerp) (r int32) {
  8393. if _deflateStateCheck(tls, strm) != 0 || (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap != int32(2) {
  8394. return -int32(2)
  8395. }
  8396. (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fgzhead = head
  8397. return m_Z_OK
  8398. }
  8399. // C documentation
  8400. //
  8401. // /* ========================================================================= */
  8402. func XdeflatePending(tls *libc.TLS, strm Tz_streamp, pending uintptr, bits uintptr) (r int32) {
  8403. if _deflateStateCheck(tls, strm) != 0 {
  8404. return -int32(2)
  8405. }
  8406. if pending != uintptr(m_Z_NULL) {
  8407. *(*uint32)(unsafe.Pointer(pending)) = uint32((*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending)
  8408. }
  8409. if bits != uintptr(m_Z_NULL) {
  8410. *(*int32)(unsafe.Pointer(bits)) = (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fbi_valid
  8411. }
  8412. return m_Z_OK
  8413. }
  8414. // C documentation
  8415. //
  8416. // /* ========================================================================= */
  8417. func XdeflatePrime(tls *libc.TLS, strm Tz_streamp, bits int32, value int32) (r int32) {
  8418. var put int32
  8419. var s, p1 uintptr
  8420. _, _, _ = put, s, p1
  8421. if _deflateStateCheck(tls, strm) != 0 {
  8422. return -int32(2)
  8423. }
  8424. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8425. if bits < 0 || bits > int32(16) || (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf < (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out+uintptr((libc.Int32FromInt32(m_Buf_size)+libc.Int32FromInt32(7))>>libc.Int32FromInt32(3)) {
  8426. return -int32(5)
  8427. }
  8428. for cond := true; cond; cond = bits != 0 {
  8429. put = int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid
  8430. if put > bits {
  8431. put = bits
  8432. }
  8433. p1 = s + 5936
  8434. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(value&(libc.Int32FromInt32(1)<<put-libc.Int32FromInt32(1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)))
  8435. *(*int32)(unsafe.Pointer(s + 5940)) += put
  8436. x__tr_flush_bits(tls, s)
  8437. value >>= put
  8438. bits -= put
  8439. }
  8440. return m_Z_OK
  8441. }
  8442. // C documentation
  8443. //
  8444. // /* ========================================================================= */
  8445. func XdeflateParams(tls *libc.TLS, strm Tz_streamp, level int32, strategy int32) (r int32) {
  8446. var err int32
  8447. var func1 Tcompress_func
  8448. var s uintptr
  8449. _, _, _ = err, func1, s
  8450. if _deflateStateCheck(tls, strm) != 0 {
  8451. return -int32(2)
  8452. }
  8453. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8454. if level == -int32(1) {
  8455. level = int32(6)
  8456. }
  8457. if level < 0 || level > int32(9) || strategy < 0 || strategy > int32(m_Z_FIXED) {
  8458. return -int32(2)
  8459. }
  8460. func1 = _configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Ffunc1
  8461. if (strategy != (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy || func1 != _configuration_table[level].Ffunc1) && (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush != -int32(2) {
  8462. /* Flush the last buffer: */
  8463. err = Xdeflate(tls, strm, int32(m_Z_BLOCK))
  8464. if err == -int32(2) {
  8465. return err
  8466. }
  8467. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 || libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start+libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead) != 0 {
  8468. return -int32(5)
  8469. }
  8470. }
  8471. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel != level {
  8472. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches != uint32(0) {
  8473. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches == uint32(1) {
  8474. _slide_hash(tls, s)
  8475. } else {
  8476. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  8477. libc.X__builtin___memset_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2), ^t__predefined_size_t(0))
  8478. }
  8479. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = uint32(0)
  8480. }
  8481. (*Tdeflate_state)(unsafe.Pointer(s)).Flevel = level
  8482. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = uint32(_configuration_table[level].Fmax_lazy)
  8483. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = uint32(_configuration_table[level].Fgood_length)
  8484. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = libc.Int32FromUint16(_configuration_table[level].Fnice_length)
  8485. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = uint32(_configuration_table[level].Fmax_chain)
  8486. }
  8487. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
  8488. return m_Z_OK
  8489. }
  8490. // C documentation
  8491. //
  8492. // /* ========================================================================= */
  8493. func XdeflateTune(tls *libc.TLS, strm Tz_streamp, good_length int32, max_lazy int32, nice_length int32, max_chain int32) (r int32) {
  8494. var s uintptr
  8495. _ = s
  8496. if _deflateStateCheck(tls, strm) != 0 {
  8497. return -int32(2)
  8498. }
  8499. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8500. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = libc.Uint32FromInt32(good_length)
  8501. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = libc.Uint32FromInt32(max_lazy)
  8502. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = nice_length
  8503. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = libc.Uint32FromInt32(max_chain)
  8504. return m_Z_OK
  8505. }
  8506. // C documentation
  8507. //
  8508. // /* =========================================================================
  8509. // * For the default windowBits of 15 and memLevel of 8, this function returns a
  8510. // * close to exact, as well as small, upper bound on the compressed size. This
  8511. // * is an expansion of ~0.03%, plus a small constant.
  8512. // *
  8513. // * For any setting other than those defaults for windowBits and memLevel, one
  8514. // * of two worst case bounds is returned. This is at most an expansion of ~4% or
  8515. // * ~13%, plus a small constant.
  8516. // *
  8517. // * Both the 0.03% and 4% derive from the overhead of stored blocks. The first
  8518. // * one is for stored blocks of 16383 bytes (memLevel == 8), whereas the second
  8519. // * is for stored blocks of 127 bytes (the worst case memLevel == 1). The
  8520. // * expansion results from five bytes of header for each stored block.
  8521. // *
  8522. // * The larger expansion of 13% results from a window size less than or equal to
  8523. // * the symbols buffer size (windowBits <= memLevel + 7). In that case some of
  8524. // * the data being compressed may have slid out of the sliding window, impeding
  8525. // * a stored block from being emitted. Then the only choice is a fixed or
  8526. // * dynamic block, where a fixed block limits the maximum expansion to 9 bits
  8527. // * per 8-bit byte, plus 10 bits for every block. The smallest block size for
  8528. // * which this can occur is 255 (memLevel == 2).
  8529. // *
  8530. // * Shifts are used to approximate divisions, for speed.
  8531. // */
  8532. func XdeflateBound(tls *libc.TLS, strm Tz_streamp, sourceLen TuLong) (r TuLong) {
  8533. var fixedlen, storelen, wraplen TuLong
  8534. var s, str, v3, v5 uintptr
  8535. var v1, v7 uint64
  8536. var v2 int32
  8537. _, _, _, _, _, _, _, _, _, _ = fixedlen, s, storelen, str, wraplen, v1, v2, v3, v5, v7
  8538. /* upper bound for fixed blocks with 9-bit literals and length 255
  8539. (memLevel == 2, which is the lowest that may not use stored blocks) --
  8540. ~13% overhead plus a small constant */
  8541. fixedlen = sourceLen + sourceLen>>libc.Int32FromInt32(3) + sourceLen>>libc.Int32FromInt32(8) + sourceLen>>libc.Int32FromInt32(9) + uint64(4)
  8542. /* upper bound for stored blocks with length 127 (memLevel == 1) --
  8543. ~4% overhead plus a small constant */
  8544. storelen = sourceLen + sourceLen>>libc.Int32FromInt32(5) + sourceLen>>libc.Int32FromInt32(7) + sourceLen>>libc.Int32FromInt32(11) + uint64(7)
  8545. /* if can't get parameters, return larger bound plus a zlib wrapper */
  8546. if _deflateStateCheck(tls, strm) != 0 {
  8547. if fixedlen > storelen {
  8548. v1 = fixedlen
  8549. } else {
  8550. v1 = storelen
  8551. }
  8552. return v1 + uint64(6)
  8553. }
  8554. /* compute wrapper length */
  8555. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8556. switch (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap {
  8557. case 0: /* raw deflate */
  8558. wraplen = uint64(0)
  8559. case int32(1): /* zlib wrapper */
  8560. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != 0 {
  8561. v2 = int32(4)
  8562. } else {
  8563. v2 = 0
  8564. }
  8565. wraplen = libc.Uint64FromInt32(int32(6) + v2)
  8566. case int32(2): /* gzip wrapper */
  8567. wraplen = uint64(18)
  8568. if (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead != uintptr(m_Z_NULL) {
  8569. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  8570. wraplen += uint64(uint32(2) + (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len)
  8571. }
  8572. str = (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname
  8573. if str != uintptr(m_Z_NULL) {
  8574. for {
  8575. wraplen++
  8576. goto _4
  8577. _4:
  8578. ;
  8579. v3 = str
  8580. str++
  8581. if !(*(*TBytef)(unsafe.Pointer(v3)) != 0) {
  8582. break
  8583. }
  8584. }
  8585. }
  8586. str = (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment
  8587. if str != uintptr(m_Z_NULL) {
  8588. for {
  8589. wraplen++
  8590. goto _6
  8591. _6:
  8592. ;
  8593. v5 = str
  8594. str++
  8595. if !(*(*TBytef)(unsafe.Pointer(v5)) != 0) {
  8596. break
  8597. }
  8598. }
  8599. }
  8600. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  8601. wraplen += uint64(2)
  8602. }
  8603. }
  8604. default: /* for compiler happiness */
  8605. wraplen = uint64(6)
  8606. }
  8607. /* if not default parameters, return one of the conservative bounds */
  8608. if (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits != uint32(15) || (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits != libc.Uint32FromInt32(libc.Int32FromInt32(8)+libc.Int32FromInt32(7)) {
  8609. if (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits <= (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits && (*Tdeflate_state)(unsafe.Pointer(s)).Flevel != 0 {
  8610. v7 = fixedlen
  8611. } else {
  8612. v7 = storelen
  8613. }
  8614. return v7 + wraplen
  8615. }
  8616. /* default settings: return tight bound for that case -- ~0.03% overhead
  8617. plus a small constant */
  8618. return sourceLen + sourceLen>>libc.Int32FromInt32(12) + sourceLen>>libc.Int32FromInt32(14) + sourceLen>>libc.Int32FromInt32(25) + uint64(13) - uint64(6) + wraplen
  8619. }
  8620. // C documentation
  8621. //
  8622. // /* =========================================================================
  8623. // * Put a short in the pending buffer. The 16-bit value is put in MSB order.
  8624. // * IN assertion: the stream state is correct and there is enough room in
  8625. // * pending_buf.
  8626. // */
  8627. func _putShortMSB(tls *libc.TLS, s uintptr, b TuInt) {
  8628. var v1, v3 Tulg
  8629. var v2, v4 uintptr
  8630. _, _, _, _ = v1, v2, v3, v4
  8631. v2 = s + 40
  8632. v1 = *(*Tulg)(unsafe.Pointer(v2))
  8633. *(*Tulg)(unsafe.Pointer(v2))++
  8634. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = uint8(b >> libc.Int32FromInt32(8))
  8635. v4 = s + 40
  8636. v3 = *(*Tulg)(unsafe.Pointer(v4))
  8637. *(*Tulg)(unsafe.Pointer(v4))++
  8638. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = uint8(b & libc.Uint32FromInt32(0xff))
  8639. }
  8640. // C documentation
  8641. //
  8642. // /* =========================================================================
  8643. // * Flush as much pending output as possible. All deflate() output, except for
  8644. // * some deflate_stored() output, goes through this function so some
  8645. // * applications may wish to modify it to avoid allocating a large
  8646. // * strm->next_out buffer and copying into it. (See also read_buf()).
  8647. // */
  8648. func _flush_pending(tls *libc.TLS, strm Tz_streamp) {
  8649. var len1 uint32
  8650. var s uintptr
  8651. _, _ = len1, s
  8652. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8653. x__tr_flush_bits(tls, s)
  8654. len1 = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending)
  8655. if len1 > (*Tz_stream)(unsafe.Pointer(strm)).Favail_out {
  8656. len1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  8657. }
  8658. if len1 == uint32(0) {
  8659. return
  8660. }
  8661. libc.X__builtin___memcpy_chk(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out, uint64(len1), ^t__predefined_size_t(0))
  8662. *(*uintptr)(unsafe.Pointer(strm + 24)) += uintptr(len1)
  8663. *(*uintptr)(unsafe.Pointer(s + 32)) += uintptr(len1)
  8664. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(len1)
  8665. *(*TuInt)(unsafe.Pointer(strm + 32)) -= len1
  8666. *(*Tulg)(unsafe.Pointer(s + 40)) -= uint64(len1)
  8667. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == uint64(0) {
  8668. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf
  8669. }
  8670. }
  8671. /* ===========================================================================
  8672. * Update the header CRC with the bytes s->pending_buf[beg..s->pending - 1].
  8673. */
  8674. // C documentation
  8675. //
  8676. // /* ========================================================================= */
  8677. func Xdeflate(tls *libc.TLS, strm Tz_streamp, flush int32) (r int32) {
  8678. var beg, beg1, beg2, v10, v12, v14, v16, v18, v20, v24, v26, v33, v35, v37, v39, v4, v41, v45, v47, v49, v51, v53, v55, v57, v59, v6, v61, v66, v68, v70, v72, v74, v76, v78, v8, v80 Tulg
  8679. var bstate Tblock_state
  8680. var copy1, header, left, level_flags TuInt
  8681. var old_flush, val, val1, v1, v2, v22, v23, v28, v29, v30, v31, v32, v43, v44, v63, v64, v65, v82 int32
  8682. var s, v11, v13, v15, v17, v19, v21, v25, v27, v34, v36, v38, v40, v42, v46, v48, v5, v50, v52, v54, v56, v58, v60, v62, v67, v69, v7, v71, v73, v75, v77, v79, v81, v9 uintptr
  8683. var v3 bool
  8684. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = beg, beg1, beg2, bstate, copy1, header, left, level_flags, old_flush, s, val, val1, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v4, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v5, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v6, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69, v7, v70, v71, v72, v73, v74, v75, v76, v77, v78, v79, v8, v80, v81, v82, v9
  8685. if _deflateStateCheck(tls, strm) != 0 || flush > int32(m_Z_BLOCK) || flush < 0 {
  8686. return -int32(2)
  8687. }
  8688. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8689. if (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) && (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_FINISH_STATE) && flush != int32(m_Z_FINISH) {
  8690. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(2)]
  8691. return -libc.Int32FromInt32(2)
  8692. }
  8693. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  8694. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  8695. return -libc.Int32FromInt32(5)
  8696. }
  8697. old_flush = (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush
  8698. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = flush
  8699. /* Flush as much pending output as possible */
  8700. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  8701. _flush_pending(tls, strm)
  8702. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  8703. /* Since avail_out is 0, deflate will be called again with
  8704. * more output space, but possibly with both pending and
  8705. * avail_in equal to zero. There won't be anything to do,
  8706. * but this is not an error situation so make sure we
  8707. * return OK instead of BUF_ERROR at next call of deflate:
  8708. */
  8709. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  8710. return m_Z_OK
  8711. }
  8712. /* Make sure there is something to do and avoid duplicate consecutive
  8713. * flushes. For repeated and useless calls with Z_FINISH, we keep
  8714. * returning Z_STREAM_END instead of Z_BUF_ERROR.
  8715. */
  8716. } else {
  8717. if v3 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0); v3 {
  8718. if flush > int32(4) {
  8719. v1 = int32(9)
  8720. } else {
  8721. v1 = 0
  8722. }
  8723. if old_flush > int32(4) {
  8724. v2 = int32(9)
  8725. } else {
  8726. v2 = 0
  8727. }
  8728. }
  8729. if v3 && flush*int32(2)-v1 <= old_flush*int32(2)-v2 && flush != int32(m_Z_FINISH) {
  8730. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  8731. return -libc.Int32FromInt32(5)
  8732. }
  8733. }
  8734. /* User must not provide more input after the first FINISH: */
  8735. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_FINISH_STATE) && (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) {
  8736. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  8737. return -libc.Int32FromInt32(5)
  8738. }
  8739. /* Write the header */
  8740. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_INIT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == 0 {
  8741. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  8742. }
  8743. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_INIT_STATE) {
  8744. /* zlib header */
  8745. header = (uint32(m_Z_DEFLATED) + ((*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits-uint32(8))<<int32(4)) << int32(8)
  8746. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  8747. level_flags = uint32(0)
  8748. } else {
  8749. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(6) {
  8750. level_flags = uint32(1)
  8751. } else {
  8752. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(6) {
  8753. level_flags = uint32(2)
  8754. } else {
  8755. level_flags = uint32(3)
  8756. }
  8757. }
  8758. }
  8759. header |= level_flags << libc.Int32FromInt32(6)
  8760. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != uint32(0) {
  8761. header |= uint32(m_PRESET_DICT1)
  8762. }
  8763. header += uint32(31) - header%uint32(31)
  8764. _putShortMSB(tls, s, header)
  8765. /* Save the adler32 of the preset dictionary: */
  8766. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != uint32(0) {
  8767. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler>>libc.Int32FromInt32(16)))
  8768. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler&libc.Uint64FromInt32(0xffff)))
  8769. }
  8770. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  8771. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  8772. /* Compression must start with an empty pending buffer */
  8773. _flush_pending(tls, strm)
  8774. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  8775. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  8776. return m_Z_OK
  8777. }
  8778. }
  8779. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_GZIP_STATE) {
  8780. /* gzip header */
  8781. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  8782. v5 = s + 40
  8783. v4 = *(*Tulg)(unsafe.Pointer(v5))
  8784. *(*Tulg)(unsafe.Pointer(v5))++
  8785. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromInt32(31))
  8786. v7 = s + 40
  8787. v6 = *(*Tulg)(unsafe.Pointer(v7))
  8788. *(*Tulg)(unsafe.Pointer(v7))++
  8789. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v6))) = libc.Uint8FromInt32(libc.Int32FromInt32(139))
  8790. v9 = s + 40
  8791. v8 = *(*Tulg)(unsafe.Pointer(v9))
  8792. *(*Tulg)(unsafe.Pointer(v9))++
  8793. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromInt32(8))
  8794. if (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead == uintptr(m_Z_NULL) {
  8795. v11 = s + 40
  8796. v10 = *(*Tulg)(unsafe.Pointer(v11))
  8797. *(*Tulg)(unsafe.Pointer(v11))++
  8798. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  8799. v13 = s + 40
  8800. v12 = *(*Tulg)(unsafe.Pointer(v13))
  8801. *(*Tulg)(unsafe.Pointer(v13))++
  8802. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v12))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  8803. v15 = s + 40
  8804. v14 = *(*Tulg)(unsafe.Pointer(v15))
  8805. *(*Tulg)(unsafe.Pointer(v15))++
  8806. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  8807. v17 = s + 40
  8808. v16 = *(*Tulg)(unsafe.Pointer(v17))
  8809. *(*Tulg)(unsafe.Pointer(v17))++
  8810. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v16))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  8811. v19 = s + 40
  8812. v18 = *(*Tulg)(unsafe.Pointer(v19))
  8813. *(*Tulg)(unsafe.Pointer(v19))++
  8814. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v18))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  8815. v21 = s + 40
  8816. v20 = *(*Tulg)(unsafe.Pointer(v21))
  8817. *(*Tulg)(unsafe.Pointer(v21))++
  8818. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(9) {
  8819. v22 = int32(2)
  8820. } else {
  8821. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  8822. v23 = int32(4)
  8823. } else {
  8824. v23 = 0
  8825. }
  8826. v22 = v23
  8827. }
  8828. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v20))) = libc.Uint8FromInt32(v22)
  8829. v25 = s + 40
  8830. v24 = *(*Tulg)(unsafe.Pointer(v25))
  8831. *(*Tulg)(unsafe.Pointer(v25))++
  8832. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromInt32(m_OS_CODE))
  8833. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  8834. /* Compression must start with an empty pending buffer */
  8835. _flush_pending(tls, strm)
  8836. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  8837. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  8838. return m_Z_OK
  8839. }
  8840. } else {
  8841. v27 = s + 40
  8842. v26 = *(*Tulg)(unsafe.Pointer(v27))
  8843. *(*Tulg)(unsafe.Pointer(v27))++
  8844. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftext != 0 {
  8845. v28 = int32(1)
  8846. } else {
  8847. v28 = 0
  8848. }
  8849. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  8850. v29 = int32(2)
  8851. } else {
  8852. v29 = 0
  8853. }
  8854. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra == uintptr(m_Z_NULL) {
  8855. v30 = 0
  8856. } else {
  8857. v30 = int32(4)
  8858. }
  8859. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname == uintptr(m_Z_NULL) {
  8860. v31 = 0
  8861. } else {
  8862. v31 = int32(8)
  8863. }
  8864. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment == uintptr(m_Z_NULL) {
  8865. v32 = 0
  8866. } else {
  8867. v32 = int32(16)
  8868. }
  8869. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(v28 + v29 + v30 + v31 + v32)
  8870. v34 = s + 40
  8871. v33 = *(*Tulg)(unsafe.Pointer(v34))
  8872. *(*Tulg)(unsafe.Pointer(v34))++
  8873. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v33))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime & libc.Uint64FromInt32(0xff))
  8874. v36 = s + 40
  8875. v35 = *(*Tulg)(unsafe.Pointer(v36))
  8876. *(*Tulg)(unsafe.Pointer(v36))++
  8877. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v35))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  8878. v38 = s + 40
  8879. v37 = *(*Tulg)(unsafe.Pointer(v38))
  8880. *(*Tulg)(unsafe.Pointer(v38))++
  8881. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v37))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> libc.Int32FromInt32(16) & libc.Uint64FromInt32(0xff))
  8882. v40 = s + 40
  8883. v39 = *(*Tulg)(unsafe.Pointer(v40))
  8884. *(*Tulg)(unsafe.Pointer(v40))++
  8885. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v39))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> libc.Int32FromInt32(24) & libc.Uint64FromInt32(0xff))
  8886. v42 = s + 40
  8887. v41 = *(*Tulg)(unsafe.Pointer(v42))
  8888. *(*Tulg)(unsafe.Pointer(v42))++
  8889. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(9) {
  8890. v43 = int32(2)
  8891. } else {
  8892. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  8893. v44 = int32(4)
  8894. } else {
  8895. v44 = 0
  8896. }
  8897. v43 = v44
  8898. }
  8899. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v41))) = libc.Uint8FromInt32(v43)
  8900. v46 = s + 40
  8901. v45 = *(*Tulg)(unsafe.Pointer(v46))
  8902. *(*Tulg)(unsafe.Pointer(v46))++
  8903. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v45))) = libc.Uint8FromInt32((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fos & libc.Int32FromInt32(0xff))
  8904. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  8905. v48 = s + 40
  8906. v47 = *(*Tulg)(unsafe.Pointer(v48))
  8907. *(*Tulg)(unsafe.Pointer(v48))++
  8908. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v47))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len & libc.Uint32FromInt32(0xff))
  8909. v50 = s + 40
  8910. v49 = *(*Tulg)(unsafe.Pointer(v50))
  8911. *(*Tulg)(unsafe.Pointer(v50))++
  8912. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v49))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len >> libc.Int32FromInt32(8) & libc.Uint32FromInt32(0xff))
  8913. }
  8914. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  8915. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf, uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending))
  8916. }
  8917. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  8918. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_EXTRA_STATE)
  8919. }
  8920. }
  8921. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_EXTRA_STATE) {
  8922. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  8923. beg = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending /* start of bytes to update crc */
  8924. left = uint32(uint64((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len&libc.Uint32FromInt32(0xffff)) - (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex)
  8925. for (*Tdeflate_state)(unsafe.Pointer(s)).Fpending+uint64(left) > (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  8926. copy1 = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - (*Tdeflate_state)(unsafe.Pointer(s)).Fpending)
  8927. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex), uint64(copy1), ^t__predefined_size_t(0))
  8928. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size
  8929. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg {
  8930. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg))
  8931. }
  8932. *(*Tulg)(unsafe.Pointer(s + 64)) += uint64(copy1)
  8933. _flush_pending(tls, strm)
  8934. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  8935. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  8936. return m_Z_OK
  8937. }
  8938. beg = uint64(0)
  8939. left -= copy1
  8940. }
  8941. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex), uint64(left), ^t__predefined_size_t(0))
  8942. *(*Tulg)(unsafe.Pointer(s + 40)) += uint64(left)
  8943. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg {
  8944. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg))
  8945. }
  8946. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  8947. }
  8948. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_NAME_STATE)
  8949. }
  8950. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_NAME_STATE) {
  8951. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname != uintptr(m_Z_NULL) {
  8952. beg1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending
  8953. for cond := true; cond; cond = val != 0 {
  8954. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  8955. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg1 {
  8956. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg1), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg1))
  8957. }
  8958. _flush_pending(tls, strm)
  8959. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  8960. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  8961. return m_Z_OK
  8962. }
  8963. beg1 = uint64(0)
  8964. }
  8965. v52 = s + 64
  8966. v51 = *(*Tulg)(unsafe.Pointer(v52))
  8967. *(*Tulg)(unsafe.Pointer(v52))++
  8968. val = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname + uintptr(v51))))
  8969. v54 = s + 40
  8970. v53 = *(*Tulg)(unsafe.Pointer(v54))
  8971. *(*Tulg)(unsafe.Pointer(v54))++
  8972. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v53))) = libc.Uint8FromInt32(val)
  8973. }
  8974. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg1 {
  8975. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg1), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg1))
  8976. }
  8977. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  8978. }
  8979. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_COMMENT_STATE)
  8980. }
  8981. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_COMMENT_STATE) {
  8982. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment != uintptr(m_Z_NULL) {
  8983. beg2 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending
  8984. for cond := true; cond; cond = val1 != 0 {
  8985. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  8986. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg2 {
  8987. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg2), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg2))
  8988. }
  8989. _flush_pending(tls, strm)
  8990. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  8991. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  8992. return m_Z_OK
  8993. }
  8994. beg2 = uint64(0)
  8995. }
  8996. v56 = s + 64
  8997. v55 = *(*Tulg)(unsafe.Pointer(v56))
  8998. *(*Tulg)(unsafe.Pointer(v56))++
  8999. val1 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment + uintptr(v55))))
  9000. v58 = s + 40
  9001. v57 = *(*Tulg)(unsafe.Pointer(v58))
  9002. *(*Tulg)(unsafe.Pointer(v58))++
  9003. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v57))) = libc.Uint8FromInt32(val1)
  9004. }
  9005. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg2 {
  9006. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg2), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg2))
  9007. }
  9008. }
  9009. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_HCRC_STATE)
  9010. }
  9011. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_HCRC_STATE) {
  9012. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  9013. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending+uint64(2) > (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  9014. _flush_pending(tls, strm)
  9015. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  9016. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  9017. return m_Z_OK
  9018. }
  9019. }
  9020. v60 = s + 40
  9021. v59 = *(*Tulg)(unsafe.Pointer(v60))
  9022. *(*Tulg)(unsafe.Pointer(v60))++
  9023. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v59))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler & libc.Uint64FromInt32(0xff))
  9024. v62 = s + 40
  9025. v61 = *(*Tulg)(unsafe.Pointer(v62))
  9026. *(*Tulg)(unsafe.Pointer(v62))++
  9027. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v61))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  9028. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  9029. }
  9030. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  9031. /* Compression must start with an empty pending buffer */
  9032. _flush_pending(tls, strm)
  9033. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  9034. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  9035. return m_Z_OK
  9036. }
  9037. }
  9038. /* Start a new block or continue the current one.
  9039. */
  9040. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) || (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead != uint32(0) || flush != m_Z_NO_FLUSH && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_FINISH_STATE) {
  9041. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == 0 {
  9042. v63 = _deflate_stored(tls, s, flush)
  9043. } else {
  9044. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_HUFFMAN_ONLY) {
  9045. v64 = _deflate_huff(tls, s, flush)
  9046. } else {
  9047. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_RLE) {
  9048. v65 = _deflate_rle(tls, s, flush)
  9049. } else {
  9050. v65 = (*(*func(*libc.TLS, uintptr, int32) Tblock_state)(unsafe.Pointer(&struct{ uintptr }{_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Ffunc1})))(tls, s, flush)
  9051. }
  9052. v64 = v65
  9053. }
  9054. v63 = v64
  9055. }
  9056. bstate = v63
  9057. if bstate == int32(_finish_started) || bstate == int32(_finish_done) {
  9058. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_FINISH_STATE)
  9059. }
  9060. if bstate == int32(_need_more) || bstate == int32(_finish_started) {
  9061. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  9062. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1) /* avoid BUF_ERROR next call, see above */
  9063. }
  9064. return m_Z_OK
  9065. /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
  9066. * of deflate should use the same flush parameter to make sure
  9067. * that the flush is complete. So we don't have to output an
  9068. * empty block here, this will be done at next call. This also
  9069. * ensures that for a very small output buffer, we emit at most
  9070. * one empty block.
  9071. */
  9072. }
  9073. if bstate == int32(_block_done) {
  9074. if flush == int32(m_Z_PARTIAL_FLUSH) {
  9075. x__tr_align(tls, s)
  9076. } else {
  9077. if flush != int32(m_Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */
  9078. x__tr_stored_block(tls, s, libc.UintptrFromInt32(0), uint64(0), 0)
  9079. /* For a full flush, this empty block will be recognized
  9080. * as a special marker by inflate_sync().
  9081. */
  9082. if flush == int32(m_Z_FULL_FLUSH) {
  9083. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  9084. libc.X__builtin___memset_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2), ^t__predefined_size_t(0)) /* forget history */
  9085. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  9086. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  9087. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  9088. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  9089. }
  9090. }
  9091. }
  9092. }
  9093. _flush_pending(tls, strm)
  9094. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  9095. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1) /* avoid BUF_ERROR at next call, see above */
  9096. return m_Z_OK
  9097. }
  9098. }
  9099. }
  9100. if flush != int32(m_Z_FINISH) {
  9101. return m_Z_OK
  9102. }
  9103. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap <= 0 {
  9104. return int32(m_Z_STREAM_END)
  9105. }
  9106. /* Write the trailer */
  9107. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  9108. v67 = s + 40
  9109. v66 = *(*Tulg)(unsafe.Pointer(v67))
  9110. *(*Tulg)(unsafe.Pointer(v67))++
  9111. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v66))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler & libc.Uint64FromInt32(0xff))
  9112. v69 = s + 40
  9113. v68 = *(*Tulg)(unsafe.Pointer(v69))
  9114. *(*Tulg)(unsafe.Pointer(v69))++
  9115. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v68))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  9116. v71 = s + 40
  9117. v70 = *(*Tulg)(unsafe.Pointer(v71))
  9118. *(*Tulg)(unsafe.Pointer(v71))++
  9119. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v70))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(16) & libc.Uint64FromInt32(0xff))
  9120. v73 = s + 40
  9121. v72 = *(*Tulg)(unsafe.Pointer(v73))
  9122. *(*Tulg)(unsafe.Pointer(v73))++
  9123. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v72))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(24) & libc.Uint64FromInt32(0xff))
  9124. v75 = s + 40
  9125. v74 = *(*Tulg)(unsafe.Pointer(v75))
  9126. *(*Tulg)(unsafe.Pointer(v75))++
  9127. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v74))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in & libc.Uint64FromInt32(0xff))
  9128. v77 = s + 40
  9129. v76 = *(*Tulg)(unsafe.Pointer(v77))
  9130. *(*Tulg)(unsafe.Pointer(v77))++
  9131. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v76))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  9132. v79 = s + 40
  9133. v78 = *(*Tulg)(unsafe.Pointer(v79))
  9134. *(*Tulg)(unsafe.Pointer(v79))++
  9135. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v78))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in >> libc.Int32FromInt32(16) & libc.Uint64FromInt32(0xff))
  9136. v81 = s + 40
  9137. v80 = *(*Tulg)(unsafe.Pointer(v81))
  9138. *(*Tulg)(unsafe.Pointer(v81))++
  9139. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v80))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in >> libc.Int32FromInt32(24) & libc.Uint64FromInt32(0xff))
  9140. } else {
  9141. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler>>libc.Int32FromInt32(16)))
  9142. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler&libc.Uint64FromInt32(0xffff)))
  9143. }
  9144. _flush_pending(tls, strm)
  9145. /* If avail_out is zero, the application will call deflate again
  9146. * to flush the rest.
  9147. */
  9148. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap > 0 {
  9149. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = -(*Tdeflate_state)(unsafe.Pointer(s)).Fwrap
  9150. } /* write the trailer only once! */
  9151. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  9152. v82 = m_Z_OK
  9153. } else {
  9154. v82 = int32(m_Z_STREAM_END)
  9155. }
  9156. return v82
  9157. }
  9158. // C documentation
  9159. //
  9160. // /* ========================================================================= */
  9161. func XdeflateEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  9162. var status, v1 int32
  9163. _, _ = status, v1
  9164. if _deflateStateCheck(tls, strm) != 0 {
  9165. return -int32(2)
  9166. }
  9167. status = (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fstatus
  9168. /* Deallocate in reverse order of allocations: */
  9169. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf != 0 {
  9170. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf)
  9171. }
  9172. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fhead != 0 {
  9173. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fhead)
  9174. }
  9175. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fprev != 0 {
  9176. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fprev)
  9177. }
  9178. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow != 0 {
  9179. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow)
  9180. }
  9181. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  9182. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  9183. if status == int32(m_BUSY_STATE) {
  9184. v1 = -int32(3)
  9185. } else {
  9186. v1 = m_Z_OK
  9187. }
  9188. return v1
  9189. }
  9190. // C documentation
  9191. //
  9192. // /* =========================================================================
  9193. // * Copy the source state to the destination state.
  9194. // * To simplify the source, this is not supported for 16-bit MSDOS (which
  9195. // * doesn't have enough memory anyway to duplicate compression states).
  9196. // */
  9197. func XdeflateCopy(tls *libc.TLS, dest Tz_streamp, source Tz_streamp) (r int32) {
  9198. var ds, ss uintptr
  9199. _, _ = ds, ss
  9200. if _deflateStateCheck(tls, source) != 0 || dest == uintptr(m_Z_NULL) {
  9201. return -int32(2)
  9202. }
  9203. ss = (*Tz_stream)(unsafe.Pointer(source)).Fstate
  9204. libc.X__builtin___memcpy_chk(tls, dest, source, uint64(112), ^t__predefined_size_t(0))
  9205. ds = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(5952)))
  9206. if ds == uintptr(m_Z_NULL) {
  9207. return -int32(4)
  9208. }
  9209. (*Tz_stream)(unsafe.Pointer(dest)).Fstate = ds
  9210. libc.X__builtin___memcpy_chk(tls, ds, ss, uint64(5952), ^t__predefined_size_t(0))
  9211. (*Tdeflate_state)(unsafe.Pointer(ds)).Fstrm = dest
  9212. (*Tdeflate_state)(unsafe.Pointer(ds)).Fwindow = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size, uint32(libc.Uint64FromInt32(2)*libc.Uint64FromInt64(1)))
  9213. (*Tdeflate_state)(unsafe.Pointer(ds)).Fprev = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size, uint32(libc.Uint64FromInt64(2)))
  9214. (*Tdeflate_state)(unsafe.Pointer(ds)).Fhead = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Fhash_size, uint32(libc.Uint64FromInt64(2)))
  9215. (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize, libc.Uint32FromInt32(libc.Int32FromInt32(m_LIT_BUFS)))
  9216. if (*Tdeflate_state)(unsafe.Pointer(ds)).Fwindow == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(ds)).Fprev == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(ds)).Fhead == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf == uintptr(m_Z_NULL) {
  9217. XdeflateEnd(tls, dest)
  9218. return -int32(4)
  9219. }
  9220. /* following zmemcpy do not work for 16-bit MSDOS */
  9221. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(ss)).Fwindow, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size*uint32(2))*uint64(1), ^t__predefined_size_t(0))
  9222. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fprev, (*Tdeflate_state)(unsafe.Pointer(ss)).Fprev, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size)*uint64(2), ^t__predefined_size_t(0))
  9223. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fhead, (*Tdeflate_state)(unsafe.Pointer(ss)).Fhead, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fhash_size)*uint64(2), ^t__predefined_size_t(0))
  9224. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf, (*Tdeflate_state)(unsafe.Pointer(ss)).Fpending_buf, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize*uint32(m_LIT_BUFS)), ^t__predefined_size_t(0))
  9225. (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr(int64((*Tdeflate_state)(unsafe.Pointer(ss)).Fpending_out)-int64((*Tdeflate_state)(unsafe.Pointer(ss)).Fpending_buf))
  9226. (*Tdeflate_state)(unsafe.Pointer(ds)).Fsym_buf = (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize)
  9227. (*Tdeflate_state)(unsafe.Pointer(ds)).Fl_desc.Fdyn_tree = ds + 212
  9228. (*Tdeflate_state)(unsafe.Pointer(ds)).Fd_desc.Fdyn_tree = ds + 2504
  9229. (*Tdeflate_state)(unsafe.Pointer(ds)).Fbl_desc.Fdyn_tree = ds + 2748
  9230. return m_Z_OK
  9231. }
  9232. // C documentation
  9233. //
  9234. // /* ===========================================================================
  9235. // * Set match_start to the longest match starting at the given string and
  9236. // * return its length. Matches shorter or equal to prev_length are discarded,
  9237. // * in which case the result is equal to prev_length and match_start is
  9238. // * garbage.
  9239. // * IN assertions: cur_match is the head of the hash chain for the current
  9240. // * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
  9241. // * OUT assertion: the match length is not greater than s->lookahead.
  9242. // */
  9243. func _longest_match(tls *libc.TLS, s uintptr, cur_match TIPos) (r TuInt) {
  9244. var best_len, len1, nice_match int32
  9245. var chain_length, v1, v3 uint32
  9246. var limit, v2 TIPos
  9247. var match, prev, scan, strend, v10, v11, v13, v14, v16, v17, v19, v20, v22, v23, v25, v26, v28, v29, v6, v8, v9 uintptr
  9248. var scan_end, scan_end1 TByte
  9249. var wmask TuInt
  9250. var v12, v15, v18, v21, v24, v27, v30, v4, v7 bool
  9251. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best_len, chain_length, len1, limit, match, nice_match, prev, scan, scan_end, scan_end1, strend, wmask, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v3, v30, v4, v6, v7, v8, v9
  9252. chain_length = (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length /* max hash chain length */
  9253. scan = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) /* length of current match */
  9254. best_len = libc.Int32FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length) /* best match length so far */
  9255. nice_match = (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match
  9256. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  9257. v1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - ((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)))
  9258. } else {
  9259. v1 = uint32(m_NIL)
  9260. } /* stop if match long enough */
  9261. limit = v1
  9262. /* Stop when cur_match becomes <= limit. To simplify the code,
  9263. * we prevent matches with the string of window index 0.
  9264. */
  9265. prev = (*Tdeflate_state)(unsafe.Pointer(s)).Fprev
  9266. wmask = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask
  9267. strend = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(m_MAX_MATCH)
  9268. scan_end1 = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len-int32(1))))
  9269. scan_end = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len)))
  9270. /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
  9271. * It is easy to get rid of this optimization if necessary.
  9272. */
  9273. /* Do not waste too much time if we already have a good match: */
  9274. if (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length >= (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match {
  9275. chain_length >>= uint32(2)
  9276. }
  9277. /* Do not look for matches beyond the end of the input. This is necessary
  9278. * to make deflate deterministic.
  9279. */
  9280. if libc.Uint32FromInt32(nice_match) > (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  9281. nice_match = libc.Int32FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)
  9282. }
  9283. for {
  9284. match = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(cur_match)
  9285. /* Skip to next match if the match length cannot increase
  9286. * or if the match length is less than 2. Note that the checks below
  9287. * for insufficient lookahead only occur occasionally for performance
  9288. * reasons. Therefore uninitialized memory will be accessed, and
  9289. * conditional jumps will be made that depend on those values.
  9290. * However the length of the match is limited to the lookahead, so
  9291. * the output of deflate is not affected by the uninitialized values.
  9292. */
  9293. if v7 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(match + uintptr(best_len)))) != libc.Int32FromUint8(scan_end) || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(match + uintptr(best_len-int32(1))))) != libc.Int32FromUint8(scan_end1) || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(match))) != libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(scan))); !v7 {
  9294. match++
  9295. v6 = match
  9296. }
  9297. if v7 || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v6))) != libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(scan + 1))) {
  9298. goto _5
  9299. }
  9300. /* The check at best_len - 1 can be removed because it will be made
  9301. * again later. (This heuristic is not always a win.)
  9302. * It is not necessary to compare scan[2] and match[2] since they
  9303. * are always equal when the other bytes match, given that
  9304. * the hash keys are equal and that HASH_BITS >= 8.
  9305. */
  9306. scan += uintptr(2)
  9307. /* The check at best_len - 1 can be removed because it will be made
  9308. * again later. (This heuristic is not always a win.)
  9309. * It is not necessary to compare scan[2] and match[2] since they
  9310. * are always equal when the other bytes match, given that
  9311. * the hash keys are equal and that HASH_BITS >= 8.
  9312. */
  9313. match++
  9314. /* We check for insufficient lookahead only every 8th comparison;
  9315. * the 256th check will be made at strstart + 258.
  9316. */
  9317. for {
  9318. goto _31
  9319. _31:
  9320. ;
  9321. scan++
  9322. v8 = scan
  9323. match++
  9324. v9 = match
  9325. if v12 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v8))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v9))); v12 {
  9326. scan++
  9327. v10 = scan
  9328. match++
  9329. v11 = match
  9330. }
  9331. if v15 = v12 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v10))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v11))); v15 {
  9332. scan++
  9333. v13 = scan
  9334. match++
  9335. v14 = match
  9336. }
  9337. if v18 = v15 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v13))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v14))); v18 {
  9338. scan++
  9339. v16 = scan
  9340. match++
  9341. v17 = match
  9342. }
  9343. if v21 = v18 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v16))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v17))); v21 {
  9344. scan++
  9345. v19 = scan
  9346. match++
  9347. v20 = match
  9348. }
  9349. if v24 = v21 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v19))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v20))); v24 {
  9350. scan++
  9351. v22 = scan
  9352. match++
  9353. v23 = match
  9354. }
  9355. if v27 = v24 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v22))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v23))); v27 {
  9356. scan++
  9357. v25 = scan
  9358. match++
  9359. v26 = match
  9360. }
  9361. if v30 = v27 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v25))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v26))); v30 {
  9362. scan++
  9363. v28 = scan
  9364. match++
  9365. v29 = match
  9366. }
  9367. if !(v30 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v28))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v29))) && scan < strend) {
  9368. break
  9369. }
  9370. }
  9371. len1 = int32(m_MAX_MATCH) - int32(int64(strend)-int64(scan))
  9372. scan = strend - uintptr(m_MAX_MATCH)
  9373. if len1 > best_len {
  9374. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start = cur_match
  9375. best_len = len1
  9376. if len1 >= nice_match {
  9377. break
  9378. }
  9379. scan_end1 = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len-int32(1))))
  9380. scan_end = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len)))
  9381. }
  9382. goto _5
  9383. _5:
  9384. ;
  9385. v2 = uint32(*(*TPosf)(unsafe.Pointer(prev + uintptr(cur_match&wmask)*2)))
  9386. cur_match = v2
  9387. if v4 = v2 > limit; v4 {
  9388. chain_length--
  9389. v3 = chain_length
  9390. }
  9391. if !(v4 && v3 != uint32(0)) {
  9392. break
  9393. }
  9394. }
  9395. if libc.Uint32FromInt32(best_len) <= (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  9396. return libc.Uint32FromInt32(best_len)
  9397. }
  9398. return (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  9399. }
  9400. /* ===========================================================================
  9401. * Flush the current block, with given end-of-file flag.
  9402. * IN assertion: strstart is set to the end of the current match.
  9403. */
  9404. /* Same but force premature exit if necessary. */
  9405. /* Maximum stored block length in deflate format (not including header). */
  9406. /* Minimum of a and b. */
  9407. // C documentation
  9408. //
  9409. // /* ===========================================================================
  9410. // * Copy without compression as much as possible from the input stream, return
  9411. // * the current block state.
  9412. // *
  9413. // * In case deflateParams() is used to later switch to a non-zero compression
  9414. // * level, s->matches (otherwise unused when storing) keeps track of the number
  9415. // * of hash table slides to perform. If s->matches is 1, then one hash table
  9416. // * slide will be done when switching. If s->matches is 2, the maximum value
  9417. // * allowed here, then the hash table will be cleared, since two or more slides
  9418. // * is the same as a clear.
  9419. // *
  9420. // * deflate_stored() is written to minimize the number of times an input byte is
  9421. // * copied. It is most efficient with large input and output buffers, which
  9422. // * maximizes the opportunities to have a single copy from next_in to next_out.
  9423. // */
  9424. func _deflate_stored(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  9425. var have, last, left, len1, min_block, used, v3, v4, v6, v7 uint32
  9426. var v1, v5 uint64
  9427. var v2, v8, v9 int32
  9428. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = have, last, left, len1, min_block, used, v1, v2, v3, v4, v5, v6, v7, v8, v9
  9429. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(5) > uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) {
  9430. v1 = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  9431. } else {
  9432. v1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(5)
  9433. }
  9434. /* Smallest worthy block size when not flushing or finishing. By default
  9435. * this is 32K. This can be as small as 507 bytes for memLevel == 1. For
  9436. * large input and output buffers, the stored block size will be larger.
  9437. */
  9438. min_block = uint32(v1)
  9439. last = uint32(0)
  9440. used = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  9441. for cond := true; cond; cond = last == uint32(0) {
  9442. /* Set len to the maximum size block that we can copy directly with the
  9443. * available input data and output space. Set left to how much of that
  9444. * would be copied from what's left in the window.
  9445. */
  9446. len1 = uint32(m_MAX_STORED) /* maximum deflate stored block length */
  9447. have = libc.Uint32FromInt32(((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid + int32(42)) >> int32(3)) /* number of header bytes */
  9448. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out < have { /* need room for header */
  9449. break
  9450. }
  9451. /* maximum stored block length that will fit in avail_out: */
  9452. have = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out - have
  9453. left = libc.Uint32FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start) /* bytes left in window */
  9454. if uint64(len1) > uint64(left)+uint64((*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) {
  9455. len1 = left + (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  9456. } /* limit len to the input */
  9457. if len1 > have {
  9458. len1 = have
  9459. } /* limit len to the output */
  9460. /* If the stored block would be less than min_block in length, or if
  9461. * unable to copy all of the available input when flushing, then try
  9462. * copying to the window and the pending buffer instead. Also don't
  9463. * write an empty block when flushing -- deflate() does that.
  9464. */
  9465. if len1 < min_block && (len1 == uint32(0) && flush != int32(m_Z_FINISH) || flush == m_Z_NO_FLUSH || len1 != left+(*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) {
  9466. break
  9467. }
  9468. /* Make a dummy stored block in pending to get the header bytes,
  9469. * including any pending bits. This also updates the debugging counts.
  9470. */
  9471. if flush == int32(m_Z_FINISH) && len1 == left+(*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
  9472. v2 = int32(1)
  9473. } else {
  9474. v2 = 0
  9475. }
  9476. last = libc.Uint32FromInt32(v2)
  9477. x__tr_stored_block(tls, s, libc.UintptrFromInt32(0), uint64(0), libc.Int32FromUint32(last))
  9478. /* Replace the lengths in the dummy stored block with len. */
  9479. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(4)))) = uint8(len1)
  9480. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(3)))) = uint8(len1 >> int32(8))
  9481. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(2)))) = uint8(^len1)
  9482. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(1)))) = uint8(^len1 >> int32(8))
  9483. /* Write the stored block header bytes. */
  9484. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9485. /* Copy uncompressed bytes from the window to next_out. */
  9486. if left != 0 {
  9487. if left > len1 {
  9488. left = len1
  9489. }
  9490. libc.X__builtin___memcpy_chk(tls, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), uint64(left), ^t__predefined_size_t(0))
  9491. *(*uintptr)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(left)
  9492. *(*TuInt)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= left
  9493. *(*TuLong)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += uint64(left)
  9494. *(*int64)(unsafe.Pointer(s + 152)) += libc.Int64FromUint32(left)
  9495. len1 -= left
  9496. }
  9497. /* Copy uncompressed bytes directly from next_in to next_out, updating
  9498. * the check value.
  9499. */
  9500. if len1 != 0 {
  9501. _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, len1)
  9502. *(*uintptr)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(len1)
  9503. *(*TuInt)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= len1
  9504. *(*TuLong)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += uint64(len1)
  9505. }
  9506. }
  9507. /* Update the sliding window with the last s->w_size bytes of the copied
  9508. * data, or append all of the copied data to the existing window if less
  9509. * than s->w_size bytes were copied. Also update the number of bytes to
  9510. * insert in the hash tables, in the event that deflateParams() switches to
  9511. * a non-zero compression level.
  9512. */
  9513. used -= (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in /* number of input bytes directly copied */
  9514. if used != 0 {
  9515. /* If any input was used, then no unused input remains in the window,
  9516. * therefore s->block_start == s->strstart.
  9517. */
  9518. if used >= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size { /* supplant the previous history */
  9519. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = uint32(2) /* clear hash */
  9520. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_in-uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), ^t__predefined_size_t(0))
  9521. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  9522. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  9523. } else {
  9524. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size-uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) <= uint64(used) {
  9525. /* Slide the window down. */
  9526. *(*TuInt)(unsafe.Pointer(s + 172)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  9527. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart), ^t__predefined_size_t(0))
  9528. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches < uint32(2) {
  9529. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  9530. } /* add a pending slide_hash() */
  9531. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  9532. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  9533. }
  9534. }
  9535. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart), (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_in-uintptr(used), uint64(used), ^t__predefined_size_t(0))
  9536. *(*TuInt)(unsafe.Pointer(s + 172)) += used
  9537. if used > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-(*Tdeflate_state)(unsafe.Pointer(s)).Finsert {
  9538. v3 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  9539. } else {
  9540. v3 = used
  9541. }
  9542. *(*TuInt)(unsafe.Pointer(s + 5932)) += v3
  9543. }
  9544. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9545. }
  9546. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) {
  9547. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9548. }
  9549. /* If the last block was written to next_out, then done. */
  9550. if last != 0 {
  9551. return int32(_finish_done)
  9552. }
  9553. /* If flushing and all input has been consumed, then done. */
  9554. if flush != m_Z_NO_FLUSH && flush != int32(m_Z_FINISH) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) == (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start {
  9555. return int32(_block_done)
  9556. }
  9557. /* Fill the window with any remaining input. */
  9558. have = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  9559. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in > have && (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) {
  9560. /* Slide the window down. */
  9561. *(*int64)(unsafe.Pointer(s + 152)) -= libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  9562. *(*TuInt)(unsafe.Pointer(s + 172)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  9563. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart), ^t__predefined_size_t(0))
  9564. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches < uint32(2) {
  9565. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  9566. } /* add a pending slide_hash() */
  9567. have += (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size /* more space now */
  9568. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  9569. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  9570. }
  9571. }
  9572. if have > (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
  9573. have = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  9574. }
  9575. if have != 0 {
  9576. _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart), have)
  9577. *(*TuInt)(unsafe.Pointer(s + 172)) += have
  9578. if have > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-(*Tdeflate_state)(unsafe.Pointer(s)).Finsert {
  9579. v4 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  9580. } else {
  9581. v4 = have
  9582. }
  9583. *(*TuInt)(unsafe.Pointer(s + 5932)) += v4
  9584. }
  9585. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) {
  9586. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9587. }
  9588. /* There was not enough avail_out to write a complete worthy or flushed
  9589. * stored block to next_out. Write a stored block to pending instead, if we
  9590. * have enough input for a worthy block, or if flushing and there is enough
  9591. * room for the remaining input as a stored block in the pending buffer.
  9592. */
  9593. have = libc.Uint32FromInt32(((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid + int32(42)) >> int32(3)) /* number of header bytes */
  9594. /* maximum stored block length that will fit in pending: */
  9595. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(have) > libc.Uint64FromInt32(libc.Int32FromInt32(m_MAX_STORED)) {
  9596. v5 = libc.Uint64FromInt32(libc.Int32FromInt32(m_MAX_STORED))
  9597. } else {
  9598. v5 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(have)
  9599. }
  9600. have = uint32(v5)
  9601. if have > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  9602. v6 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  9603. } else {
  9604. v6 = have
  9605. }
  9606. min_block = v6
  9607. left = libc.Uint32FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start)
  9608. if left >= min_block || (left != 0 || flush == int32(m_Z_FINISH)) && flush != m_Z_NO_FLUSH && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && left <= have {
  9609. if left > have {
  9610. v7 = have
  9611. } else {
  9612. v7 = left
  9613. }
  9614. len1 = v7
  9615. if flush == int32(m_Z_FINISH) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && len1 == left {
  9616. v8 = int32(1)
  9617. } else {
  9618. v8 = 0
  9619. }
  9620. last = libc.Uint32FromInt32(v8)
  9621. x__tr_stored_block(tls, s, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), uint64(len1), libc.Int32FromUint32(last))
  9622. *(*int64)(unsafe.Pointer(s + 152)) += libc.Int64FromUint32(len1)
  9623. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9624. }
  9625. /* We've done all we can with the available input and output. */
  9626. if last != 0 {
  9627. v9 = int32(_finish_started)
  9628. } else {
  9629. v9 = int32(_need_more)
  9630. }
  9631. return v9
  9632. }
  9633. // C documentation
  9634. //
  9635. // /* ===========================================================================
  9636. // * Compress as much as possible from the input stream, return the current
  9637. // * block state.
  9638. // * This function does not perform lazy evaluation of matches and inserts
  9639. // * new strings in the dictionary only for unmatched strings or for short
  9640. // * matches. It is used only for the fast compression options.
  9641. // */
  9642. func _deflate_fast(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  9643. var bflush, v9 int32
  9644. var cc, len1 Tuch
  9645. var dist Tush
  9646. var hash_head TIPos
  9647. var v10, v14, v16, v18, v3, v5, v7 TuInt
  9648. var v11, v15, v17, v19, v20, v22, v23, v4, v6, v8 uintptr
  9649. var v13, v2 TPosf
  9650. var v21 uint32
  9651. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, dist, hash_head, len1, v10, v11, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v3, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
  9652. for {
  9653. /* Make sure that we always have enough lookahead, except
  9654. * at the end of the input file. We need MAX_MATCH bytes
  9655. * for the next match, plus MIN_MATCH bytes to insert the
  9656. * string following the next match.
  9657. */
  9658. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  9659. _fill_window(tls, s)
  9660. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) && flush == m_Z_NO_FLUSH {
  9661. return int32(_need_more)
  9662. }
  9663. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  9664. break
  9665. } /* flush the current block */
  9666. }
  9667. /* Insert the string window[strstart .. strstart + 2] in the
  9668. * dictionary, and set hash_head to the head of the hash chain:
  9669. */
  9670. hash_head = uint32(m_NIL)
  9671. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  9672. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  9673. v2 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  9674. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v2
  9675. hash_head = uint32(v2)
  9676. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9677. }
  9678. /* Find the longest match, discarding those <= prev_length.
  9679. * At this point we have always match_length < MIN_MATCH
  9680. */
  9681. if hash_head != uint32(m_NIL) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-hash_head <= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  9682. /* To simplify the code, we prevent matches with the string
  9683. * of window index 0 (in particular we have to avoid a match
  9684. * of the string with itself at the start of the input file).
  9685. */
  9686. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = _longest_match(tls, s, hash_head)
  9687. /* longest_match() sets match_start */
  9688. }
  9689. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length >= uint32(m_MIN_MATCH) {
  9690. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length - libc.Uint32FromInt32(m_MIN_MATCH))
  9691. dist = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start)
  9692. v4 = s + 5900
  9693. v3 = *(*TuInt)(unsafe.Pointer(v4))
  9694. *(*TuInt)(unsafe.Pointer(v4))++
  9695. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist)
  9696. v6 = s + 5900
  9697. v5 = *(*TuInt)(unsafe.Pointer(v6))
  9698. *(*TuInt)(unsafe.Pointer(v6))++
  9699. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  9700. v8 = s + 5900
  9701. v7 = *(*TuInt)(unsafe.Pointer(v8))
  9702. *(*TuInt)(unsafe.Pointer(v8))++
  9703. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v7))) = len1
  9704. dist--
  9705. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  9706. if libc.Int32FromUint16(dist) < int32(256) {
  9707. v9 = libc.Int32FromUint8(x__dist_code[dist])
  9708. } else {
  9709. v9 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  9710. }
  9711. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v9)*4))++
  9712. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  9713. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  9714. /* Insert new strings in the hash table only if the match length
  9715. * is not too large. This saves time but degrades compression.
  9716. */
  9717. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length <= (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match && (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  9718. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length-- /* string at strstart already in table */
  9719. for {
  9720. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  9721. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  9722. v13 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  9723. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v13
  9724. hash_head = uint32(v13)
  9725. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9726. /* strstart never exceeds WSIZE-MAX_MATCH, so there are
  9727. * always MIN_MATCH bytes ahead.
  9728. */
  9729. goto _12
  9730. _12:
  9731. ;
  9732. v11 = s + 160
  9733. *(*TuInt)(unsafe.Pointer(v11))--
  9734. v10 = *(*TuInt)(unsafe.Pointer(v11))
  9735. if !(v10 != uint32(0)) {
  9736. break
  9737. }
  9738. }
  9739. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  9740. } else {
  9741. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  9742. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  9743. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))))
  9744. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  9745. /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
  9746. * matter since it will be recomputed at next deflate call.
  9747. */
  9748. }
  9749. } else {
  9750. /* No match, output a literal byte */
  9751. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  9752. v15 = s + 5900
  9753. v14 = *(*TuInt)(unsafe.Pointer(v15))
  9754. *(*TuInt)(unsafe.Pointer(v15))++
  9755. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v14))) = uint8(0)
  9756. v17 = s + 5900
  9757. v16 = *(*TuInt)(unsafe.Pointer(v17))
  9758. *(*TuInt)(unsafe.Pointer(v17))++
  9759. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v16))) = uint8(0)
  9760. v19 = s + 5900
  9761. v18 = *(*TuInt)(unsafe.Pointer(v19))
  9762. *(*TuInt)(unsafe.Pointer(v19))++
  9763. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v18))) = cc
  9764. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  9765. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  9766. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  9767. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  9768. }
  9769. if bflush != 0 {
  9770. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9771. v20 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9772. } else {
  9773. v20 = libc.UintptrFromInt32(m_Z_NULL)
  9774. }
  9775. x__tr_flush_block(tls, s, v20, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  9776. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9777. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9778. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9779. return int32(_need_more)
  9780. }
  9781. }
  9782. goto _1
  9783. _1:
  9784. }
  9785. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart < libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1)) {
  9786. v21 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  9787. } else {
  9788. v21 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  9789. }
  9790. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = v21
  9791. if flush == int32(m_Z_FINISH) {
  9792. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9793. v22 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9794. } else {
  9795. v22 = libc.UintptrFromInt32(m_Z_NULL)
  9796. }
  9797. x__tr_flush_block(tls, s, v22, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  9798. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9799. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9800. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9801. return int32(_finish_started)
  9802. }
  9803. return int32(_finish_done)
  9804. }
  9805. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  9806. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9807. v23 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9808. } else {
  9809. v23 = libc.UintptrFromInt32(m_Z_NULL)
  9810. }
  9811. x__tr_flush_block(tls, s, v23, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  9812. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9813. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9814. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9815. return int32(_need_more)
  9816. }
  9817. }
  9818. return int32(_block_done)
  9819. }
  9820. // C documentation
  9821. //
  9822. // /* ===========================================================================
  9823. // * Same as above, but achieves better compression. We use a lazy
  9824. // * evaluation for matches: a match is finally adopted only if there is
  9825. // * no better match at the next window position.
  9826. // */
  9827. func _deflate_slow(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  9828. var bflush, v9 int32
  9829. var cc, cc1, len1 Tuch
  9830. var dist Tush
  9831. var hash_head TIPos
  9832. var max_insert, v10, v13, v17, v19, v21, v24, v26, v28, v3, v5, v7 TuInt
  9833. var v11, v14, v16, v18, v20, v22, v23, v25, v27, v29, v31, v32, v4, v6, v8 uintptr
  9834. var v15, v2 TPosf
  9835. var v30 uint32
  9836. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, cc1, dist, hash_head, len1, max_insert, v10, v11, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
  9837. /* Process the input block. */
  9838. for {
  9839. /* Make sure that we always have enough lookahead, except
  9840. * at the end of the input file. We need MAX_MATCH bytes
  9841. * for the next match, plus MIN_MATCH bytes to insert the
  9842. * string following the next match.
  9843. */
  9844. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  9845. _fill_window(tls, s)
  9846. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) && flush == m_Z_NO_FLUSH {
  9847. return int32(_need_more)
  9848. }
  9849. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  9850. break
  9851. } /* flush the current block */
  9852. }
  9853. /* Insert the string window[strstart .. strstart + 2] in the
  9854. * dictionary, and set hash_head to the head of the hash chain:
  9855. */
  9856. hash_head = uint32(m_NIL)
  9857. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  9858. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  9859. v2 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  9860. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v2
  9861. hash_head = uint32(v2)
  9862. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9863. }
  9864. /* Find the longest match, discarding those <= prev_length.
  9865. */
  9866. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  9867. /* Find the longest match, discarding those <= prev_length.
  9868. */
  9869. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_match = (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start
  9870. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  9871. if hash_head != uint32(m_NIL) && (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length < (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-hash_head <= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  9872. /* To simplify the code, we prevent matches with the string
  9873. * of window index 0 (in particular we have to avoid a match
  9874. * of the string with itself at the start of the input file).
  9875. */
  9876. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = _longest_match(tls, s, hash_head)
  9877. /* longest_match() sets match_start */
  9878. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length <= uint32(5) && ((*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_FILTERED) || (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length == uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-(*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start > uint32(m_TOO_FAR)) {
  9879. /* If prev_match is also MIN_MATCH, match_start is garbage
  9880. * but we will ignore the current match anyway.
  9881. */
  9882. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  9883. }
  9884. }
  9885. /* If there was a match at the previous step and the current
  9886. * match is not better, output the previous match:
  9887. */
  9888. if (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length >= uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length <= (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length {
  9889. max_insert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart + (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead - uint32(m_MIN_MATCH)
  9890. /* Do not insert strings in hash table beyond this. */
  9891. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length - libc.Uint32FromInt32(m_MIN_MATCH))
  9892. dist = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - libc.Uint32FromInt32(1) - (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_match)
  9893. v4 = s + 5900
  9894. v3 = *(*TuInt)(unsafe.Pointer(v4))
  9895. *(*TuInt)(unsafe.Pointer(v4))++
  9896. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist)
  9897. v6 = s + 5900
  9898. v5 = *(*TuInt)(unsafe.Pointer(v6))
  9899. *(*TuInt)(unsafe.Pointer(v6))++
  9900. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  9901. v8 = s + 5900
  9902. v7 = *(*TuInt)(unsafe.Pointer(v8))
  9903. *(*TuInt)(unsafe.Pointer(v8))++
  9904. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v7))) = len1
  9905. dist--
  9906. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  9907. if libc.Int32FromUint16(dist) < int32(256) {
  9908. v9 = libc.Int32FromUint8(x__dist_code[dist])
  9909. } else {
  9910. v9 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  9911. }
  9912. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v9)*4))++
  9913. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  9914. /* Insert in hash table all strings up to the end of the match.
  9915. * strstart - 1 and strstart are already inserted. If there is not
  9916. * enough lookahead, the last two strings are not inserted in
  9917. * the hash table.
  9918. */
  9919. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length - uint32(1)
  9920. *(*TuInt)(unsafe.Pointer(s + 184)) -= uint32(2)
  9921. for {
  9922. v14 = s + 172
  9923. *(*TuInt)(unsafe.Pointer(v14))++
  9924. v13 = *(*TuInt)(unsafe.Pointer(v14))
  9925. if v13 <= max_insert {
  9926. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  9927. v15 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  9928. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v15
  9929. hash_head = uint32(v15)
  9930. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9931. }
  9932. goto _12
  9933. _12:
  9934. ;
  9935. v11 = s + 184
  9936. *(*TuInt)(unsafe.Pointer(v11))--
  9937. v10 = *(*TuInt)(unsafe.Pointer(v11))
  9938. if !(v10 != uint32(0)) {
  9939. break
  9940. }
  9941. }
  9942. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  9943. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  9944. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  9945. if bflush != 0 {
  9946. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9947. v16 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9948. } else {
  9949. v16 = libc.UintptrFromInt32(m_Z_NULL)
  9950. }
  9951. x__tr_flush_block(tls, s, v16, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  9952. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9953. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9954. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9955. return int32(_need_more)
  9956. }
  9957. }
  9958. } else {
  9959. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
  9960. /* If there was no match at the previous position, output a
  9961. * single literal. If there was a match but the current match
  9962. * is longer, truncate the previous match to a single literal.
  9963. */
  9964. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-uint32(1))))
  9965. v18 = s + 5900
  9966. v17 = *(*TuInt)(unsafe.Pointer(v18))
  9967. *(*TuInt)(unsafe.Pointer(v18))++
  9968. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v17))) = uint8(0)
  9969. v20 = s + 5900
  9970. v19 = *(*TuInt)(unsafe.Pointer(v20))
  9971. *(*TuInt)(unsafe.Pointer(v20))++
  9972. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v19))) = uint8(0)
  9973. v22 = s + 5900
  9974. v21 = *(*TuInt)(unsafe.Pointer(v22))
  9975. *(*TuInt)(unsafe.Pointer(v22))++
  9976. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v21))) = cc
  9977. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  9978. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  9979. if bflush != 0 {
  9980. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9981. v23 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9982. } else {
  9983. v23 = libc.UintptrFromInt32(m_Z_NULL)
  9984. }
  9985. x__tr_flush_block(tls, s, v23, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  9986. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9987. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9988. }
  9989. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  9990. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  9991. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9992. return int32(_need_more)
  9993. }
  9994. } else {
  9995. /* There is no previous match to compare with, wait for
  9996. * the next step to decide.
  9997. */
  9998. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = int32(1)
  9999. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  10000. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  10001. }
  10002. }
  10003. goto _1
  10004. _1:
  10005. }
  10006. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
  10007. cc1 = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-uint32(1))))
  10008. v25 = s + 5900
  10009. v24 = *(*TuInt)(unsafe.Pointer(v25))
  10010. *(*TuInt)(unsafe.Pointer(v25))++
  10011. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v24))) = uint8(0)
  10012. v27 = s + 5900
  10013. v26 = *(*TuInt)(unsafe.Pointer(v27))
  10014. *(*TuInt)(unsafe.Pointer(v27))++
  10015. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v26))) = uint8(0)
  10016. v29 = s + 5900
  10017. v28 = *(*TuInt)(unsafe.Pointer(v29))
  10018. *(*TuInt)(unsafe.Pointer(v29))++
  10019. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v28))) = cc1
  10020. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc1)*4))++
  10021. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  10022. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  10023. }
  10024. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart < libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1)) {
  10025. v30 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  10026. } else {
  10027. v30 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  10028. }
  10029. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = v30
  10030. if flush == int32(m_Z_FINISH) {
  10031. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10032. v31 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10033. } else {
  10034. v31 = libc.UintptrFromInt32(m_Z_NULL)
  10035. }
  10036. x__tr_flush_block(tls, s, v31, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  10037. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10038. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10039. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10040. return int32(_finish_started)
  10041. }
  10042. return int32(_finish_done)
  10043. }
  10044. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  10045. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10046. v32 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10047. } else {
  10048. v32 = libc.UintptrFromInt32(m_Z_NULL)
  10049. }
  10050. x__tr_flush_block(tls, s, v32, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  10051. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10052. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10053. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10054. return int32(_need_more)
  10055. }
  10056. }
  10057. return int32(_block_done)
  10058. }
  10059. // C documentation
  10060. //
  10061. // /* ===========================================================================
  10062. // * For Z_RLE, simply look for runs of bytes, generate matches only of distance
  10063. // * one. Do not maintain a hash table. (It will be regenerated if this run of
  10064. // * deflate switches away from Z_RLE.)
  10065. // */
  10066. func _deflate_rle(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  10067. var bflush, v29 int32
  10068. var cc, len1 Tuch
  10069. var dist Tush
  10070. var prev, v23, v25, v27, v30, v32, v34 TuInt
  10071. var scan, strend, v10, v12, v14, v16, v18, v2, v20, v24, v26, v28, v3, v31, v33, v35, v36, v37, v38, v5, v7, v8 uintptr
  10072. var v11, v13, v15, v17, v19, v21, v4, v6, v9 bool
  10073. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, dist, len1, prev, scan, strend, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v4, v5, v6, v7, v8, v9 /* scan goes up to strend for length of run */
  10074. for {
  10075. /* Make sure that we always have enough lookahead, except
  10076. * at the end of the input file. We need MAX_MATCH bytes
  10077. * for the longest run, plus one for the unrolled loop.
  10078. */
  10079. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead <= uint32(m_MAX_MATCH) {
  10080. _fill_window(tls, s)
  10081. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead <= uint32(m_MAX_MATCH) && flush == m_Z_NO_FLUSH {
  10082. return int32(_need_more)
  10083. }
  10084. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  10085. break
  10086. } /* flush the current block */
  10087. }
  10088. /* See how many times the previous byte repeats */
  10089. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  10090. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart > uint32(0) {
  10091. scan = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - uintptr(1)
  10092. prev = uint32(*(*TBytef)(unsafe.Pointer(scan)))
  10093. scan++
  10094. v2 = scan
  10095. if v4 = prev == uint32(*(*TBytef)(unsafe.Pointer(v2))); v4 {
  10096. scan++
  10097. v3 = scan
  10098. }
  10099. if v6 = v4 && prev == uint32(*(*TBytef)(unsafe.Pointer(v3))); v6 {
  10100. scan++
  10101. v5 = scan
  10102. }
  10103. if v6 && prev == uint32(*(*TBytef)(unsafe.Pointer(v5))) {
  10104. strend = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(m_MAX_MATCH)
  10105. for {
  10106. goto _22
  10107. _22:
  10108. ;
  10109. scan++
  10110. v7 = scan
  10111. if v9 = prev == uint32(*(*TBytef)(unsafe.Pointer(v7))); v9 {
  10112. scan++
  10113. v8 = scan
  10114. }
  10115. if v11 = v9 && prev == uint32(*(*TBytef)(unsafe.Pointer(v8))); v11 {
  10116. scan++
  10117. v10 = scan
  10118. }
  10119. if v13 = v11 && prev == uint32(*(*TBytef)(unsafe.Pointer(v10))); v13 {
  10120. scan++
  10121. v12 = scan
  10122. }
  10123. if v15 = v13 && prev == uint32(*(*TBytef)(unsafe.Pointer(v12))); v15 {
  10124. scan++
  10125. v14 = scan
  10126. }
  10127. if v17 = v15 && prev == uint32(*(*TBytef)(unsafe.Pointer(v14))); v17 {
  10128. scan++
  10129. v16 = scan
  10130. }
  10131. if v19 = v17 && prev == uint32(*(*TBytef)(unsafe.Pointer(v16))); v19 {
  10132. scan++
  10133. v18 = scan
  10134. }
  10135. if v21 = v19 && prev == uint32(*(*TBytef)(unsafe.Pointer(v18))); v21 {
  10136. scan++
  10137. v20 = scan
  10138. }
  10139. if !(v21 && prev == uint32(*(*TBytef)(unsafe.Pointer(v20))) && scan < strend) {
  10140. break
  10141. }
  10142. }
  10143. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(m_MAX_MATCH) - libc.Uint32FromInt64(int64(strend)-int64(scan))
  10144. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length > (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  10145. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  10146. }
  10147. }
  10148. }
  10149. /* Emit match if have run of MIN_MATCH or longer, else emit literal */
  10150. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length >= uint32(m_MIN_MATCH) {
  10151. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length - libc.Uint32FromInt32(m_MIN_MATCH))
  10152. dist = libc.Uint16FromInt32(libc.Int32FromInt32(1))
  10153. v24 = s + 5900
  10154. v23 = *(*TuInt)(unsafe.Pointer(v24))
  10155. *(*TuInt)(unsafe.Pointer(v24))++
  10156. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v23))) = uint8(dist)
  10157. v26 = s + 5900
  10158. v25 = *(*TuInt)(unsafe.Pointer(v26))
  10159. *(*TuInt)(unsafe.Pointer(v26))++
  10160. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v25))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  10161. v28 = s + 5900
  10162. v27 = *(*TuInt)(unsafe.Pointer(v28))
  10163. *(*TuInt)(unsafe.Pointer(v28))++
  10164. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v27))) = len1
  10165. dist--
  10166. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  10167. if libc.Int32FromUint16(dist) < int32(256) {
  10168. v29 = libc.Int32FromUint8(x__dist_code[dist])
  10169. } else {
  10170. v29 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  10171. }
  10172. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v29)*4))++
  10173. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  10174. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  10175. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  10176. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  10177. } else {
  10178. /* No match, output a literal byte */
  10179. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  10180. v31 = s + 5900
  10181. v30 = *(*TuInt)(unsafe.Pointer(v31))
  10182. *(*TuInt)(unsafe.Pointer(v31))++
  10183. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v30))) = uint8(0)
  10184. v33 = s + 5900
  10185. v32 = *(*TuInt)(unsafe.Pointer(v33))
  10186. *(*TuInt)(unsafe.Pointer(v33))++
  10187. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v32))) = uint8(0)
  10188. v35 = s + 5900
  10189. v34 = *(*TuInt)(unsafe.Pointer(v35))
  10190. *(*TuInt)(unsafe.Pointer(v35))++
  10191. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v34))) = cc
  10192. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  10193. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  10194. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  10195. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  10196. }
  10197. if bflush != 0 {
  10198. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10199. v36 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10200. } else {
  10201. v36 = libc.UintptrFromInt32(m_Z_NULL)
  10202. }
  10203. x__tr_flush_block(tls, s, v36, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  10204. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10205. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10206. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10207. return int32(_need_more)
  10208. }
  10209. }
  10210. goto _1
  10211. _1:
  10212. }
  10213. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  10214. if flush == int32(m_Z_FINISH) {
  10215. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10216. v37 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10217. } else {
  10218. v37 = libc.UintptrFromInt32(m_Z_NULL)
  10219. }
  10220. x__tr_flush_block(tls, s, v37, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  10221. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10222. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10223. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10224. return int32(_finish_started)
  10225. }
  10226. return int32(_finish_done)
  10227. }
  10228. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  10229. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10230. v38 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10231. } else {
  10232. v38 = libc.UintptrFromInt32(m_Z_NULL)
  10233. }
  10234. x__tr_flush_block(tls, s, v38, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  10235. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10236. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10237. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10238. return int32(_need_more)
  10239. }
  10240. }
  10241. return int32(_block_done)
  10242. }
  10243. // C documentation
  10244. //
  10245. // /* ===========================================================================
  10246. // * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.
  10247. // * (It will be regenerated if this run of deflate switches away from Huffman.)
  10248. // */
  10249. func _deflate_huff(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  10250. var bflush int32
  10251. var cc Tuch
  10252. var v10, v3, v5, v7, v8, v9 uintptr
  10253. var v2, v4, v6 TuInt
  10254. _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, v10, v2, v3, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
  10255. for {
  10256. /* Make sure that we have a literal to write. */
  10257. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  10258. _fill_window(tls, s)
  10259. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  10260. if flush == m_Z_NO_FLUSH {
  10261. return int32(_need_more)
  10262. }
  10263. break /* flush the current block */
  10264. }
  10265. }
  10266. /* Output a literal byte */
  10267. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  10268. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  10269. v3 = s + 5900
  10270. v2 = *(*TuInt)(unsafe.Pointer(v3))
  10271. *(*TuInt)(unsafe.Pointer(v3))++
  10272. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v2))) = uint8(0)
  10273. v5 = s + 5900
  10274. v4 = *(*TuInt)(unsafe.Pointer(v5))
  10275. *(*TuInt)(unsafe.Pointer(v5))++
  10276. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v4))) = uint8(0)
  10277. v7 = s + 5900
  10278. v6 = *(*TuInt)(unsafe.Pointer(v7))
  10279. *(*TuInt)(unsafe.Pointer(v7))++
  10280. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v6))) = cc
  10281. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  10282. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  10283. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  10284. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  10285. if bflush != 0 {
  10286. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10287. v8 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10288. } else {
  10289. v8 = libc.UintptrFromInt32(m_Z_NULL)
  10290. }
  10291. x__tr_flush_block(tls, s, v8, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  10292. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10293. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10294. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10295. return int32(_need_more)
  10296. }
  10297. }
  10298. goto _1
  10299. _1:
  10300. }
  10301. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  10302. if flush == int32(m_Z_FINISH) {
  10303. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10304. v9 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10305. } else {
  10306. v9 = libc.UintptrFromInt32(m_Z_NULL)
  10307. }
  10308. x__tr_flush_block(tls, s, v9, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  10309. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10310. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10311. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10312. return int32(_finish_started)
  10313. }
  10314. return int32(_finish_done)
  10315. }
  10316. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  10317. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10318. v10 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10319. } else {
  10320. v10 = libc.UintptrFromInt32(m_Z_NULL)
  10321. }
  10322. x__tr_flush_block(tls, s, v10, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  10323. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10324. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10325. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10326. return int32(_need_more)
  10327. }
  10328. }
  10329. return int32(_block_done)
  10330. }
  10331. const m_ENOUGH_DISTS = 592
  10332. const m_ENOUGH_LENS = 852
  10333. const m_PRESET_DICT2 = 0x20
  10334. type Tcode = struct {
  10335. Fop uint8
  10336. Fbits uint8
  10337. Fval uint16
  10338. }
  10339. type Tcodetype = int32
  10340. const _CODES = 0
  10341. const _LENS = 1
  10342. const _DISTS = 2
  10343. type Tinflate_mode = int32
  10344. const _HEAD = 16180
  10345. const _FLAGS = 16181
  10346. const _TIME = 16182
  10347. const _OS = 16183
  10348. const _EXLEN = 16184
  10349. const _EXTRA = 16185
  10350. const _NAME = 16186
  10351. const _COMMENT = 16187
  10352. const _HCRC = 16188
  10353. const _DICTID = 16189
  10354. const _DICT = 16190
  10355. const _TYPE = 16191
  10356. const _TYPEDO = 16192
  10357. const _STORED = 16193
  10358. const _COPY_ = 16194
  10359. const _COPY = 16195
  10360. const _TABLE = 16196
  10361. const _LENLENS = 16197
  10362. const _CODELENS = 16198
  10363. const _LEN_ = 16199
  10364. const _LEN = 16200
  10365. const _LENEXT = 16201
  10366. const _DIST = 16202
  10367. const _DISTEXT = 16203
  10368. const _MATCH = 16204
  10369. const _LIT = 16205
  10370. const _CHECK = 16206
  10371. const _LENGTH = 16207
  10372. const _DONE = 16208
  10373. const _BAD = 16209
  10374. const _MEM = 16210
  10375. const _SYNC = 16211
  10376. type Tinflate_state = struct {
  10377. Fstrm Tz_streamp
  10378. Fmode Tinflate_mode
  10379. Flast int32
  10380. Fwrap int32
  10381. Fhavedict int32
  10382. Fflags int32
  10383. Fdmax uint32
  10384. Fcheck uint64
  10385. Ftotal uint64
  10386. Fhead Tgz_headerp
  10387. Fwbits uint32
  10388. Fwsize uint32
  10389. Fwhave uint32
  10390. Fwnext uint32
  10391. Fwindow uintptr
  10392. Fhold uint64
  10393. Fbits uint32
  10394. Flength uint32
  10395. Foffset uint32
  10396. Fextra uint32
  10397. Flencode uintptr
  10398. Fdistcode uintptr
  10399. Flenbits uint32
  10400. Fdistbits uint32
  10401. Fncode uint32
  10402. Fnlen uint32
  10403. Fndist uint32
  10404. Fhave uint32
  10405. Fnext uintptr
  10406. Flens [320]uint16
  10407. Fwork [288]uint16
  10408. Fcodes [1444]Tcode
  10409. Fsane int32
  10410. Fback int32
  10411. Fwas uint32
  10412. }
  10413. // C documentation
  10414. //
  10415. // /*
  10416. // strm provides memory allocation functions in zalloc and zfree, or
  10417. // Z_NULL to use the library memory allocation functions.
  10418. //
  10419. // windowBits is in the range 8..15, and window is a user-supplied
  10420. // window and output buffer that is 2**windowBits bytes.
  10421. // */
  10422. func XinflateBackInit_(tls *libc.TLS, strm Tz_streamp, windowBits int32, window uintptr, version uintptr, stream_size int32) (r int32) {
  10423. var state uintptr
  10424. _ = state
  10425. if version == uintptr(m_Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(*(*int8)(unsafe.Pointer(__ccgo_ts))) || stream_size != libc.Int32FromUint64(libc.Uint64FromInt64(112)) {
  10426. return -int32(6)
  10427. }
  10428. if strm == uintptr(m_Z_NULL) || window == uintptr(m_Z_NULL) || windowBits < int32(8) || windowBits > int32(15) {
  10429. return -int32(2)
  10430. }
  10431. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* in case we return an error */
  10432. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  10433. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  10434. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  10435. }
  10436. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  10437. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  10438. }
  10439. state = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(7160)))
  10440. if state == uintptr(m_Z_NULL) {
  10441. return -int32(4)
  10442. }
  10443. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = state
  10444. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(32768)
  10445. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = libc.Uint32FromInt32(windowBits)
  10446. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << windowBits
  10447. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = window
  10448. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  10449. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  10450. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  10451. return m_Z_OK
  10452. }
  10453. // C documentation
  10454. //
  10455. // /*
  10456. // Return state with length and distance decoding tables and index sizes set to
  10457. // fixed code decoding. Normally this returns fixed tables from inffixed.h.
  10458. // If BUILDFIXED is defined, then instead this routine builds the tables the
  10459. // first time it's called, and returns those tables the first time and
  10460. // thereafter. This reduces the size of the code by about 2K bytes, in
  10461. // exchange for a little execution time. However, BUILDFIXED should not be
  10462. // used for threaded applications, since the rewriting of the tables and virgin
  10463. // may not be thread-safe.
  10464. // */
  10465. func _fixedtables(tls *libc.TLS, state uintptr) {
  10466. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&_lenfix))
  10467. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  10468. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&_distfix))
  10469. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
  10470. }
  10471. var _lenfix = [512]Tcode{
  10472. 0: {
  10473. Fop: uint8(96),
  10474. Fbits: uint8(7),
  10475. },
  10476. 1: {
  10477. Fbits: uint8(8),
  10478. Fval: uint16(80),
  10479. },
  10480. 2: {
  10481. Fbits: uint8(8),
  10482. Fval: uint16(16),
  10483. },
  10484. 3: {
  10485. Fop: uint8(20),
  10486. Fbits: uint8(8),
  10487. Fval: uint16(115),
  10488. },
  10489. 4: {
  10490. Fop: uint8(18),
  10491. Fbits: uint8(7),
  10492. Fval: uint16(31),
  10493. },
  10494. 5: {
  10495. Fbits: uint8(8),
  10496. Fval: uint16(112),
  10497. },
  10498. 6: {
  10499. Fbits: uint8(8),
  10500. Fval: uint16(48),
  10501. },
  10502. 7: {
  10503. Fbits: uint8(9),
  10504. Fval: uint16(192),
  10505. },
  10506. 8: {
  10507. Fop: uint8(16),
  10508. Fbits: uint8(7),
  10509. Fval: uint16(10),
  10510. },
  10511. 9: {
  10512. Fbits: uint8(8),
  10513. Fval: uint16(96),
  10514. },
  10515. 10: {
  10516. Fbits: uint8(8),
  10517. Fval: uint16(32),
  10518. },
  10519. 11: {
  10520. Fbits: uint8(9),
  10521. Fval: uint16(160),
  10522. },
  10523. 12: {
  10524. Fbits: uint8(8),
  10525. },
  10526. 13: {
  10527. Fbits: uint8(8),
  10528. Fval: uint16(128),
  10529. },
  10530. 14: {
  10531. Fbits: uint8(8),
  10532. Fval: uint16(64),
  10533. },
  10534. 15: {
  10535. Fbits: uint8(9),
  10536. Fval: uint16(224),
  10537. },
  10538. 16: {
  10539. Fop: uint8(16),
  10540. Fbits: uint8(7),
  10541. Fval: uint16(6),
  10542. },
  10543. 17: {
  10544. Fbits: uint8(8),
  10545. Fval: uint16(88),
  10546. },
  10547. 18: {
  10548. Fbits: uint8(8),
  10549. Fval: uint16(24),
  10550. },
  10551. 19: {
  10552. Fbits: uint8(9),
  10553. Fval: uint16(144),
  10554. },
  10555. 20: {
  10556. Fop: uint8(19),
  10557. Fbits: uint8(7),
  10558. Fval: uint16(59),
  10559. },
  10560. 21: {
  10561. Fbits: uint8(8),
  10562. Fval: uint16(120),
  10563. },
  10564. 22: {
  10565. Fbits: uint8(8),
  10566. Fval: uint16(56),
  10567. },
  10568. 23: {
  10569. Fbits: uint8(9),
  10570. Fval: uint16(208),
  10571. },
  10572. 24: {
  10573. Fop: uint8(17),
  10574. Fbits: uint8(7),
  10575. Fval: uint16(17),
  10576. },
  10577. 25: {
  10578. Fbits: uint8(8),
  10579. Fval: uint16(104),
  10580. },
  10581. 26: {
  10582. Fbits: uint8(8),
  10583. Fval: uint16(40),
  10584. },
  10585. 27: {
  10586. Fbits: uint8(9),
  10587. Fval: uint16(176),
  10588. },
  10589. 28: {
  10590. Fbits: uint8(8),
  10591. Fval: uint16(8),
  10592. },
  10593. 29: {
  10594. Fbits: uint8(8),
  10595. Fval: uint16(136),
  10596. },
  10597. 30: {
  10598. Fbits: uint8(8),
  10599. Fval: uint16(72),
  10600. },
  10601. 31: {
  10602. Fbits: uint8(9),
  10603. Fval: uint16(240),
  10604. },
  10605. 32: {
  10606. Fop: uint8(16),
  10607. Fbits: uint8(7),
  10608. Fval: uint16(4),
  10609. },
  10610. 33: {
  10611. Fbits: uint8(8),
  10612. Fval: uint16(84),
  10613. },
  10614. 34: {
  10615. Fbits: uint8(8),
  10616. Fval: uint16(20),
  10617. },
  10618. 35: {
  10619. Fop: uint8(21),
  10620. Fbits: uint8(8),
  10621. Fval: uint16(227),
  10622. },
  10623. 36: {
  10624. Fop: uint8(19),
  10625. Fbits: uint8(7),
  10626. Fval: uint16(43),
  10627. },
  10628. 37: {
  10629. Fbits: uint8(8),
  10630. Fval: uint16(116),
  10631. },
  10632. 38: {
  10633. Fbits: uint8(8),
  10634. Fval: uint16(52),
  10635. },
  10636. 39: {
  10637. Fbits: uint8(9),
  10638. Fval: uint16(200),
  10639. },
  10640. 40: {
  10641. Fop: uint8(17),
  10642. Fbits: uint8(7),
  10643. Fval: uint16(13),
  10644. },
  10645. 41: {
  10646. Fbits: uint8(8),
  10647. Fval: uint16(100),
  10648. },
  10649. 42: {
  10650. Fbits: uint8(8),
  10651. Fval: uint16(36),
  10652. },
  10653. 43: {
  10654. Fbits: uint8(9),
  10655. Fval: uint16(168),
  10656. },
  10657. 44: {
  10658. Fbits: uint8(8),
  10659. Fval: uint16(4),
  10660. },
  10661. 45: {
  10662. Fbits: uint8(8),
  10663. Fval: uint16(132),
  10664. },
  10665. 46: {
  10666. Fbits: uint8(8),
  10667. Fval: uint16(68),
  10668. },
  10669. 47: {
  10670. Fbits: uint8(9),
  10671. Fval: uint16(232),
  10672. },
  10673. 48: {
  10674. Fop: uint8(16),
  10675. Fbits: uint8(7),
  10676. Fval: uint16(8),
  10677. },
  10678. 49: {
  10679. Fbits: uint8(8),
  10680. Fval: uint16(92),
  10681. },
  10682. 50: {
  10683. Fbits: uint8(8),
  10684. Fval: uint16(28),
  10685. },
  10686. 51: {
  10687. Fbits: uint8(9),
  10688. Fval: uint16(152),
  10689. },
  10690. 52: {
  10691. Fop: uint8(20),
  10692. Fbits: uint8(7),
  10693. Fval: uint16(83),
  10694. },
  10695. 53: {
  10696. Fbits: uint8(8),
  10697. Fval: uint16(124),
  10698. },
  10699. 54: {
  10700. Fbits: uint8(8),
  10701. Fval: uint16(60),
  10702. },
  10703. 55: {
  10704. Fbits: uint8(9),
  10705. Fval: uint16(216),
  10706. },
  10707. 56: {
  10708. Fop: uint8(18),
  10709. Fbits: uint8(7),
  10710. Fval: uint16(23),
  10711. },
  10712. 57: {
  10713. Fbits: uint8(8),
  10714. Fval: uint16(108),
  10715. },
  10716. 58: {
  10717. Fbits: uint8(8),
  10718. Fval: uint16(44),
  10719. },
  10720. 59: {
  10721. Fbits: uint8(9),
  10722. Fval: uint16(184),
  10723. },
  10724. 60: {
  10725. Fbits: uint8(8),
  10726. Fval: uint16(12),
  10727. },
  10728. 61: {
  10729. Fbits: uint8(8),
  10730. Fval: uint16(140),
  10731. },
  10732. 62: {
  10733. Fbits: uint8(8),
  10734. Fval: uint16(76),
  10735. },
  10736. 63: {
  10737. Fbits: uint8(9),
  10738. Fval: uint16(248),
  10739. },
  10740. 64: {
  10741. Fop: uint8(16),
  10742. Fbits: uint8(7),
  10743. Fval: uint16(3),
  10744. },
  10745. 65: {
  10746. Fbits: uint8(8),
  10747. Fval: uint16(82),
  10748. },
  10749. 66: {
  10750. Fbits: uint8(8),
  10751. Fval: uint16(18),
  10752. },
  10753. 67: {
  10754. Fop: uint8(21),
  10755. Fbits: uint8(8),
  10756. Fval: uint16(163),
  10757. },
  10758. 68: {
  10759. Fop: uint8(19),
  10760. Fbits: uint8(7),
  10761. Fval: uint16(35),
  10762. },
  10763. 69: {
  10764. Fbits: uint8(8),
  10765. Fval: uint16(114),
  10766. },
  10767. 70: {
  10768. Fbits: uint8(8),
  10769. Fval: uint16(50),
  10770. },
  10771. 71: {
  10772. Fbits: uint8(9),
  10773. Fval: uint16(196),
  10774. },
  10775. 72: {
  10776. Fop: uint8(17),
  10777. Fbits: uint8(7),
  10778. Fval: uint16(11),
  10779. },
  10780. 73: {
  10781. Fbits: uint8(8),
  10782. Fval: uint16(98),
  10783. },
  10784. 74: {
  10785. Fbits: uint8(8),
  10786. Fval: uint16(34),
  10787. },
  10788. 75: {
  10789. Fbits: uint8(9),
  10790. Fval: uint16(164),
  10791. },
  10792. 76: {
  10793. Fbits: uint8(8),
  10794. Fval: uint16(2),
  10795. },
  10796. 77: {
  10797. Fbits: uint8(8),
  10798. Fval: uint16(130),
  10799. },
  10800. 78: {
  10801. Fbits: uint8(8),
  10802. Fval: uint16(66),
  10803. },
  10804. 79: {
  10805. Fbits: uint8(9),
  10806. Fval: uint16(228),
  10807. },
  10808. 80: {
  10809. Fop: uint8(16),
  10810. Fbits: uint8(7),
  10811. Fval: uint16(7),
  10812. },
  10813. 81: {
  10814. Fbits: uint8(8),
  10815. Fval: uint16(90),
  10816. },
  10817. 82: {
  10818. Fbits: uint8(8),
  10819. Fval: uint16(26),
  10820. },
  10821. 83: {
  10822. Fbits: uint8(9),
  10823. Fval: uint16(148),
  10824. },
  10825. 84: {
  10826. Fop: uint8(20),
  10827. Fbits: uint8(7),
  10828. Fval: uint16(67),
  10829. },
  10830. 85: {
  10831. Fbits: uint8(8),
  10832. Fval: uint16(122),
  10833. },
  10834. 86: {
  10835. Fbits: uint8(8),
  10836. Fval: uint16(58),
  10837. },
  10838. 87: {
  10839. Fbits: uint8(9),
  10840. Fval: uint16(212),
  10841. },
  10842. 88: {
  10843. Fop: uint8(18),
  10844. Fbits: uint8(7),
  10845. Fval: uint16(19),
  10846. },
  10847. 89: {
  10848. Fbits: uint8(8),
  10849. Fval: uint16(106),
  10850. },
  10851. 90: {
  10852. Fbits: uint8(8),
  10853. Fval: uint16(42),
  10854. },
  10855. 91: {
  10856. Fbits: uint8(9),
  10857. Fval: uint16(180),
  10858. },
  10859. 92: {
  10860. Fbits: uint8(8),
  10861. Fval: uint16(10),
  10862. },
  10863. 93: {
  10864. Fbits: uint8(8),
  10865. Fval: uint16(138),
  10866. },
  10867. 94: {
  10868. Fbits: uint8(8),
  10869. Fval: uint16(74),
  10870. },
  10871. 95: {
  10872. Fbits: uint8(9),
  10873. Fval: uint16(244),
  10874. },
  10875. 96: {
  10876. Fop: uint8(16),
  10877. Fbits: uint8(7),
  10878. Fval: uint16(5),
  10879. },
  10880. 97: {
  10881. Fbits: uint8(8),
  10882. Fval: uint16(86),
  10883. },
  10884. 98: {
  10885. Fbits: uint8(8),
  10886. Fval: uint16(22),
  10887. },
  10888. 99: {
  10889. Fop: uint8(64),
  10890. Fbits: uint8(8),
  10891. },
  10892. 100: {
  10893. Fop: uint8(19),
  10894. Fbits: uint8(7),
  10895. Fval: uint16(51),
  10896. },
  10897. 101: {
  10898. Fbits: uint8(8),
  10899. Fval: uint16(118),
  10900. },
  10901. 102: {
  10902. Fbits: uint8(8),
  10903. Fval: uint16(54),
  10904. },
  10905. 103: {
  10906. Fbits: uint8(9),
  10907. Fval: uint16(204),
  10908. },
  10909. 104: {
  10910. Fop: uint8(17),
  10911. Fbits: uint8(7),
  10912. Fval: uint16(15),
  10913. },
  10914. 105: {
  10915. Fbits: uint8(8),
  10916. Fval: uint16(102),
  10917. },
  10918. 106: {
  10919. Fbits: uint8(8),
  10920. Fval: uint16(38),
  10921. },
  10922. 107: {
  10923. Fbits: uint8(9),
  10924. Fval: uint16(172),
  10925. },
  10926. 108: {
  10927. Fbits: uint8(8),
  10928. Fval: uint16(6),
  10929. },
  10930. 109: {
  10931. Fbits: uint8(8),
  10932. Fval: uint16(134),
  10933. },
  10934. 110: {
  10935. Fbits: uint8(8),
  10936. Fval: uint16(70),
  10937. },
  10938. 111: {
  10939. Fbits: uint8(9),
  10940. Fval: uint16(236),
  10941. },
  10942. 112: {
  10943. Fop: uint8(16),
  10944. Fbits: uint8(7),
  10945. Fval: uint16(9),
  10946. },
  10947. 113: {
  10948. Fbits: uint8(8),
  10949. Fval: uint16(94),
  10950. },
  10951. 114: {
  10952. Fbits: uint8(8),
  10953. Fval: uint16(30),
  10954. },
  10955. 115: {
  10956. Fbits: uint8(9),
  10957. Fval: uint16(156),
  10958. },
  10959. 116: {
  10960. Fop: uint8(20),
  10961. Fbits: uint8(7),
  10962. Fval: uint16(99),
  10963. },
  10964. 117: {
  10965. Fbits: uint8(8),
  10966. Fval: uint16(126),
  10967. },
  10968. 118: {
  10969. Fbits: uint8(8),
  10970. Fval: uint16(62),
  10971. },
  10972. 119: {
  10973. Fbits: uint8(9),
  10974. Fval: uint16(220),
  10975. },
  10976. 120: {
  10977. Fop: uint8(18),
  10978. Fbits: uint8(7),
  10979. Fval: uint16(27),
  10980. },
  10981. 121: {
  10982. Fbits: uint8(8),
  10983. Fval: uint16(110),
  10984. },
  10985. 122: {
  10986. Fbits: uint8(8),
  10987. Fval: uint16(46),
  10988. },
  10989. 123: {
  10990. Fbits: uint8(9),
  10991. Fval: uint16(188),
  10992. },
  10993. 124: {
  10994. Fbits: uint8(8),
  10995. Fval: uint16(14),
  10996. },
  10997. 125: {
  10998. Fbits: uint8(8),
  10999. Fval: uint16(142),
  11000. },
  11001. 126: {
  11002. Fbits: uint8(8),
  11003. Fval: uint16(78),
  11004. },
  11005. 127: {
  11006. Fbits: uint8(9),
  11007. Fval: uint16(252),
  11008. },
  11009. 128: {
  11010. Fop: uint8(96),
  11011. Fbits: uint8(7),
  11012. },
  11013. 129: {
  11014. Fbits: uint8(8),
  11015. Fval: uint16(81),
  11016. },
  11017. 130: {
  11018. Fbits: uint8(8),
  11019. Fval: uint16(17),
  11020. },
  11021. 131: {
  11022. Fop: uint8(21),
  11023. Fbits: uint8(8),
  11024. Fval: uint16(131),
  11025. },
  11026. 132: {
  11027. Fop: uint8(18),
  11028. Fbits: uint8(7),
  11029. Fval: uint16(31),
  11030. },
  11031. 133: {
  11032. Fbits: uint8(8),
  11033. Fval: uint16(113),
  11034. },
  11035. 134: {
  11036. Fbits: uint8(8),
  11037. Fval: uint16(49),
  11038. },
  11039. 135: {
  11040. Fbits: uint8(9),
  11041. Fval: uint16(194),
  11042. },
  11043. 136: {
  11044. Fop: uint8(16),
  11045. Fbits: uint8(7),
  11046. Fval: uint16(10),
  11047. },
  11048. 137: {
  11049. Fbits: uint8(8),
  11050. Fval: uint16(97),
  11051. },
  11052. 138: {
  11053. Fbits: uint8(8),
  11054. Fval: uint16(33),
  11055. },
  11056. 139: {
  11057. Fbits: uint8(9),
  11058. Fval: uint16(162),
  11059. },
  11060. 140: {
  11061. Fbits: uint8(8),
  11062. Fval: uint16(1),
  11063. },
  11064. 141: {
  11065. Fbits: uint8(8),
  11066. Fval: uint16(129),
  11067. },
  11068. 142: {
  11069. Fbits: uint8(8),
  11070. Fval: uint16(65),
  11071. },
  11072. 143: {
  11073. Fbits: uint8(9),
  11074. Fval: uint16(226),
  11075. },
  11076. 144: {
  11077. Fop: uint8(16),
  11078. Fbits: uint8(7),
  11079. Fval: uint16(6),
  11080. },
  11081. 145: {
  11082. Fbits: uint8(8),
  11083. Fval: uint16(89),
  11084. },
  11085. 146: {
  11086. Fbits: uint8(8),
  11087. Fval: uint16(25),
  11088. },
  11089. 147: {
  11090. Fbits: uint8(9),
  11091. Fval: uint16(146),
  11092. },
  11093. 148: {
  11094. Fop: uint8(19),
  11095. Fbits: uint8(7),
  11096. Fval: uint16(59),
  11097. },
  11098. 149: {
  11099. Fbits: uint8(8),
  11100. Fval: uint16(121),
  11101. },
  11102. 150: {
  11103. Fbits: uint8(8),
  11104. Fval: uint16(57),
  11105. },
  11106. 151: {
  11107. Fbits: uint8(9),
  11108. Fval: uint16(210),
  11109. },
  11110. 152: {
  11111. Fop: uint8(17),
  11112. Fbits: uint8(7),
  11113. Fval: uint16(17),
  11114. },
  11115. 153: {
  11116. Fbits: uint8(8),
  11117. Fval: uint16(105),
  11118. },
  11119. 154: {
  11120. Fbits: uint8(8),
  11121. Fval: uint16(41),
  11122. },
  11123. 155: {
  11124. Fbits: uint8(9),
  11125. Fval: uint16(178),
  11126. },
  11127. 156: {
  11128. Fbits: uint8(8),
  11129. Fval: uint16(9),
  11130. },
  11131. 157: {
  11132. Fbits: uint8(8),
  11133. Fval: uint16(137),
  11134. },
  11135. 158: {
  11136. Fbits: uint8(8),
  11137. Fval: uint16(73),
  11138. },
  11139. 159: {
  11140. Fbits: uint8(9),
  11141. Fval: uint16(242),
  11142. },
  11143. 160: {
  11144. Fop: uint8(16),
  11145. Fbits: uint8(7),
  11146. Fval: uint16(4),
  11147. },
  11148. 161: {
  11149. Fbits: uint8(8),
  11150. Fval: uint16(85),
  11151. },
  11152. 162: {
  11153. Fbits: uint8(8),
  11154. Fval: uint16(21),
  11155. },
  11156. 163: {
  11157. Fop: uint8(16),
  11158. Fbits: uint8(8),
  11159. Fval: uint16(258),
  11160. },
  11161. 164: {
  11162. Fop: uint8(19),
  11163. Fbits: uint8(7),
  11164. Fval: uint16(43),
  11165. },
  11166. 165: {
  11167. Fbits: uint8(8),
  11168. Fval: uint16(117),
  11169. },
  11170. 166: {
  11171. Fbits: uint8(8),
  11172. Fval: uint16(53),
  11173. },
  11174. 167: {
  11175. Fbits: uint8(9),
  11176. Fval: uint16(202),
  11177. },
  11178. 168: {
  11179. Fop: uint8(17),
  11180. Fbits: uint8(7),
  11181. Fval: uint16(13),
  11182. },
  11183. 169: {
  11184. Fbits: uint8(8),
  11185. Fval: uint16(101),
  11186. },
  11187. 170: {
  11188. Fbits: uint8(8),
  11189. Fval: uint16(37),
  11190. },
  11191. 171: {
  11192. Fbits: uint8(9),
  11193. Fval: uint16(170),
  11194. },
  11195. 172: {
  11196. Fbits: uint8(8),
  11197. Fval: uint16(5),
  11198. },
  11199. 173: {
  11200. Fbits: uint8(8),
  11201. Fval: uint16(133),
  11202. },
  11203. 174: {
  11204. Fbits: uint8(8),
  11205. Fval: uint16(69),
  11206. },
  11207. 175: {
  11208. Fbits: uint8(9),
  11209. Fval: uint16(234),
  11210. },
  11211. 176: {
  11212. Fop: uint8(16),
  11213. Fbits: uint8(7),
  11214. Fval: uint16(8),
  11215. },
  11216. 177: {
  11217. Fbits: uint8(8),
  11218. Fval: uint16(93),
  11219. },
  11220. 178: {
  11221. Fbits: uint8(8),
  11222. Fval: uint16(29),
  11223. },
  11224. 179: {
  11225. Fbits: uint8(9),
  11226. Fval: uint16(154),
  11227. },
  11228. 180: {
  11229. Fop: uint8(20),
  11230. Fbits: uint8(7),
  11231. Fval: uint16(83),
  11232. },
  11233. 181: {
  11234. Fbits: uint8(8),
  11235. Fval: uint16(125),
  11236. },
  11237. 182: {
  11238. Fbits: uint8(8),
  11239. Fval: uint16(61),
  11240. },
  11241. 183: {
  11242. Fbits: uint8(9),
  11243. Fval: uint16(218),
  11244. },
  11245. 184: {
  11246. Fop: uint8(18),
  11247. Fbits: uint8(7),
  11248. Fval: uint16(23),
  11249. },
  11250. 185: {
  11251. Fbits: uint8(8),
  11252. Fval: uint16(109),
  11253. },
  11254. 186: {
  11255. Fbits: uint8(8),
  11256. Fval: uint16(45),
  11257. },
  11258. 187: {
  11259. Fbits: uint8(9),
  11260. Fval: uint16(186),
  11261. },
  11262. 188: {
  11263. Fbits: uint8(8),
  11264. Fval: uint16(13),
  11265. },
  11266. 189: {
  11267. Fbits: uint8(8),
  11268. Fval: uint16(141),
  11269. },
  11270. 190: {
  11271. Fbits: uint8(8),
  11272. Fval: uint16(77),
  11273. },
  11274. 191: {
  11275. Fbits: uint8(9),
  11276. Fval: uint16(250),
  11277. },
  11278. 192: {
  11279. Fop: uint8(16),
  11280. Fbits: uint8(7),
  11281. Fval: uint16(3),
  11282. },
  11283. 193: {
  11284. Fbits: uint8(8),
  11285. Fval: uint16(83),
  11286. },
  11287. 194: {
  11288. Fbits: uint8(8),
  11289. Fval: uint16(19),
  11290. },
  11291. 195: {
  11292. Fop: uint8(21),
  11293. Fbits: uint8(8),
  11294. Fval: uint16(195),
  11295. },
  11296. 196: {
  11297. Fop: uint8(19),
  11298. Fbits: uint8(7),
  11299. Fval: uint16(35),
  11300. },
  11301. 197: {
  11302. Fbits: uint8(8),
  11303. Fval: uint16(115),
  11304. },
  11305. 198: {
  11306. Fbits: uint8(8),
  11307. Fval: uint16(51),
  11308. },
  11309. 199: {
  11310. Fbits: uint8(9),
  11311. Fval: uint16(198),
  11312. },
  11313. 200: {
  11314. Fop: uint8(17),
  11315. Fbits: uint8(7),
  11316. Fval: uint16(11),
  11317. },
  11318. 201: {
  11319. Fbits: uint8(8),
  11320. Fval: uint16(99),
  11321. },
  11322. 202: {
  11323. Fbits: uint8(8),
  11324. Fval: uint16(35),
  11325. },
  11326. 203: {
  11327. Fbits: uint8(9),
  11328. Fval: uint16(166),
  11329. },
  11330. 204: {
  11331. Fbits: uint8(8),
  11332. Fval: uint16(3),
  11333. },
  11334. 205: {
  11335. Fbits: uint8(8),
  11336. Fval: uint16(131),
  11337. },
  11338. 206: {
  11339. Fbits: uint8(8),
  11340. Fval: uint16(67),
  11341. },
  11342. 207: {
  11343. Fbits: uint8(9),
  11344. Fval: uint16(230),
  11345. },
  11346. 208: {
  11347. Fop: uint8(16),
  11348. Fbits: uint8(7),
  11349. Fval: uint16(7),
  11350. },
  11351. 209: {
  11352. Fbits: uint8(8),
  11353. Fval: uint16(91),
  11354. },
  11355. 210: {
  11356. Fbits: uint8(8),
  11357. Fval: uint16(27),
  11358. },
  11359. 211: {
  11360. Fbits: uint8(9),
  11361. Fval: uint16(150),
  11362. },
  11363. 212: {
  11364. Fop: uint8(20),
  11365. Fbits: uint8(7),
  11366. Fval: uint16(67),
  11367. },
  11368. 213: {
  11369. Fbits: uint8(8),
  11370. Fval: uint16(123),
  11371. },
  11372. 214: {
  11373. Fbits: uint8(8),
  11374. Fval: uint16(59),
  11375. },
  11376. 215: {
  11377. Fbits: uint8(9),
  11378. Fval: uint16(214),
  11379. },
  11380. 216: {
  11381. Fop: uint8(18),
  11382. Fbits: uint8(7),
  11383. Fval: uint16(19),
  11384. },
  11385. 217: {
  11386. Fbits: uint8(8),
  11387. Fval: uint16(107),
  11388. },
  11389. 218: {
  11390. Fbits: uint8(8),
  11391. Fval: uint16(43),
  11392. },
  11393. 219: {
  11394. Fbits: uint8(9),
  11395. Fval: uint16(182),
  11396. },
  11397. 220: {
  11398. Fbits: uint8(8),
  11399. Fval: uint16(11),
  11400. },
  11401. 221: {
  11402. Fbits: uint8(8),
  11403. Fval: uint16(139),
  11404. },
  11405. 222: {
  11406. Fbits: uint8(8),
  11407. Fval: uint16(75),
  11408. },
  11409. 223: {
  11410. Fbits: uint8(9),
  11411. Fval: uint16(246),
  11412. },
  11413. 224: {
  11414. Fop: uint8(16),
  11415. Fbits: uint8(7),
  11416. Fval: uint16(5),
  11417. },
  11418. 225: {
  11419. Fbits: uint8(8),
  11420. Fval: uint16(87),
  11421. },
  11422. 226: {
  11423. Fbits: uint8(8),
  11424. Fval: uint16(23),
  11425. },
  11426. 227: {
  11427. Fop: uint8(64),
  11428. Fbits: uint8(8),
  11429. },
  11430. 228: {
  11431. Fop: uint8(19),
  11432. Fbits: uint8(7),
  11433. Fval: uint16(51),
  11434. },
  11435. 229: {
  11436. Fbits: uint8(8),
  11437. Fval: uint16(119),
  11438. },
  11439. 230: {
  11440. Fbits: uint8(8),
  11441. Fval: uint16(55),
  11442. },
  11443. 231: {
  11444. Fbits: uint8(9),
  11445. Fval: uint16(206),
  11446. },
  11447. 232: {
  11448. Fop: uint8(17),
  11449. Fbits: uint8(7),
  11450. Fval: uint16(15),
  11451. },
  11452. 233: {
  11453. Fbits: uint8(8),
  11454. Fval: uint16(103),
  11455. },
  11456. 234: {
  11457. Fbits: uint8(8),
  11458. Fval: uint16(39),
  11459. },
  11460. 235: {
  11461. Fbits: uint8(9),
  11462. Fval: uint16(174),
  11463. },
  11464. 236: {
  11465. Fbits: uint8(8),
  11466. Fval: uint16(7),
  11467. },
  11468. 237: {
  11469. Fbits: uint8(8),
  11470. Fval: uint16(135),
  11471. },
  11472. 238: {
  11473. Fbits: uint8(8),
  11474. Fval: uint16(71),
  11475. },
  11476. 239: {
  11477. Fbits: uint8(9),
  11478. Fval: uint16(238),
  11479. },
  11480. 240: {
  11481. Fop: uint8(16),
  11482. Fbits: uint8(7),
  11483. Fval: uint16(9),
  11484. },
  11485. 241: {
  11486. Fbits: uint8(8),
  11487. Fval: uint16(95),
  11488. },
  11489. 242: {
  11490. Fbits: uint8(8),
  11491. Fval: uint16(31),
  11492. },
  11493. 243: {
  11494. Fbits: uint8(9),
  11495. Fval: uint16(158),
  11496. },
  11497. 244: {
  11498. Fop: uint8(20),
  11499. Fbits: uint8(7),
  11500. Fval: uint16(99),
  11501. },
  11502. 245: {
  11503. Fbits: uint8(8),
  11504. Fval: uint16(127),
  11505. },
  11506. 246: {
  11507. Fbits: uint8(8),
  11508. Fval: uint16(63),
  11509. },
  11510. 247: {
  11511. Fbits: uint8(9),
  11512. Fval: uint16(222),
  11513. },
  11514. 248: {
  11515. Fop: uint8(18),
  11516. Fbits: uint8(7),
  11517. Fval: uint16(27),
  11518. },
  11519. 249: {
  11520. Fbits: uint8(8),
  11521. Fval: uint16(111),
  11522. },
  11523. 250: {
  11524. Fbits: uint8(8),
  11525. Fval: uint16(47),
  11526. },
  11527. 251: {
  11528. Fbits: uint8(9),
  11529. Fval: uint16(190),
  11530. },
  11531. 252: {
  11532. Fbits: uint8(8),
  11533. Fval: uint16(15),
  11534. },
  11535. 253: {
  11536. Fbits: uint8(8),
  11537. Fval: uint16(143),
  11538. },
  11539. 254: {
  11540. Fbits: uint8(8),
  11541. Fval: uint16(79),
  11542. },
  11543. 255: {
  11544. Fbits: uint8(9),
  11545. Fval: uint16(254),
  11546. },
  11547. 256: {
  11548. Fop: uint8(96),
  11549. Fbits: uint8(7),
  11550. },
  11551. 257: {
  11552. Fbits: uint8(8),
  11553. Fval: uint16(80),
  11554. },
  11555. 258: {
  11556. Fbits: uint8(8),
  11557. Fval: uint16(16),
  11558. },
  11559. 259: {
  11560. Fop: uint8(20),
  11561. Fbits: uint8(8),
  11562. Fval: uint16(115),
  11563. },
  11564. 260: {
  11565. Fop: uint8(18),
  11566. Fbits: uint8(7),
  11567. Fval: uint16(31),
  11568. },
  11569. 261: {
  11570. Fbits: uint8(8),
  11571. Fval: uint16(112),
  11572. },
  11573. 262: {
  11574. Fbits: uint8(8),
  11575. Fval: uint16(48),
  11576. },
  11577. 263: {
  11578. Fbits: uint8(9),
  11579. Fval: uint16(193),
  11580. },
  11581. 264: {
  11582. Fop: uint8(16),
  11583. Fbits: uint8(7),
  11584. Fval: uint16(10),
  11585. },
  11586. 265: {
  11587. Fbits: uint8(8),
  11588. Fval: uint16(96),
  11589. },
  11590. 266: {
  11591. Fbits: uint8(8),
  11592. Fval: uint16(32),
  11593. },
  11594. 267: {
  11595. Fbits: uint8(9),
  11596. Fval: uint16(161),
  11597. },
  11598. 268: {
  11599. Fbits: uint8(8),
  11600. },
  11601. 269: {
  11602. Fbits: uint8(8),
  11603. Fval: uint16(128),
  11604. },
  11605. 270: {
  11606. Fbits: uint8(8),
  11607. Fval: uint16(64),
  11608. },
  11609. 271: {
  11610. Fbits: uint8(9),
  11611. Fval: uint16(225),
  11612. },
  11613. 272: {
  11614. Fop: uint8(16),
  11615. Fbits: uint8(7),
  11616. Fval: uint16(6),
  11617. },
  11618. 273: {
  11619. Fbits: uint8(8),
  11620. Fval: uint16(88),
  11621. },
  11622. 274: {
  11623. Fbits: uint8(8),
  11624. Fval: uint16(24),
  11625. },
  11626. 275: {
  11627. Fbits: uint8(9),
  11628. Fval: uint16(145),
  11629. },
  11630. 276: {
  11631. Fop: uint8(19),
  11632. Fbits: uint8(7),
  11633. Fval: uint16(59),
  11634. },
  11635. 277: {
  11636. Fbits: uint8(8),
  11637. Fval: uint16(120),
  11638. },
  11639. 278: {
  11640. Fbits: uint8(8),
  11641. Fval: uint16(56),
  11642. },
  11643. 279: {
  11644. Fbits: uint8(9),
  11645. Fval: uint16(209),
  11646. },
  11647. 280: {
  11648. Fop: uint8(17),
  11649. Fbits: uint8(7),
  11650. Fval: uint16(17),
  11651. },
  11652. 281: {
  11653. Fbits: uint8(8),
  11654. Fval: uint16(104),
  11655. },
  11656. 282: {
  11657. Fbits: uint8(8),
  11658. Fval: uint16(40),
  11659. },
  11660. 283: {
  11661. Fbits: uint8(9),
  11662. Fval: uint16(177),
  11663. },
  11664. 284: {
  11665. Fbits: uint8(8),
  11666. Fval: uint16(8),
  11667. },
  11668. 285: {
  11669. Fbits: uint8(8),
  11670. Fval: uint16(136),
  11671. },
  11672. 286: {
  11673. Fbits: uint8(8),
  11674. Fval: uint16(72),
  11675. },
  11676. 287: {
  11677. Fbits: uint8(9),
  11678. Fval: uint16(241),
  11679. },
  11680. 288: {
  11681. Fop: uint8(16),
  11682. Fbits: uint8(7),
  11683. Fval: uint16(4),
  11684. },
  11685. 289: {
  11686. Fbits: uint8(8),
  11687. Fval: uint16(84),
  11688. },
  11689. 290: {
  11690. Fbits: uint8(8),
  11691. Fval: uint16(20),
  11692. },
  11693. 291: {
  11694. Fop: uint8(21),
  11695. Fbits: uint8(8),
  11696. Fval: uint16(227),
  11697. },
  11698. 292: {
  11699. Fop: uint8(19),
  11700. Fbits: uint8(7),
  11701. Fval: uint16(43),
  11702. },
  11703. 293: {
  11704. Fbits: uint8(8),
  11705. Fval: uint16(116),
  11706. },
  11707. 294: {
  11708. Fbits: uint8(8),
  11709. Fval: uint16(52),
  11710. },
  11711. 295: {
  11712. Fbits: uint8(9),
  11713. Fval: uint16(201),
  11714. },
  11715. 296: {
  11716. Fop: uint8(17),
  11717. Fbits: uint8(7),
  11718. Fval: uint16(13),
  11719. },
  11720. 297: {
  11721. Fbits: uint8(8),
  11722. Fval: uint16(100),
  11723. },
  11724. 298: {
  11725. Fbits: uint8(8),
  11726. Fval: uint16(36),
  11727. },
  11728. 299: {
  11729. Fbits: uint8(9),
  11730. Fval: uint16(169),
  11731. },
  11732. 300: {
  11733. Fbits: uint8(8),
  11734. Fval: uint16(4),
  11735. },
  11736. 301: {
  11737. Fbits: uint8(8),
  11738. Fval: uint16(132),
  11739. },
  11740. 302: {
  11741. Fbits: uint8(8),
  11742. Fval: uint16(68),
  11743. },
  11744. 303: {
  11745. Fbits: uint8(9),
  11746. Fval: uint16(233),
  11747. },
  11748. 304: {
  11749. Fop: uint8(16),
  11750. Fbits: uint8(7),
  11751. Fval: uint16(8),
  11752. },
  11753. 305: {
  11754. Fbits: uint8(8),
  11755. Fval: uint16(92),
  11756. },
  11757. 306: {
  11758. Fbits: uint8(8),
  11759. Fval: uint16(28),
  11760. },
  11761. 307: {
  11762. Fbits: uint8(9),
  11763. Fval: uint16(153),
  11764. },
  11765. 308: {
  11766. Fop: uint8(20),
  11767. Fbits: uint8(7),
  11768. Fval: uint16(83),
  11769. },
  11770. 309: {
  11771. Fbits: uint8(8),
  11772. Fval: uint16(124),
  11773. },
  11774. 310: {
  11775. Fbits: uint8(8),
  11776. Fval: uint16(60),
  11777. },
  11778. 311: {
  11779. Fbits: uint8(9),
  11780. Fval: uint16(217),
  11781. },
  11782. 312: {
  11783. Fop: uint8(18),
  11784. Fbits: uint8(7),
  11785. Fval: uint16(23),
  11786. },
  11787. 313: {
  11788. Fbits: uint8(8),
  11789. Fval: uint16(108),
  11790. },
  11791. 314: {
  11792. Fbits: uint8(8),
  11793. Fval: uint16(44),
  11794. },
  11795. 315: {
  11796. Fbits: uint8(9),
  11797. Fval: uint16(185),
  11798. },
  11799. 316: {
  11800. Fbits: uint8(8),
  11801. Fval: uint16(12),
  11802. },
  11803. 317: {
  11804. Fbits: uint8(8),
  11805. Fval: uint16(140),
  11806. },
  11807. 318: {
  11808. Fbits: uint8(8),
  11809. Fval: uint16(76),
  11810. },
  11811. 319: {
  11812. Fbits: uint8(9),
  11813. Fval: uint16(249),
  11814. },
  11815. 320: {
  11816. Fop: uint8(16),
  11817. Fbits: uint8(7),
  11818. Fval: uint16(3),
  11819. },
  11820. 321: {
  11821. Fbits: uint8(8),
  11822. Fval: uint16(82),
  11823. },
  11824. 322: {
  11825. Fbits: uint8(8),
  11826. Fval: uint16(18),
  11827. },
  11828. 323: {
  11829. Fop: uint8(21),
  11830. Fbits: uint8(8),
  11831. Fval: uint16(163),
  11832. },
  11833. 324: {
  11834. Fop: uint8(19),
  11835. Fbits: uint8(7),
  11836. Fval: uint16(35),
  11837. },
  11838. 325: {
  11839. Fbits: uint8(8),
  11840. Fval: uint16(114),
  11841. },
  11842. 326: {
  11843. Fbits: uint8(8),
  11844. Fval: uint16(50),
  11845. },
  11846. 327: {
  11847. Fbits: uint8(9),
  11848. Fval: uint16(197),
  11849. },
  11850. 328: {
  11851. Fop: uint8(17),
  11852. Fbits: uint8(7),
  11853. Fval: uint16(11),
  11854. },
  11855. 329: {
  11856. Fbits: uint8(8),
  11857. Fval: uint16(98),
  11858. },
  11859. 330: {
  11860. Fbits: uint8(8),
  11861. Fval: uint16(34),
  11862. },
  11863. 331: {
  11864. Fbits: uint8(9),
  11865. Fval: uint16(165),
  11866. },
  11867. 332: {
  11868. Fbits: uint8(8),
  11869. Fval: uint16(2),
  11870. },
  11871. 333: {
  11872. Fbits: uint8(8),
  11873. Fval: uint16(130),
  11874. },
  11875. 334: {
  11876. Fbits: uint8(8),
  11877. Fval: uint16(66),
  11878. },
  11879. 335: {
  11880. Fbits: uint8(9),
  11881. Fval: uint16(229),
  11882. },
  11883. 336: {
  11884. Fop: uint8(16),
  11885. Fbits: uint8(7),
  11886. Fval: uint16(7),
  11887. },
  11888. 337: {
  11889. Fbits: uint8(8),
  11890. Fval: uint16(90),
  11891. },
  11892. 338: {
  11893. Fbits: uint8(8),
  11894. Fval: uint16(26),
  11895. },
  11896. 339: {
  11897. Fbits: uint8(9),
  11898. Fval: uint16(149),
  11899. },
  11900. 340: {
  11901. Fop: uint8(20),
  11902. Fbits: uint8(7),
  11903. Fval: uint16(67),
  11904. },
  11905. 341: {
  11906. Fbits: uint8(8),
  11907. Fval: uint16(122),
  11908. },
  11909. 342: {
  11910. Fbits: uint8(8),
  11911. Fval: uint16(58),
  11912. },
  11913. 343: {
  11914. Fbits: uint8(9),
  11915. Fval: uint16(213),
  11916. },
  11917. 344: {
  11918. Fop: uint8(18),
  11919. Fbits: uint8(7),
  11920. Fval: uint16(19),
  11921. },
  11922. 345: {
  11923. Fbits: uint8(8),
  11924. Fval: uint16(106),
  11925. },
  11926. 346: {
  11927. Fbits: uint8(8),
  11928. Fval: uint16(42),
  11929. },
  11930. 347: {
  11931. Fbits: uint8(9),
  11932. Fval: uint16(181),
  11933. },
  11934. 348: {
  11935. Fbits: uint8(8),
  11936. Fval: uint16(10),
  11937. },
  11938. 349: {
  11939. Fbits: uint8(8),
  11940. Fval: uint16(138),
  11941. },
  11942. 350: {
  11943. Fbits: uint8(8),
  11944. Fval: uint16(74),
  11945. },
  11946. 351: {
  11947. Fbits: uint8(9),
  11948. Fval: uint16(245),
  11949. },
  11950. 352: {
  11951. Fop: uint8(16),
  11952. Fbits: uint8(7),
  11953. Fval: uint16(5),
  11954. },
  11955. 353: {
  11956. Fbits: uint8(8),
  11957. Fval: uint16(86),
  11958. },
  11959. 354: {
  11960. Fbits: uint8(8),
  11961. Fval: uint16(22),
  11962. },
  11963. 355: {
  11964. Fop: uint8(64),
  11965. Fbits: uint8(8),
  11966. },
  11967. 356: {
  11968. Fop: uint8(19),
  11969. Fbits: uint8(7),
  11970. Fval: uint16(51),
  11971. },
  11972. 357: {
  11973. Fbits: uint8(8),
  11974. Fval: uint16(118),
  11975. },
  11976. 358: {
  11977. Fbits: uint8(8),
  11978. Fval: uint16(54),
  11979. },
  11980. 359: {
  11981. Fbits: uint8(9),
  11982. Fval: uint16(205),
  11983. },
  11984. 360: {
  11985. Fop: uint8(17),
  11986. Fbits: uint8(7),
  11987. Fval: uint16(15),
  11988. },
  11989. 361: {
  11990. Fbits: uint8(8),
  11991. Fval: uint16(102),
  11992. },
  11993. 362: {
  11994. Fbits: uint8(8),
  11995. Fval: uint16(38),
  11996. },
  11997. 363: {
  11998. Fbits: uint8(9),
  11999. Fval: uint16(173),
  12000. },
  12001. 364: {
  12002. Fbits: uint8(8),
  12003. Fval: uint16(6),
  12004. },
  12005. 365: {
  12006. Fbits: uint8(8),
  12007. Fval: uint16(134),
  12008. },
  12009. 366: {
  12010. Fbits: uint8(8),
  12011. Fval: uint16(70),
  12012. },
  12013. 367: {
  12014. Fbits: uint8(9),
  12015. Fval: uint16(237),
  12016. },
  12017. 368: {
  12018. Fop: uint8(16),
  12019. Fbits: uint8(7),
  12020. Fval: uint16(9),
  12021. },
  12022. 369: {
  12023. Fbits: uint8(8),
  12024. Fval: uint16(94),
  12025. },
  12026. 370: {
  12027. Fbits: uint8(8),
  12028. Fval: uint16(30),
  12029. },
  12030. 371: {
  12031. Fbits: uint8(9),
  12032. Fval: uint16(157),
  12033. },
  12034. 372: {
  12035. Fop: uint8(20),
  12036. Fbits: uint8(7),
  12037. Fval: uint16(99),
  12038. },
  12039. 373: {
  12040. Fbits: uint8(8),
  12041. Fval: uint16(126),
  12042. },
  12043. 374: {
  12044. Fbits: uint8(8),
  12045. Fval: uint16(62),
  12046. },
  12047. 375: {
  12048. Fbits: uint8(9),
  12049. Fval: uint16(221),
  12050. },
  12051. 376: {
  12052. Fop: uint8(18),
  12053. Fbits: uint8(7),
  12054. Fval: uint16(27),
  12055. },
  12056. 377: {
  12057. Fbits: uint8(8),
  12058. Fval: uint16(110),
  12059. },
  12060. 378: {
  12061. Fbits: uint8(8),
  12062. Fval: uint16(46),
  12063. },
  12064. 379: {
  12065. Fbits: uint8(9),
  12066. Fval: uint16(189),
  12067. },
  12068. 380: {
  12069. Fbits: uint8(8),
  12070. Fval: uint16(14),
  12071. },
  12072. 381: {
  12073. Fbits: uint8(8),
  12074. Fval: uint16(142),
  12075. },
  12076. 382: {
  12077. Fbits: uint8(8),
  12078. Fval: uint16(78),
  12079. },
  12080. 383: {
  12081. Fbits: uint8(9),
  12082. Fval: uint16(253),
  12083. },
  12084. 384: {
  12085. Fop: uint8(96),
  12086. Fbits: uint8(7),
  12087. },
  12088. 385: {
  12089. Fbits: uint8(8),
  12090. Fval: uint16(81),
  12091. },
  12092. 386: {
  12093. Fbits: uint8(8),
  12094. Fval: uint16(17),
  12095. },
  12096. 387: {
  12097. Fop: uint8(21),
  12098. Fbits: uint8(8),
  12099. Fval: uint16(131),
  12100. },
  12101. 388: {
  12102. Fop: uint8(18),
  12103. Fbits: uint8(7),
  12104. Fval: uint16(31),
  12105. },
  12106. 389: {
  12107. Fbits: uint8(8),
  12108. Fval: uint16(113),
  12109. },
  12110. 390: {
  12111. Fbits: uint8(8),
  12112. Fval: uint16(49),
  12113. },
  12114. 391: {
  12115. Fbits: uint8(9),
  12116. Fval: uint16(195),
  12117. },
  12118. 392: {
  12119. Fop: uint8(16),
  12120. Fbits: uint8(7),
  12121. Fval: uint16(10),
  12122. },
  12123. 393: {
  12124. Fbits: uint8(8),
  12125. Fval: uint16(97),
  12126. },
  12127. 394: {
  12128. Fbits: uint8(8),
  12129. Fval: uint16(33),
  12130. },
  12131. 395: {
  12132. Fbits: uint8(9),
  12133. Fval: uint16(163),
  12134. },
  12135. 396: {
  12136. Fbits: uint8(8),
  12137. Fval: uint16(1),
  12138. },
  12139. 397: {
  12140. Fbits: uint8(8),
  12141. Fval: uint16(129),
  12142. },
  12143. 398: {
  12144. Fbits: uint8(8),
  12145. Fval: uint16(65),
  12146. },
  12147. 399: {
  12148. Fbits: uint8(9),
  12149. Fval: uint16(227),
  12150. },
  12151. 400: {
  12152. Fop: uint8(16),
  12153. Fbits: uint8(7),
  12154. Fval: uint16(6),
  12155. },
  12156. 401: {
  12157. Fbits: uint8(8),
  12158. Fval: uint16(89),
  12159. },
  12160. 402: {
  12161. Fbits: uint8(8),
  12162. Fval: uint16(25),
  12163. },
  12164. 403: {
  12165. Fbits: uint8(9),
  12166. Fval: uint16(147),
  12167. },
  12168. 404: {
  12169. Fop: uint8(19),
  12170. Fbits: uint8(7),
  12171. Fval: uint16(59),
  12172. },
  12173. 405: {
  12174. Fbits: uint8(8),
  12175. Fval: uint16(121),
  12176. },
  12177. 406: {
  12178. Fbits: uint8(8),
  12179. Fval: uint16(57),
  12180. },
  12181. 407: {
  12182. Fbits: uint8(9),
  12183. Fval: uint16(211),
  12184. },
  12185. 408: {
  12186. Fop: uint8(17),
  12187. Fbits: uint8(7),
  12188. Fval: uint16(17),
  12189. },
  12190. 409: {
  12191. Fbits: uint8(8),
  12192. Fval: uint16(105),
  12193. },
  12194. 410: {
  12195. Fbits: uint8(8),
  12196. Fval: uint16(41),
  12197. },
  12198. 411: {
  12199. Fbits: uint8(9),
  12200. Fval: uint16(179),
  12201. },
  12202. 412: {
  12203. Fbits: uint8(8),
  12204. Fval: uint16(9),
  12205. },
  12206. 413: {
  12207. Fbits: uint8(8),
  12208. Fval: uint16(137),
  12209. },
  12210. 414: {
  12211. Fbits: uint8(8),
  12212. Fval: uint16(73),
  12213. },
  12214. 415: {
  12215. Fbits: uint8(9),
  12216. Fval: uint16(243),
  12217. },
  12218. 416: {
  12219. Fop: uint8(16),
  12220. Fbits: uint8(7),
  12221. Fval: uint16(4),
  12222. },
  12223. 417: {
  12224. Fbits: uint8(8),
  12225. Fval: uint16(85),
  12226. },
  12227. 418: {
  12228. Fbits: uint8(8),
  12229. Fval: uint16(21),
  12230. },
  12231. 419: {
  12232. Fop: uint8(16),
  12233. Fbits: uint8(8),
  12234. Fval: uint16(258),
  12235. },
  12236. 420: {
  12237. Fop: uint8(19),
  12238. Fbits: uint8(7),
  12239. Fval: uint16(43),
  12240. },
  12241. 421: {
  12242. Fbits: uint8(8),
  12243. Fval: uint16(117),
  12244. },
  12245. 422: {
  12246. Fbits: uint8(8),
  12247. Fval: uint16(53),
  12248. },
  12249. 423: {
  12250. Fbits: uint8(9),
  12251. Fval: uint16(203),
  12252. },
  12253. 424: {
  12254. Fop: uint8(17),
  12255. Fbits: uint8(7),
  12256. Fval: uint16(13),
  12257. },
  12258. 425: {
  12259. Fbits: uint8(8),
  12260. Fval: uint16(101),
  12261. },
  12262. 426: {
  12263. Fbits: uint8(8),
  12264. Fval: uint16(37),
  12265. },
  12266. 427: {
  12267. Fbits: uint8(9),
  12268. Fval: uint16(171),
  12269. },
  12270. 428: {
  12271. Fbits: uint8(8),
  12272. Fval: uint16(5),
  12273. },
  12274. 429: {
  12275. Fbits: uint8(8),
  12276. Fval: uint16(133),
  12277. },
  12278. 430: {
  12279. Fbits: uint8(8),
  12280. Fval: uint16(69),
  12281. },
  12282. 431: {
  12283. Fbits: uint8(9),
  12284. Fval: uint16(235),
  12285. },
  12286. 432: {
  12287. Fop: uint8(16),
  12288. Fbits: uint8(7),
  12289. Fval: uint16(8),
  12290. },
  12291. 433: {
  12292. Fbits: uint8(8),
  12293. Fval: uint16(93),
  12294. },
  12295. 434: {
  12296. Fbits: uint8(8),
  12297. Fval: uint16(29),
  12298. },
  12299. 435: {
  12300. Fbits: uint8(9),
  12301. Fval: uint16(155),
  12302. },
  12303. 436: {
  12304. Fop: uint8(20),
  12305. Fbits: uint8(7),
  12306. Fval: uint16(83),
  12307. },
  12308. 437: {
  12309. Fbits: uint8(8),
  12310. Fval: uint16(125),
  12311. },
  12312. 438: {
  12313. Fbits: uint8(8),
  12314. Fval: uint16(61),
  12315. },
  12316. 439: {
  12317. Fbits: uint8(9),
  12318. Fval: uint16(219),
  12319. },
  12320. 440: {
  12321. Fop: uint8(18),
  12322. Fbits: uint8(7),
  12323. Fval: uint16(23),
  12324. },
  12325. 441: {
  12326. Fbits: uint8(8),
  12327. Fval: uint16(109),
  12328. },
  12329. 442: {
  12330. Fbits: uint8(8),
  12331. Fval: uint16(45),
  12332. },
  12333. 443: {
  12334. Fbits: uint8(9),
  12335. Fval: uint16(187),
  12336. },
  12337. 444: {
  12338. Fbits: uint8(8),
  12339. Fval: uint16(13),
  12340. },
  12341. 445: {
  12342. Fbits: uint8(8),
  12343. Fval: uint16(141),
  12344. },
  12345. 446: {
  12346. Fbits: uint8(8),
  12347. Fval: uint16(77),
  12348. },
  12349. 447: {
  12350. Fbits: uint8(9),
  12351. Fval: uint16(251),
  12352. },
  12353. 448: {
  12354. Fop: uint8(16),
  12355. Fbits: uint8(7),
  12356. Fval: uint16(3),
  12357. },
  12358. 449: {
  12359. Fbits: uint8(8),
  12360. Fval: uint16(83),
  12361. },
  12362. 450: {
  12363. Fbits: uint8(8),
  12364. Fval: uint16(19),
  12365. },
  12366. 451: {
  12367. Fop: uint8(21),
  12368. Fbits: uint8(8),
  12369. Fval: uint16(195),
  12370. },
  12371. 452: {
  12372. Fop: uint8(19),
  12373. Fbits: uint8(7),
  12374. Fval: uint16(35),
  12375. },
  12376. 453: {
  12377. Fbits: uint8(8),
  12378. Fval: uint16(115),
  12379. },
  12380. 454: {
  12381. Fbits: uint8(8),
  12382. Fval: uint16(51),
  12383. },
  12384. 455: {
  12385. Fbits: uint8(9),
  12386. Fval: uint16(199),
  12387. },
  12388. 456: {
  12389. Fop: uint8(17),
  12390. Fbits: uint8(7),
  12391. Fval: uint16(11),
  12392. },
  12393. 457: {
  12394. Fbits: uint8(8),
  12395. Fval: uint16(99),
  12396. },
  12397. 458: {
  12398. Fbits: uint8(8),
  12399. Fval: uint16(35),
  12400. },
  12401. 459: {
  12402. Fbits: uint8(9),
  12403. Fval: uint16(167),
  12404. },
  12405. 460: {
  12406. Fbits: uint8(8),
  12407. Fval: uint16(3),
  12408. },
  12409. 461: {
  12410. Fbits: uint8(8),
  12411. Fval: uint16(131),
  12412. },
  12413. 462: {
  12414. Fbits: uint8(8),
  12415. Fval: uint16(67),
  12416. },
  12417. 463: {
  12418. Fbits: uint8(9),
  12419. Fval: uint16(231),
  12420. },
  12421. 464: {
  12422. Fop: uint8(16),
  12423. Fbits: uint8(7),
  12424. Fval: uint16(7),
  12425. },
  12426. 465: {
  12427. Fbits: uint8(8),
  12428. Fval: uint16(91),
  12429. },
  12430. 466: {
  12431. Fbits: uint8(8),
  12432. Fval: uint16(27),
  12433. },
  12434. 467: {
  12435. Fbits: uint8(9),
  12436. Fval: uint16(151),
  12437. },
  12438. 468: {
  12439. Fop: uint8(20),
  12440. Fbits: uint8(7),
  12441. Fval: uint16(67),
  12442. },
  12443. 469: {
  12444. Fbits: uint8(8),
  12445. Fval: uint16(123),
  12446. },
  12447. 470: {
  12448. Fbits: uint8(8),
  12449. Fval: uint16(59),
  12450. },
  12451. 471: {
  12452. Fbits: uint8(9),
  12453. Fval: uint16(215),
  12454. },
  12455. 472: {
  12456. Fop: uint8(18),
  12457. Fbits: uint8(7),
  12458. Fval: uint16(19),
  12459. },
  12460. 473: {
  12461. Fbits: uint8(8),
  12462. Fval: uint16(107),
  12463. },
  12464. 474: {
  12465. Fbits: uint8(8),
  12466. Fval: uint16(43),
  12467. },
  12468. 475: {
  12469. Fbits: uint8(9),
  12470. Fval: uint16(183),
  12471. },
  12472. 476: {
  12473. Fbits: uint8(8),
  12474. Fval: uint16(11),
  12475. },
  12476. 477: {
  12477. Fbits: uint8(8),
  12478. Fval: uint16(139),
  12479. },
  12480. 478: {
  12481. Fbits: uint8(8),
  12482. Fval: uint16(75),
  12483. },
  12484. 479: {
  12485. Fbits: uint8(9),
  12486. Fval: uint16(247),
  12487. },
  12488. 480: {
  12489. Fop: uint8(16),
  12490. Fbits: uint8(7),
  12491. Fval: uint16(5),
  12492. },
  12493. 481: {
  12494. Fbits: uint8(8),
  12495. Fval: uint16(87),
  12496. },
  12497. 482: {
  12498. Fbits: uint8(8),
  12499. Fval: uint16(23),
  12500. },
  12501. 483: {
  12502. Fop: uint8(64),
  12503. Fbits: uint8(8),
  12504. },
  12505. 484: {
  12506. Fop: uint8(19),
  12507. Fbits: uint8(7),
  12508. Fval: uint16(51),
  12509. },
  12510. 485: {
  12511. Fbits: uint8(8),
  12512. Fval: uint16(119),
  12513. },
  12514. 486: {
  12515. Fbits: uint8(8),
  12516. Fval: uint16(55),
  12517. },
  12518. 487: {
  12519. Fbits: uint8(9),
  12520. Fval: uint16(207),
  12521. },
  12522. 488: {
  12523. Fop: uint8(17),
  12524. Fbits: uint8(7),
  12525. Fval: uint16(15),
  12526. },
  12527. 489: {
  12528. Fbits: uint8(8),
  12529. Fval: uint16(103),
  12530. },
  12531. 490: {
  12532. Fbits: uint8(8),
  12533. Fval: uint16(39),
  12534. },
  12535. 491: {
  12536. Fbits: uint8(9),
  12537. Fval: uint16(175),
  12538. },
  12539. 492: {
  12540. Fbits: uint8(8),
  12541. Fval: uint16(7),
  12542. },
  12543. 493: {
  12544. Fbits: uint8(8),
  12545. Fval: uint16(135),
  12546. },
  12547. 494: {
  12548. Fbits: uint8(8),
  12549. Fval: uint16(71),
  12550. },
  12551. 495: {
  12552. Fbits: uint8(9),
  12553. Fval: uint16(239),
  12554. },
  12555. 496: {
  12556. Fop: uint8(16),
  12557. Fbits: uint8(7),
  12558. Fval: uint16(9),
  12559. },
  12560. 497: {
  12561. Fbits: uint8(8),
  12562. Fval: uint16(95),
  12563. },
  12564. 498: {
  12565. Fbits: uint8(8),
  12566. Fval: uint16(31),
  12567. },
  12568. 499: {
  12569. Fbits: uint8(9),
  12570. Fval: uint16(159),
  12571. },
  12572. 500: {
  12573. Fop: uint8(20),
  12574. Fbits: uint8(7),
  12575. Fval: uint16(99),
  12576. },
  12577. 501: {
  12578. Fbits: uint8(8),
  12579. Fval: uint16(127),
  12580. },
  12581. 502: {
  12582. Fbits: uint8(8),
  12583. Fval: uint16(63),
  12584. },
  12585. 503: {
  12586. Fbits: uint8(9),
  12587. Fval: uint16(223),
  12588. },
  12589. 504: {
  12590. Fop: uint8(18),
  12591. Fbits: uint8(7),
  12592. Fval: uint16(27),
  12593. },
  12594. 505: {
  12595. Fbits: uint8(8),
  12596. Fval: uint16(111),
  12597. },
  12598. 506: {
  12599. Fbits: uint8(8),
  12600. Fval: uint16(47),
  12601. },
  12602. 507: {
  12603. Fbits: uint8(9),
  12604. Fval: uint16(191),
  12605. },
  12606. 508: {
  12607. Fbits: uint8(8),
  12608. Fval: uint16(15),
  12609. },
  12610. 509: {
  12611. Fbits: uint8(8),
  12612. Fval: uint16(143),
  12613. },
  12614. 510: {
  12615. Fbits: uint8(8),
  12616. Fval: uint16(79),
  12617. },
  12618. 511: {
  12619. Fbits: uint8(9),
  12620. Fval: uint16(255),
  12621. },
  12622. }
  12623. var _distfix = [32]Tcode{
  12624. 0: {
  12625. Fop: uint8(16),
  12626. Fbits: uint8(5),
  12627. Fval: uint16(1),
  12628. },
  12629. 1: {
  12630. Fop: uint8(23),
  12631. Fbits: uint8(5),
  12632. Fval: uint16(257),
  12633. },
  12634. 2: {
  12635. Fop: uint8(19),
  12636. Fbits: uint8(5),
  12637. Fval: uint16(17),
  12638. },
  12639. 3: {
  12640. Fop: uint8(27),
  12641. Fbits: uint8(5),
  12642. Fval: uint16(4097),
  12643. },
  12644. 4: {
  12645. Fop: uint8(17),
  12646. Fbits: uint8(5),
  12647. Fval: uint16(5),
  12648. },
  12649. 5: {
  12650. Fop: uint8(25),
  12651. Fbits: uint8(5),
  12652. Fval: uint16(1025),
  12653. },
  12654. 6: {
  12655. Fop: uint8(21),
  12656. Fbits: uint8(5),
  12657. Fval: uint16(65),
  12658. },
  12659. 7: {
  12660. Fop: uint8(29),
  12661. Fbits: uint8(5),
  12662. Fval: uint16(16385),
  12663. },
  12664. 8: {
  12665. Fop: uint8(16),
  12666. Fbits: uint8(5),
  12667. Fval: uint16(3),
  12668. },
  12669. 9: {
  12670. Fop: uint8(24),
  12671. Fbits: uint8(5),
  12672. Fval: uint16(513),
  12673. },
  12674. 10: {
  12675. Fop: uint8(20),
  12676. Fbits: uint8(5),
  12677. Fval: uint16(33),
  12678. },
  12679. 11: {
  12680. Fop: uint8(28),
  12681. Fbits: uint8(5),
  12682. Fval: uint16(8193),
  12683. },
  12684. 12: {
  12685. Fop: uint8(18),
  12686. Fbits: uint8(5),
  12687. Fval: uint16(9),
  12688. },
  12689. 13: {
  12690. Fop: uint8(26),
  12691. Fbits: uint8(5),
  12692. Fval: uint16(2049),
  12693. },
  12694. 14: {
  12695. Fop: uint8(22),
  12696. Fbits: uint8(5),
  12697. Fval: uint16(129),
  12698. },
  12699. 15: {
  12700. Fop: uint8(64),
  12701. Fbits: uint8(5),
  12702. },
  12703. 16: {
  12704. Fop: uint8(16),
  12705. Fbits: uint8(5),
  12706. Fval: uint16(2),
  12707. },
  12708. 17: {
  12709. Fop: uint8(23),
  12710. Fbits: uint8(5),
  12711. Fval: uint16(385),
  12712. },
  12713. 18: {
  12714. Fop: uint8(19),
  12715. Fbits: uint8(5),
  12716. Fval: uint16(25),
  12717. },
  12718. 19: {
  12719. Fop: uint8(27),
  12720. Fbits: uint8(5),
  12721. Fval: uint16(6145),
  12722. },
  12723. 20: {
  12724. Fop: uint8(17),
  12725. Fbits: uint8(5),
  12726. Fval: uint16(7),
  12727. },
  12728. 21: {
  12729. Fop: uint8(25),
  12730. Fbits: uint8(5),
  12731. Fval: uint16(1537),
  12732. },
  12733. 22: {
  12734. Fop: uint8(21),
  12735. Fbits: uint8(5),
  12736. Fval: uint16(97),
  12737. },
  12738. 23: {
  12739. Fop: uint8(29),
  12740. Fbits: uint8(5),
  12741. Fval: uint16(24577),
  12742. },
  12743. 24: {
  12744. Fop: uint8(16),
  12745. Fbits: uint8(5),
  12746. Fval: uint16(4),
  12747. },
  12748. 25: {
  12749. Fop: uint8(24),
  12750. Fbits: uint8(5),
  12751. Fval: uint16(769),
  12752. },
  12753. 26: {
  12754. Fop: uint8(20),
  12755. Fbits: uint8(5),
  12756. Fval: uint16(49),
  12757. },
  12758. 27: {
  12759. Fop: uint8(28),
  12760. Fbits: uint8(5),
  12761. Fval: uint16(12289),
  12762. },
  12763. 28: {
  12764. Fop: uint8(18),
  12765. Fbits: uint8(5),
  12766. Fval: uint16(13),
  12767. },
  12768. 29: {
  12769. Fop: uint8(26),
  12770. Fbits: uint8(5),
  12771. Fval: uint16(3073),
  12772. },
  12773. 30: {
  12774. Fop: uint8(22),
  12775. Fbits: uint8(5),
  12776. Fval: uint16(193),
  12777. },
  12778. 31: {
  12779. Fop: uint8(64),
  12780. Fbits: uint8(5),
  12781. },
  12782. }
  12783. /* Macros for inflateBack(): */
  12784. /* Load returned state from inflate_fast() */
  12785. /* Set state from registers for inflate_fast() */
  12786. /* Clear the input bit accumulator */
  12787. /* Assure that some input is available. If input is requested, but denied,
  12788. then return a Z_BUF_ERROR from inflateBack(). */
  12789. /* Get a byte of input into the bit accumulator, or return from inflateBack()
  12790. with an error if there is no input available. */
  12791. /* Assure that there are at least n bits in the bit accumulator. If there is
  12792. not enough available input to do that, then return from inflateBack() with
  12793. an error. */
  12794. /* Return the low n bits of the bit accumulator (n < 16) */
  12795. /* Remove n bits from the bit accumulator */
  12796. /* Remove zero to seven bits as needed to go to a byte boundary */
  12797. /* Assure that some output space is available, by writing out the window
  12798. if it's full. If the write fails, return from inflateBack() with a
  12799. Z_BUF_ERROR. */
  12800. // C documentation
  12801. //
  12802. // /*
  12803. // strm provides the memory allocation functions and window buffer on input,
  12804. // and provides information on the unused input on return. For Z_DATA_ERROR
  12805. // returns, strm will also provide an error message.
  12806. //
  12807. // in() and out() are the call-back input and output functions. When
  12808. // inflateBack() needs more input, it calls in(). When inflateBack() has
  12809. // filled the window with output, or when it completes with data in the
  12810. // window, it calls out() to write out the data. The application must not
  12811. // change the provided input until in() is called again or inflateBack()
  12812. // returns. The application must not change the window/output buffer until
  12813. // inflateBack() returns.
  12814. //
  12815. // in() and out() are called with a descriptor parameter provided in the
  12816. // inflateBack() call. This parameter can be a structure that provides the
  12817. // information required to do the read or write, as well as accumulated
  12818. // information on the input and output such as totals and check values.
  12819. //
  12820. // in() should return zero on failure. out() should return non-zero on
  12821. // failure. If either in() or out() fails, than inflateBack() returns a
  12822. // Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it
  12823. // was in() or out() that caused in the error. Otherwise, inflateBack()
  12824. // returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format
  12825. // error, or Z_MEM_ERROR if it could not allocate memory for the state.
  12826. // inflateBack() can also return Z_STREAM_ERROR if the input parameters
  12827. // are not correct, i.e. strm is Z_NULL or the state was not initialized.
  12828. // */
  12829. func XinflateBack(tls *libc.TLS, strm Tz_streamp, in Tin_func, in_desc uintptr, out Tout_func, out_desc uintptr) (r int32) {
  12830. bp := tls.Alloc(16)
  12831. defer tls.Free(16)
  12832. var bits, copy1, have, left, len1, v1, v18, v20, v24, v29, v30, v43, v44 uint32
  12833. var from, put, state, v11, v15, v16, v17, v19, v21, v23, v25, v26, v27, v28, v31, v33, v35, v36, v37, v39, v41, v42, v46, v47 uintptr
  12834. var here, last Tcode
  12835. var hold uint64
  12836. var ret int32
  12837. var _ /* next at bp+0 */ uintptr
  12838. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bits, copy1, from, have, here, hold, last, left, len1, put, ret, state, v1, v11, v15, v16, v17, v18, v19, v20, v21, v23, v24, v25, v26, v27, v28, v29, v30, v31, v33, v35, v36, v37, v39, v41, v42, v43, v44, v46, v47
  12839. /* Check that the strm exists and that the state was initialized */
  12840. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fstate == uintptr(m_Z_NULL) {
  12841. return -int32(2)
  12842. }
  12843. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12844. /* Reset the state */
  12845. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  12846. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  12847. (*Tinflate_state)(unsafe.Pointer(state)).Flast = 0
  12848. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  12849. *(*uintptr)(unsafe.Pointer(bp)) = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  12850. if *(*uintptr)(unsafe.Pointer(bp)) != uintptr(m_Z_NULL) {
  12851. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  12852. } else {
  12853. v1 = uint32(0)
  12854. }
  12855. have = v1
  12856. hold = uint64(0)
  12857. bits = uint32(0)
  12858. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  12859. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  12860. /* Inflate until end of block marked as last */
  12861. for {
  12862. switch (*Tinflate_state)(unsafe.Pointer(state)).Fmode {
  12863. case int32(_TYPE):
  12864. goto _3
  12865. case int32(_STORED):
  12866. goto _4
  12867. case int32(_TABLE):
  12868. goto _5
  12869. case int32(_LEN):
  12870. goto _6
  12871. case int32(_DONE):
  12872. goto _7
  12873. case int32(_BAD):
  12874. goto _8
  12875. default:
  12876. goto _9
  12877. }
  12878. goto _10
  12879. _3:
  12880. ;
  12881. /* determine and dispatch block type */
  12882. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  12883. hold >>= uint64(bits & uint32(7))
  12884. bits -= bits & uint32(7)
  12885. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DONE)
  12886. goto _10
  12887. }
  12888. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  12889. if have == uint32(0) {
  12890. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12891. if have == uint32(0) {
  12892. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12893. ret = -int32(5)
  12894. goto inf_leave
  12895. }
  12896. }
  12897. have--
  12898. v11 = *(*uintptr)(unsafe.Pointer(bp))
  12899. *(*uintptr)(unsafe.Pointer(bp))++
  12900. hold += uint64(*(*uint8)(unsafe.Pointer(v11))) << bits
  12901. bits += uint32(8)
  12902. }
  12903. (*Tinflate_state)(unsafe.Pointer(state)).Flast = libc.Int32FromUint32(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(1) - libc.Uint32FromInt32(1)))
  12904. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(1))
  12905. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(1))
  12906. switch uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2) - libc.Uint32FromInt32(1)) {
  12907. case uint32(0): /* stored block */
  12908. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_STORED)
  12909. case uint32(1): /* fixed block */
  12910. _fixedtables(tls, state)
  12911. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN) /* decode codes */
  12912. case uint32(2): /* dynamic block */
  12913. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TABLE)
  12914. case uint32(3):
  12915. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 6
  12916. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12917. }
  12918. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  12919. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  12920. goto _10
  12921. _4:
  12922. ;
  12923. /* get and verify stored block length */
  12924. _14:
  12925. ;
  12926. hold >>= uint64(bits & uint32(7))
  12927. bits -= bits & uint32(7)
  12928. goto _13
  12929. _13:
  12930. ;
  12931. if 0 != 0 {
  12932. goto _14
  12933. }
  12934. goto _12
  12935. _12:
  12936. ; /* go to byte boundary */
  12937. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  12938. if have == uint32(0) {
  12939. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12940. if have == uint32(0) {
  12941. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12942. ret = -int32(5)
  12943. goto inf_leave
  12944. }
  12945. }
  12946. have--
  12947. v15 = *(*uintptr)(unsafe.Pointer(bp))
  12948. *(*uintptr)(unsafe.Pointer(bp))++
  12949. hold += uint64(*(*uint8)(unsafe.Pointer(v15))) << bits
  12950. bits += uint32(8)
  12951. }
  12952. if hold&uint64(0xffff) != hold>>int32(16)^uint64(0xffff) {
  12953. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 25
  12954. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12955. goto _10
  12956. }
  12957. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
  12958. hold = uint64(0)
  12959. bits = uint32(0)
  12960. /* copy stored block from input to output */
  12961. for (*Tinflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
  12962. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  12963. if have == uint32(0) {
  12964. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12965. if have == uint32(0) {
  12966. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12967. ret = -int32(5)
  12968. goto inf_leave
  12969. }
  12970. }
  12971. if left == uint32(0) {
  12972. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  12973. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  12974. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  12975. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  12976. ret = -int32(5)
  12977. goto inf_leave
  12978. }
  12979. }
  12980. if copy1 > have {
  12981. copy1 = have
  12982. }
  12983. if copy1 > left {
  12984. copy1 = left
  12985. }
  12986. libc.X__builtin___memcpy_chk(tls, put, *(*uintptr)(unsafe.Pointer(bp)), uint64(copy1), ^t__predefined_size_t(0))
  12987. have -= copy1
  12988. *(*uintptr)(unsafe.Pointer(bp)) += uintptr(copy1)
  12989. left -= copy1
  12990. put += uintptr(copy1)
  12991. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  12992. }
  12993. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  12994. goto _10
  12995. _5:
  12996. ;
  12997. /* get dynamic table entries descriptor */
  12998. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(14)) {
  12999. if have == uint32(0) {
  13000. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13001. if have == uint32(0) {
  13002. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13003. ret = -int32(5)
  13004. goto inf_leave
  13005. }
  13006. }
  13007. have--
  13008. v16 = *(*uintptr)(unsafe.Pointer(bp))
  13009. *(*uintptr)(unsafe.Pointer(bp))++
  13010. hold += uint64(*(*uint8)(unsafe.Pointer(v16))) << bits
  13011. bits += uint32(8)
  13012. }
  13013. (*Tinflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(257)
  13014. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  13015. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  13016. (*Tinflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(1)
  13017. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  13018. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  13019. (*Tinflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(4)
  13020. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  13021. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  13022. if (*Tinflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Tinflate_state)(unsafe.Pointer(state)).Fndist > uint32(30) {
  13023. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 54
  13024. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13025. goto _10
  13026. }
  13027. /* get code length code lengths (not a typo) */
  13028. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  13029. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fncode {
  13030. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  13031. if have == uint32(0) {
  13032. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13033. if have == uint32(0) {
  13034. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13035. ret = -int32(5)
  13036. goto inf_leave
  13037. }
  13038. }
  13039. have--
  13040. v17 = *(*uintptr)(unsafe.Pointer(bp))
  13041. *(*uintptr)(unsafe.Pointer(bp))++
  13042. hold += uint64(*(*uint8)(unsafe.Pointer(v17))) << bits
  13043. bits += uint32(8)
  13044. }
  13045. v19 = state + 140
  13046. v18 = *(*uint32)(unsafe.Pointer(v19))
  13047. *(*uint32)(unsafe.Pointer(v19))++
  13048. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order[v18])*2)) = uint16(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3) - libc.Uint32FromInt32(1)))
  13049. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  13050. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  13051. }
  13052. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < uint32(19) {
  13053. v21 = state + 140
  13054. v20 = *(*uint32)(unsafe.Pointer(v21))
  13055. *(*uint32)(unsafe.Pointer(v21))++
  13056. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order[v20])*2)) = uint16(0)
  13057. }
  13058. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  13059. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  13060. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
  13061. ret = Xinflate_table(tls, int32(_CODES), state+152, uint32(19), state+144, state+120, state+792)
  13062. if ret != 0 {
  13063. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 90
  13064. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13065. goto _10
  13066. }
  13067. /* get length and distance code code lengths */
  13068. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  13069. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  13070. for {
  13071. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  13072. if uint32(here.Fbits) <= bits {
  13073. break
  13074. }
  13075. if have == uint32(0) {
  13076. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13077. if have == uint32(0) {
  13078. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13079. ret = -int32(5)
  13080. goto inf_leave
  13081. }
  13082. }
  13083. have--
  13084. v23 = *(*uintptr)(unsafe.Pointer(bp))
  13085. *(*uintptr)(unsafe.Pointer(bp))++
  13086. hold += uint64(*(*uint8)(unsafe.Pointer(v23))) << bits
  13087. bits += uint32(8)
  13088. goto _22
  13089. _22:
  13090. }
  13091. if libc.Int32FromUint16(here.Fval) < int32(16) {
  13092. hold >>= uint64(here.Fbits)
  13093. bits -= uint32(here.Fbits)
  13094. v25 = state + 140
  13095. v24 = *(*uint32)(unsafe.Pointer(v25))
  13096. *(*uint32)(unsafe.Pointer(v25))++
  13097. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v24)*2)) = here.Fval
  13098. } else {
  13099. if libc.Int32FromUint16(here.Fval) == int32(16) {
  13100. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(2)) {
  13101. if have == uint32(0) {
  13102. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13103. if have == uint32(0) {
  13104. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13105. ret = -int32(5)
  13106. goto inf_leave
  13107. }
  13108. }
  13109. have--
  13110. v26 = *(*uintptr)(unsafe.Pointer(bp))
  13111. *(*uintptr)(unsafe.Pointer(bp))++
  13112. hold += uint64(*(*uint8)(unsafe.Pointer(v26))) << bits
  13113. bits += uint32(8)
  13114. }
  13115. hold >>= uint64(here.Fbits)
  13116. bits -= uint32(here.Fbits)
  13117. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave == uint32(0) {
  13118. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  13119. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13120. break
  13121. }
  13122. len1 = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
  13123. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2)-libc.Uint32FromInt32(1))
  13124. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  13125. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  13126. } else {
  13127. if libc.Int32FromUint16(here.Fval) == int32(17) {
  13128. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(3)) {
  13129. if have == uint32(0) {
  13130. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13131. if have == uint32(0) {
  13132. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13133. ret = -int32(5)
  13134. goto inf_leave
  13135. }
  13136. }
  13137. have--
  13138. v27 = *(*uintptr)(unsafe.Pointer(bp))
  13139. *(*uintptr)(unsafe.Pointer(bp))++
  13140. hold += uint64(*(*uint8)(unsafe.Pointer(v27))) << bits
  13141. bits += uint32(8)
  13142. }
  13143. hold >>= uint64(here.Fbits)
  13144. bits -= uint32(here.Fbits)
  13145. len1 = uint32(0)
  13146. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3)-libc.Uint32FromInt32(1))
  13147. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  13148. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  13149. } else {
  13150. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(7)) {
  13151. if have == uint32(0) {
  13152. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13153. if have == uint32(0) {
  13154. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13155. ret = -int32(5)
  13156. goto inf_leave
  13157. }
  13158. }
  13159. have--
  13160. v28 = *(*uintptr)(unsafe.Pointer(bp))
  13161. *(*uintptr)(unsafe.Pointer(bp))++
  13162. hold += uint64(*(*uint8)(unsafe.Pointer(v28))) << bits
  13163. bits += uint32(8)
  13164. }
  13165. hold >>= uint64(here.Fbits)
  13166. bits -= uint32(here.Fbits)
  13167. len1 = uint32(0)
  13168. copy1 = uint32(11) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(7)-libc.Uint32FromInt32(1))
  13169. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(7))
  13170. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(7))
  13171. }
  13172. }
  13173. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave+copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  13174. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  13175. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13176. break
  13177. }
  13178. for {
  13179. v29 = copy1
  13180. copy1--
  13181. if !(v29 != 0) {
  13182. break
  13183. }
  13184. v31 = state + 140
  13185. v30 = *(*uint32)(unsafe.Pointer(v31))
  13186. *(*uint32)(unsafe.Pointer(v31))++
  13187. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v30)*2)) = uint16(len1)
  13188. }
  13189. }
  13190. }
  13191. /* handle error breaks in while */
  13192. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_BAD) {
  13193. goto _10
  13194. }
  13195. /* check for end-of-block code (better have one) */
  13196. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0 {
  13197. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 141
  13198. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13199. goto _10
  13200. }
  13201. /* build code tables -- note: do not change the lenbits or distbits
  13202. values here (9 and 6) without reading the comments in inftrees.h
  13203. concerning the ENOUGH constants, which depend on those values */
  13204. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  13205. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  13206. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  13207. ret = Xinflate_table(tls, int32(_LENS), state+152, (*Tinflate_state)(unsafe.Pointer(state)).Fnlen, state+144, state+120, state+792)
  13208. if ret != 0 {
  13209. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 178
  13210. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13211. goto _10
  13212. }
  13213. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  13214. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
  13215. ret = Xinflate_table(tls, int32(_DISTS), state+152+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fnlen)*2, (*Tinflate_state)(unsafe.Pointer(state)).Fndist, state+144, state+124, state+792)
  13216. if ret != 0 {
  13217. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 206
  13218. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13219. goto _10
  13220. }
  13221. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  13222. /* fallthrough */
  13223. _6:
  13224. ;
  13225. /* use inflate_fast() if we have enough input and output */
  13226. if have >= uint32(6) && left >= uint32(258) {
  13227. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  13228. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  13229. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp))
  13230. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  13231. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  13232. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  13233. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  13234. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - left
  13235. }
  13236. Xinflate_fast(tls, strm, (*Tinflate_state)(unsafe.Pointer(state)).Fwsize)
  13237. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  13238. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  13239. *(*uintptr)(unsafe.Pointer(bp)) = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  13240. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  13241. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  13242. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  13243. goto _10
  13244. }
  13245. /* get a literal, length, or end-of-block code */
  13246. for {
  13247. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  13248. if uint32(here.Fbits) <= bits {
  13249. break
  13250. }
  13251. if have == uint32(0) {
  13252. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13253. if have == uint32(0) {
  13254. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13255. ret = -int32(5)
  13256. goto inf_leave
  13257. }
  13258. }
  13259. have--
  13260. v33 = *(*uintptr)(unsafe.Pointer(bp))
  13261. *(*uintptr)(unsafe.Pointer(bp))++
  13262. hold += uint64(*(*uint8)(unsafe.Pointer(v33))) << bits
  13263. bits += uint32(8)
  13264. goto _32
  13265. _32:
  13266. }
  13267. if here.Fop != 0 && libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  13268. last = here
  13269. for {
  13270. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  13271. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  13272. break
  13273. }
  13274. if have == uint32(0) {
  13275. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13276. if have == uint32(0) {
  13277. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13278. ret = -int32(5)
  13279. goto inf_leave
  13280. }
  13281. }
  13282. have--
  13283. v35 = *(*uintptr)(unsafe.Pointer(bp))
  13284. *(*uintptr)(unsafe.Pointer(bp))++
  13285. hold += uint64(*(*uint8)(unsafe.Pointer(v35))) << bits
  13286. bits += uint32(8)
  13287. goto _34
  13288. _34:
  13289. }
  13290. hold >>= uint64(last.Fbits)
  13291. bits -= uint32(last.Fbits)
  13292. }
  13293. hold >>= uint64(here.Fbits)
  13294. bits -= uint32(here.Fbits)
  13295. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
  13296. /* process literal */
  13297. if libc.Int32FromUint8(here.Fop) == 0 {
  13298. if left == uint32(0) {
  13299. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  13300. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  13301. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  13302. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  13303. ret = -int32(5)
  13304. goto inf_leave
  13305. }
  13306. }
  13307. v36 = put
  13308. put++
  13309. *(*uint8)(unsafe.Pointer(v36)) = uint8((*Tinflate_state)(unsafe.Pointer(state)).Flength)
  13310. left--
  13311. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  13312. goto _10
  13313. }
  13314. /* process end of block */
  13315. if libc.Int32FromUint8(here.Fop)&int32(32) != 0 {
  13316. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  13317. goto _10
  13318. }
  13319. /* invalid code */
  13320. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  13321. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  13322. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13323. goto _10
  13324. }
  13325. /* length code -- get extra bits, if any */
  13326. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  13327. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != uint32(0) {
  13328. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  13329. if have == uint32(0) {
  13330. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13331. if have == uint32(0) {
  13332. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13333. ret = -int32(5)
  13334. goto inf_leave
  13335. }
  13336. }
  13337. have--
  13338. v37 = *(*uintptr)(unsafe.Pointer(bp))
  13339. *(*uintptr)(unsafe.Pointer(bp))++
  13340. hold += uint64(*(*uint8)(unsafe.Pointer(v37))) << bits
  13341. bits += uint32(8)
  13342. }
  13343. *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  13344. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  13345. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  13346. }
  13347. /* get distance code */
  13348. for {
  13349. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits-libc.Uint32FromInt32(1)))*4))
  13350. if uint32(here.Fbits) <= bits {
  13351. break
  13352. }
  13353. if have == uint32(0) {
  13354. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13355. if have == uint32(0) {
  13356. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13357. ret = -int32(5)
  13358. goto inf_leave
  13359. }
  13360. }
  13361. have--
  13362. v39 = *(*uintptr)(unsafe.Pointer(bp))
  13363. *(*uintptr)(unsafe.Pointer(bp))++
  13364. hold += uint64(*(*uint8)(unsafe.Pointer(v39))) << bits
  13365. bits += uint32(8)
  13366. goto _38
  13367. _38:
  13368. }
  13369. if libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  13370. last = here
  13371. for {
  13372. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  13373. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  13374. break
  13375. }
  13376. if have == uint32(0) {
  13377. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13378. if have == uint32(0) {
  13379. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13380. ret = -int32(5)
  13381. goto inf_leave
  13382. }
  13383. }
  13384. have--
  13385. v41 = *(*uintptr)(unsafe.Pointer(bp))
  13386. *(*uintptr)(unsafe.Pointer(bp))++
  13387. hold += uint64(*(*uint8)(unsafe.Pointer(v41))) << bits
  13388. bits += uint32(8)
  13389. goto _40
  13390. _40:
  13391. }
  13392. hold >>= uint64(last.Fbits)
  13393. bits -= uint32(last.Fbits)
  13394. }
  13395. hold >>= uint64(here.Fbits)
  13396. bits -= uint32(here.Fbits)
  13397. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  13398. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  13399. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13400. goto _10
  13401. }
  13402. (*Tinflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
  13403. /* get distance extra bits, if any */
  13404. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  13405. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != uint32(0) {
  13406. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  13407. if have == uint32(0) {
  13408. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13409. if have == uint32(0) {
  13410. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13411. ret = -int32(5)
  13412. goto inf_leave
  13413. }
  13414. }
  13415. have--
  13416. v42 = *(*uintptr)(unsafe.Pointer(bp))
  13417. *(*uintptr)(unsafe.Pointer(bp))++
  13418. hold += uint64(*(*uint8)(unsafe.Pointer(v42))) << bits
  13419. bits += uint32(8)
  13420. }
  13421. *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  13422. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  13423. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  13424. }
  13425. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  13426. v43 = left
  13427. } else {
  13428. v43 = uint32(0)
  13429. }
  13430. if (*Tinflate_state)(unsafe.Pointer(state)).Foffset > (*Tinflate_state)(unsafe.Pointer(state)).Fwsize-v43 {
  13431. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  13432. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13433. goto _10
  13434. }
  13435. /* copy match from window to output */
  13436. for cond := true; cond; cond = (*Tinflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
  13437. if left == uint32(0) {
  13438. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  13439. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  13440. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  13441. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  13442. ret = -int32(5)
  13443. goto inf_leave
  13444. }
  13445. }
  13446. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - (*Tinflate_state)(unsafe.Pointer(state)).Foffset
  13447. if copy1 < left {
  13448. from = put + uintptr(copy1)
  13449. copy1 = left - copy1
  13450. } else {
  13451. from = put - uintptr((*Tinflate_state)(unsafe.Pointer(state)).Foffset)
  13452. copy1 = left
  13453. }
  13454. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Flength {
  13455. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  13456. }
  13457. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  13458. left -= copy1
  13459. for {
  13460. v46 = put
  13461. put++
  13462. v47 = from
  13463. from++
  13464. *(*uint8)(unsafe.Pointer(v46)) = *(*uint8)(unsafe.Pointer(v47))
  13465. goto _45
  13466. _45:
  13467. ;
  13468. copy1--
  13469. v44 = copy1
  13470. if !(v44 != 0) {
  13471. break
  13472. }
  13473. }
  13474. }
  13475. goto _10
  13476. _7:
  13477. ;
  13478. /* inflate stream terminated properly */
  13479. ret = int32(m_Z_STREAM_END)
  13480. goto inf_leave
  13481. _8:
  13482. ;
  13483. ret = -int32(3)
  13484. goto inf_leave
  13485. _9:
  13486. ;
  13487. /* can't happen, but makes compilers happy */
  13488. ret = -int32(2)
  13489. goto inf_leave
  13490. _10:
  13491. ;
  13492. goto _2
  13493. _2:
  13494. }
  13495. /* Write leftover output and return unused input */
  13496. goto inf_leave
  13497. inf_leave:
  13498. ;
  13499. if left < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  13500. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, (*Tinflate_state)(unsafe.Pointer(state)).Fwsize-left) != 0 && ret == int32(m_Z_STREAM_END) {
  13501. ret = -int32(5)
  13502. }
  13503. }
  13504. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp))
  13505. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  13506. return ret
  13507. }
  13508. /* return code */
  13509. var _order = [19]uint16{
  13510. 0: uint16(16),
  13511. 1: uint16(17),
  13512. 2: uint16(18),
  13513. 4: uint16(8),
  13514. 5: uint16(7),
  13515. 6: uint16(9),
  13516. 7: uint16(6),
  13517. 8: uint16(10),
  13518. 9: uint16(5),
  13519. 10: uint16(11),
  13520. 11: uint16(4),
  13521. 12: uint16(12),
  13522. 13: uint16(3),
  13523. 14: uint16(13),
  13524. 15: uint16(2),
  13525. 16: uint16(14),
  13526. 17: uint16(1),
  13527. 18: uint16(15),
  13528. }
  13529. func XinflateBackEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  13530. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fstate == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  13531. return -int32(2)
  13532. }
  13533. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  13534. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  13535. return m_Z_OK
  13536. }
  13537. // C documentation
  13538. //
  13539. // /*
  13540. // Decode literal, length, and distance codes and write out the resulting
  13541. // literal and match bytes until either not enough input or output is
  13542. // available, an end-of-block is encountered, or a data error is encountered.
  13543. // When large enough input and output buffers are supplied to inflate(), for
  13544. // example, a 16K input buffer and a 64K output buffer, more than 95% of the
  13545. // inflate execution time is spent in this routine.
  13546. //
  13547. // Entry assumptions:
  13548. //
  13549. // state->mode == LEN
  13550. // strm->avail_in >= 6
  13551. // strm->avail_out >= 258
  13552. // start >= strm->avail_out
  13553. // state->bits < 8
  13554. //
  13555. // On return, state->mode is one of:
  13556. //
  13557. // LEN -- ran out of enough output space or enough available input
  13558. // TYPE -- reached end of block code, inflate() to interpret next block
  13559. // BAD -- error in block data
  13560. //
  13561. // Notes:
  13562. //
  13563. // - The maximum input bits used by a length/distance pair is 15 bits for the
  13564. // length code, 5 bits for the length extra, 15 bits for the distance code,
  13565. // and 13 bits for the distance extra. This totals 48 bits, or six bytes.
  13566. // Therefore if strm->avail_in >= 6, then there is enough input to avoid
  13567. // checking for available input while decoding.
  13568. //
  13569. // - The maximum bytes that a single length/distance pair can output is 258
  13570. // bytes, which is the maximum length that can be coded. inflate_fast()
  13571. // requires strm->avail_out >= 258 for each loop to avoid checking for
  13572. // output space.
  13573. // */
  13574. func Xinflate_fast(tls *libc.TLS, strm Tz_streamp, start uint32) {
  13575. var beg, dcode, end, from, here, in, last, lcode, out, state, window, v1, v11, v12, v15, v16, v19, v2, v20, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v4, v40, v41, v42, v43, v44, v5, v6, v7, v8 uintptr
  13576. var bits, dist, dmask, len1, lmask, op, whave, wnext, wsize, v13, v17, v21, v9 uint32
  13577. var hold uint64
  13578. var v45, v46 int64
  13579. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = beg, bits, dcode, dist, dmask, end, from, here, hold, in, last, lcode, len1, lmask, op, out, state, whave, window, wnext, wsize, v1, v11, v12, v13, v15, v16, v17, v19, v2, v20, v21, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v4, v40, v41, v42, v43, v44, v45, v46, v5, v6, v7, v8, v9 /* where to copy match from */
  13580. /* copy state to local variables */
  13581. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  13582. in = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  13583. last = in + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in-libc.Uint32FromInt32(5))
  13584. out = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  13585. beg = out - uintptr(start-(*Tz_stream)(unsafe.Pointer(strm)).Favail_out)
  13586. end = out + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_out-libc.Uint32FromInt32(257))
  13587. wsize = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  13588. whave = (*Tinflate_state)(unsafe.Pointer(state)).Fwhave
  13589. wnext = (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  13590. window = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  13591. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  13592. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  13593. lcode = (*Tinflate_state)(unsafe.Pointer(state)).Flencode
  13594. dcode = (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode
  13595. lmask = uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits - uint32(1)
  13596. dmask = uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits - uint32(1)
  13597. /* decode literals and length/distances until end-of-block or not enough
  13598. input data or output space */
  13599. for cond := true; cond; cond = in < last && out < end {
  13600. if bits < uint32(15) {
  13601. v1 = in
  13602. in++
  13603. hold += uint64(*(*uint8)(unsafe.Pointer(v1))) << bits
  13604. bits += uint32(8)
  13605. v2 = in
  13606. in++
  13607. hold += uint64(*(*uint8)(unsafe.Pointer(v2))) << bits
  13608. bits += uint32(8)
  13609. }
  13610. here = lcode + uintptr(hold&uint64(lmask))*4
  13611. goto dolen
  13612. dolen:
  13613. ;
  13614. op = uint32((*Tcode)(unsafe.Pointer(here)).Fbits)
  13615. hold >>= uint64(op)
  13616. bits -= op
  13617. op = uint32((*Tcode)(unsafe.Pointer(here)).Fop)
  13618. if op == uint32(0) { /* literal */
  13619. v3 = out
  13620. out++
  13621. *(*uint8)(unsafe.Pointer(v3)) = uint8((*Tcode)(unsafe.Pointer(here)).Fval)
  13622. } else {
  13623. if op&uint32(16) != 0 { /* length base */
  13624. len1 = uint32((*Tcode)(unsafe.Pointer(here)).Fval)
  13625. op &= uint32(15) /* number of extra bits */
  13626. if op != 0 {
  13627. if bits < op {
  13628. v4 = in
  13629. in++
  13630. hold += uint64(*(*uint8)(unsafe.Pointer(v4))) << bits
  13631. bits += uint32(8)
  13632. }
  13633. len1 += uint32(hold) & (uint32(1)<<op - uint32(1))
  13634. hold >>= uint64(op)
  13635. bits -= op
  13636. }
  13637. if bits < uint32(15) {
  13638. v5 = in
  13639. in++
  13640. hold += uint64(*(*uint8)(unsafe.Pointer(v5))) << bits
  13641. bits += uint32(8)
  13642. v6 = in
  13643. in++
  13644. hold += uint64(*(*uint8)(unsafe.Pointer(v6))) << bits
  13645. bits += uint32(8)
  13646. }
  13647. here = dcode + uintptr(hold&uint64(dmask))*4
  13648. goto dodist
  13649. dodist:
  13650. ;
  13651. op = uint32((*Tcode)(unsafe.Pointer(here)).Fbits)
  13652. hold >>= uint64(op)
  13653. bits -= op
  13654. op = uint32((*Tcode)(unsafe.Pointer(here)).Fop)
  13655. if op&uint32(16) != 0 { /* distance base */
  13656. dist = uint32((*Tcode)(unsafe.Pointer(here)).Fval)
  13657. op &= uint32(15) /* number of extra bits */
  13658. if bits < op {
  13659. v7 = in
  13660. in++
  13661. hold += uint64(*(*uint8)(unsafe.Pointer(v7))) << bits
  13662. bits += uint32(8)
  13663. if bits < op {
  13664. v8 = in
  13665. in++
  13666. hold += uint64(*(*uint8)(unsafe.Pointer(v8))) << bits
  13667. bits += uint32(8)
  13668. }
  13669. }
  13670. dist += uint32(hold) & (uint32(1)<<op - uint32(1))
  13671. hold >>= uint64(op)
  13672. bits -= op
  13673. op = libc.Uint32FromInt64(int64(out) - int64(beg)) /* max distance in output */
  13674. if dist > op { /* see if copy from window */
  13675. op = dist - op /* distance back in window */
  13676. if op > whave {
  13677. if (*Tinflate_state)(unsafe.Pointer(state)).Fsane != 0 {
  13678. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  13679. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13680. break
  13681. }
  13682. }
  13683. from = window
  13684. if wnext == uint32(0) { /* very common case */
  13685. from += uintptr(wsize - op)
  13686. if op < len1 { /* some from window */
  13687. len1 -= op
  13688. for {
  13689. v11 = out
  13690. out++
  13691. v12 = from
  13692. from++
  13693. *(*uint8)(unsafe.Pointer(v11)) = *(*uint8)(unsafe.Pointer(v12))
  13694. goto _10
  13695. _10:
  13696. ;
  13697. op--
  13698. v9 = op
  13699. if !(v9 != 0) {
  13700. break
  13701. }
  13702. }
  13703. from = out - uintptr(dist) /* rest from output */
  13704. }
  13705. } else {
  13706. if wnext < op { /* wrap around window */
  13707. from += uintptr(wsize + wnext - op)
  13708. op -= wnext
  13709. if op < len1 { /* some from end of window */
  13710. len1 -= op
  13711. for {
  13712. v15 = out
  13713. out++
  13714. v16 = from
  13715. from++
  13716. *(*uint8)(unsafe.Pointer(v15)) = *(*uint8)(unsafe.Pointer(v16))
  13717. goto _14
  13718. _14:
  13719. ;
  13720. op--
  13721. v13 = op
  13722. if !(v13 != 0) {
  13723. break
  13724. }
  13725. }
  13726. from = window
  13727. if wnext < len1 { /* some from start of window */
  13728. op = wnext
  13729. len1 -= op
  13730. for {
  13731. v19 = out
  13732. out++
  13733. v20 = from
  13734. from++
  13735. *(*uint8)(unsafe.Pointer(v19)) = *(*uint8)(unsafe.Pointer(v20))
  13736. goto _18
  13737. _18:
  13738. ;
  13739. op--
  13740. v17 = op
  13741. if !(v17 != 0) {
  13742. break
  13743. }
  13744. }
  13745. from = out - uintptr(dist) /* rest from output */
  13746. }
  13747. }
  13748. } else { /* contiguous in window */
  13749. from += uintptr(wnext - op)
  13750. if op < len1 { /* some from window */
  13751. len1 -= op
  13752. for {
  13753. v23 = out
  13754. out++
  13755. v24 = from
  13756. from++
  13757. *(*uint8)(unsafe.Pointer(v23)) = *(*uint8)(unsafe.Pointer(v24))
  13758. goto _22
  13759. _22:
  13760. ;
  13761. op--
  13762. v21 = op
  13763. if !(v21 != 0) {
  13764. break
  13765. }
  13766. }
  13767. from = out - uintptr(dist) /* rest from output */
  13768. }
  13769. }
  13770. }
  13771. for len1 > uint32(2) {
  13772. v25 = out
  13773. out++
  13774. v26 = from
  13775. from++
  13776. *(*uint8)(unsafe.Pointer(v25)) = *(*uint8)(unsafe.Pointer(v26))
  13777. v27 = out
  13778. out++
  13779. v28 = from
  13780. from++
  13781. *(*uint8)(unsafe.Pointer(v27)) = *(*uint8)(unsafe.Pointer(v28))
  13782. v29 = out
  13783. out++
  13784. v30 = from
  13785. from++
  13786. *(*uint8)(unsafe.Pointer(v29)) = *(*uint8)(unsafe.Pointer(v30))
  13787. len1 -= uint32(3)
  13788. }
  13789. if len1 != 0 {
  13790. v31 = out
  13791. out++
  13792. v32 = from
  13793. from++
  13794. *(*uint8)(unsafe.Pointer(v31)) = *(*uint8)(unsafe.Pointer(v32))
  13795. if len1 > uint32(1) {
  13796. v33 = out
  13797. out++
  13798. v34 = from
  13799. from++
  13800. *(*uint8)(unsafe.Pointer(v33)) = *(*uint8)(unsafe.Pointer(v34))
  13801. }
  13802. }
  13803. } else {
  13804. from = out - uintptr(dist) /* copy direct from output */
  13805. for cond := true; cond; cond = len1 > uint32(2) { /* minimum length is three */
  13806. v35 = out
  13807. out++
  13808. v36 = from
  13809. from++
  13810. *(*uint8)(unsafe.Pointer(v35)) = *(*uint8)(unsafe.Pointer(v36))
  13811. v37 = out
  13812. out++
  13813. v38 = from
  13814. from++
  13815. *(*uint8)(unsafe.Pointer(v37)) = *(*uint8)(unsafe.Pointer(v38))
  13816. v39 = out
  13817. out++
  13818. v40 = from
  13819. from++
  13820. *(*uint8)(unsafe.Pointer(v39)) = *(*uint8)(unsafe.Pointer(v40))
  13821. len1 -= uint32(3)
  13822. }
  13823. if len1 != 0 {
  13824. v41 = out
  13825. out++
  13826. v42 = from
  13827. from++
  13828. *(*uint8)(unsafe.Pointer(v41)) = *(*uint8)(unsafe.Pointer(v42))
  13829. if len1 > uint32(1) {
  13830. v43 = out
  13831. out++
  13832. v44 = from
  13833. from++
  13834. *(*uint8)(unsafe.Pointer(v43)) = *(*uint8)(unsafe.Pointer(v44))
  13835. }
  13836. }
  13837. }
  13838. } else {
  13839. if op&uint32(64) == uint32(0) { /* 2nd level distance code */
  13840. here = dcode + uintptr((*Tcode)(unsafe.Pointer(here)).Fval)*4 + uintptr(hold&uint64(libc.Uint32FromUint32(1)<<op-libc.Uint32FromInt32(1)))*4
  13841. goto dodist
  13842. } else {
  13843. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  13844. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13845. break
  13846. }
  13847. }
  13848. } else {
  13849. if op&uint32(64) == uint32(0) { /* 2nd level length code */
  13850. here = lcode + uintptr((*Tcode)(unsafe.Pointer(here)).Fval)*4 + uintptr(hold&uint64(libc.Uint32FromUint32(1)<<op-libc.Uint32FromInt32(1)))*4
  13851. goto dolen
  13852. } else {
  13853. if op&uint32(32) != 0 { /* end-of-block */
  13854. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  13855. break
  13856. } else {
  13857. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  13858. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13859. break
  13860. }
  13861. }
  13862. }
  13863. }
  13864. }
  13865. /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
  13866. len1 = bits >> int32(3)
  13867. in -= uintptr(len1)
  13868. bits -= len1 << int32(3)
  13869. hold &= uint64(uint32(1)<<bits - uint32(1))
  13870. /* update state and return */
  13871. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = in
  13872. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = out
  13873. if in < last {
  13874. v45 = int64(5) + (int64(last) - int64(in))
  13875. } else {
  13876. v45 = int64(5) - (int64(in) - int64(last))
  13877. }
  13878. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = libc.Uint32FromInt64(v45)
  13879. if out < end {
  13880. v46 = int64(257) + (int64(end) - int64(out))
  13881. } else {
  13882. v46 = int64(257) - (int64(out) - int64(end))
  13883. }
  13884. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = libc.Uint32FromInt64(v46)
  13885. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  13886. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  13887. return
  13888. }
  13889. func _inflateStateCheck(tls *libc.TLS, strm Tz_streamp) (r int32) {
  13890. var state uintptr
  13891. _ = state
  13892. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  13893. return int32(1)
  13894. }
  13895. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  13896. if state == uintptr(m_Z_NULL) || (*Tinflate_state)(unsafe.Pointer(state)).Fstrm != strm || (*Tinflate_state)(unsafe.Pointer(state)).Fmode < int32(_HEAD) || (*Tinflate_state)(unsafe.Pointer(state)).Fmode > int32(_SYNC) {
  13897. return int32(1)
  13898. }
  13899. return 0
  13900. }
  13901. func XinflateResetKeep(tls *libc.TLS, strm Tz_streamp) (r int32) {
  13902. var state, v3, v4 uintptr
  13903. var v1 TuLong
  13904. var v2 uint64
  13905. _, _, _, _, _ = state, v1, v2, v3, v4
  13906. if _inflateStateCheck(tls, strm) != 0 {
  13907. return -int32(2)
  13908. }
  13909. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  13910. v2 = libc.Uint64FromInt32(0)
  13911. (*Tinflate_state)(unsafe.Pointer(state)).Ftotal = v2
  13912. v1 = v2
  13913. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = v1
  13914. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = v1
  13915. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  13916. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 { /* to support ill-conceived Java test suite */
  13917. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = libc.Uint64FromInt32((*Tinflate_state)(unsafe.Pointer(state)).Fwrap & int32(1))
  13918. }
  13919. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HEAD)
  13920. (*Tinflate_state)(unsafe.Pointer(state)).Flast = 0
  13921. (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict = 0
  13922. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = -int32(1)
  13923. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(32768)
  13924. (*Tinflate_state)(unsafe.Pointer(state)).Fhead = uintptr(m_Z_NULL)
  13925. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
  13926. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
  13927. v4 = state + 1368
  13928. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = v4
  13929. v3 = v4
  13930. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = v3
  13931. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = v3
  13932. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  13933. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  13934. return m_Z_OK
  13935. }
  13936. func XinflateReset(tls *libc.TLS, strm Tz_streamp) (r int32) {
  13937. var state uintptr
  13938. _ = state
  13939. if _inflateStateCheck(tls, strm) != 0 {
  13940. return -int32(2)
  13941. }
  13942. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  13943. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(0)
  13944. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  13945. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  13946. return XinflateResetKeep(tls, strm)
  13947. }
  13948. func XinflateReset2(tls *libc.TLS, strm Tz_streamp, windowBits int32) (r int32) {
  13949. var state uintptr
  13950. var wrap int32
  13951. _, _ = state, wrap
  13952. /* get the state */
  13953. if _inflateStateCheck(tls, strm) != 0 {
  13954. return -int32(2)
  13955. }
  13956. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  13957. /* extract wrap request from windowBits parameter */
  13958. if windowBits < 0 {
  13959. if windowBits < -int32(15) {
  13960. return -int32(2)
  13961. }
  13962. wrap = 0
  13963. windowBits = -windowBits
  13964. } else {
  13965. wrap = windowBits>>int32(4) + int32(5)
  13966. if windowBits < int32(48) {
  13967. windowBits &= int32(15)
  13968. }
  13969. }
  13970. /* set number of window bits, free window if different */
  13971. if windowBits != 0 && (windowBits < int32(8) || windowBits > int32(15)) {
  13972. return -int32(2)
  13973. }
  13974. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Fwbits != libc.Uint32FromInt32(windowBits) {
  13975. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow)
  13976. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(m_Z_NULL)
  13977. }
  13978. /* update state and reset the rest of it */
  13979. (*Tinflate_state)(unsafe.Pointer(state)).Fwrap = wrap
  13980. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = libc.Uint32FromInt32(windowBits)
  13981. return XinflateReset(tls, strm)
  13982. }
  13983. func XinflateInit2_(tls *libc.TLS, strm Tz_streamp, windowBits int32, version uintptr, stream_size int32) (r int32) {
  13984. var ret int32
  13985. var state uintptr
  13986. _, _ = ret, state
  13987. if version == uintptr(m_Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(*(*int8)(unsafe.Pointer(__ccgo_ts))) || stream_size != libc.Int32FromUint64(libc.Uint64FromInt64(112)) {
  13988. return -int32(6)
  13989. }
  13990. if strm == uintptr(m_Z_NULL) {
  13991. return -int32(2)
  13992. }
  13993. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* in case we return an error */
  13994. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  13995. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  13996. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  13997. }
  13998. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  13999. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  14000. }
  14001. state = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(7160)))
  14002. if state == uintptr(m_Z_NULL) {
  14003. return -int32(4)
  14004. }
  14005. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = state
  14006. (*Tinflate_state)(unsafe.Pointer(state)).Fstrm = strm
  14007. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(m_Z_NULL)
  14008. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HEAD) /* to pass state test in inflateReset2() */
  14009. ret = XinflateReset2(tls, strm, windowBits)
  14010. if ret != m_Z_OK {
  14011. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, state)
  14012. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  14013. }
  14014. return ret
  14015. }
  14016. func XinflateInit_(tls *libc.TLS, strm Tz_streamp, version uintptr, stream_size int32) (r int32) {
  14017. return XinflateInit2_(tls, strm, int32(m_MAX_WBITS), version, stream_size)
  14018. }
  14019. func XinflatePrime(tls *libc.TLS, strm Tz_streamp, bits int32, value int32) (r int32) {
  14020. var state uintptr
  14021. _ = state
  14022. if _inflateStateCheck(tls, strm) != 0 {
  14023. return -int32(2)
  14024. }
  14025. if bits == 0 {
  14026. return m_Z_OK
  14027. }
  14028. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  14029. if bits < 0 {
  14030. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
  14031. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
  14032. return m_Z_OK
  14033. }
  14034. if bits > int32(16) || (*Tinflate_state)(unsafe.Pointer(state)).Fbits+libc.Uint32FromInt32(bits) > uint32(32) {
  14035. return -int32(2)
  14036. }
  14037. value = int32(int64(value) & (libc.Int64FromInt64(1)<<bits - libc.Int64FromInt32(1)))
  14038. *(*uint64)(unsafe.Pointer(state + 80)) += uint64(libc.Uint32FromInt32(value) << (*Tinflate_state)(unsafe.Pointer(state)).Fbits)
  14039. *(*uint32)(unsafe.Pointer(state + 88)) += libc.Uint32FromInt32(bits)
  14040. return m_Z_OK
  14041. }
  14042. // C documentation
  14043. //
  14044. // /*
  14045. // Return state with length and distance decoding tables and index sizes set to
  14046. // fixed code decoding. Normally this returns fixed tables from inffixed.h.
  14047. // If BUILDFIXED is defined, then instead this routine builds the tables the
  14048. // first time it's called, and returns those tables the first time and
  14049. // thereafter. This reduces the size of the code by about 2K bytes, in
  14050. // exchange for a little execution time. However, BUILDFIXED should not be
  14051. // used for threaded applications, since the rewriting of the tables and virgin
  14052. // may not be thread-safe.
  14053. // */
  14054. func _fixedtables1(tls *libc.TLS, state uintptr) {
  14055. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&_lenfix1))
  14056. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  14057. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&_distfix1))
  14058. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
  14059. }
  14060. var _lenfix1 = [512]Tcode{
  14061. 0: {
  14062. Fop: uint8(96),
  14063. Fbits: uint8(7),
  14064. },
  14065. 1: {
  14066. Fbits: uint8(8),
  14067. Fval: uint16(80),
  14068. },
  14069. 2: {
  14070. Fbits: uint8(8),
  14071. Fval: uint16(16),
  14072. },
  14073. 3: {
  14074. Fop: uint8(20),
  14075. Fbits: uint8(8),
  14076. Fval: uint16(115),
  14077. },
  14078. 4: {
  14079. Fop: uint8(18),
  14080. Fbits: uint8(7),
  14081. Fval: uint16(31),
  14082. },
  14083. 5: {
  14084. Fbits: uint8(8),
  14085. Fval: uint16(112),
  14086. },
  14087. 6: {
  14088. Fbits: uint8(8),
  14089. Fval: uint16(48),
  14090. },
  14091. 7: {
  14092. Fbits: uint8(9),
  14093. Fval: uint16(192),
  14094. },
  14095. 8: {
  14096. Fop: uint8(16),
  14097. Fbits: uint8(7),
  14098. Fval: uint16(10),
  14099. },
  14100. 9: {
  14101. Fbits: uint8(8),
  14102. Fval: uint16(96),
  14103. },
  14104. 10: {
  14105. Fbits: uint8(8),
  14106. Fval: uint16(32),
  14107. },
  14108. 11: {
  14109. Fbits: uint8(9),
  14110. Fval: uint16(160),
  14111. },
  14112. 12: {
  14113. Fbits: uint8(8),
  14114. },
  14115. 13: {
  14116. Fbits: uint8(8),
  14117. Fval: uint16(128),
  14118. },
  14119. 14: {
  14120. Fbits: uint8(8),
  14121. Fval: uint16(64),
  14122. },
  14123. 15: {
  14124. Fbits: uint8(9),
  14125. Fval: uint16(224),
  14126. },
  14127. 16: {
  14128. Fop: uint8(16),
  14129. Fbits: uint8(7),
  14130. Fval: uint16(6),
  14131. },
  14132. 17: {
  14133. Fbits: uint8(8),
  14134. Fval: uint16(88),
  14135. },
  14136. 18: {
  14137. Fbits: uint8(8),
  14138. Fval: uint16(24),
  14139. },
  14140. 19: {
  14141. Fbits: uint8(9),
  14142. Fval: uint16(144),
  14143. },
  14144. 20: {
  14145. Fop: uint8(19),
  14146. Fbits: uint8(7),
  14147. Fval: uint16(59),
  14148. },
  14149. 21: {
  14150. Fbits: uint8(8),
  14151. Fval: uint16(120),
  14152. },
  14153. 22: {
  14154. Fbits: uint8(8),
  14155. Fval: uint16(56),
  14156. },
  14157. 23: {
  14158. Fbits: uint8(9),
  14159. Fval: uint16(208),
  14160. },
  14161. 24: {
  14162. Fop: uint8(17),
  14163. Fbits: uint8(7),
  14164. Fval: uint16(17),
  14165. },
  14166. 25: {
  14167. Fbits: uint8(8),
  14168. Fval: uint16(104),
  14169. },
  14170. 26: {
  14171. Fbits: uint8(8),
  14172. Fval: uint16(40),
  14173. },
  14174. 27: {
  14175. Fbits: uint8(9),
  14176. Fval: uint16(176),
  14177. },
  14178. 28: {
  14179. Fbits: uint8(8),
  14180. Fval: uint16(8),
  14181. },
  14182. 29: {
  14183. Fbits: uint8(8),
  14184. Fval: uint16(136),
  14185. },
  14186. 30: {
  14187. Fbits: uint8(8),
  14188. Fval: uint16(72),
  14189. },
  14190. 31: {
  14191. Fbits: uint8(9),
  14192. Fval: uint16(240),
  14193. },
  14194. 32: {
  14195. Fop: uint8(16),
  14196. Fbits: uint8(7),
  14197. Fval: uint16(4),
  14198. },
  14199. 33: {
  14200. Fbits: uint8(8),
  14201. Fval: uint16(84),
  14202. },
  14203. 34: {
  14204. Fbits: uint8(8),
  14205. Fval: uint16(20),
  14206. },
  14207. 35: {
  14208. Fop: uint8(21),
  14209. Fbits: uint8(8),
  14210. Fval: uint16(227),
  14211. },
  14212. 36: {
  14213. Fop: uint8(19),
  14214. Fbits: uint8(7),
  14215. Fval: uint16(43),
  14216. },
  14217. 37: {
  14218. Fbits: uint8(8),
  14219. Fval: uint16(116),
  14220. },
  14221. 38: {
  14222. Fbits: uint8(8),
  14223. Fval: uint16(52),
  14224. },
  14225. 39: {
  14226. Fbits: uint8(9),
  14227. Fval: uint16(200),
  14228. },
  14229. 40: {
  14230. Fop: uint8(17),
  14231. Fbits: uint8(7),
  14232. Fval: uint16(13),
  14233. },
  14234. 41: {
  14235. Fbits: uint8(8),
  14236. Fval: uint16(100),
  14237. },
  14238. 42: {
  14239. Fbits: uint8(8),
  14240. Fval: uint16(36),
  14241. },
  14242. 43: {
  14243. Fbits: uint8(9),
  14244. Fval: uint16(168),
  14245. },
  14246. 44: {
  14247. Fbits: uint8(8),
  14248. Fval: uint16(4),
  14249. },
  14250. 45: {
  14251. Fbits: uint8(8),
  14252. Fval: uint16(132),
  14253. },
  14254. 46: {
  14255. Fbits: uint8(8),
  14256. Fval: uint16(68),
  14257. },
  14258. 47: {
  14259. Fbits: uint8(9),
  14260. Fval: uint16(232),
  14261. },
  14262. 48: {
  14263. Fop: uint8(16),
  14264. Fbits: uint8(7),
  14265. Fval: uint16(8),
  14266. },
  14267. 49: {
  14268. Fbits: uint8(8),
  14269. Fval: uint16(92),
  14270. },
  14271. 50: {
  14272. Fbits: uint8(8),
  14273. Fval: uint16(28),
  14274. },
  14275. 51: {
  14276. Fbits: uint8(9),
  14277. Fval: uint16(152),
  14278. },
  14279. 52: {
  14280. Fop: uint8(20),
  14281. Fbits: uint8(7),
  14282. Fval: uint16(83),
  14283. },
  14284. 53: {
  14285. Fbits: uint8(8),
  14286. Fval: uint16(124),
  14287. },
  14288. 54: {
  14289. Fbits: uint8(8),
  14290. Fval: uint16(60),
  14291. },
  14292. 55: {
  14293. Fbits: uint8(9),
  14294. Fval: uint16(216),
  14295. },
  14296. 56: {
  14297. Fop: uint8(18),
  14298. Fbits: uint8(7),
  14299. Fval: uint16(23),
  14300. },
  14301. 57: {
  14302. Fbits: uint8(8),
  14303. Fval: uint16(108),
  14304. },
  14305. 58: {
  14306. Fbits: uint8(8),
  14307. Fval: uint16(44),
  14308. },
  14309. 59: {
  14310. Fbits: uint8(9),
  14311. Fval: uint16(184),
  14312. },
  14313. 60: {
  14314. Fbits: uint8(8),
  14315. Fval: uint16(12),
  14316. },
  14317. 61: {
  14318. Fbits: uint8(8),
  14319. Fval: uint16(140),
  14320. },
  14321. 62: {
  14322. Fbits: uint8(8),
  14323. Fval: uint16(76),
  14324. },
  14325. 63: {
  14326. Fbits: uint8(9),
  14327. Fval: uint16(248),
  14328. },
  14329. 64: {
  14330. Fop: uint8(16),
  14331. Fbits: uint8(7),
  14332. Fval: uint16(3),
  14333. },
  14334. 65: {
  14335. Fbits: uint8(8),
  14336. Fval: uint16(82),
  14337. },
  14338. 66: {
  14339. Fbits: uint8(8),
  14340. Fval: uint16(18),
  14341. },
  14342. 67: {
  14343. Fop: uint8(21),
  14344. Fbits: uint8(8),
  14345. Fval: uint16(163),
  14346. },
  14347. 68: {
  14348. Fop: uint8(19),
  14349. Fbits: uint8(7),
  14350. Fval: uint16(35),
  14351. },
  14352. 69: {
  14353. Fbits: uint8(8),
  14354. Fval: uint16(114),
  14355. },
  14356. 70: {
  14357. Fbits: uint8(8),
  14358. Fval: uint16(50),
  14359. },
  14360. 71: {
  14361. Fbits: uint8(9),
  14362. Fval: uint16(196),
  14363. },
  14364. 72: {
  14365. Fop: uint8(17),
  14366. Fbits: uint8(7),
  14367. Fval: uint16(11),
  14368. },
  14369. 73: {
  14370. Fbits: uint8(8),
  14371. Fval: uint16(98),
  14372. },
  14373. 74: {
  14374. Fbits: uint8(8),
  14375. Fval: uint16(34),
  14376. },
  14377. 75: {
  14378. Fbits: uint8(9),
  14379. Fval: uint16(164),
  14380. },
  14381. 76: {
  14382. Fbits: uint8(8),
  14383. Fval: uint16(2),
  14384. },
  14385. 77: {
  14386. Fbits: uint8(8),
  14387. Fval: uint16(130),
  14388. },
  14389. 78: {
  14390. Fbits: uint8(8),
  14391. Fval: uint16(66),
  14392. },
  14393. 79: {
  14394. Fbits: uint8(9),
  14395. Fval: uint16(228),
  14396. },
  14397. 80: {
  14398. Fop: uint8(16),
  14399. Fbits: uint8(7),
  14400. Fval: uint16(7),
  14401. },
  14402. 81: {
  14403. Fbits: uint8(8),
  14404. Fval: uint16(90),
  14405. },
  14406. 82: {
  14407. Fbits: uint8(8),
  14408. Fval: uint16(26),
  14409. },
  14410. 83: {
  14411. Fbits: uint8(9),
  14412. Fval: uint16(148),
  14413. },
  14414. 84: {
  14415. Fop: uint8(20),
  14416. Fbits: uint8(7),
  14417. Fval: uint16(67),
  14418. },
  14419. 85: {
  14420. Fbits: uint8(8),
  14421. Fval: uint16(122),
  14422. },
  14423. 86: {
  14424. Fbits: uint8(8),
  14425. Fval: uint16(58),
  14426. },
  14427. 87: {
  14428. Fbits: uint8(9),
  14429. Fval: uint16(212),
  14430. },
  14431. 88: {
  14432. Fop: uint8(18),
  14433. Fbits: uint8(7),
  14434. Fval: uint16(19),
  14435. },
  14436. 89: {
  14437. Fbits: uint8(8),
  14438. Fval: uint16(106),
  14439. },
  14440. 90: {
  14441. Fbits: uint8(8),
  14442. Fval: uint16(42),
  14443. },
  14444. 91: {
  14445. Fbits: uint8(9),
  14446. Fval: uint16(180),
  14447. },
  14448. 92: {
  14449. Fbits: uint8(8),
  14450. Fval: uint16(10),
  14451. },
  14452. 93: {
  14453. Fbits: uint8(8),
  14454. Fval: uint16(138),
  14455. },
  14456. 94: {
  14457. Fbits: uint8(8),
  14458. Fval: uint16(74),
  14459. },
  14460. 95: {
  14461. Fbits: uint8(9),
  14462. Fval: uint16(244),
  14463. },
  14464. 96: {
  14465. Fop: uint8(16),
  14466. Fbits: uint8(7),
  14467. Fval: uint16(5),
  14468. },
  14469. 97: {
  14470. Fbits: uint8(8),
  14471. Fval: uint16(86),
  14472. },
  14473. 98: {
  14474. Fbits: uint8(8),
  14475. Fval: uint16(22),
  14476. },
  14477. 99: {
  14478. Fop: uint8(64),
  14479. Fbits: uint8(8),
  14480. },
  14481. 100: {
  14482. Fop: uint8(19),
  14483. Fbits: uint8(7),
  14484. Fval: uint16(51),
  14485. },
  14486. 101: {
  14487. Fbits: uint8(8),
  14488. Fval: uint16(118),
  14489. },
  14490. 102: {
  14491. Fbits: uint8(8),
  14492. Fval: uint16(54),
  14493. },
  14494. 103: {
  14495. Fbits: uint8(9),
  14496. Fval: uint16(204),
  14497. },
  14498. 104: {
  14499. Fop: uint8(17),
  14500. Fbits: uint8(7),
  14501. Fval: uint16(15),
  14502. },
  14503. 105: {
  14504. Fbits: uint8(8),
  14505. Fval: uint16(102),
  14506. },
  14507. 106: {
  14508. Fbits: uint8(8),
  14509. Fval: uint16(38),
  14510. },
  14511. 107: {
  14512. Fbits: uint8(9),
  14513. Fval: uint16(172),
  14514. },
  14515. 108: {
  14516. Fbits: uint8(8),
  14517. Fval: uint16(6),
  14518. },
  14519. 109: {
  14520. Fbits: uint8(8),
  14521. Fval: uint16(134),
  14522. },
  14523. 110: {
  14524. Fbits: uint8(8),
  14525. Fval: uint16(70),
  14526. },
  14527. 111: {
  14528. Fbits: uint8(9),
  14529. Fval: uint16(236),
  14530. },
  14531. 112: {
  14532. Fop: uint8(16),
  14533. Fbits: uint8(7),
  14534. Fval: uint16(9),
  14535. },
  14536. 113: {
  14537. Fbits: uint8(8),
  14538. Fval: uint16(94),
  14539. },
  14540. 114: {
  14541. Fbits: uint8(8),
  14542. Fval: uint16(30),
  14543. },
  14544. 115: {
  14545. Fbits: uint8(9),
  14546. Fval: uint16(156),
  14547. },
  14548. 116: {
  14549. Fop: uint8(20),
  14550. Fbits: uint8(7),
  14551. Fval: uint16(99),
  14552. },
  14553. 117: {
  14554. Fbits: uint8(8),
  14555. Fval: uint16(126),
  14556. },
  14557. 118: {
  14558. Fbits: uint8(8),
  14559. Fval: uint16(62),
  14560. },
  14561. 119: {
  14562. Fbits: uint8(9),
  14563. Fval: uint16(220),
  14564. },
  14565. 120: {
  14566. Fop: uint8(18),
  14567. Fbits: uint8(7),
  14568. Fval: uint16(27),
  14569. },
  14570. 121: {
  14571. Fbits: uint8(8),
  14572. Fval: uint16(110),
  14573. },
  14574. 122: {
  14575. Fbits: uint8(8),
  14576. Fval: uint16(46),
  14577. },
  14578. 123: {
  14579. Fbits: uint8(9),
  14580. Fval: uint16(188),
  14581. },
  14582. 124: {
  14583. Fbits: uint8(8),
  14584. Fval: uint16(14),
  14585. },
  14586. 125: {
  14587. Fbits: uint8(8),
  14588. Fval: uint16(142),
  14589. },
  14590. 126: {
  14591. Fbits: uint8(8),
  14592. Fval: uint16(78),
  14593. },
  14594. 127: {
  14595. Fbits: uint8(9),
  14596. Fval: uint16(252),
  14597. },
  14598. 128: {
  14599. Fop: uint8(96),
  14600. Fbits: uint8(7),
  14601. },
  14602. 129: {
  14603. Fbits: uint8(8),
  14604. Fval: uint16(81),
  14605. },
  14606. 130: {
  14607. Fbits: uint8(8),
  14608. Fval: uint16(17),
  14609. },
  14610. 131: {
  14611. Fop: uint8(21),
  14612. Fbits: uint8(8),
  14613. Fval: uint16(131),
  14614. },
  14615. 132: {
  14616. Fop: uint8(18),
  14617. Fbits: uint8(7),
  14618. Fval: uint16(31),
  14619. },
  14620. 133: {
  14621. Fbits: uint8(8),
  14622. Fval: uint16(113),
  14623. },
  14624. 134: {
  14625. Fbits: uint8(8),
  14626. Fval: uint16(49),
  14627. },
  14628. 135: {
  14629. Fbits: uint8(9),
  14630. Fval: uint16(194),
  14631. },
  14632. 136: {
  14633. Fop: uint8(16),
  14634. Fbits: uint8(7),
  14635. Fval: uint16(10),
  14636. },
  14637. 137: {
  14638. Fbits: uint8(8),
  14639. Fval: uint16(97),
  14640. },
  14641. 138: {
  14642. Fbits: uint8(8),
  14643. Fval: uint16(33),
  14644. },
  14645. 139: {
  14646. Fbits: uint8(9),
  14647. Fval: uint16(162),
  14648. },
  14649. 140: {
  14650. Fbits: uint8(8),
  14651. Fval: uint16(1),
  14652. },
  14653. 141: {
  14654. Fbits: uint8(8),
  14655. Fval: uint16(129),
  14656. },
  14657. 142: {
  14658. Fbits: uint8(8),
  14659. Fval: uint16(65),
  14660. },
  14661. 143: {
  14662. Fbits: uint8(9),
  14663. Fval: uint16(226),
  14664. },
  14665. 144: {
  14666. Fop: uint8(16),
  14667. Fbits: uint8(7),
  14668. Fval: uint16(6),
  14669. },
  14670. 145: {
  14671. Fbits: uint8(8),
  14672. Fval: uint16(89),
  14673. },
  14674. 146: {
  14675. Fbits: uint8(8),
  14676. Fval: uint16(25),
  14677. },
  14678. 147: {
  14679. Fbits: uint8(9),
  14680. Fval: uint16(146),
  14681. },
  14682. 148: {
  14683. Fop: uint8(19),
  14684. Fbits: uint8(7),
  14685. Fval: uint16(59),
  14686. },
  14687. 149: {
  14688. Fbits: uint8(8),
  14689. Fval: uint16(121),
  14690. },
  14691. 150: {
  14692. Fbits: uint8(8),
  14693. Fval: uint16(57),
  14694. },
  14695. 151: {
  14696. Fbits: uint8(9),
  14697. Fval: uint16(210),
  14698. },
  14699. 152: {
  14700. Fop: uint8(17),
  14701. Fbits: uint8(7),
  14702. Fval: uint16(17),
  14703. },
  14704. 153: {
  14705. Fbits: uint8(8),
  14706. Fval: uint16(105),
  14707. },
  14708. 154: {
  14709. Fbits: uint8(8),
  14710. Fval: uint16(41),
  14711. },
  14712. 155: {
  14713. Fbits: uint8(9),
  14714. Fval: uint16(178),
  14715. },
  14716. 156: {
  14717. Fbits: uint8(8),
  14718. Fval: uint16(9),
  14719. },
  14720. 157: {
  14721. Fbits: uint8(8),
  14722. Fval: uint16(137),
  14723. },
  14724. 158: {
  14725. Fbits: uint8(8),
  14726. Fval: uint16(73),
  14727. },
  14728. 159: {
  14729. Fbits: uint8(9),
  14730. Fval: uint16(242),
  14731. },
  14732. 160: {
  14733. Fop: uint8(16),
  14734. Fbits: uint8(7),
  14735. Fval: uint16(4),
  14736. },
  14737. 161: {
  14738. Fbits: uint8(8),
  14739. Fval: uint16(85),
  14740. },
  14741. 162: {
  14742. Fbits: uint8(8),
  14743. Fval: uint16(21),
  14744. },
  14745. 163: {
  14746. Fop: uint8(16),
  14747. Fbits: uint8(8),
  14748. Fval: uint16(258),
  14749. },
  14750. 164: {
  14751. Fop: uint8(19),
  14752. Fbits: uint8(7),
  14753. Fval: uint16(43),
  14754. },
  14755. 165: {
  14756. Fbits: uint8(8),
  14757. Fval: uint16(117),
  14758. },
  14759. 166: {
  14760. Fbits: uint8(8),
  14761. Fval: uint16(53),
  14762. },
  14763. 167: {
  14764. Fbits: uint8(9),
  14765. Fval: uint16(202),
  14766. },
  14767. 168: {
  14768. Fop: uint8(17),
  14769. Fbits: uint8(7),
  14770. Fval: uint16(13),
  14771. },
  14772. 169: {
  14773. Fbits: uint8(8),
  14774. Fval: uint16(101),
  14775. },
  14776. 170: {
  14777. Fbits: uint8(8),
  14778. Fval: uint16(37),
  14779. },
  14780. 171: {
  14781. Fbits: uint8(9),
  14782. Fval: uint16(170),
  14783. },
  14784. 172: {
  14785. Fbits: uint8(8),
  14786. Fval: uint16(5),
  14787. },
  14788. 173: {
  14789. Fbits: uint8(8),
  14790. Fval: uint16(133),
  14791. },
  14792. 174: {
  14793. Fbits: uint8(8),
  14794. Fval: uint16(69),
  14795. },
  14796. 175: {
  14797. Fbits: uint8(9),
  14798. Fval: uint16(234),
  14799. },
  14800. 176: {
  14801. Fop: uint8(16),
  14802. Fbits: uint8(7),
  14803. Fval: uint16(8),
  14804. },
  14805. 177: {
  14806. Fbits: uint8(8),
  14807. Fval: uint16(93),
  14808. },
  14809. 178: {
  14810. Fbits: uint8(8),
  14811. Fval: uint16(29),
  14812. },
  14813. 179: {
  14814. Fbits: uint8(9),
  14815. Fval: uint16(154),
  14816. },
  14817. 180: {
  14818. Fop: uint8(20),
  14819. Fbits: uint8(7),
  14820. Fval: uint16(83),
  14821. },
  14822. 181: {
  14823. Fbits: uint8(8),
  14824. Fval: uint16(125),
  14825. },
  14826. 182: {
  14827. Fbits: uint8(8),
  14828. Fval: uint16(61),
  14829. },
  14830. 183: {
  14831. Fbits: uint8(9),
  14832. Fval: uint16(218),
  14833. },
  14834. 184: {
  14835. Fop: uint8(18),
  14836. Fbits: uint8(7),
  14837. Fval: uint16(23),
  14838. },
  14839. 185: {
  14840. Fbits: uint8(8),
  14841. Fval: uint16(109),
  14842. },
  14843. 186: {
  14844. Fbits: uint8(8),
  14845. Fval: uint16(45),
  14846. },
  14847. 187: {
  14848. Fbits: uint8(9),
  14849. Fval: uint16(186),
  14850. },
  14851. 188: {
  14852. Fbits: uint8(8),
  14853. Fval: uint16(13),
  14854. },
  14855. 189: {
  14856. Fbits: uint8(8),
  14857. Fval: uint16(141),
  14858. },
  14859. 190: {
  14860. Fbits: uint8(8),
  14861. Fval: uint16(77),
  14862. },
  14863. 191: {
  14864. Fbits: uint8(9),
  14865. Fval: uint16(250),
  14866. },
  14867. 192: {
  14868. Fop: uint8(16),
  14869. Fbits: uint8(7),
  14870. Fval: uint16(3),
  14871. },
  14872. 193: {
  14873. Fbits: uint8(8),
  14874. Fval: uint16(83),
  14875. },
  14876. 194: {
  14877. Fbits: uint8(8),
  14878. Fval: uint16(19),
  14879. },
  14880. 195: {
  14881. Fop: uint8(21),
  14882. Fbits: uint8(8),
  14883. Fval: uint16(195),
  14884. },
  14885. 196: {
  14886. Fop: uint8(19),
  14887. Fbits: uint8(7),
  14888. Fval: uint16(35),
  14889. },
  14890. 197: {
  14891. Fbits: uint8(8),
  14892. Fval: uint16(115),
  14893. },
  14894. 198: {
  14895. Fbits: uint8(8),
  14896. Fval: uint16(51),
  14897. },
  14898. 199: {
  14899. Fbits: uint8(9),
  14900. Fval: uint16(198),
  14901. },
  14902. 200: {
  14903. Fop: uint8(17),
  14904. Fbits: uint8(7),
  14905. Fval: uint16(11),
  14906. },
  14907. 201: {
  14908. Fbits: uint8(8),
  14909. Fval: uint16(99),
  14910. },
  14911. 202: {
  14912. Fbits: uint8(8),
  14913. Fval: uint16(35),
  14914. },
  14915. 203: {
  14916. Fbits: uint8(9),
  14917. Fval: uint16(166),
  14918. },
  14919. 204: {
  14920. Fbits: uint8(8),
  14921. Fval: uint16(3),
  14922. },
  14923. 205: {
  14924. Fbits: uint8(8),
  14925. Fval: uint16(131),
  14926. },
  14927. 206: {
  14928. Fbits: uint8(8),
  14929. Fval: uint16(67),
  14930. },
  14931. 207: {
  14932. Fbits: uint8(9),
  14933. Fval: uint16(230),
  14934. },
  14935. 208: {
  14936. Fop: uint8(16),
  14937. Fbits: uint8(7),
  14938. Fval: uint16(7),
  14939. },
  14940. 209: {
  14941. Fbits: uint8(8),
  14942. Fval: uint16(91),
  14943. },
  14944. 210: {
  14945. Fbits: uint8(8),
  14946. Fval: uint16(27),
  14947. },
  14948. 211: {
  14949. Fbits: uint8(9),
  14950. Fval: uint16(150),
  14951. },
  14952. 212: {
  14953. Fop: uint8(20),
  14954. Fbits: uint8(7),
  14955. Fval: uint16(67),
  14956. },
  14957. 213: {
  14958. Fbits: uint8(8),
  14959. Fval: uint16(123),
  14960. },
  14961. 214: {
  14962. Fbits: uint8(8),
  14963. Fval: uint16(59),
  14964. },
  14965. 215: {
  14966. Fbits: uint8(9),
  14967. Fval: uint16(214),
  14968. },
  14969. 216: {
  14970. Fop: uint8(18),
  14971. Fbits: uint8(7),
  14972. Fval: uint16(19),
  14973. },
  14974. 217: {
  14975. Fbits: uint8(8),
  14976. Fval: uint16(107),
  14977. },
  14978. 218: {
  14979. Fbits: uint8(8),
  14980. Fval: uint16(43),
  14981. },
  14982. 219: {
  14983. Fbits: uint8(9),
  14984. Fval: uint16(182),
  14985. },
  14986. 220: {
  14987. Fbits: uint8(8),
  14988. Fval: uint16(11),
  14989. },
  14990. 221: {
  14991. Fbits: uint8(8),
  14992. Fval: uint16(139),
  14993. },
  14994. 222: {
  14995. Fbits: uint8(8),
  14996. Fval: uint16(75),
  14997. },
  14998. 223: {
  14999. Fbits: uint8(9),
  15000. Fval: uint16(246),
  15001. },
  15002. 224: {
  15003. Fop: uint8(16),
  15004. Fbits: uint8(7),
  15005. Fval: uint16(5),
  15006. },
  15007. 225: {
  15008. Fbits: uint8(8),
  15009. Fval: uint16(87),
  15010. },
  15011. 226: {
  15012. Fbits: uint8(8),
  15013. Fval: uint16(23),
  15014. },
  15015. 227: {
  15016. Fop: uint8(64),
  15017. Fbits: uint8(8),
  15018. },
  15019. 228: {
  15020. Fop: uint8(19),
  15021. Fbits: uint8(7),
  15022. Fval: uint16(51),
  15023. },
  15024. 229: {
  15025. Fbits: uint8(8),
  15026. Fval: uint16(119),
  15027. },
  15028. 230: {
  15029. Fbits: uint8(8),
  15030. Fval: uint16(55),
  15031. },
  15032. 231: {
  15033. Fbits: uint8(9),
  15034. Fval: uint16(206),
  15035. },
  15036. 232: {
  15037. Fop: uint8(17),
  15038. Fbits: uint8(7),
  15039. Fval: uint16(15),
  15040. },
  15041. 233: {
  15042. Fbits: uint8(8),
  15043. Fval: uint16(103),
  15044. },
  15045. 234: {
  15046. Fbits: uint8(8),
  15047. Fval: uint16(39),
  15048. },
  15049. 235: {
  15050. Fbits: uint8(9),
  15051. Fval: uint16(174),
  15052. },
  15053. 236: {
  15054. Fbits: uint8(8),
  15055. Fval: uint16(7),
  15056. },
  15057. 237: {
  15058. Fbits: uint8(8),
  15059. Fval: uint16(135),
  15060. },
  15061. 238: {
  15062. Fbits: uint8(8),
  15063. Fval: uint16(71),
  15064. },
  15065. 239: {
  15066. Fbits: uint8(9),
  15067. Fval: uint16(238),
  15068. },
  15069. 240: {
  15070. Fop: uint8(16),
  15071. Fbits: uint8(7),
  15072. Fval: uint16(9),
  15073. },
  15074. 241: {
  15075. Fbits: uint8(8),
  15076. Fval: uint16(95),
  15077. },
  15078. 242: {
  15079. Fbits: uint8(8),
  15080. Fval: uint16(31),
  15081. },
  15082. 243: {
  15083. Fbits: uint8(9),
  15084. Fval: uint16(158),
  15085. },
  15086. 244: {
  15087. Fop: uint8(20),
  15088. Fbits: uint8(7),
  15089. Fval: uint16(99),
  15090. },
  15091. 245: {
  15092. Fbits: uint8(8),
  15093. Fval: uint16(127),
  15094. },
  15095. 246: {
  15096. Fbits: uint8(8),
  15097. Fval: uint16(63),
  15098. },
  15099. 247: {
  15100. Fbits: uint8(9),
  15101. Fval: uint16(222),
  15102. },
  15103. 248: {
  15104. Fop: uint8(18),
  15105. Fbits: uint8(7),
  15106. Fval: uint16(27),
  15107. },
  15108. 249: {
  15109. Fbits: uint8(8),
  15110. Fval: uint16(111),
  15111. },
  15112. 250: {
  15113. Fbits: uint8(8),
  15114. Fval: uint16(47),
  15115. },
  15116. 251: {
  15117. Fbits: uint8(9),
  15118. Fval: uint16(190),
  15119. },
  15120. 252: {
  15121. Fbits: uint8(8),
  15122. Fval: uint16(15),
  15123. },
  15124. 253: {
  15125. Fbits: uint8(8),
  15126. Fval: uint16(143),
  15127. },
  15128. 254: {
  15129. Fbits: uint8(8),
  15130. Fval: uint16(79),
  15131. },
  15132. 255: {
  15133. Fbits: uint8(9),
  15134. Fval: uint16(254),
  15135. },
  15136. 256: {
  15137. Fop: uint8(96),
  15138. Fbits: uint8(7),
  15139. },
  15140. 257: {
  15141. Fbits: uint8(8),
  15142. Fval: uint16(80),
  15143. },
  15144. 258: {
  15145. Fbits: uint8(8),
  15146. Fval: uint16(16),
  15147. },
  15148. 259: {
  15149. Fop: uint8(20),
  15150. Fbits: uint8(8),
  15151. Fval: uint16(115),
  15152. },
  15153. 260: {
  15154. Fop: uint8(18),
  15155. Fbits: uint8(7),
  15156. Fval: uint16(31),
  15157. },
  15158. 261: {
  15159. Fbits: uint8(8),
  15160. Fval: uint16(112),
  15161. },
  15162. 262: {
  15163. Fbits: uint8(8),
  15164. Fval: uint16(48),
  15165. },
  15166. 263: {
  15167. Fbits: uint8(9),
  15168. Fval: uint16(193),
  15169. },
  15170. 264: {
  15171. Fop: uint8(16),
  15172. Fbits: uint8(7),
  15173. Fval: uint16(10),
  15174. },
  15175. 265: {
  15176. Fbits: uint8(8),
  15177. Fval: uint16(96),
  15178. },
  15179. 266: {
  15180. Fbits: uint8(8),
  15181. Fval: uint16(32),
  15182. },
  15183. 267: {
  15184. Fbits: uint8(9),
  15185. Fval: uint16(161),
  15186. },
  15187. 268: {
  15188. Fbits: uint8(8),
  15189. },
  15190. 269: {
  15191. Fbits: uint8(8),
  15192. Fval: uint16(128),
  15193. },
  15194. 270: {
  15195. Fbits: uint8(8),
  15196. Fval: uint16(64),
  15197. },
  15198. 271: {
  15199. Fbits: uint8(9),
  15200. Fval: uint16(225),
  15201. },
  15202. 272: {
  15203. Fop: uint8(16),
  15204. Fbits: uint8(7),
  15205. Fval: uint16(6),
  15206. },
  15207. 273: {
  15208. Fbits: uint8(8),
  15209. Fval: uint16(88),
  15210. },
  15211. 274: {
  15212. Fbits: uint8(8),
  15213. Fval: uint16(24),
  15214. },
  15215. 275: {
  15216. Fbits: uint8(9),
  15217. Fval: uint16(145),
  15218. },
  15219. 276: {
  15220. Fop: uint8(19),
  15221. Fbits: uint8(7),
  15222. Fval: uint16(59),
  15223. },
  15224. 277: {
  15225. Fbits: uint8(8),
  15226. Fval: uint16(120),
  15227. },
  15228. 278: {
  15229. Fbits: uint8(8),
  15230. Fval: uint16(56),
  15231. },
  15232. 279: {
  15233. Fbits: uint8(9),
  15234. Fval: uint16(209),
  15235. },
  15236. 280: {
  15237. Fop: uint8(17),
  15238. Fbits: uint8(7),
  15239. Fval: uint16(17),
  15240. },
  15241. 281: {
  15242. Fbits: uint8(8),
  15243. Fval: uint16(104),
  15244. },
  15245. 282: {
  15246. Fbits: uint8(8),
  15247. Fval: uint16(40),
  15248. },
  15249. 283: {
  15250. Fbits: uint8(9),
  15251. Fval: uint16(177),
  15252. },
  15253. 284: {
  15254. Fbits: uint8(8),
  15255. Fval: uint16(8),
  15256. },
  15257. 285: {
  15258. Fbits: uint8(8),
  15259. Fval: uint16(136),
  15260. },
  15261. 286: {
  15262. Fbits: uint8(8),
  15263. Fval: uint16(72),
  15264. },
  15265. 287: {
  15266. Fbits: uint8(9),
  15267. Fval: uint16(241),
  15268. },
  15269. 288: {
  15270. Fop: uint8(16),
  15271. Fbits: uint8(7),
  15272. Fval: uint16(4),
  15273. },
  15274. 289: {
  15275. Fbits: uint8(8),
  15276. Fval: uint16(84),
  15277. },
  15278. 290: {
  15279. Fbits: uint8(8),
  15280. Fval: uint16(20),
  15281. },
  15282. 291: {
  15283. Fop: uint8(21),
  15284. Fbits: uint8(8),
  15285. Fval: uint16(227),
  15286. },
  15287. 292: {
  15288. Fop: uint8(19),
  15289. Fbits: uint8(7),
  15290. Fval: uint16(43),
  15291. },
  15292. 293: {
  15293. Fbits: uint8(8),
  15294. Fval: uint16(116),
  15295. },
  15296. 294: {
  15297. Fbits: uint8(8),
  15298. Fval: uint16(52),
  15299. },
  15300. 295: {
  15301. Fbits: uint8(9),
  15302. Fval: uint16(201),
  15303. },
  15304. 296: {
  15305. Fop: uint8(17),
  15306. Fbits: uint8(7),
  15307. Fval: uint16(13),
  15308. },
  15309. 297: {
  15310. Fbits: uint8(8),
  15311. Fval: uint16(100),
  15312. },
  15313. 298: {
  15314. Fbits: uint8(8),
  15315. Fval: uint16(36),
  15316. },
  15317. 299: {
  15318. Fbits: uint8(9),
  15319. Fval: uint16(169),
  15320. },
  15321. 300: {
  15322. Fbits: uint8(8),
  15323. Fval: uint16(4),
  15324. },
  15325. 301: {
  15326. Fbits: uint8(8),
  15327. Fval: uint16(132),
  15328. },
  15329. 302: {
  15330. Fbits: uint8(8),
  15331. Fval: uint16(68),
  15332. },
  15333. 303: {
  15334. Fbits: uint8(9),
  15335. Fval: uint16(233),
  15336. },
  15337. 304: {
  15338. Fop: uint8(16),
  15339. Fbits: uint8(7),
  15340. Fval: uint16(8),
  15341. },
  15342. 305: {
  15343. Fbits: uint8(8),
  15344. Fval: uint16(92),
  15345. },
  15346. 306: {
  15347. Fbits: uint8(8),
  15348. Fval: uint16(28),
  15349. },
  15350. 307: {
  15351. Fbits: uint8(9),
  15352. Fval: uint16(153),
  15353. },
  15354. 308: {
  15355. Fop: uint8(20),
  15356. Fbits: uint8(7),
  15357. Fval: uint16(83),
  15358. },
  15359. 309: {
  15360. Fbits: uint8(8),
  15361. Fval: uint16(124),
  15362. },
  15363. 310: {
  15364. Fbits: uint8(8),
  15365. Fval: uint16(60),
  15366. },
  15367. 311: {
  15368. Fbits: uint8(9),
  15369. Fval: uint16(217),
  15370. },
  15371. 312: {
  15372. Fop: uint8(18),
  15373. Fbits: uint8(7),
  15374. Fval: uint16(23),
  15375. },
  15376. 313: {
  15377. Fbits: uint8(8),
  15378. Fval: uint16(108),
  15379. },
  15380. 314: {
  15381. Fbits: uint8(8),
  15382. Fval: uint16(44),
  15383. },
  15384. 315: {
  15385. Fbits: uint8(9),
  15386. Fval: uint16(185),
  15387. },
  15388. 316: {
  15389. Fbits: uint8(8),
  15390. Fval: uint16(12),
  15391. },
  15392. 317: {
  15393. Fbits: uint8(8),
  15394. Fval: uint16(140),
  15395. },
  15396. 318: {
  15397. Fbits: uint8(8),
  15398. Fval: uint16(76),
  15399. },
  15400. 319: {
  15401. Fbits: uint8(9),
  15402. Fval: uint16(249),
  15403. },
  15404. 320: {
  15405. Fop: uint8(16),
  15406. Fbits: uint8(7),
  15407. Fval: uint16(3),
  15408. },
  15409. 321: {
  15410. Fbits: uint8(8),
  15411. Fval: uint16(82),
  15412. },
  15413. 322: {
  15414. Fbits: uint8(8),
  15415. Fval: uint16(18),
  15416. },
  15417. 323: {
  15418. Fop: uint8(21),
  15419. Fbits: uint8(8),
  15420. Fval: uint16(163),
  15421. },
  15422. 324: {
  15423. Fop: uint8(19),
  15424. Fbits: uint8(7),
  15425. Fval: uint16(35),
  15426. },
  15427. 325: {
  15428. Fbits: uint8(8),
  15429. Fval: uint16(114),
  15430. },
  15431. 326: {
  15432. Fbits: uint8(8),
  15433. Fval: uint16(50),
  15434. },
  15435. 327: {
  15436. Fbits: uint8(9),
  15437. Fval: uint16(197),
  15438. },
  15439. 328: {
  15440. Fop: uint8(17),
  15441. Fbits: uint8(7),
  15442. Fval: uint16(11),
  15443. },
  15444. 329: {
  15445. Fbits: uint8(8),
  15446. Fval: uint16(98),
  15447. },
  15448. 330: {
  15449. Fbits: uint8(8),
  15450. Fval: uint16(34),
  15451. },
  15452. 331: {
  15453. Fbits: uint8(9),
  15454. Fval: uint16(165),
  15455. },
  15456. 332: {
  15457. Fbits: uint8(8),
  15458. Fval: uint16(2),
  15459. },
  15460. 333: {
  15461. Fbits: uint8(8),
  15462. Fval: uint16(130),
  15463. },
  15464. 334: {
  15465. Fbits: uint8(8),
  15466. Fval: uint16(66),
  15467. },
  15468. 335: {
  15469. Fbits: uint8(9),
  15470. Fval: uint16(229),
  15471. },
  15472. 336: {
  15473. Fop: uint8(16),
  15474. Fbits: uint8(7),
  15475. Fval: uint16(7),
  15476. },
  15477. 337: {
  15478. Fbits: uint8(8),
  15479. Fval: uint16(90),
  15480. },
  15481. 338: {
  15482. Fbits: uint8(8),
  15483. Fval: uint16(26),
  15484. },
  15485. 339: {
  15486. Fbits: uint8(9),
  15487. Fval: uint16(149),
  15488. },
  15489. 340: {
  15490. Fop: uint8(20),
  15491. Fbits: uint8(7),
  15492. Fval: uint16(67),
  15493. },
  15494. 341: {
  15495. Fbits: uint8(8),
  15496. Fval: uint16(122),
  15497. },
  15498. 342: {
  15499. Fbits: uint8(8),
  15500. Fval: uint16(58),
  15501. },
  15502. 343: {
  15503. Fbits: uint8(9),
  15504. Fval: uint16(213),
  15505. },
  15506. 344: {
  15507. Fop: uint8(18),
  15508. Fbits: uint8(7),
  15509. Fval: uint16(19),
  15510. },
  15511. 345: {
  15512. Fbits: uint8(8),
  15513. Fval: uint16(106),
  15514. },
  15515. 346: {
  15516. Fbits: uint8(8),
  15517. Fval: uint16(42),
  15518. },
  15519. 347: {
  15520. Fbits: uint8(9),
  15521. Fval: uint16(181),
  15522. },
  15523. 348: {
  15524. Fbits: uint8(8),
  15525. Fval: uint16(10),
  15526. },
  15527. 349: {
  15528. Fbits: uint8(8),
  15529. Fval: uint16(138),
  15530. },
  15531. 350: {
  15532. Fbits: uint8(8),
  15533. Fval: uint16(74),
  15534. },
  15535. 351: {
  15536. Fbits: uint8(9),
  15537. Fval: uint16(245),
  15538. },
  15539. 352: {
  15540. Fop: uint8(16),
  15541. Fbits: uint8(7),
  15542. Fval: uint16(5),
  15543. },
  15544. 353: {
  15545. Fbits: uint8(8),
  15546. Fval: uint16(86),
  15547. },
  15548. 354: {
  15549. Fbits: uint8(8),
  15550. Fval: uint16(22),
  15551. },
  15552. 355: {
  15553. Fop: uint8(64),
  15554. Fbits: uint8(8),
  15555. },
  15556. 356: {
  15557. Fop: uint8(19),
  15558. Fbits: uint8(7),
  15559. Fval: uint16(51),
  15560. },
  15561. 357: {
  15562. Fbits: uint8(8),
  15563. Fval: uint16(118),
  15564. },
  15565. 358: {
  15566. Fbits: uint8(8),
  15567. Fval: uint16(54),
  15568. },
  15569. 359: {
  15570. Fbits: uint8(9),
  15571. Fval: uint16(205),
  15572. },
  15573. 360: {
  15574. Fop: uint8(17),
  15575. Fbits: uint8(7),
  15576. Fval: uint16(15),
  15577. },
  15578. 361: {
  15579. Fbits: uint8(8),
  15580. Fval: uint16(102),
  15581. },
  15582. 362: {
  15583. Fbits: uint8(8),
  15584. Fval: uint16(38),
  15585. },
  15586. 363: {
  15587. Fbits: uint8(9),
  15588. Fval: uint16(173),
  15589. },
  15590. 364: {
  15591. Fbits: uint8(8),
  15592. Fval: uint16(6),
  15593. },
  15594. 365: {
  15595. Fbits: uint8(8),
  15596. Fval: uint16(134),
  15597. },
  15598. 366: {
  15599. Fbits: uint8(8),
  15600. Fval: uint16(70),
  15601. },
  15602. 367: {
  15603. Fbits: uint8(9),
  15604. Fval: uint16(237),
  15605. },
  15606. 368: {
  15607. Fop: uint8(16),
  15608. Fbits: uint8(7),
  15609. Fval: uint16(9),
  15610. },
  15611. 369: {
  15612. Fbits: uint8(8),
  15613. Fval: uint16(94),
  15614. },
  15615. 370: {
  15616. Fbits: uint8(8),
  15617. Fval: uint16(30),
  15618. },
  15619. 371: {
  15620. Fbits: uint8(9),
  15621. Fval: uint16(157),
  15622. },
  15623. 372: {
  15624. Fop: uint8(20),
  15625. Fbits: uint8(7),
  15626. Fval: uint16(99),
  15627. },
  15628. 373: {
  15629. Fbits: uint8(8),
  15630. Fval: uint16(126),
  15631. },
  15632. 374: {
  15633. Fbits: uint8(8),
  15634. Fval: uint16(62),
  15635. },
  15636. 375: {
  15637. Fbits: uint8(9),
  15638. Fval: uint16(221),
  15639. },
  15640. 376: {
  15641. Fop: uint8(18),
  15642. Fbits: uint8(7),
  15643. Fval: uint16(27),
  15644. },
  15645. 377: {
  15646. Fbits: uint8(8),
  15647. Fval: uint16(110),
  15648. },
  15649. 378: {
  15650. Fbits: uint8(8),
  15651. Fval: uint16(46),
  15652. },
  15653. 379: {
  15654. Fbits: uint8(9),
  15655. Fval: uint16(189),
  15656. },
  15657. 380: {
  15658. Fbits: uint8(8),
  15659. Fval: uint16(14),
  15660. },
  15661. 381: {
  15662. Fbits: uint8(8),
  15663. Fval: uint16(142),
  15664. },
  15665. 382: {
  15666. Fbits: uint8(8),
  15667. Fval: uint16(78),
  15668. },
  15669. 383: {
  15670. Fbits: uint8(9),
  15671. Fval: uint16(253),
  15672. },
  15673. 384: {
  15674. Fop: uint8(96),
  15675. Fbits: uint8(7),
  15676. },
  15677. 385: {
  15678. Fbits: uint8(8),
  15679. Fval: uint16(81),
  15680. },
  15681. 386: {
  15682. Fbits: uint8(8),
  15683. Fval: uint16(17),
  15684. },
  15685. 387: {
  15686. Fop: uint8(21),
  15687. Fbits: uint8(8),
  15688. Fval: uint16(131),
  15689. },
  15690. 388: {
  15691. Fop: uint8(18),
  15692. Fbits: uint8(7),
  15693. Fval: uint16(31),
  15694. },
  15695. 389: {
  15696. Fbits: uint8(8),
  15697. Fval: uint16(113),
  15698. },
  15699. 390: {
  15700. Fbits: uint8(8),
  15701. Fval: uint16(49),
  15702. },
  15703. 391: {
  15704. Fbits: uint8(9),
  15705. Fval: uint16(195),
  15706. },
  15707. 392: {
  15708. Fop: uint8(16),
  15709. Fbits: uint8(7),
  15710. Fval: uint16(10),
  15711. },
  15712. 393: {
  15713. Fbits: uint8(8),
  15714. Fval: uint16(97),
  15715. },
  15716. 394: {
  15717. Fbits: uint8(8),
  15718. Fval: uint16(33),
  15719. },
  15720. 395: {
  15721. Fbits: uint8(9),
  15722. Fval: uint16(163),
  15723. },
  15724. 396: {
  15725. Fbits: uint8(8),
  15726. Fval: uint16(1),
  15727. },
  15728. 397: {
  15729. Fbits: uint8(8),
  15730. Fval: uint16(129),
  15731. },
  15732. 398: {
  15733. Fbits: uint8(8),
  15734. Fval: uint16(65),
  15735. },
  15736. 399: {
  15737. Fbits: uint8(9),
  15738. Fval: uint16(227),
  15739. },
  15740. 400: {
  15741. Fop: uint8(16),
  15742. Fbits: uint8(7),
  15743. Fval: uint16(6),
  15744. },
  15745. 401: {
  15746. Fbits: uint8(8),
  15747. Fval: uint16(89),
  15748. },
  15749. 402: {
  15750. Fbits: uint8(8),
  15751. Fval: uint16(25),
  15752. },
  15753. 403: {
  15754. Fbits: uint8(9),
  15755. Fval: uint16(147),
  15756. },
  15757. 404: {
  15758. Fop: uint8(19),
  15759. Fbits: uint8(7),
  15760. Fval: uint16(59),
  15761. },
  15762. 405: {
  15763. Fbits: uint8(8),
  15764. Fval: uint16(121),
  15765. },
  15766. 406: {
  15767. Fbits: uint8(8),
  15768. Fval: uint16(57),
  15769. },
  15770. 407: {
  15771. Fbits: uint8(9),
  15772. Fval: uint16(211),
  15773. },
  15774. 408: {
  15775. Fop: uint8(17),
  15776. Fbits: uint8(7),
  15777. Fval: uint16(17),
  15778. },
  15779. 409: {
  15780. Fbits: uint8(8),
  15781. Fval: uint16(105),
  15782. },
  15783. 410: {
  15784. Fbits: uint8(8),
  15785. Fval: uint16(41),
  15786. },
  15787. 411: {
  15788. Fbits: uint8(9),
  15789. Fval: uint16(179),
  15790. },
  15791. 412: {
  15792. Fbits: uint8(8),
  15793. Fval: uint16(9),
  15794. },
  15795. 413: {
  15796. Fbits: uint8(8),
  15797. Fval: uint16(137),
  15798. },
  15799. 414: {
  15800. Fbits: uint8(8),
  15801. Fval: uint16(73),
  15802. },
  15803. 415: {
  15804. Fbits: uint8(9),
  15805. Fval: uint16(243),
  15806. },
  15807. 416: {
  15808. Fop: uint8(16),
  15809. Fbits: uint8(7),
  15810. Fval: uint16(4),
  15811. },
  15812. 417: {
  15813. Fbits: uint8(8),
  15814. Fval: uint16(85),
  15815. },
  15816. 418: {
  15817. Fbits: uint8(8),
  15818. Fval: uint16(21),
  15819. },
  15820. 419: {
  15821. Fop: uint8(16),
  15822. Fbits: uint8(8),
  15823. Fval: uint16(258),
  15824. },
  15825. 420: {
  15826. Fop: uint8(19),
  15827. Fbits: uint8(7),
  15828. Fval: uint16(43),
  15829. },
  15830. 421: {
  15831. Fbits: uint8(8),
  15832. Fval: uint16(117),
  15833. },
  15834. 422: {
  15835. Fbits: uint8(8),
  15836. Fval: uint16(53),
  15837. },
  15838. 423: {
  15839. Fbits: uint8(9),
  15840. Fval: uint16(203),
  15841. },
  15842. 424: {
  15843. Fop: uint8(17),
  15844. Fbits: uint8(7),
  15845. Fval: uint16(13),
  15846. },
  15847. 425: {
  15848. Fbits: uint8(8),
  15849. Fval: uint16(101),
  15850. },
  15851. 426: {
  15852. Fbits: uint8(8),
  15853. Fval: uint16(37),
  15854. },
  15855. 427: {
  15856. Fbits: uint8(9),
  15857. Fval: uint16(171),
  15858. },
  15859. 428: {
  15860. Fbits: uint8(8),
  15861. Fval: uint16(5),
  15862. },
  15863. 429: {
  15864. Fbits: uint8(8),
  15865. Fval: uint16(133),
  15866. },
  15867. 430: {
  15868. Fbits: uint8(8),
  15869. Fval: uint16(69),
  15870. },
  15871. 431: {
  15872. Fbits: uint8(9),
  15873. Fval: uint16(235),
  15874. },
  15875. 432: {
  15876. Fop: uint8(16),
  15877. Fbits: uint8(7),
  15878. Fval: uint16(8),
  15879. },
  15880. 433: {
  15881. Fbits: uint8(8),
  15882. Fval: uint16(93),
  15883. },
  15884. 434: {
  15885. Fbits: uint8(8),
  15886. Fval: uint16(29),
  15887. },
  15888. 435: {
  15889. Fbits: uint8(9),
  15890. Fval: uint16(155),
  15891. },
  15892. 436: {
  15893. Fop: uint8(20),
  15894. Fbits: uint8(7),
  15895. Fval: uint16(83),
  15896. },
  15897. 437: {
  15898. Fbits: uint8(8),
  15899. Fval: uint16(125),
  15900. },
  15901. 438: {
  15902. Fbits: uint8(8),
  15903. Fval: uint16(61),
  15904. },
  15905. 439: {
  15906. Fbits: uint8(9),
  15907. Fval: uint16(219),
  15908. },
  15909. 440: {
  15910. Fop: uint8(18),
  15911. Fbits: uint8(7),
  15912. Fval: uint16(23),
  15913. },
  15914. 441: {
  15915. Fbits: uint8(8),
  15916. Fval: uint16(109),
  15917. },
  15918. 442: {
  15919. Fbits: uint8(8),
  15920. Fval: uint16(45),
  15921. },
  15922. 443: {
  15923. Fbits: uint8(9),
  15924. Fval: uint16(187),
  15925. },
  15926. 444: {
  15927. Fbits: uint8(8),
  15928. Fval: uint16(13),
  15929. },
  15930. 445: {
  15931. Fbits: uint8(8),
  15932. Fval: uint16(141),
  15933. },
  15934. 446: {
  15935. Fbits: uint8(8),
  15936. Fval: uint16(77),
  15937. },
  15938. 447: {
  15939. Fbits: uint8(9),
  15940. Fval: uint16(251),
  15941. },
  15942. 448: {
  15943. Fop: uint8(16),
  15944. Fbits: uint8(7),
  15945. Fval: uint16(3),
  15946. },
  15947. 449: {
  15948. Fbits: uint8(8),
  15949. Fval: uint16(83),
  15950. },
  15951. 450: {
  15952. Fbits: uint8(8),
  15953. Fval: uint16(19),
  15954. },
  15955. 451: {
  15956. Fop: uint8(21),
  15957. Fbits: uint8(8),
  15958. Fval: uint16(195),
  15959. },
  15960. 452: {
  15961. Fop: uint8(19),
  15962. Fbits: uint8(7),
  15963. Fval: uint16(35),
  15964. },
  15965. 453: {
  15966. Fbits: uint8(8),
  15967. Fval: uint16(115),
  15968. },
  15969. 454: {
  15970. Fbits: uint8(8),
  15971. Fval: uint16(51),
  15972. },
  15973. 455: {
  15974. Fbits: uint8(9),
  15975. Fval: uint16(199),
  15976. },
  15977. 456: {
  15978. Fop: uint8(17),
  15979. Fbits: uint8(7),
  15980. Fval: uint16(11),
  15981. },
  15982. 457: {
  15983. Fbits: uint8(8),
  15984. Fval: uint16(99),
  15985. },
  15986. 458: {
  15987. Fbits: uint8(8),
  15988. Fval: uint16(35),
  15989. },
  15990. 459: {
  15991. Fbits: uint8(9),
  15992. Fval: uint16(167),
  15993. },
  15994. 460: {
  15995. Fbits: uint8(8),
  15996. Fval: uint16(3),
  15997. },
  15998. 461: {
  15999. Fbits: uint8(8),
  16000. Fval: uint16(131),
  16001. },
  16002. 462: {
  16003. Fbits: uint8(8),
  16004. Fval: uint16(67),
  16005. },
  16006. 463: {
  16007. Fbits: uint8(9),
  16008. Fval: uint16(231),
  16009. },
  16010. 464: {
  16011. Fop: uint8(16),
  16012. Fbits: uint8(7),
  16013. Fval: uint16(7),
  16014. },
  16015. 465: {
  16016. Fbits: uint8(8),
  16017. Fval: uint16(91),
  16018. },
  16019. 466: {
  16020. Fbits: uint8(8),
  16021. Fval: uint16(27),
  16022. },
  16023. 467: {
  16024. Fbits: uint8(9),
  16025. Fval: uint16(151),
  16026. },
  16027. 468: {
  16028. Fop: uint8(20),
  16029. Fbits: uint8(7),
  16030. Fval: uint16(67),
  16031. },
  16032. 469: {
  16033. Fbits: uint8(8),
  16034. Fval: uint16(123),
  16035. },
  16036. 470: {
  16037. Fbits: uint8(8),
  16038. Fval: uint16(59),
  16039. },
  16040. 471: {
  16041. Fbits: uint8(9),
  16042. Fval: uint16(215),
  16043. },
  16044. 472: {
  16045. Fop: uint8(18),
  16046. Fbits: uint8(7),
  16047. Fval: uint16(19),
  16048. },
  16049. 473: {
  16050. Fbits: uint8(8),
  16051. Fval: uint16(107),
  16052. },
  16053. 474: {
  16054. Fbits: uint8(8),
  16055. Fval: uint16(43),
  16056. },
  16057. 475: {
  16058. Fbits: uint8(9),
  16059. Fval: uint16(183),
  16060. },
  16061. 476: {
  16062. Fbits: uint8(8),
  16063. Fval: uint16(11),
  16064. },
  16065. 477: {
  16066. Fbits: uint8(8),
  16067. Fval: uint16(139),
  16068. },
  16069. 478: {
  16070. Fbits: uint8(8),
  16071. Fval: uint16(75),
  16072. },
  16073. 479: {
  16074. Fbits: uint8(9),
  16075. Fval: uint16(247),
  16076. },
  16077. 480: {
  16078. Fop: uint8(16),
  16079. Fbits: uint8(7),
  16080. Fval: uint16(5),
  16081. },
  16082. 481: {
  16083. Fbits: uint8(8),
  16084. Fval: uint16(87),
  16085. },
  16086. 482: {
  16087. Fbits: uint8(8),
  16088. Fval: uint16(23),
  16089. },
  16090. 483: {
  16091. Fop: uint8(64),
  16092. Fbits: uint8(8),
  16093. },
  16094. 484: {
  16095. Fop: uint8(19),
  16096. Fbits: uint8(7),
  16097. Fval: uint16(51),
  16098. },
  16099. 485: {
  16100. Fbits: uint8(8),
  16101. Fval: uint16(119),
  16102. },
  16103. 486: {
  16104. Fbits: uint8(8),
  16105. Fval: uint16(55),
  16106. },
  16107. 487: {
  16108. Fbits: uint8(9),
  16109. Fval: uint16(207),
  16110. },
  16111. 488: {
  16112. Fop: uint8(17),
  16113. Fbits: uint8(7),
  16114. Fval: uint16(15),
  16115. },
  16116. 489: {
  16117. Fbits: uint8(8),
  16118. Fval: uint16(103),
  16119. },
  16120. 490: {
  16121. Fbits: uint8(8),
  16122. Fval: uint16(39),
  16123. },
  16124. 491: {
  16125. Fbits: uint8(9),
  16126. Fval: uint16(175),
  16127. },
  16128. 492: {
  16129. Fbits: uint8(8),
  16130. Fval: uint16(7),
  16131. },
  16132. 493: {
  16133. Fbits: uint8(8),
  16134. Fval: uint16(135),
  16135. },
  16136. 494: {
  16137. Fbits: uint8(8),
  16138. Fval: uint16(71),
  16139. },
  16140. 495: {
  16141. Fbits: uint8(9),
  16142. Fval: uint16(239),
  16143. },
  16144. 496: {
  16145. Fop: uint8(16),
  16146. Fbits: uint8(7),
  16147. Fval: uint16(9),
  16148. },
  16149. 497: {
  16150. Fbits: uint8(8),
  16151. Fval: uint16(95),
  16152. },
  16153. 498: {
  16154. Fbits: uint8(8),
  16155. Fval: uint16(31),
  16156. },
  16157. 499: {
  16158. Fbits: uint8(9),
  16159. Fval: uint16(159),
  16160. },
  16161. 500: {
  16162. Fop: uint8(20),
  16163. Fbits: uint8(7),
  16164. Fval: uint16(99),
  16165. },
  16166. 501: {
  16167. Fbits: uint8(8),
  16168. Fval: uint16(127),
  16169. },
  16170. 502: {
  16171. Fbits: uint8(8),
  16172. Fval: uint16(63),
  16173. },
  16174. 503: {
  16175. Fbits: uint8(9),
  16176. Fval: uint16(223),
  16177. },
  16178. 504: {
  16179. Fop: uint8(18),
  16180. Fbits: uint8(7),
  16181. Fval: uint16(27),
  16182. },
  16183. 505: {
  16184. Fbits: uint8(8),
  16185. Fval: uint16(111),
  16186. },
  16187. 506: {
  16188. Fbits: uint8(8),
  16189. Fval: uint16(47),
  16190. },
  16191. 507: {
  16192. Fbits: uint8(9),
  16193. Fval: uint16(191),
  16194. },
  16195. 508: {
  16196. Fbits: uint8(8),
  16197. Fval: uint16(15),
  16198. },
  16199. 509: {
  16200. Fbits: uint8(8),
  16201. Fval: uint16(143),
  16202. },
  16203. 510: {
  16204. Fbits: uint8(8),
  16205. Fval: uint16(79),
  16206. },
  16207. 511: {
  16208. Fbits: uint8(9),
  16209. Fval: uint16(255),
  16210. },
  16211. }
  16212. var _distfix1 = [32]Tcode{
  16213. 0: {
  16214. Fop: uint8(16),
  16215. Fbits: uint8(5),
  16216. Fval: uint16(1),
  16217. },
  16218. 1: {
  16219. Fop: uint8(23),
  16220. Fbits: uint8(5),
  16221. Fval: uint16(257),
  16222. },
  16223. 2: {
  16224. Fop: uint8(19),
  16225. Fbits: uint8(5),
  16226. Fval: uint16(17),
  16227. },
  16228. 3: {
  16229. Fop: uint8(27),
  16230. Fbits: uint8(5),
  16231. Fval: uint16(4097),
  16232. },
  16233. 4: {
  16234. Fop: uint8(17),
  16235. Fbits: uint8(5),
  16236. Fval: uint16(5),
  16237. },
  16238. 5: {
  16239. Fop: uint8(25),
  16240. Fbits: uint8(5),
  16241. Fval: uint16(1025),
  16242. },
  16243. 6: {
  16244. Fop: uint8(21),
  16245. Fbits: uint8(5),
  16246. Fval: uint16(65),
  16247. },
  16248. 7: {
  16249. Fop: uint8(29),
  16250. Fbits: uint8(5),
  16251. Fval: uint16(16385),
  16252. },
  16253. 8: {
  16254. Fop: uint8(16),
  16255. Fbits: uint8(5),
  16256. Fval: uint16(3),
  16257. },
  16258. 9: {
  16259. Fop: uint8(24),
  16260. Fbits: uint8(5),
  16261. Fval: uint16(513),
  16262. },
  16263. 10: {
  16264. Fop: uint8(20),
  16265. Fbits: uint8(5),
  16266. Fval: uint16(33),
  16267. },
  16268. 11: {
  16269. Fop: uint8(28),
  16270. Fbits: uint8(5),
  16271. Fval: uint16(8193),
  16272. },
  16273. 12: {
  16274. Fop: uint8(18),
  16275. Fbits: uint8(5),
  16276. Fval: uint16(9),
  16277. },
  16278. 13: {
  16279. Fop: uint8(26),
  16280. Fbits: uint8(5),
  16281. Fval: uint16(2049),
  16282. },
  16283. 14: {
  16284. Fop: uint8(22),
  16285. Fbits: uint8(5),
  16286. Fval: uint16(129),
  16287. },
  16288. 15: {
  16289. Fop: uint8(64),
  16290. Fbits: uint8(5),
  16291. },
  16292. 16: {
  16293. Fop: uint8(16),
  16294. Fbits: uint8(5),
  16295. Fval: uint16(2),
  16296. },
  16297. 17: {
  16298. Fop: uint8(23),
  16299. Fbits: uint8(5),
  16300. Fval: uint16(385),
  16301. },
  16302. 18: {
  16303. Fop: uint8(19),
  16304. Fbits: uint8(5),
  16305. Fval: uint16(25),
  16306. },
  16307. 19: {
  16308. Fop: uint8(27),
  16309. Fbits: uint8(5),
  16310. Fval: uint16(6145),
  16311. },
  16312. 20: {
  16313. Fop: uint8(17),
  16314. Fbits: uint8(5),
  16315. Fval: uint16(7),
  16316. },
  16317. 21: {
  16318. Fop: uint8(25),
  16319. Fbits: uint8(5),
  16320. Fval: uint16(1537),
  16321. },
  16322. 22: {
  16323. Fop: uint8(21),
  16324. Fbits: uint8(5),
  16325. Fval: uint16(97),
  16326. },
  16327. 23: {
  16328. Fop: uint8(29),
  16329. Fbits: uint8(5),
  16330. Fval: uint16(24577),
  16331. },
  16332. 24: {
  16333. Fop: uint8(16),
  16334. Fbits: uint8(5),
  16335. Fval: uint16(4),
  16336. },
  16337. 25: {
  16338. Fop: uint8(24),
  16339. Fbits: uint8(5),
  16340. Fval: uint16(769),
  16341. },
  16342. 26: {
  16343. Fop: uint8(20),
  16344. Fbits: uint8(5),
  16345. Fval: uint16(49),
  16346. },
  16347. 27: {
  16348. Fop: uint8(28),
  16349. Fbits: uint8(5),
  16350. Fval: uint16(12289),
  16351. },
  16352. 28: {
  16353. Fop: uint8(18),
  16354. Fbits: uint8(5),
  16355. Fval: uint16(13),
  16356. },
  16357. 29: {
  16358. Fop: uint8(26),
  16359. Fbits: uint8(5),
  16360. Fval: uint16(3073),
  16361. },
  16362. 30: {
  16363. Fop: uint8(22),
  16364. Fbits: uint8(5),
  16365. Fval: uint16(193),
  16366. },
  16367. 31: {
  16368. Fop: uint8(64),
  16369. Fbits: uint8(5),
  16370. },
  16371. }
  16372. // C documentation
  16373. //
  16374. // /*
  16375. // Update the window with the last wsize (normally 32K) bytes written before
  16376. // returning. If window does not exist yet, create it. This is only called
  16377. // when a window is already in use, or when output has been written during this
  16378. // inflate call, but the end of the deflate stream has not been reached yet.
  16379. // It is also called to create a window for dictionary data when a dictionary
  16380. // is loaded.
  16381. //
  16382. // Providing output buffers larger than 32K to inflate() should provide a speed
  16383. // advantage, since only the last 32K of output is copied to the sliding window
  16384. // upon return from inflate(), and since all distances after the first 32K of
  16385. // output will fall in the output data, making match copies simpler and faster.
  16386. // The advantage may be dependent on the size of the processor's data caches.
  16387. // */
  16388. func _updatewindow(tls *libc.TLS, strm Tz_streamp, end uintptr, copy1 uint32) (r int32) {
  16389. var dist uint32
  16390. var state uintptr
  16391. _, _ = dist, state
  16392. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16393. /* if it hasn't been done already, allocate space for the window */
  16394. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(m_Z_NULL) {
  16395. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fwbits, uint32(libc.Uint64FromInt64(1)))
  16396. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(m_Z_NULL) {
  16397. return int32(1)
  16398. }
  16399. }
  16400. /* if window not in use yet, initialize */
  16401. if (*Tinflate_state)(unsafe.Pointer(state)).Fwsize == uint32(0) {
  16402. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << (*Tinflate_state)(unsafe.Pointer(state)).Fwbits
  16403. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  16404. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  16405. }
  16406. /* copy state->wsize or less output bytes into the circular window */
  16407. if copy1 >= (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  16408. libc.X__builtin___memcpy_chk(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwsize), uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwsize), ^t__predefined_size_t(0))
  16409. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  16410. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  16411. } else {
  16412. dist = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  16413. if dist > copy1 {
  16414. dist = copy1
  16415. }
  16416. libc.X__builtin___memcpy_chk(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), end-uintptr(copy1), uint64(dist), ^t__predefined_size_t(0))
  16417. copy1 -= dist
  16418. if copy1 != 0 {
  16419. libc.X__builtin___memcpy_chk(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr(copy1), uint64(copy1), ^t__predefined_size_t(0))
  16420. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = copy1
  16421. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  16422. } else {
  16423. *(*uint32)(unsafe.Pointer(state + 68)) += dist
  16424. if (*Tinflate_state)(unsafe.Pointer(state)).Fwnext == (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  16425. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  16426. }
  16427. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  16428. *(*uint32)(unsafe.Pointer(state + 64)) += dist
  16429. }
  16430. }
  16431. }
  16432. return 0
  16433. }
  16434. /* Macros for inflate(): */
  16435. /* check function to use adler32() for zlib or crc32() for gzip */
  16436. /* check macros for header crc */
  16437. /* Load registers with state in inflate() for speed */
  16438. /* Restore state from registers in inflate() */
  16439. /* Clear the input bit accumulator */
  16440. /* Get a byte of input into the bit accumulator, or return from inflate()
  16441. if there is no input available. */
  16442. /* Assure that there are at least n bits in the bit accumulator. If there is
  16443. not enough available input to do that, then return from inflate(). */
  16444. /* Return the low n bits of the bit accumulator (n < 16) */
  16445. /* Remove n bits from the bit accumulator */
  16446. /* Remove zero to seven bits as needed to go to a byte boundary */
  16447. /*
  16448. inflate() uses a state machine to process as much input data and generate as
  16449. much output data as possible before returning. The state machine is
  16450. structured roughly as follows:
  16451. for (;;) switch (state) {
  16452. ...
  16453. case STATEn:
  16454. if (not enough input data or output space to make progress)
  16455. return;
  16456. ... make progress ...
  16457. state = STATEm;
  16458. break;
  16459. ...
  16460. }
  16461. so when inflate() is called again, the same case is attempted again, and
  16462. if the appropriate resources are provided, the machine proceeds to the
  16463. next state. The NEEDBITS() macro is usually the way the state evaluates
  16464. whether it can proceed or should return. NEEDBITS() does the return if
  16465. the requested bits are not available. The typical use of the BITS macros
  16466. is:
  16467. NEEDBITS(n);
  16468. ... do something with BITS(n) ...
  16469. DROPBITS(n);
  16470. where NEEDBITS(n) either returns from inflate() if there isn't enough
  16471. input left to load n bits into the accumulator, or it continues. BITS(n)
  16472. gives the low n bits in the accumulator. When done, DROPBITS(n) drops
  16473. the low n bits off the accumulator. INITBITS() clears the accumulator
  16474. and sets the number of available bits to zero. BYTEBITS() discards just
  16475. enough bits to put the accumulator on a byte boundary. After BYTEBITS()
  16476. and a NEEDBITS(8), then BITS(8) would return the next byte in the stream.
  16477. NEEDBITS(n) uses PULLBYTE() to get an available byte of input, or to return
  16478. if there is no input available. The decoding of variable length codes uses
  16479. PULLBYTE() directly in order to pull just enough bytes to decode the next
  16480. code, and no more.
  16481. Some states loop until they get enough input, making sure that enough
  16482. state information is maintained to continue the loop where it left off
  16483. if NEEDBITS() returns in the loop. For example, want, need, and keep
  16484. would all have to actually be part of the saved state in case NEEDBITS()
  16485. returns:
  16486. case STATEw:
  16487. while (want < need) {
  16488. NEEDBITS(n);
  16489. keep[want++] = BITS(n);
  16490. DROPBITS(n);
  16491. }
  16492. state = STATEx;
  16493. case STATEx:
  16494. As shown above, if the next state is also the next case, then the break
  16495. is omitted.
  16496. A state may also return if there is not enough output space available to
  16497. complete that state. Those states are copying stored data, writing a
  16498. literal byte, and copying a matching string.
  16499. When returning, a "goto inf_leave" is used to update the total counters,
  16500. update the check value, and determine whether any progress has been made
  16501. during that inflate() call in order to return the proper return code.
  16502. Progress is defined as a change in either strm->avail_in or strm->avail_out.
  16503. When there is a window, goto inf_leave will update the window with the last
  16504. output written. If a goto inf_leave occurs in the middle of decompression
  16505. and there is no window currently, goto inf_leave will create one and copy
  16506. output to the window for the next call of inflate().
  16507. In this implementation, the flush parameter of inflate() only affects the
  16508. return code (per zlib.h). inflate() always writes as much as possible to
  16509. strm->next_out, given the space available and the provided input--the effect
  16510. documented in zlib.h of Z_SYNC_FLUSH. Furthermore, inflate() always defers
  16511. the allocation of and copying into a sliding window until necessary, which
  16512. provides the effect documented in zlib.h for Z_FINISH when the entire input
  16513. stream available. So the only thing the flush parameter actually does is:
  16514. when flush is set to Z_FINISH, inflate() cannot return Z_OK. Instead it
  16515. will return Z_BUF_ERROR if it has not reached the end of the stream.
  16516. */
  16517. func Xinflate(tls *libc.TLS, strm Tz_streamp, flush int32) (r int32) {
  16518. bp := tls.Alloc(16)
  16519. defer tls.Free(16)
  16520. var bits, copy1, have, in, left, len1, out, v46, v48, v49, v50, v52, v53, v64, v66, v70, v75, v76, v90 uint32
  16521. var from, next, put, state, v100, v36, v42, v43, v44, v45, v51, v54, v55, v57, v60, v61, v62, v63, v65, v67, v69, v71, v72, v73, v74, v77, v79, v81, v82, v85, v87, v88, v92, v93, v94, v95, p83, p89 uintptr
  16522. var here, last Tcode
  16523. var hold, v101, v102, v37, v56, v58, v59, v96, v97, v98 uint64
  16524. var ret, v103, v104, v105, v38 int32
  16525. var v47, v99 bool
  16526. var _ /* hbuf at bp+0 */ [4]uint8
  16527. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bits, copy1, from, have, here, hold, in, last, left, len1, next, out, put, ret, state, v100, v101, v102, v103, v104, v105, v36, v37, v38, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63, v64, v65, v66, v67, v69, v70, v71, v72, v73, v74, v75, v76, v77, v79, v81, v82, v85, v87, v88, v90, v92, v93, v94, v95, v96, v97, v98, v99, p83, p89
  16528. if _inflateStateCheck(tls, strm) != 0 || (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in == uintptr(m_Z_NULL) && (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) {
  16529. return -int32(2)
  16530. }
  16531. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16532. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  16533. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPEDO)
  16534. } /* skip check */
  16535. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  16536. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  16537. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  16538. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  16539. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  16540. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  16541. in = have
  16542. out = left
  16543. ret = m_Z_OK
  16544. for {
  16545. switch (*Tinflate_state)(unsafe.Pointer(state)).Fmode {
  16546. case int32(_HEAD):
  16547. goto _2
  16548. case int32(_FLAGS):
  16549. goto _3
  16550. case int32(_TIME):
  16551. goto _4
  16552. case int32(_OS):
  16553. goto _5
  16554. case int32(_EXLEN):
  16555. goto _6
  16556. case int32(_EXTRA):
  16557. goto _7
  16558. case int32(_NAME):
  16559. goto _8
  16560. case int32(_COMMENT):
  16561. goto _9
  16562. case int32(_HCRC):
  16563. goto _10
  16564. case int32(_DICTID):
  16565. goto _11
  16566. case int32(_DICT):
  16567. goto _12
  16568. case int32(_TYPE):
  16569. goto _13
  16570. case int32(_TYPEDO):
  16571. goto _14
  16572. case int32(_STORED):
  16573. goto _15
  16574. case int32(_COPY_):
  16575. goto _16
  16576. case int32(_COPY):
  16577. goto _17
  16578. case int32(_TABLE):
  16579. goto _18
  16580. case int32(_LENLENS):
  16581. goto _19
  16582. case int32(_CODELENS):
  16583. goto _20
  16584. case int32(_LEN_):
  16585. goto _21
  16586. case int32(_LEN):
  16587. goto _22
  16588. case int32(_LENEXT):
  16589. goto _23
  16590. case int32(_DIST):
  16591. goto _24
  16592. case int32(_DISTEXT):
  16593. goto _25
  16594. case int32(_MATCH):
  16595. goto _26
  16596. case int32(_LIT):
  16597. goto _27
  16598. case int32(_CHECK):
  16599. goto _28
  16600. case int32(_LENGTH):
  16601. goto _29
  16602. case int32(_DONE):
  16603. goto _30
  16604. case int32(_BAD):
  16605. goto _31
  16606. case int32(_MEM):
  16607. goto _32
  16608. default:
  16609. goto _33
  16610. case int32(_SYNC):
  16611. goto _34
  16612. }
  16613. goto _35
  16614. _2:
  16615. ;
  16616. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap == 0 {
  16617. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPEDO)
  16618. goto _35
  16619. }
  16620. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  16621. if have == uint32(0) {
  16622. goto inf_leave
  16623. }
  16624. have--
  16625. v36 = next
  16626. next++
  16627. hold += uint64(*(*uint8)(unsafe.Pointer(v36))) << bits
  16628. bits += uint32(8)
  16629. }
  16630. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(2) != 0 && hold == uint64(0x8b1f) { /* gzip header */
  16631. if (*Tinflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0) {
  16632. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = uint32(15)
  16633. }
  16634. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  16635. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  16636. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  16637. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  16638. hold = uint64(0)
  16639. bits = uint32(0)
  16640. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_FLAGS)
  16641. goto _35
  16642. }
  16643. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  16644. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = -int32(1)
  16645. }
  16646. if !((*Tinflate_state)(unsafe.Pointer(state)).Fwrap&libc.Int32FromInt32(1) != 0) || (uint64(uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(8)-libc.Uint32FromInt32(1))<<libc.Int32FromInt32(8))+hold>>int32(8))%uint64(31) != 0 {
  16647. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 308
  16648. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16649. goto _35
  16650. }
  16651. if uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) != uint32(m_Z_DEFLATED) {
  16652. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 331
  16653. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16654. goto _35
  16655. }
  16656. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  16657. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  16658. len1 = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(8)
  16659. if (*Tinflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0) {
  16660. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = len1
  16661. }
  16662. if len1 > uint32(15) || len1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwbits {
  16663. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 358
  16664. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16665. goto _35
  16666. }
  16667. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(1) << len1
  16668. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = 0 /* indicate zlib header */
  16669. v37 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  16670. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v37
  16671. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v37
  16672. if hold&uint64(0x200) != 0 {
  16673. v38 = int32(_DICTID)
  16674. } else {
  16675. v38 = int32(_TYPE)
  16676. }
  16677. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = v38
  16678. hold = uint64(0)
  16679. bits = uint32(0)
  16680. goto _35
  16681. _3:
  16682. ;
  16683. _41:
  16684. ;
  16685. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  16686. if have == uint32(0) {
  16687. goto inf_leave
  16688. }
  16689. have--
  16690. v42 = next
  16691. next++
  16692. hold += uint64(*(*uint8)(unsafe.Pointer(v42))) << bits
  16693. bits += uint32(8)
  16694. }
  16695. goto _40
  16696. _40:
  16697. ;
  16698. if 0 != 0 {
  16699. goto _41
  16700. }
  16701. goto _39
  16702. _39:
  16703. ;
  16704. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = libc.Int32FromUint64(hold)
  16705. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0xff) != int32(m_Z_DEFLATED) {
  16706. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 331
  16707. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16708. goto _35
  16709. }
  16710. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0xe000) != 0 {
  16711. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 378
  16712. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16713. goto _35
  16714. }
  16715. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  16716. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Ftext = libc.Int32FromUint64(hold >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(1))
  16717. }
  16718. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  16719. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  16720. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  16721. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  16722. }
  16723. hold = uint64(0)
  16724. bits = uint32(0)
  16725. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TIME)
  16726. /* fallthrough */
  16727. _4:
  16728. ;
  16729. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  16730. if have == uint32(0) {
  16731. goto inf_leave
  16732. }
  16733. have--
  16734. v43 = next
  16735. next++
  16736. hold += uint64(*(*uint8)(unsafe.Pointer(v43))) << bits
  16737. bits += uint32(8)
  16738. }
  16739. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  16740. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Ftime = hold
  16741. }
  16742. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  16743. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  16744. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  16745. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(2)] = uint8(hold >> libc.Int32FromInt32(16))
  16746. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(3)] = uint8(hold >> libc.Int32FromInt32(24))
  16747. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(4))
  16748. }
  16749. hold = uint64(0)
  16750. bits = uint32(0)
  16751. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_OS)
  16752. /* fallthrough */
  16753. _5:
  16754. ;
  16755. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  16756. if have == uint32(0) {
  16757. goto inf_leave
  16758. }
  16759. have--
  16760. v44 = next
  16761. next++
  16762. hold += uint64(*(*uint8)(unsafe.Pointer(v44))) << bits
  16763. bits += uint32(8)
  16764. }
  16765. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  16766. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fxflags = libc.Int32FromUint64(hold & libc.Uint64FromInt32(0xff))
  16767. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fos = libc.Int32FromUint64(hold >> libc.Int32FromInt32(8))
  16768. }
  16769. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  16770. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  16771. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  16772. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  16773. }
  16774. hold = uint64(0)
  16775. bits = uint32(0)
  16776. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_EXLEN)
  16777. /* fallthrough */
  16778. _6:
  16779. ;
  16780. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0400) != 0 {
  16781. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  16782. if have == uint32(0) {
  16783. goto inf_leave
  16784. }
  16785. have--
  16786. v45 = next
  16787. next++
  16788. hold += uint64(*(*uint8)(unsafe.Pointer(v45))) << bits
  16789. bits += uint32(8)
  16790. }
  16791. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold)
  16792. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  16793. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len = uint32(hold)
  16794. }
  16795. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  16796. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  16797. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  16798. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  16799. }
  16800. hold = uint64(0)
  16801. bits = uint32(0)
  16802. } else {
  16803. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  16804. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra = uintptr(m_Z_NULL)
  16805. }
  16806. }
  16807. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_EXTRA)
  16808. /* fallthrough */
  16809. _7:
  16810. ;
  16811. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0400) != 0 {
  16812. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16813. if copy1 > have {
  16814. copy1 = have
  16815. }
  16816. if copy1 != 0 {
  16817. if v47 = (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) && (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra != uintptr(m_Z_NULL); v47 {
  16818. v46 = (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len - (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16819. len1 = v46
  16820. }
  16821. if v47 && v46 < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
  16822. if len1+copy1 > (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
  16823. v48 = (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max - len1
  16824. } else {
  16825. v48 = copy1
  16826. }
  16827. libc.X__builtin___memcpy_chk(tls, (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra+uintptr(len1), next, uint64(v48), ^t__predefined_size_t(0))
  16828. }
  16829. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  16830. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  16831. }
  16832. have -= copy1
  16833. next += uintptr(copy1)
  16834. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  16835. }
  16836. if (*Tinflate_state)(unsafe.Pointer(state)).Flength != 0 {
  16837. goto inf_leave
  16838. }
  16839. }
  16840. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
  16841. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_NAME)
  16842. /* fallthrough */
  16843. _8:
  16844. ;
  16845. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0800) != 0 {
  16846. if have == uint32(0) {
  16847. goto inf_leave
  16848. }
  16849. copy1 = uint32(0)
  16850. for cond := true; cond; cond = len1 != 0 && copy1 < have {
  16851. v49 = copy1
  16852. copy1++
  16853. len1 = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(v49))))
  16854. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) && (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Flength < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname_max {
  16855. v51 = state + 92
  16856. v50 = *(*uint32)(unsafe.Pointer(v51))
  16857. *(*uint32)(unsafe.Pointer(v51))++
  16858. *(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname + uintptr(v50))) = uint8(len1)
  16859. }
  16860. }
  16861. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  16862. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  16863. }
  16864. have -= copy1
  16865. next += uintptr(copy1)
  16866. if len1 != 0 {
  16867. goto inf_leave
  16868. }
  16869. } else {
  16870. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  16871. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname = uintptr(m_Z_NULL)
  16872. }
  16873. }
  16874. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
  16875. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COMMENT)
  16876. /* fallthrough */
  16877. _9:
  16878. ;
  16879. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x1000) != 0 {
  16880. if have == uint32(0) {
  16881. goto inf_leave
  16882. }
  16883. copy1 = uint32(0)
  16884. for cond := true; cond; cond = len1 != 0 && copy1 < have {
  16885. v52 = copy1
  16886. copy1++
  16887. len1 = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(v52))))
  16888. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) && (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Flength < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomm_max {
  16889. v54 = state + 92
  16890. v53 = *(*uint32)(unsafe.Pointer(v54))
  16891. *(*uint32)(unsafe.Pointer(v54))++
  16892. *(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment + uintptr(v53))) = uint8(len1)
  16893. }
  16894. }
  16895. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  16896. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  16897. }
  16898. have -= copy1
  16899. next += uintptr(copy1)
  16900. if len1 != 0 {
  16901. goto inf_leave
  16902. }
  16903. } else {
  16904. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  16905. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment = uintptr(m_Z_NULL)
  16906. }
  16907. }
  16908. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HCRC)
  16909. /* fallthrough */
  16910. _10:
  16911. ;
  16912. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 {
  16913. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  16914. if have == uint32(0) {
  16915. goto inf_leave
  16916. }
  16917. have--
  16918. v55 = next
  16919. next++
  16920. hold += uint64(*(*uint8)(unsafe.Pointer(v55))) << bits
  16921. bits += uint32(8)
  16922. }
  16923. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && hold != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck&uint64(0xffff) {
  16924. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 403
  16925. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16926. goto _35
  16927. }
  16928. hold = uint64(0)
  16929. bits = uint32(0)
  16930. }
  16931. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  16932. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fhcrc = (*Tinflate_state)(unsafe.Pointer(state)).Fflags >> libc.Int32FromInt32(9) & libc.Int32FromInt32(1)
  16933. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = int32(1)
  16934. }
  16935. v56 = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  16936. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v56
  16937. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v56
  16938. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  16939. goto _35
  16940. _11:
  16941. ;
  16942. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  16943. if have == uint32(0) {
  16944. goto inf_leave
  16945. }
  16946. have--
  16947. v57 = next
  16948. next++
  16949. hold += uint64(*(*uint8)(unsafe.Pointer(v57))) << bits
  16950. bits += uint32(8)
  16951. }
  16952. v58 = hold>>libc.Int32FromInt32(24)&libc.Uint64FromInt32(0xff) + hold>>libc.Int32FromInt32(8)&libc.Uint64FromInt32(0xff00) + hold&libc.Uint64FromInt32(0xff00)<<libc.Int32FromInt32(8) + hold&libc.Uint64FromInt32(0xff)<<libc.Int32FromInt32(24)
  16953. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v58
  16954. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v58
  16955. hold = uint64(0)
  16956. bits = uint32(0)
  16957. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DICT)
  16958. /* fallthrough */
  16959. _12:
  16960. ;
  16961. if (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict == 0 {
  16962. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  16963. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  16964. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  16965. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  16966. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  16967. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  16968. return int32(m_Z_NEED_DICT)
  16969. }
  16970. v59 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  16971. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v59
  16972. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v59
  16973. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  16974. /* fallthrough */
  16975. _13:
  16976. ;
  16977. if flush == int32(m_Z_BLOCK) || flush == int32(m_Z_TREES) {
  16978. goto inf_leave
  16979. }
  16980. /* fallthrough */
  16981. _14:
  16982. ;
  16983. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  16984. hold >>= uint64(bits & uint32(7))
  16985. bits -= bits & uint32(7)
  16986. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_CHECK)
  16987. goto _35
  16988. }
  16989. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  16990. if have == uint32(0) {
  16991. goto inf_leave
  16992. }
  16993. have--
  16994. v60 = next
  16995. next++
  16996. hold += uint64(*(*uint8)(unsafe.Pointer(v60))) << bits
  16997. bits += uint32(8)
  16998. }
  16999. (*Tinflate_state)(unsafe.Pointer(state)).Flast = libc.Int32FromUint32(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(1) - libc.Uint32FromInt32(1)))
  17000. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(1))
  17001. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(1))
  17002. switch uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2) - libc.Uint32FromInt32(1)) {
  17003. case uint32(0): /* stored block */
  17004. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_STORED)
  17005. case uint32(1): /* fixed block */
  17006. _fixedtables1(tls, state)
  17007. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN_) /* decode codes */
  17008. if flush == int32(m_Z_TREES) {
  17009. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  17010. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  17011. goto inf_leave
  17012. }
  17013. case uint32(2): /* dynamic block */
  17014. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TABLE)
  17015. case uint32(3):
  17016. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 6
  17017. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17018. }
  17019. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  17020. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  17021. goto _35
  17022. _15:
  17023. ;
  17024. hold >>= uint64(bits & uint32(7))
  17025. bits -= bits & uint32(7) /* go to byte boundary */
  17026. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  17027. if have == uint32(0) {
  17028. goto inf_leave
  17029. }
  17030. have--
  17031. v61 = next
  17032. next++
  17033. hold += uint64(*(*uint8)(unsafe.Pointer(v61))) << bits
  17034. bits += uint32(8)
  17035. }
  17036. if hold&uint64(0xffff) != hold>>int32(16)^uint64(0xffff) {
  17037. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 25
  17038. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17039. goto _35
  17040. }
  17041. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
  17042. hold = uint64(0)
  17043. bits = uint32(0)
  17044. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COPY_)
  17045. if flush == int32(m_Z_TREES) {
  17046. goto inf_leave
  17047. }
  17048. /* fallthrough */
  17049. _16:
  17050. ;
  17051. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COPY)
  17052. /* fallthrough */
  17053. _17:
  17054. ;
  17055. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  17056. if copy1 != 0 {
  17057. if copy1 > have {
  17058. copy1 = have
  17059. }
  17060. if copy1 > left {
  17061. copy1 = left
  17062. }
  17063. if copy1 == uint32(0) {
  17064. goto inf_leave
  17065. }
  17066. libc.X__builtin___memcpy_chk(tls, put, next, uint64(copy1), ^t__predefined_size_t(0))
  17067. have -= copy1
  17068. next += uintptr(copy1)
  17069. left -= copy1
  17070. put += uintptr(copy1)
  17071. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  17072. goto _35
  17073. }
  17074. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  17075. goto _35
  17076. _18:
  17077. ;
  17078. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(14)) {
  17079. if have == uint32(0) {
  17080. goto inf_leave
  17081. }
  17082. have--
  17083. v62 = next
  17084. next++
  17085. hold += uint64(*(*uint8)(unsafe.Pointer(v62))) << bits
  17086. bits += uint32(8)
  17087. }
  17088. (*Tinflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(257)
  17089. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  17090. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  17091. (*Tinflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(1)
  17092. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  17093. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  17094. (*Tinflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(4)
  17095. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  17096. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  17097. if (*Tinflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Tinflate_state)(unsafe.Pointer(state)).Fndist > uint32(30) {
  17098. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 54
  17099. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17100. goto _35
  17101. }
  17102. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  17103. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENLENS)
  17104. /* fallthrough */
  17105. _19:
  17106. ;
  17107. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fncode {
  17108. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  17109. if have == uint32(0) {
  17110. goto inf_leave
  17111. }
  17112. have--
  17113. v63 = next
  17114. next++
  17115. hold += uint64(*(*uint8)(unsafe.Pointer(v63))) << bits
  17116. bits += uint32(8)
  17117. }
  17118. v65 = state + 140
  17119. v64 = *(*uint32)(unsafe.Pointer(v65))
  17120. *(*uint32)(unsafe.Pointer(v65))++
  17121. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order1[v64])*2)) = uint16(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3) - libc.Uint32FromInt32(1)))
  17122. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  17123. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  17124. }
  17125. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < uint32(19) {
  17126. v67 = state + 140
  17127. v66 = *(*uint32)(unsafe.Pointer(v67))
  17128. *(*uint32)(unsafe.Pointer(v67))++
  17129. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order1[v66])*2)) = uint16(0)
  17130. }
  17131. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  17132. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  17133. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
  17134. ret = Xinflate_table(tls, int32(_CODES), state+152, uint32(19), state+144, state+120, state+792)
  17135. if ret != 0 {
  17136. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 90
  17137. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17138. goto _35
  17139. }
  17140. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  17141. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_CODELENS)
  17142. /* fallthrough */
  17143. _20:
  17144. ;
  17145. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  17146. for {
  17147. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  17148. if uint32(here.Fbits) <= bits {
  17149. break
  17150. }
  17151. if have == uint32(0) {
  17152. goto inf_leave
  17153. }
  17154. have--
  17155. v69 = next
  17156. next++
  17157. hold += uint64(*(*uint8)(unsafe.Pointer(v69))) << bits
  17158. bits += uint32(8)
  17159. goto _68
  17160. _68:
  17161. }
  17162. if libc.Int32FromUint16(here.Fval) < int32(16) {
  17163. hold >>= uint64(here.Fbits)
  17164. bits -= uint32(here.Fbits)
  17165. v71 = state + 140
  17166. v70 = *(*uint32)(unsafe.Pointer(v71))
  17167. *(*uint32)(unsafe.Pointer(v71))++
  17168. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v70)*2)) = here.Fval
  17169. } else {
  17170. if libc.Int32FromUint16(here.Fval) == int32(16) {
  17171. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(2)) {
  17172. if have == uint32(0) {
  17173. goto inf_leave
  17174. }
  17175. have--
  17176. v72 = next
  17177. next++
  17178. hold += uint64(*(*uint8)(unsafe.Pointer(v72))) << bits
  17179. bits += uint32(8)
  17180. }
  17181. hold >>= uint64(here.Fbits)
  17182. bits -= uint32(here.Fbits)
  17183. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave == uint32(0) {
  17184. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  17185. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17186. break
  17187. }
  17188. len1 = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
  17189. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2)-libc.Uint32FromInt32(1))
  17190. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  17191. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  17192. } else {
  17193. if libc.Int32FromUint16(here.Fval) == int32(17) {
  17194. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(3)) {
  17195. if have == uint32(0) {
  17196. goto inf_leave
  17197. }
  17198. have--
  17199. v73 = next
  17200. next++
  17201. hold += uint64(*(*uint8)(unsafe.Pointer(v73))) << bits
  17202. bits += uint32(8)
  17203. }
  17204. hold >>= uint64(here.Fbits)
  17205. bits -= uint32(here.Fbits)
  17206. len1 = uint32(0)
  17207. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3)-libc.Uint32FromInt32(1))
  17208. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  17209. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  17210. } else {
  17211. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(7)) {
  17212. if have == uint32(0) {
  17213. goto inf_leave
  17214. }
  17215. have--
  17216. v74 = next
  17217. next++
  17218. hold += uint64(*(*uint8)(unsafe.Pointer(v74))) << bits
  17219. bits += uint32(8)
  17220. }
  17221. hold >>= uint64(here.Fbits)
  17222. bits -= uint32(here.Fbits)
  17223. len1 = uint32(0)
  17224. copy1 = uint32(11) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(7)-libc.Uint32FromInt32(1))
  17225. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(7))
  17226. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(7))
  17227. }
  17228. }
  17229. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave+copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  17230. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  17231. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17232. break
  17233. }
  17234. for {
  17235. v75 = copy1
  17236. copy1--
  17237. if !(v75 != 0) {
  17238. break
  17239. }
  17240. v77 = state + 140
  17241. v76 = *(*uint32)(unsafe.Pointer(v77))
  17242. *(*uint32)(unsafe.Pointer(v77))++
  17243. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v76)*2)) = uint16(len1)
  17244. }
  17245. }
  17246. }
  17247. /* handle error breaks in while */
  17248. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_BAD) {
  17249. goto _35
  17250. }
  17251. /* check for end-of-block code (better have one) */
  17252. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0 {
  17253. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 141
  17254. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17255. goto _35
  17256. }
  17257. /* build code tables -- note: do not change the lenbits or distbits
  17258. values here (9 and 6) without reading the comments in inftrees.h
  17259. concerning the ENOUGH constants, which depend on those values */
  17260. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  17261. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  17262. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  17263. ret = Xinflate_table(tls, int32(_LENS), state+152, (*Tinflate_state)(unsafe.Pointer(state)).Fnlen, state+144, state+120, state+792)
  17264. if ret != 0 {
  17265. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 178
  17266. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17267. goto _35
  17268. }
  17269. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  17270. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
  17271. ret = Xinflate_table(tls, int32(_DISTS), state+152+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fnlen)*2, (*Tinflate_state)(unsafe.Pointer(state)).Fndist, state+144, state+124, state+792)
  17272. if ret != 0 {
  17273. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 206
  17274. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17275. goto _35
  17276. }
  17277. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN_)
  17278. if flush == int32(m_Z_TREES) {
  17279. goto inf_leave
  17280. }
  17281. /* fallthrough */
  17282. _21:
  17283. ;
  17284. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  17285. /* fallthrough */
  17286. _22:
  17287. ;
  17288. if have >= uint32(6) && left >= uint32(258) {
  17289. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  17290. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  17291. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  17292. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  17293. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  17294. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  17295. Xinflate_fast(tls, strm, out)
  17296. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  17297. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  17298. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  17299. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  17300. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  17301. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  17302. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  17303. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  17304. }
  17305. goto _35
  17306. }
  17307. (*Tinflate_state)(unsafe.Pointer(state)).Fback = 0
  17308. for {
  17309. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  17310. if uint32(here.Fbits) <= bits {
  17311. break
  17312. }
  17313. if have == uint32(0) {
  17314. goto inf_leave
  17315. }
  17316. have--
  17317. v79 = next
  17318. next++
  17319. hold += uint64(*(*uint8)(unsafe.Pointer(v79))) << bits
  17320. bits += uint32(8)
  17321. goto _78
  17322. _78:
  17323. }
  17324. if here.Fop != 0 && libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  17325. last = here
  17326. for {
  17327. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  17328. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  17329. break
  17330. }
  17331. if have == uint32(0) {
  17332. goto inf_leave
  17333. }
  17334. have--
  17335. v81 = next
  17336. next++
  17337. hold += uint64(*(*uint8)(unsafe.Pointer(v81))) << bits
  17338. bits += uint32(8)
  17339. goto _80
  17340. _80:
  17341. }
  17342. hold >>= uint64(last.Fbits)
  17343. bits -= uint32(last.Fbits)
  17344. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(last.Fbits)
  17345. }
  17346. hold >>= uint64(here.Fbits)
  17347. bits -= uint32(here.Fbits)
  17348. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(here.Fbits)
  17349. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
  17350. if libc.Int32FromUint8(here.Fop) == 0 {
  17351. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LIT)
  17352. goto _35
  17353. }
  17354. if libc.Int32FromUint8(here.Fop)&int32(32) != 0 {
  17355. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  17356. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  17357. goto _35
  17358. }
  17359. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  17360. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  17361. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17362. goto _35
  17363. }
  17364. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  17365. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENEXT)
  17366. /* fallthrough */
  17367. _23:
  17368. ;
  17369. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != 0 {
  17370. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  17371. if have == uint32(0) {
  17372. goto inf_leave
  17373. }
  17374. have--
  17375. v82 = next
  17376. next++
  17377. hold += uint64(*(*uint8)(unsafe.Pointer(v82))) << bits
  17378. bits += uint32(8)
  17379. }
  17380. *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  17381. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  17382. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  17383. p83 = state + 7148
  17384. *(*int32)(unsafe.Pointer(p83)) = int32(uint32(*(*int32)(unsafe.Pointer(p83))) + (*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  17385. }
  17386. (*Tinflate_state)(unsafe.Pointer(state)).Fwas = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  17387. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DIST)
  17388. /* fallthrough */
  17389. _24:
  17390. ;
  17391. for {
  17392. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits-libc.Uint32FromInt32(1)))*4))
  17393. if uint32(here.Fbits) <= bits {
  17394. break
  17395. }
  17396. if have == uint32(0) {
  17397. goto inf_leave
  17398. }
  17399. have--
  17400. v85 = next
  17401. next++
  17402. hold += uint64(*(*uint8)(unsafe.Pointer(v85))) << bits
  17403. bits += uint32(8)
  17404. goto _84
  17405. _84:
  17406. }
  17407. if libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  17408. last = here
  17409. for {
  17410. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  17411. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  17412. break
  17413. }
  17414. if have == uint32(0) {
  17415. goto inf_leave
  17416. }
  17417. have--
  17418. v87 = next
  17419. next++
  17420. hold += uint64(*(*uint8)(unsafe.Pointer(v87))) << bits
  17421. bits += uint32(8)
  17422. goto _86
  17423. _86:
  17424. }
  17425. hold >>= uint64(last.Fbits)
  17426. bits -= uint32(last.Fbits)
  17427. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(last.Fbits)
  17428. }
  17429. hold >>= uint64(here.Fbits)
  17430. bits -= uint32(here.Fbits)
  17431. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(here.Fbits)
  17432. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  17433. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  17434. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17435. goto _35
  17436. }
  17437. (*Tinflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
  17438. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  17439. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DISTEXT)
  17440. /* fallthrough */
  17441. _25:
  17442. ;
  17443. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != 0 {
  17444. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  17445. if have == uint32(0) {
  17446. goto inf_leave
  17447. }
  17448. have--
  17449. v88 = next
  17450. next++
  17451. hold += uint64(*(*uint8)(unsafe.Pointer(v88))) << bits
  17452. bits += uint32(8)
  17453. }
  17454. *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  17455. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  17456. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  17457. p89 = state + 7148
  17458. *(*int32)(unsafe.Pointer(p89)) = int32(uint32(*(*int32)(unsafe.Pointer(p89))) + (*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  17459. }
  17460. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MATCH)
  17461. /* fallthrough */
  17462. _26:
  17463. ;
  17464. if left == uint32(0) {
  17465. goto inf_leave
  17466. }
  17467. copy1 = out - left
  17468. if (*Tinflate_state)(unsafe.Pointer(state)).Foffset > copy1 { /* copy from window */
  17469. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Foffset - copy1
  17470. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwhave {
  17471. if (*Tinflate_state)(unsafe.Pointer(state)).Fsane != 0 {
  17472. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  17473. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17474. goto _35
  17475. }
  17476. }
  17477. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwnext {
  17478. copy1 -= (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  17479. from = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwsize-copy1)
  17480. } else {
  17481. from = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext-copy1)
  17482. }
  17483. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Flength {
  17484. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  17485. }
  17486. } else { /* copy from output */
  17487. from = put - uintptr((*Tinflate_state)(unsafe.Pointer(state)).Foffset)
  17488. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  17489. }
  17490. if copy1 > left {
  17491. copy1 = left
  17492. }
  17493. left -= copy1
  17494. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  17495. for {
  17496. v92 = put
  17497. put++
  17498. v93 = from
  17499. from++
  17500. *(*uint8)(unsafe.Pointer(v92)) = *(*uint8)(unsafe.Pointer(v93))
  17501. goto _91
  17502. _91:
  17503. ;
  17504. copy1--
  17505. v90 = copy1
  17506. if !(v90 != 0) {
  17507. break
  17508. }
  17509. }
  17510. if (*Tinflate_state)(unsafe.Pointer(state)).Flength == uint32(0) {
  17511. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  17512. }
  17513. goto _35
  17514. _27:
  17515. ;
  17516. if left == uint32(0) {
  17517. goto inf_leave
  17518. }
  17519. v94 = put
  17520. put++
  17521. *(*uint8)(unsafe.Pointer(v94)) = uint8((*Tinflate_state)(unsafe.Pointer(state)).Flength)
  17522. left--
  17523. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  17524. goto _35
  17525. _28:
  17526. ;
  17527. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 {
  17528. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  17529. if have == uint32(0) {
  17530. goto inf_leave
  17531. }
  17532. have--
  17533. v95 = next
  17534. next++
  17535. hold += uint64(*(*uint8)(unsafe.Pointer(v95))) << bits
  17536. bits += uint32(8)
  17537. }
  17538. out -= left
  17539. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(out)
  17540. *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
  17541. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && out != 0 {
  17542. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  17543. v97 = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
  17544. } else {
  17545. v97 = Xadler32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
  17546. }
  17547. v96 = v97
  17548. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v96
  17549. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v96
  17550. }
  17551. out = left
  17552. if v99 = (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0; v99 {
  17553. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  17554. v98 = hold
  17555. } else {
  17556. v98 = hold>>int32(24)&uint64(0xff) + hold>>int32(8)&uint64(0xff00) + hold&uint64(0xff00)<<int32(8) + hold&uint64(0xff)<<int32(24)
  17557. }
  17558. }
  17559. if v99 && v98 != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck {
  17560. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 423
  17561. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17562. goto _35
  17563. }
  17564. hold = uint64(0)
  17565. bits = uint32(0)
  17566. }
  17567. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENGTH)
  17568. /* fallthrough */
  17569. _29:
  17570. ;
  17571. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  17572. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  17573. if have == uint32(0) {
  17574. goto inf_leave
  17575. }
  17576. have--
  17577. v100 = next
  17578. next++
  17579. hold += uint64(*(*uint8)(unsafe.Pointer(v100))) << bits
  17580. bits += uint32(8)
  17581. }
  17582. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && hold != (*Tinflate_state)(unsafe.Pointer(state)).Ftotal&uint64(0xffffffff) {
  17583. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 444
  17584. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17585. goto _35
  17586. }
  17587. hold = uint64(0)
  17588. bits = uint32(0)
  17589. }
  17590. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DONE)
  17591. /* fallthrough */
  17592. _30:
  17593. ;
  17594. ret = int32(m_Z_STREAM_END)
  17595. goto inf_leave
  17596. _31:
  17597. ;
  17598. ret = -int32(3)
  17599. goto inf_leave
  17600. _32:
  17601. ;
  17602. return -int32(4)
  17603. _34:
  17604. ;
  17605. /* fallthrough */
  17606. _33:
  17607. ;
  17608. return -int32(2)
  17609. _35:
  17610. ;
  17611. goto _1
  17612. _1:
  17613. }
  17614. /*
  17615. Return from inflate(), updating the total counts and the check value.
  17616. If there was no progress during the inflate() call, return a buffer
  17617. error. Call updatewindow() to create and/or update the window state.
  17618. Note: a memory error from inflate() is non-recoverable.
  17619. */
  17620. goto inf_leave
  17621. inf_leave:
  17622. ;
  17623. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  17624. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  17625. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  17626. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  17627. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  17628. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  17629. if (*Tinflate_state)(unsafe.Pointer(state)).Fwsize != 0 || out != (*Tz_stream)(unsafe.Pointer(strm)).Favail_out && (*Tinflate_state)(unsafe.Pointer(state)).Fmode < int32(_BAD) && ((*Tinflate_state)(unsafe.Pointer(state)).Fmode < int32(_CHECK) || flush != int32(m_Z_FINISH)) {
  17630. if _updatewindow(tls, strm, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out, out-(*Tz_stream)(unsafe.Pointer(strm)).Favail_out) != 0 {
  17631. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MEM)
  17632. return -int32(4)
  17633. }
  17634. }
  17635. in -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  17636. out -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  17637. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(in)
  17638. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(out)
  17639. *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
  17640. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && out != 0 {
  17641. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  17642. v102 = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
  17643. } else {
  17644. v102 = Xadler32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
  17645. }
  17646. v101 = v102
  17647. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v101
  17648. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v101
  17649. }
  17650. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  17651. v103 = int32(64)
  17652. } else {
  17653. v103 = 0
  17654. }
  17655. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  17656. v104 = int32(128)
  17657. } else {
  17658. v104 = 0
  17659. }
  17660. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_LEN_) || (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_COPY_) {
  17661. v105 = int32(256)
  17662. } else {
  17663. v105 = 0
  17664. }
  17665. (*Tz_stream)(unsafe.Pointer(strm)).Fdata_type = libc.Int32FromUint32((*Tinflate_state)(unsafe.Pointer(state)).Fbits) + v103 + v104 + v105
  17666. if (in == uint32(0) && out == uint32(0) || flush == int32(m_Z_FINISH)) && ret == m_Z_OK {
  17667. ret = -int32(5)
  17668. }
  17669. return ret
  17670. }
  17671. /* buffer for gzip header crc calculation */
  17672. var _order1 = [19]uint16{
  17673. 0: uint16(16),
  17674. 1: uint16(17),
  17675. 2: uint16(18),
  17676. 4: uint16(8),
  17677. 5: uint16(7),
  17678. 6: uint16(9),
  17679. 7: uint16(6),
  17680. 8: uint16(10),
  17681. 9: uint16(5),
  17682. 10: uint16(11),
  17683. 11: uint16(4),
  17684. 12: uint16(12),
  17685. 13: uint16(3),
  17686. 14: uint16(13),
  17687. 15: uint16(2),
  17688. 16: uint16(14),
  17689. 17: uint16(1),
  17690. 18: uint16(15),
  17691. }
  17692. func XinflateEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  17693. var state uintptr
  17694. _ = state
  17695. if _inflateStateCheck(tls, strm) != 0 {
  17696. return -int32(2)
  17697. }
  17698. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  17699. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) {
  17700. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow)
  17701. }
  17702. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  17703. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  17704. return m_Z_OK
  17705. }
  17706. func XinflateGetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength uintptr) (r int32) {
  17707. var state uintptr
  17708. _ = state
  17709. /* check state */
  17710. if _inflateStateCheck(tls, strm) != 0 {
  17711. return -int32(2)
  17712. }
  17713. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  17714. /* copy dictionary */
  17715. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave != 0 && dictionary != uintptr(m_Z_NULL) {
  17716. libc.X__builtin___memcpy_chk(tls, dictionary, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwhave-(*Tinflate_state)(unsafe.Pointer(state)).Fwnext), ^t__predefined_size_t(0))
  17717. libc.X__builtin___memcpy_chk(tls, dictionary+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwhave)-uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), ^t__predefined_size_t(0))
  17718. }
  17719. if dictLength != uintptr(m_Z_NULL) {
  17720. *(*TuInt)(unsafe.Pointer(dictLength)) = (*Tinflate_state)(unsafe.Pointer(state)).Fwhave
  17721. }
  17722. return m_Z_OK
  17723. }
  17724. func XinflateSetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength TuInt) (r int32) {
  17725. var dictid uint64
  17726. var ret int32
  17727. var state uintptr
  17728. _, _, _ = dictid, ret, state
  17729. /* check state */
  17730. if _inflateStateCheck(tls, strm) != 0 {
  17731. return -int32(2)
  17732. }
  17733. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  17734. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fmode != int32(_DICT) {
  17735. return -int32(2)
  17736. }
  17737. /* check for correct dictionary identifier */
  17738. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_DICT) {
  17739. dictid = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  17740. dictid = Xadler32(tls, dictid, dictionary, dictLength)
  17741. if dictid != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck {
  17742. return -int32(3)
  17743. }
  17744. }
  17745. /* copy dictionary to window using updatewindow(), which will amend the
  17746. existing dictionary if appropriate */
  17747. ret = _updatewindow(tls, strm, dictionary+uintptr(dictLength), dictLength)
  17748. if ret != 0 {
  17749. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MEM)
  17750. return -int32(4)
  17751. }
  17752. (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict = int32(1)
  17753. return m_Z_OK
  17754. }
  17755. func XinflateGetHeader(tls *libc.TLS, strm Tz_streamp, head Tgz_headerp) (r int32) {
  17756. var state uintptr
  17757. _ = state
  17758. /* check state */
  17759. if _inflateStateCheck(tls, strm) != 0 {
  17760. return -int32(2)
  17761. }
  17762. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  17763. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(2) == 0 {
  17764. return -int32(2)
  17765. }
  17766. /* save header structure */
  17767. (*Tinflate_state)(unsafe.Pointer(state)).Fhead = head
  17768. (*Tgz_header)(unsafe.Pointer(head)).Fdone = 0
  17769. return m_Z_OK
  17770. }
  17771. // C documentation
  17772. //
  17773. // /*
  17774. // Search buf[0..len-1] for the pattern: 0, 0, 0xff, 0xff. Return when found
  17775. // or when out of input. When called, *have is the number of pattern bytes
  17776. // found in order so far, in 0..3. On return *have is updated to the new
  17777. // state. If on return *have equals four, then the pattern was found and the
  17778. // return value is how many bytes were read including the last byte of the
  17779. // pattern. If *have is less than four, then the pattern has not been found
  17780. // yet and the return value is len. In the latter case, syncsearch() can be
  17781. // called again with more data and the *have state. *have is initialized to
  17782. // zero for the first call.
  17783. // */
  17784. func _syncsearch(tls *libc.TLS, have uintptr, buf uintptr, len1 uint32) (r uint32) {
  17785. var got, next uint32
  17786. var v1 int32
  17787. _, _, _ = got, next, v1
  17788. got = *(*uint32)(unsafe.Pointer(have))
  17789. next = uint32(0)
  17790. for next < len1 && got < uint32(4) {
  17791. if got < uint32(2) {
  17792. v1 = 0
  17793. } else {
  17794. v1 = int32(0xff)
  17795. }
  17796. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(buf + uintptr(next)))) == v1 {
  17797. got++
  17798. } else {
  17799. if *(*uint8)(unsafe.Pointer(buf + uintptr(next))) != 0 {
  17800. got = uint32(0)
  17801. } else {
  17802. got = uint32(4) - got
  17803. }
  17804. }
  17805. next++
  17806. }
  17807. *(*uint32)(unsafe.Pointer(have)) = got
  17808. return next
  17809. }
  17810. func XinflateSync(tls *libc.TLS, strm Tz_streamp) (r int32) {
  17811. bp := tls.Alloc(16)
  17812. defer tls.Free(16)
  17813. var flags int32
  17814. var in, out uint64
  17815. var len1, v1 uint32
  17816. var state uintptr
  17817. var _ /* buf at bp+0 */ [4]uint8
  17818. _, _, _, _, _, _ = flags, in, len1, out, state, v1
  17819. /* check parameters */
  17820. if _inflateStateCheck(tls, strm) != 0 {
  17821. return -int32(2)
  17822. }
  17823. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  17824. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) && (*Tinflate_state)(unsafe.Pointer(state)).Fbits < uint32(8) {
  17825. return -int32(5)
  17826. }
  17827. /* if first time, start search in bit buffer */
  17828. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode != int32(_SYNC) {
  17829. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_SYNC)
  17830. *(*uint64)(unsafe.Pointer(state + 80)) >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fbits & uint32(7))
  17831. *(*uint32)(unsafe.Pointer(state + 88)) -= (*Tinflate_state)(unsafe.Pointer(state)).Fbits & uint32(7)
  17832. len1 = uint32(0)
  17833. for (*Tinflate_state)(unsafe.Pointer(state)).Fbits >= uint32(8) {
  17834. v1 = len1
  17835. len1++
  17836. (*(*[4]uint8)(unsafe.Pointer(bp)))[v1] = uint8((*Tinflate_state)(unsafe.Pointer(state)).Fhold)
  17837. *(*uint64)(unsafe.Pointer(state + 80)) >>= uint64(8)
  17838. *(*uint32)(unsafe.Pointer(state + 88)) -= uint32(8)
  17839. }
  17840. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  17841. _syncsearch(tls, state+140, bp, len1)
  17842. }
  17843. /* search available input */
  17844. len1 = _syncsearch(tls, state+140, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, (*Tz_stream)(unsafe.Pointer(strm)).Favail_in)
  17845. *(*TuInt)(unsafe.Pointer(strm + 8)) -= len1
  17846. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len1)
  17847. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(len1)
  17848. /* return no joy or set up to restart inflate() on a new block */
  17849. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave != uint32(4) {
  17850. return -int32(3)
  17851. }
  17852. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags == -int32(1) {
  17853. (*Tinflate_state)(unsafe.Pointer(state)).Fwrap = 0
  17854. } else {
  17855. *(*int32)(unsafe.Pointer(state + 16)) &= ^libc.Int32FromInt32(4)
  17856. } /* no point in computing a check value now */
  17857. flags = (*Tinflate_state)(unsafe.Pointer(state)).Fflags
  17858. in = (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in
  17859. out = (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out
  17860. XinflateReset(tls, strm)
  17861. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = in
  17862. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = out
  17863. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = flags
  17864. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  17865. return m_Z_OK
  17866. }
  17867. // C documentation
  17868. //
  17869. // /*
  17870. // Returns true if inflate is currently at the end of a block generated by
  17871. // Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP
  17872. // implementation to provide an additional safety check. PPP uses
  17873. // Z_SYNC_FLUSH but removes the length bytes of the resulting empty stored
  17874. // block. When decompressing, PPP checks that at the end of input packet,
  17875. // inflate is waiting for these length bytes.
  17876. // */
  17877. func XinflateSyncPoint(tls *libc.TLS, strm Tz_streamp) (r int32) {
  17878. var state uintptr
  17879. _ = state
  17880. if _inflateStateCheck(tls, strm) != 0 {
  17881. return -int32(2)
  17882. }
  17883. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  17884. return libc.BoolInt32((*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_STORED) && (*Tinflate_state)(unsafe.Pointer(state)).Fbits == uint32(0))
  17885. }
  17886. func XinflateCopy(tls *libc.TLS, dest Tz_streamp, source Tz_streamp) (r int32) {
  17887. var copy1, state, window uintptr
  17888. var wsize uint32
  17889. _, _, _, _ = copy1, state, window, wsize
  17890. /* check input */
  17891. if _inflateStateCheck(tls, source) != 0 || dest == uintptr(m_Z_NULL) {
  17892. return -int32(2)
  17893. }
  17894. state = (*Tz_stream)(unsafe.Pointer(source)).Fstate
  17895. /* allocate space */
  17896. copy1 = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(7160)))
  17897. if copy1 == uintptr(m_Z_NULL) {
  17898. return -int32(4)
  17899. }
  17900. window = uintptr(m_Z_NULL)
  17901. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) {
  17902. window = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fwbits, uint32(libc.Uint64FromInt64(1)))
  17903. if window == uintptr(m_Z_NULL) {
  17904. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, copy1)
  17905. return -int32(4)
  17906. }
  17907. }
  17908. /* copy state */
  17909. libc.X__builtin___memcpy_chk(tls, dest, source, uint64(112), ^t__predefined_size_t(0))
  17910. libc.X__builtin___memcpy_chk(tls, copy1, state, uint64(7160), ^t__predefined_size_t(0))
  17911. (*Tinflate_state)(unsafe.Pointer(copy1)).Fstrm = dest
  17912. if (*Tinflate_state)(unsafe.Pointer(state)).Flencode >= state+1368 && (*Tinflate_state)(unsafe.Pointer(state)).Flencode <= state+1368+uintptr(libc.Int32FromInt32(m_ENOUGH_LENS)+libc.Int32FromInt32(m_ENOUGH_DISTS))*4-uintptr(1)*4 {
  17913. (*Tinflate_state)(unsafe.Pointer(copy1)).Flencode = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Flencode)-t__predefined_ptrdiff_t(state+1368))/4)*4
  17914. (*Tinflate_state)(unsafe.Pointer(copy1)).Fdistcode = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode)-t__predefined_ptrdiff_t(state+1368))/4)*4
  17915. }
  17916. (*Tinflate_state)(unsafe.Pointer(copy1)).Fnext = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Fnext)-t__predefined_ptrdiff_t(state+1368))/4)*4
  17917. if window != uintptr(m_Z_NULL) {
  17918. wsize = uint32(1) << (*Tinflate_state)(unsafe.Pointer(state)).Fwbits
  17919. libc.X__builtin___memcpy_chk(tls, window, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, uint64(wsize), ^t__predefined_size_t(0))
  17920. }
  17921. (*Tinflate_state)(unsafe.Pointer(copy1)).Fwindow = window
  17922. (*Tz_stream)(unsafe.Pointer(dest)).Fstate = copy1
  17923. return m_Z_OK
  17924. }
  17925. func XinflateUndermine(tls *libc.TLS, strm Tz_streamp, subvert int32) (r int32) {
  17926. var state uintptr
  17927. _ = state
  17928. if _inflateStateCheck(tls, strm) != 0 {
  17929. return -int32(2)
  17930. }
  17931. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  17932. _ = subvert
  17933. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  17934. return -int32(3)
  17935. }
  17936. func XinflateValidate(tls *libc.TLS, strm Tz_streamp, check int32) (r int32) {
  17937. var state uintptr
  17938. _ = state
  17939. if _inflateStateCheck(tls, strm) != 0 {
  17940. return -int32(2)
  17941. }
  17942. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  17943. if check != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 {
  17944. *(*int32)(unsafe.Pointer(state + 16)) |= int32(4)
  17945. } else {
  17946. *(*int32)(unsafe.Pointer(state + 16)) &= ^libc.Int32FromInt32(4)
  17947. }
  17948. return m_Z_OK
  17949. }
  17950. func XinflateMark(tls *libc.TLS, strm Tz_streamp) (r int64) {
  17951. var state uintptr
  17952. var v1, v2 uint32
  17953. _, _, _ = state, v1, v2
  17954. if _inflateStateCheck(tls, strm) != 0 {
  17955. return -(libc.Int64FromInt64(1) << libc.Int32FromInt32(16))
  17956. }
  17957. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  17958. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_COPY) {
  17959. v1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  17960. } else {
  17961. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_MATCH) {
  17962. v2 = (*Tinflate_state)(unsafe.Pointer(state)).Fwas - (*Tinflate_state)(unsafe.Pointer(state)).Flength
  17963. } else {
  17964. v2 = uint32(0)
  17965. }
  17966. v1 = v2
  17967. }
  17968. return libc.Int64FromUint64(libc.Uint64FromInt64(int64((*Tinflate_state)(unsafe.Pointer(state)).Fback))<<libc.Int32FromInt32(16)) + libc.Int64FromUint32(v1)
  17969. }
  17970. func XinflateCodesUsed(tls *libc.TLS, strm Tz_streamp) (r uint64) {
  17971. var state uintptr
  17972. _ = state
  17973. if _inflateStateCheck(tls, strm) != 0 {
  17974. return libc.Uint64FromInt32(-libc.Int32FromInt32(1))
  17975. }
  17976. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  17977. return libc.Uint64FromInt64((int64((*Tinflate_state)(unsafe.Pointer(state)).Fnext) - t__predefined_ptrdiff_t(state+1368)) / 4)
  17978. }
  17979. const m_MAXBITS = 15
  17980. /*
  17981. If you use the zlib library in a product, an acknowledgment is welcome
  17982. in the documentation of your product. If for some reason you cannot
  17983. include such an acknowledgment, I would appreciate that you keep this
  17984. copyright string in the executable of your product.
  17985. */
  17986. // C documentation
  17987. //
  17988. // /*
  17989. // Build a set of tables to decode the provided canonical Huffman code.
  17990. // The code lengths are lens[0..codes-1]. The result starts at *table,
  17991. // whose indices are 0..2^bits-1. work is a writable array of at least
  17992. // lens shorts, which is used as a work area. type is the type of code
  17993. // to be generated, CODES, LENS, or DISTS. On return, zero is success,
  17994. // -1 is an invalid code, and +1 means that ENOUGH isn't enough. table
  17995. // on return points to the next available entry's address. bits is the
  17996. // requested root table index bits, and on return it is the actual root
  17997. // table index bits. It will differ if the request is greater than the
  17998. // longest code or if it is less than the shortest code.
  17999. // */
  18000. func Xinflate_table(tls *libc.TLS, type1 Tcodetype, lens uintptr, codes uint32, table uintptr, bits uintptr, work uintptr) (r int32) {
  18001. bp := tls.Alloc(64)
  18002. defer tls.Free(64)
  18003. var base, extra, next, v13, v14, v17, v4, v5, v6, v7 uintptr
  18004. var curr, drop, fill, huff, incr, len1, low, mask, match, max, min, root, sym, used uint32
  18005. var here Tcode
  18006. var left int32
  18007. var v12, v16 uint16
  18008. var _ /* count at bp+0 */ [16]uint16
  18009. var _ /* offs at bp+32 */ [16]uint16
  18010. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, curr, drop, extra, fill, here, huff, incr, left, len1, low, mask, match, max, min, next, root, sym, used, v12, v13, v14, v16, v17, v4, v5, v6, v7
  18011. /*
  18012. Process a set of code lengths to create a canonical Huffman code. The
  18013. code lengths are lens[0..codes-1]. Each length corresponds to the
  18014. symbols 0..codes-1. The Huffman code is generated by first sorting the
  18015. symbols by length from short to long, and retaining the symbol order
  18016. for codes with equal lengths. Then the code starts with all zero bits
  18017. for the first code of the shortest length, and the codes are integer
  18018. increments for the same length, and zeros are appended as the length
  18019. increases. For the deflate format, these bits are stored backwards
  18020. from their more natural integer increment ordering, and so when the
  18021. decoding tables are built in the large loop below, the integer codes
  18022. are incremented backwards.
  18023. This routine assumes, but does not check, that all of the entries in
  18024. lens[] are in the range 0..MAXBITS. The caller must assure this.
  18025. 1..MAXBITS is interpreted as that code length. zero means that that
  18026. symbol does not occur in this code.
  18027. The codes are sorted by computing a count of codes for each length,
  18028. creating from that a table of starting indices for each length in the
  18029. sorted table, and then entering the symbols in order in the sorted
  18030. table. The sorted table is work[], with that space being provided by
  18031. the caller.
  18032. The length counts are used for other purposes as well, i.e. finding
  18033. the minimum and maximum length codes, determining if there are any
  18034. codes at all, checking for a valid set of lengths, and looking ahead
  18035. at length counts to determine sub-table sizes when building the
  18036. decoding tables.
  18037. */
  18038. /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
  18039. len1 = uint32(0)
  18040. for {
  18041. if !(len1 <= uint32(m_MAXBITS)) {
  18042. break
  18043. }
  18044. (*(*[16]uint16)(unsafe.Pointer(bp)))[len1] = uint16(0)
  18045. goto _1
  18046. _1:
  18047. ;
  18048. len1++
  18049. }
  18050. sym = uint32(0)
  18051. for {
  18052. if !(sym < codes) {
  18053. break
  18054. }
  18055. (*(*[16]uint16)(unsafe.Pointer(bp)))[*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))]++
  18056. goto _2
  18057. _2:
  18058. ;
  18059. sym++
  18060. }
  18061. /* bound code lengths, force root to be within code lengths */
  18062. root = *(*uint32)(unsafe.Pointer(bits))
  18063. max = uint32(m_MAXBITS)
  18064. for {
  18065. if !(max >= uint32(1)) {
  18066. break
  18067. }
  18068. if libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[max]) != 0 {
  18069. break
  18070. }
  18071. goto _3
  18072. _3:
  18073. ;
  18074. max--
  18075. }
  18076. if root > max {
  18077. root = max
  18078. }
  18079. if max == uint32(0) { /* no symbols to code at all */
  18080. here.Fop = libc.Uint8FromInt32(64) /* invalid code marker */
  18081. here.Fbits = libc.Uint8FromInt32(1)
  18082. here.Fval = libc.Uint16FromInt32(0)
  18083. v5 = table
  18084. v4 = *(*uintptr)(unsafe.Pointer(v5))
  18085. *(*uintptr)(unsafe.Pointer(v5)) += 4
  18086. *(*Tcode)(unsafe.Pointer(v4)) = here /* make a table to force an error */
  18087. v7 = table
  18088. v6 = *(*uintptr)(unsafe.Pointer(v7))
  18089. *(*uintptr)(unsafe.Pointer(v7)) += 4
  18090. *(*Tcode)(unsafe.Pointer(v6)) = here
  18091. *(*uint32)(unsafe.Pointer(bits)) = uint32(1)
  18092. return 0 /* no symbols, but wait for decoding to report error */
  18093. }
  18094. min = uint32(1)
  18095. for {
  18096. if !(min < max) {
  18097. break
  18098. }
  18099. if libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[min]) != 0 {
  18100. break
  18101. }
  18102. goto _8
  18103. _8:
  18104. ;
  18105. min++
  18106. }
  18107. if root < min {
  18108. root = min
  18109. }
  18110. /* check for an over-subscribed or incomplete set of lengths */
  18111. left = int32(1)
  18112. len1 = uint32(1)
  18113. for {
  18114. if !(len1 <= uint32(m_MAXBITS)) {
  18115. break
  18116. }
  18117. left <<= int32(1)
  18118. left -= libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[len1])
  18119. if left < 0 {
  18120. return -int32(1)
  18121. } /* over-subscribed */
  18122. goto _9
  18123. _9:
  18124. ;
  18125. len1++
  18126. }
  18127. if left > 0 && (type1 == int32(_CODES) || max != uint32(1)) {
  18128. return -int32(1)
  18129. } /* incomplete set */
  18130. /* generate offsets into symbol table for each length for sorting */
  18131. (*(*[16]uint16)(unsafe.Pointer(bp + 32)))[int32(1)] = uint16(0)
  18132. len1 = uint32(1)
  18133. for {
  18134. if !(len1 < uint32(m_MAXBITS)) {
  18135. break
  18136. }
  18137. (*(*[16]uint16)(unsafe.Pointer(bp + 32)))[len1+uint32(1)] = libc.Uint16FromInt32(libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp + 32)))[len1]) + libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[len1]))
  18138. goto _10
  18139. _10:
  18140. ;
  18141. len1++
  18142. }
  18143. /* sort symbols by length, by symbol order within each length */
  18144. sym = uint32(0)
  18145. for {
  18146. if !(sym < codes) {
  18147. break
  18148. }
  18149. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))) != 0 {
  18150. v13 = bp + 32 + uintptr(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2)))*2
  18151. v12 = *(*uint16)(unsafe.Pointer(v13))
  18152. *(*uint16)(unsafe.Pointer(v13))++
  18153. *(*uint16)(unsafe.Pointer(work + uintptr(v12)*2)) = uint16(sym)
  18154. }
  18155. goto _11
  18156. _11:
  18157. ;
  18158. sym++
  18159. }
  18160. /*
  18161. Create and fill in decoding tables. In this loop, the table being
  18162. filled is at next and has curr index bits. The code being used is huff
  18163. with length len. That code is converted to an index by dropping drop
  18164. bits off of the bottom. For codes where len is less than drop + curr,
  18165. those top drop + curr - len bits are incremented through all values to
  18166. fill the table with replicated entries.
  18167. root is the number of index bits for the root table. When len exceeds
  18168. root, sub-tables are created pointed to by the root entry with an index
  18169. of the low root bits of huff. This is saved in low to check for when a
  18170. new sub-table should be started. drop is zero when the root table is
  18171. being filled, and drop is root when sub-tables are being filled.
  18172. When a new sub-table is needed, it is necessary to look ahead in the
  18173. code lengths to determine what size sub-table is needed. The length
  18174. counts are used for this, and so count[] is decremented as codes are
  18175. entered in the tables.
  18176. used keeps track of how many table entries have been allocated from the
  18177. provided *table space. It is checked for LENS and DIST tables against
  18178. the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
  18179. the initial root table size constants. See the comments in inftrees.h
  18180. for more information.
  18181. sym increments through all symbols, and the loop terminates when
  18182. all codes of length max, i.e. all codes, have been processed. This
  18183. routine permits incomplete codes, so another loop after this one fills
  18184. in the rest of the decoding tables with invalid code markers.
  18185. */
  18186. /* set up for code type */
  18187. switch type1 {
  18188. case int32(_CODES):
  18189. v14 = work
  18190. extra = v14
  18191. base = v14 /* dummy value--not used */
  18192. match = uint32(20)
  18193. case int32(_LENS):
  18194. base = uintptr(unsafe.Pointer(&_lbase))
  18195. extra = uintptr(unsafe.Pointer(&_lext))
  18196. match = uint32(257)
  18197. default: /* DISTS */
  18198. base = uintptr(unsafe.Pointer(&_dbase))
  18199. extra = uintptr(unsafe.Pointer(&_dext))
  18200. match = uint32(0)
  18201. }
  18202. /* initialize state for loop */
  18203. huff = uint32(0) /* starting code */
  18204. sym = uint32(0) /* starting code symbol */
  18205. len1 = min /* starting code length */
  18206. next = *(*uintptr)(unsafe.Pointer(table)) /* current table to fill in */
  18207. curr = root /* current table index bits */
  18208. drop = uint32(0) /* current bits to drop from code for index */
  18209. low = libc.Uint32FromInt32(-libc.Int32FromInt32(1)) /* trigger new sub-table when len > root */
  18210. used = uint32(1) << root /* use root table entries */
  18211. mask = used - uint32(1) /* mask for comparing low */
  18212. /* check available table space */
  18213. if type1 == int32(_LENS) && used > uint32(m_ENOUGH_LENS) || type1 == int32(_DISTS) && used > uint32(m_ENOUGH_DISTS) {
  18214. return int32(1)
  18215. }
  18216. /* process all codes and make table entries */
  18217. for {
  18218. /* create table entry */
  18219. here.Fbits = uint8(len1 - drop)
  18220. if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))+uint32(1) < match {
  18221. here.Fop = libc.Uint8FromInt32(0)
  18222. here.Fval = *(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))
  18223. } else {
  18224. if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))) >= match {
  18225. here.Fop = uint8(*(*uint16)(unsafe.Pointer(extra + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2)))
  18226. here.Fval = *(*uint16)(unsafe.Pointer(base + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2))
  18227. } else {
  18228. here.Fop = libc.Uint8FromInt32(libc.Int32FromInt32(32) + libc.Int32FromInt32(64)) /* end of block */
  18229. here.Fval = uint16(0)
  18230. }
  18231. }
  18232. /* replicate for those indices with low len bits equal to huff */
  18233. incr = uint32(1) << (len1 - drop)
  18234. fill = uint32(1) << curr
  18235. min = fill /* save offset to next table */
  18236. for cond := true; cond; cond = fill != uint32(0) {
  18237. fill -= incr
  18238. *(*Tcode)(unsafe.Pointer(next + uintptr(huff>>drop+fill)*4)) = here
  18239. }
  18240. /* backwards increment the len-bit code huff */
  18241. incr = uint32(1) << (len1 - uint32(1))
  18242. for huff&incr != 0 {
  18243. incr >>= uint32(1)
  18244. }
  18245. if incr != uint32(0) {
  18246. huff &= incr - uint32(1)
  18247. huff += incr
  18248. } else {
  18249. huff = uint32(0)
  18250. }
  18251. /* go to next symbol, update count, len */
  18252. sym++
  18253. v17 = bp + uintptr(len1)*2
  18254. *(*uint16)(unsafe.Pointer(v17))--
  18255. v16 = *(*uint16)(unsafe.Pointer(v17))
  18256. if libc.Int32FromUint16(v16) == 0 {
  18257. if len1 == max {
  18258. break
  18259. }
  18260. len1 = uint32(*(*uint16)(unsafe.Pointer(lens + uintptr(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))*2)))
  18261. }
  18262. /* create new sub-table if needed */
  18263. if len1 > root && huff&mask != low {
  18264. /* if first time, transition to sub-tables */
  18265. if drop == uint32(0) {
  18266. drop = root
  18267. }
  18268. /* increment past last table */
  18269. next += uintptr(min) * 4 /* here min is 1 << curr */
  18270. /* determine length of next table */
  18271. curr = len1 - drop
  18272. left = libc.Int32FromInt32(1) << curr
  18273. for curr+drop < max {
  18274. left -= libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[curr+drop])
  18275. if left <= 0 {
  18276. break
  18277. }
  18278. curr++
  18279. left <<= int32(1)
  18280. }
  18281. /* check for enough space */
  18282. used += uint32(1) << curr
  18283. if type1 == int32(_LENS) && used > uint32(m_ENOUGH_LENS) || type1 == int32(_DISTS) && used > uint32(m_ENOUGH_DISTS) {
  18284. return int32(1)
  18285. }
  18286. /* point entry in root table to sub-table */
  18287. low = huff & mask
  18288. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fop = uint8(curr)
  18289. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fbits = uint8(root)
  18290. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fval = libc.Uint16FromInt64((int64(next) - int64(*(*uintptr)(unsafe.Pointer(table)))) / 4)
  18291. }
  18292. goto _15
  18293. _15:
  18294. }
  18295. /* fill in remaining table entry if code is incomplete (guaranteed to have
  18296. at most one remaining entry, since if the code is incomplete, the
  18297. maximum code length that was allowed to get this far is one bit) */
  18298. if huff != uint32(0) {
  18299. here.Fop = libc.Uint8FromInt32(64) /* invalid code marker */
  18300. here.Fbits = uint8(len1 - drop)
  18301. here.Fval = libc.Uint16FromInt32(0)
  18302. *(*Tcode)(unsafe.Pointer(next + uintptr(huff)*4)) = here
  18303. }
  18304. /* set return parameters */
  18305. *(*uintptr)(unsafe.Pointer(table)) += uintptr(used) * 4
  18306. *(*uint32)(unsafe.Pointer(bits)) = root
  18307. return 0
  18308. }
  18309. /* offsets in table for each length */
  18310. var _lbase = [31]uint16{
  18311. 0: uint16(3),
  18312. 1: uint16(4),
  18313. 2: uint16(5),
  18314. 3: uint16(6),
  18315. 4: uint16(7),
  18316. 5: uint16(8),
  18317. 6: uint16(9),
  18318. 7: uint16(10),
  18319. 8: uint16(11),
  18320. 9: uint16(13),
  18321. 10: uint16(15),
  18322. 11: uint16(17),
  18323. 12: uint16(19),
  18324. 13: uint16(23),
  18325. 14: uint16(27),
  18326. 15: uint16(31),
  18327. 16: uint16(35),
  18328. 17: uint16(43),
  18329. 18: uint16(51),
  18330. 19: uint16(59),
  18331. 20: uint16(67),
  18332. 21: uint16(83),
  18333. 22: uint16(99),
  18334. 23: uint16(115),
  18335. 24: uint16(131),
  18336. 25: uint16(163),
  18337. 26: uint16(195),
  18338. 27: uint16(227),
  18339. 28: uint16(258),
  18340. }
  18341. var _lext = [31]uint16{
  18342. 0: uint16(16),
  18343. 1: uint16(16),
  18344. 2: uint16(16),
  18345. 3: uint16(16),
  18346. 4: uint16(16),
  18347. 5: uint16(16),
  18348. 6: uint16(16),
  18349. 7: uint16(16),
  18350. 8: uint16(17),
  18351. 9: uint16(17),
  18352. 10: uint16(17),
  18353. 11: uint16(17),
  18354. 12: uint16(18),
  18355. 13: uint16(18),
  18356. 14: uint16(18),
  18357. 15: uint16(18),
  18358. 16: uint16(19),
  18359. 17: uint16(19),
  18360. 18: uint16(19),
  18361. 19: uint16(19),
  18362. 20: uint16(20),
  18363. 21: uint16(20),
  18364. 22: uint16(20),
  18365. 23: uint16(20),
  18366. 24: uint16(21),
  18367. 25: uint16(21),
  18368. 26: uint16(21),
  18369. 27: uint16(21),
  18370. 28: uint16(16),
  18371. 29: uint16(203),
  18372. 30: uint16(77),
  18373. }
  18374. var _dbase = [32]uint16{
  18375. 0: uint16(1),
  18376. 1: uint16(2),
  18377. 2: uint16(3),
  18378. 3: uint16(4),
  18379. 4: uint16(5),
  18380. 5: uint16(7),
  18381. 6: uint16(9),
  18382. 7: uint16(13),
  18383. 8: uint16(17),
  18384. 9: uint16(25),
  18385. 10: uint16(33),
  18386. 11: uint16(49),
  18387. 12: uint16(65),
  18388. 13: uint16(97),
  18389. 14: uint16(129),
  18390. 15: uint16(193),
  18391. 16: uint16(257),
  18392. 17: uint16(385),
  18393. 18: uint16(513),
  18394. 19: uint16(769),
  18395. 20: uint16(1025),
  18396. 21: uint16(1537),
  18397. 22: uint16(2049),
  18398. 23: uint16(3073),
  18399. 24: uint16(4097),
  18400. 25: uint16(6145),
  18401. 26: uint16(8193),
  18402. 27: uint16(12289),
  18403. 28: uint16(16385),
  18404. 29: uint16(24577),
  18405. }
  18406. var _dext = [32]uint16{
  18407. 0: uint16(16),
  18408. 1: uint16(16),
  18409. 2: uint16(16),
  18410. 3: uint16(16),
  18411. 4: uint16(17),
  18412. 5: uint16(17),
  18413. 6: uint16(18),
  18414. 7: uint16(18),
  18415. 8: uint16(19),
  18416. 9: uint16(19),
  18417. 10: uint16(20),
  18418. 11: uint16(20),
  18419. 12: uint16(21),
  18420. 13: uint16(21),
  18421. 14: uint16(22),
  18422. 15: uint16(22),
  18423. 16: uint16(23),
  18424. 17: uint16(23),
  18425. 18: uint16(24),
  18426. 19: uint16(24),
  18427. 20: uint16(25),
  18428. 21: uint16(25),
  18429. 22: uint16(26),
  18430. 23: uint16(26),
  18431. 24: uint16(27),
  18432. 25: uint16(27),
  18433. 26: uint16(28),
  18434. 27: uint16(28),
  18435. 28: uint16(29),
  18436. 29: uint16(29),
  18437. 30: uint16(64),
  18438. 31: uint16(64),
  18439. }
  18440. const m_DIST_CODE_LEN = 512
  18441. const m_END_BLOCK = 256
  18442. const m_MAX_BL_BITS = 7
  18443. const m_REPZ_11_138 = 18
  18444. const m_REPZ_3_10 = 17
  18445. const m_REP_3_6 = 16
  18446. const m_SMALLEST = 1
  18447. const m_TCONST = "const"
  18448. type Tstatic_tree_desc = struct {
  18449. Fstatic_tree uintptr
  18450. Fextra_bits uintptr
  18451. Fextra_base int32
  18452. Felems int32
  18453. Fmax_length int32
  18454. }
  18455. type Tstatic_tree_desc_s = Tstatic_tree_desc
  18456. /* ===========================================================================
  18457. * Constants
  18458. */
  18459. /* Bit length codes must not exceed MAX_BL_BITS bits */
  18460. /* end of block literal code */
  18461. /* repeat previous bit length 3-6 times (2 bits of repeat count) */
  18462. /* repeat a zero length 3-10 times (3 bits of repeat count) */
  18463. /* repeat a zero length 11-138 times (7 bits of repeat count) */
  18464. var _extra_lbits = [29]int32{
  18465. 8: int32(1),
  18466. 9: int32(1),
  18467. 10: int32(1),
  18468. 11: int32(1),
  18469. 12: int32(2),
  18470. 13: int32(2),
  18471. 14: int32(2),
  18472. 15: int32(2),
  18473. 16: int32(3),
  18474. 17: int32(3),
  18475. 18: int32(3),
  18476. 19: int32(3),
  18477. 20: int32(4),
  18478. 21: int32(4),
  18479. 22: int32(4),
  18480. 23: int32(4),
  18481. 24: int32(5),
  18482. 25: int32(5),
  18483. 26: int32(5),
  18484. 27: int32(5),
  18485. }
  18486. var _extra_dbits = [30]int32{
  18487. 4: int32(1),
  18488. 5: int32(1),
  18489. 6: int32(2),
  18490. 7: int32(2),
  18491. 8: int32(3),
  18492. 9: int32(3),
  18493. 10: int32(4),
  18494. 11: int32(4),
  18495. 12: int32(5),
  18496. 13: int32(5),
  18497. 14: int32(6),
  18498. 15: int32(6),
  18499. 16: int32(7),
  18500. 17: int32(7),
  18501. 18: int32(8),
  18502. 19: int32(8),
  18503. 20: int32(9),
  18504. 21: int32(9),
  18505. 22: int32(10),
  18506. 23: int32(10),
  18507. 24: int32(11),
  18508. 25: int32(11),
  18509. 26: int32(12),
  18510. 27: int32(12),
  18511. 28: int32(13),
  18512. 29: int32(13),
  18513. }
  18514. var _extra_blbits = [19]int32{
  18515. 16: int32(2),
  18516. 17: int32(3),
  18517. 18: int32(7),
  18518. }
  18519. var _bl_order = [19]Tuch{
  18520. 0: uint8(16),
  18521. 1: uint8(17),
  18522. 2: uint8(18),
  18523. 4: uint8(8),
  18524. 5: uint8(7),
  18525. 6: uint8(9),
  18526. 7: uint8(6),
  18527. 8: uint8(10),
  18528. 9: uint8(5),
  18529. 10: uint8(11),
  18530. 11: uint8(4),
  18531. 12: uint8(12),
  18532. 13: uint8(3),
  18533. 14: uint8(13),
  18534. 15: uint8(2),
  18535. 16: uint8(14),
  18536. 17: uint8(1),
  18537. 18: uint8(15),
  18538. }
  18539. var _static_ltree = [288]Tct_data{
  18540. 0: {
  18541. Ffc: *(*struct {
  18542. Fcode [0]Tush
  18543. Ffreq Tush
  18544. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(12)})),
  18545. Fdl: *(*struct {
  18546. Flen1 [0]Tush
  18547. Fdad Tush
  18548. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18549. },
  18550. 1: {
  18551. Ffc: *(*struct {
  18552. Fcode [0]Tush
  18553. Ffreq Tush
  18554. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(140)})),
  18555. Fdl: *(*struct {
  18556. Flen1 [0]Tush
  18557. Fdad Tush
  18558. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18559. },
  18560. 2: {
  18561. Ffc: *(*struct {
  18562. Fcode [0]Tush
  18563. Ffreq Tush
  18564. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(76)})),
  18565. Fdl: *(*struct {
  18566. Flen1 [0]Tush
  18567. Fdad Tush
  18568. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18569. },
  18570. 3: {
  18571. Ffc: *(*struct {
  18572. Fcode [0]Tush
  18573. Ffreq Tush
  18574. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(204)})),
  18575. Fdl: *(*struct {
  18576. Flen1 [0]Tush
  18577. Fdad Tush
  18578. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18579. },
  18580. 4: {
  18581. Ffc: *(*struct {
  18582. Fcode [0]Tush
  18583. Ffreq Tush
  18584. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(44)})),
  18585. Fdl: *(*struct {
  18586. Flen1 [0]Tush
  18587. Fdad Tush
  18588. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18589. },
  18590. 5: {
  18591. Ffc: *(*struct {
  18592. Fcode [0]Tush
  18593. Ffreq Tush
  18594. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(172)})),
  18595. Fdl: *(*struct {
  18596. Flen1 [0]Tush
  18597. Fdad Tush
  18598. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18599. },
  18600. 6: {
  18601. Ffc: *(*struct {
  18602. Fcode [0]Tush
  18603. Ffreq Tush
  18604. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(108)})),
  18605. Fdl: *(*struct {
  18606. Flen1 [0]Tush
  18607. Fdad Tush
  18608. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18609. },
  18610. 7: {
  18611. Ffc: *(*struct {
  18612. Fcode [0]Tush
  18613. Ffreq Tush
  18614. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(236)})),
  18615. Fdl: *(*struct {
  18616. Flen1 [0]Tush
  18617. Fdad Tush
  18618. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18619. },
  18620. 8: {
  18621. Ffc: *(*struct {
  18622. Fcode [0]Tush
  18623. Ffreq Tush
  18624. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(28)})),
  18625. Fdl: *(*struct {
  18626. Flen1 [0]Tush
  18627. Fdad Tush
  18628. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18629. },
  18630. 9: {
  18631. Ffc: *(*struct {
  18632. Fcode [0]Tush
  18633. Ffreq Tush
  18634. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(156)})),
  18635. Fdl: *(*struct {
  18636. Flen1 [0]Tush
  18637. Fdad Tush
  18638. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18639. },
  18640. 10: {
  18641. Ffc: *(*struct {
  18642. Fcode [0]Tush
  18643. Ffreq Tush
  18644. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(92)})),
  18645. Fdl: *(*struct {
  18646. Flen1 [0]Tush
  18647. Fdad Tush
  18648. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18649. },
  18650. 11: {
  18651. Ffc: *(*struct {
  18652. Fcode [0]Tush
  18653. Ffreq Tush
  18654. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(220)})),
  18655. Fdl: *(*struct {
  18656. Flen1 [0]Tush
  18657. Fdad Tush
  18658. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18659. },
  18660. 12: {
  18661. Ffc: *(*struct {
  18662. Fcode [0]Tush
  18663. Ffreq Tush
  18664. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(60)})),
  18665. Fdl: *(*struct {
  18666. Flen1 [0]Tush
  18667. Fdad Tush
  18668. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18669. },
  18670. 13: {
  18671. Ffc: *(*struct {
  18672. Fcode [0]Tush
  18673. Ffreq Tush
  18674. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(188)})),
  18675. Fdl: *(*struct {
  18676. Flen1 [0]Tush
  18677. Fdad Tush
  18678. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18679. },
  18680. 14: {
  18681. Ffc: *(*struct {
  18682. Fcode [0]Tush
  18683. Ffreq Tush
  18684. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(124)})),
  18685. Fdl: *(*struct {
  18686. Flen1 [0]Tush
  18687. Fdad Tush
  18688. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18689. },
  18690. 15: {
  18691. Ffc: *(*struct {
  18692. Fcode [0]Tush
  18693. Ffreq Tush
  18694. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(252)})),
  18695. Fdl: *(*struct {
  18696. Flen1 [0]Tush
  18697. Fdad Tush
  18698. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18699. },
  18700. 16: {
  18701. Ffc: *(*struct {
  18702. Fcode [0]Tush
  18703. Ffreq Tush
  18704. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(2)})),
  18705. Fdl: *(*struct {
  18706. Flen1 [0]Tush
  18707. Fdad Tush
  18708. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18709. },
  18710. 17: {
  18711. Ffc: *(*struct {
  18712. Fcode [0]Tush
  18713. Ffreq Tush
  18714. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(130)})),
  18715. Fdl: *(*struct {
  18716. Flen1 [0]Tush
  18717. Fdad Tush
  18718. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18719. },
  18720. 18: {
  18721. Ffc: *(*struct {
  18722. Fcode [0]Tush
  18723. Ffreq Tush
  18724. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(66)})),
  18725. Fdl: *(*struct {
  18726. Flen1 [0]Tush
  18727. Fdad Tush
  18728. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18729. },
  18730. 19: {
  18731. Ffc: *(*struct {
  18732. Fcode [0]Tush
  18733. Ffreq Tush
  18734. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(194)})),
  18735. Fdl: *(*struct {
  18736. Flen1 [0]Tush
  18737. Fdad Tush
  18738. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18739. },
  18740. 20: {
  18741. Ffc: *(*struct {
  18742. Fcode [0]Tush
  18743. Ffreq Tush
  18744. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(34)})),
  18745. Fdl: *(*struct {
  18746. Flen1 [0]Tush
  18747. Fdad Tush
  18748. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18749. },
  18750. 21: {
  18751. Ffc: *(*struct {
  18752. Fcode [0]Tush
  18753. Ffreq Tush
  18754. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(162)})),
  18755. Fdl: *(*struct {
  18756. Flen1 [0]Tush
  18757. Fdad Tush
  18758. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18759. },
  18760. 22: {
  18761. Ffc: *(*struct {
  18762. Fcode [0]Tush
  18763. Ffreq Tush
  18764. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(98)})),
  18765. Fdl: *(*struct {
  18766. Flen1 [0]Tush
  18767. Fdad Tush
  18768. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18769. },
  18770. 23: {
  18771. Ffc: *(*struct {
  18772. Fcode [0]Tush
  18773. Ffreq Tush
  18774. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(226)})),
  18775. Fdl: *(*struct {
  18776. Flen1 [0]Tush
  18777. Fdad Tush
  18778. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18779. },
  18780. 24: {
  18781. Ffc: *(*struct {
  18782. Fcode [0]Tush
  18783. Ffreq Tush
  18784. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(18)})),
  18785. Fdl: *(*struct {
  18786. Flen1 [0]Tush
  18787. Fdad Tush
  18788. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18789. },
  18790. 25: {
  18791. Ffc: *(*struct {
  18792. Fcode [0]Tush
  18793. Ffreq Tush
  18794. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(146)})),
  18795. Fdl: *(*struct {
  18796. Flen1 [0]Tush
  18797. Fdad Tush
  18798. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18799. },
  18800. 26: {
  18801. Ffc: *(*struct {
  18802. Fcode [0]Tush
  18803. Ffreq Tush
  18804. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(82)})),
  18805. Fdl: *(*struct {
  18806. Flen1 [0]Tush
  18807. Fdad Tush
  18808. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18809. },
  18810. 27: {
  18811. Ffc: *(*struct {
  18812. Fcode [0]Tush
  18813. Ffreq Tush
  18814. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(210)})),
  18815. Fdl: *(*struct {
  18816. Flen1 [0]Tush
  18817. Fdad Tush
  18818. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18819. },
  18820. 28: {
  18821. Ffc: *(*struct {
  18822. Fcode [0]Tush
  18823. Ffreq Tush
  18824. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(50)})),
  18825. Fdl: *(*struct {
  18826. Flen1 [0]Tush
  18827. Fdad Tush
  18828. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18829. },
  18830. 29: {
  18831. Ffc: *(*struct {
  18832. Fcode [0]Tush
  18833. Ffreq Tush
  18834. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(178)})),
  18835. Fdl: *(*struct {
  18836. Flen1 [0]Tush
  18837. Fdad Tush
  18838. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18839. },
  18840. 30: {
  18841. Ffc: *(*struct {
  18842. Fcode [0]Tush
  18843. Ffreq Tush
  18844. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(114)})),
  18845. Fdl: *(*struct {
  18846. Flen1 [0]Tush
  18847. Fdad Tush
  18848. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18849. },
  18850. 31: {
  18851. Ffc: *(*struct {
  18852. Fcode [0]Tush
  18853. Ffreq Tush
  18854. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(242)})),
  18855. Fdl: *(*struct {
  18856. Flen1 [0]Tush
  18857. Fdad Tush
  18858. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18859. },
  18860. 32: {
  18861. Ffc: *(*struct {
  18862. Fcode [0]Tush
  18863. Ffreq Tush
  18864. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(10)})),
  18865. Fdl: *(*struct {
  18866. Flen1 [0]Tush
  18867. Fdad Tush
  18868. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18869. },
  18870. 33: {
  18871. Ffc: *(*struct {
  18872. Fcode [0]Tush
  18873. Ffreq Tush
  18874. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(138)})),
  18875. Fdl: *(*struct {
  18876. Flen1 [0]Tush
  18877. Fdad Tush
  18878. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18879. },
  18880. 34: {
  18881. Ffc: *(*struct {
  18882. Fcode [0]Tush
  18883. Ffreq Tush
  18884. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(74)})),
  18885. Fdl: *(*struct {
  18886. Flen1 [0]Tush
  18887. Fdad Tush
  18888. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18889. },
  18890. 35: {
  18891. Ffc: *(*struct {
  18892. Fcode [0]Tush
  18893. Ffreq Tush
  18894. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(202)})),
  18895. Fdl: *(*struct {
  18896. Flen1 [0]Tush
  18897. Fdad Tush
  18898. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18899. },
  18900. 36: {
  18901. Ffc: *(*struct {
  18902. Fcode [0]Tush
  18903. Ffreq Tush
  18904. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(42)})),
  18905. Fdl: *(*struct {
  18906. Flen1 [0]Tush
  18907. Fdad Tush
  18908. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18909. },
  18910. 37: {
  18911. Ffc: *(*struct {
  18912. Fcode [0]Tush
  18913. Ffreq Tush
  18914. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(170)})),
  18915. Fdl: *(*struct {
  18916. Flen1 [0]Tush
  18917. Fdad Tush
  18918. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18919. },
  18920. 38: {
  18921. Ffc: *(*struct {
  18922. Fcode [0]Tush
  18923. Ffreq Tush
  18924. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(106)})),
  18925. Fdl: *(*struct {
  18926. Flen1 [0]Tush
  18927. Fdad Tush
  18928. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18929. },
  18930. 39: {
  18931. Ffc: *(*struct {
  18932. Fcode [0]Tush
  18933. Ffreq Tush
  18934. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(234)})),
  18935. Fdl: *(*struct {
  18936. Flen1 [0]Tush
  18937. Fdad Tush
  18938. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18939. },
  18940. 40: {
  18941. Ffc: *(*struct {
  18942. Fcode [0]Tush
  18943. Ffreq Tush
  18944. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(26)})),
  18945. Fdl: *(*struct {
  18946. Flen1 [0]Tush
  18947. Fdad Tush
  18948. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18949. },
  18950. 41: {
  18951. Ffc: *(*struct {
  18952. Fcode [0]Tush
  18953. Ffreq Tush
  18954. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(154)})),
  18955. Fdl: *(*struct {
  18956. Flen1 [0]Tush
  18957. Fdad Tush
  18958. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18959. },
  18960. 42: {
  18961. Ffc: *(*struct {
  18962. Fcode [0]Tush
  18963. Ffreq Tush
  18964. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(90)})),
  18965. Fdl: *(*struct {
  18966. Flen1 [0]Tush
  18967. Fdad Tush
  18968. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18969. },
  18970. 43: {
  18971. Ffc: *(*struct {
  18972. Fcode [0]Tush
  18973. Ffreq Tush
  18974. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(218)})),
  18975. Fdl: *(*struct {
  18976. Flen1 [0]Tush
  18977. Fdad Tush
  18978. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18979. },
  18980. 44: {
  18981. Ffc: *(*struct {
  18982. Fcode [0]Tush
  18983. Ffreq Tush
  18984. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(58)})),
  18985. Fdl: *(*struct {
  18986. Flen1 [0]Tush
  18987. Fdad Tush
  18988. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18989. },
  18990. 45: {
  18991. Ffc: *(*struct {
  18992. Fcode [0]Tush
  18993. Ffreq Tush
  18994. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(186)})),
  18995. Fdl: *(*struct {
  18996. Flen1 [0]Tush
  18997. Fdad Tush
  18998. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18999. },
  19000. 46: {
  19001. Ffc: *(*struct {
  19002. Fcode [0]Tush
  19003. Ffreq Tush
  19004. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(122)})),
  19005. Fdl: *(*struct {
  19006. Flen1 [0]Tush
  19007. Fdad Tush
  19008. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19009. },
  19010. 47: {
  19011. Ffc: *(*struct {
  19012. Fcode [0]Tush
  19013. Ffreq Tush
  19014. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(250)})),
  19015. Fdl: *(*struct {
  19016. Flen1 [0]Tush
  19017. Fdad Tush
  19018. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19019. },
  19020. 48: {
  19021. Ffc: *(*struct {
  19022. Fcode [0]Tush
  19023. Ffreq Tush
  19024. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(6)})),
  19025. Fdl: *(*struct {
  19026. Flen1 [0]Tush
  19027. Fdad Tush
  19028. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19029. },
  19030. 49: {
  19031. Ffc: *(*struct {
  19032. Fcode [0]Tush
  19033. Ffreq Tush
  19034. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(134)})),
  19035. Fdl: *(*struct {
  19036. Flen1 [0]Tush
  19037. Fdad Tush
  19038. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19039. },
  19040. 50: {
  19041. Ffc: *(*struct {
  19042. Fcode [0]Tush
  19043. Ffreq Tush
  19044. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(70)})),
  19045. Fdl: *(*struct {
  19046. Flen1 [0]Tush
  19047. Fdad Tush
  19048. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19049. },
  19050. 51: {
  19051. Ffc: *(*struct {
  19052. Fcode [0]Tush
  19053. Ffreq Tush
  19054. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(198)})),
  19055. Fdl: *(*struct {
  19056. Flen1 [0]Tush
  19057. Fdad Tush
  19058. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19059. },
  19060. 52: {
  19061. Ffc: *(*struct {
  19062. Fcode [0]Tush
  19063. Ffreq Tush
  19064. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(38)})),
  19065. Fdl: *(*struct {
  19066. Flen1 [0]Tush
  19067. Fdad Tush
  19068. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19069. },
  19070. 53: {
  19071. Ffc: *(*struct {
  19072. Fcode [0]Tush
  19073. Ffreq Tush
  19074. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(166)})),
  19075. Fdl: *(*struct {
  19076. Flen1 [0]Tush
  19077. Fdad Tush
  19078. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19079. },
  19080. 54: {
  19081. Ffc: *(*struct {
  19082. Fcode [0]Tush
  19083. Ffreq Tush
  19084. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(102)})),
  19085. Fdl: *(*struct {
  19086. Flen1 [0]Tush
  19087. Fdad Tush
  19088. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19089. },
  19090. 55: {
  19091. Ffc: *(*struct {
  19092. Fcode [0]Tush
  19093. Ffreq Tush
  19094. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(230)})),
  19095. Fdl: *(*struct {
  19096. Flen1 [0]Tush
  19097. Fdad Tush
  19098. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19099. },
  19100. 56: {
  19101. Ffc: *(*struct {
  19102. Fcode [0]Tush
  19103. Ffreq Tush
  19104. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(22)})),
  19105. Fdl: *(*struct {
  19106. Flen1 [0]Tush
  19107. Fdad Tush
  19108. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19109. },
  19110. 57: {
  19111. Ffc: *(*struct {
  19112. Fcode [0]Tush
  19113. Ffreq Tush
  19114. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(150)})),
  19115. Fdl: *(*struct {
  19116. Flen1 [0]Tush
  19117. Fdad Tush
  19118. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19119. },
  19120. 58: {
  19121. Ffc: *(*struct {
  19122. Fcode [0]Tush
  19123. Ffreq Tush
  19124. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(86)})),
  19125. Fdl: *(*struct {
  19126. Flen1 [0]Tush
  19127. Fdad Tush
  19128. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19129. },
  19130. 59: {
  19131. Ffc: *(*struct {
  19132. Fcode [0]Tush
  19133. Ffreq Tush
  19134. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(214)})),
  19135. Fdl: *(*struct {
  19136. Flen1 [0]Tush
  19137. Fdad Tush
  19138. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19139. },
  19140. 60: {
  19141. Ffc: *(*struct {
  19142. Fcode [0]Tush
  19143. Ffreq Tush
  19144. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(54)})),
  19145. Fdl: *(*struct {
  19146. Flen1 [0]Tush
  19147. Fdad Tush
  19148. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19149. },
  19150. 61: {
  19151. Ffc: *(*struct {
  19152. Fcode [0]Tush
  19153. Ffreq Tush
  19154. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(182)})),
  19155. Fdl: *(*struct {
  19156. Flen1 [0]Tush
  19157. Fdad Tush
  19158. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19159. },
  19160. 62: {
  19161. Ffc: *(*struct {
  19162. Fcode [0]Tush
  19163. Ffreq Tush
  19164. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(118)})),
  19165. Fdl: *(*struct {
  19166. Flen1 [0]Tush
  19167. Fdad Tush
  19168. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19169. },
  19170. 63: {
  19171. Ffc: *(*struct {
  19172. Fcode [0]Tush
  19173. Ffreq Tush
  19174. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(246)})),
  19175. Fdl: *(*struct {
  19176. Flen1 [0]Tush
  19177. Fdad Tush
  19178. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19179. },
  19180. 64: {
  19181. Ffc: *(*struct {
  19182. Fcode [0]Tush
  19183. Ffreq Tush
  19184. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(14)})),
  19185. Fdl: *(*struct {
  19186. Flen1 [0]Tush
  19187. Fdad Tush
  19188. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19189. },
  19190. 65: {
  19191. Ffc: *(*struct {
  19192. Fcode [0]Tush
  19193. Ffreq Tush
  19194. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(142)})),
  19195. Fdl: *(*struct {
  19196. Flen1 [0]Tush
  19197. Fdad Tush
  19198. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19199. },
  19200. 66: {
  19201. Ffc: *(*struct {
  19202. Fcode [0]Tush
  19203. Ffreq Tush
  19204. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(78)})),
  19205. Fdl: *(*struct {
  19206. Flen1 [0]Tush
  19207. Fdad Tush
  19208. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19209. },
  19210. 67: {
  19211. Ffc: *(*struct {
  19212. Fcode [0]Tush
  19213. Ffreq Tush
  19214. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(206)})),
  19215. Fdl: *(*struct {
  19216. Flen1 [0]Tush
  19217. Fdad Tush
  19218. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19219. },
  19220. 68: {
  19221. Ffc: *(*struct {
  19222. Fcode [0]Tush
  19223. Ffreq Tush
  19224. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(46)})),
  19225. Fdl: *(*struct {
  19226. Flen1 [0]Tush
  19227. Fdad Tush
  19228. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19229. },
  19230. 69: {
  19231. Ffc: *(*struct {
  19232. Fcode [0]Tush
  19233. Ffreq Tush
  19234. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(174)})),
  19235. Fdl: *(*struct {
  19236. Flen1 [0]Tush
  19237. Fdad Tush
  19238. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19239. },
  19240. 70: {
  19241. Ffc: *(*struct {
  19242. Fcode [0]Tush
  19243. Ffreq Tush
  19244. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(110)})),
  19245. Fdl: *(*struct {
  19246. Flen1 [0]Tush
  19247. Fdad Tush
  19248. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19249. },
  19250. 71: {
  19251. Ffc: *(*struct {
  19252. Fcode [0]Tush
  19253. Ffreq Tush
  19254. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(238)})),
  19255. Fdl: *(*struct {
  19256. Flen1 [0]Tush
  19257. Fdad Tush
  19258. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19259. },
  19260. 72: {
  19261. Ffc: *(*struct {
  19262. Fcode [0]Tush
  19263. Ffreq Tush
  19264. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(30)})),
  19265. Fdl: *(*struct {
  19266. Flen1 [0]Tush
  19267. Fdad Tush
  19268. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19269. },
  19270. 73: {
  19271. Ffc: *(*struct {
  19272. Fcode [0]Tush
  19273. Ffreq Tush
  19274. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(158)})),
  19275. Fdl: *(*struct {
  19276. Flen1 [0]Tush
  19277. Fdad Tush
  19278. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19279. },
  19280. 74: {
  19281. Ffc: *(*struct {
  19282. Fcode [0]Tush
  19283. Ffreq Tush
  19284. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(94)})),
  19285. Fdl: *(*struct {
  19286. Flen1 [0]Tush
  19287. Fdad Tush
  19288. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19289. },
  19290. 75: {
  19291. Ffc: *(*struct {
  19292. Fcode [0]Tush
  19293. Ffreq Tush
  19294. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(222)})),
  19295. Fdl: *(*struct {
  19296. Flen1 [0]Tush
  19297. Fdad Tush
  19298. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19299. },
  19300. 76: {
  19301. Ffc: *(*struct {
  19302. Fcode [0]Tush
  19303. Ffreq Tush
  19304. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(62)})),
  19305. Fdl: *(*struct {
  19306. Flen1 [0]Tush
  19307. Fdad Tush
  19308. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19309. },
  19310. 77: {
  19311. Ffc: *(*struct {
  19312. Fcode [0]Tush
  19313. Ffreq Tush
  19314. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(190)})),
  19315. Fdl: *(*struct {
  19316. Flen1 [0]Tush
  19317. Fdad Tush
  19318. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19319. },
  19320. 78: {
  19321. Ffc: *(*struct {
  19322. Fcode [0]Tush
  19323. Ffreq Tush
  19324. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(126)})),
  19325. Fdl: *(*struct {
  19326. Flen1 [0]Tush
  19327. Fdad Tush
  19328. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19329. },
  19330. 79: {
  19331. Ffc: *(*struct {
  19332. Fcode [0]Tush
  19333. Ffreq Tush
  19334. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(254)})),
  19335. Fdl: *(*struct {
  19336. Flen1 [0]Tush
  19337. Fdad Tush
  19338. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19339. },
  19340. 80: {
  19341. Ffc: *(*struct {
  19342. Fcode [0]Tush
  19343. Ffreq Tush
  19344. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(1)})),
  19345. Fdl: *(*struct {
  19346. Flen1 [0]Tush
  19347. Fdad Tush
  19348. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19349. },
  19350. 81: {
  19351. Ffc: *(*struct {
  19352. Fcode [0]Tush
  19353. Ffreq Tush
  19354. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(129)})),
  19355. Fdl: *(*struct {
  19356. Flen1 [0]Tush
  19357. Fdad Tush
  19358. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19359. },
  19360. 82: {
  19361. Ffc: *(*struct {
  19362. Fcode [0]Tush
  19363. Ffreq Tush
  19364. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(65)})),
  19365. Fdl: *(*struct {
  19366. Flen1 [0]Tush
  19367. Fdad Tush
  19368. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19369. },
  19370. 83: {
  19371. Ffc: *(*struct {
  19372. Fcode [0]Tush
  19373. Ffreq Tush
  19374. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(193)})),
  19375. Fdl: *(*struct {
  19376. Flen1 [0]Tush
  19377. Fdad Tush
  19378. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19379. },
  19380. 84: {
  19381. Ffc: *(*struct {
  19382. Fcode [0]Tush
  19383. Ffreq Tush
  19384. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(33)})),
  19385. Fdl: *(*struct {
  19386. Flen1 [0]Tush
  19387. Fdad Tush
  19388. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19389. },
  19390. 85: {
  19391. Ffc: *(*struct {
  19392. Fcode [0]Tush
  19393. Ffreq Tush
  19394. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(161)})),
  19395. Fdl: *(*struct {
  19396. Flen1 [0]Tush
  19397. Fdad Tush
  19398. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19399. },
  19400. 86: {
  19401. Ffc: *(*struct {
  19402. Fcode [0]Tush
  19403. Ffreq Tush
  19404. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(97)})),
  19405. Fdl: *(*struct {
  19406. Flen1 [0]Tush
  19407. Fdad Tush
  19408. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19409. },
  19410. 87: {
  19411. Ffc: *(*struct {
  19412. Fcode [0]Tush
  19413. Ffreq Tush
  19414. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(225)})),
  19415. Fdl: *(*struct {
  19416. Flen1 [0]Tush
  19417. Fdad Tush
  19418. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19419. },
  19420. 88: {
  19421. Ffc: *(*struct {
  19422. Fcode [0]Tush
  19423. Ffreq Tush
  19424. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(17)})),
  19425. Fdl: *(*struct {
  19426. Flen1 [0]Tush
  19427. Fdad Tush
  19428. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19429. },
  19430. 89: {
  19431. Ffc: *(*struct {
  19432. Fcode [0]Tush
  19433. Ffreq Tush
  19434. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(145)})),
  19435. Fdl: *(*struct {
  19436. Flen1 [0]Tush
  19437. Fdad Tush
  19438. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19439. },
  19440. 90: {
  19441. Ffc: *(*struct {
  19442. Fcode [0]Tush
  19443. Ffreq Tush
  19444. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(81)})),
  19445. Fdl: *(*struct {
  19446. Flen1 [0]Tush
  19447. Fdad Tush
  19448. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19449. },
  19450. 91: {
  19451. Ffc: *(*struct {
  19452. Fcode [0]Tush
  19453. Ffreq Tush
  19454. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(209)})),
  19455. Fdl: *(*struct {
  19456. Flen1 [0]Tush
  19457. Fdad Tush
  19458. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19459. },
  19460. 92: {
  19461. Ffc: *(*struct {
  19462. Fcode [0]Tush
  19463. Ffreq Tush
  19464. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(49)})),
  19465. Fdl: *(*struct {
  19466. Flen1 [0]Tush
  19467. Fdad Tush
  19468. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19469. },
  19470. 93: {
  19471. Ffc: *(*struct {
  19472. Fcode [0]Tush
  19473. Ffreq Tush
  19474. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(177)})),
  19475. Fdl: *(*struct {
  19476. Flen1 [0]Tush
  19477. Fdad Tush
  19478. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19479. },
  19480. 94: {
  19481. Ffc: *(*struct {
  19482. Fcode [0]Tush
  19483. Ffreq Tush
  19484. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(113)})),
  19485. Fdl: *(*struct {
  19486. Flen1 [0]Tush
  19487. Fdad Tush
  19488. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19489. },
  19490. 95: {
  19491. Ffc: *(*struct {
  19492. Fcode [0]Tush
  19493. Ffreq Tush
  19494. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(241)})),
  19495. Fdl: *(*struct {
  19496. Flen1 [0]Tush
  19497. Fdad Tush
  19498. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19499. },
  19500. 96: {
  19501. Ffc: *(*struct {
  19502. Fcode [0]Tush
  19503. Ffreq Tush
  19504. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19505. Fdl: *(*struct {
  19506. Flen1 [0]Tush
  19507. Fdad Tush
  19508. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19509. },
  19510. 97: {
  19511. Ffc: *(*struct {
  19512. Fcode [0]Tush
  19513. Ffreq Tush
  19514. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(137)})),
  19515. Fdl: *(*struct {
  19516. Flen1 [0]Tush
  19517. Fdad Tush
  19518. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19519. },
  19520. 98: {
  19521. Ffc: *(*struct {
  19522. Fcode [0]Tush
  19523. Ffreq Tush
  19524. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(73)})),
  19525. Fdl: *(*struct {
  19526. Flen1 [0]Tush
  19527. Fdad Tush
  19528. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19529. },
  19530. 99: {
  19531. Ffc: *(*struct {
  19532. Fcode [0]Tush
  19533. Ffreq Tush
  19534. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(201)})),
  19535. Fdl: *(*struct {
  19536. Flen1 [0]Tush
  19537. Fdad Tush
  19538. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19539. },
  19540. 100: {
  19541. Ffc: *(*struct {
  19542. Fcode [0]Tush
  19543. Ffreq Tush
  19544. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(41)})),
  19545. Fdl: *(*struct {
  19546. Flen1 [0]Tush
  19547. Fdad Tush
  19548. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19549. },
  19550. 101: {
  19551. Ffc: *(*struct {
  19552. Fcode [0]Tush
  19553. Ffreq Tush
  19554. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(169)})),
  19555. Fdl: *(*struct {
  19556. Flen1 [0]Tush
  19557. Fdad Tush
  19558. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19559. },
  19560. 102: {
  19561. Ffc: *(*struct {
  19562. Fcode [0]Tush
  19563. Ffreq Tush
  19564. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(105)})),
  19565. Fdl: *(*struct {
  19566. Flen1 [0]Tush
  19567. Fdad Tush
  19568. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19569. },
  19570. 103: {
  19571. Ffc: *(*struct {
  19572. Fcode [0]Tush
  19573. Ffreq Tush
  19574. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(233)})),
  19575. Fdl: *(*struct {
  19576. Flen1 [0]Tush
  19577. Fdad Tush
  19578. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19579. },
  19580. 104: {
  19581. Ffc: *(*struct {
  19582. Fcode [0]Tush
  19583. Ffreq Tush
  19584. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(25)})),
  19585. Fdl: *(*struct {
  19586. Flen1 [0]Tush
  19587. Fdad Tush
  19588. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19589. },
  19590. 105: {
  19591. Ffc: *(*struct {
  19592. Fcode [0]Tush
  19593. Ffreq Tush
  19594. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(153)})),
  19595. Fdl: *(*struct {
  19596. Flen1 [0]Tush
  19597. Fdad Tush
  19598. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19599. },
  19600. 106: {
  19601. Ffc: *(*struct {
  19602. Fcode [0]Tush
  19603. Ffreq Tush
  19604. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(89)})),
  19605. Fdl: *(*struct {
  19606. Flen1 [0]Tush
  19607. Fdad Tush
  19608. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19609. },
  19610. 107: {
  19611. Ffc: *(*struct {
  19612. Fcode [0]Tush
  19613. Ffreq Tush
  19614. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(217)})),
  19615. Fdl: *(*struct {
  19616. Flen1 [0]Tush
  19617. Fdad Tush
  19618. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19619. },
  19620. 108: {
  19621. Ffc: *(*struct {
  19622. Fcode [0]Tush
  19623. Ffreq Tush
  19624. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(57)})),
  19625. Fdl: *(*struct {
  19626. Flen1 [0]Tush
  19627. Fdad Tush
  19628. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19629. },
  19630. 109: {
  19631. Ffc: *(*struct {
  19632. Fcode [0]Tush
  19633. Ffreq Tush
  19634. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(185)})),
  19635. Fdl: *(*struct {
  19636. Flen1 [0]Tush
  19637. Fdad Tush
  19638. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19639. },
  19640. 110: {
  19641. Ffc: *(*struct {
  19642. Fcode [0]Tush
  19643. Ffreq Tush
  19644. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(121)})),
  19645. Fdl: *(*struct {
  19646. Flen1 [0]Tush
  19647. Fdad Tush
  19648. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19649. },
  19650. 111: {
  19651. Ffc: *(*struct {
  19652. Fcode [0]Tush
  19653. Ffreq Tush
  19654. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(249)})),
  19655. Fdl: *(*struct {
  19656. Flen1 [0]Tush
  19657. Fdad Tush
  19658. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19659. },
  19660. 112: {
  19661. Ffc: *(*struct {
  19662. Fcode [0]Tush
  19663. Ffreq Tush
  19664. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  19665. Fdl: *(*struct {
  19666. Flen1 [0]Tush
  19667. Fdad Tush
  19668. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19669. },
  19670. 113: {
  19671. Ffc: *(*struct {
  19672. Fcode [0]Tush
  19673. Ffreq Tush
  19674. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(133)})),
  19675. Fdl: *(*struct {
  19676. Flen1 [0]Tush
  19677. Fdad Tush
  19678. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19679. },
  19680. 114: {
  19681. Ffc: *(*struct {
  19682. Fcode [0]Tush
  19683. Ffreq Tush
  19684. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(69)})),
  19685. Fdl: *(*struct {
  19686. Flen1 [0]Tush
  19687. Fdad Tush
  19688. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19689. },
  19690. 115: {
  19691. Ffc: *(*struct {
  19692. Fcode [0]Tush
  19693. Ffreq Tush
  19694. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(197)})),
  19695. Fdl: *(*struct {
  19696. Flen1 [0]Tush
  19697. Fdad Tush
  19698. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19699. },
  19700. 116: {
  19701. Ffc: *(*struct {
  19702. Fcode [0]Tush
  19703. Ffreq Tush
  19704. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(37)})),
  19705. Fdl: *(*struct {
  19706. Flen1 [0]Tush
  19707. Fdad Tush
  19708. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19709. },
  19710. 117: {
  19711. Ffc: *(*struct {
  19712. Fcode [0]Tush
  19713. Ffreq Tush
  19714. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(165)})),
  19715. Fdl: *(*struct {
  19716. Flen1 [0]Tush
  19717. Fdad Tush
  19718. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19719. },
  19720. 118: {
  19721. Ffc: *(*struct {
  19722. Fcode [0]Tush
  19723. Ffreq Tush
  19724. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(101)})),
  19725. Fdl: *(*struct {
  19726. Flen1 [0]Tush
  19727. Fdad Tush
  19728. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19729. },
  19730. 119: {
  19731. Ffc: *(*struct {
  19732. Fcode [0]Tush
  19733. Ffreq Tush
  19734. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(229)})),
  19735. Fdl: *(*struct {
  19736. Flen1 [0]Tush
  19737. Fdad Tush
  19738. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19739. },
  19740. 120: {
  19741. Ffc: *(*struct {
  19742. Fcode [0]Tush
  19743. Ffreq Tush
  19744. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(21)})),
  19745. Fdl: *(*struct {
  19746. Flen1 [0]Tush
  19747. Fdad Tush
  19748. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19749. },
  19750. 121: {
  19751. Ffc: *(*struct {
  19752. Fcode [0]Tush
  19753. Ffreq Tush
  19754. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(149)})),
  19755. Fdl: *(*struct {
  19756. Flen1 [0]Tush
  19757. Fdad Tush
  19758. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19759. },
  19760. 122: {
  19761. Ffc: *(*struct {
  19762. Fcode [0]Tush
  19763. Ffreq Tush
  19764. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(85)})),
  19765. Fdl: *(*struct {
  19766. Flen1 [0]Tush
  19767. Fdad Tush
  19768. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19769. },
  19770. 123: {
  19771. Ffc: *(*struct {
  19772. Fcode [0]Tush
  19773. Ffreq Tush
  19774. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(213)})),
  19775. Fdl: *(*struct {
  19776. Flen1 [0]Tush
  19777. Fdad Tush
  19778. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19779. },
  19780. 124: {
  19781. Ffc: *(*struct {
  19782. Fcode [0]Tush
  19783. Ffreq Tush
  19784. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(53)})),
  19785. Fdl: *(*struct {
  19786. Flen1 [0]Tush
  19787. Fdad Tush
  19788. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19789. },
  19790. 125: {
  19791. Ffc: *(*struct {
  19792. Fcode [0]Tush
  19793. Ffreq Tush
  19794. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(181)})),
  19795. Fdl: *(*struct {
  19796. Flen1 [0]Tush
  19797. Fdad Tush
  19798. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19799. },
  19800. 126: {
  19801. Ffc: *(*struct {
  19802. Fcode [0]Tush
  19803. Ffreq Tush
  19804. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(117)})),
  19805. Fdl: *(*struct {
  19806. Flen1 [0]Tush
  19807. Fdad Tush
  19808. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19809. },
  19810. 127: {
  19811. Ffc: *(*struct {
  19812. Fcode [0]Tush
  19813. Ffreq Tush
  19814. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(245)})),
  19815. Fdl: *(*struct {
  19816. Flen1 [0]Tush
  19817. Fdad Tush
  19818. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19819. },
  19820. 128: {
  19821. Ffc: *(*struct {
  19822. Fcode [0]Tush
  19823. Ffreq Tush
  19824. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(13)})),
  19825. Fdl: *(*struct {
  19826. Flen1 [0]Tush
  19827. Fdad Tush
  19828. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19829. },
  19830. 129: {
  19831. Ffc: *(*struct {
  19832. Fcode [0]Tush
  19833. Ffreq Tush
  19834. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(141)})),
  19835. Fdl: *(*struct {
  19836. Flen1 [0]Tush
  19837. Fdad Tush
  19838. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19839. },
  19840. 130: {
  19841. Ffc: *(*struct {
  19842. Fcode [0]Tush
  19843. Ffreq Tush
  19844. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(77)})),
  19845. Fdl: *(*struct {
  19846. Flen1 [0]Tush
  19847. Fdad Tush
  19848. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19849. },
  19850. 131: {
  19851. Ffc: *(*struct {
  19852. Fcode [0]Tush
  19853. Ffreq Tush
  19854. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(205)})),
  19855. Fdl: *(*struct {
  19856. Flen1 [0]Tush
  19857. Fdad Tush
  19858. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19859. },
  19860. 132: {
  19861. Ffc: *(*struct {
  19862. Fcode [0]Tush
  19863. Ffreq Tush
  19864. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(45)})),
  19865. Fdl: *(*struct {
  19866. Flen1 [0]Tush
  19867. Fdad Tush
  19868. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19869. },
  19870. 133: {
  19871. Ffc: *(*struct {
  19872. Fcode [0]Tush
  19873. Ffreq Tush
  19874. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(173)})),
  19875. Fdl: *(*struct {
  19876. Flen1 [0]Tush
  19877. Fdad Tush
  19878. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19879. },
  19880. 134: {
  19881. Ffc: *(*struct {
  19882. Fcode [0]Tush
  19883. Ffreq Tush
  19884. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(109)})),
  19885. Fdl: *(*struct {
  19886. Flen1 [0]Tush
  19887. Fdad Tush
  19888. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19889. },
  19890. 135: {
  19891. Ffc: *(*struct {
  19892. Fcode [0]Tush
  19893. Ffreq Tush
  19894. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(237)})),
  19895. Fdl: *(*struct {
  19896. Flen1 [0]Tush
  19897. Fdad Tush
  19898. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19899. },
  19900. 136: {
  19901. Ffc: *(*struct {
  19902. Fcode [0]Tush
  19903. Ffreq Tush
  19904. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(29)})),
  19905. Fdl: *(*struct {
  19906. Flen1 [0]Tush
  19907. Fdad Tush
  19908. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19909. },
  19910. 137: {
  19911. Ffc: *(*struct {
  19912. Fcode [0]Tush
  19913. Ffreq Tush
  19914. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(157)})),
  19915. Fdl: *(*struct {
  19916. Flen1 [0]Tush
  19917. Fdad Tush
  19918. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19919. },
  19920. 138: {
  19921. Ffc: *(*struct {
  19922. Fcode [0]Tush
  19923. Ffreq Tush
  19924. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(93)})),
  19925. Fdl: *(*struct {
  19926. Flen1 [0]Tush
  19927. Fdad Tush
  19928. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19929. },
  19930. 139: {
  19931. Ffc: *(*struct {
  19932. Fcode [0]Tush
  19933. Ffreq Tush
  19934. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(221)})),
  19935. Fdl: *(*struct {
  19936. Flen1 [0]Tush
  19937. Fdad Tush
  19938. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19939. },
  19940. 140: {
  19941. Ffc: *(*struct {
  19942. Fcode [0]Tush
  19943. Ffreq Tush
  19944. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(61)})),
  19945. Fdl: *(*struct {
  19946. Flen1 [0]Tush
  19947. Fdad Tush
  19948. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19949. },
  19950. 141: {
  19951. Ffc: *(*struct {
  19952. Fcode [0]Tush
  19953. Ffreq Tush
  19954. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(189)})),
  19955. Fdl: *(*struct {
  19956. Flen1 [0]Tush
  19957. Fdad Tush
  19958. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19959. },
  19960. 142: {
  19961. Ffc: *(*struct {
  19962. Fcode [0]Tush
  19963. Ffreq Tush
  19964. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(125)})),
  19965. Fdl: *(*struct {
  19966. Flen1 [0]Tush
  19967. Fdad Tush
  19968. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19969. },
  19970. 143: {
  19971. Ffc: *(*struct {
  19972. Fcode [0]Tush
  19973. Ffreq Tush
  19974. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(253)})),
  19975. Fdl: *(*struct {
  19976. Flen1 [0]Tush
  19977. Fdad Tush
  19978. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19979. },
  19980. 144: {
  19981. Ffc: *(*struct {
  19982. Fcode [0]Tush
  19983. Ffreq Tush
  19984. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(19)})),
  19985. Fdl: *(*struct {
  19986. Flen1 [0]Tush
  19987. Fdad Tush
  19988. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19989. },
  19990. 145: {
  19991. Ffc: *(*struct {
  19992. Fcode [0]Tush
  19993. Ffreq Tush
  19994. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(275)})),
  19995. Fdl: *(*struct {
  19996. Flen1 [0]Tush
  19997. Fdad Tush
  19998. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19999. },
  20000. 146: {
  20001. Ffc: *(*struct {
  20002. Fcode [0]Tush
  20003. Ffreq Tush
  20004. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(147)})),
  20005. Fdl: *(*struct {
  20006. Flen1 [0]Tush
  20007. Fdad Tush
  20008. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20009. },
  20010. 147: {
  20011. Ffc: *(*struct {
  20012. Fcode [0]Tush
  20013. Ffreq Tush
  20014. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(403)})),
  20015. Fdl: *(*struct {
  20016. Flen1 [0]Tush
  20017. Fdad Tush
  20018. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20019. },
  20020. 148: {
  20021. Ffc: *(*struct {
  20022. Fcode [0]Tush
  20023. Ffreq Tush
  20024. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(83)})),
  20025. Fdl: *(*struct {
  20026. Flen1 [0]Tush
  20027. Fdad Tush
  20028. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20029. },
  20030. 149: {
  20031. Ffc: *(*struct {
  20032. Fcode [0]Tush
  20033. Ffreq Tush
  20034. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(339)})),
  20035. Fdl: *(*struct {
  20036. Flen1 [0]Tush
  20037. Fdad Tush
  20038. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20039. },
  20040. 150: {
  20041. Ffc: *(*struct {
  20042. Fcode [0]Tush
  20043. Ffreq Tush
  20044. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(211)})),
  20045. Fdl: *(*struct {
  20046. Flen1 [0]Tush
  20047. Fdad Tush
  20048. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20049. },
  20050. 151: {
  20051. Ffc: *(*struct {
  20052. Fcode [0]Tush
  20053. Ffreq Tush
  20054. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(467)})),
  20055. Fdl: *(*struct {
  20056. Flen1 [0]Tush
  20057. Fdad Tush
  20058. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20059. },
  20060. 152: {
  20061. Ffc: *(*struct {
  20062. Fcode [0]Tush
  20063. Ffreq Tush
  20064. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(51)})),
  20065. Fdl: *(*struct {
  20066. Flen1 [0]Tush
  20067. Fdad Tush
  20068. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20069. },
  20070. 153: {
  20071. Ffc: *(*struct {
  20072. Fcode [0]Tush
  20073. Ffreq Tush
  20074. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(307)})),
  20075. Fdl: *(*struct {
  20076. Flen1 [0]Tush
  20077. Fdad Tush
  20078. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20079. },
  20080. 154: {
  20081. Ffc: *(*struct {
  20082. Fcode [0]Tush
  20083. Ffreq Tush
  20084. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(179)})),
  20085. Fdl: *(*struct {
  20086. Flen1 [0]Tush
  20087. Fdad Tush
  20088. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20089. },
  20090. 155: {
  20091. Ffc: *(*struct {
  20092. Fcode [0]Tush
  20093. Ffreq Tush
  20094. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(435)})),
  20095. Fdl: *(*struct {
  20096. Flen1 [0]Tush
  20097. Fdad Tush
  20098. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20099. },
  20100. 156: {
  20101. Ffc: *(*struct {
  20102. Fcode [0]Tush
  20103. Ffreq Tush
  20104. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(115)})),
  20105. Fdl: *(*struct {
  20106. Flen1 [0]Tush
  20107. Fdad Tush
  20108. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20109. },
  20110. 157: {
  20111. Ffc: *(*struct {
  20112. Fcode [0]Tush
  20113. Ffreq Tush
  20114. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(371)})),
  20115. Fdl: *(*struct {
  20116. Flen1 [0]Tush
  20117. Fdad Tush
  20118. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20119. },
  20120. 158: {
  20121. Ffc: *(*struct {
  20122. Fcode [0]Tush
  20123. Ffreq Tush
  20124. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(243)})),
  20125. Fdl: *(*struct {
  20126. Flen1 [0]Tush
  20127. Fdad Tush
  20128. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20129. },
  20130. 159: {
  20131. Ffc: *(*struct {
  20132. Fcode [0]Tush
  20133. Ffreq Tush
  20134. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(499)})),
  20135. Fdl: *(*struct {
  20136. Flen1 [0]Tush
  20137. Fdad Tush
  20138. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20139. },
  20140. 160: {
  20141. Ffc: *(*struct {
  20142. Fcode [0]Tush
  20143. Ffreq Tush
  20144. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(11)})),
  20145. Fdl: *(*struct {
  20146. Flen1 [0]Tush
  20147. Fdad Tush
  20148. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20149. },
  20150. 161: {
  20151. Ffc: *(*struct {
  20152. Fcode [0]Tush
  20153. Ffreq Tush
  20154. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(267)})),
  20155. Fdl: *(*struct {
  20156. Flen1 [0]Tush
  20157. Fdad Tush
  20158. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20159. },
  20160. 162: {
  20161. Ffc: *(*struct {
  20162. Fcode [0]Tush
  20163. Ffreq Tush
  20164. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(139)})),
  20165. Fdl: *(*struct {
  20166. Flen1 [0]Tush
  20167. Fdad Tush
  20168. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20169. },
  20170. 163: {
  20171. Ffc: *(*struct {
  20172. Fcode [0]Tush
  20173. Ffreq Tush
  20174. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(395)})),
  20175. Fdl: *(*struct {
  20176. Flen1 [0]Tush
  20177. Fdad Tush
  20178. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20179. },
  20180. 164: {
  20181. Ffc: *(*struct {
  20182. Fcode [0]Tush
  20183. Ffreq Tush
  20184. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(75)})),
  20185. Fdl: *(*struct {
  20186. Flen1 [0]Tush
  20187. Fdad Tush
  20188. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20189. },
  20190. 165: {
  20191. Ffc: *(*struct {
  20192. Fcode [0]Tush
  20193. Ffreq Tush
  20194. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(331)})),
  20195. Fdl: *(*struct {
  20196. Flen1 [0]Tush
  20197. Fdad Tush
  20198. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20199. },
  20200. 166: {
  20201. Ffc: *(*struct {
  20202. Fcode [0]Tush
  20203. Ffreq Tush
  20204. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(203)})),
  20205. Fdl: *(*struct {
  20206. Flen1 [0]Tush
  20207. Fdad Tush
  20208. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20209. },
  20210. 167: {
  20211. Ffc: *(*struct {
  20212. Fcode [0]Tush
  20213. Ffreq Tush
  20214. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(459)})),
  20215. Fdl: *(*struct {
  20216. Flen1 [0]Tush
  20217. Fdad Tush
  20218. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20219. },
  20220. 168: {
  20221. Ffc: *(*struct {
  20222. Fcode [0]Tush
  20223. Ffreq Tush
  20224. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(43)})),
  20225. Fdl: *(*struct {
  20226. Flen1 [0]Tush
  20227. Fdad Tush
  20228. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20229. },
  20230. 169: {
  20231. Ffc: *(*struct {
  20232. Fcode [0]Tush
  20233. Ffreq Tush
  20234. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(299)})),
  20235. Fdl: *(*struct {
  20236. Flen1 [0]Tush
  20237. Fdad Tush
  20238. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20239. },
  20240. 170: {
  20241. Ffc: *(*struct {
  20242. Fcode [0]Tush
  20243. Ffreq Tush
  20244. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(171)})),
  20245. Fdl: *(*struct {
  20246. Flen1 [0]Tush
  20247. Fdad Tush
  20248. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20249. },
  20250. 171: {
  20251. Ffc: *(*struct {
  20252. Fcode [0]Tush
  20253. Ffreq Tush
  20254. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(427)})),
  20255. Fdl: *(*struct {
  20256. Flen1 [0]Tush
  20257. Fdad Tush
  20258. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20259. },
  20260. 172: {
  20261. Ffc: *(*struct {
  20262. Fcode [0]Tush
  20263. Ffreq Tush
  20264. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(107)})),
  20265. Fdl: *(*struct {
  20266. Flen1 [0]Tush
  20267. Fdad Tush
  20268. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20269. },
  20270. 173: {
  20271. Ffc: *(*struct {
  20272. Fcode [0]Tush
  20273. Ffreq Tush
  20274. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(363)})),
  20275. Fdl: *(*struct {
  20276. Flen1 [0]Tush
  20277. Fdad Tush
  20278. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20279. },
  20280. 174: {
  20281. Ffc: *(*struct {
  20282. Fcode [0]Tush
  20283. Ffreq Tush
  20284. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(235)})),
  20285. Fdl: *(*struct {
  20286. Flen1 [0]Tush
  20287. Fdad Tush
  20288. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20289. },
  20290. 175: {
  20291. Ffc: *(*struct {
  20292. Fcode [0]Tush
  20293. Ffreq Tush
  20294. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(491)})),
  20295. Fdl: *(*struct {
  20296. Flen1 [0]Tush
  20297. Fdad Tush
  20298. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20299. },
  20300. 176: {
  20301. Ffc: *(*struct {
  20302. Fcode [0]Tush
  20303. Ffreq Tush
  20304. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(27)})),
  20305. Fdl: *(*struct {
  20306. Flen1 [0]Tush
  20307. Fdad Tush
  20308. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20309. },
  20310. 177: {
  20311. Ffc: *(*struct {
  20312. Fcode [0]Tush
  20313. Ffreq Tush
  20314. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(283)})),
  20315. Fdl: *(*struct {
  20316. Flen1 [0]Tush
  20317. Fdad Tush
  20318. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20319. },
  20320. 178: {
  20321. Ffc: *(*struct {
  20322. Fcode [0]Tush
  20323. Ffreq Tush
  20324. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(155)})),
  20325. Fdl: *(*struct {
  20326. Flen1 [0]Tush
  20327. Fdad Tush
  20328. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20329. },
  20330. 179: {
  20331. Ffc: *(*struct {
  20332. Fcode [0]Tush
  20333. Ffreq Tush
  20334. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(411)})),
  20335. Fdl: *(*struct {
  20336. Flen1 [0]Tush
  20337. Fdad Tush
  20338. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20339. },
  20340. 180: {
  20341. Ffc: *(*struct {
  20342. Fcode [0]Tush
  20343. Ffreq Tush
  20344. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(91)})),
  20345. Fdl: *(*struct {
  20346. Flen1 [0]Tush
  20347. Fdad Tush
  20348. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20349. },
  20350. 181: {
  20351. Ffc: *(*struct {
  20352. Fcode [0]Tush
  20353. Ffreq Tush
  20354. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(347)})),
  20355. Fdl: *(*struct {
  20356. Flen1 [0]Tush
  20357. Fdad Tush
  20358. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20359. },
  20360. 182: {
  20361. Ffc: *(*struct {
  20362. Fcode [0]Tush
  20363. Ffreq Tush
  20364. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(219)})),
  20365. Fdl: *(*struct {
  20366. Flen1 [0]Tush
  20367. Fdad Tush
  20368. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20369. },
  20370. 183: {
  20371. Ffc: *(*struct {
  20372. Fcode [0]Tush
  20373. Ffreq Tush
  20374. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(475)})),
  20375. Fdl: *(*struct {
  20376. Flen1 [0]Tush
  20377. Fdad Tush
  20378. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20379. },
  20380. 184: {
  20381. Ffc: *(*struct {
  20382. Fcode [0]Tush
  20383. Ffreq Tush
  20384. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(59)})),
  20385. Fdl: *(*struct {
  20386. Flen1 [0]Tush
  20387. Fdad Tush
  20388. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20389. },
  20390. 185: {
  20391. Ffc: *(*struct {
  20392. Fcode [0]Tush
  20393. Ffreq Tush
  20394. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(315)})),
  20395. Fdl: *(*struct {
  20396. Flen1 [0]Tush
  20397. Fdad Tush
  20398. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20399. },
  20400. 186: {
  20401. Ffc: *(*struct {
  20402. Fcode [0]Tush
  20403. Ffreq Tush
  20404. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(187)})),
  20405. Fdl: *(*struct {
  20406. Flen1 [0]Tush
  20407. Fdad Tush
  20408. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20409. },
  20410. 187: {
  20411. Ffc: *(*struct {
  20412. Fcode [0]Tush
  20413. Ffreq Tush
  20414. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(443)})),
  20415. Fdl: *(*struct {
  20416. Flen1 [0]Tush
  20417. Fdad Tush
  20418. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20419. },
  20420. 188: {
  20421. Ffc: *(*struct {
  20422. Fcode [0]Tush
  20423. Ffreq Tush
  20424. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(123)})),
  20425. Fdl: *(*struct {
  20426. Flen1 [0]Tush
  20427. Fdad Tush
  20428. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20429. },
  20430. 189: {
  20431. Ffc: *(*struct {
  20432. Fcode [0]Tush
  20433. Ffreq Tush
  20434. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(379)})),
  20435. Fdl: *(*struct {
  20436. Flen1 [0]Tush
  20437. Fdad Tush
  20438. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20439. },
  20440. 190: {
  20441. Ffc: *(*struct {
  20442. Fcode [0]Tush
  20443. Ffreq Tush
  20444. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(251)})),
  20445. Fdl: *(*struct {
  20446. Flen1 [0]Tush
  20447. Fdad Tush
  20448. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20449. },
  20450. 191: {
  20451. Ffc: *(*struct {
  20452. Fcode [0]Tush
  20453. Ffreq Tush
  20454. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(507)})),
  20455. Fdl: *(*struct {
  20456. Flen1 [0]Tush
  20457. Fdad Tush
  20458. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20459. },
  20460. 192: {
  20461. Ffc: *(*struct {
  20462. Fcode [0]Tush
  20463. Ffreq Tush
  20464. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20465. Fdl: *(*struct {
  20466. Flen1 [0]Tush
  20467. Fdad Tush
  20468. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20469. },
  20470. 193: {
  20471. Ffc: *(*struct {
  20472. Fcode [0]Tush
  20473. Ffreq Tush
  20474. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(263)})),
  20475. Fdl: *(*struct {
  20476. Flen1 [0]Tush
  20477. Fdad Tush
  20478. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20479. },
  20480. 194: {
  20481. Ffc: *(*struct {
  20482. Fcode [0]Tush
  20483. Ffreq Tush
  20484. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(135)})),
  20485. Fdl: *(*struct {
  20486. Flen1 [0]Tush
  20487. Fdad Tush
  20488. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20489. },
  20490. 195: {
  20491. Ffc: *(*struct {
  20492. Fcode [0]Tush
  20493. Ffreq Tush
  20494. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(391)})),
  20495. Fdl: *(*struct {
  20496. Flen1 [0]Tush
  20497. Fdad Tush
  20498. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20499. },
  20500. 196: {
  20501. Ffc: *(*struct {
  20502. Fcode [0]Tush
  20503. Ffreq Tush
  20504. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(71)})),
  20505. Fdl: *(*struct {
  20506. Flen1 [0]Tush
  20507. Fdad Tush
  20508. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20509. },
  20510. 197: {
  20511. Ffc: *(*struct {
  20512. Fcode [0]Tush
  20513. Ffreq Tush
  20514. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(327)})),
  20515. Fdl: *(*struct {
  20516. Flen1 [0]Tush
  20517. Fdad Tush
  20518. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20519. },
  20520. 198: {
  20521. Ffc: *(*struct {
  20522. Fcode [0]Tush
  20523. Ffreq Tush
  20524. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(199)})),
  20525. Fdl: *(*struct {
  20526. Flen1 [0]Tush
  20527. Fdad Tush
  20528. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20529. },
  20530. 199: {
  20531. Ffc: *(*struct {
  20532. Fcode [0]Tush
  20533. Ffreq Tush
  20534. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(455)})),
  20535. Fdl: *(*struct {
  20536. Flen1 [0]Tush
  20537. Fdad Tush
  20538. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20539. },
  20540. 200: {
  20541. Ffc: *(*struct {
  20542. Fcode [0]Tush
  20543. Ffreq Tush
  20544. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(39)})),
  20545. Fdl: *(*struct {
  20546. Flen1 [0]Tush
  20547. Fdad Tush
  20548. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20549. },
  20550. 201: {
  20551. Ffc: *(*struct {
  20552. Fcode [0]Tush
  20553. Ffreq Tush
  20554. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(295)})),
  20555. Fdl: *(*struct {
  20556. Flen1 [0]Tush
  20557. Fdad Tush
  20558. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20559. },
  20560. 202: {
  20561. Ffc: *(*struct {
  20562. Fcode [0]Tush
  20563. Ffreq Tush
  20564. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(167)})),
  20565. Fdl: *(*struct {
  20566. Flen1 [0]Tush
  20567. Fdad Tush
  20568. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20569. },
  20570. 203: {
  20571. Ffc: *(*struct {
  20572. Fcode [0]Tush
  20573. Ffreq Tush
  20574. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(423)})),
  20575. Fdl: *(*struct {
  20576. Flen1 [0]Tush
  20577. Fdad Tush
  20578. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20579. },
  20580. 204: {
  20581. Ffc: *(*struct {
  20582. Fcode [0]Tush
  20583. Ffreq Tush
  20584. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(103)})),
  20585. Fdl: *(*struct {
  20586. Flen1 [0]Tush
  20587. Fdad Tush
  20588. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20589. },
  20590. 205: {
  20591. Ffc: *(*struct {
  20592. Fcode [0]Tush
  20593. Ffreq Tush
  20594. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(359)})),
  20595. Fdl: *(*struct {
  20596. Flen1 [0]Tush
  20597. Fdad Tush
  20598. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20599. },
  20600. 206: {
  20601. Ffc: *(*struct {
  20602. Fcode [0]Tush
  20603. Ffreq Tush
  20604. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(231)})),
  20605. Fdl: *(*struct {
  20606. Flen1 [0]Tush
  20607. Fdad Tush
  20608. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20609. },
  20610. 207: {
  20611. Ffc: *(*struct {
  20612. Fcode [0]Tush
  20613. Ffreq Tush
  20614. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(487)})),
  20615. Fdl: *(*struct {
  20616. Flen1 [0]Tush
  20617. Fdad Tush
  20618. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20619. },
  20620. 208: {
  20621. Ffc: *(*struct {
  20622. Fcode [0]Tush
  20623. Ffreq Tush
  20624. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(23)})),
  20625. Fdl: *(*struct {
  20626. Flen1 [0]Tush
  20627. Fdad Tush
  20628. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20629. },
  20630. 209: {
  20631. Ffc: *(*struct {
  20632. Fcode [0]Tush
  20633. Ffreq Tush
  20634. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(279)})),
  20635. Fdl: *(*struct {
  20636. Flen1 [0]Tush
  20637. Fdad Tush
  20638. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20639. },
  20640. 210: {
  20641. Ffc: *(*struct {
  20642. Fcode [0]Tush
  20643. Ffreq Tush
  20644. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(151)})),
  20645. Fdl: *(*struct {
  20646. Flen1 [0]Tush
  20647. Fdad Tush
  20648. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20649. },
  20650. 211: {
  20651. Ffc: *(*struct {
  20652. Fcode [0]Tush
  20653. Ffreq Tush
  20654. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(407)})),
  20655. Fdl: *(*struct {
  20656. Flen1 [0]Tush
  20657. Fdad Tush
  20658. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20659. },
  20660. 212: {
  20661. Ffc: *(*struct {
  20662. Fcode [0]Tush
  20663. Ffreq Tush
  20664. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(87)})),
  20665. Fdl: *(*struct {
  20666. Flen1 [0]Tush
  20667. Fdad Tush
  20668. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20669. },
  20670. 213: {
  20671. Ffc: *(*struct {
  20672. Fcode [0]Tush
  20673. Ffreq Tush
  20674. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(343)})),
  20675. Fdl: *(*struct {
  20676. Flen1 [0]Tush
  20677. Fdad Tush
  20678. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20679. },
  20680. 214: {
  20681. Ffc: *(*struct {
  20682. Fcode [0]Tush
  20683. Ffreq Tush
  20684. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(215)})),
  20685. Fdl: *(*struct {
  20686. Flen1 [0]Tush
  20687. Fdad Tush
  20688. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20689. },
  20690. 215: {
  20691. Ffc: *(*struct {
  20692. Fcode [0]Tush
  20693. Ffreq Tush
  20694. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(471)})),
  20695. Fdl: *(*struct {
  20696. Flen1 [0]Tush
  20697. Fdad Tush
  20698. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20699. },
  20700. 216: {
  20701. Ffc: *(*struct {
  20702. Fcode [0]Tush
  20703. Ffreq Tush
  20704. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(55)})),
  20705. Fdl: *(*struct {
  20706. Flen1 [0]Tush
  20707. Fdad Tush
  20708. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20709. },
  20710. 217: {
  20711. Ffc: *(*struct {
  20712. Fcode [0]Tush
  20713. Ffreq Tush
  20714. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(311)})),
  20715. Fdl: *(*struct {
  20716. Flen1 [0]Tush
  20717. Fdad Tush
  20718. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20719. },
  20720. 218: {
  20721. Ffc: *(*struct {
  20722. Fcode [0]Tush
  20723. Ffreq Tush
  20724. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(183)})),
  20725. Fdl: *(*struct {
  20726. Flen1 [0]Tush
  20727. Fdad Tush
  20728. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20729. },
  20730. 219: {
  20731. Ffc: *(*struct {
  20732. Fcode [0]Tush
  20733. Ffreq Tush
  20734. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(439)})),
  20735. Fdl: *(*struct {
  20736. Flen1 [0]Tush
  20737. Fdad Tush
  20738. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20739. },
  20740. 220: {
  20741. Ffc: *(*struct {
  20742. Fcode [0]Tush
  20743. Ffreq Tush
  20744. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(119)})),
  20745. Fdl: *(*struct {
  20746. Flen1 [0]Tush
  20747. Fdad Tush
  20748. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20749. },
  20750. 221: {
  20751. Ffc: *(*struct {
  20752. Fcode [0]Tush
  20753. Ffreq Tush
  20754. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(375)})),
  20755. Fdl: *(*struct {
  20756. Flen1 [0]Tush
  20757. Fdad Tush
  20758. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20759. },
  20760. 222: {
  20761. Ffc: *(*struct {
  20762. Fcode [0]Tush
  20763. Ffreq Tush
  20764. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(247)})),
  20765. Fdl: *(*struct {
  20766. Flen1 [0]Tush
  20767. Fdad Tush
  20768. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20769. },
  20770. 223: {
  20771. Ffc: *(*struct {
  20772. Fcode [0]Tush
  20773. Ffreq Tush
  20774. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(503)})),
  20775. Fdl: *(*struct {
  20776. Flen1 [0]Tush
  20777. Fdad Tush
  20778. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20779. },
  20780. 224: {
  20781. Ffc: *(*struct {
  20782. Fcode [0]Tush
  20783. Ffreq Tush
  20784. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(15)})),
  20785. Fdl: *(*struct {
  20786. Flen1 [0]Tush
  20787. Fdad Tush
  20788. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20789. },
  20790. 225: {
  20791. Ffc: *(*struct {
  20792. Fcode [0]Tush
  20793. Ffreq Tush
  20794. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(271)})),
  20795. Fdl: *(*struct {
  20796. Flen1 [0]Tush
  20797. Fdad Tush
  20798. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20799. },
  20800. 226: {
  20801. Ffc: *(*struct {
  20802. Fcode [0]Tush
  20803. Ffreq Tush
  20804. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(143)})),
  20805. Fdl: *(*struct {
  20806. Flen1 [0]Tush
  20807. Fdad Tush
  20808. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20809. },
  20810. 227: {
  20811. Ffc: *(*struct {
  20812. Fcode [0]Tush
  20813. Ffreq Tush
  20814. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(399)})),
  20815. Fdl: *(*struct {
  20816. Flen1 [0]Tush
  20817. Fdad Tush
  20818. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20819. },
  20820. 228: {
  20821. Ffc: *(*struct {
  20822. Fcode [0]Tush
  20823. Ffreq Tush
  20824. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(79)})),
  20825. Fdl: *(*struct {
  20826. Flen1 [0]Tush
  20827. Fdad Tush
  20828. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20829. },
  20830. 229: {
  20831. Ffc: *(*struct {
  20832. Fcode [0]Tush
  20833. Ffreq Tush
  20834. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(335)})),
  20835. Fdl: *(*struct {
  20836. Flen1 [0]Tush
  20837. Fdad Tush
  20838. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20839. },
  20840. 230: {
  20841. Ffc: *(*struct {
  20842. Fcode [0]Tush
  20843. Ffreq Tush
  20844. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(207)})),
  20845. Fdl: *(*struct {
  20846. Flen1 [0]Tush
  20847. Fdad Tush
  20848. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20849. },
  20850. 231: {
  20851. Ffc: *(*struct {
  20852. Fcode [0]Tush
  20853. Ffreq Tush
  20854. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(463)})),
  20855. Fdl: *(*struct {
  20856. Flen1 [0]Tush
  20857. Fdad Tush
  20858. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20859. },
  20860. 232: {
  20861. Ffc: *(*struct {
  20862. Fcode [0]Tush
  20863. Ffreq Tush
  20864. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(47)})),
  20865. Fdl: *(*struct {
  20866. Flen1 [0]Tush
  20867. Fdad Tush
  20868. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20869. },
  20870. 233: {
  20871. Ffc: *(*struct {
  20872. Fcode [0]Tush
  20873. Ffreq Tush
  20874. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(303)})),
  20875. Fdl: *(*struct {
  20876. Flen1 [0]Tush
  20877. Fdad Tush
  20878. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20879. },
  20880. 234: {
  20881. Ffc: *(*struct {
  20882. Fcode [0]Tush
  20883. Ffreq Tush
  20884. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(175)})),
  20885. Fdl: *(*struct {
  20886. Flen1 [0]Tush
  20887. Fdad Tush
  20888. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20889. },
  20890. 235: {
  20891. Ffc: *(*struct {
  20892. Fcode [0]Tush
  20893. Ffreq Tush
  20894. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(431)})),
  20895. Fdl: *(*struct {
  20896. Flen1 [0]Tush
  20897. Fdad Tush
  20898. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20899. },
  20900. 236: {
  20901. Ffc: *(*struct {
  20902. Fcode [0]Tush
  20903. Ffreq Tush
  20904. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(111)})),
  20905. Fdl: *(*struct {
  20906. Flen1 [0]Tush
  20907. Fdad Tush
  20908. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20909. },
  20910. 237: {
  20911. Ffc: *(*struct {
  20912. Fcode [0]Tush
  20913. Ffreq Tush
  20914. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(367)})),
  20915. Fdl: *(*struct {
  20916. Flen1 [0]Tush
  20917. Fdad Tush
  20918. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20919. },
  20920. 238: {
  20921. Ffc: *(*struct {
  20922. Fcode [0]Tush
  20923. Ffreq Tush
  20924. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(239)})),
  20925. Fdl: *(*struct {
  20926. Flen1 [0]Tush
  20927. Fdad Tush
  20928. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20929. },
  20930. 239: {
  20931. Ffc: *(*struct {
  20932. Fcode [0]Tush
  20933. Ffreq Tush
  20934. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(495)})),
  20935. Fdl: *(*struct {
  20936. Flen1 [0]Tush
  20937. Fdad Tush
  20938. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20939. },
  20940. 240: {
  20941. Ffc: *(*struct {
  20942. Fcode [0]Tush
  20943. Ffreq Tush
  20944. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(31)})),
  20945. Fdl: *(*struct {
  20946. Flen1 [0]Tush
  20947. Fdad Tush
  20948. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20949. },
  20950. 241: {
  20951. Ffc: *(*struct {
  20952. Fcode [0]Tush
  20953. Ffreq Tush
  20954. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(287)})),
  20955. Fdl: *(*struct {
  20956. Flen1 [0]Tush
  20957. Fdad Tush
  20958. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20959. },
  20960. 242: {
  20961. Ffc: *(*struct {
  20962. Fcode [0]Tush
  20963. Ffreq Tush
  20964. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(159)})),
  20965. Fdl: *(*struct {
  20966. Flen1 [0]Tush
  20967. Fdad Tush
  20968. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20969. },
  20970. 243: {
  20971. Ffc: *(*struct {
  20972. Fcode [0]Tush
  20973. Ffreq Tush
  20974. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(415)})),
  20975. Fdl: *(*struct {
  20976. Flen1 [0]Tush
  20977. Fdad Tush
  20978. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20979. },
  20980. 244: {
  20981. Ffc: *(*struct {
  20982. Fcode [0]Tush
  20983. Ffreq Tush
  20984. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(95)})),
  20985. Fdl: *(*struct {
  20986. Flen1 [0]Tush
  20987. Fdad Tush
  20988. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20989. },
  20990. 245: {
  20991. Ffc: *(*struct {
  20992. Fcode [0]Tush
  20993. Ffreq Tush
  20994. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(351)})),
  20995. Fdl: *(*struct {
  20996. Flen1 [0]Tush
  20997. Fdad Tush
  20998. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20999. },
  21000. 246: {
  21001. Ffc: *(*struct {
  21002. Fcode [0]Tush
  21003. Ffreq Tush
  21004. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(223)})),
  21005. Fdl: *(*struct {
  21006. Flen1 [0]Tush
  21007. Fdad Tush
  21008. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21009. },
  21010. 247: {
  21011. Ffc: *(*struct {
  21012. Fcode [0]Tush
  21013. Ffreq Tush
  21014. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(479)})),
  21015. Fdl: *(*struct {
  21016. Flen1 [0]Tush
  21017. Fdad Tush
  21018. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21019. },
  21020. 248: {
  21021. Ffc: *(*struct {
  21022. Fcode [0]Tush
  21023. Ffreq Tush
  21024. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(63)})),
  21025. Fdl: *(*struct {
  21026. Flen1 [0]Tush
  21027. Fdad Tush
  21028. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21029. },
  21030. 249: {
  21031. Ffc: *(*struct {
  21032. Fcode [0]Tush
  21033. Ffreq Tush
  21034. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(319)})),
  21035. Fdl: *(*struct {
  21036. Flen1 [0]Tush
  21037. Fdad Tush
  21038. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21039. },
  21040. 250: {
  21041. Ffc: *(*struct {
  21042. Fcode [0]Tush
  21043. Ffreq Tush
  21044. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(191)})),
  21045. Fdl: *(*struct {
  21046. Flen1 [0]Tush
  21047. Fdad Tush
  21048. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21049. },
  21050. 251: {
  21051. Ffc: *(*struct {
  21052. Fcode [0]Tush
  21053. Ffreq Tush
  21054. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(447)})),
  21055. Fdl: *(*struct {
  21056. Flen1 [0]Tush
  21057. Fdad Tush
  21058. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21059. },
  21060. 252: {
  21061. Ffc: *(*struct {
  21062. Fcode [0]Tush
  21063. Ffreq Tush
  21064. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(127)})),
  21065. Fdl: *(*struct {
  21066. Flen1 [0]Tush
  21067. Fdad Tush
  21068. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21069. },
  21070. 253: {
  21071. Ffc: *(*struct {
  21072. Fcode [0]Tush
  21073. Ffreq Tush
  21074. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(383)})),
  21075. Fdl: *(*struct {
  21076. Flen1 [0]Tush
  21077. Fdad Tush
  21078. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21079. },
  21080. 254: {
  21081. Ffc: *(*struct {
  21082. Fcode [0]Tush
  21083. Ffreq Tush
  21084. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(255)})),
  21085. Fdl: *(*struct {
  21086. Flen1 [0]Tush
  21087. Fdad Tush
  21088. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21089. },
  21090. 255: {
  21091. Ffc: *(*struct {
  21092. Fcode [0]Tush
  21093. Ffreq Tush
  21094. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(511)})),
  21095. Fdl: *(*struct {
  21096. Flen1 [0]Tush
  21097. Fdad Tush
  21098. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21099. },
  21100. 256: {
  21101. Fdl: *(*struct {
  21102. Flen1 [0]Tush
  21103. Fdad Tush
  21104. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21105. },
  21106. 257: {
  21107. Ffc: *(*struct {
  21108. Fcode [0]Tush
  21109. Ffreq Tush
  21110. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(64)})),
  21111. Fdl: *(*struct {
  21112. Flen1 [0]Tush
  21113. Fdad Tush
  21114. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21115. },
  21116. 258: {
  21117. Ffc: *(*struct {
  21118. Fcode [0]Tush
  21119. Ffreq Tush
  21120. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(32)})),
  21121. Fdl: *(*struct {
  21122. Flen1 [0]Tush
  21123. Fdad Tush
  21124. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21125. },
  21126. 259: {
  21127. Ffc: *(*struct {
  21128. Fcode [0]Tush
  21129. Ffreq Tush
  21130. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(96)})),
  21131. Fdl: *(*struct {
  21132. Flen1 [0]Tush
  21133. Fdad Tush
  21134. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21135. },
  21136. 260: {
  21137. Ffc: *(*struct {
  21138. Fcode [0]Tush
  21139. Ffreq Tush
  21140. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(16)})),
  21141. Fdl: *(*struct {
  21142. Flen1 [0]Tush
  21143. Fdad Tush
  21144. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21145. },
  21146. 261: {
  21147. Ffc: *(*struct {
  21148. Fcode [0]Tush
  21149. Ffreq Tush
  21150. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(80)})),
  21151. Fdl: *(*struct {
  21152. Flen1 [0]Tush
  21153. Fdad Tush
  21154. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21155. },
  21156. 262: {
  21157. Ffc: *(*struct {
  21158. Fcode [0]Tush
  21159. Ffreq Tush
  21160. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(48)})),
  21161. Fdl: *(*struct {
  21162. Flen1 [0]Tush
  21163. Fdad Tush
  21164. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21165. },
  21166. 263: {
  21167. Ffc: *(*struct {
  21168. Fcode [0]Tush
  21169. Ffreq Tush
  21170. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(112)})),
  21171. Fdl: *(*struct {
  21172. Flen1 [0]Tush
  21173. Fdad Tush
  21174. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21175. },
  21176. 264: {
  21177. Ffc: *(*struct {
  21178. Fcode [0]Tush
  21179. Ffreq Tush
  21180. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21181. Fdl: *(*struct {
  21182. Flen1 [0]Tush
  21183. Fdad Tush
  21184. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21185. },
  21186. 265: {
  21187. Ffc: *(*struct {
  21188. Fcode [0]Tush
  21189. Ffreq Tush
  21190. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(72)})),
  21191. Fdl: *(*struct {
  21192. Flen1 [0]Tush
  21193. Fdad Tush
  21194. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21195. },
  21196. 266: {
  21197. Ffc: *(*struct {
  21198. Fcode [0]Tush
  21199. Ffreq Tush
  21200. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(40)})),
  21201. Fdl: *(*struct {
  21202. Flen1 [0]Tush
  21203. Fdad Tush
  21204. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21205. },
  21206. 267: {
  21207. Ffc: *(*struct {
  21208. Fcode [0]Tush
  21209. Ffreq Tush
  21210. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(104)})),
  21211. Fdl: *(*struct {
  21212. Flen1 [0]Tush
  21213. Fdad Tush
  21214. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21215. },
  21216. 268: {
  21217. Ffc: *(*struct {
  21218. Fcode [0]Tush
  21219. Ffreq Tush
  21220. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(24)})),
  21221. Fdl: *(*struct {
  21222. Flen1 [0]Tush
  21223. Fdad Tush
  21224. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21225. },
  21226. 269: {
  21227. Ffc: *(*struct {
  21228. Fcode [0]Tush
  21229. Ffreq Tush
  21230. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(88)})),
  21231. Fdl: *(*struct {
  21232. Flen1 [0]Tush
  21233. Fdad Tush
  21234. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21235. },
  21236. 270: {
  21237. Ffc: *(*struct {
  21238. Fcode [0]Tush
  21239. Ffreq Tush
  21240. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(56)})),
  21241. Fdl: *(*struct {
  21242. Flen1 [0]Tush
  21243. Fdad Tush
  21244. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21245. },
  21246. 271: {
  21247. Ffc: *(*struct {
  21248. Fcode [0]Tush
  21249. Ffreq Tush
  21250. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(120)})),
  21251. Fdl: *(*struct {
  21252. Flen1 [0]Tush
  21253. Fdad Tush
  21254. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21255. },
  21256. 272: {
  21257. Ffc: *(*struct {
  21258. Fcode [0]Tush
  21259. Ffreq Tush
  21260. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(4)})),
  21261. Fdl: *(*struct {
  21262. Flen1 [0]Tush
  21263. Fdad Tush
  21264. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21265. },
  21266. 273: {
  21267. Ffc: *(*struct {
  21268. Fcode [0]Tush
  21269. Ffreq Tush
  21270. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(68)})),
  21271. Fdl: *(*struct {
  21272. Flen1 [0]Tush
  21273. Fdad Tush
  21274. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21275. },
  21276. 274: {
  21277. Ffc: *(*struct {
  21278. Fcode [0]Tush
  21279. Ffreq Tush
  21280. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(36)})),
  21281. Fdl: *(*struct {
  21282. Flen1 [0]Tush
  21283. Fdad Tush
  21284. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21285. },
  21286. 275: {
  21287. Ffc: *(*struct {
  21288. Fcode [0]Tush
  21289. Ffreq Tush
  21290. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(100)})),
  21291. Fdl: *(*struct {
  21292. Flen1 [0]Tush
  21293. Fdad Tush
  21294. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21295. },
  21296. 276: {
  21297. Ffc: *(*struct {
  21298. Fcode [0]Tush
  21299. Ffreq Tush
  21300. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(20)})),
  21301. Fdl: *(*struct {
  21302. Flen1 [0]Tush
  21303. Fdad Tush
  21304. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21305. },
  21306. 277: {
  21307. Ffc: *(*struct {
  21308. Fcode [0]Tush
  21309. Ffreq Tush
  21310. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(84)})),
  21311. Fdl: *(*struct {
  21312. Flen1 [0]Tush
  21313. Fdad Tush
  21314. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21315. },
  21316. 278: {
  21317. Ffc: *(*struct {
  21318. Fcode [0]Tush
  21319. Ffreq Tush
  21320. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(52)})),
  21321. Fdl: *(*struct {
  21322. Flen1 [0]Tush
  21323. Fdad Tush
  21324. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21325. },
  21326. 279: {
  21327. Ffc: *(*struct {
  21328. Fcode [0]Tush
  21329. Ffreq Tush
  21330. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(116)})),
  21331. Fdl: *(*struct {
  21332. Flen1 [0]Tush
  21333. Fdad Tush
  21334. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21335. },
  21336. 280: {
  21337. Ffc: *(*struct {
  21338. Fcode [0]Tush
  21339. Ffreq Tush
  21340. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(3)})),
  21341. Fdl: *(*struct {
  21342. Flen1 [0]Tush
  21343. Fdad Tush
  21344. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21345. },
  21346. 281: {
  21347. Ffc: *(*struct {
  21348. Fcode [0]Tush
  21349. Ffreq Tush
  21350. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(131)})),
  21351. Fdl: *(*struct {
  21352. Flen1 [0]Tush
  21353. Fdad Tush
  21354. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21355. },
  21356. 282: {
  21357. Ffc: *(*struct {
  21358. Fcode [0]Tush
  21359. Ffreq Tush
  21360. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(67)})),
  21361. Fdl: *(*struct {
  21362. Flen1 [0]Tush
  21363. Fdad Tush
  21364. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21365. },
  21366. 283: {
  21367. Ffc: *(*struct {
  21368. Fcode [0]Tush
  21369. Ffreq Tush
  21370. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(195)})),
  21371. Fdl: *(*struct {
  21372. Flen1 [0]Tush
  21373. Fdad Tush
  21374. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21375. },
  21376. 284: {
  21377. Ffc: *(*struct {
  21378. Fcode [0]Tush
  21379. Ffreq Tush
  21380. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(35)})),
  21381. Fdl: *(*struct {
  21382. Flen1 [0]Tush
  21383. Fdad Tush
  21384. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21385. },
  21386. 285: {
  21387. Ffc: *(*struct {
  21388. Fcode [0]Tush
  21389. Ffreq Tush
  21390. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(163)})),
  21391. Fdl: *(*struct {
  21392. Flen1 [0]Tush
  21393. Fdad Tush
  21394. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21395. },
  21396. 286: {
  21397. Ffc: *(*struct {
  21398. Fcode [0]Tush
  21399. Ffreq Tush
  21400. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(99)})),
  21401. Fdl: *(*struct {
  21402. Flen1 [0]Tush
  21403. Fdad Tush
  21404. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21405. },
  21406. 287: {
  21407. Ffc: *(*struct {
  21408. Fcode [0]Tush
  21409. Ffreq Tush
  21410. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(227)})),
  21411. Fdl: *(*struct {
  21412. Flen1 [0]Tush
  21413. Fdad Tush
  21414. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21415. },
  21416. }
  21417. var _static_dtree = [30]Tct_data{
  21418. 0: {
  21419. Fdl: *(*struct {
  21420. Flen1 [0]Tush
  21421. Fdad Tush
  21422. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21423. },
  21424. 1: {
  21425. Ffc: *(*struct {
  21426. Fcode [0]Tush
  21427. Ffreq Tush
  21428. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(16)})),
  21429. Fdl: *(*struct {
  21430. Flen1 [0]Tush
  21431. Fdad Tush
  21432. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21433. },
  21434. 2: {
  21435. Ffc: *(*struct {
  21436. Fcode [0]Tush
  21437. Ffreq Tush
  21438. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21439. Fdl: *(*struct {
  21440. Flen1 [0]Tush
  21441. Fdad Tush
  21442. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21443. },
  21444. 3: {
  21445. Ffc: *(*struct {
  21446. Fcode [0]Tush
  21447. Ffreq Tush
  21448. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(24)})),
  21449. Fdl: *(*struct {
  21450. Flen1 [0]Tush
  21451. Fdad Tush
  21452. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21453. },
  21454. 4: {
  21455. Ffc: *(*struct {
  21456. Fcode [0]Tush
  21457. Ffreq Tush
  21458. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(4)})),
  21459. Fdl: *(*struct {
  21460. Flen1 [0]Tush
  21461. Fdad Tush
  21462. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21463. },
  21464. 5: {
  21465. Ffc: *(*struct {
  21466. Fcode [0]Tush
  21467. Ffreq Tush
  21468. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(20)})),
  21469. Fdl: *(*struct {
  21470. Flen1 [0]Tush
  21471. Fdad Tush
  21472. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21473. },
  21474. 6: {
  21475. Ffc: *(*struct {
  21476. Fcode [0]Tush
  21477. Ffreq Tush
  21478. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(12)})),
  21479. Fdl: *(*struct {
  21480. Flen1 [0]Tush
  21481. Fdad Tush
  21482. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21483. },
  21484. 7: {
  21485. Ffc: *(*struct {
  21486. Fcode [0]Tush
  21487. Ffreq Tush
  21488. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(28)})),
  21489. Fdl: *(*struct {
  21490. Flen1 [0]Tush
  21491. Fdad Tush
  21492. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21493. },
  21494. 8: {
  21495. Ffc: *(*struct {
  21496. Fcode [0]Tush
  21497. Ffreq Tush
  21498. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(2)})),
  21499. Fdl: *(*struct {
  21500. Flen1 [0]Tush
  21501. Fdad Tush
  21502. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21503. },
  21504. 9: {
  21505. Ffc: *(*struct {
  21506. Fcode [0]Tush
  21507. Ffreq Tush
  21508. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(18)})),
  21509. Fdl: *(*struct {
  21510. Flen1 [0]Tush
  21511. Fdad Tush
  21512. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21513. },
  21514. 10: {
  21515. Ffc: *(*struct {
  21516. Fcode [0]Tush
  21517. Ffreq Tush
  21518. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(10)})),
  21519. Fdl: *(*struct {
  21520. Flen1 [0]Tush
  21521. Fdad Tush
  21522. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21523. },
  21524. 11: {
  21525. Ffc: *(*struct {
  21526. Fcode [0]Tush
  21527. Ffreq Tush
  21528. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(26)})),
  21529. Fdl: *(*struct {
  21530. Flen1 [0]Tush
  21531. Fdad Tush
  21532. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21533. },
  21534. 12: {
  21535. Ffc: *(*struct {
  21536. Fcode [0]Tush
  21537. Ffreq Tush
  21538. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(6)})),
  21539. Fdl: *(*struct {
  21540. Flen1 [0]Tush
  21541. Fdad Tush
  21542. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21543. },
  21544. 13: {
  21545. Ffc: *(*struct {
  21546. Fcode [0]Tush
  21547. Ffreq Tush
  21548. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(22)})),
  21549. Fdl: *(*struct {
  21550. Flen1 [0]Tush
  21551. Fdad Tush
  21552. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21553. },
  21554. 14: {
  21555. Ffc: *(*struct {
  21556. Fcode [0]Tush
  21557. Ffreq Tush
  21558. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(14)})),
  21559. Fdl: *(*struct {
  21560. Flen1 [0]Tush
  21561. Fdad Tush
  21562. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21563. },
  21564. 15: {
  21565. Ffc: *(*struct {
  21566. Fcode [0]Tush
  21567. Ffreq Tush
  21568. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(30)})),
  21569. Fdl: *(*struct {
  21570. Flen1 [0]Tush
  21571. Fdad Tush
  21572. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21573. },
  21574. 16: {
  21575. Ffc: *(*struct {
  21576. Fcode [0]Tush
  21577. Ffreq Tush
  21578. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(1)})),
  21579. Fdl: *(*struct {
  21580. Flen1 [0]Tush
  21581. Fdad Tush
  21582. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21583. },
  21584. 17: {
  21585. Ffc: *(*struct {
  21586. Fcode [0]Tush
  21587. Ffreq Tush
  21588. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(17)})),
  21589. Fdl: *(*struct {
  21590. Flen1 [0]Tush
  21591. Fdad Tush
  21592. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21593. },
  21594. 18: {
  21595. Ffc: *(*struct {
  21596. Fcode [0]Tush
  21597. Ffreq Tush
  21598. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21599. Fdl: *(*struct {
  21600. Flen1 [0]Tush
  21601. Fdad Tush
  21602. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21603. },
  21604. 19: {
  21605. Ffc: *(*struct {
  21606. Fcode [0]Tush
  21607. Ffreq Tush
  21608. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(25)})),
  21609. Fdl: *(*struct {
  21610. Flen1 [0]Tush
  21611. Fdad Tush
  21612. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21613. },
  21614. 20: {
  21615. Ffc: *(*struct {
  21616. Fcode [0]Tush
  21617. Ffreq Tush
  21618. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21619. Fdl: *(*struct {
  21620. Flen1 [0]Tush
  21621. Fdad Tush
  21622. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21623. },
  21624. 21: {
  21625. Ffc: *(*struct {
  21626. Fcode [0]Tush
  21627. Ffreq Tush
  21628. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(21)})),
  21629. Fdl: *(*struct {
  21630. Flen1 [0]Tush
  21631. Fdad Tush
  21632. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21633. },
  21634. 22: {
  21635. Ffc: *(*struct {
  21636. Fcode [0]Tush
  21637. Ffreq Tush
  21638. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(13)})),
  21639. Fdl: *(*struct {
  21640. Flen1 [0]Tush
  21641. Fdad Tush
  21642. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21643. },
  21644. 23: {
  21645. Ffc: *(*struct {
  21646. Fcode [0]Tush
  21647. Ffreq Tush
  21648. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(29)})),
  21649. Fdl: *(*struct {
  21650. Flen1 [0]Tush
  21651. Fdad Tush
  21652. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21653. },
  21654. 24: {
  21655. Ffc: *(*struct {
  21656. Fcode [0]Tush
  21657. Ffreq Tush
  21658. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(3)})),
  21659. Fdl: *(*struct {
  21660. Flen1 [0]Tush
  21661. Fdad Tush
  21662. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21663. },
  21664. 25: {
  21665. Ffc: *(*struct {
  21666. Fcode [0]Tush
  21667. Ffreq Tush
  21668. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(19)})),
  21669. Fdl: *(*struct {
  21670. Flen1 [0]Tush
  21671. Fdad Tush
  21672. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21673. },
  21674. 26: {
  21675. Ffc: *(*struct {
  21676. Fcode [0]Tush
  21677. Ffreq Tush
  21678. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(11)})),
  21679. Fdl: *(*struct {
  21680. Flen1 [0]Tush
  21681. Fdad Tush
  21682. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21683. },
  21684. 27: {
  21685. Ffc: *(*struct {
  21686. Fcode [0]Tush
  21687. Ffreq Tush
  21688. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(27)})),
  21689. Fdl: *(*struct {
  21690. Flen1 [0]Tush
  21691. Fdad Tush
  21692. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21693. },
  21694. 28: {
  21695. Ffc: *(*struct {
  21696. Fcode [0]Tush
  21697. Ffreq Tush
  21698. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21699. Fdl: *(*struct {
  21700. Flen1 [0]Tush
  21701. Fdad Tush
  21702. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21703. },
  21704. 29: {
  21705. Ffc: *(*struct {
  21706. Fcode [0]Tush
  21707. Ffreq Tush
  21708. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(23)})),
  21709. Fdl: *(*struct {
  21710. Flen1 [0]Tush
  21711. Fdad Tush
  21712. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21713. },
  21714. }
  21715. var _base_length = [29]int32{
  21716. 1: int32(1),
  21717. 2: int32(2),
  21718. 3: int32(3),
  21719. 4: int32(4),
  21720. 5: int32(5),
  21721. 6: int32(6),
  21722. 7: int32(7),
  21723. 8: int32(8),
  21724. 9: int32(10),
  21725. 10: int32(12),
  21726. 11: int32(14),
  21727. 12: int32(16),
  21728. 13: int32(20),
  21729. 14: int32(24),
  21730. 15: int32(28),
  21731. 16: int32(32),
  21732. 17: int32(40),
  21733. 18: int32(48),
  21734. 19: int32(56),
  21735. 20: int32(64),
  21736. 21: int32(80),
  21737. 22: int32(96),
  21738. 23: int32(112),
  21739. 24: int32(128),
  21740. 25: int32(160),
  21741. 26: int32(192),
  21742. 27: int32(224),
  21743. }
  21744. var _base_dist = [30]int32{
  21745. 1: int32(1),
  21746. 2: int32(2),
  21747. 3: int32(3),
  21748. 4: int32(4),
  21749. 5: int32(6),
  21750. 6: int32(8),
  21751. 7: int32(12),
  21752. 8: int32(16),
  21753. 9: int32(24),
  21754. 10: int32(32),
  21755. 11: int32(48),
  21756. 12: int32(64),
  21757. 13: int32(96),
  21758. 14: int32(128),
  21759. 15: int32(192),
  21760. 16: int32(256),
  21761. 17: int32(384),
  21762. 18: int32(512),
  21763. 19: int32(768),
  21764. 20: int32(1024),
  21765. 21: int32(1536),
  21766. 22: int32(2048),
  21767. 23: int32(3072),
  21768. 24: int32(4096),
  21769. 25: int32(6144),
  21770. 26: int32(8192),
  21771. 27: int32(12288),
  21772. 28: int32(16384),
  21773. 29: int32(24576),
  21774. }
  21775. var _static_l_desc = Tstatic_tree_desc{
  21776. Fstatic_tree: uintptr(unsafe.Pointer(&_static_ltree)),
  21777. Fextra_bits: uintptr(unsafe.Pointer(&_extra_lbits)),
  21778. Fextra_base: libc.Int32FromInt32(m_LITERALS) + libc.Int32FromInt32(1),
  21779. Felems: libc.Int32FromInt32(m_LITERALS) + libc.Int32FromInt32(1) + libc.Int32FromInt32(m_LENGTH_CODES),
  21780. Fmax_length: int32(m_MAX_BITS),
  21781. }
  21782. var _static_d_desc = Tstatic_tree_desc{
  21783. Fstatic_tree: uintptr(unsafe.Pointer(&_static_dtree)),
  21784. Fextra_bits: uintptr(unsafe.Pointer(&_extra_dbits)),
  21785. Felems: int32(m_D_CODES),
  21786. Fmax_length: int32(m_MAX_BITS),
  21787. }
  21788. var _static_bl_desc = Tstatic_tree_desc{
  21789. Fextra_bits: uintptr(unsafe.Pointer(&_extra_blbits)),
  21790. Felems: int32(m_BL_CODES),
  21791. Fmax_length: int32(m_MAX_BL_BITS),
  21792. }
  21793. /* ===========================================================================
  21794. * Output a short LSB first on the stream.
  21795. * IN assertion: there is enough room in pendingBuf.
  21796. */
  21797. // C documentation
  21798. //
  21799. // /* ===========================================================================
  21800. // * Reverse the first len bits of a code, using straightforward code (a faster
  21801. // * method would use a table)
  21802. // * IN assertion: 1 <= len <= 15
  21803. // */
  21804. func _bi_reverse(tls *libc.TLS, code uint32, len1 int32) (r uint32) {
  21805. var res uint32
  21806. var v1 int32
  21807. _, _ = res, v1
  21808. res = uint32(0)
  21809. for {
  21810. res |= code & uint32(1)
  21811. code >>= uint32(1)
  21812. res <<= uint32(1)
  21813. goto _2
  21814. _2:
  21815. ;
  21816. len1--
  21817. v1 = len1
  21818. if !(v1 > 0) {
  21819. break
  21820. }
  21821. }
  21822. return res >> int32(1)
  21823. }
  21824. // C documentation
  21825. //
  21826. // /* ===========================================================================
  21827. // * Flush the bit buffer, keeping at most 7 bits in it.
  21828. // */
  21829. func _bi_flush(tls *libc.TLS, s uintptr) {
  21830. var v1, v3, v5 Tulg
  21831. var v2, v4, v6, p7 uintptr
  21832. _, _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6, p7
  21833. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid == int32(16) {
  21834. v2 = s + 40
  21835. v1 = *(*Tulg)(unsafe.Pointer(v2))
  21836. *(*Tulg)(unsafe.Pointer(v2))++
  21837. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21838. v4 = s + 40
  21839. v3 = *(*Tulg)(unsafe.Pointer(v4))
  21840. *(*Tulg)(unsafe.Pointer(v4))++
  21841. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21842. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  21843. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  21844. } else {
  21845. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid >= int32(8) {
  21846. v6 = s + 40
  21847. v5 = *(*Tulg)(unsafe.Pointer(v6))
  21848. *(*Tulg)(unsafe.Pointer(v6))++
  21849. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf)
  21850. p7 = s + 5936
  21851. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) >> libc.Int32FromInt32(8))
  21852. *(*int32)(unsafe.Pointer(s + 5940)) -= int32(8)
  21853. }
  21854. }
  21855. }
  21856. // C documentation
  21857. //
  21858. // /* ===========================================================================
  21859. // * Flush the bit buffer and align the output on a byte boundary
  21860. // */
  21861. func _bi_windup(tls *libc.TLS, s uintptr) {
  21862. var v1, v3, v5 Tulg
  21863. var v2, v4, v6 uintptr
  21864. _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6
  21865. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > int32(8) {
  21866. v2 = s + 40
  21867. v1 = *(*Tulg)(unsafe.Pointer(v2))
  21868. *(*Tulg)(unsafe.Pointer(v2))++
  21869. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21870. v4 = s + 40
  21871. v3 = *(*Tulg)(unsafe.Pointer(v4))
  21872. *(*Tulg)(unsafe.Pointer(v4))++
  21873. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21874. } else {
  21875. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > 0 {
  21876. v6 = s + 40
  21877. v5 = *(*Tulg)(unsafe.Pointer(v6))
  21878. *(*Tulg)(unsafe.Pointer(v6))++
  21879. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf)
  21880. }
  21881. }
  21882. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  21883. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  21884. }
  21885. // C documentation
  21886. //
  21887. // /* ===========================================================================
  21888. // * Generate the codes for a given tree and bit counts (which need not be
  21889. // * optimal).
  21890. // * IN assertion: the array bl_count contains the bit length statistics for
  21891. // * the given tree and the field len is set for all tree elements.
  21892. // * OUT assertion: the field code is set for all tree elements of non
  21893. // * zero code length.
  21894. // */
  21895. func _gen_codes(tls *libc.TLS, tree uintptr, max_code int32, bl_count uintptr) {
  21896. bp := tls.Alloc(32)
  21897. defer tls.Free(32)
  21898. var bits, len1, n int32
  21899. var code uint32
  21900. var v3 Tush
  21901. var v4 uintptr
  21902. var _ /* next_code at bp+0 */ [16]Tush
  21903. _, _, _, _, _, _ = bits, code, len1, n, v3, v4 /* next code value for each bit length */
  21904. code = uint32(0) /* code index */
  21905. /* The distribution counts are first used to generate the code values
  21906. * without bit reversal.
  21907. */
  21908. bits = int32(1)
  21909. for {
  21910. if !(bits <= int32(m_MAX_BITS)) {
  21911. break
  21912. }
  21913. code = (code + uint32(*(*Tushf)(unsafe.Pointer(bl_count + uintptr(bits-int32(1))*2)))) << int32(1)
  21914. (*(*[16]Tush)(unsafe.Pointer(bp)))[bits] = uint16(code)
  21915. goto _1
  21916. _1:
  21917. ;
  21918. bits++
  21919. }
  21920. /* Check that the bit counts in bl_count are consistent. The last code
  21921. * must be all ones.
  21922. */
  21923. n = 0
  21924. for {
  21925. if !(n <= max_code) {
  21926. break
  21927. }
  21928. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))
  21929. if len1 == 0 {
  21930. goto _2
  21931. }
  21932. /* Now reverse the bits */
  21933. v4 = bp + uintptr(len1)*2
  21934. v3 = *(*Tush)(unsafe.Pointer(v4))
  21935. *(*Tush)(unsafe.Pointer(v4))++
  21936. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4)) = uint16(_bi_reverse(tls, uint32(v3), len1))
  21937. goto _2
  21938. _2:
  21939. ;
  21940. n++
  21941. }
  21942. }
  21943. /* Send a code of the given tree. c and tree must not have side effects */
  21944. /* ===========================================================================
  21945. * Send a value on a given number of bits.
  21946. * IN assertion: length <= 16 and value fits in length bits.
  21947. */
  21948. /* the arguments must not have side effects */
  21949. // C documentation
  21950. //
  21951. // /* ===========================================================================
  21952. // * Initialize the various 'constant' tables.
  21953. // */
  21954. func _tr_static_init(tls *libc.TLS) {
  21955. }
  21956. /* ===========================================================================
  21957. * Generate the file trees.h describing the static trees.
  21958. */
  21959. // C documentation
  21960. //
  21961. // /* ===========================================================================
  21962. // * Initialize a new block.
  21963. // */
  21964. func _init_block(tls *libc.TLS, s uintptr) {
  21965. var n int32
  21966. var v4 Tulg
  21967. var v5 TuInt
  21968. _, _, _ = n, v4, v5 /* iterates over tree elements */
  21969. /* Initialize the trees. */
  21970. n = 0
  21971. for {
  21972. if !(n < libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES)) {
  21973. break
  21974. }
  21975. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4)) = uint16(0)
  21976. goto _1
  21977. _1:
  21978. ;
  21979. n++
  21980. }
  21981. n = 0
  21982. for {
  21983. if !(n < int32(m_D_CODES)) {
  21984. break
  21985. }
  21986. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(n)*4)) = uint16(0)
  21987. goto _2
  21988. _2:
  21989. ;
  21990. n++
  21991. }
  21992. n = 0
  21993. for {
  21994. if !(n < int32(m_BL_CODES)) {
  21995. break
  21996. }
  21997. *(*Tush)(unsafe.Pointer(s + 2748 + uintptr(n)*4)) = uint16(0)
  21998. goto _3
  21999. _3:
  22000. ;
  22001. n++
  22002. }
  22003. *(*Tush)(unsafe.Pointer(s + 212 + 256*4)) = uint16(1)
  22004. v4 = libc.Uint64FromInt64(0)
  22005. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatic_len = v4
  22006. (*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len = v4
  22007. v5 = libc.Uint32FromInt32(0)
  22008. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = v5
  22009. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next = v5
  22010. }
  22011. // C documentation
  22012. //
  22013. // /* ===========================================================================
  22014. // * Initialize the tree data structures for a new zlib stream.
  22015. // */
  22016. func x__tr_init(tls *libc.TLS, s uintptr) {
  22017. _tr_static_init(tls)
  22018. (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fdyn_tree = s + 212
  22019. (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_l_desc))
  22020. (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fdyn_tree = s + 2504
  22021. (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_d_desc))
  22022. (*Tdeflate_state)(unsafe.Pointer(s)).Fbl_desc.Fdyn_tree = s + 2748
  22023. (*Tdeflate_state)(unsafe.Pointer(s)).Fbl_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_bl_desc))
  22024. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  22025. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  22026. /* Initialize the first block of the first file: */
  22027. _init_block(tls, s)
  22028. }
  22029. /* Index within the heap array of least frequent node in the Huffman tree */
  22030. /* ===========================================================================
  22031. * Remove the smallest element from the heap and recreate the heap with
  22032. * one less element. Updates heap and heap_len.
  22033. */
  22034. /* ===========================================================================
  22035. * Compares to subtrees, using the tree depth as tie breaker when
  22036. * the subtrees have equal frequency. This minimizes the worst case length.
  22037. */
  22038. // C documentation
  22039. //
  22040. // /* ===========================================================================
  22041. // * Restore the heap property by moving down the tree starting at node k,
  22042. // * exchanging a node with the smallest of its two sons if necessary, stopping
  22043. // * when the heap property is re-established (each father smaller than its
  22044. // * two sons).
  22045. // */
  22046. func _pqdownheap(tls *libc.TLS, s uintptr, tree uintptr, k int32) {
  22047. var j, v int32
  22048. _, _ = j, v
  22049. v = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4))
  22050. j = k << int32(1) /* left son of k */
  22051. for j <= (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len {
  22052. /* Set j to the smallest of the two sons: */
  22053. if j < (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len && (libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+int32(1))*4)))*4))) < libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+int32(1))*4)))*4))) == libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) && libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+int32(1))*4)))))) <= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4))))))) {
  22054. j++
  22055. }
  22056. /* Exit if v is smaller than both sons */
  22057. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(v)*4))) < libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(v)*4))) == libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) && libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(v)))) <= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))))) {
  22058. break
  22059. }
  22060. /* Exchange v with the smallest son */
  22061. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4))
  22062. k = j
  22063. /* And continue down the tree, setting j to the left son of k */
  22064. j <<= int32(1)
  22065. }
  22066. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = v
  22067. }
  22068. // C documentation
  22069. //
  22070. // /* ===========================================================================
  22071. // * Compute the optimal bit lengths for a tree and update the total bit length
  22072. // * for the current block.
  22073. // * IN assertion: the fields freq and dad are set, heap[heap_max] and
  22074. // * above are the tree nodes sorted by increasing frequency.
  22075. // * OUT assertions: the field len is set to the optimal bit length, the
  22076. // * array bl_count contains the frequencies for each bit length.
  22077. // * The length opt_len is updated; static_len is also updated if stree is
  22078. // * not null.
  22079. // */
  22080. func _gen_bitlen(tls *libc.TLS, s uintptr, desc uintptr) {
  22081. var base, bits, h, m, max_code, max_length, n, overflow, xbits, v5 int32
  22082. var extra, stree, tree, p3 uintptr
  22083. var f Tush
  22084. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, bits, extra, f, h, m, max_code, max_length, n, overflow, stree, tree, xbits, v5, p3
  22085. tree = (*Ttree_desc)(unsafe.Pointer(desc)).Fdyn_tree
  22086. max_code = (*Ttree_desc)(unsafe.Pointer(desc)).Fmax_code
  22087. stree = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
  22088. extra = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_bits
  22089. base = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_base
  22090. max_length = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fmax_length /* frequency */
  22091. overflow = 0 /* number of elements with bit length too large */
  22092. bits = 0
  22093. for {
  22094. if !(bits <= int32(m_MAX_BITS)) {
  22095. break
  22096. }
  22097. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)) = uint16(0)
  22098. goto _1
  22099. _1:
  22100. ;
  22101. bits++
  22102. }
  22103. /* In a first pass, compute the optimal bit lengths (which may
  22104. * overflow in the case of the bit length tree).
  22105. */
  22106. *(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max)*4)))*4 + 2)) = uint16(0) /* root of the heap */
  22107. h = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max + int32(1)
  22108. for {
  22109. if !(h < libc.Int32FromInt32(2)*(libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES))+libc.Int32FromInt32(1)) {
  22110. break
  22111. }
  22112. n = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(h)*4))
  22113. bits = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))*4 + 2))) + int32(1)
  22114. if bits > max_length {
  22115. bits = max_length
  22116. overflow++
  22117. }
  22118. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = libc.Uint16FromInt32(bits)
  22119. /* We overwrite tree[n].Dad which is no longer needed */
  22120. if n > max_code {
  22121. goto _2
  22122. } /* not a leaf node */
  22123. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))++
  22124. xbits = 0
  22125. if n >= base {
  22126. xbits = *(*Tintf)(unsafe.Pointer(extra + uintptr(n-base)*4))
  22127. }
  22128. f = *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))
  22129. *(*Tulg)(unsafe.Pointer(s + 5912)) += uint64(f) * uint64(libc.Uint32FromInt32(bits+xbits))
  22130. if stree != 0 {
  22131. *(*Tulg)(unsafe.Pointer(s + 5920)) += uint64(f) * uint64(libc.Uint32FromInt32(libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(stree + uintptr(n)*4 + 2)))+xbits))
  22132. }
  22133. goto _2
  22134. _2:
  22135. ;
  22136. h++
  22137. }
  22138. if overflow == 0 {
  22139. return
  22140. }
  22141. /* This happens for example on obj2 and pic of the Calgary corpus */
  22142. /* Find the first bit length which could increase: */
  22143. for cond := true; cond; cond = overflow > 0 {
  22144. bits = max_length - int32(1)
  22145. for libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))) == 0 {
  22146. bits--
  22147. }
  22148. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))-- /* move one leaf down the tree */
  22149. p3 = s + 2976 + uintptr(bits+int32(1))*2
  22150. *(*Tush)(unsafe.Pointer(p3)) = Tush(int32(*(*Tush)(unsafe.Pointer(p3))) + libc.Int32FromInt32(2)) /* move one overflow item as its brother */
  22151. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(max_length)*2))--
  22152. /* The brother of the overflow item also moves one step up,
  22153. * but this does not affect bl_count[max_length]
  22154. */
  22155. overflow -= int32(2)
  22156. }
  22157. /* Now recompute all bit lengths, scanning in increasing frequency.
  22158. * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
  22159. * lengths instead of fixing only the wrong ones. This idea is taken
  22160. * from 'ar' written by Haruhiko Okumura.)
  22161. */
  22162. bits = max_length
  22163. for {
  22164. if !(bits != 0) {
  22165. break
  22166. }
  22167. n = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)))
  22168. for n != 0 {
  22169. h--
  22170. v5 = h
  22171. m = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v5)*4))
  22172. if m > max_code {
  22173. continue
  22174. }
  22175. if uint32(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2))) != libc.Uint32FromInt32(bits) {
  22176. *(*Tulg)(unsafe.Pointer(s + 5912)) += (libc.Uint64FromInt32(bits) - uint64(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)))) * uint64(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4)))
  22177. *(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = libc.Uint16FromInt32(bits)
  22178. }
  22179. n--
  22180. }
  22181. goto _4
  22182. _4:
  22183. ;
  22184. bits--
  22185. }
  22186. }
  22187. // C documentation
  22188. //
  22189. // /* ===========================================================================
  22190. // * Construct one Huffman tree and assigns the code bit strings and lengths.
  22191. // * Update the total bit length for the current block.
  22192. // * IN assertion: the field freq is set for all tree elements.
  22193. // * OUT assertions: the fields len and code are set to the optimal bit length
  22194. // * and corresponding code. The length opt_len is updated; static_len is
  22195. // * also updated if stree is not null. The field max_code is set.
  22196. // */
  22197. func _build_tree(tls *libc.TLS, s uintptr, desc uintptr) {
  22198. var elems, m, max_code, n, node, v11, v13, v15, v17, v19, v2, v20, v4, v5, v6, v7, v8 int32
  22199. var stree, tree, v12, v14, v16, v21, v3, v9 uintptr
  22200. var v18 Tush
  22201. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = elems, m, max_code, n, node, stree, tree, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v3, v4, v5, v6, v7, v8, v9
  22202. tree = (*Ttree_desc)(unsafe.Pointer(desc)).Fdyn_tree
  22203. stree = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
  22204. elems = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Felems /* iterate over heap elements */
  22205. max_code = -int32(1) /* new node being created */
  22206. /* Construct the initial heap, with least frequent element in
  22207. * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
  22208. * heap[0] is not used.
  22209. */
  22210. (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len = 0 /* new node being created */
  22211. /* Construct the initial heap, with least frequent element in
  22212. * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
  22213. * heap[0] is not used.
  22214. */
  22215. (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max = libc.Int32FromInt32(2)*(libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES)) + libc.Int32FromInt32(1)
  22216. n = 0
  22217. for {
  22218. if !(n < elems) {
  22219. break
  22220. }
  22221. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))) != 0 {
  22222. v3 = s + 5300
  22223. *(*int32)(unsafe.Pointer(v3))++
  22224. v2 = *(*int32)(unsafe.Pointer(v3))
  22225. v4 = n
  22226. max_code = v4
  22227. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v2)*4)) = v4
  22228. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n))) = uint8(0)
  22229. } else {
  22230. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = uint16(0)
  22231. }
  22232. goto _1
  22233. _1:
  22234. ;
  22235. n++
  22236. }
  22237. /* The pkzip format requires that at least one distance code exists,
  22238. * and that at least one bit should be sent even if there is only one
  22239. * possible code. So to avoid special checks later on we force at least
  22240. * two codes of non zero frequency.
  22241. */
  22242. for (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len < int32(2) {
  22243. if max_code < int32(2) {
  22244. max_code++
  22245. v7 = max_code
  22246. v6 = v7
  22247. } else {
  22248. v6 = 0
  22249. }
  22250. v5 = v6
  22251. v9 = s + 5300
  22252. *(*int32)(unsafe.Pointer(v9))++
  22253. v8 = *(*int32)(unsafe.Pointer(v9))
  22254. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v8)*4)) = v5
  22255. node = v5
  22256. *(*Tush)(unsafe.Pointer(tree + uintptr(node)*4)) = uint16(1)
  22257. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(node))) = uint8(0)
  22258. (*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len--
  22259. if stree != 0 {
  22260. *(*Tulg)(unsafe.Pointer(s + 5920)) -= uint64(*(*Tush)(unsafe.Pointer(stree + uintptr(node)*4 + 2)))
  22261. }
  22262. /* node is 0 or 1 so it does not have extra bits */
  22263. }
  22264. (*Ttree_desc)(unsafe.Pointer(desc)).Fmax_code = max_code
  22265. /* The elements heap[heap_len/2 + 1 .. heap_len] are leaves of the tree,
  22266. * establish sub-heaps of increasing lengths:
  22267. */
  22268. n = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len / int32(2)
  22269. for {
  22270. if !(n >= int32(1)) {
  22271. break
  22272. }
  22273. _pqdownheap(tls, s, tree, n)
  22274. goto _10
  22275. _10:
  22276. ;
  22277. n--
  22278. }
  22279. /* Construct the Huffman tree by repeatedly combining the least two
  22280. * frequent nodes.
  22281. */
  22282. node = elems /* next internal node of the tree */
  22283. for cond := true; cond; cond = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len >= int32(2) {
  22284. n = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
  22285. v12 = s + 5300
  22286. v11 = *(*int32)(unsafe.Pointer(v12))
  22287. *(*int32)(unsafe.Pointer(v12))--
  22288. *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v11)*4))
  22289. _pqdownheap(tls, s, tree, int32(m_SMALLEST)) /* n = node of least frequency */
  22290. m = *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) /* m = node of next least frequency */
  22291. v14 = s + 5304
  22292. *(*int32)(unsafe.Pointer(v14))--
  22293. v13 = *(*int32)(unsafe.Pointer(v14))
  22294. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v13)*4)) = n /* keep the nodes sorted by frequency */
  22295. v16 = s + 5304
  22296. *(*int32)(unsafe.Pointer(v16))--
  22297. v15 = *(*int32)(unsafe.Pointer(v16))
  22298. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v15)*4)) = m
  22299. /* Create a new node father of n and m */
  22300. *(*Tush)(unsafe.Pointer(tree + uintptr(node)*4)) = libc.Uint16FromInt32(libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))) + libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4))))
  22301. if libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n)))) >= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(m)))) {
  22302. v17 = libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n))))
  22303. } else {
  22304. v17 = libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(m))))
  22305. }
  22306. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(node))) = libc.Uint8FromInt32(v17 + libc.Int32FromInt32(1))
  22307. v18 = libc.Uint16FromInt32(node)
  22308. *(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = v18
  22309. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = v18
  22310. /* and insert the new node in the heap */
  22311. v19 = node
  22312. node++
  22313. *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = v19
  22314. _pqdownheap(tls, s, tree, int32(m_SMALLEST))
  22315. }
  22316. v21 = s + 5304
  22317. *(*int32)(unsafe.Pointer(v21))--
  22318. v20 = *(*int32)(unsafe.Pointer(v21))
  22319. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v20)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
  22320. /* At this point, the fields freq and dad are set. We can now
  22321. * generate the bit lengths.
  22322. */
  22323. _gen_bitlen(tls, s, desc)
  22324. /* The field len is now set, we can generate the bit codes */
  22325. _gen_codes(tls, tree, max_code, s+2976)
  22326. }
  22327. // C documentation
  22328. //
  22329. // /* ===========================================================================
  22330. // * Scan a literal or distance tree to determine the frequencies of the codes
  22331. // * in the bit length tree.
  22332. // */
  22333. func _scan_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) {
  22334. var count, curlen, max_count, min_count, n, nextlen, prevlen, v2 int32
  22335. var p3 uintptr
  22336. _, _, _, _, _, _, _, _, _ = count, curlen, max_count, min_count, n, nextlen, prevlen, v2, p3 /* iterates over all tree elements */
  22337. prevlen = -int32(1) /* length of current code */
  22338. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + 2))) /* length of next code */
  22339. count = 0 /* repeat count of the current code */
  22340. max_count = int32(7) /* max repeat count */
  22341. min_count = int32(4) /* min repeat count */
  22342. if nextlen == 0 {
  22343. max_count = int32(138)
  22344. min_count = libc.Int32FromInt32(3)
  22345. }
  22346. *(*Tush)(unsafe.Pointer(tree + uintptr(max_code+int32(1))*4 + 2)) = libc.Uint16FromInt32(0xffff) /* guard */
  22347. n = 0
  22348. for {
  22349. if !(n <= max_code) {
  22350. break
  22351. }
  22352. curlen = nextlen
  22353. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n+int32(1))*4 + 2)))
  22354. count++
  22355. v2 = count
  22356. if v2 < max_count && curlen == nextlen {
  22357. goto _1
  22358. } else {
  22359. if count < min_count {
  22360. p3 = s + 2748 + uintptr(curlen)*4
  22361. *(*Tush)(unsafe.Pointer(p3)) = Tush(int32(*(*Tush)(unsafe.Pointer(p3))) + count)
  22362. } else {
  22363. if curlen != 0 {
  22364. if curlen != prevlen {
  22365. *(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))++
  22366. }
  22367. *(*Tush)(unsafe.Pointer(s + 2748 + 16*4))++
  22368. } else {
  22369. if count <= int32(10) {
  22370. *(*Tush)(unsafe.Pointer(s + 2748 + 17*4))++
  22371. } else {
  22372. *(*Tush)(unsafe.Pointer(s + 2748 + 18*4))++
  22373. }
  22374. }
  22375. }
  22376. }
  22377. count = 0
  22378. prevlen = curlen
  22379. if nextlen == 0 {
  22380. max_count = int32(138)
  22381. min_count = libc.Int32FromInt32(3)
  22382. } else {
  22383. if curlen == nextlen {
  22384. max_count = int32(6)
  22385. min_count = libc.Int32FromInt32(3)
  22386. } else {
  22387. max_count = int32(7)
  22388. min_count = libc.Int32FromInt32(4)
  22389. }
  22390. }
  22391. goto _1
  22392. _1:
  22393. ;
  22394. n++
  22395. }
  22396. }
  22397. // C documentation
  22398. //
  22399. // /* ===========================================================================
  22400. // * Send a literal or distance tree in compressed form, using the codes in
  22401. // * bl_tree.
  22402. // */
  22403. func _send_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) {
  22404. var count, curlen, len1, len11, len2, len3, len4, len5, len6, len7, max_count, min_count, n, nextlen, prevlen, val, val1, val2, val3, val4, val5, val6, val7, v2, v3 int32
  22405. var v12, v14, v18, v20, v24, v26, v30, v32, v36, v38, v42, v44, v48, v50, v6, v8 Tulg
  22406. var v13, v15, v19, v21, v25, v27, v31, v33, v37, v39, v43, v45, v49, v51, v7, v9, p10, p11, p16, p17, p22, p23, p28, p29, p34, p35, p40, p41, p46, p47, p5, p52 uintptr
  22407. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = count, curlen, len1, len11, len2, len3, len4, len5, len6, len7, max_count, min_count, n, nextlen, prevlen, val, val1, val2, val3, val4, val5, val6, val7, v12, v13, v14, v15, v18, v19, v2, v20, v21, v24, v25, v26, v27, v3, v30, v31, v32, v33, v36, v37, v38, v39, v42, v43, v44, v45, v48, v49, v50, v51, v6, v7, v8, v9, p10, p11, p16, p17, p22, p23, p28, p29, p34, p35, p40, p41, p46, p47, p5, p52 /* iterates over all tree elements */
  22408. prevlen = -int32(1) /* length of current code */
  22409. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + 2))) /* length of next code */
  22410. count = 0 /* repeat count of the current code */
  22411. max_count = int32(7) /* max repeat count */
  22412. min_count = int32(4) /* min repeat count */
  22413. /* tree[max_code + 1].Len = -1; */ /* guard already set */
  22414. if nextlen == 0 {
  22415. max_count = int32(138)
  22416. min_count = libc.Int32FromInt32(3)
  22417. }
  22418. n = 0
  22419. for {
  22420. if !(n <= max_code) {
  22421. break
  22422. }
  22423. curlen = nextlen
  22424. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n+int32(1))*4 + 2)))
  22425. count++
  22426. v2 = count
  22427. if v2 < max_count && curlen == nextlen {
  22428. goto _1
  22429. } else {
  22430. if count < min_count {
  22431. for {
  22432. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
  22433. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  22434. val = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
  22435. p5 = s + 5936
  22436. *(*Tush)(unsafe.Pointer(p5)) = Tush(int32(*(*Tush)(unsafe.Pointer(p5))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22437. v7 = s + 40
  22438. v6 = *(*Tulg)(unsafe.Pointer(v7))
  22439. *(*Tulg)(unsafe.Pointer(v7))++
  22440. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v6))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22441. v9 = s + 40
  22442. v8 = *(*Tulg)(unsafe.Pointer(v9))
  22443. *(*Tulg)(unsafe.Pointer(v9))++
  22444. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22445. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22446. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  22447. } else {
  22448. p10 = s + 5936
  22449. *(*Tush)(unsafe.Pointer(p10)) = Tush(int32(*(*Tush)(unsafe.Pointer(p10))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22450. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  22451. }
  22452. goto _4
  22453. _4:
  22454. ;
  22455. count--
  22456. v3 = count
  22457. if !(v3 != 0) {
  22458. break
  22459. }
  22460. }
  22461. } else {
  22462. if curlen != 0 {
  22463. if curlen != prevlen {
  22464. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
  22465. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  22466. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
  22467. p11 = s + 5936
  22468. *(*Tush)(unsafe.Pointer(p11)) = Tush(int32(*(*Tush)(unsafe.Pointer(p11))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22469. v13 = s + 40
  22470. v12 = *(*Tulg)(unsafe.Pointer(v13))
  22471. *(*Tulg)(unsafe.Pointer(v13))++
  22472. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v12))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22473. v15 = s + 40
  22474. v14 = *(*Tulg)(unsafe.Pointer(v15))
  22475. *(*Tulg)(unsafe.Pointer(v15))++
  22476. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22477. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22478. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  22479. } else {
  22480. p16 = s + 5936
  22481. *(*Tush)(unsafe.Pointer(p16)) = Tush(int32(*(*Tush)(unsafe.Pointer(p16))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22482. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  22483. }
  22484. count--
  22485. }
  22486. len2 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4 + 2)))
  22487. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  22488. val2 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4)))
  22489. p17 = s + 5936
  22490. *(*Tush)(unsafe.Pointer(p17)) = Tush(int32(*(*Tush)(unsafe.Pointer(p17))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22491. v19 = s + 40
  22492. v18 = *(*Tulg)(unsafe.Pointer(v19))
  22493. *(*Tulg)(unsafe.Pointer(v19))++
  22494. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v18))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22495. v21 = s + 40
  22496. v20 = *(*Tulg)(unsafe.Pointer(v21))
  22497. *(*Tulg)(unsafe.Pointer(v21))++
  22498. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v20))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22499. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val2)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22500. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  22501. } else {
  22502. p22 = s + 5936
  22503. *(*Tush)(unsafe.Pointer(p22)) = Tush(int32(*(*Tush)(unsafe.Pointer(p22))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22504. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  22505. }
  22506. len3 = int32(2)
  22507. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  22508. val3 = count - int32(3)
  22509. p23 = s + 5936
  22510. *(*Tush)(unsafe.Pointer(p23)) = Tush(int32(*(*Tush)(unsafe.Pointer(p23))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22511. v25 = s + 40
  22512. v24 = *(*Tulg)(unsafe.Pointer(v25))
  22513. *(*Tulg)(unsafe.Pointer(v25))++
  22514. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22515. v27 = s + 40
  22516. v26 = *(*Tulg)(unsafe.Pointer(v27))
  22517. *(*Tulg)(unsafe.Pointer(v27))++
  22518. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22519. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val3)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22520. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  22521. } else {
  22522. p28 = s + 5936
  22523. *(*Tush)(unsafe.Pointer(p28)) = Tush(int32(*(*Tush)(unsafe.Pointer(p28))) | libc.Int32FromUint16(libc.Uint16FromInt32(count-libc.Int32FromInt32(3)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22524. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  22525. }
  22526. } else {
  22527. if count <= int32(10) {
  22528. len4 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4 + 2)))
  22529. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len4 {
  22530. val4 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4)))
  22531. p29 = s + 5936
  22532. *(*Tush)(unsafe.Pointer(p29)) = Tush(int32(*(*Tush)(unsafe.Pointer(p29))) | libc.Int32FromUint16(libc.Uint16FromInt32(val4))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22533. v31 = s + 40
  22534. v30 = *(*Tulg)(unsafe.Pointer(v31))
  22535. *(*Tulg)(unsafe.Pointer(v31))++
  22536. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v30))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22537. v33 = s + 40
  22538. v32 = *(*Tulg)(unsafe.Pointer(v33))
  22539. *(*Tulg)(unsafe.Pointer(v33))++
  22540. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v32))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22541. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val4)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22542. *(*int32)(unsafe.Pointer(s + 5940)) += len4 - int32(m_Buf_size)
  22543. } else {
  22544. p34 = s + 5936
  22545. *(*Tush)(unsafe.Pointer(p34)) = Tush(int32(*(*Tush)(unsafe.Pointer(p34))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22546. *(*int32)(unsafe.Pointer(s + 5940)) += len4
  22547. }
  22548. len5 = int32(3)
  22549. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len5 {
  22550. val5 = count - int32(3)
  22551. p35 = s + 5936
  22552. *(*Tush)(unsafe.Pointer(p35)) = Tush(int32(*(*Tush)(unsafe.Pointer(p35))) | libc.Int32FromUint16(libc.Uint16FromInt32(val5))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22553. v37 = s + 40
  22554. v36 = *(*Tulg)(unsafe.Pointer(v37))
  22555. *(*Tulg)(unsafe.Pointer(v37))++
  22556. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v36))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22557. v39 = s + 40
  22558. v38 = *(*Tulg)(unsafe.Pointer(v39))
  22559. *(*Tulg)(unsafe.Pointer(v39))++
  22560. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v38))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22561. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val5)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22562. *(*int32)(unsafe.Pointer(s + 5940)) += len5 - int32(m_Buf_size)
  22563. } else {
  22564. p40 = s + 5936
  22565. *(*Tush)(unsafe.Pointer(p40)) = Tush(int32(*(*Tush)(unsafe.Pointer(p40))) | libc.Int32FromUint16(libc.Uint16FromInt32(count-libc.Int32FromInt32(3)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22566. *(*int32)(unsafe.Pointer(s + 5940)) += len5
  22567. }
  22568. } else {
  22569. len6 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4 + 2)))
  22570. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len6 {
  22571. val6 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4)))
  22572. p41 = s + 5936
  22573. *(*Tush)(unsafe.Pointer(p41)) = Tush(int32(*(*Tush)(unsafe.Pointer(p41))) | libc.Int32FromUint16(libc.Uint16FromInt32(val6))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22574. v43 = s + 40
  22575. v42 = *(*Tulg)(unsafe.Pointer(v43))
  22576. *(*Tulg)(unsafe.Pointer(v43))++
  22577. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v42))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22578. v45 = s + 40
  22579. v44 = *(*Tulg)(unsafe.Pointer(v45))
  22580. *(*Tulg)(unsafe.Pointer(v45))++
  22581. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v44))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22582. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val6)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22583. *(*int32)(unsafe.Pointer(s + 5940)) += len6 - int32(m_Buf_size)
  22584. } else {
  22585. p46 = s + 5936
  22586. *(*Tush)(unsafe.Pointer(p46)) = Tush(int32(*(*Tush)(unsafe.Pointer(p46))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22587. *(*int32)(unsafe.Pointer(s + 5940)) += len6
  22588. }
  22589. len7 = int32(7)
  22590. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len7 {
  22591. val7 = count - int32(11)
  22592. p47 = s + 5936
  22593. *(*Tush)(unsafe.Pointer(p47)) = Tush(int32(*(*Tush)(unsafe.Pointer(p47))) | libc.Int32FromUint16(libc.Uint16FromInt32(val7))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22594. v49 = s + 40
  22595. v48 = *(*Tulg)(unsafe.Pointer(v49))
  22596. *(*Tulg)(unsafe.Pointer(v49))++
  22597. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v48))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22598. v51 = s + 40
  22599. v50 = *(*Tulg)(unsafe.Pointer(v51))
  22600. *(*Tulg)(unsafe.Pointer(v51))++
  22601. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v50))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22602. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val7)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22603. *(*int32)(unsafe.Pointer(s + 5940)) += len7 - int32(m_Buf_size)
  22604. } else {
  22605. p52 = s + 5936
  22606. *(*Tush)(unsafe.Pointer(p52)) = Tush(int32(*(*Tush)(unsafe.Pointer(p52))) | libc.Int32FromUint16(libc.Uint16FromInt32(count-libc.Int32FromInt32(11)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22607. *(*int32)(unsafe.Pointer(s + 5940)) += len7
  22608. }
  22609. }
  22610. }
  22611. }
  22612. }
  22613. count = 0
  22614. prevlen = curlen
  22615. if nextlen == 0 {
  22616. max_count = int32(138)
  22617. min_count = libc.Int32FromInt32(3)
  22618. } else {
  22619. if curlen == nextlen {
  22620. max_count = int32(6)
  22621. min_count = libc.Int32FromInt32(3)
  22622. } else {
  22623. max_count = int32(7)
  22624. min_count = libc.Int32FromInt32(4)
  22625. }
  22626. }
  22627. goto _1
  22628. _1:
  22629. ;
  22630. n++
  22631. }
  22632. }
  22633. // C documentation
  22634. //
  22635. // /* ===========================================================================
  22636. // * Construct the Huffman tree for the bit lengths and return the index in
  22637. // * bl_order of the last bit length code to send.
  22638. // */
  22639. func _build_bl_tree(tls *libc.TLS, s uintptr) (r int32) {
  22640. var max_blindex int32
  22641. _ = max_blindex /* index of last bit length code of non zero freq */
  22642. /* Determine the bit length frequencies for literal and distance trees */
  22643. _scan_tree(tls, s, s+212, (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code)
  22644. _scan_tree(tls, s, s+2504, (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code)
  22645. /* Build the bit length tree: */
  22646. _build_tree(tls, s, s+2952)
  22647. /* opt_len now includes the length of the tree representations, except the
  22648. * lengths of the bit lengths codes and the 5 + 5 + 4 bits for the counts.
  22649. */
  22650. /* Determine the number of bit length codes to send. The pkzip format
  22651. * requires that at least 4 bit length codes be sent. (appnote.txt says
  22652. * 3 but the actual value used is 4.)
  22653. */
  22654. max_blindex = libc.Int32FromInt32(m_BL_CODES) - libc.Int32FromInt32(1)
  22655. for {
  22656. if !(max_blindex >= int32(3)) {
  22657. break
  22658. }
  22659. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[max_blindex])*4 + 2))) != 0 {
  22660. break
  22661. }
  22662. goto _1
  22663. _1:
  22664. ;
  22665. max_blindex--
  22666. }
  22667. /* Update opt_len to include the bit length tree and counts */
  22668. *(*Tulg)(unsafe.Pointer(s + 5912)) += uint64(3)*(libc.Uint64FromInt32(max_blindex)+uint64(1)) + uint64(5) + uint64(5) + uint64(4)
  22669. return max_blindex
  22670. }
  22671. // C documentation
  22672. //
  22673. // /* ===========================================================================
  22674. // * Send the header for a block using dynamic Huffman trees: the counts, the
  22675. // * lengths of the bit length codes, the literal tree and the distance tree.
  22676. // * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
  22677. // */
  22678. func _send_all_trees(tls *libc.TLS, s uintptr, lcodes int32, dcodes int32, blcodes int32) {
  22679. var len1, len11, len2, len3, rank, val, val1, val2, val3 int32
  22680. var v10, v14, v16, v2, v21, v23, v4, v8 Tulg
  22681. var v11, v15, v17, v22, v24, v3, v5, v9, p1, p12, p13, p18, p20, p25, p6, p7 uintptr
  22682. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, len2, len3, rank, val, val1, val2, val3, v10, v11, v14, v15, v16, v17, v2, v21, v22, v23, v24, v3, v4, v5, v8, v9, p1, p12, p13, p18, p20, p25, p6, p7 /* index in bl_order */
  22683. len1 = int32(5)
  22684. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  22685. val = lcodes - int32(257)
  22686. p1 = s + 5936
  22687. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22688. v3 = s + 40
  22689. v2 = *(*Tulg)(unsafe.Pointer(v3))
  22690. *(*Tulg)(unsafe.Pointer(v3))++
  22691. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v2))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22692. v5 = s + 40
  22693. v4 = *(*Tulg)(unsafe.Pointer(v5))
  22694. *(*Tulg)(unsafe.Pointer(v5))++
  22695. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22696. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22697. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  22698. } else {
  22699. p6 = s + 5936
  22700. *(*Tush)(unsafe.Pointer(p6)) = Tush(int32(*(*Tush)(unsafe.Pointer(p6))) | libc.Int32FromUint16(libc.Uint16FromInt32(lcodes-libc.Int32FromInt32(257)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22701. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  22702. } /* not +255 as stated in appnote.txt */
  22703. len11 = int32(5)
  22704. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  22705. val1 = dcodes - int32(1)
  22706. p7 = s + 5936
  22707. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22708. v9 = s + 40
  22709. v8 = *(*Tulg)(unsafe.Pointer(v9))
  22710. *(*Tulg)(unsafe.Pointer(v9))++
  22711. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22712. v11 = s + 40
  22713. v10 = *(*Tulg)(unsafe.Pointer(v11))
  22714. *(*Tulg)(unsafe.Pointer(v11))++
  22715. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22716. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22717. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  22718. } else {
  22719. p12 = s + 5936
  22720. *(*Tush)(unsafe.Pointer(p12)) = Tush(int32(*(*Tush)(unsafe.Pointer(p12))) | libc.Int32FromUint16(libc.Uint16FromInt32(dcodes-libc.Int32FromInt32(1)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22721. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  22722. }
  22723. len2 = int32(4)
  22724. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  22725. val2 = blcodes - int32(4)
  22726. p13 = s + 5936
  22727. *(*Tush)(unsafe.Pointer(p13)) = Tush(int32(*(*Tush)(unsafe.Pointer(p13))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22728. v15 = s + 40
  22729. v14 = *(*Tulg)(unsafe.Pointer(v15))
  22730. *(*Tulg)(unsafe.Pointer(v15))++
  22731. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22732. v17 = s + 40
  22733. v16 = *(*Tulg)(unsafe.Pointer(v17))
  22734. *(*Tulg)(unsafe.Pointer(v17))++
  22735. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v16))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22736. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val2)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22737. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  22738. } else {
  22739. p18 = s + 5936
  22740. *(*Tush)(unsafe.Pointer(p18)) = Tush(int32(*(*Tush)(unsafe.Pointer(p18))) | libc.Int32FromUint16(libc.Uint16FromInt32(blcodes-libc.Int32FromInt32(4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22741. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  22742. } /* not -3 as stated in appnote.txt */
  22743. rank = 0
  22744. for {
  22745. if !(rank < blcodes) {
  22746. break
  22747. }
  22748. len3 = int32(3)
  22749. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  22750. val3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[rank])*4 + 2)))
  22751. p20 = s + 5936
  22752. *(*Tush)(unsafe.Pointer(p20)) = Tush(int32(*(*Tush)(unsafe.Pointer(p20))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22753. v22 = s + 40
  22754. v21 = *(*Tulg)(unsafe.Pointer(v22))
  22755. *(*Tulg)(unsafe.Pointer(v22))++
  22756. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v21))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22757. v24 = s + 40
  22758. v23 = *(*Tulg)(unsafe.Pointer(v24))
  22759. *(*Tulg)(unsafe.Pointer(v24))++
  22760. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v23))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22761. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val3)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22762. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  22763. } else {
  22764. p25 = s + 5936
  22765. *(*Tush)(unsafe.Pointer(p25)) = Tush(int32(*(*Tush)(unsafe.Pointer(p25))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[rank])*4 + 2)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22766. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  22767. }
  22768. goto _19
  22769. _19:
  22770. ;
  22771. rank++
  22772. }
  22773. _send_tree(tls, s, s+212, lcodes-int32(1)) /* literal tree */
  22774. _send_tree(tls, s, s+2504, dcodes-int32(1)) /* distance tree */
  22775. }
  22776. // C documentation
  22777. //
  22778. // /* ===========================================================================
  22779. // * Send a stored block
  22780. // */
  22781. func x__tr_stored_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Tulg, last int32) {
  22782. var len1, val int32
  22783. var v10, v12, v14, v3, v5, v8, p1, p6 uintptr
  22784. var v11, v13, v2, v4, v7, v9 Tulg
  22785. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, val, v10, v11, v12, v13, v14, v2, v3, v4, v5, v7, v8, v9, p1, p6
  22786. len1 = int32(3)
  22787. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  22788. val = libc.Int32FromInt32(m_STORED_BLOCK)<<libc.Int32FromInt32(1) + last
  22789. p1 = s + 5936
  22790. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22791. v3 = s + 40
  22792. v2 = *(*Tulg)(unsafe.Pointer(v3))
  22793. *(*Tulg)(unsafe.Pointer(v3))++
  22794. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v2))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22795. v5 = s + 40
  22796. v4 = *(*Tulg)(unsafe.Pointer(v5))
  22797. *(*Tulg)(unsafe.Pointer(v5))++
  22798. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22799. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22800. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  22801. } else {
  22802. p6 = s + 5936
  22803. *(*Tush)(unsafe.Pointer(p6)) = Tush(int32(*(*Tush)(unsafe.Pointer(p6))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_STORED_BLOCK)<<libc.Int32FromInt32(1)+last))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22804. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  22805. } /* send block type */
  22806. _bi_windup(tls, s) /* align on byte boundary */
  22807. v8 = s + 40
  22808. v7 = *(*Tulg)(unsafe.Pointer(v8))
  22809. *(*Tulg)(unsafe.Pointer(v8))++
  22810. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v7))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(stored_len)) & libc.Int32FromInt32(0xff))
  22811. v10 = s + 40
  22812. v9 = *(*Tulg)(unsafe.Pointer(v10))
  22813. *(*Tulg)(unsafe.Pointer(v10))++
  22814. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v9))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(stored_len)) >> libc.Int32FromInt32(8))
  22815. v12 = s + 40
  22816. v11 = *(*Tulg)(unsafe.Pointer(v12))
  22817. *(*Tulg)(unsafe.Pointer(v12))++
  22818. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(^stored_len)) & libc.Int32FromInt32(0xff))
  22819. v14 = s + 40
  22820. v13 = *(*Tulg)(unsafe.Pointer(v14))
  22821. *(*Tulg)(unsafe.Pointer(v14))++
  22822. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v13))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(^stored_len)) >> libc.Int32FromInt32(8))
  22823. if stored_len != 0 {
  22824. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), buf, stored_len, ^t__predefined_size_t(0))
  22825. }
  22826. *(*Tulg)(unsafe.Pointer(s + 40)) += stored_len
  22827. }
  22828. // C documentation
  22829. //
  22830. // /* ===========================================================================
  22831. // * Flush the bits in the bit buffer to pending output (leaves at most 7 bits)
  22832. // */
  22833. func x__tr_flush_bits(tls *libc.TLS, s uintptr) {
  22834. _bi_flush(tls, s)
  22835. }
  22836. // C documentation
  22837. //
  22838. // /* ===========================================================================
  22839. // * Send one empty static block to give enough lookahead for inflate.
  22840. // * This takes 10 bits, of which 7 may remain in the bit buffer.
  22841. // */
  22842. func x__tr_align(tls *libc.TLS, s uintptr) {
  22843. var len1, len11, val, val1 int32
  22844. var v10, v2, v4, v8 Tulg
  22845. var v11, v3, v5, v9, p1, p12, p6, p7 uintptr
  22846. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, val, val1, v10, v11, v2, v3, v4, v5, v8, v9, p1, p12, p6, p7
  22847. len1 = int32(3)
  22848. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  22849. val = libc.Int32FromInt32(m_STATIC_TREES) << libc.Int32FromInt32(1)
  22850. p1 = s + 5936
  22851. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22852. v3 = s + 40
  22853. v2 = *(*Tulg)(unsafe.Pointer(v3))
  22854. *(*Tulg)(unsafe.Pointer(v3))++
  22855. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v2))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22856. v5 = s + 40
  22857. v4 = *(*Tulg)(unsafe.Pointer(v5))
  22858. *(*Tulg)(unsafe.Pointer(v5))++
  22859. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22860. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22861. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  22862. } else {
  22863. p6 = s + 5936
  22864. *(*Tush)(unsafe.Pointer(p6)) = Tush(int32(*(*Tush)(unsafe.Pointer(p6))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22865. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  22866. }
  22867. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4 + 2)))
  22868. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  22869. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4)))
  22870. p7 = s + 5936
  22871. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22872. v9 = s + 40
  22873. v8 = *(*Tulg)(unsafe.Pointer(v9))
  22874. *(*Tulg)(unsafe.Pointer(v9))++
  22875. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22876. v11 = s + 40
  22877. v10 = *(*Tulg)(unsafe.Pointer(v11))
  22878. *(*Tulg)(unsafe.Pointer(v11))++
  22879. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22880. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22881. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  22882. } else {
  22883. p12 = s + 5936
  22884. *(*Tush)(unsafe.Pointer(p12)) = Tush(int32(*(*Tush)(unsafe.Pointer(p12))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22885. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  22886. }
  22887. _bi_flush(tls, s)
  22888. }
  22889. // C documentation
  22890. //
  22891. // /* ===========================================================================
  22892. // * Send the block data compressed using the given Huffman trees
  22893. // */
  22894. func _compress_block(tls *libc.TLS, s uintptr, ltree uintptr, dtree uintptr) {
  22895. var code, dist, sx, v1, v2, v3 uint32
  22896. var extra, lc, len1, len11, len2, len3, len4, len5, val, val1, val2, val3, val4, val5, v22 int32
  22897. var v11, v13, v17, v19, v24, v26, v30, v32, v36, v38, v5, v7 Tulg
  22898. var v12, v14, v18, v20, v25, v27, v31, v33, v37, v39, v6, v8, p10, p15, p16, p21, p23, p28, p29, p34, p35, p4, p40, p9 uintptr
  22899. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = code, dist, extra, lc, len1, len11, len2, len3, len4, len5, sx, val, val1, val2, val3, val4, val5, v1, v11, v12, v13, v14, v17, v18, v19, v2, v20, v22, v24, v25, v26, v27, v3, v30, v31, v32, v33, v36, v37, v38, v39, v5, v6, v7, v8, p10, p15, p16, p21, p23, p28, p29, p34, p35, p4, p40, p9 /* match length or unmatched char (if dist == 0) */
  22900. sx = uint32(0) /* number of extra bits to send */
  22901. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != uint32(0) {
  22902. for cond := true; cond; cond = sx < (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next {
  22903. v1 = sx
  22904. sx++
  22905. dist = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v1)))) & int32(0xff))
  22906. v2 = sx
  22907. sx++
  22908. dist += libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v2))))&libc.Int32FromInt32(0xff)) << int32(8)
  22909. v3 = sx
  22910. sx++
  22911. lc = libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))))
  22912. if dist == uint32(0) {
  22913. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4 + 2)))
  22914. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  22915. val = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4)))
  22916. p4 = s + 5936
  22917. *(*Tush)(unsafe.Pointer(p4)) = Tush(int32(*(*Tush)(unsafe.Pointer(p4))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22918. v6 = s + 40
  22919. v5 = *(*Tulg)(unsafe.Pointer(v6))
  22920. *(*Tulg)(unsafe.Pointer(v6))++
  22921. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22922. v8 = s + 40
  22923. v7 = *(*Tulg)(unsafe.Pointer(v8))
  22924. *(*Tulg)(unsafe.Pointer(v8))++
  22925. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v7))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22926. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22927. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  22928. } else {
  22929. p9 = s + 5936
  22930. *(*Tush)(unsafe.Pointer(p9)) = Tush(int32(*(*Tush)(unsafe.Pointer(p9))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22931. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  22932. } /* send a literal byte */
  22933. } else {
  22934. /* Here, lc is the match length - MIN_MATCH */
  22935. code = uint32(x__length_code[lc])
  22936. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4 + 2)))
  22937. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  22938. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4)))
  22939. p10 = s + 5936
  22940. *(*Tush)(unsafe.Pointer(p10)) = Tush(int32(*(*Tush)(unsafe.Pointer(p10))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22941. v12 = s + 40
  22942. v11 = *(*Tulg)(unsafe.Pointer(v12))
  22943. *(*Tulg)(unsafe.Pointer(v12))++
  22944. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22945. v14 = s + 40
  22946. v13 = *(*Tulg)(unsafe.Pointer(v14))
  22947. *(*Tulg)(unsafe.Pointer(v14))++
  22948. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v13))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22949. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22950. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  22951. } else {
  22952. p15 = s + 5936
  22953. *(*Tush)(unsafe.Pointer(p15)) = Tush(int32(*(*Tush)(unsafe.Pointer(p15))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22954. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  22955. } /* send length code */
  22956. extra = _extra_lbits[code]
  22957. if extra != 0 {
  22958. lc -= _base_length[code]
  22959. len2 = extra
  22960. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  22961. val2 = lc
  22962. p16 = s + 5936
  22963. *(*Tush)(unsafe.Pointer(p16)) = Tush(int32(*(*Tush)(unsafe.Pointer(p16))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22964. v18 = s + 40
  22965. v17 = *(*Tulg)(unsafe.Pointer(v18))
  22966. *(*Tulg)(unsafe.Pointer(v18))++
  22967. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v17))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22968. v20 = s + 40
  22969. v19 = *(*Tulg)(unsafe.Pointer(v20))
  22970. *(*Tulg)(unsafe.Pointer(v20))++
  22971. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v19))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  22972. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val2)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  22973. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  22974. } else {
  22975. p21 = s + 5936
  22976. *(*Tush)(unsafe.Pointer(p21)) = Tush(int32(*(*Tush)(unsafe.Pointer(p21))) | libc.Int32FromUint16(libc.Uint16FromInt32(lc))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22977. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  22978. } /* send the extra length bits */
  22979. }
  22980. dist-- /* dist is now the match distance - 1 */
  22981. if dist < uint32(256) {
  22982. v22 = libc.Int32FromUint8(x__dist_code[dist])
  22983. } else {
  22984. v22 = libc.Int32FromUint8(x__dist_code[uint32(256)+dist>>int32(7)])
  22985. }
  22986. code = libc.Uint32FromInt32(v22)
  22987. len3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4 + 2)))
  22988. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  22989. val3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4)))
  22990. p23 = s + 5936
  22991. *(*Tush)(unsafe.Pointer(p23)) = Tush(int32(*(*Tush)(unsafe.Pointer(p23))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22992. v25 = s + 40
  22993. v24 = *(*Tulg)(unsafe.Pointer(v25))
  22994. *(*Tulg)(unsafe.Pointer(v25))++
  22995. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  22996. v27 = s + 40
  22997. v26 = *(*Tulg)(unsafe.Pointer(v27))
  22998. *(*Tulg)(unsafe.Pointer(v27))++
  22999. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  23000. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val3)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  23001. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  23002. } else {
  23003. p28 = s + 5936
  23004. *(*Tush)(unsafe.Pointer(p28)) = Tush(int32(*(*Tush)(unsafe.Pointer(p28))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23005. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  23006. } /* send the distance code */
  23007. extra = _extra_dbits[code]
  23008. if extra != 0 {
  23009. dist -= libc.Uint32FromInt32(_base_dist[code])
  23010. len4 = extra
  23011. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len4 {
  23012. val4 = libc.Int32FromUint32(dist)
  23013. p29 = s + 5936
  23014. *(*Tush)(unsafe.Pointer(p29)) = Tush(int32(*(*Tush)(unsafe.Pointer(p29))) | libc.Int32FromUint16(libc.Uint16FromInt32(val4))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23015. v31 = s + 40
  23016. v30 = *(*Tulg)(unsafe.Pointer(v31))
  23017. *(*Tulg)(unsafe.Pointer(v31))++
  23018. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v30))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  23019. v33 = s + 40
  23020. v32 = *(*Tulg)(unsafe.Pointer(v33))
  23021. *(*Tulg)(unsafe.Pointer(v33))++
  23022. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v32))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  23023. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val4)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  23024. *(*int32)(unsafe.Pointer(s + 5940)) += len4 - int32(m_Buf_size)
  23025. } else {
  23026. p34 = s + 5936
  23027. *(*Tush)(unsafe.Pointer(p34)) = Tush(int32(*(*Tush)(unsafe.Pointer(p34))) | libc.Int32FromUint16(uint16(dist))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23028. *(*int32)(unsafe.Pointer(s + 5940)) += len4
  23029. } /* send the extra distance bits */
  23030. }
  23031. } /* literal or match pair ? */
  23032. /* Check for no overlay of pending_buf on needed symbols */
  23033. }
  23034. }
  23035. len5 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4 + 2)))
  23036. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len5 {
  23037. val5 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4)))
  23038. p35 = s + 5936
  23039. *(*Tush)(unsafe.Pointer(p35)) = Tush(int32(*(*Tush)(unsafe.Pointer(p35))) | libc.Int32FromUint16(libc.Uint16FromInt32(val5))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23040. v37 = s + 40
  23041. v36 = *(*Tulg)(unsafe.Pointer(v37))
  23042. *(*Tulg)(unsafe.Pointer(v37))++
  23043. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v36))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  23044. v39 = s + 40
  23045. v38 = *(*Tulg)(unsafe.Pointer(v39))
  23046. *(*Tulg)(unsafe.Pointer(v39))++
  23047. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v38))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  23048. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val5)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  23049. *(*int32)(unsafe.Pointer(s + 5940)) += len5 - int32(m_Buf_size)
  23050. } else {
  23051. p40 = s + 5936
  23052. *(*Tush)(unsafe.Pointer(p40)) = Tush(int32(*(*Tush)(unsafe.Pointer(p40))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23053. *(*int32)(unsafe.Pointer(s + 5940)) += len5
  23054. }
  23055. }
  23056. // C documentation
  23057. //
  23058. // /* ===========================================================================
  23059. // * Check if the data type is TEXT or BINARY, using the following algorithm:
  23060. // * - TEXT if the two conditions below are satisfied:
  23061. // * a) There are no non-portable control characters belonging to the
  23062. // * "block list" (0..6, 14..25, 28..31).
  23063. // * b) There is at least one printable character belonging to the
  23064. // * "allow list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
  23065. // * - BINARY otherwise.
  23066. // * - The following partially-portable control characters form a
  23067. // * "gray list" that is ignored in this detection algorithm:
  23068. // * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).
  23069. // * IN assertion: the fields Freq of dyn_ltree are set.
  23070. // */
  23071. func _detect_data_type(tls *libc.TLS, s uintptr) (r int32) {
  23072. var block_mask uint64
  23073. var n int32
  23074. _, _ = block_mask, n
  23075. /* block_mask is the bit mask of block-listed bytes
  23076. * set bits 0..6, 14..25, and 28..31
  23077. * 0xf3ffc07f = binary 11110011111111111100000001111111
  23078. */
  23079. block_mask = uint64(0xf3ffc07f)
  23080. /* Check for non-textual ("block-listed") bytes. */
  23081. n = 0
  23082. for {
  23083. if !(n <= int32(31)) {
  23084. break
  23085. }
  23086. if block_mask&uint64(1) != 0 && libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
  23087. return m_Z_BINARY
  23088. }
  23089. goto _1
  23090. _1:
  23091. ;
  23092. n++
  23093. block_mask >>= uint64(1)
  23094. }
  23095. /* Check for textual ("allow-listed") bytes. */
  23096. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + 9*4))) != 0 || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + 10*4))) != 0 || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + 13*4))) != 0 {
  23097. return int32(m_Z_TEXT)
  23098. }
  23099. n = int32(32)
  23100. for {
  23101. if !(n < int32(m_LITERALS)) {
  23102. break
  23103. }
  23104. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
  23105. return int32(m_Z_TEXT)
  23106. }
  23107. goto _2
  23108. _2:
  23109. ;
  23110. n++
  23111. }
  23112. /* There are no "block-listed" or "allow-listed" bytes:
  23113. * this stream either is empty or has tolerated ("gray-listed") bytes only.
  23114. */
  23115. return m_Z_BINARY
  23116. }
  23117. // C documentation
  23118. //
  23119. // /* ===========================================================================
  23120. // * Determine the best encoding for the current block: dynamic trees, static
  23121. // * trees or store, and write out the encoded block.
  23122. // */
  23123. func x__tr_flush_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Tulg, last int32) {
  23124. var len1, len11, max_blindex, val, val1 int32
  23125. var opt_lenb, static_lenb, v1, v11, v3, v5, v9 Tulg
  23126. var v10, v12, v4, v6, p13, p2, p7, p8 uintptr
  23127. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, max_blindex, opt_lenb, static_lenb, val, val1, v1, v10, v11, v12, v3, v4, v5, v6, v9, p13, p2, p7, p8 /* opt_len and static_len in bytes */
  23128. max_blindex = 0 /* index of last bit length code of non zero freq */
  23129. /* Build the Huffman trees unless a stored block is forced */
  23130. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel > 0 {
  23131. /* Check if the file is binary or text */
  23132. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type == int32(m_Z_UNKNOWN) {
  23133. (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type = _detect_data_type(tls, s)
  23134. }
  23135. /* Construct the literal and distance trees */
  23136. _build_tree(tls, s, s+2904)
  23137. _build_tree(tls, s, s+2928)
  23138. /* At this point, opt_len and static_len are the total bit lengths of
  23139. * the compressed block data, excluding the tree representations.
  23140. */
  23141. /* Build the bit length tree for the above two trees, and get the index
  23142. * in bl_order of the last bit length code to send.
  23143. */
  23144. max_blindex = _build_bl_tree(tls, s)
  23145. /* Determine the best encoding. Compute the block lengths in bytes. */
  23146. opt_lenb = ((*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len + uint64(3) + uint64(7)) >> int32(3)
  23147. static_lenb = ((*Tdeflate_state)(unsafe.Pointer(s)).Fstatic_len + uint64(3) + uint64(7)) >> int32(3)
  23148. if static_lenb <= opt_lenb || (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_FIXED) {
  23149. opt_lenb = static_lenb
  23150. }
  23151. } else {
  23152. v1 = stored_len + libc.Uint64FromInt32(5)
  23153. static_lenb = v1
  23154. opt_lenb = v1 /* force a stored block */
  23155. }
  23156. if stored_len+uint64(4) <= opt_lenb && buf != libc.UintptrFromInt32(0) {
  23157. /* 4: two words for the lengths */
  23158. /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
  23159. * Otherwise we can't have processed more than WSIZE input bytes since
  23160. * the last block flush, because compression would have been
  23161. * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
  23162. * transform a block into a stored block.
  23163. */
  23164. x__tr_stored_block(tls, s, buf, stored_len, last)
  23165. } else {
  23166. if static_lenb == opt_lenb {
  23167. len1 = int32(3)
  23168. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  23169. val = libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1) + last
  23170. p2 = s + 5936
  23171. *(*Tush)(unsafe.Pointer(p2)) = Tush(int32(*(*Tush)(unsafe.Pointer(p2))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23172. v4 = s + 40
  23173. v3 = *(*Tulg)(unsafe.Pointer(v4))
  23174. *(*Tulg)(unsafe.Pointer(v4))++
  23175. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  23176. v6 = s + 40
  23177. v5 = *(*Tulg)(unsafe.Pointer(v6))
  23178. *(*Tulg)(unsafe.Pointer(v6))++
  23179. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  23180. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  23181. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  23182. } else {
  23183. p7 = s + 5936
  23184. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1)+last))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23185. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  23186. }
  23187. _compress_block(tls, s, uintptr(unsafe.Pointer(&_static_ltree)), uintptr(unsafe.Pointer(&_static_dtree)))
  23188. } else {
  23189. len11 = int32(3)
  23190. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  23191. val1 = libc.Int32FromInt32(m_DYN_TREES)<<libc.Int32FromInt32(1) + last
  23192. p8 = s + 5936
  23193. *(*Tush)(unsafe.Pointer(p8)) = Tush(int32(*(*Tush)(unsafe.Pointer(p8))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23194. v10 = s + 40
  23195. v9 = *(*Tulg)(unsafe.Pointer(v10))
  23196. *(*Tulg)(unsafe.Pointer(v10))++
  23197. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v9))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  23198. v12 = s + 40
  23199. v11 = *(*Tulg)(unsafe.Pointer(v12))
  23200. *(*Tulg)(unsafe.Pointer(v12))++
  23201. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  23202. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  23203. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  23204. } else {
  23205. p13 = s + 5936
  23206. *(*Tush)(unsafe.Pointer(p13)) = Tush(int32(*(*Tush)(unsafe.Pointer(p13))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_DYN_TREES)<<libc.Int32FromInt32(1)+last))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23207. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  23208. }
  23209. _send_all_trees(tls, s, (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code+int32(1), (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code+int32(1), max_blindex+int32(1))
  23210. _compress_block(tls, s, s+212, s+2504)
  23211. }
  23212. }
  23213. /* The above check is made mod 2^32, for files larger than 512 MB
  23214. * and uLong implemented on 32 bits.
  23215. */
  23216. _init_block(tls, s)
  23217. if last != 0 {
  23218. _bi_windup(tls, s)
  23219. }
  23220. }
  23221. // C documentation
  23222. //
  23223. // /* ===========================================================================
  23224. // * Save the match info and tally the frequency counts. Return true if
  23225. // * the current block must be flushed.
  23226. // */
  23227. func x__tr_tally(tls *libc.TLS, s uintptr, dist uint32, lc uint32) (r int32) {
  23228. var v1, v3, v5 TuInt
  23229. var v2, v4, v6 uintptr
  23230. var v7 int32
  23231. _, _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6, v7
  23232. v2 = s + 5900
  23233. v1 = *(*TuInt)(unsafe.Pointer(v2))
  23234. *(*TuInt)(unsafe.Pointer(v2))++
  23235. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v1))) = uint8(dist)
  23236. v4 = s + 5900
  23237. v3 = *(*TuInt)(unsafe.Pointer(v4))
  23238. *(*TuInt)(unsafe.Pointer(v4))++
  23239. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist >> libc.Int32FromInt32(8))
  23240. v6 = s + 5900
  23241. v5 = *(*TuInt)(unsafe.Pointer(v6))
  23242. *(*TuInt)(unsafe.Pointer(v6))++
  23243. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = uint8(lc)
  23244. if dist == uint32(0) {
  23245. /* lc is the unmatched char */
  23246. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(lc)*4))++
  23247. } else {
  23248. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  23249. /* Here, lc is the match length - MIN_MATCH */
  23250. dist-- /* dist = match distance - 1 */
  23251. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[lc])+int32(m_LITERALS)+int32(1))*4))++
  23252. if dist < uint32(256) {
  23253. v7 = libc.Int32FromUint8(x__dist_code[dist])
  23254. } else {
  23255. v7 = libc.Int32FromUint8(x__dist_code[uint32(256)+dist>>int32(7)])
  23256. }
  23257. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v7)*4))++
  23258. }
  23259. return libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  23260. }
  23261. const m_ATTRIBUTION_NAME_MAX = 255
  23262. const m_AT_EACCESS = 0x0010
  23263. const m_AT_FDONLY = 0x0400
  23264. const m_AT_REALDEV = 0x0200
  23265. const m_AT_REMOVEDIR = 0x0080
  23266. const m_AT_SYMLINK_FOLLOW = 0x0040
  23267. const m_AT_SYMLINK_NOFOLLOW = 0x0020
  23268. const m_AT_SYMLINK_NOFOLLOW_ANY = 0x0800
  23269. const m_BUFSIZ = 1024
  23270. const m_COPY = 1
  23271. const m_CPF_IGNORE_MODE = 0x0002
  23272. const m_CPF_OVERWRITE = 0x0001
  23273. const m_E2BIG = 7
  23274. const m_EACCES = 13
  23275. const m_EADDRINUSE = 48
  23276. const m_EADDRNOTAVAIL = 49
  23277. const m_EAFNOSUPPORT = 47
  23278. const m_EAGAIN = 35
  23279. const m_EALREADY = 37
  23280. const m_EAUTH = 80
  23281. const m_EBADARCH = 86
  23282. const m_EBADEXEC = 85
  23283. const m_EBADF = 9
  23284. const m_EBADMACHO = 88
  23285. const m_EBADMSG = 94
  23286. const m_EBADRPC = 72
  23287. const m_EBUSY = 16
  23288. const m_ECANCELED = 89
  23289. const m_ECHILD = 10
  23290. const m_ECONNABORTED = 53
  23291. const m_ECONNREFUSED = 61
  23292. const m_ECONNRESET = 54
  23293. const m_EDEADLK = 11
  23294. const m_EDESTADDRREQ = 39
  23295. const m_EDEVERR = 83
  23296. const m_EDOM = 33
  23297. const m_EDQUOT = 69
  23298. const m_EEXIST = 17
  23299. const m_EFAULT = 14
  23300. const m_EFBIG = 27
  23301. const m_EFTYPE = 79
  23302. const m_EHOSTDOWN = 64
  23303. const m_EHOSTUNREACH = 65
  23304. const m_EIDRM = 90
  23305. const m_EILSEQ = 92
  23306. const m_EINPROGRESS = 36
  23307. const m_EINTR = 4
  23308. const m_EINVAL = 22
  23309. const m_EIO = 5
  23310. const m_EISCONN = 56
  23311. const m_EISDIR = 21
  23312. const m_ELAST = 106
  23313. const m_ELOOP = 62
  23314. const m_EMFILE = 24
  23315. const m_EMLINK = 31
  23316. const m_EMSGSIZE = 40
  23317. const m_EMULTIHOP = 95
  23318. const m_ENAMETOOLONG = 63
  23319. const m_ENEEDAUTH = 81
  23320. const m_ENETDOWN = 50
  23321. const m_ENETRESET = 52
  23322. const m_ENETUNREACH = 51
  23323. const m_ENFILE = 23
  23324. const m_ENOATTR = 93
  23325. const m_ENOBUFS = 55
  23326. const m_ENODATA = 96
  23327. const m_ENODEV = 19
  23328. const m_ENOENT = 2
  23329. const m_ENOEXEC = 8
  23330. const m_ENOLCK = 77
  23331. const m_ENOLINK = 97
  23332. const m_ENOMEM = 12
  23333. const m_ENOMSG = 91
  23334. const m_ENOPOLICY = 103
  23335. const m_ENOPROTOOPT = 42
  23336. const m_ENOSPC = 28
  23337. const m_ENOSR = 98
  23338. const m_ENOSTR = 99
  23339. const m_ENOSYS = 78
  23340. const m_ENOTBLK = 15
  23341. const m_ENOTCONN = 57
  23342. const m_ENOTDIR = 20
  23343. const m_ENOTEMPTY = 66
  23344. const m_ENOTRECOVERABLE = 104
  23345. const m_ENOTSOCK = 38
  23346. const m_ENOTSUP = 45
  23347. const m_ENOTTY = 25
  23348. const m_ENXIO = 6
  23349. const m_EOPNOTSUPP = 102
  23350. const m_EOVERFLOW = 84
  23351. const m_EOWNERDEAD = 105
  23352. const m_EPERM = 1
  23353. const m_EPFNOSUPPORT = 46
  23354. const m_EPIPE = 32
  23355. const m_EPROCLIM = 67
  23356. const m_EPROCUNAVAIL = 76
  23357. const m_EPROGMISMATCH = 75
  23358. const m_EPROGUNAVAIL = 74
  23359. const m_EPROTO = 100
  23360. const m_EPROTONOSUPPORT = 43
  23361. const m_EPROTOTYPE = 41
  23362. const m_EPWROFF = 82
  23363. const m_EQFULL = 106
  23364. const m_ERANGE = 34
  23365. const m_EREMOTE = 71
  23366. const m_EROFS = 30
  23367. const m_ERPCMISMATCH = 73
  23368. const m_ESHLIBVERS = 87
  23369. const m_ESHUTDOWN = 58
  23370. const m_ESOCKTNOSUPPORT = 44
  23371. const m_ESPIPE = 29
  23372. const m_ESRCH = 3
  23373. const m_ESTALE = 70
  23374. const m_ETIME = 101
  23375. const m_ETIMEDOUT = 60
  23376. const m_ETOOMANYREFS = 59
  23377. const m_ETXTBSY = 26
  23378. const m_EUSERS = 68
  23379. const m_EWOULDBLOCK = "EAGAIN"
  23380. const m_EXDEV = 18
  23381. const m_FAPPEND = "O_APPEND"
  23382. const m_FASYNC = "O_ASYNC"
  23383. const m_FCNTL_FS_SPECIFIC_BASE = 0x00010000
  23384. const m_FD_CLOEXEC = 1
  23385. const m_FFDSYNC = "O_DSYNC"
  23386. const m_FFSYNC = "O_FSYNC"
  23387. const m_FILENAME_MAX = 1024
  23388. const m_FILESEC_GUID = "FILESEC_UUID"
  23389. const m_FNDELAY = "O_NONBLOCK"
  23390. const m_FNONBLOCK = "O_NONBLOCK"
  23391. const m_FOPEN_MAX = 20
  23392. const m_FREAD = 0x00000001
  23393. const m_FWRITE = 0x00000002
  23394. const m_F_ADDFILESIGS = 61
  23395. const m_F_ADDFILESIGS_FOR_DYLD_SIM = 83
  23396. const m_F_ADDFILESIGS_INFO = 103
  23397. const m_F_ADDFILESIGS_RETURN = 97
  23398. const m_F_ADDFILESUPPL = 104
  23399. const m_F_ADDSIGS = 59
  23400. const m_F_ADDSIGS_MAIN_BINARY = 113
  23401. const m_F_ALLOCATEALL = 0x00000004
  23402. const m_F_ALLOCATECONTIG = 0x00000002
  23403. const m_F_ALLOCATEPERSIST = 0x00000008
  23404. const m_F_ATTRIBUTION_TAG = 111
  23405. const m_F_BARRIERFSYNC = 85
  23406. const m_F_CHECK_LV = 98
  23407. const m_F_CHKCLEAN = 41
  23408. const m_F_CREATE_TAG = 0x00000001
  23409. const m_F_DELETE_TAG = 0x00000002
  23410. const m_F_DUPFD = 0
  23411. const m_F_DUPFD_CLOEXEC = 67
  23412. const m_F_FINDSIGS = 78
  23413. const m_F_FLUSH_DATA = 40
  23414. const m_F_FREEZE_FS = 53
  23415. const m_F_FULLFSYNC = 51
  23416. const m_F_GETCODEDIR = 72
  23417. const m_F_GETFD = 1
  23418. const m_F_GETFL = 3
  23419. const m_F_GETLEASE = 107
  23420. const m_F_GETLK = 7
  23421. const m_F_GETLKPID = 66
  23422. const m_F_GETNOSIGPIPE = 74
  23423. const m_F_GETOWN = 5
  23424. const m_F_GETPATH = 50
  23425. const m_F_GETPATH_MTMINFO = 71
  23426. const m_F_GETPATH_NOFIRMLINK = 102
  23427. const m_F_GETPROTECTIONCLASS = 63
  23428. const m_F_GETPROTECTIONLEVEL = 77
  23429. const m_F_GETSIGSINFO = 105
  23430. const m_F_GLOBAL_NOCACHE = 55
  23431. const m_F_LOG2PHYS = 49
  23432. const m_F_LOG2PHYS_EXT = 65
  23433. const m_F_NOCACHE = 48
  23434. const m_F_NODIRECT = 62
  23435. const m_F_OFD_GETLK = 92
  23436. const m_F_OFD_SETLK = 90
  23437. const m_F_OFD_SETLKW = 91
  23438. const m_F_OFD_SETLKWTIMEOUT = 93
  23439. const m_F_PATHPKG_CHECK = 52
  23440. const m_F_PEOFPOSMODE = 3
  23441. const m_F_PREALLOCATE = 42
  23442. const m_F_PUNCHHOLE = 99
  23443. const m_F_QUERY_TAG = 0x00000004
  23444. const m_F_RDADVISE = 44
  23445. const m_F_RDAHEAD = 45
  23446. const m_F_RDLCK = 1
  23447. const m_F_SETBACKINGSTORE = 70
  23448. const m_F_SETFD = 2
  23449. const m_F_SETFL = 4
  23450. const m_F_SETLEASE = 106
  23451. const m_F_SETLK = 8
  23452. const m_F_SETLKW = 9
  23453. const m_F_SETLKWTIMEOUT = 10
  23454. const m_F_SETNOSIGPIPE = 73
  23455. const m_F_SETOWN = 6
  23456. const m_F_SETPROTECTIONCLASS = 64
  23457. const m_F_SETSIZE = 43
  23458. const m_F_SINGLE_WRITER = 76
  23459. const m_F_SPECULATIVE_READ = 101
  23460. const m_F_THAW_FS = 54
  23461. const m_F_TRANSCODEKEY = 75
  23462. const m_F_TRANSFEREXTENTS = 110
  23463. const m_F_TRIM_ACTIVE_FILE = 100
  23464. const m_F_UNLCK = 2
  23465. const m_F_VOLPOSMODE = 4
  23466. const m_F_WRLCK = 3
  23467. const m_GETSIGSINFO_PLATFORM_BINARY = 1
  23468. const m_GZBUFSIZE = 8192
  23469. const m_GZIP = 2
  23470. const m_GZ_APPEND = 1
  23471. const m_GZ_NONE = 0
  23472. const m_GZ_READ = 7247
  23473. const m_GZ_WRITE = 31153
  23474. const m_LOCK_EX = 0x02
  23475. const m_LOCK_NB = 0x04
  23476. const m_LOCK_SH = 0x01
  23477. const m_LOCK_UN = 0x08
  23478. const m_LOOK = 0
  23479. const m_L_tmpnam = 1024
  23480. const m_O_ACCMODE = 0x0003
  23481. const m_O_ALERT = 0x20000000
  23482. const m_O_APPEND = 0x00000008
  23483. const m_O_ASYNC = 0x00000040
  23484. const m_O_CLOEXEC = 0x01000000
  23485. const m_O_CREAT = 0x00000200
  23486. const m_O_DIRECTORY = 0x00100000
  23487. const m_O_DP_AUTHENTICATE = 0x0004
  23488. const m_O_DP_GETRAWENCRYPTED = 0x0001
  23489. const m_O_DP_GETRAWUNENCRYPTED = 0x0002
  23490. const m_O_DSYNC = 0x400000
  23491. const m_O_EVTONLY = 0x00008000
  23492. const m_O_EXCL = 0x00000800
  23493. const m_O_EXEC = 0x40000000
  23494. const m_O_EXLOCK = 0x00000020
  23495. const m_O_FSYNC = "O_SYNC"
  23496. const m_O_NDELAY = "O_NONBLOCK"
  23497. const m_O_NOCTTY = 0x00020000
  23498. const m_O_NOFOLLOW = 0x00000100
  23499. const m_O_NOFOLLOW_ANY = 0x20000000
  23500. const m_O_NONBLOCK = 0x00000004
  23501. const m_O_POPUP = 0x80000000
  23502. const m_O_RDONLY = 0x0000
  23503. const m_O_RDWR = 0x0002
  23504. const m_O_RESOLVE_BENEATH = 0x00001000
  23505. const m_O_SHLOCK = 0x00000010
  23506. const m_O_SYMLINK = 0x00200000
  23507. const m_O_SYNC = 0x0080
  23508. const m_O_TRUNC = 0x00000400
  23509. const m_O_WRONLY = 0x0001
  23510. const m_P_tmpdir = "/var/tmp/"
  23511. const m_RENAME_EXCL = 0x00000004
  23512. const m_RENAME_NOFOLLOW_ANY = 0x00000010
  23513. const m_RENAME_RESERVED1 = 0x00000008
  23514. const m_RENAME_SECLUDE = 0x00000001
  23515. const m_RENAME_SWAP = 0x00000002
  23516. const m_S_IEXEC = "S_IXUSR"
  23517. const m_S_IFBLK = 0060000
  23518. const m_S_IFCHR = 0020000
  23519. const m_S_IFDIR = 0040000
  23520. const m_S_IFIFO = 0010000
  23521. const m_S_IFLNK = 0120000
  23522. const m_S_IFMT = 0170000
  23523. const m_S_IFREG = 0100000
  23524. const m_S_IFSOCK = 0140000
  23525. const m_S_IFWHT = 0160000
  23526. const m_S_IREAD = "S_IRUSR"
  23527. const m_S_IRGRP = 0000040
  23528. const m_S_IROTH = 0000004
  23529. const m_S_IRUSR = 0000400
  23530. const m_S_IRWXG = 0000070
  23531. const m_S_IRWXO = 0000007
  23532. const m_S_IRWXU = 0000700
  23533. const m_S_ISGID = 0002000
  23534. const m_S_ISTXT = "S_ISVTX"
  23535. const m_S_ISUID = 0004000
  23536. const m_S_ISVTX = 0001000
  23537. const m_S_IWGRP = 0000020
  23538. const m_S_IWOTH = 0000002
  23539. const m_S_IWRITE = "S_IWUSR"
  23540. const m_S_IWUSR = 0000200
  23541. const m_S_IXGRP = 0000010
  23542. const m_S_IXOTH = 0000001
  23543. const m_S_IXUSR = 0000100
  23544. const m_TMP_MAX = 308915776
  23545. const m_USER_FSIGNATURES_CDHASH_LEN = 20
  23546. const m__IOFBF = 0
  23547. const m__IOLBF = 1
  23548. const m__IONBF = 2
  23549. const m___SALC = 0x4000
  23550. const m___SAPP = 0x0100
  23551. const m___SEOF = 0x0020
  23552. const m___SERR = 0x0040
  23553. const m___SIGN = 0x8000
  23554. const m___SLBF = 0x0001
  23555. const m___SMBF = 0x0080
  23556. const m___SMOD = 0x2000
  23557. const m___SNBF = 0x0002
  23558. const m___SNPT = 0x0800
  23559. const m___SOFF = 0x1000
  23560. const m___SOPT = 0x0400
  23561. const m___SRD = 0x0004
  23562. const m___SRW = 0x0010
  23563. const m___SSTR = 0x0200
  23564. const m___SWR = 0x0008
  23565. const m_stderr = "__stderrp"
  23566. const m_stdin = "__stdinp"
  23567. const m_stdout = "__stdoutp"
  23568. type Tfpos_t = int64
  23569. type t__sbuf = struct {
  23570. F_base uintptr
  23571. F_size int32
  23572. }
  23573. type TFILE = struct {
  23574. F_p uintptr
  23575. F_r int32
  23576. F_w int32
  23577. F_flags int16
  23578. F_file int16
  23579. F_bf t__sbuf
  23580. F_lbfsize int32
  23581. F_cookie uintptr
  23582. F_close uintptr
  23583. F_read uintptr
  23584. F_seek uintptr
  23585. F_write uintptr
  23586. F_ub t__sbuf
  23587. F_extra uintptr
  23588. F_ur int32
  23589. F_ubuf [3]uint8
  23590. F_nbuf [1]uint8
  23591. F_lb t__sbuf
  23592. F_blksize int32
  23593. F_offset Tfpos_t
  23594. }
  23595. type t__sFILE = TFILE
  23596. type Tflock = struct {
  23597. Fl_start Toff_t
  23598. Fl_len Toff_t
  23599. Fl_pid Tpid_t
  23600. Fl_type int16
  23601. Fl_whence int16
  23602. }
  23603. type Tflocktimeout = struct {
  23604. Ffl Tflock
  23605. Ftimeout Ttimespec
  23606. }
  23607. type Tradvisory = struct {
  23608. Fra_offset Toff_t
  23609. Fra_count int32
  23610. }
  23611. type Tfsignatures_t = struct {
  23612. Ffs_file_start Toff_t
  23613. Ffs_blob_start uintptr
  23614. Ffs_blob_size Tsize_t
  23615. Ffs_fsignatures_size Tsize_t
  23616. Ffs_cdhash [20]int8
  23617. Ffs_hash_type int32
  23618. }
  23619. type Tfsignatures = Tfsignatures_t
  23620. type Tfsupplement_t = struct {
  23621. Ffs_file_start Toff_t
  23622. Ffs_blob_start Toff_t
  23623. Ffs_blob_size Tsize_t
  23624. Ffs_orig_fd int32
  23625. }
  23626. type Tfsupplement = Tfsupplement_t
  23627. type Tfchecklv_t = struct {
  23628. Flv_file_start Toff_t
  23629. Flv_error_message_size Tsize_t
  23630. Flv_error_message uintptr
  23631. }
  23632. type Tfchecklv = Tfchecklv_t
  23633. type Tfgetsigsinfo_t = struct {
  23634. Ffg_file_start Toff_t
  23635. Ffg_info_request int32
  23636. Ffg_sig_is_platform int32
  23637. }
  23638. type Tfgetsigsinfo = Tfgetsigsinfo_t
  23639. type Tfstore_t = struct {
  23640. Ffst_flags uint32
  23641. Ffst_posmode int32
  23642. Ffst_offset Toff_t
  23643. Ffst_length Toff_t
  23644. Ffst_bytesalloc Toff_t
  23645. }
  23646. type Tfstore = Tfstore_t
  23647. type Tfpunchhole_t = struct {
  23648. Ffp_flags uint32
  23649. Freserved uint32
  23650. Ffp_offset Toff_t
  23651. Ffp_length Toff_t
  23652. }
  23653. type Tfpunchhole = Tfpunchhole_t
  23654. type Tftrimactivefile_t = struct {
  23655. Ffta_offset Toff_t
  23656. Ffta_length Toff_t
  23657. }
  23658. type Tftrimactivefile = Tftrimactivefile_t
  23659. type Tfspecread_t = struct {
  23660. Ffsr_flags uint32
  23661. Freserved uint32
  23662. Ffsr_offset Toff_t
  23663. Ffsr_length Toff_t
  23664. }
  23665. type Tfspecread = Tfspecread_t
  23666. type Tfattributiontag_t = struct {
  23667. Fft_flags uint32
  23668. Fft_hash uint64
  23669. Fft_attribution_name [255]int8
  23670. }
  23671. type Tfattributiontag = Tfattributiontag_t
  23672. type Tlog2phys = struct {
  23673. Fl2p_flags uint32
  23674. Fl2p_contigbytes Toff_t
  23675. Fl2p_devoffset Toff_t
  23676. }
  23677. type Tfilesec_t = uintptr
  23678. type Tfilesec_property_t = int32
  23679. const _FILESEC_OWNER = 1
  23680. const _FILESEC_GROUP = 2
  23681. const _FILESEC_UUID = 3
  23682. const _FILESEC_MODE = 4
  23683. const _FILESEC_ACL = 5
  23684. const _FILESEC_GRPUUID = 6
  23685. const _FILESEC_ACL_RAW = 100
  23686. const _FILESEC_ACL_ALLOCSIZE = 101
  23687. type Tgz_state = struct {
  23688. Fx TgzFile_s
  23689. Fmode int32
  23690. Ffd int32
  23691. Fpath uintptr
  23692. Fsize uint32
  23693. Fwant uint32
  23694. Fin uintptr
  23695. Fout uintptr
  23696. Fdirect int32
  23697. Fhow int32
  23698. Fstart Toff_t
  23699. Feof int32
  23700. Fpast int32
  23701. Flevel int32
  23702. Fstrategy int32
  23703. Freset int32
  23704. Fskip Toff_t
  23705. Fseek int32
  23706. Ferr int32
  23707. Fmsg uintptr
  23708. Fstrm Tz_stream
  23709. }
  23710. type Tgz_statep = uintptr
  23711. func XzlibVersion(tls *libc.TLS) (r uintptr) {
  23712. return __ccgo_ts
  23713. }
  23714. func XzlibCompileFlags(tls *libc.TLS) (r TuLong) {
  23715. var flags TuLong
  23716. _ = flags
  23717. flags = uint64(0)
  23718. switch libc.Int32FromUint64(libc.Uint64FromInt64(4)) {
  23719. case int32(2):
  23720. case int32(4):
  23721. flags += uint64(1)
  23722. case int32(8):
  23723. flags += uint64(2)
  23724. default:
  23725. flags += uint64(3)
  23726. }
  23727. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  23728. case int32(2):
  23729. case int32(4):
  23730. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(2))
  23731. case int32(8):
  23732. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(2))
  23733. default:
  23734. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(2))
  23735. }
  23736. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  23737. case int32(2):
  23738. case int32(4):
  23739. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(4))
  23740. case int32(8):
  23741. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(4))
  23742. default:
  23743. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(4))
  23744. }
  23745. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  23746. case int32(2):
  23747. case int32(4):
  23748. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(6))
  23749. case int32(8):
  23750. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(6))
  23751. default:
  23752. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(6))
  23753. }
  23754. /*
  23755. #if defined(ASMV) || defined(ASMINF)
  23756. flags += 1 << 9;
  23757. #endif
  23758. */
  23759. return flags
  23760. }
  23761. // C documentation
  23762. //
  23763. // /* exported to allow conversion of error code to string for compress() and
  23764. // * uncompress()
  23765. // */
  23766. func XzError(tls *libc.TLS, err int32) (r uintptr) {
  23767. var v1 int32
  23768. _ = v1
  23769. if err < -int32(6) || err > int32(2) {
  23770. v1 = int32(9)
  23771. } else {
  23772. v1 = int32(2) - err
  23773. }
  23774. return Xz_errmsg[v1]
  23775. }
  23776. func Xzcalloc(tls *libc.TLS, opaque Tvoidpf, items uint32, size uint32) (r Tvoidpf) {
  23777. _ = opaque
  23778. return libc.Xmalloc(tls, uint64(items*size))
  23779. }
  23780. func Xzcfree(tls *libc.TLS, opaque Tvoidpf, ptr Tvoidpf) {
  23781. _ = opaque
  23782. libc.Xfree(tls, ptr)
  23783. }
  23784. // C documentation
  23785. //
  23786. // /* ===========================================================================
  23787. // Compresses the source buffer into the destination buffer. The level
  23788. // parameter has the same meaning as in deflateInit. sourceLen is the byte
  23789. // length of the source buffer. Upon entry, destLen is the total size of the
  23790. // destination buffer, which must be at least 0.1% larger than sourceLen plus
  23791. // 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
  23792. //
  23793. // compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
  23794. // memory, Z_BUF_ERROR if there was not enough room in the output buffer,
  23795. // Z_STREAM_ERROR if the level parameter is invalid.
  23796. // */
  23797. func Xcompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen TuLong, level int32) (r int32) {
  23798. bp := tls.Alloc(112)
  23799. defer tls.Free(112)
  23800. var err, v3, v4 int32
  23801. var left TuLong
  23802. var max TuInt
  23803. var v1, v2 uint32
  23804. var _ /* stream at bp+0 */ Tz_stream
  23805. _, _, _, _, _, _, _ = err, left, max, v1, v2, v3, v4
  23806. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  23807. left = *(*TuLongf)(unsafe.Pointer(destLen))
  23808. *(*TuLongf)(unsafe.Pointer(destLen)) = uint64(0)
  23809. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzalloc = libc.UintptrFromInt32(0)
  23810. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzfree = libc.UintptrFromInt32(0)
  23811. (*(*Tz_stream)(unsafe.Pointer(bp))).Fopaque = libc.UintptrFromInt32(0)
  23812. err = XdeflateInit_(tls, bp, level, __ccgo_ts, libc.Int32FromInt64(112))
  23813. if err != m_Z_OK {
  23814. return err
  23815. }
  23816. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_out = dest
  23817. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = uint32(0)
  23818. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_in = source
  23819. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = uint32(0)
  23820. for cond := true; cond; cond = err == m_Z_OK {
  23821. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out == uint32(0) {
  23822. if left > uint64(max) {
  23823. v1 = max
  23824. } else {
  23825. v1 = uint32(left)
  23826. }
  23827. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = v1
  23828. left -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out)
  23829. }
  23830. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in == uint32(0) {
  23831. if sourceLen > uint64(max) {
  23832. v2 = max
  23833. } else {
  23834. v2 = uint32(sourceLen)
  23835. }
  23836. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = v2
  23837. sourceLen -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  23838. }
  23839. if sourceLen != 0 {
  23840. v3 = m_Z_NO_FLUSH
  23841. } else {
  23842. v3 = int32(m_Z_FINISH)
  23843. }
  23844. err = Xdeflate(tls, bp, v3)
  23845. }
  23846. *(*TuLongf)(unsafe.Pointer(destLen)) = (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out
  23847. XdeflateEnd(tls, bp)
  23848. if err == int32(m_Z_STREAM_END) {
  23849. v4 = m_Z_OK
  23850. } else {
  23851. v4 = err
  23852. }
  23853. return v4
  23854. }
  23855. // C documentation
  23856. //
  23857. // /* ===========================================================================
  23858. // */
  23859. func Xcompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen TuLong) (r int32) {
  23860. return Xcompress2(tls, dest, destLen, source, sourceLen, -int32(1))
  23861. }
  23862. // C documentation
  23863. //
  23864. // /* ===========================================================================
  23865. // If the default memLevel or windowBits for deflateInit() is changed, then
  23866. // this function needs to be updated.
  23867. // */
  23868. func XcompressBound(tls *libc.TLS, sourceLen TuLong) (r TuLong) {
  23869. return sourceLen + sourceLen>>libc.Int32FromInt32(12) + sourceLen>>libc.Int32FromInt32(14) + sourceLen>>libc.Int32FromInt32(25) + uint64(13)
  23870. }
  23871. // C documentation
  23872. //
  23873. // /* ===========================================================================
  23874. // Decompresses the source buffer into the destination buffer. *sourceLen is
  23875. // the byte length of the source buffer. Upon entry, *destLen is the total size
  23876. // of the destination buffer, which must be large enough to hold the entire
  23877. // uncompressed data. (The size of the uncompressed data must have been saved
  23878. // previously by the compressor and transmitted to the decompressor by some
  23879. // mechanism outside the scope of this compression library.) Upon exit,
  23880. // *destLen is the size of the decompressed data and *sourceLen is the number
  23881. // of source bytes consumed. Upon return, source + *sourceLen points to the
  23882. // first unused input byte.
  23883. //
  23884. // uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough
  23885. // memory, Z_BUF_ERROR if there was not enough room in the output buffer, or
  23886. // Z_DATA_ERROR if the input data was corrupted, including if the input data is
  23887. // an incomplete zlib stream.
  23888. // */
  23889. func Xuncompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen uintptr) (r int32) {
  23890. bp := tls.Alloc(128)
  23891. defer tls.Free(128)
  23892. var err, v3, v4, v5 int32
  23893. var left, len1 TuLong
  23894. var max TuInt
  23895. var v1, v2 uint32
  23896. var _ /* buf at bp+112 */ [1]TByte
  23897. var _ /* stream at bp+0 */ Tz_stream
  23898. _, _, _, _, _, _, _, _, _ = err, left, len1, max, v1, v2, v3, v4, v5
  23899. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1)) /* for detection of incomplete stream when *destLen == 0 */
  23900. len1 = *(*TuLong)(unsafe.Pointer(sourceLen))
  23901. if *(*TuLongf)(unsafe.Pointer(destLen)) != 0 {
  23902. left = *(*TuLongf)(unsafe.Pointer(destLen))
  23903. *(*TuLongf)(unsafe.Pointer(destLen)) = uint64(0)
  23904. } else {
  23905. left = uint64(1)
  23906. dest = bp + 112
  23907. }
  23908. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_in = source
  23909. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = uint32(0)
  23910. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzalloc = libc.UintptrFromInt32(0)
  23911. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzfree = libc.UintptrFromInt32(0)
  23912. (*(*Tz_stream)(unsafe.Pointer(bp))).Fopaque = libc.UintptrFromInt32(0)
  23913. err = XinflateInit_(tls, bp, __ccgo_ts, libc.Int32FromInt64(112))
  23914. if err != m_Z_OK {
  23915. return err
  23916. }
  23917. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_out = dest
  23918. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = uint32(0)
  23919. for cond := true; cond; cond = err == m_Z_OK {
  23920. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out == uint32(0) {
  23921. if left > uint64(max) {
  23922. v1 = max
  23923. } else {
  23924. v1 = uint32(left)
  23925. }
  23926. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = v1
  23927. left -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out)
  23928. }
  23929. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in == uint32(0) {
  23930. if len1 > uint64(max) {
  23931. v2 = max
  23932. } else {
  23933. v2 = uint32(len1)
  23934. }
  23935. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = v2
  23936. len1 -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  23937. }
  23938. err = Xinflate(tls, bp, m_Z_NO_FLUSH)
  23939. }
  23940. *(*TuLong)(unsafe.Pointer(sourceLen)) -= len1 + uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  23941. if dest != bp+112 {
  23942. *(*TuLongf)(unsafe.Pointer(destLen)) = (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out
  23943. } else {
  23944. if (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out != 0 && err == -int32(5) {
  23945. left = uint64(1)
  23946. }
  23947. }
  23948. XinflateEnd(tls, bp)
  23949. if err == int32(m_Z_STREAM_END) {
  23950. v3 = m_Z_OK
  23951. } else {
  23952. if err == int32(m_Z_NEED_DICT) {
  23953. v4 = -int32(3)
  23954. } else {
  23955. if err == -int32(5) && left+uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out) != 0 {
  23956. v5 = -int32(3)
  23957. } else {
  23958. v5 = err
  23959. }
  23960. v4 = v5
  23961. }
  23962. v3 = v4
  23963. }
  23964. return v3
  23965. }
  23966. func Xuncompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, _sourceLen TuLong) (r int32) {
  23967. bp := tls.Alloc(16)
  23968. defer tls.Free(16)
  23969. *(*TuLong)(unsafe.Pointer(bp)) = _sourceLen
  23970. return Xuncompress2(tls, dest, destLen, source, bp)
  23971. }
  23972. // C documentation
  23973. //
  23974. // /* gzclose() is in a separate file so that it is linked in only if it is used.
  23975. // That way the other gzclose functions can be used instead to avoid linking in
  23976. // unneeded compression or decompression routines. */
  23977. func Xgzclose(tls *libc.TLS, file TgzFile) (r int32) {
  23978. var state Tgz_statep
  23979. var v1 int32
  23980. _, _ = state, v1
  23981. if file == libc.UintptrFromInt32(0) {
  23982. return -int32(2)
  23983. }
  23984. state = file
  23985. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  23986. v1 = Xgzclose_r(tls, file)
  23987. } else {
  23988. v1 = Xgzclose_w(tls, file)
  23989. }
  23990. return v1
  23991. }
  23992. const m_LSEEK = "lseek"
  23993. const m_O_APPEND1 = 8
  23994. const m_O_CLOEXEC1 = 16777216
  23995. const m_O_CREAT1 = 512
  23996. const m_O_EXCL1 = 2048
  23997. const m_O_RDONLY1 = 0
  23998. const m_O_TRUNC1 = 1024
  23999. const m_O_WRONLY1 = 1
  24000. // C documentation
  24001. //
  24002. // /* Reset gzip file state */
  24003. func _gz_reset(tls *libc.TLS, state Tgz_statep) {
  24004. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0) /* no output data available */
  24005. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) { /* for reading ... */
  24006. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0 /* not at end of file */
  24007. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0 /* have not read past end yet */
  24008. (*Tgz_state)(unsafe.Pointer(state)).Fhow = m_LOOK /* look for gzip header */
  24009. } else { /* for writing ... */
  24010. (*Tgz_state)(unsafe.Pointer(state)).Freset = 0
  24011. } /* no deflateReset pending */
  24012. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0 /* no seek request pending */
  24013. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0)) /* clear error */
  24014. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos = 0 /* no uncompressed data yet */
  24015. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0) /* no input data yet */
  24016. }
  24017. // C documentation
  24018. //
  24019. // /* Open a gzip file either by name or file descriptor. */
  24020. func _gz_open(tls *libc.TLS, path uintptr, fd int32, mode uintptr) (r TgzFile) {
  24021. bp := tls.Alloc(16)
  24022. defer tls.Free(16)
  24023. var cloexec, exclusive, oflag, v1, v2, v3, v4, v5 int32
  24024. var len1 Tz_size_t
  24025. var state Tgz_statep
  24026. _, _, _, _, _, _, _, _, _, _ = cloexec, exclusive, len1, oflag, state, v1, v2, v3, v4, v5
  24027. cloexec = 0
  24028. exclusive = 0
  24029. /* check input */
  24030. if path == libc.UintptrFromInt32(0) {
  24031. return libc.UintptrFromInt32(0)
  24032. }
  24033. /* allocate gzFile structure to return */
  24034. state = libc.Xmalloc(tls, uint64(240))
  24035. if state == libc.UintptrFromInt32(0) {
  24036. return libc.UintptrFromInt32(0)
  24037. }
  24038. (*Tgz_state)(unsafe.Pointer(state)).Fsize = uint32(0) /* no buffers allocated yet */
  24039. (*Tgz_state)(unsafe.Pointer(state)).Fwant = uint32(m_GZBUFSIZE) /* requested buffer size */
  24040. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = libc.UintptrFromInt32(0) /* no error message yet */
  24041. /* interpret mode */
  24042. (*Tgz_state)(unsafe.Pointer(state)).Fmode = m_GZ_NONE
  24043. (*Tgz_state)(unsafe.Pointer(state)).Flevel = -int32(1)
  24044. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = m_Z_DEFAULT_STRATEGY
  24045. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = 0
  24046. for *(*int8)(unsafe.Pointer(mode)) != 0 {
  24047. if int32(*(*int8)(unsafe.Pointer(mode))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(mode))) <= int32('9') {
  24048. (*Tgz_state)(unsafe.Pointer(state)).Flevel = int32(*(*int8)(unsafe.Pointer(mode))) - int32('0')
  24049. } else {
  24050. switch int32(*(*int8)(unsafe.Pointer(mode))) {
  24051. case int32('r'):
  24052. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_READ)
  24053. case int32('w'):
  24054. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_WRITE)
  24055. case int32('a'):
  24056. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_APPEND)
  24057. case int32('+'): /* can't read and write at the same time */
  24058. libc.Xfree(tls, state)
  24059. return libc.UintptrFromInt32(0)
  24060. case int32('b'): /* ignore -- will request binary anyway */
  24061. case int32('e'):
  24062. cloexec = int32(1)
  24063. case int32('x'):
  24064. exclusive = int32(1)
  24065. case int32('f'):
  24066. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_FILTERED)
  24067. case int32('h'):
  24068. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_HUFFMAN_ONLY)
  24069. case int32('R'):
  24070. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_RLE)
  24071. case int32('F'):
  24072. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_FIXED)
  24073. case int32('T'):
  24074. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1)
  24075. default: /* could consider as an error, but just ignore */
  24076. }
  24077. }
  24078. mode++
  24079. }
  24080. /* must provide an "r", "w", or "a" */
  24081. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == m_GZ_NONE {
  24082. libc.Xfree(tls, state)
  24083. return libc.UintptrFromInt32(0)
  24084. }
  24085. /* can't force transparent read */
  24086. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  24087. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  24088. libc.Xfree(tls, state)
  24089. return libc.UintptrFromInt32(0)
  24090. }
  24091. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1) /* for empty file */
  24092. }
  24093. /* save the path name for error messages */
  24094. len1 = libc.Xstrlen(tls, path)
  24095. (*Tgz_state)(unsafe.Pointer(state)).Fpath = libc.Xmalloc(tls, len1+uint64(1))
  24096. if (*Tgz_state)(unsafe.Pointer(state)).Fpath == libc.UintptrFromInt32(0) {
  24097. libc.Xfree(tls, state)
  24098. return libc.UintptrFromInt32(0)
  24099. }
  24100. libc.X__builtin___snprintf_chk(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath, len1+uint64(1), 0, ^t__predefined_size_t(0), __ccgo_ts+584, libc.VaList(bp+8, path))
  24101. /* compute the flags for open() */
  24102. if cloexec != 0 {
  24103. v1 = int32(m_O_CLOEXEC1)
  24104. } else {
  24105. v1 = 0
  24106. }
  24107. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  24108. v2 = m_O_RDONLY1
  24109. } else {
  24110. if exclusive != 0 {
  24111. v3 = int32(m_O_EXCL1)
  24112. } else {
  24113. v3 = 0
  24114. }
  24115. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_WRITE) {
  24116. v4 = int32(m_O_TRUNC1)
  24117. } else {
  24118. v4 = int32(m_O_APPEND1)
  24119. }
  24120. v2 = libc.Int32FromInt32(m_O_WRONLY1) | libc.Int32FromInt32(m_O_CREAT1) | v3 | v4
  24121. }
  24122. oflag = v1 | v2
  24123. /* open the file with the appropriate flags (or just use fd) */
  24124. if fd > -int32(1) {
  24125. v5 = fd
  24126. } else {
  24127. v5 = libc.Xopen(tls, path, oflag, libc.VaList(bp+8, int32(0666)))
  24128. }
  24129. (*Tgz_state)(unsafe.Pointer(state)).Ffd = v5
  24130. if (*Tgz_state)(unsafe.Pointer(state)).Ffd == -int32(1) {
  24131. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  24132. libc.Xfree(tls, state)
  24133. return libc.UintptrFromInt32(0)
  24134. }
  24135. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_APPEND) {
  24136. libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(m_SEEK_END)) /* so gzoffset() is correct */
  24137. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_WRITE) /* simplify later checks */
  24138. }
  24139. /* save the current position for rewinding (only if reading) */
  24140. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  24141. (*Tgz_state)(unsafe.Pointer(state)).Fstart = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(m_SEEK_CUR))
  24142. if (*Tgz_state)(unsafe.Pointer(state)).Fstart == int64(-int32(1)) {
  24143. (*Tgz_state)(unsafe.Pointer(state)).Fstart = 0
  24144. }
  24145. }
  24146. /* initialize stream */
  24147. _gz_reset(tls, state)
  24148. /* return stream */
  24149. return state
  24150. }
  24151. // C documentation
  24152. //
  24153. // /* -- see zlib.h -- */
  24154. func Xgzopen(tls *libc.TLS, path uintptr, mode uintptr) (r TgzFile) {
  24155. return _gz_open(tls, path, -int32(1), mode)
  24156. }
  24157. // C documentation
  24158. //
  24159. // /* -- see zlib.h -- */
  24160. func Xgzopen64(tls *libc.TLS, path uintptr, mode uintptr) (r TgzFile) {
  24161. return _gz_open(tls, path, -int32(1), mode)
  24162. }
  24163. // C documentation
  24164. //
  24165. // /* -- see zlib.h -- */
  24166. func Xgzdopen(tls *libc.TLS, fd int32, mode uintptr) (r TgzFile) {
  24167. bp := tls.Alloc(16)
  24168. defer tls.Free(16)
  24169. var gz TgzFile
  24170. var path, v1 uintptr
  24171. var v2 bool
  24172. _, _, _, _ = gz, path, v1, v2
  24173. if v2 = fd == -int32(1); !v2 {
  24174. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(7)+libc.Uint64FromInt32(3)*libc.Uint64FromInt64(4))
  24175. path = v1
  24176. }
  24177. if v2 || v1 == libc.UintptrFromInt32(0) {
  24178. return libc.UintptrFromInt32(0)
  24179. }
  24180. libc.X__builtin___snprintf_chk(tls, path, libc.Uint64FromInt32(7)+libc.Uint64FromInt32(3)*libc.Uint64FromInt64(4), 0, ^t__predefined_size_t(0), __ccgo_ts+587, libc.VaList(bp+8, fd))
  24181. gz = _gz_open(tls, path, fd, mode)
  24182. libc.Xfree(tls, path)
  24183. return gz
  24184. }
  24185. /* -- see zlib.h -- */
  24186. // C documentation
  24187. //
  24188. // /* -- see zlib.h -- */
  24189. func Xgzbuffer(tls *libc.TLS, file TgzFile, size uint32) (r int32) {
  24190. var state Tgz_statep
  24191. _ = state
  24192. /* get internal structure and check integrity */
  24193. if file == libc.UintptrFromInt32(0) {
  24194. return -int32(1)
  24195. }
  24196. state = file
  24197. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24198. return -int32(1)
  24199. }
  24200. /* make sure we haven't already allocated memory */
  24201. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != uint32(0) {
  24202. return -int32(1)
  24203. }
  24204. /* check and set requested size */
  24205. if size<<int32(1) < size {
  24206. return -int32(1)
  24207. } /* need to be able to double it */
  24208. if size < uint32(8) {
  24209. size = uint32(8)
  24210. } /* needed to behave well with flushing */
  24211. (*Tgz_state)(unsafe.Pointer(state)).Fwant = size
  24212. return 0
  24213. }
  24214. // C documentation
  24215. //
  24216. // /* -- see zlib.h -- */
  24217. func Xgzrewind(tls *libc.TLS, file TgzFile) (r int32) {
  24218. var state Tgz_statep
  24219. _ = state
  24220. /* get internal structure */
  24221. if file == libc.UintptrFromInt32(0) {
  24222. return -int32(1)
  24223. }
  24224. state = file
  24225. /* check that we're reading and that there's no error */
  24226. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  24227. return -int32(1)
  24228. }
  24229. /* back up and start over */
  24230. if libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tgz_state)(unsafe.Pointer(state)).Fstart, m_SEEK_SET) == int64(-int32(1)) {
  24231. return -int32(1)
  24232. }
  24233. _gz_reset(tls, state)
  24234. return 0
  24235. }
  24236. // C documentation
  24237. //
  24238. // /* -- see zlib.h -- */
  24239. func Xgzseek64(tls *libc.TLS, file TgzFile, offset Toff_t, whence int32) (r Toff_t) {
  24240. var n, v1 uint32
  24241. var ret Toff_t
  24242. var state Tgz_statep
  24243. _, _, _, _ = n, ret, state, v1
  24244. /* get internal structure and check integrity */
  24245. if file == libc.UintptrFromInt32(0) {
  24246. return int64(-int32(1))
  24247. }
  24248. state = file
  24249. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24250. return int64(-int32(1))
  24251. }
  24252. /* check that there's no error */
  24253. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  24254. return int64(-int32(1))
  24255. }
  24256. /* can only seek from start or relative to current position */
  24257. if whence != m_SEEK_SET && whence != int32(m_SEEK_CUR) {
  24258. return int64(-int32(1))
  24259. }
  24260. /* normalize offset to a SEEK_CUR specification */
  24261. if whence == m_SEEK_SET {
  24262. offset -= (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  24263. } else {
  24264. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24265. offset += (*Tgz_state)(unsafe.Pointer(state)).Fskip
  24266. }
  24267. }
  24268. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24269. /* if within raw area while reading, just go there */
  24270. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fhow == int32(m_COPY) && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos+offset >= 0 {
  24271. ret = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, offset-libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave), int32(m_SEEK_CUR))
  24272. if ret == int64(-int32(1)) {
  24273. return int64(-int32(1))
  24274. }
  24275. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  24276. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0
  24277. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  24278. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24279. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  24280. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0)
  24281. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += offset
  24282. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  24283. }
  24284. /* calculate skip amount, rewinding if needed for back seek when reading */
  24285. if offset < 0 {
  24286. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) { /* writing -- can't go backwards */
  24287. return int64(-int32(1))
  24288. }
  24289. offset += (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  24290. if offset < 0 { /* before start of file! */
  24291. return int64(-int32(1))
  24292. }
  24293. if Xgzrewind(tls, file) == -int32(1) { /* rewind, then skip to offset */
  24294. return int64(-int32(1))
  24295. }
  24296. }
  24297. /* if reading, skip what's in output buffer (one less gzgetc() check) */
  24298. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  24299. if libc.Bool(libc.Bool(uint64(4) == uint64(8)) && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > Xgz_intmax(tls)) || libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave) > offset {
  24300. v1 = libc.Uint32FromInt64(offset)
  24301. } else {
  24302. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  24303. }
  24304. n = v1
  24305. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  24306. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  24307. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  24308. offset -= libc.Int64FromUint32(n)
  24309. }
  24310. /* request skip (if not zero) */
  24311. if offset != 0 {
  24312. (*Tgz_state)(unsafe.Pointer(state)).Fseek = int32(1)
  24313. (*Tgz_state)(unsafe.Pointer(state)).Fskip = offset
  24314. }
  24315. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos + offset
  24316. }
  24317. // C documentation
  24318. //
  24319. // /* -- see zlib.h -- */
  24320. func Xgzseek(tls *libc.TLS, file TgzFile, offset Toff_t, whence int32) (r Toff_t) {
  24321. var ret Toff_t
  24322. var v1 int64
  24323. _, _ = ret, v1
  24324. ret = Xgzseek64(tls, file, offset, whence)
  24325. if ret == ret {
  24326. v1 = ret
  24327. } else {
  24328. v1 = int64(-int32(1))
  24329. }
  24330. return v1
  24331. }
  24332. // C documentation
  24333. //
  24334. // /* -- see zlib.h -- */
  24335. func Xgztell64(tls *libc.TLS, file TgzFile) (r Toff_t) {
  24336. var state Tgz_statep
  24337. var v1 int64
  24338. _, _ = state, v1
  24339. /* get internal structure and check integrity */
  24340. if file == libc.UintptrFromInt32(0) {
  24341. return int64(-int32(1))
  24342. }
  24343. state = file
  24344. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24345. return int64(-int32(1))
  24346. }
  24347. /* return position */
  24348. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24349. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fskip
  24350. } else {
  24351. v1 = 0
  24352. }
  24353. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos + v1
  24354. }
  24355. // C documentation
  24356. //
  24357. // /* -- see zlib.h -- */
  24358. func Xgztell(tls *libc.TLS, file TgzFile) (r Toff_t) {
  24359. var ret Toff_t
  24360. var v1 int64
  24361. _, _ = ret, v1
  24362. ret = Xgztell64(tls, file)
  24363. if ret == ret {
  24364. v1 = ret
  24365. } else {
  24366. v1 = int64(-int32(1))
  24367. }
  24368. return v1
  24369. }
  24370. // C documentation
  24371. //
  24372. // /* -- see zlib.h -- */
  24373. func Xgzoffset64(tls *libc.TLS, file TgzFile) (r Toff_t) {
  24374. var offset Toff_t
  24375. var state Tgz_statep
  24376. _, _ = offset, state
  24377. /* get internal structure and check integrity */
  24378. if file == libc.UintptrFromInt32(0) {
  24379. return int64(-int32(1))
  24380. }
  24381. state = file
  24382. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24383. return int64(-int32(1))
  24384. }
  24385. /* compute and return effective offset in file */
  24386. offset = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(m_SEEK_CUR))
  24387. if offset == int64(-int32(1)) {
  24388. return int64(-int32(1))
  24389. }
  24390. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) { /* reading */
  24391. offset -= libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in)
  24392. } /* don't count buffered input */
  24393. return offset
  24394. }
  24395. // C documentation
  24396. //
  24397. // /* -- see zlib.h -- */
  24398. func Xgzoffset(tls *libc.TLS, file TgzFile) (r Toff_t) {
  24399. var ret Toff_t
  24400. var v1 int64
  24401. _, _ = ret, v1
  24402. ret = Xgzoffset64(tls, file)
  24403. if ret == ret {
  24404. v1 = ret
  24405. } else {
  24406. v1 = int64(-int32(1))
  24407. }
  24408. return v1
  24409. }
  24410. // C documentation
  24411. //
  24412. // /* -- see zlib.h -- */
  24413. func Xgzeof(tls *libc.TLS, file TgzFile) (r int32) {
  24414. var state Tgz_statep
  24415. var v1 int32
  24416. _, _ = state, v1
  24417. /* get internal structure and check integrity */
  24418. if file == libc.UintptrFromInt32(0) {
  24419. return 0
  24420. }
  24421. state = file
  24422. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24423. return 0
  24424. }
  24425. /* return end-of-file state */
  24426. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  24427. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fpast
  24428. } else {
  24429. v1 = 0
  24430. }
  24431. return v1
  24432. }
  24433. // C documentation
  24434. //
  24435. // /* -- see zlib.h -- */
  24436. func Xgzerror(tls *libc.TLS, file TgzFile, errnum uintptr) (r uintptr) {
  24437. var state Tgz_statep
  24438. var v1, v2 uintptr
  24439. _, _, _ = state, v1, v2
  24440. /* get internal structure and check integrity */
  24441. if file == libc.UintptrFromInt32(0) {
  24442. return libc.UintptrFromInt32(0)
  24443. }
  24444. state = file
  24445. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24446. return libc.UintptrFromInt32(0)
  24447. }
  24448. /* return error information */
  24449. if errnum != libc.UintptrFromInt32(0) {
  24450. *(*int32)(unsafe.Pointer(errnum)) = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24451. }
  24452. if (*Tgz_state)(unsafe.Pointer(state)).Ferr == -int32(4) {
  24453. v1 = __ccgo_ts + 595
  24454. } else {
  24455. if (*Tgz_state)(unsafe.Pointer(state)).Fmsg == libc.UintptrFromInt32(0) {
  24456. v2 = __ccgo_ts + 494
  24457. } else {
  24458. v2 = (*Tgz_state)(unsafe.Pointer(state)).Fmsg
  24459. }
  24460. v1 = v2
  24461. }
  24462. return v1
  24463. }
  24464. // C documentation
  24465. //
  24466. // /* -- see zlib.h -- */
  24467. func Xgzclearerr(tls *libc.TLS, file TgzFile) {
  24468. var state Tgz_statep
  24469. _ = state
  24470. /* get internal structure and check integrity */
  24471. if file == libc.UintptrFromInt32(0) {
  24472. return
  24473. }
  24474. state = file
  24475. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24476. return
  24477. }
  24478. /* clear error and end-of-file */
  24479. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  24480. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0
  24481. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  24482. }
  24483. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  24484. }
  24485. // C documentation
  24486. //
  24487. // /* Create an error message in allocated memory and set state->err and
  24488. // state->msg accordingly. Free any previous error message already there. Do
  24489. // not try to free or allocate space if the error is Z_MEM_ERROR (out of
  24490. // memory). Simply save the error message as a static string. If there is an
  24491. // allocation failure constructing the error message, then convert the error to
  24492. // out of memory. */
  24493. func Xgz_error(tls *libc.TLS, state Tgz_statep, err int32, msg uintptr) {
  24494. bp := tls.Alloc(32)
  24495. defer tls.Free(32)
  24496. var v1 uintptr
  24497. _ = v1
  24498. /* free previously allocated message and clear */
  24499. if (*Tgz_state)(unsafe.Pointer(state)).Fmsg != libc.UintptrFromInt32(0) {
  24500. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(4) {
  24501. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fmsg)
  24502. }
  24503. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = libc.UintptrFromInt32(0)
  24504. }
  24505. /* if fatal, set state->x.have to 0 so that the gzgetc() macro fails */
  24506. if err != m_Z_OK && err != -int32(5) {
  24507. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  24508. }
  24509. /* set error code, and if no message, then done */
  24510. (*Tgz_state)(unsafe.Pointer(state)).Ferr = err
  24511. if msg == libc.UintptrFromInt32(0) {
  24512. return
  24513. }
  24514. /* for an out of memory error, return literal string when requested */
  24515. if err == -int32(4) {
  24516. return
  24517. }
  24518. /* construct error message with path */
  24519. v1 = libc.Xmalloc(tls, libc.Xstrlen(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3))
  24520. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = v1
  24521. if v1 == libc.UintptrFromInt32(0) {
  24522. (*Tgz_state)(unsafe.Pointer(state)).Ferr = -int32(4)
  24523. return
  24524. }
  24525. libc.X__builtin___snprintf_chk(tls, (*Tgz_state)(unsafe.Pointer(state)).Fmsg, libc.Xstrlen(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3), 0, ^t__predefined_size_t(0), __ccgo_ts+609, libc.VaList(bp+8, (*Tgz_state)(unsafe.Pointer(state)).Fpath, __ccgo_ts+616, msg))
  24526. }
  24527. // C documentation
  24528. //
  24529. // /* portably return maximum value for an int (when limits.h presumed not
  24530. // available) -- we need to do this to cover cases where 2's complement not
  24531. // used, since C standard permits 1's complement and sign-bit representations,
  24532. // otherwise we could just use ((unsigned)-1) >> 1 */
  24533. func Xgz_intmax(tls *libc.TLS) (r uint32) {
  24534. return uint32(m___INT_MAX__)
  24535. }
  24536. const m_O_APPEND2 = 0x00000008
  24537. const m_O_CLOEXEC2 = 0x01000000
  24538. const m_O_CREAT2 = 0x00000200
  24539. const m_O_EXCL2 = 0x00000800
  24540. const m_O_RDONLY2 = 0x0000
  24541. const m_O_TRUNC2 = 0x00000400
  24542. const m_O_WRONLY2 = 0x0001
  24543. // C documentation
  24544. //
  24545. // /* Use read() to load a buffer -- return -1 on error, otherwise 0. Read from
  24546. // state->fd, and update state->eof, state->err, and state->msg as appropriate.
  24547. // This function needs to loop on read(), since read() is not guaranteed to
  24548. // read the number of bytes requested, depending on the type of descriptor. */
  24549. func _gz_load(tls *libc.TLS, state Tgz_statep, buf uintptr, len1 uint32, have uintptr) (r int32) {
  24550. var get, max uint32
  24551. var ret int32
  24552. _, _, _ = get, max, ret
  24553. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))>>libc.Int32FromInt32(2) + libc.Uint32FromInt32(1)
  24554. *(*uint32)(unsafe.Pointer(have)) = uint32(0)
  24555. for cond := true; cond; cond = *(*uint32)(unsafe.Pointer(have)) < len1 {
  24556. get = len1 - *(*uint32)(unsafe.Pointer(have))
  24557. if get > max {
  24558. get = max
  24559. }
  24560. ret = int32(libc.Xread(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, buf+uintptr(*(*uint32)(unsafe.Pointer(have))), uint64(get)))
  24561. if ret <= 0 {
  24562. break
  24563. }
  24564. *(*uint32)(unsafe.Pointer(have)) += libc.Uint32FromInt32(ret)
  24565. }
  24566. if ret < 0 {
  24567. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
  24568. return -int32(1)
  24569. }
  24570. if ret == 0 {
  24571. (*Tgz_state)(unsafe.Pointer(state)).Feof = int32(1)
  24572. }
  24573. return 0
  24574. }
  24575. // C documentation
  24576. //
  24577. // /* Load up input buffer and set eof flag if last data loaded -- return -1 on
  24578. // error, 0 otherwise. Note that the eof flag is set when the end of the input
  24579. // file is reached, even though there may be unused data in the buffer. Once
  24580. // that data has been used, no more attempts will be made to read the file.
  24581. // If strm->avail_in != 0, then the current data is moved to the beginning of
  24582. // the input buffer, and then the remainder of the buffer is loaded with the
  24583. // available data from the input file. */
  24584. func _gz_avail(tls *libc.TLS, state Tgz_statep) (r int32) {
  24585. bp := tls.Alloc(16)
  24586. defer tls.Free(16)
  24587. var n, v1 uint32
  24588. var p, q, v3, v4 uintptr
  24589. var strm Tz_streamp
  24590. var _ /* got at bp+0 */ uint32
  24591. _, _, _, _, _, _, _ = n, p, q, strm, v1, v3, v4
  24592. strm = state + 128
  24593. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  24594. return -int32(1)
  24595. }
  24596. if (*Tgz_state)(unsafe.Pointer(state)).Feof == 0 {
  24597. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 { /* copy what's there to the start */
  24598. p = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24599. q = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  24600. n = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  24601. for {
  24602. v3 = p
  24603. p++
  24604. v4 = q
  24605. q++
  24606. *(*uint8)(unsafe.Pointer(v3)) = *(*uint8)(unsafe.Pointer(v4))
  24607. goto _2
  24608. _2:
  24609. ;
  24610. n--
  24611. v1 = n
  24612. if !(v1 != 0) {
  24613. break
  24614. }
  24615. }
  24616. }
  24617. if _gz_load(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in), (*Tgz_state)(unsafe.Pointer(state)).Fsize-(*Tz_stream)(unsafe.Pointer(strm)).Favail_in, bp) == -int32(1) {
  24618. return -int32(1)
  24619. }
  24620. *(*TuInt)(unsafe.Pointer(strm + 8)) += *(*uint32)(unsafe.Pointer(bp))
  24621. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24622. }
  24623. return 0
  24624. }
  24625. // C documentation
  24626. //
  24627. // /* Look for gzip header, set up for inflate or copy. state->x.have must be 0.
  24628. // If this is the first time in, allocate required memory. state->how will be
  24629. // left unchanged if there is no more input data available, will be set to COPY
  24630. // if there is no gzip header and direct copying will be performed, or it will
  24631. // be set to GZIP for decompression. If direct copying, then leftover input
  24632. // data from the input buffer will be copied to the output buffer. In that
  24633. // case, all further file reads will be directly to either the output buffer or
  24634. // a user buffer. If decompressing, the inflate state will be initialized.
  24635. // gz_look() will return 0 on success or -1 on failure. */
  24636. func _gz_look(tls *libc.TLS, state Tgz_statep) (r int32) {
  24637. var strm Tz_streamp
  24638. _ = strm
  24639. strm = state + 128
  24640. /* allocate read buffers and inflate memory */
  24641. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) {
  24642. /* allocate buffers */
  24643. (*Tgz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant))
  24644. (*Tgz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant<<int32(1)))
  24645. if (*Tgz_state)(unsafe.Pointer(state)).Fin == libc.UintptrFromInt32(0) || (*Tgz_state)(unsafe.Pointer(state)).Fout == libc.UintptrFromInt32(0) {
  24646. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  24647. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  24648. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  24649. return -int32(1)
  24650. }
  24651. (*Tgz_state)(unsafe.Pointer(state)).Fsize = (*Tgz_state)(unsafe.Pointer(state)).Fwant
  24652. /* allocate inflate memory */
  24653. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fzalloc = uintptr(m_Z_NULL)
  24654. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fzfree = uintptr(m_Z_NULL)
  24655. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fopaque = uintptr(m_Z_NULL)
  24656. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0)
  24657. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = uintptr(m_Z_NULL)
  24658. if XinflateInit2_(tls, state+128, libc.Int32FromInt32(15)+libc.Int32FromInt32(16), __ccgo_ts, libc.Int32FromInt64(112)) != m_Z_OK { /* gunzip */
  24659. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  24660. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  24661. (*Tgz_state)(unsafe.Pointer(state)).Fsize = uint32(0)
  24662. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  24663. return -int32(1)
  24664. }
  24665. }
  24666. /* get at least the magic bytes in the input buffer */
  24667. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in < uint32(2) {
  24668. if _gz_avail(tls, state) == -int32(1) {
  24669. return -int32(1)
  24670. }
  24671. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  24672. return 0
  24673. }
  24674. }
  24675. /* look for gzip magic bytes -- if there, do gzip decoding (note: there is
  24676. a logical dilemma here when considering the case of a partially written
  24677. gzip file, to wit, if a single 31 byte is written, then we cannot tell
  24678. whether this is a single-byte file, or just a partially written gzip
  24679. file -- for here we assume that if a gzip file is being written, then
  24680. the header will be written in a single operation, so that reading a
  24681. single byte is sufficient indication that it is not a gzip file) */
  24682. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in > uint32(1) && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in))) == int32(31) && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in + 1))) == int32(139) {
  24683. XinflateReset(tls, strm)
  24684. (*Tgz_state)(unsafe.Pointer(state)).Fhow = int32(m_GZIP)
  24685. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = 0
  24686. return 0
  24687. }
  24688. /* no gzip header -- if we were decoding gzip before, then this is trailing
  24689. garbage. Ignore the trailing garbage and finish. */
  24690. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect == 0 {
  24691. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = uint32(0)
  24692. (*Tgz_state)(unsafe.Pointer(state)).Feof = int32(1)
  24693. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  24694. return 0
  24695. }
  24696. /* doing raw i/o, copy any leftover input to output -- this assumes that
  24697. the output buffer is larger than the input buffer, which also assures
  24698. space for gzungetc() */
  24699. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  24700. libc.X__builtin___memcpy_chk(tls, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64((*Tz_stream)(unsafe.Pointer(strm)).Favail_in), ^t__predefined_size_t(0))
  24701. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  24702. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = uint32(0)
  24703. (*Tgz_state)(unsafe.Pointer(state)).Fhow = int32(m_COPY)
  24704. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1)
  24705. return 0
  24706. }
  24707. // C documentation
  24708. //
  24709. // /* Decompress from input to the provided next_out and avail_out in the state.
  24710. // On return, state->x.have and state->x.next point to the just decompressed
  24711. // data. If the gzip stream completes, state->how is reset to LOOK to look for
  24712. // the next gzip stream or raw data, once state->x.have is depleted. Returns 0
  24713. // on success, -1 on failure. */
  24714. func _gz_decomp(tls *libc.TLS, state Tgz_statep) (r int32) {
  24715. var had uint32
  24716. var ret int32
  24717. var strm Tz_streamp
  24718. var v1 uintptr
  24719. _, _, _, _ = had, ret, strm, v1
  24720. ret = m_Z_OK
  24721. strm = state + 128
  24722. /* fill output buffer up to end of deflate stream */
  24723. had = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  24724. for cond := true; cond; cond = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out != 0 && ret != int32(m_Z_STREAM_END) {
  24725. /* get more input for inflate() */
  24726. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) && _gz_avail(tls, state) == -int32(1) {
  24727. return -int32(1)
  24728. }
  24729. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  24730. Xgz_error(tls, state, -int32(5), __ccgo_ts+619)
  24731. break
  24732. }
  24733. /* decompress and handle errors */
  24734. ret = Xinflate(tls, strm, m_Z_NO_FLUSH)
  24735. if ret == -int32(2) || ret == int32(m_Z_NEED_DICT) {
  24736. Xgz_error(tls, state, -int32(2), __ccgo_ts+642)
  24737. return -int32(1)
  24738. }
  24739. if ret == -int32(4) {
  24740. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  24741. return -int32(1)
  24742. }
  24743. if ret == -int32(3) { /* deflate stream invalid */
  24744. if (*Tz_stream)(unsafe.Pointer(strm)).Fmsg == libc.UintptrFromInt32(0) {
  24745. v1 = __ccgo_ts + 681
  24746. } else {
  24747. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Fmsg
  24748. }
  24749. Xgz_error(tls, state, -int32(3), v1)
  24750. return -int32(1)
  24751. }
  24752. }
  24753. /* update available output */
  24754. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = had - (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  24755. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out - uintptr((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave)
  24756. /* if the gzip stream completed successfully, look for another */
  24757. if ret == int32(m_Z_STREAM_END) {
  24758. (*Tgz_state)(unsafe.Pointer(state)).Fhow = m_LOOK
  24759. }
  24760. /* good decompression */
  24761. return 0
  24762. }
  24763. // C documentation
  24764. //
  24765. // /* Fetch data and put it in the output buffer. Assumes state->x.have is 0.
  24766. // Data is either copied from the input file or decompressed from the input
  24767. // file depending on state->how. If state->how is LOOK, then a gzip header is
  24768. // looked for to determine whether to copy or decompress. Returns -1 on error,
  24769. // otherwise 0. gz_fetch() will leave state->how as COPY or GZIP unless the
  24770. // end of the input file has been reached and all data has been processed. */
  24771. func _gz_fetch(tls *libc.TLS, state Tgz_statep) (r int32) {
  24772. var strm Tz_streamp
  24773. _ = strm
  24774. strm = state + 128
  24775. for cond := true; cond; cond = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && (!((*Tgz_state)(unsafe.Pointer(state)).Feof != 0) || (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0) {
  24776. switch (*Tgz_state)(unsafe.Pointer(state)).Fhow {
  24777. case m_LOOK: /* -> LOOK, COPY (only if never GZIP), or GZIP */
  24778. if _gz_look(tls, state) == -int32(1) {
  24779. return -int32(1)
  24780. }
  24781. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK {
  24782. return 0
  24783. }
  24784. case int32(m_COPY): /* -> COPY */
  24785. if _gz_load(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fout, (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1), state) == -int32(1) {
  24786. return -int32(1)
  24787. }
  24788. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  24789. return 0
  24790. case int32(m_GZIP): /* -> GZIP or LOOK (if end of gzip stream) */
  24791. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize << int32(1)
  24792. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  24793. if _gz_decomp(tls, state) == -int32(1) {
  24794. return -int32(1)
  24795. }
  24796. }
  24797. }
  24798. return 0
  24799. }
  24800. // C documentation
  24801. //
  24802. // /* Skip len uncompressed bytes of output. Return -1 on error, 0 on success. */
  24803. func _gz_skip(tls *libc.TLS, state Tgz_statep, len1 Toff_t) (r int32) {
  24804. var n, v1 uint32
  24805. _, _ = n, v1
  24806. /* skip over len bytes or reach end-of-file, whichever comes first */
  24807. for len1 != 0 {
  24808. /* skip over whatever is in output buffer */
  24809. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  24810. if libc.Bool(libc.Bool(uint64(4) == uint64(8)) && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > Xgz_intmax(tls)) || libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave) > len1 {
  24811. v1 = libc.Uint32FromInt64(len1)
  24812. } else {
  24813. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  24814. }
  24815. n = v1
  24816. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  24817. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  24818. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  24819. len1 -= libc.Int64FromUint32(n)
  24820. } else {
  24821. if (*Tgz_state)(unsafe.Pointer(state)).Feof != 0 && (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  24822. break
  24823. } else {
  24824. /* get more output, looking for header if required */
  24825. if _gz_fetch(tls, state) == -int32(1) {
  24826. return -int32(1)
  24827. }
  24828. }
  24829. }
  24830. }
  24831. return 0
  24832. }
  24833. // C documentation
  24834. //
  24835. // /* Read len bytes into buf from file, or less than len up to the end of the
  24836. // input. Return the number of bytes read. If zero is returned, either the
  24837. // end of file was reached, or there was an error. state->err must be
  24838. // consulted in that case to determine which. */
  24839. func _gz_read(tls *libc.TLS, state Tgz_statep, buf Tvoidp, len1 Tz_size_t) (r Tz_size_t) {
  24840. bp := tls.Alloc(16)
  24841. defer tls.Free(16)
  24842. var got Tz_size_t
  24843. var _ /* n at bp+0 */ uint32
  24844. _ = got
  24845. /* if len is zero, avoid unnecessary operations */
  24846. if len1 == uint64(0) {
  24847. return uint64(0)
  24848. }
  24849. /* process a skip request */
  24850. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24851. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24852. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24853. return uint64(0)
  24854. }
  24855. }
  24856. /* get len bytes to buf, or less than len if at the end */
  24857. got = uint64(0)
  24858. for cond := true; cond; cond = len1 != 0 {
  24859. /* set n to the maximum amount of len that fits in an unsigned int */
  24860. *(*uint32)(unsafe.Pointer(bp)) = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  24861. if uint64(*(*uint32)(unsafe.Pointer(bp))) > len1 {
  24862. *(*uint32)(unsafe.Pointer(bp)) = uint32(len1)
  24863. }
  24864. /* first just try copying data from the output buffer */
  24865. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  24866. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave < *(*uint32)(unsafe.Pointer(bp)) {
  24867. *(*uint32)(unsafe.Pointer(bp)) = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  24868. }
  24869. libc.X__builtin___memcpy_chk(tls, buf, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(*(*uint32)(unsafe.Pointer(bp))), ^t__predefined_size_t(0))
  24870. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(*(*uint32)(unsafe.Pointer(bp)))
  24871. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= *(*uint32)(unsafe.Pointer(bp))
  24872. } else {
  24873. if (*Tgz_state)(unsafe.Pointer(state)).Feof != 0 && (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  24874. (*Tgz_state)(unsafe.Pointer(state)).Fpast = int32(1) /* tried to read past end */
  24875. break
  24876. } else {
  24877. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK || *(*uint32)(unsafe.Pointer(bp)) < (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1) {
  24878. /* get more output, looking for header if required */
  24879. if _gz_fetch(tls, state) == -int32(1) {
  24880. return uint64(0)
  24881. }
  24882. continue /* no progress yet -- go back to copy above */
  24883. /* the copy above assures that we will leave with space in the
  24884. output buffer, allowing at least one gzungetc() to succeed */
  24885. } else {
  24886. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == int32(m_COPY) { /* read directly */
  24887. if _gz_load(tls, state, buf, *(*uint32)(unsafe.Pointer(bp)), bp) == -int32(1) {
  24888. return uint64(0)
  24889. }
  24890. } else { /* state->how == GZIP */
  24891. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_out = *(*uint32)(unsafe.Pointer(bp))
  24892. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_out = buf
  24893. if _gz_decomp(tls, state) == -int32(1) {
  24894. return uint64(0)
  24895. }
  24896. *(*uint32)(unsafe.Pointer(bp)) = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  24897. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  24898. }
  24899. }
  24900. }
  24901. }
  24902. /* update progress */
  24903. len1 -= uint64(*(*uint32)(unsafe.Pointer(bp)))
  24904. buf = buf + uintptr(*(*uint32)(unsafe.Pointer(bp)))
  24905. got += uint64(*(*uint32)(unsafe.Pointer(bp)))
  24906. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(*(*uint32)(unsafe.Pointer(bp)))
  24907. }
  24908. /* return number of bytes read into user buffer */
  24909. return got
  24910. }
  24911. // C documentation
  24912. //
  24913. // /* -- see zlib.h -- */
  24914. func Xgzread(tls *libc.TLS, file TgzFile, buf Tvoidp, len1 uint32) (r int32) {
  24915. var state Tgz_statep
  24916. _ = state
  24917. /* get internal structure */
  24918. if file == libc.UintptrFromInt32(0) {
  24919. return -int32(1)
  24920. }
  24921. state = file
  24922. /* check that we're reading and that there's no (serious) error */
  24923. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  24924. return -int32(1)
  24925. }
  24926. /* since an int is returned, make sure len fits in one, otherwise return
  24927. with an error (this avoids a flaw in the interface) */
  24928. if libc.Int32FromUint32(len1) < 0 {
  24929. Xgz_error(tls, state, -int32(2), __ccgo_ts+703)
  24930. return -int32(1)
  24931. }
  24932. /* read len or fewer bytes to buf */
  24933. len1 = uint32(_gz_read(tls, state, buf, uint64(len1)))
  24934. /* check for an error */
  24935. if len1 == uint32(0) && (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  24936. return -int32(1)
  24937. }
  24938. /* return the number of bytes read (this is assured to fit in an int) */
  24939. return libc.Int32FromUint32(len1)
  24940. }
  24941. // C documentation
  24942. //
  24943. // /* -- see zlib.h -- */
  24944. func Xgzfread(tls *libc.TLS, buf Tvoidp, size Tz_size_t, nitems Tz_size_t, file TgzFile) (r Tz_size_t) {
  24945. var len1 Tz_size_t
  24946. var state Tgz_statep
  24947. var v1 uint64
  24948. _, _, _ = len1, state, v1
  24949. /* get internal structure */
  24950. if file == libc.UintptrFromInt32(0) {
  24951. return uint64(0)
  24952. }
  24953. state = file
  24954. /* check that we're reading and that there's no (serious) error */
  24955. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  24956. return uint64(0)
  24957. }
  24958. /* compute bytes to read -- error on overflow */
  24959. len1 = nitems * size
  24960. if size != 0 && len1/size != nitems {
  24961. Xgz_error(tls, state, -int32(2), __ccgo_ts+734)
  24962. return uint64(0)
  24963. }
  24964. /* read len or fewer bytes to buf, return the number of full items read */
  24965. if len1 != 0 {
  24966. v1 = _gz_read(tls, state, buf, len1) / size
  24967. } else {
  24968. v1 = uint64(0)
  24969. }
  24970. return v1
  24971. }
  24972. // C documentation
  24973. //
  24974. // /* -- see zlib.h -- */
  24975. func Xgzgetc(tls *libc.TLS, file TgzFile) (r int32) {
  24976. bp := tls.Alloc(16)
  24977. defer tls.Free(16)
  24978. var state Tgz_statep
  24979. var v1, v2 uintptr
  24980. var v3 int32
  24981. var _ /* buf at bp+0 */ [1]uint8
  24982. _, _, _, _ = state, v1, v2, v3
  24983. /* get internal structure */
  24984. if file == libc.UintptrFromInt32(0) {
  24985. return -int32(1)
  24986. }
  24987. state = file
  24988. /* check that we're reading and that there's no (serious) error */
  24989. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  24990. return -int32(1)
  24991. }
  24992. /* try output buffer (no need to check for skip request) */
  24993. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  24994. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave--
  24995. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos++
  24996. v2 = state + 8
  24997. v1 = *(*uintptr)(unsafe.Pointer(v2))
  24998. *(*uintptr)(unsafe.Pointer(v2))++
  24999. return libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(v1)))
  25000. }
  25001. /* nothing there -- try gz_read() */
  25002. if _gz_read(tls, state, bp, uint64(1)) < uint64(1) {
  25003. v3 = -int32(1)
  25004. } else {
  25005. v3 = libc.Int32FromUint8((*(*[1]uint8)(unsafe.Pointer(bp)))[0])
  25006. }
  25007. return v3
  25008. }
  25009. func Xgzgetc_(tls *libc.TLS, file TgzFile) (r int32) {
  25010. return Xgzgetc(tls, file)
  25011. }
  25012. // C documentation
  25013. //
  25014. // /* -- see zlib.h -- */
  25015. func Xgzungetc(tls *libc.TLS, c int32, file TgzFile) (r int32) {
  25016. var dest, src, v1, v2 uintptr
  25017. var state Tgz_statep
  25018. _, _, _, _, _ = dest, src, state, v1, v2
  25019. /* get internal structure */
  25020. if file == libc.UintptrFromInt32(0) {
  25021. return -int32(1)
  25022. }
  25023. state = file
  25024. /* in case this was just opened, set up the input buffer */
  25025. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
  25026. _gz_look(tls, state)
  25027. }
  25028. /* check that we're reading and that there's no (serious) error */
  25029. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  25030. return -int32(1)
  25031. }
  25032. /* process a skip request */
  25033. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  25034. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  25035. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  25036. return -int32(1)
  25037. }
  25038. }
  25039. /* can't push EOF */
  25040. if c < 0 {
  25041. return -int32(1)
  25042. }
  25043. /* if output buffer empty, put byte at end (allows more pushing) */
  25044. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
  25045. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(1)
  25046. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize<<libc.Int32FromInt32(1)) - uintptr(1)
  25047. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) = libc.Uint8FromInt32(c)
  25048. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos--
  25049. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  25050. return c
  25051. }
  25052. /* if no room, give up (must have already done a gzungetc()) */
  25053. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1) {
  25054. Xgz_error(tls, state, -int32(3), __ccgo_ts+767)
  25055. return -int32(1)
  25056. }
  25057. /* slide output data if needed and insert byte before existing data */
  25058. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext == (*Tgz_state)(unsafe.Pointer(state)).Fout {
  25059. src = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave)
  25060. dest = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize<<libc.Int32FromInt32(1))
  25061. for src > (*Tgz_state)(unsafe.Pointer(state)).Fout {
  25062. dest--
  25063. v1 = dest
  25064. src--
  25065. v2 = src
  25066. *(*uint8)(unsafe.Pointer(v1)) = *(*uint8)(unsafe.Pointer(v2))
  25067. }
  25068. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = dest
  25069. }
  25070. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave++
  25071. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext--
  25072. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) = libc.Uint8FromInt32(c)
  25073. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos--
  25074. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  25075. return c
  25076. }
  25077. // C documentation
  25078. //
  25079. // /* -- see zlib.h -- */
  25080. func Xgzgets(tls *libc.TLS, file TgzFile, buf uintptr, len1 int32) (r uintptr) {
  25081. var eol, str uintptr
  25082. var left, n, v1 uint32
  25083. var state Tgz_statep
  25084. _, _, _, _, _, _ = eol, left, n, state, str, v1
  25085. /* check parameters and get internal structure */
  25086. if file == libc.UintptrFromInt32(0) || buf == libc.UintptrFromInt32(0) || len1 < int32(1) {
  25087. return libc.UintptrFromInt32(0)
  25088. }
  25089. state = file
  25090. /* check that we're reading and that there's no (serious) error */
  25091. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  25092. return libc.UintptrFromInt32(0)
  25093. }
  25094. /* process a skip request */
  25095. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  25096. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  25097. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  25098. return libc.UintptrFromInt32(0)
  25099. }
  25100. }
  25101. /* copy output bytes up to new line or len - 1, whichever comes first --
  25102. append a terminating zero to the string (we don't check for a zero in
  25103. the contents, let the user worry about that) */
  25104. str = buf
  25105. left = libc.Uint32FromInt32(len1) - uint32(1)
  25106. if left != 0 {
  25107. for cond := true; cond; cond = left != 0 && eol == libc.UintptrFromInt32(0) {
  25108. /* assure that something is in the output buffer */
  25109. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && _gz_fetch(tls, state) == -int32(1) {
  25110. return libc.UintptrFromInt32(0)
  25111. } /* error */
  25112. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) { /* end of file */
  25113. (*Tgz_state)(unsafe.Pointer(state)).Fpast = int32(1) /* read past end */
  25114. break /* return what we have */
  25115. }
  25116. /* look for end-of-line in current output buffer */
  25117. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > left {
  25118. v1 = left
  25119. } else {
  25120. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  25121. }
  25122. n = v1
  25123. eol = libc.Xmemchr(tls, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, int32('\n'), uint64(n))
  25124. if eol != libc.UintptrFromInt32(0) {
  25125. n = libc.Uint32FromInt64(int64(eol)-int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) + uint32(1)
  25126. }
  25127. /* copy through end-of-line, or remainder if not found */
  25128. libc.X__builtin___memcpy_chk(tls, buf, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(n), ^t__predefined_size_t(0))
  25129. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  25130. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  25131. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  25132. left -= n
  25133. buf += uintptr(n)
  25134. }
  25135. }
  25136. /* return terminated string, or if nothing, end of file */
  25137. if buf == str {
  25138. return libc.UintptrFromInt32(0)
  25139. }
  25140. *(*int8)(unsafe.Pointer(buf)) = 0
  25141. return str
  25142. }
  25143. // C documentation
  25144. //
  25145. // /* -- see zlib.h -- */
  25146. func Xgzdirect(tls *libc.TLS, file TgzFile) (r int32) {
  25147. var state Tgz_statep
  25148. _ = state
  25149. /* get internal structure */
  25150. if file == libc.UintptrFromInt32(0) {
  25151. return 0
  25152. }
  25153. state = file
  25154. /* if the state is not known, but we can find out, then do so (this is
  25155. mainly for right after a gzopen() or gzdopen()) */
  25156. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
  25157. _gz_look(tls, state)
  25158. }
  25159. /* return 1 if transparent, 0 if processing a gzip stream */
  25160. return (*Tgz_state)(unsafe.Pointer(state)).Fdirect
  25161. }
  25162. // C documentation
  25163. //
  25164. // /* -- see zlib.h -- */
  25165. func Xgzclose_r(tls *libc.TLS, file TgzFile) (r int32) {
  25166. var err, ret, v1, v2 int32
  25167. var state Tgz_statep
  25168. _, _, _, _, _ = err, ret, state, v1, v2
  25169. /* get internal structure */
  25170. if file == libc.UintptrFromInt32(0) {
  25171. return -int32(2)
  25172. }
  25173. state = file
  25174. /* check that we're reading */
  25175. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) {
  25176. return -int32(2)
  25177. }
  25178. /* free memory and close file */
  25179. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  25180. XinflateEnd(tls, state+128)
  25181. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  25182. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  25183. }
  25184. if (*Tgz_state)(unsafe.Pointer(state)).Ferr == -int32(5) {
  25185. v1 = -int32(5)
  25186. } else {
  25187. v1 = m_Z_OK
  25188. }
  25189. err = v1
  25190. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  25191. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  25192. ret = libc.Xclose(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd)
  25193. libc.Xfree(tls, state)
  25194. if ret != 0 {
  25195. v2 = -int32(1)
  25196. } else {
  25197. v2 = err
  25198. }
  25199. return v2
  25200. }
  25201. // C documentation
  25202. //
  25203. // /* Initialize state for writing a gzip file. Mark initialization by setting
  25204. // state->size to non-zero. Return -1 on a memory allocation failure, or 0 on
  25205. // success. */
  25206. func _gz_init(tls *libc.TLS, state Tgz_statep) (r int32) {
  25207. var ret int32
  25208. var strm Tz_streamp
  25209. _, _ = ret, strm
  25210. strm = state + 128
  25211. /* allocate input buffer (double size for gzprintf) */
  25212. (*Tgz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant<<int32(1)))
  25213. if (*Tgz_state)(unsafe.Pointer(state)).Fin == libc.UintptrFromInt32(0) {
  25214. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  25215. return -int32(1)
  25216. }
  25217. /* only need output buffer and deflate state if compressing */
  25218. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  25219. /* allocate output buffer */
  25220. (*Tgz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant))
  25221. if (*Tgz_state)(unsafe.Pointer(state)).Fout == libc.UintptrFromInt32(0) {
  25222. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  25223. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  25224. return -int32(1)
  25225. }
  25226. /* allocate deflate memory, set up for gzip compression */
  25227. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = uintptr(m_Z_NULL)
  25228. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = uintptr(m_Z_NULL)
  25229. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = uintptr(m_Z_NULL)
  25230. ret = XdeflateInit2_(tls, strm, (*Tgz_state)(unsafe.Pointer(state)).Flevel, int32(m_Z_DEFLATED), libc.Int32FromInt32(m_MAX_WBITS)+libc.Int32FromInt32(16), int32(m_DEF_MEM_LEVEL), (*Tgz_state)(unsafe.Pointer(state)).Fstrategy, __ccgo_ts, libc.Int32FromInt64(112))
  25231. if ret != m_Z_OK {
  25232. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  25233. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  25234. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  25235. return -int32(1)
  25236. }
  25237. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = libc.UintptrFromInt32(0)
  25238. }
  25239. /* mark state as initialized */
  25240. (*Tgz_state)(unsafe.Pointer(state)).Fsize = (*Tgz_state)(unsafe.Pointer(state)).Fwant
  25241. /* initialize write buffer if compressing */
  25242. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  25243. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  25244. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  25245. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  25246. }
  25247. return 0
  25248. }
  25249. // C documentation
  25250. //
  25251. // /* Compress whatever is at avail_in and next_in and write to the output file.
  25252. // Return -1 if there is an error writing to the output file or if gz_init()
  25253. // fails to allocate memory, otherwise 0. flush is assumed to be a valid
  25254. // deflate() flush value. If flush is Z_FINISH, then the deflate() state is
  25255. // reset to start a new gzip stream. If gz->direct is true, then simply write
  25256. // to the output file without compressing, and ignore flush. */
  25257. func _gz_comp(tls *libc.TLS, state Tgz_statep, flush int32) (r int32) {
  25258. var have, max, put, v1, v2 uint32
  25259. var ret, writ int32
  25260. var strm Tz_streamp
  25261. _, _, _, _, _, _, _, _ = have, max, put, ret, strm, writ, v1, v2
  25262. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))>>libc.Int32FromInt32(2) + libc.Uint32FromInt32(1)
  25263. strm = state + 128
  25264. /* allocate memory if this is the first time through */
  25265. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  25266. return -int32(1)
  25267. }
  25268. /* write directly if requested */
  25269. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  25270. for (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 {
  25271. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in > max {
  25272. v1 = max
  25273. } else {
  25274. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  25275. }
  25276. put = v1
  25277. writ = int32(libc.Xwrite(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(put)))
  25278. if writ < 0 {
  25279. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
  25280. return -int32(1)
  25281. }
  25282. *(*TuInt)(unsafe.Pointer(strm + 8)) -= libc.Uint32FromInt32(writ)
  25283. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(writ)
  25284. }
  25285. return 0
  25286. }
  25287. /* check for a pending reset */
  25288. if (*Tgz_state)(unsafe.Pointer(state)).Freset != 0 {
  25289. /* don't start a new gzip member unless there is data to write */
  25290. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  25291. return 0
  25292. }
  25293. XdeflateReset(tls, strm)
  25294. (*Tgz_state)(unsafe.Pointer(state)).Freset = 0
  25295. }
  25296. /* run deflate() on provided input until it produces no more output */
  25297. ret = m_Z_OK
  25298. for cond := true; cond; cond = have != 0 {
  25299. /* write out current buffer contents if full, or if flushing, but if
  25300. doing Z_FINISH then don't write until we get to Z_STREAM_END */
  25301. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) || flush != m_Z_NO_FLUSH && (flush != int32(m_Z_FINISH) || ret == int32(m_Z_STREAM_END)) {
  25302. for (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out > (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext {
  25303. if int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_out)-int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext) > int64(libc.Int32FromUint32(max)) {
  25304. v2 = max
  25305. } else {
  25306. v2 = libc.Uint32FromInt64(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_out) - int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext))
  25307. }
  25308. put = v2
  25309. writ = int32(libc.Xwrite(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(put)))
  25310. if writ < 0 {
  25311. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
  25312. return -int32(1)
  25313. }
  25314. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(writ)
  25315. }
  25316. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  25317. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  25318. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  25319. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  25320. }
  25321. }
  25322. /* compress */
  25323. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  25324. ret = Xdeflate(tls, strm, flush)
  25325. if ret == -int32(2) {
  25326. Xgz_error(tls, state, -int32(2), __ccgo_ts+798)
  25327. return -int32(1)
  25328. }
  25329. have -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  25330. }
  25331. /* if that completed a deflate stream, allow another to start */
  25332. if flush == int32(m_Z_FINISH) {
  25333. (*Tgz_state)(unsafe.Pointer(state)).Freset = int32(1)
  25334. }
  25335. /* all done, no errors */
  25336. return 0
  25337. }
  25338. // C documentation
  25339. //
  25340. // /* Compress len zeros to output. Return -1 on a write error or memory
  25341. // allocation failure by gz_comp(), or 0 on success. */
  25342. func _gz_zero(tls *libc.TLS, state Tgz_statep, len1 Toff_t) (r int32) {
  25343. var first int32
  25344. var n, v1 uint32
  25345. var strm Tz_streamp
  25346. _, _, _, _ = first, n, strm, v1
  25347. strm = state + 128
  25348. /* consume whatever's left in the input buffer */
  25349. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  25350. return -int32(1)
  25351. }
  25352. /* compress len zeros (len guaranteed > 0) */
  25353. first = int32(1)
  25354. for len1 != 0 {
  25355. if libc.Bool(libc.Bool(uint64(4) == uint64(8)) && (*Tgz_state)(unsafe.Pointer(state)).Fsize > Xgz_intmax(tls)) || libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fsize) > len1 {
  25356. v1 = libc.Uint32FromInt64(len1)
  25357. } else {
  25358. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  25359. }
  25360. n = v1
  25361. if first != 0 {
  25362. libc.X__builtin___memset_chk(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin, 0, uint64(n), ^t__predefined_size_t(0))
  25363. first = 0
  25364. }
  25365. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = n
  25366. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  25367. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  25368. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  25369. return -int32(1)
  25370. }
  25371. len1 -= libc.Int64FromUint32(n)
  25372. }
  25373. return 0
  25374. }
  25375. // C documentation
  25376. //
  25377. // /* Write len bytes from buf to file. Return the number of bytes written. If
  25378. // the returned value is less than len, then there was an error. */
  25379. func _gz_write(tls *libc.TLS, state Tgz_statep, buf Tvoidpc, len1 Tz_size_t) (r Tz_size_t) {
  25380. var copy1, have, n uint32
  25381. var put Tz_size_t
  25382. _, _, _, _ = copy1, have, n, put
  25383. put = len1
  25384. /* if len is zero, avoid unnecessary operations */
  25385. if len1 == uint64(0) {
  25386. return uint64(0)
  25387. }
  25388. /* allocate memory if this is the first time through */
  25389. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  25390. return uint64(0)
  25391. }
  25392. /* check for seek request */
  25393. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  25394. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  25395. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  25396. return uint64(0)
  25397. }
  25398. }
  25399. /* for small len, copy to input buffer, otherwise compress directly */
  25400. if len1 < uint64((*Tgz_state)(unsafe.Pointer(state)).Fsize) {
  25401. /* copy to input buffer, compress when full */
  25402. for cond := true; cond; cond = len1 != 0 {
  25403. if (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  25404. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  25405. }
  25406. have = libc.Uint32FromInt64(int64((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in+uintptr((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in)) - int64((*Tgz_state)(unsafe.Pointer(state)).Fin))
  25407. copy1 = (*Tgz_state)(unsafe.Pointer(state)).Fsize - have
  25408. if uint64(copy1) > len1 {
  25409. copy1 = uint32(len1)
  25410. }
  25411. libc.X__builtin___memcpy_chk(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr(have), buf, uint64(copy1), ^t__predefined_size_t(0))
  25412. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in += copy1
  25413. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(copy1)
  25414. buf = buf + uintptr(copy1)
  25415. len1 -= uint64(copy1)
  25416. if len1 != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  25417. return uint64(0)
  25418. }
  25419. }
  25420. } else {
  25421. /* consume whatever's left in the input buffer */
  25422. if (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  25423. return uint64(0)
  25424. }
  25425. /* directly compress user buffer to file */
  25426. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = buf
  25427. for cond := true; cond; cond = len1 != 0 {
  25428. n = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  25429. if uint64(n) > len1 {
  25430. n = uint32(len1)
  25431. }
  25432. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = n
  25433. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  25434. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  25435. return uint64(0)
  25436. }
  25437. len1 -= uint64(n)
  25438. }
  25439. }
  25440. /* input was all buffered or compressed */
  25441. return put
  25442. }
  25443. // C documentation
  25444. //
  25445. // /* -- see zlib.h -- */
  25446. func Xgzwrite(tls *libc.TLS, file TgzFile, buf Tvoidpc, len1 uint32) (r int32) {
  25447. var state Tgz_statep
  25448. _ = state
  25449. /* get internal structure */
  25450. if file == libc.UintptrFromInt32(0) {
  25451. return 0
  25452. }
  25453. state = file
  25454. /* check that we're writing and that there's no error */
  25455. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  25456. return 0
  25457. }
  25458. /* since an int is returned, make sure len fits in one, otherwise return
  25459. with an error (this avoids a flaw in the interface) */
  25460. if libc.Int32FromUint32(len1) < 0 {
  25461. Xgz_error(tls, state, -int32(3), __ccgo_ts+837)
  25462. return 0
  25463. }
  25464. /* write len bytes from buf (the return value will fit in an int) */
  25465. return libc.Int32FromUint64(_gz_write(tls, state, buf, uint64(len1)))
  25466. }
  25467. // C documentation
  25468. //
  25469. // /* -- see zlib.h -- */
  25470. func Xgzfwrite(tls *libc.TLS, buf Tvoidpc, size Tz_size_t, nitems Tz_size_t, file TgzFile) (r Tz_size_t) {
  25471. var len1 Tz_size_t
  25472. var state Tgz_statep
  25473. var v1 uint64
  25474. _, _, _ = len1, state, v1
  25475. /* get internal structure */
  25476. if file == libc.UintptrFromInt32(0) {
  25477. return uint64(0)
  25478. }
  25479. state = file
  25480. /* check that we're writing and that there's no error */
  25481. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  25482. return uint64(0)
  25483. }
  25484. /* compute bytes to read -- error on overflow */
  25485. len1 = nitems * size
  25486. if size != 0 && len1/size != nitems {
  25487. Xgz_error(tls, state, -int32(2), __ccgo_ts+734)
  25488. return uint64(0)
  25489. }
  25490. /* write len bytes to buf, return the number of full items written */
  25491. if len1 != 0 {
  25492. v1 = _gz_write(tls, state, buf, len1) / size
  25493. } else {
  25494. v1 = uint64(0)
  25495. }
  25496. return v1
  25497. }
  25498. // C documentation
  25499. //
  25500. // /* -- see zlib.h -- */
  25501. func Xgzputc(tls *libc.TLS, file TgzFile, c int32) (r int32) {
  25502. bp := tls.Alloc(16)
  25503. defer tls.Free(16)
  25504. var have uint32
  25505. var state Tgz_statep
  25506. var strm Tz_streamp
  25507. var _ /* buf at bp+0 */ [1]uint8
  25508. _, _, _ = have, state, strm
  25509. /* get internal structure */
  25510. if file == libc.UintptrFromInt32(0) {
  25511. return -int32(1)
  25512. }
  25513. state = file
  25514. strm = state + 128
  25515. /* check that we're writing and that there's no error */
  25516. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  25517. return -int32(1)
  25518. }
  25519. /* check for seek request */
  25520. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  25521. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  25522. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  25523. return -int32(1)
  25524. }
  25525. }
  25526. /* try writing to input buffer for speed (state->size == 0 if buffer not
  25527. initialized) */
  25528. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  25529. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  25530. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  25531. }
  25532. have = libc.Uint32FromInt64(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in+uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in)) - int64((*Tgz_state)(unsafe.Pointer(state)).Fin))
  25533. if have < (*Tgz_state)(unsafe.Pointer(state)).Fsize {
  25534. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fin + uintptr(have))) = libc.Uint8FromInt32(c)
  25535. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in++
  25536. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos++
  25537. return c & int32(0xff)
  25538. }
  25539. }
  25540. /* no room in buffer or not initialized, use gz_write() */
  25541. (*(*[1]uint8)(unsafe.Pointer(bp)))[0] = libc.Uint8FromInt32(c)
  25542. if _gz_write(tls, state, bp, uint64(1)) != uint64(1) {
  25543. return -int32(1)
  25544. }
  25545. return c & int32(0xff)
  25546. }
  25547. // C documentation
  25548. //
  25549. // /* -- see zlib.h -- */
  25550. func Xgzputs(tls *libc.TLS, file TgzFile, s uintptr) (r int32) {
  25551. var len1, put Tz_size_t
  25552. var state Tgz_statep
  25553. var v1 int32
  25554. _, _, _, _ = len1, put, state, v1
  25555. /* get internal structure */
  25556. if file == libc.UintptrFromInt32(0) {
  25557. return -int32(1)
  25558. }
  25559. state = file
  25560. /* check that we're writing and that there's no error */
  25561. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  25562. return -int32(1)
  25563. }
  25564. /* write string */
  25565. len1 = libc.Xstrlen(tls, s)
  25566. if libc.Int32FromUint64(len1) < 0 || uint64(uint32(len1)) != len1 {
  25567. Xgz_error(tls, state, -int32(2), __ccgo_ts+874)
  25568. return -int32(1)
  25569. }
  25570. put = _gz_write(tls, state, s, len1)
  25571. if put < len1 {
  25572. v1 = -int32(1)
  25573. } else {
  25574. v1 = libc.Int32FromUint64(len1)
  25575. }
  25576. return v1
  25577. }
  25578. /*===---- stdarg.h - Variable argument handling ----------------------------===
  25579. *
  25580. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  25581. * See https://llvm.org/LICENSE.txt for license information.
  25582. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  25583. *
  25584. *===-----------------------------------------------------------------------===
  25585. */
  25586. /*
  25587. * This header is designed to be included multiple times. If any of the __need_
  25588. * macros are defined, then only that subset of interfaces are provided. This
  25589. * can be useful for POSIX headers that need to not expose all of stdarg.h, but
  25590. * need to use some of its interfaces. Otherwise this header provides all of
  25591. * the expected interfaces.
  25592. *
  25593. * When clang modules are enabled, this header is a textual header to support
  25594. * the multiple include behavior. As such, it doesn't directly declare anything
  25595. * so that it doesn't add duplicate declarations to all of its includers'
  25596. * modules.
  25597. */
  25598. /* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
  25599. * or -ansi is not specified, since it was not part of C90.
  25600. */
  25601. /*===---- __stdarg_header_macro.h ------------------------------------------===
  25602. *
  25603. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  25604. * See https://llvm.org/LICENSE.txt for license information.
  25605. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  25606. *
  25607. *===-----------------------------------------------------------------------===
  25608. */
  25609. /*===---- __stdarg___gnuc_va_list.h - Definition of __gnuc_va_list ---------===
  25610. *
  25611. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  25612. * See https://llvm.org/LICENSE.txt for license information.
  25613. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  25614. *
  25615. *===-----------------------------------------------------------------------===
  25616. */
  25617. /*===---- __stdarg_va_list.h - Definition of va_list -----------------------===
  25618. *
  25619. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  25620. * See https://llvm.org/LICENSE.txt for license information.
  25621. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  25622. *
  25623. *===-----------------------------------------------------------------------===
  25624. */
  25625. /*===---- __stdarg_va_arg.h - Definitions of va_start, va_arg, va_end-------===
  25626. *
  25627. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  25628. * See https://llvm.org/LICENSE.txt for license information.
  25629. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  25630. *
  25631. *===-----------------------------------------------------------------------===
  25632. */
  25633. /*===---- __stdarg___va_copy.h - Definition of __va_copy -------------------===
  25634. *
  25635. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  25636. * See https://llvm.org/LICENSE.txt for license information.
  25637. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  25638. *
  25639. *===-----------------------------------------------------------------------===
  25640. */
  25641. /*===---- __stdarg_va_copy.h - Definition of va_copy------------------------===
  25642. *
  25643. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  25644. * See https://llvm.org/LICENSE.txt for license information.
  25645. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  25646. *
  25647. *===-----------------------------------------------------------------------===
  25648. */
  25649. // C documentation
  25650. //
  25651. // /* -- see zlib.h -- */
  25652. func Xgzvprintf(tls *libc.TLS, file TgzFile, format uintptr, va Tva_list) (r int32) {
  25653. var left uint32
  25654. var len1 int32
  25655. var next uintptr
  25656. var state Tgz_statep
  25657. var strm Tz_streamp
  25658. _, _, _, _, _ = left, len1, next, state, strm
  25659. /* get internal structure */
  25660. if file == libc.UintptrFromInt32(0) {
  25661. return -int32(2)
  25662. }
  25663. state = file
  25664. strm = state + 128
  25665. /* check that we're writing and that there's no error */
  25666. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  25667. return -int32(2)
  25668. }
  25669. /* make sure we have some buffer space */
  25670. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  25671. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  25672. }
  25673. /* check for seek request */
  25674. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  25675. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  25676. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  25677. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  25678. }
  25679. }
  25680. /* do the printf() into the input buffer, put length in len -- the input
  25681. buffer is double-sized just for this function, so there is guaranteed to
  25682. be state->size bytes available after the current contents */
  25683. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  25684. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  25685. }
  25686. next = (*Tgz_state)(unsafe.Pointer(state)).Fin + uintptr(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in)-int64((*Tgz_state)(unsafe.Pointer(state)).Fin)) + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in)
  25687. *(*int8)(unsafe.Pointer(next + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize-uint32(1)))) = 0
  25688. len1 = libc.X__builtin___vsnprintf_chk(tls, next, uint64((*Tgz_state)(unsafe.Pointer(state)).Fsize), 0, ^t__predefined_size_t(0), format, va)
  25689. /* check that printf() results fit in buffer */
  25690. if len1 == 0 || libc.Uint32FromInt32(len1) >= (*Tgz_state)(unsafe.Pointer(state)).Fsize || int32(*(*int8)(unsafe.Pointer(next + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize-uint32(1))))) != 0 {
  25691. return 0
  25692. }
  25693. /* update buffer and position, compress first half if past that */
  25694. *(*TuInt)(unsafe.Pointer(strm + 8)) += libc.Uint32FromInt32(len1)
  25695. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += int64(len1)
  25696. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in >= (*Tgz_state)(unsafe.Pointer(state)).Fsize {
  25697. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in - (*Tgz_state)(unsafe.Pointer(state)).Fsize
  25698. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  25699. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  25700. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  25701. }
  25702. libc.X__builtin___memmove_chk(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize), uint64(left), ^t__predefined_size_t(0))
  25703. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  25704. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = left
  25705. }
  25706. return len1
  25707. }
  25708. func Xgzprintf(tls *libc.TLS, file TgzFile, format uintptr, va1 uintptr) (r int32) {
  25709. var ret int32
  25710. var va Tva_list
  25711. _, _ = ret, va
  25712. va = va1
  25713. ret = Xgzvprintf(tls, file, format, va)
  25714. _ = va
  25715. return ret
  25716. }
  25717. // C documentation
  25718. //
  25719. // /* -- see zlib.h -- */
  25720. func Xgzflush(tls *libc.TLS, file TgzFile, flush int32) (r int32) {
  25721. var state Tgz_statep
  25722. _ = state
  25723. /* get internal structure */
  25724. if file == libc.UintptrFromInt32(0) {
  25725. return -int32(2)
  25726. }
  25727. state = file
  25728. /* check that we're writing and that there's no error */
  25729. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  25730. return -int32(2)
  25731. }
  25732. /* check flush parameter */
  25733. if flush < 0 || flush > int32(m_Z_FINISH) {
  25734. return -int32(2)
  25735. }
  25736. /* check for seek request */
  25737. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  25738. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  25739. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  25740. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  25741. }
  25742. }
  25743. /* compress remaining data with requested flush */
  25744. _gz_comp(tls, state, flush)
  25745. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  25746. }
  25747. // C documentation
  25748. //
  25749. // /* -- see zlib.h -- */
  25750. func Xgzsetparams(tls *libc.TLS, file TgzFile, level int32, strategy int32) (r int32) {
  25751. var state Tgz_statep
  25752. var strm Tz_streamp
  25753. _, _ = state, strm
  25754. /* get internal structure */
  25755. if file == libc.UintptrFromInt32(0) {
  25756. return -int32(2)
  25757. }
  25758. state = file
  25759. strm = state + 128
  25760. /* check that we're writing and that there's no error */
  25761. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK || (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  25762. return -int32(2)
  25763. }
  25764. /* if no change is requested, then do nothing */
  25765. if level == (*Tgz_state)(unsafe.Pointer(state)).Flevel && strategy == (*Tgz_state)(unsafe.Pointer(state)).Fstrategy {
  25766. return m_Z_OK
  25767. }
  25768. /* check for seek request */
  25769. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  25770. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  25771. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  25772. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  25773. }
  25774. }
  25775. /* change compression parameters for subsequent input */
  25776. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  25777. /* flush previous input with previous parameters before changing */
  25778. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 && _gz_comp(tls, state, int32(m_Z_BLOCK)) == -int32(1) {
  25779. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  25780. }
  25781. XdeflateParams(tls, strm, level, strategy)
  25782. }
  25783. (*Tgz_state)(unsafe.Pointer(state)).Flevel = level
  25784. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = strategy
  25785. return m_Z_OK
  25786. }
  25787. // C documentation
  25788. //
  25789. // /* -- see zlib.h -- */
  25790. func Xgzclose_w(tls *libc.TLS, file TgzFile) (r int32) {
  25791. var ret int32
  25792. var state Tgz_statep
  25793. _, _ = ret, state
  25794. ret = m_Z_OK
  25795. /* get internal structure */
  25796. if file == libc.UintptrFromInt32(0) {
  25797. return -int32(2)
  25798. }
  25799. state = file
  25800. /* check that we're writing */
  25801. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  25802. return -int32(2)
  25803. }
  25804. /* check for seek request */
  25805. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  25806. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  25807. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  25808. ret = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  25809. }
  25810. }
  25811. /* flush, free memory, and close file */
  25812. if _gz_comp(tls, state, int32(m_Z_FINISH)) == -int32(1) {
  25813. ret = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  25814. }
  25815. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  25816. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  25817. XdeflateEnd(tls, state+128)
  25818. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  25819. }
  25820. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  25821. }
  25822. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  25823. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  25824. if libc.Xclose(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd) == -int32(1) {
  25825. ret = -int32(1)
  25826. }
  25827. libc.Xfree(tls, state)
  25828. return ret
  25829. }
  25830. func __ccgo_fp(f interface{}) uintptr {
  25831. type iface [2]uintptr
  25832. return (*iface)(unsafe.Pointer(&f))[1]
  25833. }
  25834. var x__dist_code = [512]Tuch{
  25835. 1: uint8(1),
  25836. 2: uint8(2),
  25837. 3: uint8(3),
  25838. 4: uint8(4),
  25839. 5: uint8(4),
  25840. 6: uint8(5),
  25841. 7: uint8(5),
  25842. 8: uint8(6),
  25843. 9: uint8(6),
  25844. 10: uint8(6),
  25845. 11: uint8(6),
  25846. 12: uint8(7),
  25847. 13: uint8(7),
  25848. 14: uint8(7),
  25849. 15: uint8(7),
  25850. 16: uint8(8),
  25851. 17: uint8(8),
  25852. 18: uint8(8),
  25853. 19: uint8(8),
  25854. 20: uint8(8),
  25855. 21: uint8(8),
  25856. 22: uint8(8),
  25857. 23: uint8(8),
  25858. 24: uint8(9),
  25859. 25: uint8(9),
  25860. 26: uint8(9),
  25861. 27: uint8(9),
  25862. 28: uint8(9),
  25863. 29: uint8(9),
  25864. 30: uint8(9),
  25865. 31: uint8(9),
  25866. 32: uint8(10),
  25867. 33: uint8(10),
  25868. 34: uint8(10),
  25869. 35: uint8(10),
  25870. 36: uint8(10),
  25871. 37: uint8(10),
  25872. 38: uint8(10),
  25873. 39: uint8(10),
  25874. 40: uint8(10),
  25875. 41: uint8(10),
  25876. 42: uint8(10),
  25877. 43: uint8(10),
  25878. 44: uint8(10),
  25879. 45: uint8(10),
  25880. 46: uint8(10),
  25881. 47: uint8(10),
  25882. 48: uint8(11),
  25883. 49: uint8(11),
  25884. 50: uint8(11),
  25885. 51: uint8(11),
  25886. 52: uint8(11),
  25887. 53: uint8(11),
  25888. 54: uint8(11),
  25889. 55: uint8(11),
  25890. 56: uint8(11),
  25891. 57: uint8(11),
  25892. 58: uint8(11),
  25893. 59: uint8(11),
  25894. 60: uint8(11),
  25895. 61: uint8(11),
  25896. 62: uint8(11),
  25897. 63: uint8(11),
  25898. 64: uint8(12),
  25899. 65: uint8(12),
  25900. 66: uint8(12),
  25901. 67: uint8(12),
  25902. 68: uint8(12),
  25903. 69: uint8(12),
  25904. 70: uint8(12),
  25905. 71: uint8(12),
  25906. 72: uint8(12),
  25907. 73: uint8(12),
  25908. 74: uint8(12),
  25909. 75: uint8(12),
  25910. 76: uint8(12),
  25911. 77: uint8(12),
  25912. 78: uint8(12),
  25913. 79: uint8(12),
  25914. 80: uint8(12),
  25915. 81: uint8(12),
  25916. 82: uint8(12),
  25917. 83: uint8(12),
  25918. 84: uint8(12),
  25919. 85: uint8(12),
  25920. 86: uint8(12),
  25921. 87: uint8(12),
  25922. 88: uint8(12),
  25923. 89: uint8(12),
  25924. 90: uint8(12),
  25925. 91: uint8(12),
  25926. 92: uint8(12),
  25927. 93: uint8(12),
  25928. 94: uint8(12),
  25929. 95: uint8(12),
  25930. 96: uint8(13),
  25931. 97: uint8(13),
  25932. 98: uint8(13),
  25933. 99: uint8(13),
  25934. 100: uint8(13),
  25935. 101: uint8(13),
  25936. 102: uint8(13),
  25937. 103: uint8(13),
  25938. 104: uint8(13),
  25939. 105: uint8(13),
  25940. 106: uint8(13),
  25941. 107: uint8(13),
  25942. 108: uint8(13),
  25943. 109: uint8(13),
  25944. 110: uint8(13),
  25945. 111: uint8(13),
  25946. 112: uint8(13),
  25947. 113: uint8(13),
  25948. 114: uint8(13),
  25949. 115: uint8(13),
  25950. 116: uint8(13),
  25951. 117: uint8(13),
  25952. 118: uint8(13),
  25953. 119: uint8(13),
  25954. 120: uint8(13),
  25955. 121: uint8(13),
  25956. 122: uint8(13),
  25957. 123: uint8(13),
  25958. 124: uint8(13),
  25959. 125: uint8(13),
  25960. 126: uint8(13),
  25961. 127: uint8(13),
  25962. 128: uint8(14),
  25963. 129: uint8(14),
  25964. 130: uint8(14),
  25965. 131: uint8(14),
  25966. 132: uint8(14),
  25967. 133: uint8(14),
  25968. 134: uint8(14),
  25969. 135: uint8(14),
  25970. 136: uint8(14),
  25971. 137: uint8(14),
  25972. 138: uint8(14),
  25973. 139: uint8(14),
  25974. 140: uint8(14),
  25975. 141: uint8(14),
  25976. 142: uint8(14),
  25977. 143: uint8(14),
  25978. 144: uint8(14),
  25979. 145: uint8(14),
  25980. 146: uint8(14),
  25981. 147: uint8(14),
  25982. 148: uint8(14),
  25983. 149: uint8(14),
  25984. 150: uint8(14),
  25985. 151: uint8(14),
  25986. 152: uint8(14),
  25987. 153: uint8(14),
  25988. 154: uint8(14),
  25989. 155: uint8(14),
  25990. 156: uint8(14),
  25991. 157: uint8(14),
  25992. 158: uint8(14),
  25993. 159: uint8(14),
  25994. 160: uint8(14),
  25995. 161: uint8(14),
  25996. 162: uint8(14),
  25997. 163: uint8(14),
  25998. 164: uint8(14),
  25999. 165: uint8(14),
  26000. 166: uint8(14),
  26001. 167: uint8(14),
  26002. 168: uint8(14),
  26003. 169: uint8(14),
  26004. 170: uint8(14),
  26005. 171: uint8(14),
  26006. 172: uint8(14),
  26007. 173: uint8(14),
  26008. 174: uint8(14),
  26009. 175: uint8(14),
  26010. 176: uint8(14),
  26011. 177: uint8(14),
  26012. 178: uint8(14),
  26013. 179: uint8(14),
  26014. 180: uint8(14),
  26015. 181: uint8(14),
  26016. 182: uint8(14),
  26017. 183: uint8(14),
  26018. 184: uint8(14),
  26019. 185: uint8(14),
  26020. 186: uint8(14),
  26021. 187: uint8(14),
  26022. 188: uint8(14),
  26023. 189: uint8(14),
  26024. 190: uint8(14),
  26025. 191: uint8(14),
  26026. 192: uint8(15),
  26027. 193: uint8(15),
  26028. 194: uint8(15),
  26029. 195: uint8(15),
  26030. 196: uint8(15),
  26031. 197: uint8(15),
  26032. 198: uint8(15),
  26033. 199: uint8(15),
  26034. 200: uint8(15),
  26035. 201: uint8(15),
  26036. 202: uint8(15),
  26037. 203: uint8(15),
  26038. 204: uint8(15),
  26039. 205: uint8(15),
  26040. 206: uint8(15),
  26041. 207: uint8(15),
  26042. 208: uint8(15),
  26043. 209: uint8(15),
  26044. 210: uint8(15),
  26045. 211: uint8(15),
  26046. 212: uint8(15),
  26047. 213: uint8(15),
  26048. 214: uint8(15),
  26049. 215: uint8(15),
  26050. 216: uint8(15),
  26051. 217: uint8(15),
  26052. 218: uint8(15),
  26053. 219: uint8(15),
  26054. 220: uint8(15),
  26055. 221: uint8(15),
  26056. 222: uint8(15),
  26057. 223: uint8(15),
  26058. 224: uint8(15),
  26059. 225: uint8(15),
  26060. 226: uint8(15),
  26061. 227: uint8(15),
  26062. 228: uint8(15),
  26063. 229: uint8(15),
  26064. 230: uint8(15),
  26065. 231: uint8(15),
  26066. 232: uint8(15),
  26067. 233: uint8(15),
  26068. 234: uint8(15),
  26069. 235: uint8(15),
  26070. 236: uint8(15),
  26071. 237: uint8(15),
  26072. 238: uint8(15),
  26073. 239: uint8(15),
  26074. 240: uint8(15),
  26075. 241: uint8(15),
  26076. 242: uint8(15),
  26077. 243: uint8(15),
  26078. 244: uint8(15),
  26079. 245: uint8(15),
  26080. 246: uint8(15),
  26081. 247: uint8(15),
  26082. 248: uint8(15),
  26083. 249: uint8(15),
  26084. 250: uint8(15),
  26085. 251: uint8(15),
  26086. 252: uint8(15),
  26087. 253: uint8(15),
  26088. 254: uint8(15),
  26089. 255: uint8(15),
  26090. 258: uint8(16),
  26091. 259: uint8(17),
  26092. 260: uint8(18),
  26093. 261: uint8(18),
  26094. 262: uint8(19),
  26095. 263: uint8(19),
  26096. 264: uint8(20),
  26097. 265: uint8(20),
  26098. 266: uint8(20),
  26099. 267: uint8(20),
  26100. 268: uint8(21),
  26101. 269: uint8(21),
  26102. 270: uint8(21),
  26103. 271: uint8(21),
  26104. 272: uint8(22),
  26105. 273: uint8(22),
  26106. 274: uint8(22),
  26107. 275: uint8(22),
  26108. 276: uint8(22),
  26109. 277: uint8(22),
  26110. 278: uint8(22),
  26111. 279: uint8(22),
  26112. 280: uint8(23),
  26113. 281: uint8(23),
  26114. 282: uint8(23),
  26115. 283: uint8(23),
  26116. 284: uint8(23),
  26117. 285: uint8(23),
  26118. 286: uint8(23),
  26119. 287: uint8(23),
  26120. 288: uint8(24),
  26121. 289: uint8(24),
  26122. 290: uint8(24),
  26123. 291: uint8(24),
  26124. 292: uint8(24),
  26125. 293: uint8(24),
  26126. 294: uint8(24),
  26127. 295: uint8(24),
  26128. 296: uint8(24),
  26129. 297: uint8(24),
  26130. 298: uint8(24),
  26131. 299: uint8(24),
  26132. 300: uint8(24),
  26133. 301: uint8(24),
  26134. 302: uint8(24),
  26135. 303: uint8(24),
  26136. 304: uint8(25),
  26137. 305: uint8(25),
  26138. 306: uint8(25),
  26139. 307: uint8(25),
  26140. 308: uint8(25),
  26141. 309: uint8(25),
  26142. 310: uint8(25),
  26143. 311: uint8(25),
  26144. 312: uint8(25),
  26145. 313: uint8(25),
  26146. 314: uint8(25),
  26147. 315: uint8(25),
  26148. 316: uint8(25),
  26149. 317: uint8(25),
  26150. 318: uint8(25),
  26151. 319: uint8(25),
  26152. 320: uint8(26),
  26153. 321: uint8(26),
  26154. 322: uint8(26),
  26155. 323: uint8(26),
  26156. 324: uint8(26),
  26157. 325: uint8(26),
  26158. 326: uint8(26),
  26159. 327: uint8(26),
  26160. 328: uint8(26),
  26161. 329: uint8(26),
  26162. 330: uint8(26),
  26163. 331: uint8(26),
  26164. 332: uint8(26),
  26165. 333: uint8(26),
  26166. 334: uint8(26),
  26167. 335: uint8(26),
  26168. 336: uint8(26),
  26169. 337: uint8(26),
  26170. 338: uint8(26),
  26171. 339: uint8(26),
  26172. 340: uint8(26),
  26173. 341: uint8(26),
  26174. 342: uint8(26),
  26175. 343: uint8(26),
  26176. 344: uint8(26),
  26177. 345: uint8(26),
  26178. 346: uint8(26),
  26179. 347: uint8(26),
  26180. 348: uint8(26),
  26181. 349: uint8(26),
  26182. 350: uint8(26),
  26183. 351: uint8(26),
  26184. 352: uint8(27),
  26185. 353: uint8(27),
  26186. 354: uint8(27),
  26187. 355: uint8(27),
  26188. 356: uint8(27),
  26189. 357: uint8(27),
  26190. 358: uint8(27),
  26191. 359: uint8(27),
  26192. 360: uint8(27),
  26193. 361: uint8(27),
  26194. 362: uint8(27),
  26195. 363: uint8(27),
  26196. 364: uint8(27),
  26197. 365: uint8(27),
  26198. 366: uint8(27),
  26199. 367: uint8(27),
  26200. 368: uint8(27),
  26201. 369: uint8(27),
  26202. 370: uint8(27),
  26203. 371: uint8(27),
  26204. 372: uint8(27),
  26205. 373: uint8(27),
  26206. 374: uint8(27),
  26207. 375: uint8(27),
  26208. 376: uint8(27),
  26209. 377: uint8(27),
  26210. 378: uint8(27),
  26211. 379: uint8(27),
  26212. 380: uint8(27),
  26213. 381: uint8(27),
  26214. 382: uint8(27),
  26215. 383: uint8(27),
  26216. 384: uint8(28),
  26217. 385: uint8(28),
  26218. 386: uint8(28),
  26219. 387: uint8(28),
  26220. 388: uint8(28),
  26221. 389: uint8(28),
  26222. 390: uint8(28),
  26223. 391: uint8(28),
  26224. 392: uint8(28),
  26225. 393: uint8(28),
  26226. 394: uint8(28),
  26227. 395: uint8(28),
  26228. 396: uint8(28),
  26229. 397: uint8(28),
  26230. 398: uint8(28),
  26231. 399: uint8(28),
  26232. 400: uint8(28),
  26233. 401: uint8(28),
  26234. 402: uint8(28),
  26235. 403: uint8(28),
  26236. 404: uint8(28),
  26237. 405: uint8(28),
  26238. 406: uint8(28),
  26239. 407: uint8(28),
  26240. 408: uint8(28),
  26241. 409: uint8(28),
  26242. 410: uint8(28),
  26243. 411: uint8(28),
  26244. 412: uint8(28),
  26245. 413: uint8(28),
  26246. 414: uint8(28),
  26247. 415: uint8(28),
  26248. 416: uint8(28),
  26249. 417: uint8(28),
  26250. 418: uint8(28),
  26251. 419: uint8(28),
  26252. 420: uint8(28),
  26253. 421: uint8(28),
  26254. 422: uint8(28),
  26255. 423: uint8(28),
  26256. 424: uint8(28),
  26257. 425: uint8(28),
  26258. 426: uint8(28),
  26259. 427: uint8(28),
  26260. 428: uint8(28),
  26261. 429: uint8(28),
  26262. 430: uint8(28),
  26263. 431: uint8(28),
  26264. 432: uint8(28),
  26265. 433: uint8(28),
  26266. 434: uint8(28),
  26267. 435: uint8(28),
  26268. 436: uint8(28),
  26269. 437: uint8(28),
  26270. 438: uint8(28),
  26271. 439: uint8(28),
  26272. 440: uint8(28),
  26273. 441: uint8(28),
  26274. 442: uint8(28),
  26275. 443: uint8(28),
  26276. 444: uint8(28),
  26277. 445: uint8(28),
  26278. 446: uint8(28),
  26279. 447: uint8(28),
  26280. 448: uint8(29),
  26281. 449: uint8(29),
  26282. 450: uint8(29),
  26283. 451: uint8(29),
  26284. 452: uint8(29),
  26285. 453: uint8(29),
  26286. 454: uint8(29),
  26287. 455: uint8(29),
  26288. 456: uint8(29),
  26289. 457: uint8(29),
  26290. 458: uint8(29),
  26291. 459: uint8(29),
  26292. 460: uint8(29),
  26293. 461: uint8(29),
  26294. 462: uint8(29),
  26295. 463: uint8(29),
  26296. 464: uint8(29),
  26297. 465: uint8(29),
  26298. 466: uint8(29),
  26299. 467: uint8(29),
  26300. 468: uint8(29),
  26301. 469: uint8(29),
  26302. 470: uint8(29),
  26303. 471: uint8(29),
  26304. 472: uint8(29),
  26305. 473: uint8(29),
  26306. 474: uint8(29),
  26307. 475: uint8(29),
  26308. 476: uint8(29),
  26309. 477: uint8(29),
  26310. 478: uint8(29),
  26311. 479: uint8(29),
  26312. 480: uint8(29),
  26313. 481: uint8(29),
  26314. 482: uint8(29),
  26315. 483: uint8(29),
  26316. 484: uint8(29),
  26317. 485: uint8(29),
  26318. 486: uint8(29),
  26319. 487: uint8(29),
  26320. 488: uint8(29),
  26321. 489: uint8(29),
  26322. 490: uint8(29),
  26323. 491: uint8(29),
  26324. 492: uint8(29),
  26325. 493: uint8(29),
  26326. 494: uint8(29),
  26327. 495: uint8(29),
  26328. 496: uint8(29),
  26329. 497: uint8(29),
  26330. 498: uint8(29),
  26331. 499: uint8(29),
  26332. 500: uint8(29),
  26333. 501: uint8(29),
  26334. 502: uint8(29),
  26335. 503: uint8(29),
  26336. 504: uint8(29),
  26337. 505: uint8(29),
  26338. 506: uint8(29),
  26339. 507: uint8(29),
  26340. 508: uint8(29),
  26341. 509: uint8(29),
  26342. 510: uint8(29),
  26343. 511: uint8(29),
  26344. }
  26345. var x__length_code = [256]Tuch{
  26346. 1: uint8(1),
  26347. 2: uint8(2),
  26348. 3: uint8(3),
  26349. 4: uint8(4),
  26350. 5: uint8(5),
  26351. 6: uint8(6),
  26352. 7: uint8(7),
  26353. 8: uint8(8),
  26354. 9: uint8(8),
  26355. 10: uint8(9),
  26356. 11: uint8(9),
  26357. 12: uint8(10),
  26358. 13: uint8(10),
  26359. 14: uint8(11),
  26360. 15: uint8(11),
  26361. 16: uint8(12),
  26362. 17: uint8(12),
  26363. 18: uint8(12),
  26364. 19: uint8(12),
  26365. 20: uint8(13),
  26366. 21: uint8(13),
  26367. 22: uint8(13),
  26368. 23: uint8(13),
  26369. 24: uint8(14),
  26370. 25: uint8(14),
  26371. 26: uint8(14),
  26372. 27: uint8(14),
  26373. 28: uint8(15),
  26374. 29: uint8(15),
  26375. 30: uint8(15),
  26376. 31: uint8(15),
  26377. 32: uint8(16),
  26378. 33: uint8(16),
  26379. 34: uint8(16),
  26380. 35: uint8(16),
  26381. 36: uint8(16),
  26382. 37: uint8(16),
  26383. 38: uint8(16),
  26384. 39: uint8(16),
  26385. 40: uint8(17),
  26386. 41: uint8(17),
  26387. 42: uint8(17),
  26388. 43: uint8(17),
  26389. 44: uint8(17),
  26390. 45: uint8(17),
  26391. 46: uint8(17),
  26392. 47: uint8(17),
  26393. 48: uint8(18),
  26394. 49: uint8(18),
  26395. 50: uint8(18),
  26396. 51: uint8(18),
  26397. 52: uint8(18),
  26398. 53: uint8(18),
  26399. 54: uint8(18),
  26400. 55: uint8(18),
  26401. 56: uint8(19),
  26402. 57: uint8(19),
  26403. 58: uint8(19),
  26404. 59: uint8(19),
  26405. 60: uint8(19),
  26406. 61: uint8(19),
  26407. 62: uint8(19),
  26408. 63: uint8(19),
  26409. 64: uint8(20),
  26410. 65: uint8(20),
  26411. 66: uint8(20),
  26412. 67: uint8(20),
  26413. 68: uint8(20),
  26414. 69: uint8(20),
  26415. 70: uint8(20),
  26416. 71: uint8(20),
  26417. 72: uint8(20),
  26418. 73: uint8(20),
  26419. 74: uint8(20),
  26420. 75: uint8(20),
  26421. 76: uint8(20),
  26422. 77: uint8(20),
  26423. 78: uint8(20),
  26424. 79: uint8(20),
  26425. 80: uint8(21),
  26426. 81: uint8(21),
  26427. 82: uint8(21),
  26428. 83: uint8(21),
  26429. 84: uint8(21),
  26430. 85: uint8(21),
  26431. 86: uint8(21),
  26432. 87: uint8(21),
  26433. 88: uint8(21),
  26434. 89: uint8(21),
  26435. 90: uint8(21),
  26436. 91: uint8(21),
  26437. 92: uint8(21),
  26438. 93: uint8(21),
  26439. 94: uint8(21),
  26440. 95: uint8(21),
  26441. 96: uint8(22),
  26442. 97: uint8(22),
  26443. 98: uint8(22),
  26444. 99: uint8(22),
  26445. 100: uint8(22),
  26446. 101: uint8(22),
  26447. 102: uint8(22),
  26448. 103: uint8(22),
  26449. 104: uint8(22),
  26450. 105: uint8(22),
  26451. 106: uint8(22),
  26452. 107: uint8(22),
  26453. 108: uint8(22),
  26454. 109: uint8(22),
  26455. 110: uint8(22),
  26456. 111: uint8(22),
  26457. 112: uint8(23),
  26458. 113: uint8(23),
  26459. 114: uint8(23),
  26460. 115: uint8(23),
  26461. 116: uint8(23),
  26462. 117: uint8(23),
  26463. 118: uint8(23),
  26464. 119: uint8(23),
  26465. 120: uint8(23),
  26466. 121: uint8(23),
  26467. 122: uint8(23),
  26468. 123: uint8(23),
  26469. 124: uint8(23),
  26470. 125: uint8(23),
  26471. 126: uint8(23),
  26472. 127: uint8(23),
  26473. 128: uint8(24),
  26474. 129: uint8(24),
  26475. 130: uint8(24),
  26476. 131: uint8(24),
  26477. 132: uint8(24),
  26478. 133: uint8(24),
  26479. 134: uint8(24),
  26480. 135: uint8(24),
  26481. 136: uint8(24),
  26482. 137: uint8(24),
  26483. 138: uint8(24),
  26484. 139: uint8(24),
  26485. 140: uint8(24),
  26486. 141: uint8(24),
  26487. 142: uint8(24),
  26488. 143: uint8(24),
  26489. 144: uint8(24),
  26490. 145: uint8(24),
  26491. 146: uint8(24),
  26492. 147: uint8(24),
  26493. 148: uint8(24),
  26494. 149: uint8(24),
  26495. 150: uint8(24),
  26496. 151: uint8(24),
  26497. 152: uint8(24),
  26498. 153: uint8(24),
  26499. 154: uint8(24),
  26500. 155: uint8(24),
  26501. 156: uint8(24),
  26502. 157: uint8(24),
  26503. 158: uint8(24),
  26504. 159: uint8(24),
  26505. 160: uint8(25),
  26506. 161: uint8(25),
  26507. 162: uint8(25),
  26508. 163: uint8(25),
  26509. 164: uint8(25),
  26510. 165: uint8(25),
  26511. 166: uint8(25),
  26512. 167: uint8(25),
  26513. 168: uint8(25),
  26514. 169: uint8(25),
  26515. 170: uint8(25),
  26516. 171: uint8(25),
  26517. 172: uint8(25),
  26518. 173: uint8(25),
  26519. 174: uint8(25),
  26520. 175: uint8(25),
  26521. 176: uint8(25),
  26522. 177: uint8(25),
  26523. 178: uint8(25),
  26524. 179: uint8(25),
  26525. 180: uint8(25),
  26526. 181: uint8(25),
  26527. 182: uint8(25),
  26528. 183: uint8(25),
  26529. 184: uint8(25),
  26530. 185: uint8(25),
  26531. 186: uint8(25),
  26532. 187: uint8(25),
  26533. 188: uint8(25),
  26534. 189: uint8(25),
  26535. 190: uint8(25),
  26536. 191: uint8(25),
  26537. 192: uint8(26),
  26538. 193: uint8(26),
  26539. 194: uint8(26),
  26540. 195: uint8(26),
  26541. 196: uint8(26),
  26542. 197: uint8(26),
  26543. 198: uint8(26),
  26544. 199: uint8(26),
  26545. 200: uint8(26),
  26546. 201: uint8(26),
  26547. 202: uint8(26),
  26548. 203: uint8(26),
  26549. 204: uint8(26),
  26550. 205: uint8(26),
  26551. 206: uint8(26),
  26552. 207: uint8(26),
  26553. 208: uint8(26),
  26554. 209: uint8(26),
  26555. 210: uint8(26),
  26556. 211: uint8(26),
  26557. 212: uint8(26),
  26558. 213: uint8(26),
  26559. 214: uint8(26),
  26560. 215: uint8(26),
  26561. 216: uint8(26),
  26562. 217: uint8(26),
  26563. 218: uint8(26),
  26564. 219: uint8(26),
  26565. 220: uint8(26),
  26566. 221: uint8(26),
  26567. 222: uint8(26),
  26568. 223: uint8(26),
  26569. 224: uint8(27),
  26570. 225: uint8(27),
  26571. 226: uint8(27),
  26572. 227: uint8(27),
  26573. 228: uint8(27),
  26574. 229: uint8(27),
  26575. 230: uint8(27),
  26576. 231: uint8(27),
  26577. 232: uint8(27),
  26578. 233: uint8(27),
  26579. 234: uint8(27),
  26580. 235: uint8(27),
  26581. 236: uint8(27),
  26582. 237: uint8(27),
  26583. 238: uint8(27),
  26584. 239: uint8(27),
  26585. 240: uint8(27),
  26586. 241: uint8(27),
  26587. 242: uint8(27),
  26588. 243: uint8(27),
  26589. 244: uint8(27),
  26590. 245: uint8(27),
  26591. 246: uint8(27),
  26592. 247: uint8(27),
  26593. 248: uint8(27),
  26594. 249: uint8(27),
  26595. 250: uint8(27),
  26596. 251: uint8(27),
  26597. 252: uint8(27),
  26598. 253: uint8(27),
  26599. 254: uint8(27),
  26600. 255: uint8(28),
  26601. }
  26602. var Xdeflate_copyright = [68]int8{' ', 'd', 'e', 'f', 'l', 'a', 't', 'e', ' ', '1', '.', '3', '.', '1', ' ', 'C', 'o', 'p', 'y', 'r', 'i', 'g', 'h', 't', ' ', '1', '9', '9', '5', '-', '2', '0', '2', '4', ' ', 'J', 'e', 'a', 'n', '-', 'l', 'o', 'u', 'p', ' ', 'G', 'a', 'i', 'l', 'l', 'y', ' ', 'a', 'n', 'd', ' ', 'M', 'a', 'r', 'k', ' ', 'A', 'd', 'l', 'e', 'r', ' '}
  26603. var Xinflate_copyright = [47]int8{' ', 'i', 'n', 'f', 'l', 'a', 't', 'e', ' ', '1', '.', '3', '.', '1', ' ', 'C', 'o', 'p', 'y', 'r', 'i', 'g', 'h', 't', ' ', '1', '9', '9', '5', '-', '2', '0', '2', '4', ' ', 'M', 'a', 'r', 'k', ' ', 'A', 'd', 'l', 'e', 'r', ' '}
  26604. var Xz_errmsg = [10]uintptr{
  26605. 0: __ccgo_ts + 467,
  26606. 1: __ccgo_ts + 483,
  26607. 2: __ccgo_ts + 494,
  26608. 3: __ccgo_ts + 495,
  26609. 4: __ccgo_ts + 506,
  26610. 5: __ccgo_ts + 519,
  26611. 6: __ccgo_ts + 530,
  26612. 7: __ccgo_ts + 550,
  26613. 8: __ccgo_ts + 563,
  26614. 9: __ccgo_ts + 494,
  26615. }
  26616. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  26617. var __ccgo_ts1 = "1.3.1\x00invalid block type\x00invalid stored block lengths\x00too many length or distance symbols\x00invalid code lengths set\x00invalid bit length repeat\x00invalid code -- missing end-of-block\x00invalid literal/lengths set\x00invalid distances set\x00invalid literal/length code\x00invalid distance code\x00invalid distance too far back\x00incorrect header check\x00unknown compression method\x00invalid window size\x00unknown header flags set\x00header crc mismatch\x00incorrect data check\x00incorrect length check\x00need dictionary\x00stream end\x00\x00file error\x00stream error\x00data error\x00insufficient memory\x00buffer error\x00incompatible version\x00%s\x00<fd:%d>\x00out of memory\x00%s%s%s\x00: \x00unexpected end of file\x00internal error: inflate stream corrupt\x00compressed data error\x00request does not fit in an int\x00request does not fit in a size_t\x00out of room to push characters\x00internal error: deflate stream corrupt\x00requested length does not fit in int\x00string length does not fit in int\x00"